diff --git a/dist/demo-browser-index.js b/dist/demo-browser-index.js index c9bda916..8b9a1e41 100644 --- a/dist/demo-browser-index.js +++ b/dist/demo-browser-index.js @@ -4771,7 +4771,7 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`,kae="0.11.5",ft=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function zl(...e){let t=n=>n&&typeof n=="object";return e.reduce((n,r)=>(Object.keys(r||{}).forEach(a=>{let s=n[a],i=r[a];Array.isArray(s)&&Array.isArray(i)?n[a]=s.concat(...i):t(s)&&t(i)?n[a]=zl(s,i):n[a]=i}),n),{})}var J6=class{constructor(e={}){this.tf=M2,this.version=kae,this.config=zl(vae,e),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=_6,this.age=I6,this.gender=N6,this.emotion=S6,this.body=R6,this.hand=V6}profile(){return this.config.profile?k6:{}}analyze(...e){if(!this.analyzeMemoryLeaks)return;let t=Ln().state.numTensors,n=this.numTensors;this.numTensors=t;let r=t-n;r!==0&&Ue(...e,r)}sanity(e){if(!this.checkSanity)return null;if(!e)return"input is not defined";if(bn.flags.IS_NODE&&!(e instanceof Qe))return"input must be a tensor";try{qh()}catch(t){return"backend not loaded"}return null}simmilarity(e,t){return this.config.face.embedding.enabled?Mre(e,t):0}async load(e=null){this.state="load";let t=ft();e&&(this.config=zl(this.config,e)),this.firstRun&&(Ue(`version: ${this.version} TensorFlow/JS version: ${V2}`),await this.checkBackend(!0),bn.flags.IS_BROWSER&&(Ue("configuration:",this.config),Ue("tf flags:",bn.flags)));let n=this.config.face.detector.modelPath.includes("faceboxes")?b6:_6;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?n.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?e2(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?n2(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?o2(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?E6(this.config):null),this.models.posenet||(this.config.body.enabled?h2(this.config):null),this.models.handpose||(this.config.hand.enabled?A2(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await n.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await e2(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await n2(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await o2(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await E6(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await h2(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await A2(this.config))),this.firstRun&&(Ue("tf engine state:",Ln().state.numBytes,"bytes",Ln().state.numTensors,"tensors"),this.firstRun=!1);let r=Math.trunc(ft()-t);r>(this.perf.load||0)&&(this.perf.load=r)}async checkBackend(e=!1){if(this.config.backend&&this.config.backend!==""&&e||qh()!==this.config.backend){let t=ft();this.state="backend",Ue("setting backend:",this.config.backend),this.config.backend==="wasm"&&(Ue("settings wasm path:",this.config.wasmPath),S0(this.config.wasmPath),await Q().getAsync("WASM_HAS_SIMD_SUPPORT")||Ue("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&lre();try{await H2(this.config.backend)}catch(n){Ue("error: cannot set backend:",this.config.backend,n)}if(U2(),qh()==="webgl"){this.config.deallocate&&(Ue("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),bn.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),bn.set("WEBGL_FORCE_F16_TEXTURES",!0),bn.set("WEBGL_PACK_DEPTHWISECONV",!0);let n=await Rf().getGPGPUContext().gl;Ue(`gl version:${n.getParameter(n.VERSION)} renderer:${n.getParameter(n.RENDERER)}`)}await j2(),this.perf.backend=Math.trunc(ft()-t)}}async detectFace(e){var t,n,r,a,s,i;let o,l,c,u,h,d=[];this.state="run:face",o=ft();let p=await((t=this.models.face)==null?void 0:t.estimateFaces(e,this.config));this.perf.face=Math.trunc(ft()-o);for(let f of p){if(this.analyze("Get Face"),!f.image||f.image.isDisposedInternal){Ue("Face object is disposed:",f.image);continue}this.analyze("Start Age:"),this.config.async?l=this.config.face.age.enabled?t2(f.image,this.config):{}:(this.state="run:age",o=ft(),l=this.config.face.age.enabled?await t2(f.image,this.config):{},this.perf.age=Math.trunc(ft()-o)),this.analyze("Start Gender:"),this.config.async?c=this.config.face.gender.enabled?r2(f.image,this.config):{}:(this.state="run:gender",o=ft(),c=this.config.face.gender.enabled?await r2(f.image,this.config):{},this.perf.gender=Math.trunc(ft()-o)),this.analyze("Start Emotion:"),this.config.async?u=this.config.face.emotion.enabled?l2(f.image,this.config):{}:(this.state="run:emotion",o=ft(),u=this.config.face.emotion.enabled?await l2(f.image,this.config):{},this.perf.emotion=Math.trunc(ft()-o)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?h=this.config.face.embedding.enabled?C6(f.image,this.config):{}:(this.state="run:embedding",o=ft(),h=this.config.face.embedding.enabled?await C6(f.image,this.config):{},this.perf.embedding=Math.trunc(ft()-o)),this.analyze("End Emotion:"),this.config.async&&([l,c,u,h]=await Promise.all([l,c,u,h])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((n=f==null?void 0:f.annotations)==null?void 0:n.leftEyeIris)&&((r=f==null?void 0:f.annotations)==null?void 0:r.rightEyeIris)&&(delete f.annotations.leftEyeIris,delete f.annotations.rightEyeIris);let m=((a=f.annotations)==null?void 0:a.leftEyeIris)&&((s=f.annotations)==null?void 0:s.rightEyeIris)?11.7*Math.max(Math.abs(f.annotations.leftEyeIris[3][0]-f.annotations.leftEyeIris[1][0]),Math.abs(f.annotations.rightEyeIris[4][1]-f.annotations.rightEyeIris[2][1])):0;d.push({confidence:f.confidence,box:f.box,mesh:f.mesh,boxRaw:f.boxRaw,meshRaw:f.meshRaw,annotations:f.annotations,age:l.age,gender:c.gender,genderConfidence:c.confidence,emotion:u,embedding:h,iris:m!==0?Math.trunc(m)/100:0}),(i=f.image)==null||i.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),d}async image(e,t={}){var n;this.state="image",this.config=zl(this.config,t);let r=Z6(e,this.config);return(n=r==null?void 0:r.tensor)==null||n.dispose(),r==null?void 0:r.canvas}async detect(e,t={}){return new Promise(async n=>{var r,a,s,i;this.state="config";let o;this.config=zl(this.config,t),this.state="check";let l=this.sanity(e);l&&(Ue(l,e),n({error:l}));let c,u,h,d=ft();await this.checkBackend(),await this.load(),this.config.scoped&&Ln().startScope(),this.analyze("Start Scope:"),o=ft();let p=Z6(e,this.config);if(!p||!p.tensor){Ue("could not convert input to tensor"),n({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(ft()-o),this.analyze("Get Image:"),this.config.async?(h=this.config.face.enabled?this.detectFace(p.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",o=ft(),h=this.config.face.enabled?await this.detectFace(p.tensor):[],this.perf.face=Math.trunc(ft()-o)),this.analyze("Start Body:"),this.config.async?(c=this.config.body.enabled?(r=this.models.posenet)==null?void 0:r.estimatePoses(p.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",o=ft(),c=this.config.body.enabled?await((a=this.models.posenet)==null?void 0:a.estimatePoses(p.tensor,this.config)):[],this.perf.body=Math.trunc(ft()-o)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(u=this.config.hand.enabled?(s=this.models.handpose)==null?void 0:s.estimateHands(p.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",o=ft(),u=this.config.hand.enabled?await((i=this.models.handpose)==null?void 0:i.estimateHands(p.tensor,this.config)):[],this.perf.hand=Math.trunc(ft()-o)),this.analyze("End Hand:"),this.config.async&&([h,c,u]=await Promise.all([h,c,u])),p.tensor.dispose(),this.config.scoped&&Ln().endScope(),this.analyze("End Scope:");let f=[];this.config.gesture.enabled&&(o=ft(),f=[...xae(h),...gae(c),..._ae(u),...wae(h)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(ft()-o)),this.perf.total=Math.trunc(ft()-d),this.state="idle",n({face:h,body:c,hand:u,gesture:f,performance:this.perf,canvas:p.canvas})})}async warmupBitmap(){let e=(r,a="application/octet-stream")=>fetch(`data:${a};base64,${r}`).then(s=>s.blob()),t,n;switch(this.config.warmup){case"face":t=await e(_2);break;case"full":t=await e(b2);break;default:t=null}if(t){let r=await createImageBitmap(t);n=await this.detect(r,this.config),r.close()}return n}async warmupCanvas(){return new Promise(e=>{let t,n=0;switch(this.config.warmup){case"face":n=256,t="data:image/jpeg;base64,"+_2;break;case"full":n=1200,t="data:image/jpeg;base64,"+b2;break;default:t=null}let r=new Image(n,n);r.onload=()=>{let a=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(n,n):document.createElement("canvas");a.width=n,a.height=n;let s=a.getContext("2d");s==null||s.drawImage(r,0,0);let i=s==null?void 0:s.getImageData(0,0,n,n);this.detect(i,this.config).then(o=>e(o))},t?r.src=t:e(null)})}async warmupNode(){let e=s=>Buffer.from(s,"base64"),t=this.config.warmup==="face"?e(_2):e(b2),n=(void 0).decodeJpeg(t),r=n.expandDims(0);Ce(n);let a=await this.detect(r,this.config);return Ce(r),a}async warmup(e){let t=ft();e&&(this.config=zl(this.config,e));let n=this.config.videoOptimized;this.config.videoOptimized=!1;let r;typeof createImageBitmap=="function"?r=await this.warmupBitmap():typeof Image!="undefined"?r=await this.warmupCanvas():r=await this.warmupNode(),this.config.videoOptimized=n;let a=ft();return Ue("Warmup",this.config.warmup,Math.round(a-t),"ms",r),r}};async function Iae(e,t,n){if(!e)return;let r=t.getContext("2d");r.font=n.baseFont,r.fillStyle=n.baseLabel;let a=1;for(let s=0;s1&&o[1].length>0){let l=i[1]>0?`#${i[1]}`:"",c=`${i[0]} ${l}: ${o[1]}`;r.fillStyle="black",r.fillText(c,8,2+a*n.baseLineHeight),r.fillStyle=n.baseLabel,r.fillText(c,6,0+a*n.baseLineHeight),a+=1}}}async function Nae(e,t,n,r){if(!e)return;let a=t.getContext("2d");for(let s of e){a.font=n.baseFont,a.strokeStyle=n.baseColor,a.fillStyle=n.baseColor,a.lineWidth=n.baseLineWidth,a.beginPath(),n.drawBoxes&&a.rect(s.box[0],s.box[1],s.box[2],s.box[3]);let i=[];if(s.genderConfidence&&i.push(`${s.gender||""} ${Math.trunc(100*s.genderConfidence)}% confident`),s.age&&i.push(`age: ${s.age||""}`),s.iris&&i.push(`iris distance: ${s.iris}`),s.emotion&&s.emotion.length>0){let o=s.emotion.map(l=>`${Math.trunc(100*l.score)}% ${l.emotion}`);i.push(o.join(" "))}i.length===0&&i.push("face"),a.fillStyle=n.baseLabel;for(let o=0;os.mesh[u]),c=new Path2D;c.moveTo(l[0][0],l[0][1]);for(let u of l)c.lineTo(u[0],u[1]);c.closePath(),a.strokeStyle=n.useDepth?`rgba(${127.5+2*l[0][2]}, ${127.5-2*l[0][2]}, 255, 0.3)`:n.baseColor,a.stroke(c),n.fillPolygons&&(a.fillStyle=n.useDepth?`rgba(${127.5+2*l[0][2]}, ${127.5-2*l[0][2]}, 255, 0.3)`:n.baseColor,a.fill(c))}if(s.annotations&&s.annotations.leftEyeIris){a.strokeStyle=n.useDepth?"rgba(255, 200, 255, 0.3)":n.baseColor,a.beginPath();let o=Math.abs(s.annotations.leftEyeIris[3][0]-s.annotations.leftEyeIris[1][0])/2,l=Math.abs(s.annotations.leftEyeIris[4][1]-s.annotations.leftEyeIris[2][1])/2;a.ellipse(s.annotations.leftEyeIris[0][0],s.annotations.leftEyeIris[0][1],o,l,0,0,2*Math.PI),a.stroke(),n.fillPolygons&&(a.fillStyle=n.useDepth?"rgba(255, 255, 200, 0.3)":n.baseColor,a.fill())}if(s.annotations&&s.annotations.rightEyeIris){a.strokeStyle=n.useDepth?"rgba(255, 200, 255, 0.3)":n.baseColor,a.beginPath();let o=Math.abs(s.annotations.rightEyeIris[3][0]-s.annotations.rightEyeIris[1][0])/2,l=Math.abs(s.annotations.rightEyeIris[4][1]-s.annotations.rightEyeIris[2][1])/2;a.ellipse(s.annotations.rightEyeIris[0][0],s.annotations.rightEyeIris[0][1],o,l,0,0,2*Math.PI),a.stroke(),n.fillPolygons&&(a.fillStyle=n.useDepth?"rgba(255, 255, 200, 0.3)":n.baseColor,a.fill())}}}}}var Ba=[];async function Sae(e,t,n){if(!e)return;let r=t.getContext("2d");r.lineJoin="round";for(let a=0;al.part==="leftShoulder"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="rightShoulder"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="rightHip"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="leftHip"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="leftShoulder"),o&&s.lineTo(o.position.x,o.position.y)),i=e[a].keypoints.find(l=>l.part==="leftHip"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="leftKnee"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="leftAnkle"),o&&s.lineTo(o.position.x,o.position.y)),i=e[a].keypoints.find(l=>l.part==="rightHip"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="rightKnee"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="rightAnkle"),o&&s.lineTo(o.position.x,o.position.y)),i=e[a].keypoints.find(l=>l.part==="leftShoulder"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="leftElbow"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="leftWrist"),o&&s.lineTo(o.position.x,o.position.y)),i=e[a].keypoints.find(l=>l.part==="rightShoulder"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="rightElbow"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="rightWrist"),o&&s.lineTo(o.position.x,o.position.y)),r.stroke(s)}}}async function Tae(e,t,n){if(!e)return;let r=t.getContext("2d");r.lineJoin="round";for(let a of e){if(r.font=n.baseFont,r.lineWidth=n.baseLineWidth,n.drawBoxes&&(r.lineWidth=n.baseLineWidth,r.beginPath(),r.strokeStyle=n.baseColor,r.fillStyle=n.baseColor,r.rect(a.box[0],a.box[1],a.box[2],a.box[3]),r.fillStyle="black",r.fillText("hand",a.box[0]+3,1+a.box[1]+n.baseLineHeight,a.box[2]),r.fillStyle=n.baseLabel,r.fillText("hand",a.box[0]+2,0+a.box[1]+n.baseLineHeight,a.box[2]),r.stroke()),n.drawPoints&&a.landmarks&&a.landmarks.length>0)for(let s of a.landmarks)r.fillStyle=n.useDepth?`rgba(${127.5+2*s[2]}, ${127.5-2*s[2]}, 255, 0.5)`:n.baseColor,r.beginPath(),r.arc(s[0],s[1],2,0,2*Math.PI),r.fill();if(n.drawPolygons){let s=i=>{if(!!i)for(let o=0;o0?o-1:0][0],i[o>0?o-1:0][1]),r.lineTo(i[o][0],i[o][1]),r.stroke()};s(a.annotations.indexFinger),s(a.annotations.middleFinger),s(a.annotations.ringFinger),s(a.annotations.pinky),s(a.annotations.thumb)}}}var Lc={face:Nae,body:Sae,hand:Tae,gesture:Iae};var Wc=0,Y6=!1,wt={background:"darkslategray",hover:"lightgray",itemBackground:"black",itemColor:"white",buttonBackground:"lightblue",buttonHover:"lightgreen",checkboxOn:"lightgreen",checkboxOff:"lightcoral",rangeBackground:"lightblue",rangeLabel:"white",chartColor:"lightblue"};function Eae(){if(Y6)return;let e=` +2Q==`,kae="0.20.1",ft=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function zl(...e){let t=n=>n&&typeof n=="object";return e.reduce((n,r)=>(Object.keys(r||{}).forEach(a=>{let s=n[a],i=r[a];Array.isArray(s)&&Array.isArray(i)?n[a]=s.concat(...i):t(s)&&t(i)?n[a]=zl(s,i):n[a]=i}),n),{})}var J6=class{constructor(e={}){this.tf=M2,this.version=kae,this.config=zl(vae,e),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=_6,this.age=I6,this.gender=N6,this.emotion=S6,this.body=R6,this.hand=V6}profile(){return this.config.profile?k6:{}}analyze(...e){if(!this.analyzeMemoryLeaks)return;let t=Ln().state.numTensors,n=this.numTensors;this.numTensors=t;let r=t-n;r!==0&&Ue(...e,r)}sanity(e){if(!this.checkSanity)return null;if(!e)return"input is not defined";if(bn.flags.IS_NODE&&!(e instanceof Qe))return"input must be a tensor";try{qh()}catch(t){return"backend not loaded"}return null}simmilarity(e,t){return this.config.face.embedding.enabled?Mre(e,t):0}async load(e=null){this.state="load";let t=ft();e&&(this.config=zl(this.config,e)),this.firstRun&&(Ue(`version: ${this.version} TensorFlow/JS version: ${V2}`),await this.checkBackend(!0),bn.flags.IS_BROWSER&&(Ue("configuration:",this.config),Ue("tf flags:",bn.flags)));let n=this.config.face.detector.modelPath.includes("faceboxes")?b6:_6;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?n.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?e2(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?n2(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?o2(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?E6(this.config):null),this.models.posenet||(this.config.body.enabled?h2(this.config):null),this.models.handpose||(this.config.hand.enabled?A2(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await n.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await e2(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await n2(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await o2(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await E6(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await h2(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await A2(this.config))),this.firstRun&&(Ue("tf engine state:",Ln().state.numBytes,"bytes",Ln().state.numTensors,"tensors"),this.firstRun=!1);let r=Math.trunc(ft()-t);r>(this.perf.load||0)&&(this.perf.load=r)}async checkBackend(e=!1){if(this.config.backend&&this.config.backend!==""&&e||qh()!==this.config.backend){let t=ft();this.state="backend",Ue("setting backend:",this.config.backend),this.config.backend==="wasm"&&(Ue("settings wasm path:",this.config.wasmPath),S0(this.config.wasmPath),await Q().getAsync("WASM_HAS_SIMD_SUPPORT")||Ue("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&lre();try{await H2(this.config.backend)}catch(n){Ue("error: cannot set backend:",this.config.backend,n)}if(U2(),qh()==="webgl"){this.config.deallocate&&(Ue("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),bn.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),bn.set("WEBGL_FORCE_F16_TEXTURES",!0),bn.set("WEBGL_PACK_DEPTHWISECONV",!0);let n=await Rf().getGPGPUContext().gl;Ue(`gl version:${n.getParameter(n.VERSION)} renderer:${n.getParameter(n.RENDERER)}`)}await j2(),this.perf.backend=Math.trunc(ft()-t)}}async detectFace(e){var t,n,r,a,s,i;let o,l,c,u,h,d=[];this.state="run:face",o=ft();let p=await((t=this.models.face)==null?void 0:t.estimateFaces(e,this.config));this.perf.face=Math.trunc(ft()-o);for(let f of p){if(this.analyze("Get Face"),!f.image||f.image.isDisposedInternal){Ue("Face object is disposed:",f.image);continue}this.analyze("Start Age:"),this.config.async?l=this.config.face.age.enabled?t2(f.image,this.config):{}:(this.state="run:age",o=ft(),l=this.config.face.age.enabled?await t2(f.image,this.config):{},this.perf.age=Math.trunc(ft()-o)),this.analyze("Start Gender:"),this.config.async?c=this.config.face.gender.enabled?r2(f.image,this.config):{}:(this.state="run:gender",o=ft(),c=this.config.face.gender.enabled?await r2(f.image,this.config):{},this.perf.gender=Math.trunc(ft()-o)),this.analyze("Start Emotion:"),this.config.async?u=this.config.face.emotion.enabled?l2(f.image,this.config):{}:(this.state="run:emotion",o=ft(),u=this.config.face.emotion.enabled?await l2(f.image,this.config):{},this.perf.emotion=Math.trunc(ft()-o)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?h=this.config.face.embedding.enabled?C6(f.image,this.config):{}:(this.state="run:embedding",o=ft(),h=this.config.face.embedding.enabled?await C6(f.image,this.config):{},this.perf.embedding=Math.trunc(ft()-o)),this.analyze("End Emotion:"),this.config.async&&([l,c,u,h]=await Promise.all([l,c,u,h])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((n=f==null?void 0:f.annotations)==null?void 0:n.leftEyeIris)&&((r=f==null?void 0:f.annotations)==null?void 0:r.rightEyeIris)&&(delete f.annotations.leftEyeIris,delete f.annotations.rightEyeIris);let m=((a=f.annotations)==null?void 0:a.leftEyeIris)&&((s=f.annotations)==null?void 0:s.rightEyeIris)?11.7*Math.max(Math.abs(f.annotations.leftEyeIris[3][0]-f.annotations.leftEyeIris[1][0]),Math.abs(f.annotations.rightEyeIris[4][1]-f.annotations.rightEyeIris[2][1])):0;d.push({confidence:f.confidence,box:f.box,mesh:f.mesh,boxRaw:f.boxRaw,meshRaw:f.meshRaw,annotations:f.annotations,age:l.age,gender:c.gender,genderConfidence:c.confidence,emotion:u,embedding:h,iris:m!==0?Math.trunc(m)/100:0}),(i=f.image)==null||i.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),d}async image(e,t={}){var n;this.state="image",this.config=zl(this.config,t);let r=Z6(e,this.config);return(n=r==null?void 0:r.tensor)==null||n.dispose(),r==null?void 0:r.canvas}async detect(e,t={}){return new Promise(async n=>{var r,a,s,i;this.state="config";let o;this.config=zl(this.config,t),this.state="check";let l=this.sanity(e);l&&(Ue(l,e),n({error:l}));let c,u,h,d=ft();await this.checkBackend(),await this.load(),this.config.scoped&&Ln().startScope(),this.analyze("Start Scope:"),o=ft();let p=Z6(e,this.config);if(!p||!p.tensor){Ue("could not convert input to tensor"),n({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(ft()-o),this.analyze("Get Image:"),this.config.async?(h=this.config.face.enabled?this.detectFace(p.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",o=ft(),h=this.config.face.enabled?await this.detectFace(p.tensor):[],this.perf.face=Math.trunc(ft()-o)),this.analyze("Start Body:"),this.config.async?(c=this.config.body.enabled?(r=this.models.posenet)==null?void 0:r.estimatePoses(p.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",o=ft(),c=this.config.body.enabled?await((a=this.models.posenet)==null?void 0:a.estimatePoses(p.tensor,this.config)):[],this.perf.body=Math.trunc(ft()-o)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(u=this.config.hand.enabled?(s=this.models.handpose)==null?void 0:s.estimateHands(p.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",o=ft(),u=this.config.hand.enabled?await((i=this.models.handpose)==null?void 0:i.estimateHands(p.tensor,this.config)):[],this.perf.hand=Math.trunc(ft()-o)),this.analyze("End Hand:"),this.config.async&&([h,c,u]=await Promise.all([h,c,u])),p.tensor.dispose(),this.config.scoped&&Ln().endScope(),this.analyze("End Scope:");let f=[];this.config.gesture.enabled&&(o=ft(),f=[...xae(h),...gae(c),..._ae(u),...wae(h)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(ft()-o)),this.perf.total=Math.trunc(ft()-d),this.state="idle",n({face:h,body:c,hand:u,gesture:f,performance:this.perf,canvas:p.canvas})})}async warmupBitmap(){let e=(r,a="application/octet-stream")=>fetch(`data:${a};base64,${r}`).then(s=>s.blob()),t,n;switch(this.config.warmup){case"face":t=await e(_2);break;case"full":t=await e(b2);break;default:t=null}if(t){let r=await createImageBitmap(t);n=await this.detect(r,this.config),r.close()}return n}async warmupCanvas(){return new Promise(e=>{let t,n=0;switch(this.config.warmup){case"face":n=256,t="data:image/jpeg;base64,"+_2;break;case"full":n=1200,t="data:image/jpeg;base64,"+b2;break;default:t=null}let r=new Image(n,n);r.onload=()=>{let a=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(n,n):document.createElement("canvas");a.width=n,a.height=n;let s=a.getContext("2d");s==null||s.drawImage(r,0,0);let i=s==null?void 0:s.getImageData(0,0,n,n);this.detect(i,this.config).then(o=>e(o))},t?r.src=t:e(null)})}async warmupNode(){let e=s=>Buffer.from(s,"base64"),t=this.config.warmup==="face"?e(_2):e(b2),n=(void 0).decodeJpeg(t),r=n.expandDims(0);Ce(n);let a=await this.detect(r,this.config);return Ce(r),a}async warmup(e){let t=ft();e&&(this.config=zl(this.config,e));let n=this.config.videoOptimized;this.config.videoOptimized=!1;let r;typeof createImageBitmap=="function"?r=await this.warmupBitmap():typeof Image!="undefined"?r=await this.warmupCanvas():r=await this.warmupNode(),this.config.videoOptimized=n;let a=ft();return Ue("Warmup",this.config.warmup,Math.round(a-t),"ms",r),r}};async function Iae(e,t,n){if(!e)return;let r=t.getContext("2d");r.font=n.baseFont,r.fillStyle=n.baseLabel;let a=1;for(let s=0;s1&&o[1].length>0){let l=i[1]>0?`#${i[1]}`:"",c=`${i[0]} ${l}: ${o[1]}`;r.fillStyle="black",r.fillText(c,8,2+a*n.baseLineHeight),r.fillStyle=n.baseLabel,r.fillText(c,6,0+a*n.baseLineHeight),a+=1}}}async function Nae(e,t,n,r){if(!e)return;let a=t.getContext("2d");for(let s of e){a.font=n.baseFont,a.strokeStyle=n.baseColor,a.fillStyle=n.baseColor,a.lineWidth=n.baseLineWidth,a.beginPath(),n.drawBoxes&&a.rect(s.box[0],s.box[1],s.box[2],s.box[3]);let i=[];if(s.genderConfidence&&i.push(`${s.gender||""} ${Math.trunc(100*s.genderConfidence)}% confident`),s.age&&i.push(`age: ${s.age||""}`),s.iris&&i.push(`iris distance: ${s.iris}`),s.emotion&&s.emotion.length>0){let o=s.emotion.map(l=>`${Math.trunc(100*l.score)}% ${l.emotion}`);i.push(o.join(" "))}i.length===0&&i.push("face"),a.fillStyle=n.baseLabel;for(let o=0;os.mesh[u]),c=new Path2D;c.moveTo(l[0][0],l[0][1]);for(let u of l)c.lineTo(u[0],u[1]);c.closePath(),a.strokeStyle=n.useDepth?`rgba(${127.5+2*l[0][2]}, ${127.5-2*l[0][2]}, 255, 0.3)`:n.baseColor,a.stroke(c),n.fillPolygons&&(a.fillStyle=n.useDepth?`rgba(${127.5+2*l[0][2]}, ${127.5-2*l[0][2]}, 255, 0.3)`:n.baseColor,a.fill(c))}if(s.annotations&&s.annotations.leftEyeIris){a.strokeStyle=n.useDepth?"rgba(255, 200, 255, 0.3)":n.baseColor,a.beginPath();let o=Math.abs(s.annotations.leftEyeIris[3][0]-s.annotations.leftEyeIris[1][0])/2,l=Math.abs(s.annotations.leftEyeIris[4][1]-s.annotations.leftEyeIris[2][1])/2;a.ellipse(s.annotations.leftEyeIris[0][0],s.annotations.leftEyeIris[0][1],o,l,0,0,2*Math.PI),a.stroke(),n.fillPolygons&&(a.fillStyle=n.useDepth?"rgba(255, 255, 200, 0.3)":n.baseColor,a.fill())}if(s.annotations&&s.annotations.rightEyeIris){a.strokeStyle=n.useDepth?"rgba(255, 200, 255, 0.3)":n.baseColor,a.beginPath();let o=Math.abs(s.annotations.rightEyeIris[3][0]-s.annotations.rightEyeIris[1][0])/2,l=Math.abs(s.annotations.rightEyeIris[4][1]-s.annotations.rightEyeIris[2][1])/2;a.ellipse(s.annotations.rightEyeIris[0][0],s.annotations.rightEyeIris[0][1],o,l,0,0,2*Math.PI),a.stroke(),n.fillPolygons&&(a.fillStyle=n.useDepth?"rgba(255, 255, 200, 0.3)":n.baseColor,a.fill())}}}}}var Ba=[];async function Sae(e,t,n){if(!e)return;let r=t.getContext("2d");r.lineJoin="round";for(let a=0;al.part==="leftShoulder"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="rightShoulder"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="rightHip"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="leftHip"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="leftShoulder"),o&&s.lineTo(o.position.x,o.position.y)),i=e[a].keypoints.find(l=>l.part==="leftHip"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="leftKnee"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="leftAnkle"),o&&s.lineTo(o.position.x,o.position.y)),i=e[a].keypoints.find(l=>l.part==="rightHip"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="rightKnee"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="rightAnkle"),o&&s.lineTo(o.position.x,o.position.y)),i=e[a].keypoints.find(l=>l.part==="leftShoulder"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="leftElbow"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="leftWrist"),o&&s.lineTo(o.position.x,o.position.y)),i=e[a].keypoints.find(l=>l.part==="rightShoulder"),i&&(s.moveTo(i.position.x,i.position.y),o=e[a].keypoints.find(l=>l.part==="rightElbow"),o&&s.lineTo(o.position.x,o.position.y),o=e[a].keypoints.find(l=>l.part==="rightWrist"),o&&s.lineTo(o.position.x,o.position.y)),r.stroke(s)}}}async function Tae(e,t,n){if(!e)return;let r=t.getContext("2d");r.lineJoin="round";for(let a of e){if(r.font=n.baseFont,r.lineWidth=n.baseLineWidth,n.drawBoxes&&(r.lineWidth=n.baseLineWidth,r.beginPath(),r.strokeStyle=n.baseColor,r.fillStyle=n.baseColor,r.rect(a.box[0],a.box[1],a.box[2],a.box[3]),r.fillStyle="black",r.fillText("hand",a.box[0]+3,1+a.box[1]+n.baseLineHeight,a.box[2]),r.fillStyle=n.baseLabel,r.fillText("hand",a.box[0]+2,0+a.box[1]+n.baseLineHeight,a.box[2]),r.stroke()),n.drawPoints&&a.landmarks&&a.landmarks.length>0)for(let s of a.landmarks)r.fillStyle=n.useDepth?`rgba(${127.5+2*s[2]}, ${127.5-2*s[2]}, 255, 0.5)`:n.baseColor,r.beginPath(),r.arc(s[0],s[1],2,0,2*Math.PI),r.fill();if(n.drawPolygons){let s=i=>{if(!!i)for(let o=0;o0?o-1:0][0],i[o>0?o-1:0][1]),r.lineTo(i[o][0],i[o][1]),r.stroke()};s(a.annotations.indexFinger),s(a.annotations.middleFinger),s(a.annotations.ringFinger),s(a.annotations.pinky),s(a.annotations.thumb)}}}var Lc={face:Nae,body:Sae,hand:Tae,gesture:Iae};var Wc=0,Y6=!1,wt={background:"darkslategray",hover:"lightgray",itemBackground:"black",itemColor:"white",buttonBackground:"lightblue",buttonHover:"lightgreen",checkboxOn:"lightgreen",checkboxOff:"lightcoral",rangeBackground:"lightblue",rangeLabel:"white",chartColor:"lightblue"};function Eae(){if(Y6)return;let e=` :root { --rounded: 0.2rem; } .menu { position: absolute; top: 0rem; right: 0; width: max-content; padding: 0 0.2rem 0 0.2rem; line-height: 1.8rem; z-index: 10; box-shadow: 0 0 8px dimgrey; background: ${wt.background}; border-radius: var(--rounded); border-color: black; border-style: solid; border-width: thin; } diff --git a/dist/human.esm-nobundle.js b/dist/human.esm-nobundle.js index 3423d1ba..ed0d420e 100644 --- a/dist/human.esm-nobundle.js +++ b/dist/human.esm-nobundle.js @@ -731,5 +731,5 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var S0="0.11.5";var v=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function ce(...t){let e=n=>n&&typeof n=="object";return t.reduce((n,r)=>(Object.keys(r||{}).forEach(A=>{let c=n[A],_=r[A];Array.isArray(c)&&Array.isArray(_)?n[A]=c.concat(..._):e(c)&&e(_)?n[A]=ce(c,_):n[A]=_}),n),{})}var N0=class{constructor(e={}){this.tf=R,this.version=S0,this.config=ce(j0,e),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=W0,this.age=Ye,this.gender=Ue,this.emotion=$e,this.body=f1,this.hand=v1}profile(){return this.config.profile?He:{}}analyze(...e){if(!this.analyzeMemoryLeaks)return;let n=R.engine().state.numTensors,r=this.numTensors;this.numTensors=n;let A=n-r;A!==0&&u(...e,A)}sanity(e){if(!this.checkSanity)return null;if(!e)return"input is not defined";if(R.ENV.flags.IS_NODE&&!(e instanceof R.Tensor))return"input must be a tensor";try{R.getBackend()}catch(n){return"backend not loaded"}return null}simmilarity(e,n){return this.config.face.embedding.enabled?D1(e,n):0}async load(e=null){this.state="load";let n=v();e&&(this.config=ce(this.config,e)),this.firstRun&&(u(`version: ${this.version} TensorFlow/JS version: ${R.version_core}`),await this.checkBackend(!0),R.ENV.flags.IS_BROWSER&&(u("configuration:",this.config),u("tf flags:",R.ENV.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?Fe:W0;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?Be(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?Ge(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?n1(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?A1(this.config):null),this.models.posenet||(this.config.body.enabled?p1(this.config):null),this.models.handpose||(this.config.hand.enabled?z1(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await Be(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await Ge(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await n1(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await A1(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await p1(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await z1(this.config))),this.firstRun&&(u("tf engine state:",R.engine().state.numBytes,"bytes",R.engine().state.numTensors,"tensors"),this.firstRun=!1);let A=Math.trunc(v()-n);A>(this.perf.load||0)&&(this.perf.load=A)}async checkBackend(e=!1){if(this.config.backend&&this.config.backend!==""&&e||R.getBackend()!==this.config.backend){let n=v();this.state="backend",u("setting backend:",this.config.backend),this.config.backend==="wasm"&&(u("settings wasm path:",this.config.wasmPath),R.setWasmPaths(this.config.wasmPath),await R.env().getAsync("WASM_HAS_SIMD_SUPPORT")||u("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&O1();try{await R.setBackend(this.config.backend)}catch(r){u("error: cannot set backend:",this.config.backend,r)}if(R.enableProdMode(),R.getBackend()==="webgl"){this.config.deallocate&&(u("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),R.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),R.ENV.set("WEBGL_FORCE_F16_TEXTURES",!0),R.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await R.backend().getGPGPUContext().gl;u(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await R.ready(),this.perf.backend=Math.trunc(v()-n)}}async detectFace(e){var o,i,d,w,s,m;let n,r,A,c,_,h=[];this.state="run:face",n=v();let x=await((o=this.models.face)==null?void 0:o.estimateFaces(e,this.config));this.perf.face=Math.trunc(v()-n);for(let l of x){if(this.analyze("Get Face"),!l.image||l.image.isDisposedInternal){u("Face object is disposed:",l.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?Je(l.image,this.config):{}:(this.state="run:age",n=v(),r=this.config.face.age.enabled?await Je(l.image,this.config):{},this.perf.age=Math.trunc(v()-n)),this.analyze("Start Gender:"),this.config.async?A=this.config.face.gender.enabled?Qe(l.image,this.config):{}:(this.state="run:gender",n=v(),A=this.config.face.gender.enabled?await Qe(l.image,this.config):{},this.perf.gender=Math.trunc(v()-n)),this.analyze("Start Emotion:"),this.config.async?c=this.config.face.emotion.enabled?r1(l.image,this.config):{}:(this.state="run:emotion",n=v(),c=this.config.face.emotion.enabled?await r1(l.image,this.config):{},this.perf.emotion=Math.trunc(v()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?_=this.config.face.embedding.enabled?c1(l.image,this.config):{}:(this.state="run:embedding",n=v(),_=this.config.face.embedding.enabled?await c1(l.image,this.config):{},this.perf.embedding=Math.trunc(v()-n)),this.analyze("End Emotion:"),this.config.async&&([r,A,c,_]=await Promise.all([r,A,c,_])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((i=l==null?void 0:l.annotations)==null?void 0:i.leftEyeIris)&&((d=l==null?void 0:l.annotations)==null?void 0:d.rightEyeIris)&&(delete l.annotations.leftEyeIris,delete l.annotations.rightEyeIris);let Z=((w=l.annotations)==null?void 0:w.leftEyeIris)&&((s=l.annotations)==null?void 0:s.rightEyeIris)?11.7*Math.max(Math.abs(l.annotations.leftEyeIris[3][0]-l.annotations.leftEyeIris[1][0]),Math.abs(l.annotations.rightEyeIris[4][1]-l.annotations.rightEyeIris[2][1])):0;h.push({confidence:l.confidence,box:l.box,mesh:l.mesh,boxRaw:l.boxRaw,meshRaw:l.meshRaw,annotations:l.annotations,age:r.age,gender:A.gender,genderConfidence:A.confidence,emotion:c,embedding:_,iris:Z!==0?Math.trunc(Z)/100:0}),(m=l.image)==null||m.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),h}async image(e,n={}){var A;this.state="image",this.config=ce(this.config,n);let r=M1(e,this.config);return(A=r==null?void 0:r.tensor)==null||A.dispose(),r==null?void 0:r.canvas}async detect(e,n={}){return new Promise(async r=>{var w,s,m,l;this.state="config";let A;this.config=ce(this.config,n),this.state="check";let c=this.sanity(e);c&&(u(c,e),r({error:c}));let _,h,x,o=v();await this.checkBackend(),await this.load(),this.config.scoped&&R.engine().startScope(),this.analyze("Start Scope:"),A=v();let i=M1(e,this.config);if(!i||!i.tensor){u("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(v()-A),this.analyze("Get Image:"),this.config.async?(x=this.config.face.enabled?this.detectFace(i.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",A=v(),x=this.config.face.enabled?await this.detectFace(i.tensor):[],this.perf.face=Math.trunc(v()-A)),this.analyze("Start Body:"),this.config.async?(_=this.config.body.enabled?(w=this.models.posenet)==null?void 0:w.estimatePoses(i.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",A=v(),_=this.config.body.enabled?await((s=this.models.posenet)==null?void 0:s.estimatePoses(i.tensor,this.config)):[],this.perf.body=Math.trunc(v()-A)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(h=this.config.hand.enabled?(m=this.models.handpose)==null?void 0:m.estimateHands(i.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",A=v(),h=this.config.hand.enabled?await((l=this.models.handpose)==null?void 0:l.estimateHands(i.tensor,this.config)):[],this.perf.hand=Math.trunc(v()-A)),this.analyze("End Hand:"),this.config.async&&([x,_,h]=await Promise.all([x,_,h])),i.tensor.dispose(),this.config.scoped&&R.engine().endScope(),this.analyze("End Scope:");let d=[];this.config.gesture.enabled&&(A=v(),d=[...v0(x),...T0(_),...R0(h),...P0(x)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(v()-A)),this.perf.total=Math.trunc(v()-o),this.state="idle",r({face:x,body:_,hand:h,gesture:d,performance:this.perf,canvas:i.canvas})})}async warmupBitmap(){let e=(A,c="application/octet-stream")=>fetch(`data:${c};base64,${A}`).then(_=>_.blob()),n,r;switch(this.config.warmup){case"face":n=await e(ze);break;case"full":n=await e(Me);break;default:n=null}if(n){let A=await createImageBitmap(n);r=await this.detect(A,this.config),A.close()}return r}async warmupCanvas(){return new Promise(e=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+ze;break;case"full":r=1200,n="data:image/jpeg;base64,"+Me;break;default:n=null}let A=new Image(r,r);A.onload=()=>{let c=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");c.width=r,c.height=r;let _=c.getContext("2d");_==null||_.drawImage(A,0,0);let h=_==null?void 0:_.getImageData(0,0,r,r);this.detect(h,this.config).then(x=>e(x))},n?A.src=n:e(null)})}async warmupNode(){let e=_=>Buffer.from(_,"base64"),n=this.config.warmup==="face"?e(ze):e(Me),r=R.node.decodeJpeg(n),A=r.expandDims(0);R.dispose(r);let c=await this.detect(A,this.config);return R.dispose(A),c}async warmup(e){let n=v();e&&(this.config=ce(this.config,e));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let A;typeof createImageBitmap=="function"?A=await this.warmupBitmap():typeof Image!="undefined"?A=await this.warmupCanvas():A=await this.warmupNode(),this.config.videoOptimized=r;let c=v();return u("Warmup",this.config.warmup,Math.round(c-n),"ms",A),A}};export{N0 as default}; +2Q==`;var S0="0.20.1";var v=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function ce(...t){let e=n=>n&&typeof n=="object";return t.reduce((n,r)=>(Object.keys(r||{}).forEach(A=>{let c=n[A],_=r[A];Array.isArray(c)&&Array.isArray(_)?n[A]=c.concat(..._):e(c)&&e(_)?n[A]=ce(c,_):n[A]=_}),n),{})}var N0=class{constructor(e={}){this.tf=R,this.version=S0,this.config=ce(j0,e),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=W0,this.age=Ye,this.gender=Ue,this.emotion=$e,this.body=f1,this.hand=v1}profile(){return this.config.profile?He:{}}analyze(...e){if(!this.analyzeMemoryLeaks)return;let n=R.engine().state.numTensors,r=this.numTensors;this.numTensors=n;let A=n-r;A!==0&&u(...e,A)}sanity(e){if(!this.checkSanity)return null;if(!e)return"input is not defined";if(R.ENV.flags.IS_NODE&&!(e instanceof R.Tensor))return"input must be a tensor";try{R.getBackend()}catch(n){return"backend not loaded"}return null}simmilarity(e,n){return this.config.face.embedding.enabled?D1(e,n):0}async load(e=null){this.state="load";let n=v();e&&(this.config=ce(this.config,e)),this.firstRun&&(u(`version: ${this.version} TensorFlow/JS version: ${R.version_core}`),await this.checkBackend(!0),R.ENV.flags.IS_BROWSER&&(u("configuration:",this.config),u("tf flags:",R.ENV.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?Fe:W0;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?Be(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?Ge(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?n1(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?A1(this.config):null),this.models.posenet||(this.config.body.enabled?p1(this.config):null),this.models.handpose||(this.config.hand.enabled?z1(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await Be(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await Ge(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await n1(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await A1(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await p1(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await z1(this.config))),this.firstRun&&(u("tf engine state:",R.engine().state.numBytes,"bytes",R.engine().state.numTensors,"tensors"),this.firstRun=!1);let A=Math.trunc(v()-n);A>(this.perf.load||0)&&(this.perf.load=A)}async checkBackend(e=!1){if(this.config.backend&&this.config.backend!==""&&e||R.getBackend()!==this.config.backend){let n=v();this.state="backend",u("setting backend:",this.config.backend),this.config.backend==="wasm"&&(u("settings wasm path:",this.config.wasmPath),R.setWasmPaths(this.config.wasmPath),await R.env().getAsync("WASM_HAS_SIMD_SUPPORT")||u("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&O1();try{await R.setBackend(this.config.backend)}catch(r){u("error: cannot set backend:",this.config.backend,r)}if(R.enableProdMode(),R.getBackend()==="webgl"){this.config.deallocate&&(u("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),R.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),R.ENV.set("WEBGL_FORCE_F16_TEXTURES",!0),R.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await R.backend().getGPGPUContext().gl;u(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await R.ready(),this.perf.backend=Math.trunc(v()-n)}}async detectFace(e){var o,i,d,w,s,m;let n,r,A,c,_,h=[];this.state="run:face",n=v();let x=await((o=this.models.face)==null?void 0:o.estimateFaces(e,this.config));this.perf.face=Math.trunc(v()-n);for(let l of x){if(this.analyze("Get Face"),!l.image||l.image.isDisposedInternal){u("Face object is disposed:",l.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?Je(l.image,this.config):{}:(this.state="run:age",n=v(),r=this.config.face.age.enabled?await Je(l.image,this.config):{},this.perf.age=Math.trunc(v()-n)),this.analyze("Start Gender:"),this.config.async?A=this.config.face.gender.enabled?Qe(l.image,this.config):{}:(this.state="run:gender",n=v(),A=this.config.face.gender.enabled?await Qe(l.image,this.config):{},this.perf.gender=Math.trunc(v()-n)),this.analyze("Start Emotion:"),this.config.async?c=this.config.face.emotion.enabled?r1(l.image,this.config):{}:(this.state="run:emotion",n=v(),c=this.config.face.emotion.enabled?await r1(l.image,this.config):{},this.perf.emotion=Math.trunc(v()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?_=this.config.face.embedding.enabled?c1(l.image,this.config):{}:(this.state="run:embedding",n=v(),_=this.config.face.embedding.enabled?await c1(l.image,this.config):{},this.perf.embedding=Math.trunc(v()-n)),this.analyze("End Emotion:"),this.config.async&&([r,A,c,_]=await Promise.all([r,A,c,_])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((i=l==null?void 0:l.annotations)==null?void 0:i.leftEyeIris)&&((d=l==null?void 0:l.annotations)==null?void 0:d.rightEyeIris)&&(delete l.annotations.leftEyeIris,delete l.annotations.rightEyeIris);let Z=((w=l.annotations)==null?void 0:w.leftEyeIris)&&((s=l.annotations)==null?void 0:s.rightEyeIris)?11.7*Math.max(Math.abs(l.annotations.leftEyeIris[3][0]-l.annotations.leftEyeIris[1][0]),Math.abs(l.annotations.rightEyeIris[4][1]-l.annotations.rightEyeIris[2][1])):0;h.push({confidence:l.confidence,box:l.box,mesh:l.mesh,boxRaw:l.boxRaw,meshRaw:l.meshRaw,annotations:l.annotations,age:r.age,gender:A.gender,genderConfidence:A.confidence,emotion:c,embedding:_,iris:Z!==0?Math.trunc(Z)/100:0}),(m=l.image)==null||m.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),h}async image(e,n={}){var A;this.state="image",this.config=ce(this.config,n);let r=M1(e,this.config);return(A=r==null?void 0:r.tensor)==null||A.dispose(),r==null?void 0:r.canvas}async detect(e,n={}){return new Promise(async r=>{var w,s,m,l;this.state="config";let A;this.config=ce(this.config,n),this.state="check";let c=this.sanity(e);c&&(u(c,e),r({error:c}));let _,h,x,o=v();await this.checkBackend(),await this.load(),this.config.scoped&&R.engine().startScope(),this.analyze("Start Scope:"),A=v();let i=M1(e,this.config);if(!i||!i.tensor){u("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(v()-A),this.analyze("Get Image:"),this.config.async?(x=this.config.face.enabled?this.detectFace(i.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",A=v(),x=this.config.face.enabled?await this.detectFace(i.tensor):[],this.perf.face=Math.trunc(v()-A)),this.analyze("Start Body:"),this.config.async?(_=this.config.body.enabled?(w=this.models.posenet)==null?void 0:w.estimatePoses(i.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",A=v(),_=this.config.body.enabled?await((s=this.models.posenet)==null?void 0:s.estimatePoses(i.tensor,this.config)):[],this.perf.body=Math.trunc(v()-A)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(h=this.config.hand.enabled?(m=this.models.handpose)==null?void 0:m.estimateHands(i.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",A=v(),h=this.config.hand.enabled?await((l=this.models.handpose)==null?void 0:l.estimateHands(i.tensor,this.config)):[],this.perf.hand=Math.trunc(v()-A)),this.analyze("End Hand:"),this.config.async&&([x,_,h]=await Promise.all([x,_,h])),i.tensor.dispose(),this.config.scoped&&R.engine().endScope(),this.analyze("End Scope:");let d=[];this.config.gesture.enabled&&(A=v(),d=[...v0(x),...T0(_),...R0(h),...P0(x)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(v()-A)),this.perf.total=Math.trunc(v()-o),this.state="idle",r({face:x,body:_,hand:h,gesture:d,performance:this.perf,canvas:i.canvas})})}async warmupBitmap(){let e=(A,c="application/octet-stream")=>fetch(`data:${c};base64,${A}`).then(_=>_.blob()),n,r;switch(this.config.warmup){case"face":n=await e(ze);break;case"full":n=await e(Me);break;default:n=null}if(n){let A=await createImageBitmap(n);r=await this.detect(A,this.config),A.close()}return r}async warmupCanvas(){return new Promise(e=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+ze;break;case"full":r=1200,n="data:image/jpeg;base64,"+Me;break;default:n=null}let A=new Image(r,r);A.onload=()=>{let c=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");c.width=r,c.height=r;let _=c.getContext("2d");_==null||_.drawImage(A,0,0);let h=_==null?void 0:_.getImageData(0,0,r,r);this.detect(h,this.config).then(x=>e(x))},n?A.src=n:e(null)})}async warmupNode(){let e=_=>Buffer.from(_,"base64"),n=this.config.warmup==="face"?e(ze):e(Me),r=R.node.decodeJpeg(n),A=r.expandDims(0);R.dispose(r);let c=await this.detect(A,this.config);return R.dispose(A),c}async warmup(e){let n=v();e&&(this.config=ce(this.config,e));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let A;typeof createImageBitmap=="function"?A=await this.warmupBitmap():typeof Image!="undefined"?A=await this.warmupCanvas():A=await this.warmupNode(),this.config.videoOptimized=r;let c=v();return u("Warmup",this.config.warmup,Math.round(c-n),"ms",A),A}};export{N0 as default}; //# sourceMappingURL=human.esm-nobundle.js.map diff --git a/dist/human.esm.js b/dist/human.esm.js index c747d20c..892ffc4e 100644 --- a/dist/human.esm.js +++ b/dist/human.esm.js @@ -4771,7 +4771,7 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var b6="0.11.5";var dt=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Ol(...e){let t=n=>n&&typeof n=="object";return e.reduce((n,r)=>(Object.keys(r||{}).forEach(a=>{let s=n[a],i=r[a];Array.isArray(s)&&Array.isArray(i)?n[a]=s.concat(...i):t(s)&&t(i)?n[a]=Ol(s,i):n[a]=i}),n),{})}var k6=class{constructor(t={}){this.tf=rh,this.version=b6,this.config=Ol(_6,t),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=v6,this.age=e2,this.gender=r2,this.emotion=u2,this.body=S2,this.hand=O2}profile(){return this.config.profile?Yy:{}}analyze(...t){if(!this.analyzeMemoryLeaks)return;let n=Pn().state.numTensors,r=this.numTensors;this.numTensors=n;let a=n-r;a!==0&&Te(...t,a)}sanity(t){if(!this.checkSanity)return null;if(!t)return"input is not defined";if(tn.flags.IS_NODE&&!(t instanceof Xe))return"input must be a tensor";try{Yh()}catch(n){return"backend not loaded"}return null}simmilarity(t,n){return this.config.face.embedding.enabled?Uv(t,n):0}async load(t=null){this.state="load";let n=dt();t&&(this.config=Ol(this.config,t)),this.firstRun&&(Te(`version: ${this.version} TensorFlow/JS version: ${n5}`),await this.checkBackend(!0),tn.flags.IS_BROWSER&&(Te("configuration:",this.config),Te("tf flags:",tn.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?Jy:v6;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?t2(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?o2(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?d2(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?f2(this.config):null),this.models.posenet||(this.config.body.enabled?E2(this.config):null),this.models.handpose||(this.config.hand.enabled?z2(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await t2(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await o2(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await d2(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await f2(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await E2(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await z2(this.config))),this.firstRun&&(Te("tf engine state:",Pn().state.numBytes,"bytes",Pn().state.numTensors,"tensors"),this.firstRun=!1);let a=Math.trunc(dt()-n);a>(this.perf.load||0)&&(this.perf.load=a)}async checkBackend(t=!1){if(this.config.backend&&this.config.backend!==""&&t||Yh()!==this.config.backend){let n=dt();this.state="backend",Te("setting backend:",this.config.backend),this.config.backend==="wasm"&&(Te("settings wasm path:",this.config.wasmPath),Wb(this.config.wasmPath),await Q().getAsync("WASM_HAS_SIMD_SUPPORT")||Te("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&Ev();try{await a5(this.config.backend)}catch(r){Te("error: cannot set backend:",this.config.backend,r)}if(r5(),Yh()==="webgl"){this.config.deallocate&&(Te("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),tn.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),tn.set("WEBGL_FORCE_F16_TEXTURES",!0),tn.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await sf().getGPGPUContext().gl;Te(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await s5(),this.perf.backend=Math.trunc(dt()-n)}}async detectFace(t){var c,u,h,p,d,f;let n,r,a,s,i,o=[];this.state="run:face",n=dt();let l=await((c=this.models.face)==null?void 0:c.estimateFaces(t,this.config));this.perf.face=Math.trunc(dt()-n);for(let m of l){if(this.analyze("Get Face"),!m.image||m.image.isDisposedInternal){Te("Face object is disposed:",m.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?n2(m.image,this.config):{}:(this.state="run:age",n=dt(),r=this.config.face.age.enabled?await n2(m.image,this.config):{},this.perf.age=Math.trunc(dt()-n)),this.analyze("Start Gender:"),this.config.async?a=this.config.face.gender.enabled?l2(m.image,this.config):{}:(this.state="run:gender",n=dt(),a=this.config.face.gender.enabled?await l2(m.image,this.config):{},this.perf.gender=Math.trunc(dt()-n)),this.analyze("Start Emotion:"),this.config.async?s=this.config.face.emotion.enabled?p2(m.image,this.config):{}:(this.state="run:emotion",n=dt(),s=this.config.face.emotion.enabled?await p2(m.image,this.config):{},this.perf.emotion=Math.trunc(dt()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?i=this.config.face.embedding.enabled?m2(m.image,this.config):{}:(this.state="run:embedding",n=dt(),i=this.config.face.embedding.enabled?await m2(m.image,this.config):{},this.perf.embedding=Math.trunc(dt()-n)),this.analyze("End Emotion:"),this.config.async&&([r,a,s,i]=await Promise.all([r,a,s,i])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((u=m==null?void 0:m.annotations)==null?void 0:u.leftEyeIris)&&((h=m==null?void 0:m.annotations)==null?void 0:h.rightEyeIris)&&(delete m.annotations.leftEyeIris,delete m.annotations.rightEyeIris);let A=((p=m.annotations)==null?void 0:p.leftEyeIris)&&((d=m.annotations)==null?void 0:d.rightEyeIris)?11.7*Math.max(Math.abs(m.annotations.leftEyeIris[3][0]-m.annotations.leftEyeIris[1][0]),Math.abs(m.annotations.rightEyeIris[4][1]-m.annotations.rightEyeIris[2][1])):0;o.push({confidence:m.confidence,box:m.box,mesh:m.mesh,boxRaw:m.boxRaw,meshRaw:m.meshRaw,annotations:m.annotations,age:r.age,gender:a.gender,genderConfidence:a.confidence,emotion:s,embedding:i,iris:A!==0?Math.trunc(A)/100:0}),(f=m.image)==null||f.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),o}async image(t,n={}){var a;this.state="image",this.config=Ol(this.config,n);let r=P2(t,this.config);return(a=r==null?void 0:r.tensor)==null||a.dispose(),r==null?void 0:r.canvas}async detect(t,n={}){return new Promise(async r=>{var p,d,f,m;this.state="config";let a;this.config=Ol(this.config,n),this.state="check";let s=this.sanity(t);s&&(Te(s,t),r({error:s}));let i,o,l,c=dt();await this.checkBackend(),await this.load(),this.config.scoped&&Pn().startScope(),this.analyze("Start Scope:"),a=dt();let u=P2(t,this.config);if(!u||!u.tensor){Te("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(dt()-a),this.analyze("Get Image:"),this.config.async?(l=this.config.face.enabled?this.detectFace(u.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",a=dt(),l=this.config.face.enabled?await this.detectFace(u.tensor):[],this.perf.face=Math.trunc(dt()-a)),this.analyze("Start Body:"),this.config.async?(i=this.config.body.enabled?(p=this.models.posenet)==null?void 0:p.estimatePoses(u.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",a=dt(),i=this.config.body.enabled?await((d=this.models.posenet)==null?void 0:d.estimatePoses(u.tensor,this.config)):[],this.perf.body=Math.trunc(dt()-a)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(o=this.config.hand.enabled?(f=this.models.handpose)==null?void 0:f.estimateHands(u.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",a=dt(),o=this.config.hand.enabled?await((m=this.models.handpose)==null?void 0:m.estimateHands(u.tensor,this.config)):[],this.perf.hand=Math.trunc(dt()-a)),this.analyze("End Hand:"),this.config.async&&([l,i,o]=await Promise.all([l,i,o])),u.tensor.dispose(),this.config.scoped&&Pn().endScope(),this.analyze("End Scope:");let h=[];this.config.gesture.enabled&&(a=dt(),h=[...m6(l),...f6(i),...y6(o),...A6(l)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(dt()-a)),this.perf.total=Math.trunc(dt()-c),this.state="idle",r({face:l,body:i,hand:o,gesture:h,performance:this.perf,canvas:u.canvas})})}async warmupBitmap(){let t=(a,s="application/octet-stream")=>fetch(`data:${s};base64,${a}`).then(i=>i.blob()),n,r;switch(this.config.warmup){case"face":n=await t(u0);break;case"full":n=await t(c0);break;default:n=null}if(n){let a=await createImageBitmap(n);r=await this.detect(a,this.config),a.close()}return r}async warmupCanvas(){return new Promise(t=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+u0;break;case"full":r=1200,n="data:image/jpeg;base64,"+c0;break;default:n=null}let a=new Image(r,r);a.onload=()=>{let s=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");s.width=r,s.height=r;let i=s.getContext("2d");i==null||i.drawImage(a,0,0);let o=i==null?void 0:i.getImageData(0,0,r,r);this.detect(o,this.config).then(l=>t(l))},n?a.src=n:t(null)})}async warmupNode(){let t=i=>Buffer.from(i,"base64"),n=this.config.warmup==="face"?t(u0):t(c0),r=(void 0).decodeJpeg(n),a=r.expandDims(0);Ne(r);let s=await this.detect(a,this.config);return Ne(a),s}async warmup(t){let n=dt();t&&(this.config=Ol(this.config,t));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let a;typeof createImageBitmap=="function"?a=await this.warmupBitmap():typeof Image!="undefined"?a=await this.warmupCanvas():a=await this.warmupNode(),this.config.videoOptimized=r;let s=dt();return Te("Warmup",this.config.warmup,Math.round(s-n),"ms",a),a}};export{k6 as default}; +2Q==`;var b6="0.20.1";var dt=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Ol(...e){let t=n=>n&&typeof n=="object";return e.reduce((n,r)=>(Object.keys(r||{}).forEach(a=>{let s=n[a],i=r[a];Array.isArray(s)&&Array.isArray(i)?n[a]=s.concat(...i):t(s)&&t(i)?n[a]=Ol(s,i):n[a]=i}),n),{})}var k6=class{constructor(t={}){this.tf=rh,this.version=b6,this.config=Ol(_6,t),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=v6,this.age=e2,this.gender=r2,this.emotion=u2,this.body=S2,this.hand=O2}profile(){return this.config.profile?Yy:{}}analyze(...t){if(!this.analyzeMemoryLeaks)return;let n=Pn().state.numTensors,r=this.numTensors;this.numTensors=n;let a=n-r;a!==0&&Te(...t,a)}sanity(t){if(!this.checkSanity)return null;if(!t)return"input is not defined";if(tn.flags.IS_NODE&&!(t instanceof Xe))return"input must be a tensor";try{Yh()}catch(n){return"backend not loaded"}return null}simmilarity(t,n){return this.config.face.embedding.enabled?Uv(t,n):0}async load(t=null){this.state="load";let n=dt();t&&(this.config=Ol(this.config,t)),this.firstRun&&(Te(`version: ${this.version} TensorFlow/JS version: ${n5}`),await this.checkBackend(!0),tn.flags.IS_BROWSER&&(Te("configuration:",this.config),Te("tf flags:",tn.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?Jy:v6;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?t2(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?o2(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?d2(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?f2(this.config):null),this.models.posenet||(this.config.body.enabled?E2(this.config):null),this.models.handpose||(this.config.hand.enabled?z2(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await t2(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await o2(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await d2(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await f2(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await E2(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await z2(this.config))),this.firstRun&&(Te("tf engine state:",Pn().state.numBytes,"bytes",Pn().state.numTensors,"tensors"),this.firstRun=!1);let a=Math.trunc(dt()-n);a>(this.perf.load||0)&&(this.perf.load=a)}async checkBackend(t=!1){if(this.config.backend&&this.config.backend!==""&&t||Yh()!==this.config.backend){let n=dt();this.state="backend",Te("setting backend:",this.config.backend),this.config.backend==="wasm"&&(Te("settings wasm path:",this.config.wasmPath),Wb(this.config.wasmPath),await Q().getAsync("WASM_HAS_SIMD_SUPPORT")||Te("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&Ev();try{await a5(this.config.backend)}catch(r){Te("error: cannot set backend:",this.config.backend,r)}if(r5(),Yh()==="webgl"){this.config.deallocate&&(Te("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),tn.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),tn.set("WEBGL_FORCE_F16_TEXTURES",!0),tn.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await sf().getGPGPUContext().gl;Te(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await s5(),this.perf.backend=Math.trunc(dt()-n)}}async detectFace(t){var c,u,h,p,d,f;let n,r,a,s,i,o=[];this.state="run:face",n=dt();let l=await((c=this.models.face)==null?void 0:c.estimateFaces(t,this.config));this.perf.face=Math.trunc(dt()-n);for(let m of l){if(this.analyze("Get Face"),!m.image||m.image.isDisposedInternal){Te("Face object is disposed:",m.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?n2(m.image,this.config):{}:(this.state="run:age",n=dt(),r=this.config.face.age.enabled?await n2(m.image,this.config):{},this.perf.age=Math.trunc(dt()-n)),this.analyze("Start Gender:"),this.config.async?a=this.config.face.gender.enabled?l2(m.image,this.config):{}:(this.state="run:gender",n=dt(),a=this.config.face.gender.enabled?await l2(m.image,this.config):{},this.perf.gender=Math.trunc(dt()-n)),this.analyze("Start Emotion:"),this.config.async?s=this.config.face.emotion.enabled?p2(m.image,this.config):{}:(this.state="run:emotion",n=dt(),s=this.config.face.emotion.enabled?await p2(m.image,this.config):{},this.perf.emotion=Math.trunc(dt()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?i=this.config.face.embedding.enabled?m2(m.image,this.config):{}:(this.state="run:embedding",n=dt(),i=this.config.face.embedding.enabled?await m2(m.image,this.config):{},this.perf.embedding=Math.trunc(dt()-n)),this.analyze("End Emotion:"),this.config.async&&([r,a,s,i]=await Promise.all([r,a,s,i])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((u=m==null?void 0:m.annotations)==null?void 0:u.leftEyeIris)&&((h=m==null?void 0:m.annotations)==null?void 0:h.rightEyeIris)&&(delete m.annotations.leftEyeIris,delete m.annotations.rightEyeIris);let A=((p=m.annotations)==null?void 0:p.leftEyeIris)&&((d=m.annotations)==null?void 0:d.rightEyeIris)?11.7*Math.max(Math.abs(m.annotations.leftEyeIris[3][0]-m.annotations.leftEyeIris[1][0]),Math.abs(m.annotations.rightEyeIris[4][1]-m.annotations.rightEyeIris[2][1])):0;o.push({confidence:m.confidence,box:m.box,mesh:m.mesh,boxRaw:m.boxRaw,meshRaw:m.meshRaw,annotations:m.annotations,age:r.age,gender:a.gender,genderConfidence:a.confidence,emotion:s,embedding:i,iris:A!==0?Math.trunc(A)/100:0}),(f=m.image)==null||f.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),o}async image(t,n={}){var a;this.state="image",this.config=Ol(this.config,n);let r=P2(t,this.config);return(a=r==null?void 0:r.tensor)==null||a.dispose(),r==null?void 0:r.canvas}async detect(t,n={}){return new Promise(async r=>{var p,d,f,m;this.state="config";let a;this.config=Ol(this.config,n),this.state="check";let s=this.sanity(t);s&&(Te(s,t),r({error:s}));let i,o,l,c=dt();await this.checkBackend(),await this.load(),this.config.scoped&&Pn().startScope(),this.analyze("Start Scope:"),a=dt();let u=P2(t,this.config);if(!u||!u.tensor){Te("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(dt()-a),this.analyze("Get Image:"),this.config.async?(l=this.config.face.enabled?this.detectFace(u.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",a=dt(),l=this.config.face.enabled?await this.detectFace(u.tensor):[],this.perf.face=Math.trunc(dt()-a)),this.analyze("Start Body:"),this.config.async?(i=this.config.body.enabled?(p=this.models.posenet)==null?void 0:p.estimatePoses(u.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",a=dt(),i=this.config.body.enabled?await((d=this.models.posenet)==null?void 0:d.estimatePoses(u.tensor,this.config)):[],this.perf.body=Math.trunc(dt()-a)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(o=this.config.hand.enabled?(f=this.models.handpose)==null?void 0:f.estimateHands(u.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",a=dt(),o=this.config.hand.enabled?await((m=this.models.handpose)==null?void 0:m.estimateHands(u.tensor,this.config)):[],this.perf.hand=Math.trunc(dt()-a)),this.analyze("End Hand:"),this.config.async&&([l,i,o]=await Promise.all([l,i,o])),u.tensor.dispose(),this.config.scoped&&Pn().endScope(),this.analyze("End Scope:");let h=[];this.config.gesture.enabled&&(a=dt(),h=[...m6(l),...f6(i),...y6(o),...A6(l)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(dt()-a)),this.perf.total=Math.trunc(dt()-c),this.state="idle",r({face:l,body:i,hand:o,gesture:h,performance:this.perf,canvas:u.canvas})})}async warmupBitmap(){let t=(a,s="application/octet-stream")=>fetch(`data:${s};base64,${a}`).then(i=>i.blob()),n,r;switch(this.config.warmup){case"face":n=await t(u0);break;case"full":n=await t(c0);break;default:n=null}if(n){let a=await createImageBitmap(n);r=await this.detect(a,this.config),a.close()}return r}async warmupCanvas(){return new Promise(t=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+u0;break;case"full":r=1200,n="data:image/jpeg;base64,"+c0;break;default:n=null}let a=new Image(r,r);a.onload=()=>{let s=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");s.width=r,s.height=r;let i=s.getContext("2d");i==null||i.drawImage(a,0,0);let o=i==null?void 0:i.getImageData(0,0,r,r);this.detect(o,this.config).then(l=>t(l))},n?a.src=n:t(null)})}async warmupNode(){let t=i=>Buffer.from(i,"base64"),n=this.config.warmup==="face"?t(u0):t(c0),r=(void 0).decodeJpeg(n),a=r.expandDims(0);Ne(r);let s=await this.detect(a,this.config);return Ne(a),s}async warmup(t){let n=dt();t&&(this.config=Ol(this.config,t));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let a;typeof createImageBitmap=="function"?a=await this.warmupBitmap():typeof Image!="undefined"?a=await this.warmupCanvas():a=await this.warmupNode(),this.config.videoOptimized=r;let s=dt();return Te("Warmup",this.config.warmup,Math.round(s-n),"ms",a),a}};export{k6 as default}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. diff --git a/dist/human.esm.json b/dist/human.esm.json index 4e8169d2..e590cba0 100644 --- a/dist/human.esm.json +++ b/dist/human.esm.json @@ -417,7 +417,7 @@ "imports": [] }, "package.json": { - "bytes": 2385, + "bytes": 2403, "imports": [] }, "src/human.ts": { diff --git a/dist/human.node-gpu.js b/dist/human.node-gpu.js index f08f0834..7d2b28a7 100644 --- a/dist/human.node-gpu.js +++ b/dist/human.node-gpu.js @@ -731,5 +731,5 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var O0="0.11.5";var T=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Ae(...t){let e=n=>n&&typeof n=="object";return t.reduce((n,r)=>(Object.keys(r||{}).forEach(A=>{let c=n[A],_=r[A];Array.isArray(c)&&Array.isArray(_)?n[A]=c.concat(..._):e(c)&&e(_)?n[A]=Ae(c,_):n[A]=_}),n),{})}var Z0=class{constructor(e={}){this.tf=v,this.version=O0,this.config=Ae(j0,e),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=I0,this.age=Be,this.gender=Ke,this.emotion=e1,this.body=m1,this.hand=v1}profile(){return this.config.profile?Fe:{}}analyze(...e){if(!this.analyzeMemoryLeaks)return;let n=v.engine().state.numTensors,r=this.numTensors;this.numTensors=n;let A=n-r;A!==0&&u(...e,A)}sanity(e){if(!this.checkSanity)return null;if(!e)return"input is not defined";if(v.ENV.flags.IS_NODE&&!(e instanceof v.Tensor))return"input must be a tensor";try{v.getBackend()}catch(n){return"backend not loaded"}return null}simmilarity(e,n){return this.config.face.embedding.enabled?Q1(e,n):0}async load(e=null){this.state="load";let n=T();e&&(this.config=Ae(this.config,e)),this.firstRun&&(u(`version: ${this.version} TensorFlow/JS version: ${v.version_core}`),await this.checkBackend(!0),v.ENV.flags.IS_BROWSER&&(u("configuration:",this.config),u("tf flags:",v.ENV.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?qe:I0;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?Je(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?Qe(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?r1(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?c1(this.config):null),this.models.posenet||(this.config.body.enabled?p1(this.config):null),this.models.handpose||(this.config.hand.enabled?M1(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await Je(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await Qe(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await r1(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await c1(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await p1(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await M1(this.config))),this.firstRun&&(u("tf engine state:",v.engine().state.numBytes,"bytes",v.engine().state.numTensors,"tensors"),this.firstRun=!1);let A=Math.trunc(T()-n);A>(this.perf.load||0)&&(this.perf.load=A)}async checkBackend(e=!1){if(this.config.backend&&this.config.backend!==""&&e||v.getBackend()!==this.config.backend){let n=T();this.state="backend",u("setting backend:",this.config.backend),this.config.backend==="wasm"&&(u("settings wasm path:",this.config.wasmPath),v.setWasmPaths(this.config.wasmPath),await v.env().getAsync("WASM_HAS_SIMD_SUPPORT")||u("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&V1();try{await v.setBackend(this.config.backend)}catch(r){u("error: cannot set backend:",this.config.backend,r)}if(v.enableProdMode(),v.getBackend()==="webgl"){this.config.deallocate&&(u("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),v.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),v.ENV.set("WEBGL_FORCE_F16_TEXTURES",!0),v.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await v.backend().getGPGPUContext().gl;u(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await v.ready(),this.perf.backend=Math.trunc(T()-n)}}async detectFace(e){var y,o,w,a,s,f;let n,r,A,c,_,h=[];this.state="run:face",n=T();let x=await((y=this.models.face)==null?void 0:y.estimateFaces(e,this.config));this.perf.face=Math.trunc(T()-n);for(let d of x){if(this.analyze("Get Face"),!d.image||d.image.isDisposedInternal){u("Face object is disposed:",d.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?Ue(d.image,this.config):{}:(this.state="run:age",n=T(),r=this.config.face.age.enabled?await Ue(d.image,this.config):{},this.perf.age=Math.trunc(T()-n)),this.analyze("Start Gender:"),this.config.async?A=this.config.face.gender.enabled?$e(d.image,this.config):{}:(this.state="run:gender",n=T(),A=this.config.face.gender.enabled?await $e(d.image,this.config):{},this.perf.gender=Math.trunc(T()-n)),this.analyze("Start Emotion:"),this.config.async?c=this.config.face.emotion.enabled?A1(d.image,this.config):{}:(this.state="run:emotion",n=T(),c=this.config.face.emotion.enabled?await A1(d.image,this.config):{},this.perf.emotion=Math.trunc(T()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?_=this.config.face.embedding.enabled?_1(d.image,this.config):{}:(this.state="run:embedding",n=T(),_=this.config.face.embedding.enabled?await _1(d.image,this.config):{},this.perf.embedding=Math.trunc(T()-n)),this.analyze("End Emotion:"),this.config.async&&([r,A,c,_]=await Promise.all([r,A,c,_])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((o=d==null?void 0:d.annotations)==null?void 0:o.leftEyeIris)&&((w=d==null?void 0:d.annotations)==null?void 0:w.rightEyeIris)&&(delete d.annotations.leftEyeIris,delete d.annotations.rightEyeIris);let I=((a=d.annotations)==null?void 0:a.leftEyeIris)&&((s=d.annotations)==null?void 0:s.rightEyeIris)?11.7*Math.max(Math.abs(d.annotations.leftEyeIris[3][0]-d.annotations.leftEyeIris[1][0]),Math.abs(d.annotations.rightEyeIris[4][1]-d.annotations.rightEyeIris[2][1])):0;h.push({confidence:d.confidence,box:d.box,mesh:d.mesh,boxRaw:d.boxRaw,meshRaw:d.meshRaw,annotations:d.annotations,age:r.age,gender:A.gender,genderConfidence:A.confidence,emotion:c,embedding:_,iris:I!==0?Math.trunc(I)/100:0}),(f=d.image)==null||f.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),h}async image(e,n={}){var A;this.state="image",this.config=Ae(this.config,n);let r=S1(e,this.config);return(A=r==null?void 0:r.tensor)==null||A.dispose(),r==null?void 0:r.canvas}async detect(e,n={}){return new Promise(async r=>{var a,s,f,d;this.state="config";let A;this.config=Ae(this.config,n),this.state="check";let c=this.sanity(e);c&&(u(c,e),r({error:c}));let _,h,x,y=T();await this.checkBackend(),await this.load(),this.config.scoped&&v.engine().startScope(),this.analyze("Start Scope:"),A=T();let o=S1(e,this.config);if(!o||!o.tensor){u("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(T()-A),this.analyze("Get Image:"),this.config.async?(x=this.config.face.enabled?this.detectFace(o.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",A=T(),x=this.config.face.enabled?await this.detectFace(o.tensor):[],this.perf.face=Math.trunc(T()-A)),this.analyze("Start Body:"),this.config.async?(_=this.config.body.enabled?(a=this.models.posenet)==null?void 0:a.estimatePoses(o.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",A=T(),_=this.config.body.enabled?await((s=this.models.posenet)==null?void 0:s.estimatePoses(o.tensor,this.config)):[],this.perf.body=Math.trunc(T()-A)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(h=this.config.hand.enabled?(f=this.models.handpose)==null?void 0:f.estimateHands(o.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",A=T(),h=this.config.hand.enabled?await((d=this.models.handpose)==null?void 0:d.estimateHands(o.tensor,this.config)):[],this.perf.hand=Math.trunc(T()-A)),this.analyze("End Hand:"),this.config.async&&([x,_,h]=await Promise.all([x,_,h])),o.tensor.dispose(),this.config.scoped&&v.engine().endScope(),this.analyze("End Scope:");let w=[];this.config.gesture.enabled&&(A=T(),w=[...E0(x),...R0(_),...M0(h),...z0(x)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(T()-A)),this.perf.total=Math.trunc(T()-y),this.state="idle",r({face:x,body:_,hand:h,gesture:w,performance:this.perf,canvas:o.canvas})})}async warmupBitmap(){let e=(A,c="application/octet-stream")=>fetch(`data:${c};base64,${A}`).then(_=>_.blob()),n,r;switch(this.config.warmup){case"face":n=await e(Ee);break;case"full":n=await e(ze);break;default:n=null}if(n){let A=await createImageBitmap(n);r=await this.detect(A,this.config),A.close()}return r}async warmupCanvas(){return new Promise(e=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+Ee;break;case"full":r=1200,n="data:image/jpeg;base64,"+ze;break;default:n=null}let A=new Image(r,r);A.onload=()=>{let c=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");c.width=r,c.height=r;let _=c.getContext("2d");_==null||_.drawImage(A,0,0);let h=_==null?void 0:_.getImageData(0,0,r,r);this.detect(h,this.config).then(x=>e(x))},n?A.src=n:e(null)})}async warmupNode(){let e=_=>Buffer.from(_,"base64"),n=this.config.warmup==="face"?e(Ee):e(ze),r=v.node.decodeJpeg(n),A=r.expandDims(0);v.dispose(r);let c=await this.detect(A,this.config);return v.dispose(A),c}async warmup(e){let n=T();e&&(this.config=Ae(this.config,e));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let A;typeof createImageBitmap=="function"?A=await this.warmupBitmap():typeof Image!="undefined"?A=await this.warmupCanvas():A=await this.warmupNode(),this.config.videoOptimized=r;let c=T();return u("Warmup",this.config.warmup,Math.round(c-n),"ms",A),A}}; +2Q==`;var O0="0.20.1";var T=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Ae(...t){let e=n=>n&&typeof n=="object";return t.reduce((n,r)=>(Object.keys(r||{}).forEach(A=>{let c=n[A],_=r[A];Array.isArray(c)&&Array.isArray(_)?n[A]=c.concat(..._):e(c)&&e(_)?n[A]=Ae(c,_):n[A]=_}),n),{})}var Z0=class{constructor(e={}){this.tf=v,this.version=O0,this.config=Ae(j0,e),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=I0,this.age=Be,this.gender=Ke,this.emotion=e1,this.body=m1,this.hand=v1}profile(){return this.config.profile?Fe:{}}analyze(...e){if(!this.analyzeMemoryLeaks)return;let n=v.engine().state.numTensors,r=this.numTensors;this.numTensors=n;let A=n-r;A!==0&&u(...e,A)}sanity(e){if(!this.checkSanity)return null;if(!e)return"input is not defined";if(v.ENV.flags.IS_NODE&&!(e instanceof v.Tensor))return"input must be a tensor";try{v.getBackend()}catch(n){return"backend not loaded"}return null}simmilarity(e,n){return this.config.face.embedding.enabled?Q1(e,n):0}async load(e=null){this.state="load";let n=T();e&&(this.config=Ae(this.config,e)),this.firstRun&&(u(`version: ${this.version} TensorFlow/JS version: ${v.version_core}`),await this.checkBackend(!0),v.ENV.flags.IS_BROWSER&&(u("configuration:",this.config),u("tf flags:",v.ENV.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?qe:I0;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?Je(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?Qe(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?r1(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?c1(this.config):null),this.models.posenet||(this.config.body.enabled?p1(this.config):null),this.models.handpose||(this.config.hand.enabled?M1(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await Je(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await Qe(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await r1(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await c1(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await p1(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await M1(this.config))),this.firstRun&&(u("tf engine state:",v.engine().state.numBytes,"bytes",v.engine().state.numTensors,"tensors"),this.firstRun=!1);let A=Math.trunc(T()-n);A>(this.perf.load||0)&&(this.perf.load=A)}async checkBackend(e=!1){if(this.config.backend&&this.config.backend!==""&&e||v.getBackend()!==this.config.backend){let n=T();this.state="backend",u("setting backend:",this.config.backend),this.config.backend==="wasm"&&(u("settings wasm path:",this.config.wasmPath),v.setWasmPaths(this.config.wasmPath),await v.env().getAsync("WASM_HAS_SIMD_SUPPORT")||u("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&V1();try{await v.setBackend(this.config.backend)}catch(r){u("error: cannot set backend:",this.config.backend,r)}if(v.enableProdMode(),v.getBackend()==="webgl"){this.config.deallocate&&(u("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),v.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),v.ENV.set("WEBGL_FORCE_F16_TEXTURES",!0),v.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await v.backend().getGPGPUContext().gl;u(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await v.ready(),this.perf.backend=Math.trunc(T()-n)}}async detectFace(e){var y,o,w,a,s,f;let n,r,A,c,_,h=[];this.state="run:face",n=T();let x=await((y=this.models.face)==null?void 0:y.estimateFaces(e,this.config));this.perf.face=Math.trunc(T()-n);for(let d of x){if(this.analyze("Get Face"),!d.image||d.image.isDisposedInternal){u("Face object is disposed:",d.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?Ue(d.image,this.config):{}:(this.state="run:age",n=T(),r=this.config.face.age.enabled?await Ue(d.image,this.config):{},this.perf.age=Math.trunc(T()-n)),this.analyze("Start Gender:"),this.config.async?A=this.config.face.gender.enabled?$e(d.image,this.config):{}:(this.state="run:gender",n=T(),A=this.config.face.gender.enabled?await $e(d.image,this.config):{},this.perf.gender=Math.trunc(T()-n)),this.analyze("Start Emotion:"),this.config.async?c=this.config.face.emotion.enabled?A1(d.image,this.config):{}:(this.state="run:emotion",n=T(),c=this.config.face.emotion.enabled?await A1(d.image,this.config):{},this.perf.emotion=Math.trunc(T()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?_=this.config.face.embedding.enabled?_1(d.image,this.config):{}:(this.state="run:embedding",n=T(),_=this.config.face.embedding.enabled?await _1(d.image,this.config):{},this.perf.embedding=Math.trunc(T()-n)),this.analyze("End Emotion:"),this.config.async&&([r,A,c,_]=await Promise.all([r,A,c,_])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((o=d==null?void 0:d.annotations)==null?void 0:o.leftEyeIris)&&((w=d==null?void 0:d.annotations)==null?void 0:w.rightEyeIris)&&(delete d.annotations.leftEyeIris,delete d.annotations.rightEyeIris);let I=((a=d.annotations)==null?void 0:a.leftEyeIris)&&((s=d.annotations)==null?void 0:s.rightEyeIris)?11.7*Math.max(Math.abs(d.annotations.leftEyeIris[3][0]-d.annotations.leftEyeIris[1][0]),Math.abs(d.annotations.rightEyeIris[4][1]-d.annotations.rightEyeIris[2][1])):0;h.push({confidence:d.confidence,box:d.box,mesh:d.mesh,boxRaw:d.boxRaw,meshRaw:d.meshRaw,annotations:d.annotations,age:r.age,gender:A.gender,genderConfidence:A.confidence,emotion:c,embedding:_,iris:I!==0?Math.trunc(I)/100:0}),(f=d.image)==null||f.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),h}async image(e,n={}){var A;this.state="image",this.config=Ae(this.config,n);let r=S1(e,this.config);return(A=r==null?void 0:r.tensor)==null||A.dispose(),r==null?void 0:r.canvas}async detect(e,n={}){return new Promise(async r=>{var a,s,f,d;this.state="config";let A;this.config=Ae(this.config,n),this.state="check";let c=this.sanity(e);c&&(u(c,e),r({error:c}));let _,h,x,y=T();await this.checkBackend(),await this.load(),this.config.scoped&&v.engine().startScope(),this.analyze("Start Scope:"),A=T();let o=S1(e,this.config);if(!o||!o.tensor){u("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(T()-A),this.analyze("Get Image:"),this.config.async?(x=this.config.face.enabled?this.detectFace(o.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",A=T(),x=this.config.face.enabled?await this.detectFace(o.tensor):[],this.perf.face=Math.trunc(T()-A)),this.analyze("Start Body:"),this.config.async?(_=this.config.body.enabled?(a=this.models.posenet)==null?void 0:a.estimatePoses(o.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",A=T(),_=this.config.body.enabled?await((s=this.models.posenet)==null?void 0:s.estimatePoses(o.tensor,this.config)):[],this.perf.body=Math.trunc(T()-A)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(h=this.config.hand.enabled?(f=this.models.handpose)==null?void 0:f.estimateHands(o.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",A=T(),h=this.config.hand.enabled?await((d=this.models.handpose)==null?void 0:d.estimateHands(o.tensor,this.config)):[],this.perf.hand=Math.trunc(T()-A)),this.analyze("End Hand:"),this.config.async&&([x,_,h]=await Promise.all([x,_,h])),o.tensor.dispose(),this.config.scoped&&v.engine().endScope(),this.analyze("End Scope:");let w=[];this.config.gesture.enabled&&(A=T(),w=[...E0(x),...R0(_),...M0(h),...z0(x)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(T()-A)),this.perf.total=Math.trunc(T()-y),this.state="idle",r({face:x,body:_,hand:h,gesture:w,performance:this.perf,canvas:o.canvas})})}async warmupBitmap(){let e=(A,c="application/octet-stream")=>fetch(`data:${c};base64,${A}`).then(_=>_.blob()),n,r;switch(this.config.warmup){case"face":n=await e(Ee);break;case"full":n=await e(ze);break;default:n=null}if(n){let A=await createImageBitmap(n);r=await this.detect(A,this.config),A.close()}return r}async warmupCanvas(){return new Promise(e=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+Ee;break;case"full":r=1200,n="data:image/jpeg;base64,"+ze;break;default:n=null}let A=new Image(r,r);A.onload=()=>{let c=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");c.width=r,c.height=r;let _=c.getContext("2d");_==null||_.drawImage(A,0,0);let h=_==null?void 0:_.getImageData(0,0,r,r);this.detect(h,this.config).then(x=>e(x))},n?A.src=n:e(null)})}async warmupNode(){let e=_=>Buffer.from(_,"base64"),n=this.config.warmup==="face"?e(Ee):e(ze),r=v.node.decodeJpeg(n),A=r.expandDims(0);v.dispose(r);let c=await this.detect(A,this.config);return v.dispose(A),c}async warmup(e){let n=T();e&&(this.config=Ae(this.config,e));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let A;typeof createImageBitmap=="function"?A=await this.warmupBitmap():typeof Image!="undefined"?A=await this.warmupCanvas():A=await this.warmupNode(),this.config.videoOptimized=r;let c=T();return u("Warmup",this.config.warmup,Math.round(c-n),"ms",A),A}}; //# sourceMappingURL=human.node-gpu.js.map diff --git a/dist/human.node.js b/dist/human.node.js index d65deb58..ce58e3f3 100644 --- a/dist/human.node.js +++ b/dist/human.node.js @@ -731,5 +731,5 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var O0="0.11.5";var T=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Ae(...t){let e=n=>n&&typeof n=="object";return t.reduce((n,r)=>(Object.keys(r||{}).forEach(A=>{let c=n[A],_=r[A];Array.isArray(c)&&Array.isArray(_)?n[A]=c.concat(..._):e(c)&&e(_)?n[A]=Ae(c,_):n[A]=_}),n),{})}var Z0=class{constructor(e={}){this.tf=v,this.version=O0,this.config=Ae(j0,e),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=I0,this.age=Be,this.gender=Ke,this.emotion=e1,this.body=m1,this.hand=v1}profile(){return this.config.profile?Fe:{}}analyze(...e){if(!this.analyzeMemoryLeaks)return;let n=v.engine().state.numTensors,r=this.numTensors;this.numTensors=n;let A=n-r;A!==0&&u(...e,A)}sanity(e){if(!this.checkSanity)return null;if(!e)return"input is not defined";if(v.ENV.flags.IS_NODE&&!(e instanceof v.Tensor))return"input must be a tensor";try{v.getBackend()}catch(n){return"backend not loaded"}return null}simmilarity(e,n){return this.config.face.embedding.enabled?Q1(e,n):0}async load(e=null){this.state="load";let n=T();e&&(this.config=Ae(this.config,e)),this.firstRun&&(u(`version: ${this.version} TensorFlow/JS version: ${v.version_core}`),await this.checkBackend(!0),v.ENV.flags.IS_BROWSER&&(u("configuration:",this.config),u("tf flags:",v.ENV.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?qe:I0;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?Je(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?Qe(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?r1(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?c1(this.config):null),this.models.posenet||(this.config.body.enabled?p1(this.config):null),this.models.handpose||(this.config.hand.enabled?M1(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await Je(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await Qe(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await r1(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await c1(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await p1(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await M1(this.config))),this.firstRun&&(u("tf engine state:",v.engine().state.numBytes,"bytes",v.engine().state.numTensors,"tensors"),this.firstRun=!1);let A=Math.trunc(T()-n);A>(this.perf.load||0)&&(this.perf.load=A)}async checkBackend(e=!1){if(this.config.backend&&this.config.backend!==""&&e||v.getBackend()!==this.config.backend){let n=T();this.state="backend",u("setting backend:",this.config.backend),this.config.backend==="wasm"&&(u("settings wasm path:",this.config.wasmPath),v.setWasmPaths(this.config.wasmPath),await v.env().getAsync("WASM_HAS_SIMD_SUPPORT")||u("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&V1();try{await v.setBackend(this.config.backend)}catch(r){u("error: cannot set backend:",this.config.backend,r)}if(v.enableProdMode(),v.getBackend()==="webgl"){this.config.deallocate&&(u("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),v.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),v.ENV.set("WEBGL_FORCE_F16_TEXTURES",!0),v.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await v.backend().getGPGPUContext().gl;u(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await v.ready(),this.perf.backend=Math.trunc(T()-n)}}async detectFace(e){var y,o,w,a,s,f;let n,r,A,c,_,h=[];this.state="run:face",n=T();let x=await((y=this.models.face)==null?void 0:y.estimateFaces(e,this.config));this.perf.face=Math.trunc(T()-n);for(let d of x){if(this.analyze("Get Face"),!d.image||d.image.isDisposedInternal){u("Face object is disposed:",d.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?Ue(d.image,this.config):{}:(this.state="run:age",n=T(),r=this.config.face.age.enabled?await Ue(d.image,this.config):{},this.perf.age=Math.trunc(T()-n)),this.analyze("Start Gender:"),this.config.async?A=this.config.face.gender.enabled?$e(d.image,this.config):{}:(this.state="run:gender",n=T(),A=this.config.face.gender.enabled?await $e(d.image,this.config):{},this.perf.gender=Math.trunc(T()-n)),this.analyze("Start Emotion:"),this.config.async?c=this.config.face.emotion.enabled?A1(d.image,this.config):{}:(this.state="run:emotion",n=T(),c=this.config.face.emotion.enabled?await A1(d.image,this.config):{},this.perf.emotion=Math.trunc(T()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?_=this.config.face.embedding.enabled?_1(d.image,this.config):{}:(this.state="run:embedding",n=T(),_=this.config.face.embedding.enabled?await _1(d.image,this.config):{},this.perf.embedding=Math.trunc(T()-n)),this.analyze("End Emotion:"),this.config.async&&([r,A,c,_]=await Promise.all([r,A,c,_])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((o=d==null?void 0:d.annotations)==null?void 0:o.leftEyeIris)&&((w=d==null?void 0:d.annotations)==null?void 0:w.rightEyeIris)&&(delete d.annotations.leftEyeIris,delete d.annotations.rightEyeIris);let I=((a=d.annotations)==null?void 0:a.leftEyeIris)&&((s=d.annotations)==null?void 0:s.rightEyeIris)?11.7*Math.max(Math.abs(d.annotations.leftEyeIris[3][0]-d.annotations.leftEyeIris[1][0]),Math.abs(d.annotations.rightEyeIris[4][1]-d.annotations.rightEyeIris[2][1])):0;h.push({confidence:d.confidence,box:d.box,mesh:d.mesh,boxRaw:d.boxRaw,meshRaw:d.meshRaw,annotations:d.annotations,age:r.age,gender:A.gender,genderConfidence:A.confidence,emotion:c,embedding:_,iris:I!==0?Math.trunc(I)/100:0}),(f=d.image)==null||f.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),h}async image(e,n={}){var A;this.state="image",this.config=Ae(this.config,n);let r=S1(e,this.config);return(A=r==null?void 0:r.tensor)==null||A.dispose(),r==null?void 0:r.canvas}async detect(e,n={}){return new Promise(async r=>{var a,s,f,d;this.state="config";let A;this.config=Ae(this.config,n),this.state="check";let c=this.sanity(e);c&&(u(c,e),r({error:c}));let _,h,x,y=T();await this.checkBackend(),await this.load(),this.config.scoped&&v.engine().startScope(),this.analyze("Start Scope:"),A=T();let o=S1(e,this.config);if(!o||!o.tensor){u("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(T()-A),this.analyze("Get Image:"),this.config.async?(x=this.config.face.enabled?this.detectFace(o.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",A=T(),x=this.config.face.enabled?await this.detectFace(o.tensor):[],this.perf.face=Math.trunc(T()-A)),this.analyze("Start Body:"),this.config.async?(_=this.config.body.enabled?(a=this.models.posenet)==null?void 0:a.estimatePoses(o.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",A=T(),_=this.config.body.enabled?await((s=this.models.posenet)==null?void 0:s.estimatePoses(o.tensor,this.config)):[],this.perf.body=Math.trunc(T()-A)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(h=this.config.hand.enabled?(f=this.models.handpose)==null?void 0:f.estimateHands(o.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",A=T(),h=this.config.hand.enabled?await((d=this.models.handpose)==null?void 0:d.estimateHands(o.tensor,this.config)):[],this.perf.hand=Math.trunc(T()-A)),this.analyze("End Hand:"),this.config.async&&([x,_,h]=await Promise.all([x,_,h])),o.tensor.dispose(),this.config.scoped&&v.engine().endScope(),this.analyze("End Scope:");let w=[];this.config.gesture.enabled&&(A=T(),w=[...E0(x),...R0(_),...M0(h),...z0(x)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(T()-A)),this.perf.total=Math.trunc(T()-y),this.state="idle",r({face:x,body:_,hand:h,gesture:w,performance:this.perf,canvas:o.canvas})})}async warmupBitmap(){let e=(A,c="application/octet-stream")=>fetch(`data:${c};base64,${A}`).then(_=>_.blob()),n,r;switch(this.config.warmup){case"face":n=await e(Ee);break;case"full":n=await e(ze);break;default:n=null}if(n){let A=await createImageBitmap(n);r=await this.detect(A,this.config),A.close()}return r}async warmupCanvas(){return new Promise(e=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+Ee;break;case"full":r=1200,n="data:image/jpeg;base64,"+ze;break;default:n=null}let A=new Image(r,r);A.onload=()=>{let c=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");c.width=r,c.height=r;let _=c.getContext("2d");_==null||_.drawImage(A,0,0);let h=_==null?void 0:_.getImageData(0,0,r,r);this.detect(h,this.config).then(x=>e(x))},n?A.src=n:e(null)})}async warmupNode(){let e=_=>Buffer.from(_,"base64"),n=this.config.warmup==="face"?e(Ee):e(ze),r=v.node.decodeJpeg(n),A=r.expandDims(0);v.dispose(r);let c=await this.detect(A,this.config);return v.dispose(A),c}async warmup(e){let n=T();e&&(this.config=Ae(this.config,e));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let A;typeof createImageBitmap=="function"?A=await this.warmupBitmap():typeof Image!="undefined"?A=await this.warmupCanvas():A=await this.warmupNode(),this.config.videoOptimized=r;let c=T();return u("Warmup",this.config.warmup,Math.round(c-n),"ms",A),A}}; +2Q==`;var O0="0.20.1";var T=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Ae(...t){let e=n=>n&&typeof n=="object";return t.reduce((n,r)=>(Object.keys(r||{}).forEach(A=>{let c=n[A],_=r[A];Array.isArray(c)&&Array.isArray(_)?n[A]=c.concat(..._):e(c)&&e(_)?n[A]=Ae(c,_):n[A]=_}),n),{})}var Z0=class{constructor(e={}){this.tf=v,this.version=O0,this.config=Ae(j0,e),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=I0,this.age=Be,this.gender=Ke,this.emotion=e1,this.body=m1,this.hand=v1}profile(){return this.config.profile?Fe:{}}analyze(...e){if(!this.analyzeMemoryLeaks)return;let n=v.engine().state.numTensors,r=this.numTensors;this.numTensors=n;let A=n-r;A!==0&&u(...e,A)}sanity(e){if(!this.checkSanity)return null;if(!e)return"input is not defined";if(v.ENV.flags.IS_NODE&&!(e instanceof v.Tensor))return"input must be a tensor";try{v.getBackend()}catch(n){return"backend not loaded"}return null}simmilarity(e,n){return this.config.face.embedding.enabled?Q1(e,n):0}async load(e=null){this.state="load";let n=T();e&&(this.config=Ae(this.config,e)),this.firstRun&&(u(`version: ${this.version} TensorFlow/JS version: ${v.version_core}`),await this.checkBackend(!0),v.ENV.flags.IS_BROWSER&&(u("configuration:",this.config),u("tf flags:",v.ENV.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?qe:I0;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?Je(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?Qe(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?r1(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?c1(this.config):null),this.models.posenet||(this.config.body.enabled?p1(this.config):null),this.models.handpose||(this.config.hand.enabled?M1(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await Je(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await Qe(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await r1(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await c1(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await p1(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await M1(this.config))),this.firstRun&&(u("tf engine state:",v.engine().state.numBytes,"bytes",v.engine().state.numTensors,"tensors"),this.firstRun=!1);let A=Math.trunc(T()-n);A>(this.perf.load||0)&&(this.perf.load=A)}async checkBackend(e=!1){if(this.config.backend&&this.config.backend!==""&&e||v.getBackend()!==this.config.backend){let n=T();this.state="backend",u("setting backend:",this.config.backend),this.config.backend==="wasm"&&(u("settings wasm path:",this.config.wasmPath),v.setWasmPaths(this.config.wasmPath),await v.env().getAsync("WASM_HAS_SIMD_SUPPORT")||u("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&V1();try{await v.setBackend(this.config.backend)}catch(r){u("error: cannot set backend:",this.config.backend,r)}if(v.enableProdMode(),v.getBackend()==="webgl"){this.config.deallocate&&(u("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),v.ENV.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),v.ENV.set("WEBGL_FORCE_F16_TEXTURES",!0),v.ENV.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await v.backend().getGPGPUContext().gl;u(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await v.ready(),this.perf.backend=Math.trunc(T()-n)}}async detectFace(e){var y,o,w,a,s,f;let n,r,A,c,_,h=[];this.state="run:face",n=T();let x=await((y=this.models.face)==null?void 0:y.estimateFaces(e,this.config));this.perf.face=Math.trunc(T()-n);for(let d of x){if(this.analyze("Get Face"),!d.image||d.image.isDisposedInternal){u("Face object is disposed:",d.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?Ue(d.image,this.config):{}:(this.state="run:age",n=T(),r=this.config.face.age.enabled?await Ue(d.image,this.config):{},this.perf.age=Math.trunc(T()-n)),this.analyze("Start Gender:"),this.config.async?A=this.config.face.gender.enabled?$e(d.image,this.config):{}:(this.state="run:gender",n=T(),A=this.config.face.gender.enabled?await $e(d.image,this.config):{},this.perf.gender=Math.trunc(T()-n)),this.analyze("Start Emotion:"),this.config.async?c=this.config.face.emotion.enabled?A1(d.image,this.config):{}:(this.state="run:emotion",n=T(),c=this.config.face.emotion.enabled?await A1(d.image,this.config):{},this.perf.emotion=Math.trunc(T()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?_=this.config.face.embedding.enabled?_1(d.image,this.config):{}:(this.state="run:embedding",n=T(),_=this.config.face.embedding.enabled?await _1(d.image,this.config):{},this.perf.embedding=Math.trunc(T()-n)),this.analyze("End Emotion:"),this.config.async&&([r,A,c,_]=await Promise.all([r,A,c,_])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((o=d==null?void 0:d.annotations)==null?void 0:o.leftEyeIris)&&((w=d==null?void 0:d.annotations)==null?void 0:w.rightEyeIris)&&(delete d.annotations.leftEyeIris,delete d.annotations.rightEyeIris);let I=((a=d.annotations)==null?void 0:a.leftEyeIris)&&((s=d.annotations)==null?void 0:s.rightEyeIris)?11.7*Math.max(Math.abs(d.annotations.leftEyeIris[3][0]-d.annotations.leftEyeIris[1][0]),Math.abs(d.annotations.rightEyeIris[4][1]-d.annotations.rightEyeIris[2][1])):0;h.push({confidence:d.confidence,box:d.box,mesh:d.mesh,boxRaw:d.boxRaw,meshRaw:d.meshRaw,annotations:d.annotations,age:r.age,gender:A.gender,genderConfidence:A.confidence,emotion:c,embedding:_,iris:I!==0?Math.trunc(I)/100:0}),(f=d.image)==null||f.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),h}async image(e,n={}){var A;this.state="image",this.config=Ae(this.config,n);let r=S1(e,this.config);return(A=r==null?void 0:r.tensor)==null||A.dispose(),r==null?void 0:r.canvas}async detect(e,n={}){return new Promise(async r=>{var a,s,f,d;this.state="config";let A;this.config=Ae(this.config,n),this.state="check";let c=this.sanity(e);c&&(u(c,e),r({error:c}));let _,h,x,y=T();await this.checkBackend(),await this.load(),this.config.scoped&&v.engine().startScope(),this.analyze("Start Scope:"),A=T();let o=S1(e,this.config);if(!o||!o.tensor){u("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(T()-A),this.analyze("Get Image:"),this.config.async?(x=this.config.face.enabled?this.detectFace(o.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",A=T(),x=this.config.face.enabled?await this.detectFace(o.tensor):[],this.perf.face=Math.trunc(T()-A)),this.analyze("Start Body:"),this.config.async?(_=this.config.body.enabled?(a=this.models.posenet)==null?void 0:a.estimatePoses(o.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",A=T(),_=this.config.body.enabled?await((s=this.models.posenet)==null?void 0:s.estimatePoses(o.tensor,this.config)):[],this.perf.body=Math.trunc(T()-A)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(h=this.config.hand.enabled?(f=this.models.handpose)==null?void 0:f.estimateHands(o.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",A=T(),h=this.config.hand.enabled?await((d=this.models.handpose)==null?void 0:d.estimateHands(o.tensor,this.config)):[],this.perf.hand=Math.trunc(T()-A)),this.analyze("End Hand:"),this.config.async&&([x,_,h]=await Promise.all([x,_,h])),o.tensor.dispose(),this.config.scoped&&v.engine().endScope(),this.analyze("End Scope:");let w=[];this.config.gesture.enabled&&(A=T(),w=[...E0(x),...R0(_),...M0(h),...z0(x)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(T()-A)),this.perf.total=Math.trunc(T()-y),this.state="idle",r({face:x,body:_,hand:h,gesture:w,performance:this.perf,canvas:o.canvas})})}async warmupBitmap(){let e=(A,c="application/octet-stream")=>fetch(`data:${c};base64,${A}`).then(_=>_.blob()),n,r;switch(this.config.warmup){case"face":n=await e(Ee);break;case"full":n=await e(ze);break;default:n=null}if(n){let A=await createImageBitmap(n);r=await this.detect(A,this.config),A.close()}return r}async warmupCanvas(){return new Promise(e=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+Ee;break;case"full":r=1200,n="data:image/jpeg;base64,"+ze;break;default:n=null}let A=new Image(r,r);A.onload=()=>{let c=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");c.width=r,c.height=r;let _=c.getContext("2d");_==null||_.drawImage(A,0,0);let h=_==null?void 0:_.getImageData(0,0,r,r);this.detect(h,this.config).then(x=>e(x))},n?A.src=n:e(null)})}async warmupNode(){let e=_=>Buffer.from(_,"base64"),n=this.config.warmup==="face"?e(Ee):e(ze),r=v.node.decodeJpeg(n),A=r.expandDims(0);v.dispose(r);let c=await this.detect(A,this.config);return v.dispose(A),c}async warmup(e){let n=T();e&&(this.config=Ae(this.config,e));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let A;typeof createImageBitmap=="function"?A=await this.warmupBitmap():typeof Image!="undefined"?A=await this.warmupCanvas():A=await this.warmupNode(),this.config.videoOptimized=r;let c=T();return u("Warmup",this.config.warmup,Math.round(c-n),"ms",A),A}}; //# sourceMappingURL=human.node.js.map diff --git a/dist/human.node.json b/dist/human.node.json index 8ea7cdca..ac6fedb7 100644 --- a/dist/human.node.json +++ b/dist/human.node.json @@ -417,7 +417,7 @@ "imports": [] }, "package.json": { - "bytes": 2385, + "bytes": 2403, "imports": [] }, "src/human.ts": { diff --git a/dist/human.ts b/dist/human.ts index ad02dbd2..ac9a3e20 100644 --- a/dist/human.ts +++ b/dist/human.ts @@ -4771,7 +4771,7 @@ AAAAAAJAAAAAAAAAAAAAABAJEAAAAAAAAAAAAAAAIEoBKAAAAAAAAAAAAAAABAlAAAAAAAIAAAAA BAkBAkBAkBAlACEgMZjdjbFW8bWrEx8YWANb6Fp+bfwab+vLDKMFK9qxH5L0bAr8OPRPKz2AY7J2 SbAjYZAI2E7AIEgIEgIEgMdkSy2NgY7MdlmyNoBXsxmFuyNgVTVjNV3KjlBRNTlXTVHKCrlIqt5T lBhEMohlFerLlBjEMohMVTEARDKCITsAk2AEgAAAkAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAD/ -2Q==`;var v6="0.11.5";var dt=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Ol(...e){let t=n=>n&&typeof n=="object";return e.reduce((n,r)=>(Object.keys(r||{}).forEach(a=>{let s=n[a],i=r[a];Array.isArray(s)&&Array.isArray(i)?n[a]=s.concat(...i):t(s)&&t(i)?n[a]=Ol(s,i):n[a]=i}),n),{})}var L2=class{constructor(t={}){this.tf=rh,this.version=v6,this.config=Ol(b6,t),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=k6,this.age=e2,this.gender=r2,this.emotion=u2,this.body=S2,this.hand=O2}profile(){return this.config.profile?Yy:{}}analyze(...t){if(!this.analyzeMemoryLeaks)return;let n=Pn().state.numTensors,r=this.numTensors;this.numTensors=n;let a=n-r;a!==0&&Te(...t,a)}sanity(t){if(!this.checkSanity)return null;if(!t)return"input is not defined";if(tn.flags.IS_NODE&&!(t instanceof Xe))return"input must be a tensor";try{Yh()}catch(n){return"backend not loaded"}return null}simmilarity(t,n){return this.config.face.embedding.enabled?jv(t,n):0}async load(t=null){this.state="load";let n=dt();t&&(this.config=Ol(this.config,t)),this.firstRun&&(Te(`version: ${this.version} TensorFlow/JS version: ${r5}`),await this.checkBackend(!0),tn.flags.IS_BROWSER&&(Te("configuration:",this.config),Te("tf flags:",tn.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?Jy:k6;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?t2(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?o2(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?d2(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?f2(this.config):null),this.models.posenet||(this.config.body.enabled?E2(this.config):null),this.models.handpose||(this.config.hand.enabled?z2(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await t2(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await o2(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await d2(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await f2(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await E2(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await z2(this.config))),this.firstRun&&(Te("tf engine state:",Pn().state.numBytes,"bytes",Pn().state.numTensors,"tensors"),this.firstRun=!1);let a=Math.trunc(dt()-n);a>(this.perf.load||0)&&(this.perf.load=a)}async checkBackend(t=!1){if(this.config.backend&&this.config.backend!==""&&t||Yh()!==this.config.backend){let n=dt();this.state="backend",Te("setting backend:",this.config.backend),this.config.backend==="wasm"&&(Te("settings wasm path:",this.config.wasmPath),Bb(this.config.wasmPath),await Q().getAsync("WASM_HAS_SIMD_SUPPORT")||Te("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&Cv();try{await s5(this.config.backend)}catch(r){Te("error: cannot set backend:",this.config.backend,r)}if(a5(),Yh()==="webgl"){this.config.deallocate&&(Te("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),tn.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),tn.set("WEBGL_FORCE_F16_TEXTURES",!0),tn.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await sf().getGPGPUContext().gl;Te(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await i5(),this.perf.backend=Math.trunc(dt()-n)}}async detectFace(t){var c,u,h,p,d,f;let n,r,a,s,i,o=[];this.state="run:face",n=dt();let l=await((c=this.models.face)==null?void 0:c.estimateFaces(t,this.config));this.perf.face=Math.trunc(dt()-n);for(let m of l){if(this.analyze("Get Face"),!m.image||m.image.isDisposedInternal){Te("Face object is disposed:",m.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?n2(m.image,this.config):{}:(this.state="run:age",n=dt(),r=this.config.face.age.enabled?await n2(m.image,this.config):{},this.perf.age=Math.trunc(dt()-n)),this.analyze("Start Gender:"),this.config.async?a=this.config.face.gender.enabled?l2(m.image,this.config):{}:(this.state="run:gender",n=dt(),a=this.config.face.gender.enabled?await l2(m.image,this.config):{},this.perf.gender=Math.trunc(dt()-n)),this.analyze("Start Emotion:"),this.config.async?s=this.config.face.emotion.enabled?p2(m.image,this.config):{}:(this.state="run:emotion",n=dt(),s=this.config.face.emotion.enabled?await p2(m.image,this.config):{},this.perf.emotion=Math.trunc(dt()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?i=this.config.face.embedding.enabled?m2(m.image,this.config):{}:(this.state="run:embedding",n=dt(),i=this.config.face.embedding.enabled?await m2(m.image,this.config):{},this.perf.embedding=Math.trunc(dt()-n)),this.analyze("End Emotion:"),this.config.async&&([r,a,s,i]=await Promise.all([r,a,s,i])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((u=m==null?void 0:m.annotations)==null?void 0:u.leftEyeIris)&&((h=m==null?void 0:m.annotations)==null?void 0:h.rightEyeIris)&&(delete m.annotations.leftEyeIris,delete m.annotations.rightEyeIris);let A=((p=m.annotations)==null?void 0:p.leftEyeIris)&&((d=m.annotations)==null?void 0:d.rightEyeIris)?11.7*Math.max(Math.abs(m.annotations.leftEyeIris[3][0]-m.annotations.leftEyeIris[1][0]),Math.abs(m.annotations.rightEyeIris[4][1]-m.annotations.rightEyeIris[2][1])):0;o.push({confidence:m.confidence,box:m.box,mesh:m.mesh,boxRaw:m.boxRaw,meshRaw:m.meshRaw,annotations:m.annotations,age:r.age,gender:a.gender,genderConfidence:a.confidence,emotion:s,embedding:i,iris:A!==0?Math.trunc(A)/100:0}),(f=m.image)==null||f.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),o}async image(t,n={}){var a;this.state="image",this.config=Ol(this.config,n);let r=P2(t,this.config);return(a=r==null?void 0:r.tensor)==null||a.dispose(),r==null?void 0:r.canvas}async detect(t,n={}){return new Promise(async r=>{var p,d,f,m;this.state="config";let a;this.config=Ol(this.config,n),this.state="check";let s=this.sanity(t);s&&(Te(s,t),r({error:s}));let i,o,l,c=dt();await this.checkBackend(),await this.load(),this.config.scoped&&Pn().startScope(),this.analyze("Start Scope:"),a=dt();let u=P2(t,this.config);if(!u||!u.tensor){Te("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(dt()-a),this.analyze("Get Image:"),this.config.async?(l=this.config.face.enabled?this.detectFace(u.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",a=dt(),l=this.config.face.enabled?await this.detectFace(u.tensor):[],this.perf.face=Math.trunc(dt()-a)),this.analyze("Start Body:"),this.config.async?(i=this.config.body.enabled?(p=this.models.posenet)==null?void 0:p.estimatePoses(u.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",a=dt(),i=this.config.body.enabled?await((d=this.models.posenet)==null?void 0:d.estimatePoses(u.tensor,this.config)):[],this.perf.body=Math.trunc(dt()-a)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(o=this.config.hand.enabled?(f=this.models.handpose)==null?void 0:f.estimateHands(u.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",a=dt(),o=this.config.hand.enabled?await((m=this.models.handpose)==null?void 0:m.estimateHands(u.tensor,this.config)):[],this.perf.hand=Math.trunc(dt()-a)),this.analyze("End Hand:"),this.config.async&&([l,i,o]=await Promise.all([l,i,o])),u.tensor.dispose(),this.config.scoped&&Pn().endScope(),this.analyze("End Scope:");let h=[];this.config.gesture.enabled&&(a=dt(),h=[...A6(l),...m6(i),...g6(o),...y6(l)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(dt()-a)),this.perf.total=Math.trunc(dt()-c),this.state="idle",r({face:l,body:i,hand:o,gesture:h,performance:this.perf,canvas:u.canvas})})}async warmupBitmap(){let t=(a,s="application/octet-stream")=>fetch(`data:${s};base64,${a}`).then(i=>i.blob()),n,r;switch(this.config.warmup){case"face":n=await t(u0);break;case"full":n=await t(c0);break;default:n=null}if(n){let a=await createImageBitmap(n);r=await this.detect(a,this.config),a.close()}return r}async warmupCanvas(){return new Promise(t=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+u0;break;case"full":r=1200,n="data:image/jpeg;base64,"+c0;break;default:n=null}let a=new Image(r,r);a.onload=()=>{let s=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");s.width=r,s.height=r;let i=s.getContext("2d");i==null||i.drawImage(a,0,0);let o=i==null?void 0:i.getImageData(0,0,r,r);this.detect(o,this.config).then(l=>t(l))},n?a.src=n:t(null)})}async warmupNode(){let t=i=>Buffer.from(i,"base64"),n=this.config.warmup==="face"?t(u0):t(c0),r=(void 0).decodeJpeg(n),a=r.expandDims(0);Ne(r);let s=await this.detect(a,this.config);return Ne(a),s}async warmup(t){let n=dt();t&&(this.config=Ol(this.config,t));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let a;typeof createImageBitmap=="function"?a=await this.warmupBitmap():typeof Image!="undefined"?a=await this.warmupCanvas():a=await this.warmupNode(),this.config.videoOptimized=r;let s=dt();return Te("Warmup",this.config.warmup,Math.round(s-n),"ms",a),a}};return mae;})(); +2Q==`;var v6="0.20.1";var dt=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Ol(...e){let t=n=>n&&typeof n=="object";return e.reduce((n,r)=>(Object.keys(r||{}).forEach(a=>{let s=n[a],i=r[a];Array.isArray(s)&&Array.isArray(i)?n[a]=s.concat(...i):t(s)&&t(i)?n[a]=Ol(s,i):n[a]=i}),n),{})}var L2=class{constructor(t={}){this.tf=rh,this.version=v6,this.config=Ol(b6,t),this.fx=null,this.state="idle",this.numTensors=0,this.analyzeMemoryLeaks=!1,this.checkSanity=!1,this.firstRun=!0,this.perf={},this.models={facemesh:null,posenet:null,handpose:null,iris:null,age:null,gender:null,emotion:null},this.facemesh=k6,this.age=e2,this.gender=r2,this.emotion=u2,this.body=S2,this.hand=O2}profile(){return this.config.profile?Yy:{}}analyze(...t){if(!this.analyzeMemoryLeaks)return;let n=Pn().state.numTensors,r=this.numTensors;this.numTensors=n;let a=n-r;a!==0&&Te(...t,a)}sanity(t){if(!this.checkSanity)return null;if(!t)return"input is not defined";if(tn.flags.IS_NODE&&!(t instanceof Xe))return"input must be a tensor";try{Yh()}catch(n){return"backend not loaded"}return null}simmilarity(t,n){return this.config.face.embedding.enabled?jv(t,n):0}async load(t=null){this.state="load";let n=dt();t&&(this.config=Ol(this.config,t)),this.firstRun&&(Te(`version: ${this.version} TensorFlow/JS version: ${r5}`),await this.checkBackend(!0),tn.flags.IS_BROWSER&&(Te("configuration:",this.config),Te("tf flags:",tn.flags)));let r=this.config.face.detector.modelPath.includes("faceboxes")?Jy:k6;this.config.async?[this.models.face,this.models.age,this.models.gender,this.models.emotion,this.models.embedding,this.models.posenet,this.models.handpose]=await Promise.all([this.models.face||(this.config.face.enabled?r.load(this.config):null),this.models.age||(this.config.face.enabled&&this.config.face.age.enabled?t2(this.config):null),this.models.gender||(this.config.face.enabled&&this.config.face.gender.enabled?o2(this.config):null),this.models.emotion||(this.config.face.enabled&&this.config.face.emotion.enabled?d2(this.config):null),this.models.embedding||(this.config.face.enabled&&this.config.face.embedding.enabled?f2(this.config):null),this.models.posenet||(this.config.body.enabled?E2(this.config):null),this.models.handpose||(this.config.hand.enabled?z2(this.config):null)]):(this.config.face.enabled&&!this.models.face&&(this.models.face=await r.load(this.config)),this.config.face.enabled&&this.config.face.age.enabled&&!this.models.age&&(this.models.age=await t2(this.config)),this.config.face.enabled&&this.config.face.gender.enabled&&!this.models.gender&&(this.models.gender=await o2(this.config)),this.config.face.enabled&&this.config.face.emotion.enabled&&!this.models.emotion&&(this.models.emotion=await d2(this.config)),this.config.face.enabled&&this.config.face.embedding.enabled&&!this.models.embedding&&(this.models.embedding=await f2(this.config)),this.config.body.enabled&&!this.models.posenet&&(this.models.posenet=await E2(this.config)),this.config.hand.enabled&&!this.models.handpose&&(this.models.handpose=await z2(this.config))),this.firstRun&&(Te("tf engine state:",Pn().state.numBytes,"bytes",Pn().state.numTensors,"tensors"),this.firstRun=!1);let a=Math.trunc(dt()-n);a>(this.perf.load||0)&&(this.perf.load=a)}async checkBackend(t=!1){if(this.config.backend&&this.config.backend!==""&&t||Yh()!==this.config.backend){let n=dt();this.state="backend",Te("setting backend:",this.config.backend),this.config.backend==="wasm"&&(Te("settings wasm path:",this.config.wasmPath),Bb(this.config.wasmPath),await Q().getAsync("WASM_HAS_SIMD_SUPPORT")||Te("warning: wasm simd support is not enabled")),this.config.backend==="humangl"&&Cv();try{await s5(this.config.backend)}catch(r){Te("error: cannot set backend:",this.config.backend,r)}if(a5(),Yh()==="webgl"){this.config.deallocate&&(Te("changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:",this.config.deallocate),tn.set("WEBGL_DELETE_TEXTURE_THRESHOLD",this.config.deallocate?0:-1)),tn.set("WEBGL_FORCE_F16_TEXTURES",!0),tn.set("WEBGL_PACK_DEPTHWISECONV",!0);let r=await sf().getGPGPUContext().gl;Te(`gl version:${r.getParameter(r.VERSION)} renderer:${r.getParameter(r.RENDERER)}`)}await i5(),this.perf.backend=Math.trunc(dt()-n)}}async detectFace(t){var c,u,h,p,d,f;let n,r,a,s,i,o=[];this.state="run:face",n=dt();let l=await((c=this.models.face)==null?void 0:c.estimateFaces(t,this.config));this.perf.face=Math.trunc(dt()-n);for(let m of l){if(this.analyze("Get Face"),!m.image||m.image.isDisposedInternal){Te("Face object is disposed:",m.image);continue}this.analyze("Start Age:"),this.config.async?r=this.config.face.age.enabled?n2(m.image,this.config):{}:(this.state="run:age",n=dt(),r=this.config.face.age.enabled?await n2(m.image,this.config):{},this.perf.age=Math.trunc(dt()-n)),this.analyze("Start Gender:"),this.config.async?a=this.config.face.gender.enabled?l2(m.image,this.config):{}:(this.state="run:gender",n=dt(),a=this.config.face.gender.enabled?await l2(m.image,this.config):{},this.perf.gender=Math.trunc(dt()-n)),this.analyze("Start Emotion:"),this.config.async?s=this.config.face.emotion.enabled?p2(m.image,this.config):{}:(this.state="run:emotion",n=dt(),s=this.config.face.emotion.enabled?await p2(m.image,this.config):{},this.perf.emotion=Math.trunc(dt()-n)),this.analyze("End Emotion:"),this.analyze("Start Embedding:"),this.config.async?i=this.config.face.embedding.enabled?m2(m.image,this.config):{}:(this.state="run:embedding",n=dt(),i=this.config.face.embedding.enabled?await m2(m.image,this.config):{},this.perf.embedding=Math.trunc(dt()-n)),this.analyze("End Emotion:"),this.config.async&&([r,a,s,i]=await Promise.all([r,a,s,i])),this.analyze("Finish Face:"),!this.config.face.iris.enabled&&((u=m==null?void 0:m.annotations)==null?void 0:u.leftEyeIris)&&((h=m==null?void 0:m.annotations)==null?void 0:h.rightEyeIris)&&(delete m.annotations.leftEyeIris,delete m.annotations.rightEyeIris);let A=((p=m.annotations)==null?void 0:p.leftEyeIris)&&((d=m.annotations)==null?void 0:d.rightEyeIris)?11.7*Math.max(Math.abs(m.annotations.leftEyeIris[3][0]-m.annotations.leftEyeIris[1][0]),Math.abs(m.annotations.rightEyeIris[4][1]-m.annotations.rightEyeIris[2][1])):0;o.push({confidence:m.confidence,box:m.box,mesh:m.mesh,boxRaw:m.boxRaw,meshRaw:m.meshRaw,annotations:m.annotations,age:r.age,gender:a.gender,genderConfidence:a.confidence,emotion:s,embedding:i,iris:A!==0?Math.trunc(A)/100:0}),(f=m.image)==null||f.dispose(),this.analyze("End Face")}return this.analyze("End FaceMesh:"),this.config.async&&(this.perf.face&&delete this.perf.face,this.perf.age&&delete this.perf.age,this.perf.gender&&delete this.perf.gender,this.perf.emotion&&delete this.perf.emotion),o}async image(t,n={}){var a;this.state="image",this.config=Ol(this.config,n);let r=P2(t,this.config);return(a=r==null?void 0:r.tensor)==null||a.dispose(),r==null?void 0:r.canvas}async detect(t,n={}){return new Promise(async r=>{var p,d,f,m;this.state="config";let a;this.config=Ol(this.config,n),this.state="check";let s=this.sanity(t);s&&(Te(s,t),r({error:s}));let i,o,l,c=dt();await this.checkBackend(),await this.load(),this.config.scoped&&Pn().startScope(),this.analyze("Start Scope:"),a=dt();let u=P2(t,this.config);if(!u||!u.tensor){Te("could not convert input to tensor"),r({error:"could not convert input to tensor"});return}this.perf.image=Math.trunc(dt()-a),this.analyze("Get Image:"),this.config.async?(l=this.config.face.enabled?this.detectFace(u.tensor):[],this.perf.face&&delete this.perf.face):(this.state="run:face",a=dt(),l=this.config.face.enabled?await this.detectFace(u.tensor):[],this.perf.face=Math.trunc(dt()-a)),this.analyze("Start Body:"),this.config.async?(i=this.config.body.enabled?(p=this.models.posenet)==null?void 0:p.estimatePoses(u.tensor,this.config):[],this.perf.body&&delete this.perf.body):(this.state="run:body",a=dt(),i=this.config.body.enabled?await((d=this.models.posenet)==null?void 0:d.estimatePoses(u.tensor,this.config)):[],this.perf.body=Math.trunc(dt()-a)),this.analyze("End Body:"),this.analyze("Start Hand:"),this.config.async?(o=this.config.hand.enabled?(f=this.models.handpose)==null?void 0:f.estimateHands(u.tensor,this.config):[],this.perf.hand&&delete this.perf.hand):(this.state="run:hand",a=dt(),o=this.config.hand.enabled?await((m=this.models.handpose)==null?void 0:m.estimateHands(u.tensor,this.config)):[],this.perf.hand=Math.trunc(dt()-a)),this.analyze("End Hand:"),this.config.async&&([l,i,o]=await Promise.all([l,i,o])),u.tensor.dispose(),this.config.scoped&&Pn().endScope(),this.analyze("End Scope:");let h=[];this.config.gesture.enabled&&(a=dt(),h=[...A6(l),...m6(i),...g6(o),...y6(l)],this.config.async?this.perf.gesture&&delete this.perf.gesture:this.perf.gesture=Math.trunc(dt()-a)),this.perf.total=Math.trunc(dt()-c),this.state="idle",r({face:l,body:i,hand:o,gesture:h,performance:this.perf,canvas:u.canvas})})}async warmupBitmap(){let t=(a,s="application/octet-stream")=>fetch(`data:${s};base64,${a}`).then(i=>i.blob()),n,r;switch(this.config.warmup){case"face":n=await t(u0);break;case"full":n=await t(c0);break;default:n=null}if(n){let a=await createImageBitmap(n);r=await this.detect(a,this.config),a.close()}return r}async warmupCanvas(){return new Promise(t=>{let n,r=0;switch(this.config.warmup){case"face":r=256,n="data:image/jpeg;base64,"+u0;break;case"full":r=1200,n="data:image/jpeg;base64,"+c0;break;default:n=null}let a=new Image(r,r);a.onload=()=>{let s=typeof OffscreenCanvas!="undefined"?new OffscreenCanvas(r,r):document.createElement("canvas");s.width=r,s.height=r;let i=s.getContext("2d");i==null||i.drawImage(a,0,0);let o=i==null?void 0:i.getImageData(0,0,r,r);this.detect(o,this.config).then(l=>t(l))},n?a.src=n:t(null)})}async warmupNode(){let t=i=>Buffer.from(i,"base64"),n=this.config.warmup==="face"?t(u0):t(c0),r=(void 0).decodeJpeg(n),a=r.expandDims(0);Ne(r);let s=await this.detect(a,this.config);return Ne(a),s}async warmup(t){let n=dt();t&&(this.config=Ol(this.config,t));let r=this.config.videoOptimized;this.config.videoOptimized=!1;let a;typeof createImageBitmap=="function"?a=await this.warmupBitmap():typeof Image!="undefined"?a=await this.warmupCanvas():a=await this.warmupNode(),this.config.videoOptimized=r;let s=dt();return Te("Warmup",this.config.warmup,Math.round(s-n),"ms",a),a}};return mae;})(); /** * @license * Copyright 2017 Google LLC. All Rights Reserved. diff --git a/dist/human.tson b/dist/human.tson index 0fd2fdc3..7addeb19 100644 --- a/dist/human.tson +++ b/dist/human.tson @@ -417,7 +417,7 @@ "imports": [] }, "package.json": { - "bytes": 2385, + "bytes": 2403, "imports": [] }, "src/human.ts": { diff --git a/dist/tfjs.esm.js b/dist/tfjs.esm.js index 29195f2c..4f578cbc 100644 --- a/dist/tfjs.esm.js +++ b/dist/tfjs.esm.js @@ -5,4219 +5,5 @@ author: ' */ -var VB=Object.create,Gh=Object.defineProperty,GB=Object.getPrototypeOf,jB=Object.prototype.hasOwnProperty,WB=Object.getOwnPropertyNames,UB=Object.getOwnPropertyDescriptor;var qB=r=>Gh(r,"__esModule",{value:!0});var ht=(r,e)=>()=>(e||(e={exports:{}},r(e.exports,e)),e.exports),Ye=(r,e)=>{for(var t in e)Gh(r,t,{get:e[t],enumerable:!0})},HB=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of WB(e))!jB.call(r,n)&&n!=="default"&&Gh(r,n,{get:()=>e[n],enumerable:!(t=UB(e,n))||t.enumerable});return r},Tc=r=>r&&r.__esModule?r:HB(qB(Gh(r!=null?VB(GB(r)):{},"default",{value:r,enumerable:!0})),r);var aN=ht(()=>{});var BN=ht((zN,jw)=>{(function(r,e,t){function n(i){var l=this,u=a();l.next=function(){var c=2091639*l.s0+l.c*23283064365386963e-26;return l.s0=l.s1,l.s1=l.s2,l.s2=c-(l.c=c|0)},l.c=1,l.s0=u(" "),l.s1=u(" "),l.s2=u(" "),l.s0-=u(i),l.s0<0&&(l.s0+=1),l.s1-=u(i),l.s1<0&&(l.s1+=1),l.s2-=u(i),l.s2<0&&(l.s2+=1),u=null}function o(i,l){return l.c=i.c,l.s0=i.s0,l.s1=i.s1,l.s2=i.s2,l}function s(i,l){var u=new n(i),c=l&&l.state,p=u.next;return p.int32=function(){return u.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,c&&(typeof c=="object"&&o(c,u),p.state=function(){return o(u,{})}),p}function a(){var i=4022871197,l=function(u){u=u.toString();for(var c=0;c>>0,p-=i,p*=i,i=p>>>0,p-=i,i+=p*4294967296}return(i>>>0)*23283064365386963e-26};return l}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.alea=s})(zN,typeof jw=="object"&&jw,typeof define=="function"&&define)});var GN=ht((VN,Ww)=>{(function(r,e,t){function n(a){var i=this,l="";i.x=0,i.y=0,i.z=0,i.w=0,i.next=function(){var c=i.x^i.x<<11;return i.x=i.y,i.y=i.z,i.z=i.w,i.w^=i.w>>>19^c^c>>>8},a===(a|0)?i.x=a:l+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor128=s})(VN,typeof Ww=="object"&&Ww,typeof define=="function"&&define)});var WN=ht((jN,Uw)=>{(function(r,e,t){function n(a){var i=this,l="";i.next=function(){var c=i.x^i.x>>>2;return i.x=i.y,i.y=i.z,i.z=i.w,i.w=i.v,(i.d=i.d+362437|0)+(i.v=i.v^i.v<<4^(c^c<<1))|0},i.x=0,i.y=0,i.z=0,i.w=0,i.v=0,a===(a|0)?i.x=a:l+=a;for(var u=0;u>>4),i.next()}function o(a,i){return i.x=a.x,i.y=a.y,i.z=a.z,i.w=a.w,i.v=a.v,i.d=a.d,i}function s(a,i){var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorwow=s})(jN,typeof Uw=="object"&&Uw,typeof define=="function"&&define)});var qN=ht((UN,qw)=>{(function(r,e,t){function n(a){var i=this;i.next=function(){var u=i.x,c=i.i,p,m,f;return p=u[c],p^=p>>>7,m=p^p<<24,p=u[c+1&7],m^=p^p>>>10,p=u[c+3&7],m^=p^p>>>3,p=u[c+4&7],m^=p^p<<7,p=u[c+7&7],p=p^p<<13,m^=p^p<<9,u[c]=m,i.i=c+1&7,m};function l(u,c){var p,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=""+c,p=0;p0;--p)u.next()}l(i,a)}function o(a,i){return i.x=a.x.slice(),i.i=a.i,i}function s(a,i){a==null&&(a=+new Date);var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(u.x&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorshift7=s})(UN,typeof qw=="object"&&qw,typeof define=="function"&&define)});var KN=ht((HN,Hw)=>{(function(r,e,t){function n(a){var i=this;i.next=function(){var u=i.w,c=i.X,p=i.i,m,f;return i.w=u=u+1640531527|0,f=c[p+34&127],m=c[p=p+1&127],f^=f<<13,m^=m<<17,f^=f>>>15,m^=m>>>12,f=c[p]=f^m,i.i=p,f+(u^u>>>16)|0};function l(u,c){var p,m,f,d,h,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+"\0",m=0,x=Math.max(x,c.length)),f=0,d=-32;d>>15,m^=m<<4,m^=m>>>13,d>=0&&(h=h+1640531527|0,p=g[d&127]^=m+h,f=p==0?f+1:0);for(f>=128&&(g[(c&&c.length||0)&127]=-1),f=127,d=4*128;d>0;--d)m=g[f+34&127],p=g[f=f+1&127],m^=m<<13,p^=p<<17,m^=m>>>15,p^=p>>>12,g[f]=m^p;u.w=h,u.X=g,u.i=f}l(i,a)}function o(a,i){return i.i=a.i,i.w=a.w,i.X=a.X.slice(),i}function s(a,i){a==null&&(a=+new Date);var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(u.X&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor4096=s})(HN,typeof Hw=="object"&&Hw,typeof define=="function"&&define)});var YN=ht((XN,Kw)=>{(function(r,e,t){function n(a){var i=this,l="";i.next=function(){var c=i.b,p=i.c,m=i.d,f=i.a;return c=c<<25^c>>>7^p,p=p-m|0,m=m<<24^m>>>8^f,f=f-c|0,i.b=c=c<<20^c>>>12^p,i.c=p=p-m|0,i.d=m<<16^p>>>16^f,i.a=f-c|0},i.a=0,i.b=0,i.c=2654435769|0,i.d=1367130551,a===Math.floor(a)?(i.a=a/4294967296|0,i.b=a|0):l+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.tychei=s})(XN,typeof Kw=="object"&&Kw,typeof define=="function"&&define)});var pg=ht(()=>{});var ZN=ht((sbe,mg)=>{(function(r,e){var t=this,n=256,o=6,s=52,a="random",i=e.pow(n,o),l=e.pow(2,s),u=l*2,c=n-1,p;function m(w,_,k){var E=[];_=_==!0?{entropy:!0}:_||{};var S=g(h(_.entropy?[w,b(r)]:w==null?x():w,3),E),R=new f(E),F=function(){for(var P=R.g(o),j=i,G=0;P=u;)P/=2,j/=2,G>>>=1;return(P+G)/j};return F.int32=function(){return R.g(4)|0},F.quick=function(){return R.g(4)/4294967296},F.double=F,g(b(R.S),r),(_.pass||k||function(P,j,G,U){return U&&(U.S&&d(U,R),P.state=function(){return d(R,{})}),G?(e[a]=P,j):P})(F,S,"global"in _?_.global:this==e,_.state)}e["seed"+a]=m;function f(w){var _,k=w.length,E=this,S=0,R=E.i=E.j=0,F=E.S=[];for(k||(w=[k++]);S{var y4=BN(),b4=GN(),w4=WN(),_4=qN(),k4=KN(),v4=YN(),Ru=ZN();Ru.alea=y4;Ru.xor128=b4;Ru.xorwow=w4;Ru.xorshift7=_4;Ru.xor4096=k4;Ru.tychei=v4;JN.exports=Ru});var Z1=ht((Y1,$_)=>{(function(r,e,t){function n(i){var l=this,u=a();l.next=function(){var c=2091639*l.s0+l.c*23283064365386963e-26;return l.s0=l.s1,l.s1=l.s2,l.s2=c-(l.c=c|0)},l.c=1,l.s0=u(" "),l.s1=u(" "),l.s2=u(" "),l.s0-=u(i),l.s0<0&&(l.s0+=1),l.s1-=u(i),l.s1<0&&(l.s1+=1),l.s2-=u(i),l.s2<0&&(l.s2+=1),u=null}function o(i,l){return l.c=i.c,l.s0=i.s0,l.s1=i.s1,l.s2=i.s2,l}function s(i,l){var u=new n(i),c=l&&l.state,p=u.next;return p.int32=function(){return u.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,c&&(typeof c=="object"&&o(c,u),p.state=function(){return o(u,{})}),p}function a(){var i=4022871197,l=function(u){u=u.toString();for(var c=0;c>>0,p-=i,p*=i,i=p>>>0,p-=i,i+=p*4294967296}return(i>>>0)*23283064365386963e-26};return l}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.alea=s})(Y1,typeof $_=="object"&&$_,typeof define=="function"&&define)});var Q1=ht((J1,R_)=>{(function(r,e,t){function n(a){var i=this,l="";i.x=0,i.y=0,i.z=0,i.w=0,i.next=function(){var c=i.x^i.x<<11;return i.x=i.y,i.y=i.z,i.z=i.w,i.w^=i.w>>>19^c^c>>>8},a===(a|0)?i.x=a:l+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor128=s})(J1,typeof R_=="object"&&R_,typeof define=="function"&&define)});var tE=ht((eE,F_)=>{(function(r,e,t){function n(a){var i=this,l="";i.next=function(){var c=i.x^i.x>>>2;return i.x=i.y,i.y=i.z,i.z=i.w,i.w=i.v,(i.d=i.d+362437|0)+(i.v=i.v^i.v<<4^(c^c<<1))|0},i.x=0,i.y=0,i.z=0,i.w=0,i.v=0,a===(a|0)?i.x=a:l+=a;for(var u=0;u>>4),i.next()}function o(a,i){return i.x=a.x,i.y=a.y,i.z=a.z,i.w=a.w,i.v=a.v,i.d=a.d,i}function s(a,i){var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorwow=s})(eE,typeof F_=="object"&&F_,typeof define=="function"&&define)});var nE=ht((rE,O_)=>{(function(r,e,t){function n(a){var i=this;i.next=function(){var u=i.x,c=i.i,p,m,f;return p=u[c],p^=p>>>7,m=p^p<<24,p=u[c+1&7],m^=p^p>>>10,p=u[c+3&7],m^=p^p>>>3,p=u[c+4&7],m^=p^p<<7,p=u[c+7&7],p=p^p<<13,m^=p^p<<9,u[c]=m,i.i=c+1&7,m};function l(u,c){var p,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=""+c,p=0;p0;--p)u.next()}l(i,a)}function o(a,i){return i.x=a.x.slice(),i.i=a.i,i}function s(a,i){a==null&&(a=+new Date);var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(u.x&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorshift7=s})(rE,typeof O_=="object"&&O_,typeof define=="function"&&define)});var sE=ht((oE,P_)=>{(function(r,e,t){function n(a){var i=this;i.next=function(){var u=i.w,c=i.X,p=i.i,m,f;return i.w=u=u+1640531527|0,f=c[p+34&127],m=c[p=p+1&127],f^=f<<13,m^=m<<17,f^=f>>>15,m^=m>>>12,f=c[p]=f^m,i.i=p,f+(u^u>>>16)|0};function l(u,c){var p,m,f,d,h,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+"\0",m=0,x=Math.max(x,c.length)),f=0,d=-32;d>>15,m^=m<<4,m^=m>>>13,d>=0&&(h=h+1640531527|0,p=g[d&127]^=m+h,f=p==0?f+1:0);for(f>=128&&(g[(c&&c.length||0)&127]=-1),f=127,d=4*128;d>0;--d)m=g[f+34&127],p=g[f=f+1&127],m^=m<<13,p^=p<<17,m^=m>>>15,p^=p>>>12,g[f]=m^p;u.w=h,u.X=g,u.i=f}l(i,a)}function o(a,i){return i.i=a.i,i.w=a.w,i.X=a.X.slice(),i}function s(a,i){a==null&&(a=+new Date);var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(u.X&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor4096=s})(oE,typeof P_=="object"&&P_,typeof define=="function"&&define)});var aE=ht((iE,M_)=>{(function(r,e,t){function n(a){var i=this,l="";i.next=function(){var c=i.b,p=i.c,m=i.d,f=i.a;return c=c<<25^c>>>7^p,p=p-m|0,m=m<<24^m>>>8^f,f=f-c|0,i.b=c=c<<20^c>>>12^p,i.c=p=p-m|0,i.d=m<<16^p>>>16^f,i.a=f-c|0},i.a=0,i.b=0,i.c=2654435769|0,i.d=1367130551,a===Math.floor(a)?(i.a=a/4294967296|0,i.b=a|0):l+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.tychei=s})(iE,typeof M_=="object"&&M_,typeof define=="function"&&define)});var lE=ht((n3e,Eg)=>{(function(r,e){var t=this,n=256,o=6,s=52,a="random",i=e.pow(n,o),l=e.pow(2,s),u=l*2,c=n-1,p;function m(w,_,k){var E=[];_=_==!0?{entropy:!0}:_||{};var S=g(h(_.entropy?[w,b(r)]:w==null?x():w,3),E),R=new f(E),F=function(){for(var P=R.g(o),j=i,G=0;P=u;)P/=2,j/=2,G>>>=1;return(P+G)/j};return F.int32=function(){return R.g(4)|0},F.quick=function(){return R.g(4)/4294967296},F.double=F,g(b(R.S),r),(_.pass||k||function(P,j,G,U){return U&&(U.S&&d(U,R),P.state=function(){return d(R,{})}),G?(e[a]=P,j):P})(F,S,"global"in _?_.global:this==e,_.state)}e["seed"+a]=m;function f(w){var _,k=w.length,E=this,S=0,R=E.i=E.j=0,F=E.S=[];for(k||(w=[k++]);S{var ZK=Z1(),JK=Q1(),QK=tE(),e6=nE(),t6=sE(),r6=aE(),Ku=lE();Ku.alea=ZK;Ku.xor128=JK;Ku.xorwow=QK;Ku.xorshift7=e6;Ku.xor4096=t6;Ku.tychei=r6;uE.exports=Ku});var Cp=ht(()=>{});var MO=ht(()=>{});var LO=ht(()=>{});var zO=ht((ux,p0)=>{var m0=function(){var r=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(r=r||__filename),function(e){e=e||{};function t(){return Y.buffer!=He&&kr(Y.buffer),Ot}function n(){return Y.buffer!=He&&kr(Y.buffer),mn}function o(){return Y.buffer!=He&&kr(Y.buffer),_r}function s(){return Y.buffer!=He&&kr(Y.buffer),Bn}function a(){return Y.buffer!=He&&kr(Y.buffer),dn}var i=typeof e!="undefined"?e:{},l={},u;for(u in i)i.hasOwnProperty(u)&&(l[u]=i[u]);var c=[],p="./this.program",m=function(I,$){throw $},f=!1,d=!1,h=!1,g=!1;f=typeof window=="object",d=typeof importScripts=="function",h=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",g=!f&&!h&&!d;var x=i.ENVIRONMENT_IS_PTHREAD||!1;x&&(He=i.buffer,ts=i.DYNAMIC_BASE,Tn=i.DYNAMICTOP_PTR);var b="";function w(I){return i.locateFile?i.locateFile(I,b):b+I}var _,k,E,S,R,F;if(h){d?b=Cp().dirname(b)+"/":b=__dirname+"/",_=function($,L){return R||(R=require("fs")),F||(F=Cp()),$=F.normalize($),R.readFileSync($,L?null:"utf8")},E=function($){var L=_($,!0);return L.buffer||(L=new Uint8Array(L)),ge(L.buffer),L},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),c=process.argv.slice(2),process.on("uncaughtException",function(I){if(!(I instanceof gI))throw I}),process.on("unhandledRejection",ea),m=function(I){process.exit(I)},i.inspect=function(){return"[Emscripten Module object]"};var P;try{P=MO()}catch(I){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),I}Worker=P.Worker}else g?(typeof read!="undefined"&&(_=function($){return read($)}),E=function($){var L;return typeof readbuffer=="function"?new Uint8Array(readbuffer($)):(L=read($,"binary"),ge(typeof L=="object"),L)},typeof scriptArgs!="undefined"?c=scriptArgs:typeof arguments!="undefined"&&(c=arguments),typeof quit=="function"&&(m=function(I){quit(I)}),typeof print!="undefined"&&(typeof console=="undefined"&&(console={}),console.log=print,console.warn=console.error=typeof printErr!="undefined"?printErr:print)):(f||d)&&(d?b=self.location.href:document.currentScript&&(b=document.currentScript.src),typeof r!="undefined"&&r&&(b=r),b.indexOf("blob:")!==0?b=b.substr(0,b.lastIndexOf("/")+1):b="",h?(_=function($,L){return R||(R=require("fs")),F||(F=Cp()),$=F.normalize($),R.readFileSync($,L?null:"utf8")},E=function($){var L=_($,!0);return L.buffer||(L=new Uint8Array(L)),ge(L.buffer),L}):(_=function($){var L=new XMLHttpRequest;return L.open("GET",$,!1),L.send(null),L.responseText},d&&(E=function($){var L=new XMLHttpRequest;return L.open("GET",$,!1),L.responseType="arraybuffer",L.send(null),new Uint8Array(L.response)}),k=function($,L,q){var me=new XMLHttpRequest;me.open("GET",$,!0),me.responseType="arraybuffer",me.onload=function(){if(me.status==200||me.status==0&&me.response){L(me.response);return}q()},me.onerror=q,me.send(null)}),S=function(I){document.title=I});h&&typeof performance=="undefined"&&(performance=LO().performance);var j=i.print||console.log.bind(console),G=i.printErr||console.warn.bind(console);for(u in l)l.hasOwnProperty(u)&&(i[u]=l[u]);l=null,i.arguments&&(c=i.arguments),i.thisProgram&&(p=i.thisProgram),i.quit&&(m=i.quit);var U=Atomics.load,X=Atomics.store,K=Atomics.compareExchange,Z;i.wasmBinary&&(Z=i.wasmBinary);var te;i.noExitRuntime&&(te=i.noExitRuntime),typeof WebAssembly!="object"&&G("no native wasm support detected");var Y,re=new WebAssembly.Table({initial:169,maximum:169+0,element:"anyfunc"}),ie,se=0,pe=0,ae=!1,xe=0;function ge(I,$){I||ea("Assertion failed: "+$)}function we(I){var $=i["_"+I];return ge($,"Cannot call unknown function "+I+", make sure it is exported"),$}function ke(I,$,L,q,me){var he={string:function(gn){var Za=0;if(gn!=null&&gn!==0){var hm=(gn.length<<2)+1;Za=Cc(hm),ut(gn,Za,hm)}return Za},array:function(gn){var Za=Cc(gn.length);return vt(gn,Za),Za}};function fe(gn){return $==="string"?Re(gn):$==="boolean"?Boolean(gn):gn}var Te=we(I),mt=[],mr=0;if(q)for(var Dr=0;Dr=q);){var he=I[$++];if(!he)return me;if(!(he&128)){me+=String.fromCharCode(he);continue}var fe=I[$++]&63;if((he&224)==192){me+=String.fromCharCode((he&31)<<6|fe);continue}var Te=I[$++]&63;if((he&240)==224?he=(he&15)<<12|fe<<6|Te:he=(he&7)<<18|fe<<12|Te<<6|I[$++]&63,he<65536)me+=String.fromCharCode(he);else{var mt=he-65536;me+=String.fromCharCode(55296|mt>>10,56320|mt&1023)}}return me}function Re(I,$){return I?$e(n(),I,$):""}function qe(I,$,L,q){if(!(q>0))return 0;for(var me=L,he=L+q-1,fe=0;fe=55296&&Te<=57343){var mt=I.charCodeAt(++fe);Te=65536+((Te&1023)<<10)|mt&1023}if(Te<=127){if(L>=he)break;$[L++]=Te}else if(Te<=2047){if(L+1>=he)break;$[L++]=192|Te>>6,$[L++]=128|Te&63}else if(Te<=65535){if(L+2>=he)break;$[L++]=224|Te>>12,$[L++]=128|Te>>6&63,$[L++]=128|Te&63}else{if(L+3>=he)break;$[L++]=240|Te>>18,$[L++]=128|Te>>12&63,$[L++]=128|Te>>6&63,$[L++]=128|Te&63}}return $[L]=0,L-me}function ut(I,$,L){return qe(I,n(),$,L)}function kt(I){for(var $=0,L=0;L=55296&&q<=57343&&(q=65536+((q&1023)<<10)|I.charCodeAt(++L)&1023),q<=127?++$:q<=2047?$+=2:q<=65535?$+=3:$+=4}return $}function vt(I,$){t().set(I,$)}var pt=65536;function Ct(I,$){return I%$>0&&(I+=$-I%$),I}var He,Ot,mn,Jt,fn,_r,Bn,Jr,dn;function kr(I){He=I,i.HEAP8=Ot=new Int8Array(I),i.HEAP16=Jt=new Int16Array(I),i.HEAP32=_r=new Int32Array(I),i.HEAPU8=mn=new Uint8Array(I),i.HEAPU16=fn=new Uint16Array(I),i.HEAPU32=Bn=new Uint32Array(I),i.HEAPF32=Jr=new Float32Array(I),i.HEAPF64=dn=new Float64Array(I)}var Sn=5256480,Vn=Sn,Qr=13600,ts=5256480,Tn=12672,xc=i.INITIAL_MEMORY||16777216;if(x)Y=i.wasmMemory,He=i.buffer;else if(i.wasmMemory)Y=i.wasmMemory;else if(Y=new WebAssembly.Memory({initial:xc/pt,maximum:2147483648/pt,shared:!0}),!(Y.buffer instanceof SharedArrayBuffer))throw G("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),h&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),Error("bad memory");Y&&(He=Y.buffer),xc=He.byteLength,kr(He),x||(o()[Tn>>2]=ts);function rs(I){for(;I.length>0;){var $=I.shift();if(typeof $=="function"){$(i);continue}var L=$.func;typeof L=="number"?$.arg===void 0?i.dynCall_v(L):i.dynCall_vi(L,$.arg):L($.arg===void 0?null:$.arg)}}var Ji=[],$l=[],xy=[],Qp=[],_h=[],em=!1;x&&(em=!0);function Gn(){if(!x){if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.preRun]);i.preRun.length;)wy(i.preRun.shift());rs(Ji)}}function kh(){em=!0,rs($l)}function yy(){x||rs(xy)}function by(){if(!x){if(i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[i.postRun]);i.postRun.length;)Rl(i.postRun.shift());rs(_h)}}function wy(I){Ji.unshift(I)}function Rl(I){_h.unshift(I)}var yc=Math.ceil,_y=Math.floor,Qi=0,tm=null,Fl=null;function ky(I){ge(!x,"addRunDependency cannot be used in a pthread worker"),Qi++,i.monitorRunDependencies&&i.monitorRunDependencies(Qi)}function vy(I){if(Qi--,i.monitorRunDependencies&&i.monitorRunDependencies(Qi),Qi==0&&(tm!==null&&(clearInterval(tm),tm=null),Fl)){var $=Fl;Fl=null,$()}}i.preloadedImages={},i.preloadedAudios={};function ea(I){throw i.onAbort&&i.onAbort(I),x&&console.error("Pthread aborting at "+new Error().stack),I+="",j(I),G(I),ae=!0,xe=1,I="abort("+I+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(I)}function rm(I,$){return String.prototype.startsWith?I.startsWith($):I.indexOf($)===0}var Cy="data:application/octet-stream;base64,";function vh(I){return rm(I,Cy)}var Iy="file://";function Ch(I){return rm(I,Iy)}var jn="tfjs-backend-wasm-threaded-simd.wasm";vh(jn)||(jn=w(jn));function Ih(){try{if(Z)return new Uint8Array(Z);if(E)return E(jn);throw"both async and sync fetching of the wasm failed"}catch(I){ea(I)}}function Ny(){return!Z&&(f||d)&&typeof fetch=="function"&&!Ch(jn)?fetch(jn,{credentials:"same-origin"}).then(function(I){if(!I.ok)throw"failed to load wasm binary file at '"+jn+"'";return I.arrayBuffer()}).catch(function(){return Ih()}):new Promise(function(I,$){I(Ih())})}function Sy(){var I={a:yb};function $(fe,Te){var mt=fe.exports;if(i.asm=mt,ie=Te,!x){var mr=_e.unusedWorkers.length;_e.unusedWorkers.forEach(function(Dr){_e.loadWasmModuleToWorker(Dr,function(){--mr||vy("wasm-instantiate")})})}}x||ky("wasm-instantiate");function L(fe){$(fe.instance,fe.module)}function q(fe){return Ny().then(function(Te){return WebAssembly.instantiate(Te,I)}).then(fe,function(Te){G("failed to asynchronously prepare wasm: "+Te),ea(Te)})}function me(){if(!Z&&typeof WebAssembly.instantiateStreaming=="function"&&!vh(jn)&&!Ch(jn)&&typeof fetch=="function")fetch(jn,{credentials:"same-origin"}).then(function(fe){var Te=WebAssembly.instantiateStreaming(fe,I);return Te.then(L,function(mt){G("wasm streaming compile failed: "+mt),G("falling back to ArrayBuffer instantiation"),q(L)})});else return q(L)}if(i.instantiateWasm)try{var he=i.instantiateWasm(I,$);return he}catch(fe){return G("Module.instantiateWasm callback failed with error: "+fe),!1}return me(),{}}var Ty={};function Ey(){_e.initRuntime()}x||$l.push({func:function(){sm()}});var Nh=0,Sh=0,Th=0;function bc(I,$,L){I=I|0,$=$|0,L=L|0,Nh=I,Th=$,Sh=L}i.__register_pthread_ptr=bc;var nm={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},wc=13584;function _c(I,$){if(I<=0||I>t().length||I&!0||$<0)return-28;if($==0)return 0;$>=2147483647&&($=Infinity);var L=Atomics.load(o(),wc>>2),q=0;if(L==I){var me=Atomics.compareExchange(o(),wc>>2,L,0);if(me==L&&(--$,q=1,$<=0))return 1}var he=Atomics.notify(o(),I>>2,$);if(he>=0)return he+q;throw"Atomics.notify returned an unexpected value "+he}i._emscripten_futex_wake=_c;function Ay(I){if(x)throw"Internal Error! _kill_thread() can only ever be called from main application thread!";if(!I)throw"Internal Error! Null pthread_ptr in _kill_thread!";o()[I+12>>2]=0;var $=_e.pthreads[I];$.worker.terminate(),_e.freeThreadData($),_e.runningWorkers.splice(_e.runningWorkers.indexOf($.worker),1),$.worker.pthread=void 0}function Dy(I){if(x)throw"Internal Error! _cancel_thread() can only ever be called from main application thread!";if(!I)throw"Internal Error! Null pthread_ptr in _cancel_thread!";var $=_e.pthreads[I];$.worker.postMessage({cmd:"cancel"})}function $y(I){if(x)throw"Internal Error! _cleanup_thread() can only ever be called from main application thread!";if(!I)throw"Internal Error! Null pthread_ptr in _cleanup_thread!";o()[I+12>>2]=0;var $=_e.pthreads[I];if($){var L=$.worker;_e.returnWorkerToPool(L)}}var _e={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkers:[],runningWorkers:[],initRuntime:function(){bc(_e.mainThreadBlock,!d,1),mI(_e.mainThreadBlock)},initMainThreadBlock:function(){for(var I=8,$=0;$>2]=_e.mainThreadBlock;var L=_e.mainThreadBlock+156;o()[L>>2]=L;for(var q=13072,$=0;$<128;++$)s()[q/4+$]=0;Atomics.store(s(),_e.mainThreadBlock+104>>2,q),Atomics.store(s(),_e.mainThreadBlock+40>>2,_e.mainThreadBlock),Atomics.store(s(),_e.mainThreadBlock+44>>2,42)},initWorker:function(){},pthreads:{},exitHandlers:null,setThreadStatus:function(){},runExitHandlers:function(){if(_e.exitHandlers!==null){for(;_e.exitHandlers.length>0;)_e.exitHandlers.pop()();_e.exitHandlers=null}x&&se&&pI()},threadExit:function(I){var $=js();$&&(Atomics.store(s(),$+4>>2,I),Atomics.store(s(),$+0>>2,1),Atomics.store(s(),$+60>>2,1),Atomics.store(s(),$+64>>2,0),_e.runExitHandlers(),_c($+0,2147483647),bc(0,0,0),se=0,x&&postMessage({cmd:"exit"}))},threadCancel:function(){_e.runExitHandlers(),Atomics.store(s(),se+4>>2,-1),Atomics.store(s(),se+0>>2,1),_c(se+0,2147483647),se=pe=0,bc(0,0,0),postMessage({cmd:"cancelDone"})},terminateAllThreads:function(){for(var I in _e.pthreads){var $=_e.pthreads[I];$&&$.worker&&_e.returnWorkerToPool($.worker)}_e.pthreads={};for(var L=0;L<_e.unusedWorkers.length;++L){var q=_e.unusedWorkers[L];q.terminate()}_e.unusedWorkers=[];for(var L=0;L<_e.runningWorkers.length;++L){var q=_e.runningWorkers[L],$=q.pthread;_e.freeThreadData($),q.terminate()}_e.runningWorkers=[]},freeThreadData:function(I){if(!!I){if(I.threadInfoStruct){var $=o()[I.threadInfoStruct+104>>2];o()[I.threadInfoStruct+104>>2]=0,pm($),pm(I.threadInfoStruct)}I.threadInfoStruct=0,I.allocatedOwnStack&&I.stackBase&&pm(I.stackBase),I.stackBase=0,I.worker&&(I.worker.pthread=null)}},returnWorkerToPool:function(I){delete _e.pthreads[I.pthread.thread],_e.unusedWorkers.push(I),_e.runningWorkers.splice(_e.runningWorkers.indexOf(I),1),_e.freeThreadData(I.pthread),I.pthread=void 0},receiveObjectTransfer:function(I){},loadWasmModuleToWorker:function(I,$){I.onmessage=function(L){var q=L.data,me=q.cmd;if(I.pthread&&(_e.currentProxiedOperationCallerThread=I.pthread.threadInfoStruct),q.targetThread&&q.targetThread!=js()){var he=_e.pthreads[q.targetThread];he?he.worker.postMessage(L.data,q.transferList):console.error('Internal error! Worker sent a message "'+me+'" to target pthread '+q.targetThread+", but that thread no longer exists!"),_e.currentProxiedOperationCallerThread=void 0;return}if(me==="processQueuedMainThreadWork")_b();else if(me==="spawnThread")Fh(L.data);else if(me==="cleanupThread")$y(q.thread);else if(me==="killThread")Ay(q.thread);else if(me==="cancelThread")Dy(q.thread);else if(me==="loaded")I.loaded=!0,$&&$(I),I.runPthread&&(I.runPthread(),delete I.runPthread);else if(me==="print")j("Thread "+q.threadId+": "+q.text);else if(me==="printErr")G("Thread "+q.threadId+": "+q.text);else if(me==="alert")alert("Thread "+q.threadId+": "+q.text);else if(me==="exit"){var fe=I.pthread&&Atomics.load(s(),I.pthread.thread+68>>2);fe&&_e.returnWorkerToPool(I)}else me==="cancelDone"?_e.returnWorkerToPool(I):me==="objectTransfer"?_e.receiveObjectTransfer(L.data):L.data.target==="setimmediate"?I.postMessage(L.data):G("worker sent an unknown command "+me);_e.currentProxiedOperationCallerThread=void 0},I.onerror=function(L){G("pthread sent an error! "+L.filename+":"+L.lineno+": "+L.message)},h&&(I.on("message",function(L){I.onmessage({data:L})}),I.on("error",function(L){I.onerror(L)}),I.on("exit",function(L){console.log("worker exited - TODO: update the worker queue?")})),I.postMessage({cmd:"load",urlOrBlob:i.mainScriptUrlOrBlob||r,wasmMemory:Y,wasmModule:ie,DYNAMIC_BASE:ts,DYNAMICTOP_PTR:Tn})},allocateUnusedWorker:function(){var I=w("tfjs-backend-wasm-threaded-simd.worker.js");_e.unusedWorkers.push(new Worker(I))},getNewWorker:function(){return _e.unusedWorkers.length==0&&(_e.allocateUnusedWorker(),_e.loadWasmModuleToWorker(_e.unusedWorkers[0])),_e.unusedWorkers.length>0?_e.unusedWorkers.pop():null},busySpinWait:function(I){for(var $=performance.now()+I;performance.now()<$;);}};function Ry(I,$){Sn=Vn=I,Qr=$,Ic(I)}i.establishStackSpace=Ry;function Fy(){return te}i.getNoExitRuntime=Fy;function Oy(I,$,L,q){ea("Assertion failed: "+Re(I)+", at: "+[$?Re($):"unknown filename",L,q?Re(q):"unknown function"])}function Py(I,$){var L=_main(I,$)}var Ol;h?Ol=function(){var I=process.hrtime();return I[0]*1e3+I[1]/1e6}:x?Ol=function(){return performance.now()-i.__performance_now_clock_drift}:typeof dateNow!="undefined"?Ol=dateNow:Ol=function(){return performance.now()};function My(I){return o()[lI()>>2]=I,I}function Ly(I,$){if(x)return Ka(1,1,I,$);Qp.unshift({func:I,arg:$})}function zy(I,$){if(I==$)postMessage({cmd:"processQueuedMainThreadWork"});else if(x)postMessage({targetThread:I,cmd:"processThreadQueue"});else{var L=_e.pthreads[I],q=L&&L.worker;if(!q)return;q.postMessage({cmd:"processThreadQueue"})}return 1}function By(){ea()}function Vy(I,$){I=I|0,$=$|0}function Gy(I,$,L){if(I<=0||I>t().length||I&!0)return-28;if(d){var q=Atomics.wait(o(),I>>2,$,L);if(q==="timed-out")return-73;if(q==="not-equal")return-6;if(q==="ok")return 0;throw"Atomics.wait returned an unexpected value "+q}else{var me=Atomics.load(o(),I>>2);if($!=me)return-6;var he=performance.now(),fe=he+L;Atomics.store(o(),wc>>2,I);for(var Te=I;I==Te;){if(he=performance.now(),he>fe)return-73;_b(),I=Atomics.load(o(),wc>>2)}return 0}}function jy(){return Th|0}function Wy(){return Sh|0}function Uy(I,$,L){n().copyWithin(I,$,$+L)}function qy(){return navigator.hardwareConcurrency}function Ka(I,$){for(var L=arguments.length-2,q=mm(),me=Cc(L*8),he=me>>3,fe=0;fe>3]),$+=8):($=$+3&~3,L.push(o()[$>>2]),$+=4);return L}function Hy(I,$,L){Pl.length=$;for(var q=L>>3,me=0;me<$;me++)Pl[me]=a()[q+me];var he=I<0,fe=he?Ty[-I-1]:xb[I];if(he){var Te=Pl[1],mt=Pl[2],mr=kc(Te,mt);return fe.apply(null,mr)}return fe.apply(null,Pl)}function Ky(){return n().length}function Xy(I){try{return Y.grow(I-He.byteLength+65535>>>16),kr(Y.buffer),1}catch($){}}function Yy(I){I=I>>>0;var $=Ky();if(I<=$)return!1;var L=65536,q=2147483648;if(I>q)return!1;for(var me=16777216,he=1;he<=4;he*=2){var fe=$*(1+.2/he);fe=Math.min(fe,I+100663296);var Te=Math.min(q,Ct(Math.max(me,I,fe),L)),mt=Xy(Te);if(mt)return!0}return!1}var Je={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:!1,removeAllEventListeners:function(){for(var I=Je.eventHandlers.length-1;I>=0;--I)Je._removeHandler(I);Je.eventHandlers=[],Je.deferredCalls=[]},registerRemoveEventListeners:function(){Je.removeEventListenersRegistered||(Qp.push(Je.removeAllEventListeners),Je.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(I,$,L){function q(fe,Te){if(fe.length!=Te.length)return!1;for(var mt in fe)if(fe[mt]!=Te[mt])return!1;return!0}for(var me in Je.deferredCalls){var he=Je.deferredCalls[me];if(he.targetFunction==I&&q(he.argsList,L))return}Je.deferredCalls.push({targetFunction:I,precedence:$,argsList:L}),Je.deferredCalls.sort(function(fe,Te){return fe.precedence>2]=L,o()[fe+4>>2]=q,o()[fe+8>>2]=me,kb(I,637534208,$,q,fe),Ic(he)},getTargetThreadForEventCallback:function(I){switch(I){case 1:return 0;case 2:return _e.currentProxiedOperationCallerThread;default:return I}},getNodeNameForTarget:function(I){return I?I==window?"#window":I==screen?"#screen":I&&I.nodeName?I.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function Zy(I){var $=kt(I)+1,L=cm($);return ut(I,L,$),L}function Jy(I,$,L,q){var me=mm(),he=Cc(12),fe=0;$&&(fe=Zy($)),o()[he>>2]=fe,o()[he+4>>2]=L,o()[he+8>>2]=q,kb(I,657457152,0,fe,he),Ic(me)}function Qy(I,$,L,q){$=$?Re($):"",Jy(I,$,L,q)}function eb(I){return I>2?Re(I):I}var tb=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function rb(I){I=eb(I);var $=tb[I]||(typeof document!="undefined"?document.querySelector(I):void 0);return $}function om(I){return rb(I)}function Eh(I,$,L){var q=om(I);if(!q)return-4;if(q.canvasSharedPtr&&(o()[q.canvasSharedPtr>>2]=$,o()[q.canvasSharedPtr+4>>2]=L),q.offscreenCanvas||!q.controlTransferredOffscreen){q.offscreenCanvas&&(q=q.offscreenCanvas);var me=!1;if(q.GLctxObject&&q.GLctxObject.GLctx){var he=q.GLctxObject.GLctx.getParameter(2978);me=he[0]===0&&he[1]===0&&he[2]===q.width&&he[3]===q.height}q.width=$,q.height=L,me&&q.GLctxObject.GLctx.viewport(0,0,$,L)}else if(q.canvasSharedPtr){var fe=o()[q.canvasSharedPtr+8>>2];return Qy(fe,I,$,L),1}else return-4;return 0}function Ah(I,$,L){return x?Ka(2,1,I,$,L):Eh(I,$,L)}function nb(I,$,L){var q=om(I);return q?Eh(I,$,L):Ah(I,$,L)}function ob(I){I=I|0}function sb(I,$){I=I|0,$=$|0}function ib(I){var $=I.getExtension("ANGLE_instanced_arrays");if($)return I.vertexAttribDivisor=function(L,q){$.vertexAttribDivisorANGLE(L,q)},I.drawArraysInstanced=function(L,q,me,he){$.drawArraysInstancedANGLE(L,q,me,he)},I.drawElementsInstanced=function(L,q,me,he,fe){$.drawElementsInstancedANGLE(L,q,me,he,fe)},1}function ab(I){var $=I.getExtension("OES_vertex_array_object");if($)return I.createVertexArray=function(){return $.createVertexArrayOES()},I.deleteVertexArray=function(L){$.deleteVertexArrayOES(L)},I.bindVertexArray=function(L){$.bindVertexArrayOES(L)},I.isVertexArray=function(L){return $.isVertexArrayOES(L)},1}function lb(I){var $=I.getExtension("WEBGL_draw_buffers");if($)return I.drawBuffers=function(L,q){$.drawBuffersWEBGL(L,q)},1}var rt={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){for(var I=new Float32Array(rt.MINI_TEMP_BUFFER_SIZE),$=0;$>2]:-1;me+=Re(o()[L+he*4>>2],fe<0?void 0:fe)}return me},createContext:function(I,$){var L=I.getContext("webgl",$);if(!L)return 0;var q=rt.registerContext(L,$);return q},registerContext:function(I,$){var L=cm(8);o()[L+4>>2]=js();var q={handle:L,attributes:$,version:$.majorVersion,GLctx:I};return I.canvas&&(I.canvas.GLctxObject=q),rt.contexts[L]=q,(typeof $.enableExtensionsByDefault=="undefined"||$.enableExtensionsByDefault)&&rt.initExtensions(q),L},makeContextCurrent:function(I){return rt.currentContext=rt.contexts[I],i.ctx=Xa=rt.currentContext&&rt.currentContext.GLctx,!(I&&!Xa)},getContext:function(I){return rt.contexts[I]},deleteContext:function(I){rt.currentContext===rt.contexts[I]&&(rt.currentContext=null),typeof Je=="object"&&Je.removeAllHandlersOnTarget(rt.contexts[I].GLctx.canvas),rt.contexts[I]&&rt.contexts[I].GLctx.canvas&&(rt.contexts[I].GLctx.canvas.GLctxObject=void 0),pm(rt.contexts[I].handle),rt.contexts[I]=null},initExtensions:function(I){if(I||(I=rt.currentContext),!I.initExtensionsDone){I.initExtensionsDone=!0;var $=I.GLctx;ib($),ab($),lb($),$.disjointTimerQueryExt=$.getExtension("EXT_disjoint_timer_query");var L=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","EXT_texture_norm16","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2","WEBKIT_WEBGL_compressed_texture_pvrtc"],q=$.getSupportedExtensions()||[];q.forEach(function(me){L.indexOf(me)!=-1&&$.getExtension(me)})}},populateUniformTable:function(I){for(var $=rt.programs[I],L=rt.programInfos[I]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1},q=L.uniforms,me=Xa.getProgramParameter($,35718),he=0;he>2;L.alpha=!!o()[q+(0>>2)],L.depth=!!o()[q+(4>>2)],L.stencil=!!o()[q+(8>>2)],L.antialias=!!o()[q+(12>>2)],L.premultipliedAlpha=!!o()[q+(16>>2)],L.preserveDrawingBuffer=!!o()[q+(20>>2)];var me=o()[q+(24>>2)];L.powerPreference=ub[me],L.failIfMajorPerformanceCaveat=!!o()[q+(28>>2)],L.majorVersion=o()[q+(32>>2)],L.minorVersion=o()[q+(36>>2)],L.enableExtensionsByDefault=o()[q+(40>>2)],L.explicitSwapControl=o()[q+(44>>2)],L.proxyContextToMainThread=o()[q+(48>>2)],L.renderViaOffscreenBackBuffer=o()[q+(52>>2)];var he=om(I);if(!he)return-4;if(L.explicitSwapControl)return-1;var fe=rt.createContext(he,L);return fe}function pb(I,$){return cb(I,$)}var Ml={splitPath:function(I){var $=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return $.exec(I).slice(1)},normalizeArray:function(I,$){for(var L=0,q=I.length-1;q>=0;q--){var me=I[q];me==="."?I.splice(q,1):me===".."?(I.splice(q,1),L++):L&&(I.splice(q,1),L--)}if($)for(;L;L--)I.unshift("..");return I},normalize:function(I){var $=I.charAt(0)==="/",L=I.substr(-1)==="/";return I=Ml.normalizeArray(I.split("/").filter(function(q){return!!q}),!$).join("/"),!I&&!$&&(I="."),I&&L&&(I+="/"),($?"/":"")+I},dirname:function(I){var $=Ml.splitPath(I),L=$[0],q=$[1];return!L&&!q?".":(q&&(q=q.substr(0,q.length-1)),L+q)},basename:function(I){if(I==="/")return"/";var $=I.lastIndexOf("/");return $===-1?I:I.substr($+1)},extname:function(I){return Ml.splitPath(I)[3]},join:function(){var I=Array.prototype.slice.call(arguments,0);return Ml.normalize(I.join("/"))},join2:function(I,$){return Ml.normalize(I+"/"+$)}},vc={mappings:{},buffers:[null,[],[]],printChar:function(I,$){var L=vc.buffers[I];$===0||$===10?((I===1?j:G)($e(L,0)),L.length=0):L.push($)},varargs:void 0,get:function(){vc.varargs+=4;var I=o()[vc.varargs-4>>2];return I},getStr:function(I){var $=Re(I);return $},get64:function(I,$){return I}};function Dh(I){return x?Ka(3,1,I):0}function $h(I,$,L,q,me){if(x)return Ka(4,1,I,$,L,q,me)}function Rh(I,$,L,q){if(x)return Ka(5,1,I,$,L,q);for(var me=0,he=0;he>2],Te=o()[$+(he*8+4)>>2],mt=0;mt>2]=me,0}function mb(I){var $=_e.exitHandlers.pop();I&&$()}function fb(I,$){_e.exitHandlers===null&&(_e.exitHandlers=[]),_e.exitHandlers.push(function(){hI(I,$)})}function Fh(I){if(x)throw"Internal Error! _spawn_thread() can only ever be called from main application thread!";var $=_e.getNewWorker();if($.pthread!==void 0)throw"Internal error!";if(!I.pthread_ptr)throw"Internal error, no pthread ptr!";_e.runningWorkers.push($);for(var L=cm(128*4),q=0;q<128;++q)o()[L+q*4>>2]=0;var me=I.stackBase+I.stackSize,he=_e.pthreads[I.pthread_ptr]={worker:$,stackBase:I.stackBase,stackSize:I.stackSize,allocatedOwnStack:I.allocatedOwnStack,thread:I.pthread_ptr,threadInfoStruct:I.pthread_ptr},fe=he.threadInfoStruct>>2;Atomics.store(s(),fe+(0>>2),0),Atomics.store(s(),fe+(4>>2),0),Atomics.store(s(),fe+(8>>2),0),Atomics.store(s(),fe+(68>>2),I.detached),Atomics.store(s(),fe+(104>>2),L),Atomics.store(s(),fe+(48>>2),0),Atomics.store(s(),fe+(40>>2),he.threadInfoStruct),Atomics.store(s(),fe+(44>>2),42),Atomics.store(s(),fe+(108>>2),I.stackSize),Atomics.store(s(),fe+(84>>2),I.stackSize),Atomics.store(s(),fe+(80>>2),me),Atomics.store(s(),fe+(108+8>>2),me),Atomics.store(s(),fe+(108+12>>2),I.detached),Atomics.store(s(),fe+(108+20>>2),I.schedPolicy),Atomics.store(s(),fe+(108+24>>2),I.schedPrio);var Te=uI(),mt=Te+40;Atomics.store(s(),fe+(176>>2),mt),$.pthread=he;var mr={cmd:"run",start_routine:I.startRoutine,arg:I.arg,threadInfoStruct:I.pthread_ptr,selfThreadId:I.pthread_ptr,parentThreadId:I.parent_pthread_ptr,stackBase:I.stackBase,stackSize:I.stackSize};$.runPthread=function(){mr.time=performance.now(),$.postMessage(mr,I.transferList)},$.loaded&&($.runPthread(),delete $.runPthread)}function db(I,$,L){if(!$&&!L)return nm.EINVAL;if(!I)return G("pthread_getschedparam called with a null thread pointer!"),nm.ESRCH;var q=o()[I+12>>2];if(q!==I)return G("pthread_getschedparam attempted on thread "+I+", which does not point to a valid thread, or does not exist anymore!"),nm.ESRCH;var me=Atomics.load(s(),I+108+20>>2),he=Atomics.load(s(),I+108+24>>2);return $&&(o()[$>>2]=me),L&&(o()[L>>2]=he),0}function js(){return Nh|0}i._pthread_self=js;function hb(I,$,L,q){if(typeof SharedArrayBuffer=="undefined")return G("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;if(!I)return G("pthread_create called with a null thread pointer!"),28;var me=[],he=0;if(x&&(me.length===0||he))return fI(687865856,I,$,L,q);if(he)return he;var fe=0,Te=0,mt=0,mr=0,Dr=0;if($){fe=o()[$>>2],fe+=81920,Te=o()[$+8>>2],mt=o()[$+12>>2]!==0;var Nc=o()[$+16>>2]===0;if(Nc){var dm=o()[$+20>>2],gn=o()[$+24>>2],Za=_e.currentProxiedOperationCallerThread?_e.currentProxiedOperationCallerThread:js();db(Za,$+20,$+24),mr=o()[$+20>>2],Dr=o()[$+24>>2],o()[$+20>>2]=dm,o()[$+24>>2]=gn}else mr=o()[$+20>>2],Dr=o()[$+24>>2]}else fe=2097152;var hm=Te==0;hm?Te=cI(16,fe):(Te-=fe,ge(Te>0));for(var Sc=cm(232),Cb=0;Cb<232>>2;++Cb)s()[(Sc>>2)+Cb]=0;o()[I>>2]=Sc,o()[Sc+12>>2]=Sc;var xI=Sc+156;o()[xI>>2]=xI;var Ib={stackBase:Te,stackSize:fe,allocatedOwnStack:hm,schedPolicy:mr,schedPrio:Dr,detached:mt,startRoutine:L,pthread_ptr:Sc,parent_pthread_ptr:js(),arg:q,transferList:me};return x?(Ib.cmd="spawnThread",postMessage(Ib,me)):Fh(Ib),0}function gb(I){return I=+I,I>=0?+_y(I+.5):+yc(I-.5)}function Oh(I){if(x)return Ka(6,1,I);switch(I){case 30:return 16384;case 85:var $=2147483648;return $/16384;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return My(28),-1}x?_e.initWorker():_e.initMainThreadBlock();var Xa;rt.init();var xb=[null,Ly,Ah,Dh,$h,Rh,Oh],yb={e:Oy,r:Py,w:zy,a:By,l:Vy,d:Gy,c:_c,h:Ol,g:jy,x:Wy,q:Uy,B:qy,t:Hy,A:Yy,u:nb,k:ob,s:sb,v:pb,m:Dh,o:$h,i:Rh,p:Ey,memory:Y||i.wasmMemory,y:mb,z:fb,j:hb,b:js,f:gb,n:Oh,table:re},Ph=Sy();i.asm=Ph;var sm=i.___wasm_call_ctors=function(){return(sm=i.___wasm_call_ctors=i.asm.C).apply(null,arguments)},im=i._init=function(){return(im=i._init=i.asm.D).apply(null,arguments)},Mh=i._register_tensor=function(){return(Mh=i._register_tensor=i.asm.E).apply(null,arguments)},Ll=i._dispose_data=function(){return(Ll=i._dispose_data=i.asm.F).apply(null,arguments)},am=i._dispose=function(){return(am=i._dispose=i.asm.G).apply(null,arguments)},bb=i._Abs=function(){return(bb=i._Abs=i.asm.H).apply(null,arguments)},wb=i._Add=function(){return(wb=i._Add=i.asm.I).apply(null,arguments)},lm=i._AddN=function(){return(lm=i._AddN=i.asm.J).apply(null,arguments)},Lh=i._ArgMax=function(){return(Lh=i._ArgMax=i.asm.K).apply(null,arguments)},zh=i._AvgPool=function(){return(zh=i._AvgPool=i.asm.L).apply(null,arguments)},H=i._BatchMatMul=function(){return(H=i._BatchMatMul=i.asm.M).apply(null,arguments)},oe=i._ClipByValue=function(){return(oe=i._ClipByValue=i.asm.N).apply(null,arguments)},be=i._Conv2D=function(){return(be=i._Conv2D=i.asm.O).apply(null,arguments)},Ke=i._Conv2DBackpropInput=function(){return(Ke=i._Conv2DBackpropInput=i.asm.P).apply(null,arguments)},Xe=i._Cos=function(){return(Xe=i._Cos=i.asm.Q).apply(null,arguments)},Ht=i._CropAndResize=function(){return(Ht=i._CropAndResize=i.asm.R).apply(null,arguments)},at=i._Cumsum=function(){return(at=i._Cumsum=i.asm.S).apply(null,arguments)},ot=i._DepthToSpace=function(){return(ot=i._DepthToSpace=i.asm.T).apply(null,arguments)},yr=i._DepthwiseConv2dNative=function(){return(yr=i._DepthwiseConv2dNative=i.asm.U).apply(null,arguments)},ta=i._Equal=function(){return(ta=i._Equal=i.asm.V).apply(null,arguments)},ra=i._Exp=function(){return(ra=i._Exp=i.asm.W).apply(null,arguments)},Bh=i._FlipLeftRight=function(){return(Bh=i._FlipLeftRight=i.asm.X).apply(null,arguments)},um=i._Floor=function(){return(um=i._Floor=i.asm.Y).apply(null,arguments)},hn=i._FloorDiv=function(){return(hn=i._FloorDiv=i.asm.Z).apply(null,arguments)},Ya=i._FusedBatchNorm=function(){return(Ya=i._FusedBatchNorm=i.asm._).apply(null,arguments)},Vh=i._FusedConv2D=function(){return(Vh=i._FusedConv2D=i.asm.$).apply(null,arguments)},S3=i._FusedDepthwiseConv2D=function(){return(S3=i._FusedDepthwiseConv2D=i.asm.aa).apply(null,arguments)},T3=i._Gather=function(){return(T3=i._Gather=i.asm.ba).apply(null,arguments)},E3=i._GatherNd=function(){return(E3=i._GatherNd=i.asm.ca).apply(null,arguments)},A3=i._Greater=function(){return(A3=i._Greater=i.asm.da).apply(null,arguments)},D3=i._GreaterEqual=function(){return(D3=i._GreaterEqual=i.asm.ea).apply(null,arguments)},$3=i._LeakyRelu=function(){return($3=i._LeakyRelu=i.asm.fa).apply(null,arguments)},R3=i._Less=function(){return(R3=i._Less=i.asm.ga).apply(null,arguments)},F3=i._LessEqual=function(){return(F3=i._LessEqual=i.asm.ha).apply(null,arguments)},O3=i._Log=function(){return(O3=i._Log=i.asm.ia).apply(null,arguments)},P3=i._LogicalAnd=function(){return(P3=i._LogicalAnd=i.asm.ja).apply(null,arguments)},M3=i._Max=function(){return(M3=i._Max=i.asm.ka).apply(null,arguments)},L3=i._MaxPool=function(){return(L3=i._MaxPool=i.asm.la).apply(null,arguments)},z3=i._Maximum=function(){return(z3=i._Maximum=i.asm.ma).apply(null,arguments)},B3=i._Mean=function(){return(B3=i._Mean=i.asm.na).apply(null,arguments)},V3=i._Min=function(){return(V3=i._Min=i.asm.oa).apply(null,arguments)},G3=i._Minimum=function(){return(G3=i._Minimum=i.asm.pa).apply(null,arguments)},j3=i._Multiply=function(){return(j3=i._Multiply=i.asm.qa).apply(null,arguments)},W3=i._Neg=function(){return(W3=i._Neg=i.asm.ra).apply(null,arguments)},U3=i._NonMaxSuppressionV3=function(){return(U3=i._NonMaxSuppressionV3=i.asm.sa).apply(null,arguments)},q3=i._NonMaxSuppressionV4=function(){return(q3=i._NonMaxSuppressionV4=i.asm.ta).apply(null,arguments)},H3=i._NonMaxSuppressionV5=function(){return(H3=i._NonMaxSuppressionV5=i.asm.ua).apply(null,arguments)},K3=i._NotEqual=function(){return(K3=i._NotEqual=i.asm.va).apply(null,arguments)},X3=i._OneHot=function(){return(X3=i._OneHot=i.asm.wa).apply(null,arguments)},Y3=i._PadV2=function(){return(Y3=i._PadV2=i.asm.xa).apply(null,arguments)},Z3=i._Pow=function(){return(Z3=i._Pow=i.asm.ya).apply(null,arguments)},J3=i._Prelu=function(){return(J3=i._Prelu=i.asm.za).apply(null,arguments)},Q3=i._Prod=function(){return(Q3=i._Prod=i.asm.Aa).apply(null,arguments)},eB=i._RealDiv=function(){return(eB=i._RealDiv=i.asm.Ba).apply(null,arguments)},tB=i._Relu=function(){return(tB=i._Relu=i.asm.Ca).apply(null,arguments)},rB=i._Relu6=function(){return(rB=i._Relu6=i.asm.Da).apply(null,arguments)},nB=i._ResizeBilinear=function(){return(nB=i._ResizeBilinear=i.asm.Ea).apply(null,arguments)},oB=i._Reverse=function(){return(oB=i._Reverse=i.asm.Fa).apply(null,arguments)},sB=i._RotateWithOffset=function(){return(sB=i._RotateWithOffset=i.asm.Ga).apply(null,arguments)},iB=i._Round=function(){return(iB=i._Round=i.asm.Ha).apply(null,arguments)},aB=i._Rsqrt=function(){return(aB=i._Rsqrt=i.asm.Ia).apply(null,arguments)},lB=i._ScatterNd=function(){return(lB=i._ScatterNd=i.asm.Ja).apply(null,arguments)},uB=i._SelectV2=function(){return(uB=i._SelectV2=i.asm.Ka).apply(null,arguments)},cB=i._Sigmoid=function(){return(cB=i._Sigmoid=i.asm.La).apply(null,arguments)},pB=i._Sin=function(){return(pB=i._Sin=i.asm.Ma).apply(null,arguments)},mB=i._Softmax=function(){return(mB=i._Softmax=i.asm.Na).apply(null,arguments)},fB=i._Sqrt=function(){return(fB=i._Sqrt=i.asm.Oa).apply(null,arguments)},dB=i._Square=function(){return(dB=i._Square=i.asm.Pa).apply(null,arguments)},hB=i._SquaredDifference=function(){return(hB=i._SquaredDifference=i.asm.Qa).apply(null,arguments)},gB=i._Step=function(){return(gB=i._Step=i.asm.Ra).apply(null,arguments)},xB=i._StridedSlice=function(){return(xB=i._StridedSlice=i.asm.Sa).apply(null,arguments)},yB=i._Sub=function(){return(yB=i._Sub=i.asm.Ta).apply(null,arguments)},bB=i._Sum=function(){return(bB=i._Sum=i.asm.Ua).apply(null,arguments)},wB=i._Tanh=function(){return(wB=i._Tanh=i.asm.Va).apply(null,arguments)},_B=i._Tile=function(){return(_B=i._Tile=i.asm.Wa).apply(null,arguments)},kB=i._TopK=function(){return(kB=i._TopK=i.asm.Xa).apply(null,arguments)},vB=i._Transpose=function(){return(vB=i._Transpose=i.asm.Ya).apply(null,arguments)},CB=i.__FusedMatMul=function(){return(CB=i.__FusedMatMul=i.asm.Za).apply(null,arguments)},cm=i._malloc=function(){return(cm=i._malloc=i.asm._a).apply(null,arguments)},pm=i._free=function(){return(pm=i._free=i.asm.$a).apply(null,arguments)},IB=i.___em_js__initPthreadsJS=function(){return(IB=i.___em_js__initPthreadsJS=i.asm.ab).apply(null,arguments)},lI=i.___errno_location=function(){return(lI=i.___errno_location=i.asm.bb).apply(null,arguments)},uI=i._emscripten_get_global_libc=function(){return(uI=i._emscripten_get_global_libc=i.asm.cb).apply(null,arguments)},cI=i._memalign=function(){return(cI=i._memalign=i.asm.db).apply(null,arguments)},pI=i.___pthread_tsd_run_dtors=function(){return(pI=i.___pthread_tsd_run_dtors=i.asm.eb).apply(null,arguments)},_b=i._emscripten_main_thread_process_queued_calls=function(){return(_b=i._emscripten_main_thread_process_queued_calls=i.asm.fb).apply(null,arguments)},NB=i._emscripten_current_thread_process_queued_calls=function(){return(NB=i._emscripten_current_thread_process_queued_calls=i.asm.gb).apply(null,arguments)},mI=i._emscripten_register_main_browser_thread_id=function(){return(mI=i._emscripten_register_main_browser_thread_id=i.asm.hb).apply(null,arguments)},SB=i._emscripten_main_browser_thread_id=function(){return(SB=i._emscripten_main_browser_thread_id=i.asm.ib).apply(null,arguments)},TB=i._emscripten_async_run_in_main_thread=function(){return(TB=i._emscripten_async_run_in_main_thread=i.asm.jb).apply(null,arguments)},EB=i._emscripten_sync_run_in_main_thread=function(){return(EB=i._emscripten_sync_run_in_main_thread=i.asm.kb).apply(null,arguments)},AB=i._emscripten_sync_run_in_main_thread_0=function(){return(AB=i._emscripten_sync_run_in_main_thread_0=i.asm.lb).apply(null,arguments)},DB=i._emscripten_sync_run_in_main_thread_1=function(){return(DB=i._emscripten_sync_run_in_main_thread_1=i.asm.mb).apply(null,arguments)},$B=i._emscripten_sync_run_in_main_thread_2=function(){return($B=i._emscripten_sync_run_in_main_thread_2=i.asm.nb).apply(null,arguments)},RB=i._emscripten_sync_run_in_main_thread_xprintf_varargs=function(){return(RB=i._emscripten_sync_run_in_main_thread_xprintf_varargs=i.asm.ob).apply(null,arguments)},FB=i._emscripten_sync_run_in_main_thread_3=function(){return(FB=i._emscripten_sync_run_in_main_thread_3=i.asm.pb).apply(null,arguments)},fI=i._emscripten_sync_run_in_main_thread_4=function(){return(fI=i._emscripten_sync_run_in_main_thread_4=i.asm.qb).apply(null,arguments)},OB=i._emscripten_sync_run_in_main_thread_5=function(){return(OB=i._emscripten_sync_run_in_main_thread_5=i.asm.rb).apply(null,arguments)},PB=i._emscripten_sync_run_in_main_thread_6=function(){return(PB=i._emscripten_sync_run_in_main_thread_6=i.asm.sb).apply(null,arguments)},MB=i._emscripten_sync_run_in_main_thread_7=function(){return(MB=i._emscripten_sync_run_in_main_thread_7=i.asm.tb).apply(null,arguments)},dI=i._emscripten_run_in_main_runtime_thread_js=function(){return(dI=i._emscripten_run_in_main_runtime_thread_js=i.asm.ub).apply(null,arguments)},kb=i._emscripten_async_queue_on_thread_=function(){return(kb=i._emscripten_async_queue_on_thread_=i.asm.vb).apply(null,arguments)},LB=i._emscripten_tls_init=function(){return(LB=i._emscripten_tls_init=i.asm.wb).apply(null,arguments)},mm=i.stackSave=function(){return(mm=i.stackSave=i.asm.xb).apply(null,arguments)},Cc=i.stackAlloc=function(){return(Cc=i.stackAlloc=i.asm.yb).apply(null,arguments)},Ic=i.stackRestore=function(){return(Ic=i.stackRestore=i.asm.zb).apply(null,arguments)},hI=i.dynCall_vi=function(){return(hI=i.dynCall_vi=i.asm.Ab).apply(null,arguments)},zB=i.dynCall_v=function(){return(zB=i.dynCall_v=i.asm.Bb).apply(null,arguments)},BB=i.dynCall_ii=function(){return(BB=i.dynCall_ii=i.asm.Cb).apply(null,arguments)};i.asm=Ph,i.cwrap=De,i.PThread=_e,i.PThread=_e,i._pthread_self=js,i.wasmMemory=Y,i.ExitStatus=gI;var fm;i.then=function(I){if(fm)I(i);else{var $=i.onRuntimeInitialized;i.onRuntimeInitialized=function(){$&&$(),I(i)}}return i};function gI(I){this.name="ExitStatus",this.message="Program terminated with exit("+I+")",this.status=I}Fl=function I(){fm||vb(),fm||(Fl=I)};function vb(I){if(I=I||c,Qi>0||(Gn(),Qi>0))return;function $(){fm||(fm=!0,i.calledRun=!0,!ae&&(kh(),yy(),i.onRuntimeInitialized&&i.onRuntimeInitialized(),by()))}i.setStatus?(i.setStatus("Running..."),setTimeout(function(){setTimeout(function(){i.setStatus("")},1),$()},1)):$()}if(i.run=vb,i.preInit)for(typeof i.preInit=="function"&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return x||(te=!0),x||vb(),e}}();typeof ux=="object"&&typeof p0=="object"?p0.exports=m0:typeof define=="function"&&define.amd?define([],function(){return m0}):typeof ux=="object"&&(ux.WasmBackendModuleThreadedSimd=m0)});var VO=ht((cx,f0)=>{var d0=function(){var r=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(r=r||__filename),function(e){e=e||{};var t=typeof e!="undefined"?e:{},n={},o;for(o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);var s=[],a="./this.program",i=function(H,oe){throw oe},l=!1,u=!1,c=!1,p=!1;l=typeof window=="object",u=typeof importScripts=="function",c=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",p=!l&&!c&&!u;var m="";function f(H){return t.locateFile?t.locateFile(H,m):m+H}var d,h,g,x,b,w;c?(u?m=Cp().dirname(m)+"/":m=__dirname+"/",d=function(oe,be){return b||(b=require("fs")),w||(w=Cp()),oe=w.normalize(oe),b.readFileSync(oe,be?null:"utf8")},g=function(oe){var be=d(oe,!0);return be.buffer||(be=new Uint8Array(be)),G(be.buffer),be},process.argv.length>1&&(a=process.argv[1].replace(/\\/g,"/")),s=process.argv.slice(2),process.on("uncaughtException",function(H){if(!(H instanceof am))throw H}),process.on("unhandledRejection",Ji),i=function(H){process.exit(H)},t.inspect=function(){return"[Emscripten Module object]"}):p?(typeof read!="undefined"&&(d=function(oe){return read(oe)}),g=function(oe){var be;return typeof readbuffer=="function"?new Uint8Array(readbuffer(oe)):(be=read(oe,"binary"),G(typeof be=="object"),be)},typeof scriptArgs!="undefined"?s=scriptArgs:typeof arguments!="undefined"&&(s=arguments),typeof quit=="function"&&(i=function(H){quit(H)}),typeof print!="undefined"&&(typeof console=="undefined"&&(console={}),console.log=print,console.warn=console.error=typeof printErr!="undefined"?printErr:print)):(l||u)&&(u?m=self.location.href:document.currentScript&&(m=document.currentScript.src),r&&(m=r),m.indexOf("blob:")!==0?m=m.substr(0,m.lastIndexOf("/")+1):m="",d=function(oe){var be=new XMLHttpRequest;return be.open("GET",oe,!1),be.send(null),be.responseText},u&&(g=function(oe){var be=new XMLHttpRequest;return be.open("GET",oe,!1),be.responseType="arraybuffer",be.send(null),new Uint8Array(be.response)}),h=function(oe,be,Ke){var Xe=new XMLHttpRequest;Xe.open("GET",oe,!0),Xe.responseType="arraybuffer",Xe.onload=function(){if(Xe.status==200||Xe.status==0&&Xe.response){be(Xe.response);return}Ke()},Xe.onerror=Ke,Xe.send(null)},x=function(H){document.title=H});var _=t.print||console.log.bind(console),k=t.printErr||console.warn.bind(console);for(o in n)n.hasOwnProperty(o)&&(t[o]=n[o]);n=null,t.arguments&&(s=t.arguments),t.thisProgram&&(a=t.thisProgram),t.quit&&(i=t.quit);var E;t.wasmBinary&&(E=t.wasmBinary);var S;t.noExitRuntime&&(S=t.noExitRuntime),typeof WebAssembly!="object"&&k("no native wasm support detected");var R,F=new WebAssembly.Table({initial:151,maximum:151+0,element:"anyfunc"}),P=!1,j=0;function G(H,oe){H||Ji("Assertion failed: "+oe)}function U(H){var oe=t["_"+H];return G(oe,"Cannot call unknown function "+H+", make sure it is exported"),oe}function X(H,oe,be,Ke,Xe){var Ht={string:function(hn){var Ya=0;if(hn!=null&&hn!==0){var Vh=(hn.length<<2)+1;Ya=im(Vh),ie(hn,Ya,Vh)}return Ya},array:function(hn){var Ya=im(hn.length);return se(hn,Ya),Ya}};function at(hn){return oe==="string"?Y(hn):oe==="boolean"?Boolean(hn):hn}var ot=U(H),yr=[],ta=0;if(Ke)for(var ra=0;ra=Ke);)++Xe;if(Xe-oe>16&&H.subarray&&Z)return Z.decode(H.subarray(oe,Xe));for(var Ht="";oe>10,56320|ta&1023)}}return Ht}function Y(H,oe){return H?te(xe,H,oe):""}function re(H,oe,be,Ke){if(!(Ke>0))return 0;for(var Xe=be,Ht=be+Ke-1,at=0;at=55296&&ot<=57343){var yr=H.charCodeAt(++at);ot=65536+((ot&1023)<<10)|yr&1023}if(ot<=127){if(be>=Ht)break;oe[be++]=ot}else if(ot<=2047){if(be+1>=Ht)break;oe[be++]=192|ot>>6,oe[be++]=128|ot&63}else if(ot<=65535){if(be+2>=Ht)break;oe[be++]=224|ot>>12,oe[be++]=128|ot>>6&63,oe[be++]=128|ot&63}else{if(be+3>=Ht)break;oe[be++]=240|ot>>18,oe[be++]=128|ot>>12&63,oe[be++]=128|ot>>6&63,oe[be++]=128|ot&63}}return oe[be]=0,be-Xe}function ie(H,oe,be){return re(H,xe,oe,be)}function se(H,oe){ae.set(H,oe)}var pe,ae,xe,ge,we,ke,De,$e,Re;function qe(H){pe=H,t.HEAP8=ae=new Int8Array(H),t.HEAP16=ge=new Int16Array(H),t.HEAP32=ke=new Int32Array(H),t.HEAPU8=xe=new Uint8Array(H),t.HEAPU16=we=new Uint16Array(H),t.HEAPU32=De=new Uint32Array(H),t.HEAPF32=$e=new Float32Array(H),t.HEAPF64=Re=new Float64Array(H)}var ut=t.INITIAL_MEMORY||16777216;function kt(H){for(;H.length>0;){var oe=H.shift();if(typeof oe=="function"){oe(t);continue}var be=oe.func;typeof be=="number"?oe.arg===void 0?t.dynCall_v(be):t.dynCall_vi(be,oe.arg):be(oe.arg===void 0?null:oe.arg)}}var vt=[],pt=[],Ct=[],He=[],Ot=!1,mn=!1;function Jt(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)dn(t.preRun.shift());kt(vt)}function fn(){Ot=!0,kt(pt)}function _r(){kt(Ct)}function Bn(){mn=!0}function Jr(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)kr(t.postRun.shift());kt(He)}function dn(H){vt.unshift(H)}function kr(H){He.unshift(H)}var Sn=Math.ceil,Vn=Math.floor,Qr=0,ts=null,Tn=null;function xc(H){Qr++,t.monitorRunDependencies&&t.monitorRunDependencies(Qr)}function rs(H){if(Qr--,t.monitorRunDependencies&&t.monitorRunDependencies(Qr),Qr==0&&(ts!==null&&(clearInterval(ts),ts=null),Tn)){var oe=Tn;Tn=null,oe()}}t.preloadedImages={},t.preloadedAudios={};function Ji(H){throw t.onAbort&&t.onAbort(H),H+="",_(H),k(H),P=!0,j=1,H="abort("+H+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(H)}function $l(H,oe){return String.prototype.startsWith?H.startsWith(oe):H.indexOf(oe)===0}var xy="data:application/octet-stream;base64,";function Qp(H){return $l(H,xy)}var _h="file://";function em(H){return $l(H,_h)}var Gn="tfjs-backend-wasm.wasm";Qp(Gn)||(Gn=f(Gn));function kh(){try{if(E)return new Uint8Array(E);if(g)return g(Gn);throw"both async and sync fetching of the wasm failed"}catch(H){Ji(H)}}function yy(){return!E&&(l||u)&&typeof fetch=="function"&&!em(Gn)?fetch(Gn,{credentials:"same-origin"}).then(function(H){if(!H.ok)throw"failed to load wasm binary file at '"+Gn+"'";return H.arrayBuffer()}).catch(function(){return kh()}):new Promise(function(H,oe){H(kh())})}function by(){var H={env:ea,wasi_snapshot_preview1:ea};function oe(at,ot){var yr=at.exports;t.asm=yr,R=yr.memory,qe(R.buffer),rs("wasm-instantiate")}xc("wasm-instantiate");function be(at){oe(at.instance)}function Ke(at){return yy().then(function(ot){return WebAssembly.instantiate(ot,H)}).then(at,function(ot){k("failed to asynchronously prepare wasm: "+ot),Ji(ot)})}function Xe(){if(!E&&typeof WebAssembly.instantiateStreaming=="function"&&!Qp(Gn)&&!em(Gn)&&typeof fetch=="function")fetch(Gn,{credentials:"same-origin"}).then(function(at){var ot=WebAssembly.instantiateStreaming(at,H);return ot.then(be,function(yr){k("wasm streaming compile failed: "+yr),k("falling back to ArrayBuffer instantiation"),Ke(be)})});else return Ke(be)}if(t.instantiateWasm)try{var Ht=t.instantiateWasm(H,oe);return Ht}catch(at){return k("Module.instantiateWasm callback failed with error: "+at),!1}return Xe(),{}}pt.push();function wy(H){qe(R.buffer)}var Rl={splitPath:function(H){var oe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return oe.exec(H).slice(1)},normalizeArray:function(H,oe){for(var be=0,Ke=H.length-1;Ke>=0;Ke--){var Xe=H[Ke];Xe==="."?H.splice(Ke,1):Xe===".."?(H.splice(Ke,1),be++):be&&(H.splice(Ke,1),be--)}if(oe)for(;be;be--)H.unshift("..");return H},normalize:function(H){var oe=H.charAt(0)==="/",be=H.substr(-1)==="/";return H=Rl.normalizeArray(H.split("/").filter(function(Ke){return!!Ke}),!oe).join("/"),!H&&!oe&&(H="."),H&&be&&(H+="/"),(oe?"/":"")+H},dirname:function(H){var oe=Rl.splitPath(H),be=oe[0],Ke=oe[1];return!be&&!Ke?".":(Ke&&(Ke=Ke.substr(0,Ke.length-1)),be+Ke)},basename:function(H){if(H==="/")return"/";var oe=H.lastIndexOf("/");return oe===-1?H:H.substr(oe+1)},extname:function(H){return Rl.splitPath(H)[3]},join:function(){var H=Array.prototype.slice.call(arguments,0);return Rl.normalize(H.join("/"))},join2:function(H,oe){return Rl.normalize(H+"/"+oe)}},yc={mappings:{},buffers:[null,[],[]],printChar:function(H,oe){var be=yc.buffers[H];oe===0||oe===10?((H===1?_:k)(te(be,0)),be.length=0):be.push(oe)},varargs:void 0,get:function(){yc.varargs+=4;var H=ke[yc.varargs-4>>2];return H},getStr:function(H){var oe=Y(H);return oe},get64:function(H,oe){return H}};function _y(H){return 0}function Qi(H,oe,be,Ke,Xe){}function tm(H,oe,be,Ke){for(var Xe=0,Ht=0;Ht>2],ot=ke[oe+(Ht*8+4)>>2],yr=0;yr>2]=Xe,0}function Fl(H){Lh(H)}function ky(H){Fl(H)}function vy(H){return H=+H,H>=0?+Vn(H+.5):+Sn(H-.5)}var ea={emscripten_notify_memory_growth:wy,fd_close:_y,fd_seek:Qi,fd_write:tm,proc_exit:ky,roundf:vy},rm=by();t.asm=rm;var Cy=t._init=function(){return(Cy=t._init=t.asm.init).apply(null,arguments)},vh=t._register_tensor=function(){return(vh=t._register_tensor=t.asm.register_tensor).apply(null,arguments)},Iy=t._dispose_data=function(){return(Iy=t._dispose_data=t.asm.dispose_data).apply(null,arguments)},Ch=t._dispose=function(){return(Ch=t._dispose=t.asm.dispose).apply(null,arguments)},jn=t._Abs=function(){return(jn=t._Abs=t.asm.Abs).apply(null,arguments)},Ih=t._Add=function(){return(Ih=t._Add=t.asm.Add).apply(null,arguments)},Ny=t._AddN=function(){return(Ny=t._AddN=t.asm.AddN).apply(null,arguments)},Sy=t._ArgMax=function(){return(Sy=t._ArgMax=t.asm.ArgMax).apply(null,arguments)},Ty=t._AvgPool=function(){return(Ty=t._AvgPool=t.asm.AvgPool).apply(null,arguments)},Ey=t._BatchMatMul=function(){return(Ey=t._BatchMatMul=t.asm.BatchMatMul).apply(null,arguments)},Nh=t._ClipByValue=function(){return(Nh=t._ClipByValue=t.asm.ClipByValue).apply(null,arguments)},Sh=t._Conv2D=function(){return(Sh=t._Conv2D=t.asm.Conv2D).apply(null,arguments)},Th=t._Conv2DBackpropInput=function(){return(Th=t._Conv2DBackpropInput=t.asm.Conv2DBackpropInput).apply(null,arguments)},bc=t._Cos=function(){return(bc=t._Cos=t.asm.Cos).apply(null,arguments)},nm=t._CropAndResize=function(){return(nm=t._CropAndResize=t.asm.CropAndResize).apply(null,arguments)},wc=t._Cumsum=function(){return(wc=t._Cumsum=t.asm.Cumsum).apply(null,arguments)},_c=t._DepthToSpace=function(){return(_c=t._DepthToSpace=t.asm.DepthToSpace).apply(null,arguments)},Ay=t._DepthwiseConv2dNative=function(){return(Ay=t._DepthwiseConv2dNative=t.asm.DepthwiseConv2dNative).apply(null,arguments)},Dy=t._Equal=function(){return(Dy=t._Equal=t.asm.Equal).apply(null,arguments)},$y=t._Exp=function(){return($y=t._Exp=t.asm.Exp).apply(null,arguments)},_e=t._FlipLeftRight=function(){return(_e=t._FlipLeftRight=t.asm.FlipLeftRight).apply(null,arguments)},Ry=t._Floor=function(){return(Ry=t._Floor=t.asm.Floor).apply(null,arguments)},Fy=t._FloorDiv=function(){return(Fy=t._FloorDiv=t.asm.FloorDiv).apply(null,arguments)},Oy=t._FusedBatchNorm=function(){return(Oy=t._FusedBatchNorm=t.asm.FusedBatchNorm).apply(null,arguments)},Py=t._FusedConv2D=function(){return(Py=t._FusedConv2D=t.asm.FusedConv2D).apply(null,arguments)},Ol=t._FusedDepthwiseConv2D=function(){return(Ol=t._FusedDepthwiseConv2D=t.asm.FusedDepthwiseConv2D).apply(null,arguments)},My=t._Gather=function(){return(My=t._Gather=t.asm.Gather).apply(null,arguments)},Ly=t._GatherNd=function(){return(Ly=t._GatherNd=t.asm.GatherNd).apply(null,arguments)},zy=t._Greater=function(){return(zy=t._Greater=t.asm.Greater).apply(null,arguments)},By=t._GreaterEqual=function(){return(By=t._GreaterEqual=t.asm.GreaterEqual).apply(null,arguments)},Vy=t._LeakyRelu=function(){return(Vy=t._LeakyRelu=t.asm.LeakyRelu).apply(null,arguments)},Gy=t._Less=function(){return(Gy=t._Less=t.asm.Less).apply(null,arguments)},jy=t._LessEqual=function(){return(jy=t._LessEqual=t.asm.LessEqual).apply(null,arguments)},Wy=t._Log=function(){return(Wy=t._Log=t.asm.Log).apply(null,arguments)},Uy=t._LogicalAnd=function(){return(Uy=t._LogicalAnd=t.asm.LogicalAnd).apply(null,arguments)},qy=t._Max=function(){return(qy=t._Max=t.asm.Max).apply(null,arguments)},Ka=t._MaxPool=function(){return(Ka=t._MaxPool=t.asm.MaxPool).apply(null,arguments)},Pl=t._Maximum=function(){return(Pl=t._Maximum=t.asm.Maximum).apply(null,arguments)},kc=t._Mean=function(){return(kc=t._Mean=t.asm.Mean).apply(null,arguments)},Hy=t._Min=function(){return(Hy=t._Min=t.asm.Min).apply(null,arguments)},Ky=t._Minimum=function(){return(Ky=t._Minimum=t.asm.Minimum).apply(null,arguments)},Xy=t._Multiply=function(){return(Xy=t._Multiply=t.asm.Multiply).apply(null,arguments)},Yy=t._Neg=function(){return(Yy=t._Neg=t.asm.Neg).apply(null,arguments)},Je=t._NonMaxSuppressionV3=function(){return(Je=t._NonMaxSuppressionV3=t.asm.NonMaxSuppressionV3).apply(null,arguments)},Zy=t._NonMaxSuppressionV4=function(){return(Zy=t._NonMaxSuppressionV4=t.asm.NonMaxSuppressionV4).apply(null,arguments)},Jy=t._NonMaxSuppressionV5=function(){return(Jy=t._NonMaxSuppressionV5=t.asm.NonMaxSuppressionV5).apply(null,arguments)},Qy=t._NotEqual=function(){return(Qy=t._NotEqual=t.asm.NotEqual).apply(null,arguments)},eb=t._OneHot=function(){return(eb=t._OneHot=t.asm.OneHot).apply(null,arguments)},tb=t._PadV2=function(){return(tb=t._PadV2=t.asm.PadV2).apply(null,arguments)},rb=t._Pow=function(){return(rb=t._Pow=t.asm.Pow).apply(null,arguments)},om=t._Prelu=function(){return(om=t._Prelu=t.asm.Prelu).apply(null,arguments)},Eh=t._Prod=function(){return(Eh=t._Prod=t.asm.Prod).apply(null,arguments)},Ah=t._RealDiv=function(){return(Ah=t._RealDiv=t.asm.RealDiv).apply(null,arguments)},nb=t._Relu=function(){return(nb=t._Relu=t.asm.Relu).apply(null,arguments)},ob=t._Relu6=function(){return(ob=t._Relu6=t.asm.Relu6).apply(null,arguments)},sb=t._ResizeBilinear=function(){return(sb=t._ResizeBilinear=t.asm.ResizeBilinear).apply(null,arguments)},ib=t._Reverse=function(){return(ib=t._Reverse=t.asm.Reverse).apply(null,arguments)},ab=t._RotateWithOffset=function(){return(ab=t._RotateWithOffset=t.asm.RotateWithOffset).apply(null,arguments)},lb=t._Round=function(){return(lb=t._Round=t.asm.Round).apply(null,arguments)},rt=t._Rsqrt=function(){return(rt=t._Rsqrt=t.asm.Rsqrt).apply(null,arguments)},ub=t._ScatterNd=function(){return(ub=t._ScatterNd=t.asm.ScatterNd).apply(null,arguments)},cb=t._SelectV2=function(){return(cb=t._SelectV2=t.asm.SelectV2).apply(null,arguments)},pb=t._Sigmoid=function(){return(pb=t._Sigmoid=t.asm.Sigmoid).apply(null,arguments)},Ml=t._Sin=function(){return(Ml=t._Sin=t.asm.Sin).apply(null,arguments)},vc=t._Softmax=function(){return(vc=t._Softmax=t.asm.Softmax).apply(null,arguments)},Dh=t._Sqrt=function(){return(Dh=t._Sqrt=t.asm.Sqrt).apply(null,arguments)},$h=t._Square=function(){return($h=t._Square=t.asm.Square).apply(null,arguments)},Rh=t._SquaredDifference=function(){return(Rh=t._SquaredDifference=t.asm.SquaredDifference).apply(null,arguments)},mb=t._Step=function(){return(mb=t._Step=t.asm.Step).apply(null,arguments)},fb=t._StridedSlice=function(){return(fb=t._StridedSlice=t.asm.StridedSlice).apply(null,arguments)},Fh=t._Sub=function(){return(Fh=t._Sub=t.asm.Sub).apply(null,arguments)},db=t._Sum=function(){return(db=t._Sum=t.asm.Sum).apply(null,arguments)},js=t._Tanh=function(){return(js=t._Tanh=t.asm.Tanh).apply(null,arguments)},hb=t._Tile=function(){return(hb=t._Tile=t.asm.Tile).apply(null,arguments)},gb=t._TopK=function(){return(gb=t._TopK=t.asm.TopK).apply(null,arguments)},Oh=t._Transpose=function(){return(Oh=t._Transpose=t.asm.Transpose).apply(null,arguments)},Xa=t.__FusedMatMul=function(){return(Xa=t.__FusedMatMul=t.asm._FusedMatMul).apply(null,arguments)},xb=t._malloc=function(){return(xb=t._malloc=t.asm.malloc).apply(null,arguments)},yb=t._free=function(){return(yb=t._free=t.asm.free).apply(null,arguments)},Ph=t.__start=function(){return(Ph=t.__start=t.asm._start).apply(null,arguments)},sm=t.stackSave=function(){return(sm=t.stackSave=t.asm.stackSave).apply(null,arguments)},im=t.stackAlloc=function(){return(im=t.stackAlloc=t.asm.stackAlloc).apply(null,arguments)},Mh=t.stackRestore=function(){return(Mh=t.stackRestore=t.asm.stackRestore).apply(null,arguments)};t.asm=rm,t.cwrap=K;var Ll;t.then=function(H){if(Ll)H(t);else{var oe=t.onRuntimeInitialized;t.onRuntimeInitialized=function(){oe&&oe(),H(t)}}return t};function am(H){this.name="ExitStatus",this.message="Program terminated with exit("+H+")",this.status=H}var bb=!1;Tn=function H(){Ll||lm(),Ll||(Tn=H)};function wb(H){var oe=t.__start;try{oe();var be=0;Lh(be,!0)}catch(Xe){if(Xe instanceof am)return;if(Xe=="unwind"){S=!0;return}else{var Ke=Xe;Xe&&typeof Xe=="object"&&Xe.stack&&(Ke=[Xe,Xe.stack]),k("exception thrown: "+Ke),i(1,Xe)}}finally{bb=!0}}function lm(H){if(H=H||s,Qr>0||(Jt(),Qr>0))return;function oe(){Ll||(Ll=!0,t.calledRun=!0,!P&&(fn(),_r(),t.onRuntimeInitialized&&t.onRuntimeInitialized(),zh&&wb(H),Jr()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),oe()},1)):oe()}t.run=lm;function Lh(H,oe){oe&&S&&H===0||(S||(P=!0,j=H,Bn(),t.onExit&&t.onExit(H)),i(H,new am(H)))}if(t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();var zh=!0;return t.noInitialRun&&(zh=!1),S=!0,lm(),e}}();typeof cx=="object"&&typeof f0=="object"?f0.exports=d0:typeof define=="function"&&define.amd?define([],function(){return d0}):typeof cx=="object"&&(cx.WasmBackendModule=d0)});var Az=ht((Ez,KC)=>{(function(r,e,t){function n(i){var l=this,u=a();l.next=function(){var c=2091639*l.s0+l.c*23283064365386963e-26;return l.s0=l.s1,l.s1=l.s2,l.s2=c-(l.c=c|0)},l.c=1,l.s0=u(" "),l.s1=u(" "),l.s2=u(" "),l.s0-=u(i),l.s0<0&&(l.s0+=1),l.s1-=u(i),l.s1<0&&(l.s1+=1),l.s2-=u(i),l.s2<0&&(l.s2+=1),u=null}function o(i,l){return l.c=i.c,l.s0=i.s0,l.s1=i.s1,l.s2=i.s2,l}function s(i,l){var u=new n(i),c=l&&l.state,p=u.next;return p.int32=function(){return u.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,c&&(typeof c=="object"&&o(c,u),p.state=function(){return o(u,{})}),p}function a(){var i=4022871197,l=function(u){u=String(u);for(var c=0;c>>0,p-=i,p*=i,i=p>>>0,p-=i,i+=p*4294967296}return(i>>>0)*23283064365386963e-26};return l}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.alea=s})(Ez,typeof KC=="object"&&KC,typeof define=="function"&&define)});var $z=ht((Dz,XC)=>{(function(r,e,t){function n(a){var i=this,l="";i.x=0,i.y=0,i.z=0,i.w=0,i.next=function(){var c=i.x^i.x<<11;return i.x=i.y,i.y=i.z,i.z=i.w,i.w^=i.w>>>19^c^c>>>8},a===(a|0)?i.x=a:l+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor128=s})(Dz,typeof XC=="object"&&XC,typeof define=="function"&&define)});var Fz=ht((Rz,YC)=>{(function(r,e,t){function n(a){var i=this,l="";i.next=function(){var c=i.x^i.x>>>2;return i.x=i.y,i.y=i.z,i.z=i.w,i.w=i.v,(i.d=i.d+362437|0)+(i.v=i.v^i.v<<4^(c^c<<1))|0},i.x=0,i.y=0,i.z=0,i.w=0,i.v=0,a===(a|0)?i.x=a:l+=a;for(var u=0;u>>4),i.next()}function o(a,i){return i.x=a.x,i.y=a.y,i.z=a.z,i.w=a.w,i.v=a.v,i.d=a.d,i}function s(a,i){var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorwow=s})(Rz,typeof YC=="object"&&YC,typeof define=="function"&&define)});var Pz=ht((Oz,ZC)=>{(function(r,e,t){function n(a){var i=this;i.next=function(){var u=i.x,c=i.i,p,m,f;return p=u[c],p^=p>>>7,m=p^p<<24,p=u[c+1&7],m^=p^p>>>10,p=u[c+3&7],m^=p^p>>>3,p=u[c+4&7],m^=p^p<<7,p=u[c+7&7],p=p^p<<13,m^=p^p<<9,u[c]=m,i.i=c+1&7,m};function l(u,c){var p,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=""+c,p=0;p0;--p)u.next()}l(i,a)}function o(a,i){return i.x=a.x.slice(),i.i=a.i,i}function s(a,i){a==null&&(a=+new Date);var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(u.x&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xorshift7=s})(Oz,typeof ZC=="object"&&ZC,typeof define=="function"&&define)});var Lz=ht((Mz,JC)=>{(function(r,e,t){function n(a){var i=this;i.next=function(){var u=i.w,c=i.X,p=i.i,m,f;return i.w=u=u+1640531527|0,f=c[p+34&127],m=c[p=p+1&127],f^=f<<13,m^=m<<17,f^=f>>>15,m^=m>>>12,f=c[p]=f^m,i.i=p,f+(u^u>>>16)|0};function l(u,c){var p,m,f,d,h,g=[],x=128;for(c===(c|0)?(m=c,c=null):(c=c+"\0",m=0,x=Math.max(x,c.length)),f=0,d=-32;d>>15,m^=m<<4,m^=m>>>13,d>=0&&(h=h+1640531527|0,p=g[d&127]^=m+h,f=p==0?f+1:0);for(f>=128&&(g[(c&&c.length||0)&127]=-1),f=127,d=4*128;d>0;--d)m=g[f+34&127],p=g[f=f+1&127],m^=m<<13,p^=p<<17,m^=m>>>15,p^=p>>>12,g[f]=m^p;u.w=h,u.X=g,u.i=f}l(i,a)}function o(a,i){return i.i=a.i,i.w=a.w,i.X=a.X.slice(),i}function s(a,i){a==null&&(a=+new Date);var l=new n(a),u=i&&i.state,c=function(){return(l.next()>>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(u.X&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.xor4096=s})(Mz,typeof JC=="object"&&JC,typeof define=="function"&&define)});var Bz=ht((zz,QC)=>{(function(r,e,t){function n(a){var i=this,l="";i.next=function(){var c=i.b,p=i.c,m=i.d,f=i.a;return c=c<<25^c>>>7^p,p=p-m|0,m=m<<24^m>>>8^f,f=f-c|0,i.b=c=c<<20^c>>>12^p,i.c=p=p-m|0,i.d=m<<16^p>>>16^f,i.a=f-c|0},i.a=0,i.b=0,i.c=2654435769|0,i.d=1367130551,a===Math.floor(a)?(i.a=a/4294967296|0,i.b=a|0):l+=a;for(var u=0;u>>0)/4294967296};return c.double=function(){do var p=l.next()>>>11,m=(l.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=l.next,c.quick=c,u&&(typeof u=="object"&&o(u,l),c.state=function(){return o(l,{})}),c}e&&e.exports?e.exports=s:t&&t.amd?t(function(){return s}):this.tychei=s})(zz,typeof QC=="object"&&QC,typeof define=="function"&&define)});var Gz=ht((Vz,uy)=>{(function(r,e,t){var n=256,o=6,s=52,a="random",i=t.pow(n,o),l=t.pow(2,s),u=l*2,c=n-1,p;function m(w,_,k){var E=[];_=_==!0?{entropy:!0}:_||{};var S=g(h(_.entropy?[w,b(e)]:w==null?x():w,3),E),R=new f(E),F=function(){for(var P=R.g(o),j=i,G=0;P=u;)P/=2,j/=2,G>>>=1;return(P+G)/j};return F.int32=function(){return R.g(4)|0},F.quick=function(){return R.g(4)/4294967296},F.double=F,g(b(R.S),e),(_.pass||k||function(P,j,G,U){return U&&(U.S&&d(U,R),P.state=function(){return d(R,{})}),G?(t[a]=P,j):P})(F,S,"global"in _?_.global:this==t,_.state)}function f(w){var _,k=w.length,E=this,S=0,R=E.i=E.j=0,F=E.S=[];for(k||(w=[k++]);S{var Pte=Az(),Mte=$z(),Lte=Fz(),zte=Pz(),Bte=Lz(),Vte=Bz(),gc=Gz();gc.alea=Pte;gc.xor128=Mte;gc.xorwow=Lte;gc.xorshift7=zte;gc.xor4096=Bte;gc.tychei=Vte;jz.exports=gc});var x3=ht(()=>{});var yI="3.0.0";var bI="3.0.0";var wI="3.0.0";var _I="3.0.0";var kI="3.0.0";var KB=1e-7,XB=1e-4,Ja=class{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap,this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}},Ws=class{decComplexRef(e){}time(e){return Us("time")}read(e){return Us("read")}readSync(e){return Us("readSync")}numDataIds(){return Us("numDataIds")}disposeData(e){return Us("disposeData")}write(e,t,n){return Us("write")}move(e,t,n,o){return Us("move")}memory(){return Us("memory")}floatPrecision(){return Us("floatPrecision")}epsilon(){return this.floatPrecision()===32?KB:XB}dispose(){return Us("dispose")}};function Us(r){throw new Error(`'${r}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function vI(r){let e=r.length,t=0,n=0;for(;e>0;)n=Math.random()*e|0,e--,t=r[e],r[e]=r[n],r[n]=t}function YB(r,e){if(r.length!==e.length)throw Error(`Array sizes must match to be shuffled together First array length was ${r.length}Second array length was ${e.length}`);let t=r.length,n,o,s=0;for(;t>0;)s=Math.random()*t|0,t--,n=r[t],o=e[t],r[t]=r[s],e[t]=e[s],r[s]=n,e[s]=o}function Ec(r,e,t){return Math.max(r,Math.min(e,t))}function ZB(r){return r%2==0?r:r+1}function JB(r){let e=0;for(let t=0;tt+` Shapes ${r} and ${e} must match`)}function En(r){A(r!=null,()=>"The input to the tensor constructor must be a non-null value.")}function ns(r,e=[],t=!1){if(e==null&&(e=[]),Array.isArray(r)||nr(r)&&!t)for(let n=0;n0,t){return new Promise((n,o)=>{let s=0,a=()=>{if(r()){n();return}s++;let i=e(s);if(t!=null&&s>=t){o();return}setTimeout(a,i)};a()})}function iV(r,e){let t=1,n=-1;for(let s=0;s=0)t*=r[s];else if(r[s]===-1){if(n!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${n} and dim ${s}`);n=s}else if(r[s]<0)throw Error(`Shapes can not be < 0. Found ${r[s]} at dim ${s}`);if(n===-1){if(e>0&&e!==t)throw Error(`Size(${e}) must match the product of shape ${r}`);return r}if(t===0)throw Error(`Cannot infer the missing size in [${r}] when there are 0 elements`);if(e%t!=0)throw Error(`The implicit shape can't be a fractional number. Got ${e} / ${t}`);let o=r.slice();return o[n]=e/t,o}function Qt(r,e){let t=e.length;return r=r==null?e.map((n,o)=>o):[].concat(r),A(r.every(n=>n>=-t&&n`All values in axis param must be in range [-${t}, ${t}) but got axis ${r}`),A(r.every(n=>st(n)),()=>`All values in axis param must be integers but got axis ${r}`),r.map(n=>n<0?t+n:n)}function Nb(r,e){let t=[],n=[],o=e!=null&&Array.isArray(e)&&e.length===0,s=e==null||o?null:Qt(e,r).sort(),a=0;for(let i=0;ii)&&r[i]===1&&(t.push(r[i]),n.push(i)),s[a]<=i&&a++}r[i]!==1&&(t.push(r[i]),n.push(i))}return{newShape:t,keptDims:n}}function Sb(r,e){let t=null;if(r==null||r==="float32")t=new Float32Array(e);else if(r==="int32")t=new Int32Array(e);else if(r==="bool")t=new Uint8Array(e);else throw new Error(`Unknown data type ${r}`);return t}function Tb(r,e){let t=null;if(r==null||r==="float32")t=new Float32Array(e);else if(r==="int32")t=new Int32Array(e);else if(r==="bool")t=new Uint8Array(e);else if(r==="string")t=new Array(e);else throw new Error(`Unknown data type ${r}`);return t}function Eb(r,e){for(let t=0;te+=t.length),e}function os(r){return typeof r=="string"||r instanceof String}function CI(r){return typeof r=="boolean"}function II(r){return typeof r=="number"}function Ac(r){return Array.isArray(r)?Ac(r[0]):r instanceof Float32Array?"float32":r instanceof Int32Array||r instanceof Uint8Array?"int32":II(r)?"float32":os(r)?"string":CI(r)?"bool":"float32"}function qs(r){return!!(r&&r.constructor&&r.call&&r.apply)}function Dc(r,e){for(let t=e;t=0;--n)t[n]=t[n+1]*r[n+1];return t}function NI(r,e,t){let n=new Array;if(e.length===1){let o=e[0];for(let s=0;si*l);for(let i=0;in*o);if(t===0)return[];if(t!==e.length)throw new Error(`[${r}] does not match the input size ${e.length}.`);return NI(0,r,e)}function gm(r,e){let t=$c(r,e);for(let n=0;nn*o,1);if(e==null||e==="float32")return Bl(r,new Float32Array(t));if(e==="int32")return Bl(r,new Int32Array(t));if(e==="bool")return Bl(r,new Uint8Array(t));throw new Error(`Unknown data type ${e}`)}function xm(r){r.forEach(e=>{A(Number.isInteger(e)&&e>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${r}].`)})}function uV(r,e,t){if(e===0)return 0;if(e===1)return r[0];let n=r[r.length-1];for(let o=0;o{let[o,s]=n.split(":");this.urlFlags[o]=mV(o,s)})}};function pV(r){let e={};return r.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(t,...n)=>(fV(e,n[0],n[1]),n.join("="))),e}function fV(r,e,t){r[decodeURIComponent(e)]=decodeURIComponent(t||"")}function mV(r,e){if(e=e.toLowerCase(),e==="true"||e==="false")return e==="true";if(`${+e}`===e)return+e;throw new Error(`Could not parse value flag value ${e} for flag ${r}.`)}function W(){return Rb}var Rb=null;function TI(r){Rb=r}var Fb;function Ob(){if(Fb==null){let r;if(typeof window!="undefined")r=window;else if(typeof global!="undefined")r=global;else if(typeof process!="undefined")r=process;else if(typeof self!="undefined")r=self;else throw new Error("Could not find a global object");Fb=r}return Fb}function dV(){let r=Ob();return r._tfGlobals==null&&(r._tfGlobals=new Map),r._tfGlobals}function bm(r,e){let t=dV();if(t.has(r))return t.get(r);{let n=e();return t.set(r,n),t.get(r)}}var ss="Abs",Ks="Acos",Xs="Acosh",xn="Add",Wn="AddN",Vl="All",Gl="Any",Un="ArgMax",na="ArgMin",Ys="Asin",Zs="Asinh",Js="Atan",Qs="Atanh",ei="Atan2",qn="AvgPool",jl="AvgPoolGrad",oa="AvgPool3D",Wl="AvgPool3DGrad",Hn="BatchMatMul",sa="BatchToSpaceND",Ul="Bincount",Pb="BroadcastTo",An="Cast",ti="Ceil",Dn="ClipByValue",ql="Complex",ia="ComplexAbs",is="Concat",Kn="Conv2D",Hl="Conv2DBackpropFilter",Xn="Conv2DBackpropInput",aa="Conv3D",Kl="Conv3DBackpropFilterV2",Xl="Conv3DBackpropInputV2",Yn="Cos",ri="Cosh",Zn="Cumsum",ni="CropAndResize",Yl="DenseBincount",oi="DepthToSpace",Jn="DepthwiseConv2dNative",Zl="DepthwiseConv2dNativeBackpropFilter",Jl="DepthwiseConv2dNativeBackpropInput",Ql="Diag",la="Dilation2D",Rc="Dilation2DBackpropInput",Fc="Dilation2DBackpropFilter",Qn="RealDiv",si="Elu",eu="EluGrad",ii="Erf",ai="Equal",eo="Exp",as="ExpandDims",li="Expm1",tu="FFT",ua="Fill",ui="FlipLeftRight",to="Floor",ro="FloorDiv",no="FusedBatchNorm",ls="GatherV2",ci="GatherNd",pi="Greater",oo="GreaterEqual",us="Identity",ru="IFFT",nu="Imag",mi="IsFinite",fi="IsInf",di="IsNan",so="LeakyRelu",hi="Less",gi="LessEqual",ou="LinSpace",io="Log",xi="Log1p",yi="LogicalAnd",Qa="LogicalNot",el="LogicalOr",Mb="LogSoftmax",ca="LRN",su="LRNGrad",ao="Max",lo="Maximum",uo="MaxPool",iu="MaxPoolGrad",pa="MaxPool3D",au="MaxPool3DGrad",lu="MaxPoolWithArgmax",co="Mean",po="Min",mo="Minimum",ma="MirrorPad",bi="Mod",uu="Multinomial",fo="Multiply",cs="Neg",wi="NotEqual",_i="NonMaxSuppressionV3",ki="NonMaxSuppressionV4",vi="NonMaxSuppressionV5",ps="OnesLike",ho="OneHot",ms="Pack",go="PadV2",hV="Pool",xo="Pow",yo="Prelu",Ci="Prod",fa="Range",cu="Real",Ii="Reciprocal",bo="Relu",fs="Reshape",da="ResizeNearestNeighbor",pu="ResizeNearestNeighborGrad",wo="ResizeBilinear",mu="ResizeBilinearGrad",_o="Relu6",ko="Reverse",vo="Round",Co="Rsqrt",Ni="ScatterNd",ds="Select",Si="Selu",hs="Slice",Io="Sin",Ti="Sinh",Ei="Sign",No="Sigmoid",Ai="Softplus",So="Sqrt",To="Sum",ha="SpaceToBatchND",gs="SplitV",Eo="Softmax",Ao="SquaredDifference",ga="Square",Do="Sub",fu="SparseToDense",Di="StridedSlice",$i="Tan",$o="Tanh",yn="Tile",Ri="TopK",Ro="Transpose",du="Unique",xs="Unpack",xa="UnsortedSegmentSum",ys="ZerosLike",$n="Step",Oc="FromPixels",Fi="RotateWithOffset",bs="_FusedMatMul",ws="FusedConv2D",_s="FusedDepthwiseConv2D";var Pc=bm("kernelRegistry",()=>new Map),wm=bm("gradRegistry",()=>new Map);function Mc(r,e){let t=Lb(r,e);return Pc.get(t)}function Wh(r){return wm.get(r)}function _m(r){let e=Pc.entries(),t=[];for(;;){let{done:n,value:o}=e.next();if(n)break;let[s,a]=o,[i]=s.split("_");i===r&&t.push(a)}return t}function tl(r){let{kernelName:e,backendName:t}=r,n=Lb(e,t);Pc.has(n)&&console.warn(`The kernel '${e}' for backend '${t}' is already registered`),Pc.set(n,r)}function zb(r){let{kernelName:e}=r;wm.has(e)&&W().getBool("DEBUG")&&console.warn(`Overriding the gradient for '${e}'`),wm.set(e,r)}function gV(r,e){let t=Lb(r,e);if(!Pc.has(t))throw new Error(`The kernel '${r}' for backend '${e}' is not registered`);Pc.delete(t)}function xV(r){if(!wm.has(r))throw new Error(`The gradient '${r}' for backend is not registered`);wm.delete(r)}function yV(r,e){_m(r).forEach(n=>{let o=Object.assign({},n,{backendName:e});tl(o)})}function Lb(r,e){return`${e}_${r}`}var y={};Ye(y,{arraysEqual:()=>Vr,assert:()=>A,assertNonNegativeIntegerDimensions:()=>xm,assertNonNull:()=>En,assertShapesMatch:()=>St,bytesFromStringArray:()=>$b,bytesPerElement:()=>Db,checkConversionForErrors:()=>Eb,clamp:()=>Ec,computeStrides:()=>Hs,createScalarValue:()=>bV,createShuffledIndices:()=>oV,decodeString:()=>zc,distSquared:()=>eV,encodeString:()=>rl,fetch:()=>_V,flatten:()=>ns,getArrayFromDType:()=>Tb,getTypedArrayFromDType:()=>Sb,hasEncodingLoss:()=>aV,indexToLoc:()=>cV,inferDtype:()=>Ac,inferFromImplicitShape:()=>iV,isBoolean:()=>CI,isFunction:()=>qs,isInt:()=>st,isNumber:()=>II,isPromise:()=>ym,isScalarShape:()=>tV,isString:()=>os,isTypedArray:()=>nr,isValidDtype:()=>Ab,locToIndex:()=>uV,makeOnesTypedArray:()=>gm,makeZerosNestedTypedArray:()=>lV,makeZerosTypedArray:()=>$c,nearestDivisor:()=>Dc,nearestLargerEven:()=>ZB,now:()=>Uh,parseAxisParam:()=>Qt,randUniform:()=>QB,repeatedTry:()=>sV,rightPad:()=>zl,shuffle:()=>vI,shuffleCombo:()=>YB,sizeFromShape:()=>ft,sizeToSquarishShape:()=>nV,squeezeShape:()=>Nb,sum:()=>JB,tanh:()=>rV,toNestedArray:()=>Bl,toTypedArray:()=>Lc});function bV(r,e){return e==="string"?rl(r):Lc([r],e)}function wV(r,e){return r instanceof Float32Array&&e==="float32"||r instanceof Int32Array&&e==="int32"||r instanceof Uint8Array&&e==="bool"}function Lc(r,e){if(e==="string")throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(r)&&(r=ns(r)),W().getBool("DEBUG")&&Eb(r,e),wV(r,e))return r;if(e==null||e==="float32"||e==="complex64")return new Float32Array(r);if(e==="int32")return new Int32Array(r);if(e==="bool"){let t=new Uint8Array(r.length);for(let n=0;n{o=n()},a=this.backendTimer.time(s);if(W().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let l=0;l{kV(c,u.dtype,e)})}return{kernelName:e,outputs:o,inputs:t,timeMs:a.then(l=>l.kernelMs),extraInfo:a.then(l=>l.getExtraProfileInfo!=null?l.getExtraProfileInfo():"")}}logKernelProfile(e){let{kernelName:t,outputs:n,timeMs:o,inputs:s,extraInfo:a}=e;n.forEach(i=>{Promise.all([i.data(),o,a]).then(l=>{this.logger.logKernelProfile(t,i,l[0],l[1],s,l[2])})})}};function kV(r,e,t){if(e!=="float32")return!1;for(let n=0;n0?h:""} `}}console.log(`%c${l} %c${i} %c${u}D ${p} %c${c} %c${m} %c${a}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}};function AI(r,e,t){let n={},o={};for(let l=0;ln[h.id]=!0),f=!0,o[u.id]=!0;break}if(f)break}}let s={};s[t.id]=!0;let a={};for(let l=r.length-1;l>=0;l--){let u=r[l],c=u.inputs;for(let p=0;p=0;o--){let s=e[o],a=[];if(s.outputs.forEach(l=>{let u=r[l.id];u!=null?a.push(u):a.push(null)}),s.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${s.kernelName}.`);let i=s.gradient(a);for(let l in s.inputs){if(!(l in i))throw new Error(`Cannot backprop through input ${l}. Available gradients found: ${Object.keys(i)}.`);let u=t(()=>i[l]());if(u.dtype!=="float32")throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input ${l} must have 'float32' dtype, but has '${u.dtype}'`);let c=s.inputs[l];if(!Vr(u.shape,c.shape))throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input '${l}' has shape '${u.shape}', which does not match the shape of the input '${c.shape}'`);if(r[c.id]==null)r[c.id]=u;else{let p=r[c.id];r[c.id]=n(p,u),p.dispose()}}}}var $I=20,km=3,Vb=7;function RI(r,e,t,n){let o=Hs(e),s=vV(r,e,t,o),a=e.length,i=qh(r,e,t,o,s),l=["Tensor"];return n&&(l.push(` dtype: ${t}`),l.push(` rank: ${a}`),l.push(` shape: [${e}]`),l.push(" values:")),l.push(i.map(u=>" "+u).join(` -`)),l.join(` -`)}function vV(r,e,t,n){let o=ft(e),s=n[n.length-1],a=new Array(s).fill(0),i=e.length,l=t==="complex64"?Cm(r):r;if(i>1)for(let u=0;u$I){let g=km*a,x=Array.from(r.slice(0,g)),b=Array.from(r.slice((i-km)*a,i*a));return t==="complex64"&&(x=Cm(x),b=Cm(b)),["["+x.map((w,_)=>vm(w,o[_],t)).join(", ")+", ..., "+b.map((w,_)=>vm(w,o[i-km+_],t)).join(", ")+"]"]}let h=t==="complex64"?Cm(r):Array.from(r);return["["+h.map((g,x)=>vm(g,o[x],t)).join(", ")+"]"]}let u=e.slice(1),c=n.slice(1),p=n[0]*a,m=[];if(i>$I){for(let h=0;h`Length of values '${o}' does not match the size inferred by the shape '${this.size}'.`)}if(t==="complex64")throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||Tb(t,this.size),this.strides=Hs(e)}set(e,...t){t.length===0&&(t=[0]),A(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);let n=this.locToIndex(t);this.values[n]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(let o of e){if(o<0||o>=this.shape[t]){let s=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw new Error(s)}t++}let n=e[e.length-1];for(let o=0;ozc(n))}catch(n){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataSync(){this.throwIfDisposed();let e=Oi().readSync(this.dataId);if(this.dtype==="string")try{return e.map(t=>zc(t))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();let e=await Oi().read(this.dataId);return this.dtype==="string"?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(Oi().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return Bc.print(this,e)}clone(){return this.throwIfDisposed(),Bc.clone(this)}toString(e=!1){let t=this.dataSync();return RI(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Bc.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),Oi().makeVariable(this,e,t,n)}};Object.defineProperty(Ve,Symbol.hasInstance,{value:r=>!!r&&r.data!=null&&r.dataSync!=null&&r.throwIfDisposed!=null});function O(){return bm("Tensor",()=>Ve)}O();var nl=class extends Ve{constructor(e,t,n,o){super(e.shape,e.dtype,e.dataId,o);this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!Vr(e.shape,this.shape))throw new Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);Oi().disposeTensor(this),this.dataId=e.dataId,Oi().incRef(this,null)}dispose(){Oi().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(nl,Symbol.hasInstance,{value:r=>r instanceof Ve&&r.assign!=null&&r.assign instanceof Function});var Fo={};Ye(Fo,{assertTypesMatch:()=>Hb,getTensorsInContainer:()=>Im,isTensorInList:()=>NV,makeTypesMatch:()=>Ge});var Gb;(function(r){r.R0="R0",r.R1="R1",r.R2="R2",r.R3="R3",r.R4="R4",r.R5="R5",r.R6="R6"})(Gb||(Gb={}));var jb;(function(r){r.float32="float32",r.int32="int32",r.bool="int32",r.complex64="complex64"})(jb||(jb={}));var Wb;(function(r){r.float32="float32",r.int32="int32",r.bool="bool",r.complex64="complex64"})(Wb||(Wb={}));var Ub;(function(r){r.float32="float32",r.int32="float32",r.bool="float32",r.complex64="complex64"})(Ub||(Ub={}));var qb;(function(r){r.float32="complex64",r.int32="complex64",r.bool="complex64",r.complex64="complex64"})(qb||(qb={}));var IV={float32:Ub,int32:jb,bool:Wb,complex64:qb};function fr(r,e){if(r==="string"||e==="string"){if(r==="string"&&e==="string")return"string";throw new Error(`Can not upcast ${r} with ${e}`)}return IV[r][e]}function hu(r){return fr(r,"int32")}function Ge(r,e){if(r.dtype===e.dtype)return[r,e];let t=fr(r.dtype,e.dtype);return[r.cast(t),e.cast(t)]}function Hb(r,e){A(r.dtype===e.dtype,()=>`The dtypes of the first(${r.dtype}) and second(${e.dtype}) input must match`)}function NV(r,e){return e.some(t=>t.id===r.id)}function Im(r){let e=[],t=new Set;return LI(r,e,t),e}function LI(r,e,t){if(r==null)return;if(r instanceof Ve){e.push(r);return}if(!SV(r))return;let n=r;for(let o in n){let s=n[o];t.has(s)||(t.add(s),LI(s,e,t))}}function SV(r){return Array.isArray(r)||typeof r=="object"}function Kb(r){return r.kernelName!=null}var Xb=class{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map(e=>e.name)))}}}dispose(){for(let e in this.registeredVariables)this.registeredVariables[e].dispose()}},gu=class{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new Xb}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let e=this.getSortedBackends();for(let t=0;t{t.setupFunc!=null&&t.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){_m(e).forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[e])})}initializeBackend(e){let t=this.registryFactory[e];if(t==null)throw new Error(`Cannot initialize backend ${e}, no registration found.`);try{let n=t.factory();if(n&&!(n instanceof Ws)&&typeof n.then=="function"){let o=++this.pendingBackendInitId,s=n.then(a=>o(othis.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){let e=this.getSortedBackends();for(let t=0;tthis.startScope(n),()=>this.endScope(o),()=>(o=t(),o instanceof Promise&&console.error("Cannot return a Promise inside of tidy."),o))}scopedRun(e,t,n){e();try{let o=n();return t(),o}catch(o){throw t(),o}}nextTensorId(){return gu.nextTensorId++}nextVariableId(){return gu.nextVariableId++}clone(e){let t=this.makeTensorFromDataId(e.dataId,e.shape,e.dtype),n={x:e},o=a=>({x:()=>{let i="float32",l={x:a},u={dtype:i};return D.runKernel(An,l,u)}}),s=[];return this.addTapeNode(this.state.activeScope.name,n,[t],o,s,{}),t}runKernel(e,t,n){if(!(Mc(e,this.backendName)!=null))throw new Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool("IS_TEST")}checkKernelForMemLeak(e,t,n){let o=this.backend.numDataIds(),s=0;n.forEach(l=>{s+=l.dtype==="complex64"?3:1});let a=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],i=o-t-s-a;if(i>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${i} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[],o=this.isTapeOn(),s=this.state.numBytes,a=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let i;this.backendName==null&&this.backend;let l,u=Kb(e)?e.kernelName:this.state.activeScope!=null?this.state.activeScope.name:"";if(Kb(e)){let{kernelName:d,inputs:h,attrs:g}=e;this.backendName==null&&this.backend;let x=Mc(d,this.backendName);A(x!=null,()=>`Cannot find registered kernel '${d}' for backend '${this.backendName}'`),i=()=>{let b=this.backend.numDataIds();l=x.kernelFunc({inputs:h,attrs:g,backend:this.backend});let w=Array.isArray(l)?l:[l];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(d,b,w);let _=w.map(k=>{if(k.rank!=null)return k;let{dataId:E,shape:S,dtype:R}=k;return this.makeTensorFromDataId(E,S,R)});if(o){let k=this.getTensorsForGradient(d,h,_);n=this.saveTensorsForBackwardMode(k)}return _}}else{let{forwardFunc:d}=e,h=g=>{!o||(n=g.map(x=>this.keep(this.clone(x))))};i=()=>{let g=this.backend.numDataIds();l=this.tidy(()=>d(this.backend,h));let x=Array.isArray(l)?l:[l];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(u,g,x),x}}let{inputs:c,attrs:p}=e,m=Kb(e)?null:e.backwardsFunc,f;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool("DEBUG")&&!this.state.profiling?t=i():(f=this.profiler.profileKernel(u,c,()=>i()),this.ENV.getBool("DEBUG")&&this.profiler.logKernelProfile(f),t=f.outputs)}),o&&this.addTapeNode(u,c,t,m,n,p),this.state.profiling&&this.state.activeProfile.kernels.push({name:u,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-a,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map(d=>c[d]!=null?c[d].shape:null),outputShapes:t.map(d=>d.shape),kernelTimeMs:f.timeMs,extraInfo:f.extraInfo}),Array.isArray(l)?t:t[0]}saveTensorsForBackwardMode(e){return e.map(n=>this.keep(this.clone(n)))}getTensorsForGradient(e,t,n){let o=Wh(e);if(o!=null){let s=o.inputsToSave||[],a=o.outputsToSave||[],i;o.saveAllInputs?(A(Array.isArray(t),()=>"saveAllInputs is true, expected inputs to be an array."),i=Object.keys(t).map(u=>t[u])):i=s.map(u=>t[u]);let l=n.filter((u,c)=>a[c]);return i.concat(l)}return[]}makeTensor(e,t,n,o){if(e==null)throw new Error("Values passed to engine.makeTensor() are null");n=n||"float32",o=o||this.backend;let s=e;n==="string"&&os(e[0])&&(s=e.map(l=>rl(l)));let a=o.write(s,t,n),i=new Ve(t,n,a,this.nextTensorId());if(this.incRef(i,o),n==="string"){let l=this.state.tensorInfo.get(a),u=$b(s);this.state.numBytes+=u-l.bytes,l.bytes=u}return i}makeTensorFromDataId(e,t,n,o){n=n||"float32";let s=new Ve(t,n,e,this.nextTensorId());return this.incRef(s,o),s}makeVariable(e,t=!0,n,o){n=n||this.nextVariableId().toString(),o!=null&&o!==e.dtype&&(e=e.cast(o));let s=new nl(e,t,n,this.nextTensorId());if(this.state.registeredVariables[s.name]!=null)throw new Error(`Variable with name ${s.name} was already registered`);return this.state.registeredVariables[s.name]=s,this.incRef(s,this.backend),s}incRef(e,t){let n=this.state.tensorInfo.has(e.dataId)?this.state.tensorInfo.get(e.dataId).refCount:0;if(this.state.numTensors++,e.dtype==="string"&&this.state.numStringTensors++,n===0){this.state.numDataBuffers++;let o=0;e.dtype!=="complex64"&&e.dtype!=="string"&&(o=e.size*Db(e.dtype)),this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:o,refCount:0}),this.state.numBytes+=o}this.state.tensorInfo.get(e.dataId).refCount++,e instanceof nl||this.track(e)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;this.state.numTensors--,e.dtype==="string"&&this.state.numStringTensors--;let t=this.state.tensorInfo.get(e.dataId);t.refCount<=1?(e.dtype!=="complex64"&&(this.state.numBytes-=t.bytes),this.state.numDataBuffers--,t.backend.disposeData(e.dataId),this.state.tensorInfo.delete(e.dataId)):(t.backend.decComplexRef(e.dataId),this.state.tensorInfo.get(e.dataId).refCount--)}disposeVariables(){for(let e in this.state.registeredVariables){let t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){let e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons==null&&(e.reasons=[]),e.reasons.push("Memory usage by string tensors is approximate (2 bytes per character)")),e}async profile(e){this.state.profiling=!0;let t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(o=>o.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(let o of this.state.activeProfile.kernels)o.kernelTimeMs=await o.kernelTimeMs,o.extraInfo=await o.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>0&&this.state.kernelDepth===0}addTapeNode(e,t,n,o,s,a){let i={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:s},l=Wh(e);l!=null&&(o=l.gradFunc),o!=null&&(i.gradient=u=>(u=u.map((c,p)=>{if(c==null){let m=n[p],f=$c(m.size,m.dtype);return this.makeTensor(f,m.shape,m.dtype)}return c}),o(u.length>1?u:u[0],s,a))),this.state.activeTape.push(i)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){let t={track:[],name:"unnamed scope",id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){let t=Im(e),n=new Set(t.map(s=>s.id));for(let s=0;s{!s.kept&&s.scopeId===o.id&&this.track(s)})}gradients(e,t,n,o=!1){if(A(t.length>0,()=>"gradients() received an empty list of xs."),n!=null&&n.dtype!=="float32")throw new Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);let s=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy("forward",e));A(s instanceof Ve,()=>"The result y returned by f() must be a tensor.");let a=AI(this.state.activeTape,t,s);if(!o&&a.length===0&&t.length>0)throw new Error("Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.");return this.tidy("backward",()=>{let i={};i[s.id]=n==null?TV(s.shape):n,DI(i,a,u=>this.tidy(u),EV);let l=t.map(u=>i[u.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(u=>{for(let c of u.saved)c.dispose()}),this.state.activeTape=null),{value:s,grads:l}})}customGrad(e){return A(qs(e),()=>"The f passed in customGrad(f) must be a function."),(...t)=>{A(t.every(i=>i instanceof Ve),()=>"The args passed in customGrad(f)(x1, x2,...) must all be tensors");let n,o={};t.forEach((i,l)=>{o[l]=i});let s=(i,l)=>(n=e(...t,l),A(n.value instanceof Ve,()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"),A(qs(n.gradFunc),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."),n.value),a=(i,l)=>{let u=n.gradFunc(i,l),c=Array.isArray(u)?u:[u];A(c.length===t.length,()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...)."),A(c.every(m=>m instanceof Ve),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.");let p={};return c.forEach((m,f)=>{p[f]=()=>m}),p};return this.runKernelFunc({forwardFunc:s,backwardsFunc:a,inputs:o})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}async time(e){let t=Uh(),n=await this.backend.time(e);return n.wallMs=Uh()-t,n}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new Xb;for(let e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};gu.nextTensorId=0;gu.nextVariableId=0;function TV(r){let e=gm(ft(r),"float32");return D.makeTensor(e,r,"float32")}function Yb(){let r=Ob();if(r._tfengine==null){let e=new jh(r);r._tfengine=new gu(e)}return TI(r._tfengine.ENV),OI(()=>r._tfengine),r._tfengine}var D=Yb();function EV(r,e){let t={a:r,b:e};return D.runKernel(xn,t)}var Vc={};Ye(Vc,{isBrowser:()=>Zb,isMobile:()=>DV});function AV(){return typeof navigator!="undefined"&&navigator!=null}function DV(){if(AV()){let r=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(r)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(r.substr(0,4))}return!1}function Zb(){return typeof window!="undefined"&&window.document!=null||typeof WorkerGlobalScope!="undefined"}var Pi=W();Pi.registerFlag("DEBUG",()=>!1,r=>{r&&console.warn("Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.")});Pi.registerFlag("IS_BROWSER",()=>Zb());Pi.registerFlag("IS_NODE",()=>typeof process!="undefined"&&typeof process.versions!="undefined"&&typeof process.versions.node!="undefined");Pi.registerFlag("IS_CHROME",()=>typeof navigator!="undefined"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));Pi.registerFlag("PROD",()=>!1);Pi.registerFlag("TENSORLIKE_CHECK_SHAPE_CONSISTENCY",()=>Pi.getBool("DEBUG"));Pi.registerFlag("DEPRECATION_WARNINGS_ENABLED",()=>!0);Pi.registerFlag("IS_TEST",()=>!1);Pi.registerFlag("CHECK_COMPUTATION_FOR_ERRORS",()=>!0);function vr(r,e){let t=r;if(nr(r))return e==="string"?[]:[r.length];if(!Array.isArray(r))return[];let n=[];for(;Array.isArray(t)||nr(t)&&e!=="string";)n.push(t.length),t=t[0];return Array.isArray(r)&&W().getBool("TENSORLIKE_CHECK_SHAPE_CONSISTENCY")&&zI(r,n,[]),n}function zI(r,e,t){if(t=t||[],!Array.isArray(r)&&!nr(r)){A(e.length===0,()=>`Element arr[${t.join("][")}] is a primitive, but should be an array/TypedArray of ${e[0]} elements`);return}A(e.length>0,()=>`Element arr[${t.join("][")}] should be a primitive, but is an array of ${r.length} elements`),A(r.length===e[0],()=>`Element arr[${t.join("][")}] should have ${e[0]} elements, but has ${r.length} elements`);let n=e.slice(1);for(let o=0;o=0&&(o=n),BI(n,o,e,t),r==null||!nr(r)&&!Array.isArray(r)&&typeof r!="number"&&typeof r!="boolean"&&typeof r!="string"){let l=r==null?"null":r.constructor.name;throw new Error(`Argument '${e}' passed to '${t}' must be a Tensor or TensorLike, but got '${l}'`)}let s=vr(r,o);!nr(r)&&!Array.isArray(r)&&(r=[r]);let i=o!=="string"?Lc(r,o):ns(r,[],!0);return D.makeTensor(i,s,o)}function ya(r,e,t,n="numeric"){if(!Array.isArray(r))throw new Error(`Argument ${e} passed to ${t} must be a \`Tensor[]\` or \`TensorLike[]\``);return r.map((s,a)=>v(s,`${e}[${a}]`,t,n))}var VI="__op";function T(r){let e=Object.keys(r);if(e.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${e.length} keys.`);let t=e[0],n=r[t];t.endsWith("_")&&(t=t.substring(0,t.length-1)),t=t+VI;let o=(...s)=>{D.startScope(t);try{let a=n(...s);return ym(a)&&console.error("Cannot return a Promise inside of tidy."),D.endScope(a),a}catch(a){throw D.endScope(null),a}};return Object.defineProperty(o,"name",{value:t,configurable:!0}),o}function $V(r,e){let t=v(r,"real","complex"),n=v(e,"imag","complex");St(t.shape,n.shape,`real and imag shapes, ${t.shape} and ${n.shape}, must match in call to tf.complex().`);let o={real:t,imag:n};return D.runKernel(ql,o)}var bn=T({complex_:$V});function Gr(r,e,t,n){if(n==null&&(n=Ac(r)),n==="complex64")throw new Error("Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).");if(!nr(r)&&!Array.isArray(r)&&typeof r!="number"&&typeof r!="boolean"&&typeof r!="string")throw new Error("values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray");if(e!=null){xm(e);let o=ft(e),s=ft(t);A(o===s,()=>`Based on the provided shape, [${e}], the tensor should have ${o} values but has ${s}`);for(let a=0;a`Error creating a new Tensor. Inferred shape (${t}) does not match the provided shape (${e}). `)}}return!nr(r)&&!Array.isArray(r)&&(r=[r]),e=e||t,r=n!=="string"?Lc(r,n):ns(r,[],!0),D.makeTensor(r,e,n)}function $r(r,e,t){let n=vr(r,t);return Gr(r,e,n,t)}var Nm={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};var Hh=4;async function GI(r,e){let t=[],n=[],o=Array.isArray(r)?r.map(a=>a.name):Object.keys(r);for(let a=0;a{let m=await l.bytes(),f=m.reduce((g,x)=>g+x.length,0)+Hh*m.length,d=new Uint8Array(f),h=0;for(let g=0;g{if(e+=s.byteLength,t.push(s.byteLength===s.buffer.byteLength?s:new s.constructor(s)),!(s instanceof Float32Array||s instanceof Int32Array||s instanceof Uint8Array))throw new Error(`Unsupported TypedArray subtype: ${s.constructor.name}`)});let n=new Uint8Array(e),o=0;return t.forEach(s=>{n.set(new Uint8Array(s.buffer),o),o+=s.byteLength}),n.buffer}var Jb=typeof Buffer!="undefined"&&(typeof Blob=="undefined"||typeof atob=="undefined"||typeof btoa=="undefined");function jI(r){return Jb?Buffer.byteLength(r):new Blob([r]).size}function WI(r){if(Jb)return Buffer.from(r).toString("base64");let e=new Uint8Array(r),t="";for(let n=0,o=e.length;n{e+=o.byteLength});let t=new Uint8Array(e),n=0;return r.forEach(o=>{t.set(new Uint8Array(o),n),n+=o.byteLength}),t.buffer}function Qb(r){let e="/";for(r=r.trim();r.endsWith(e);)r=r.slice(0,r.length-1);let t=r.split(e);return t[t.length-1]}function Mi(r){if(r.modelTopology instanceof ArrayBuffer)throw new Error("Expected JSON model topology, received ArrayBuffer.");return{dateSaved:new Date,modelTopologyType:"JSON",modelTopologyBytes:r.modelTopology==null?0:jI(JSON.stringify(r.modelTopology)),weightSpecsBytes:r.weightSpecs==null?0:jI(JSON.stringify(r.weightSpecs)),weightDataBytes:r.weightData==null?0:r.weightData.byteLength}}function OV(){let r=t=>{let n=t<<13,o=0;for(;(n&8388608)==0;)o-=8388608,n<<=1;return n&=~8388608,o+=947912704,n|o},e=new Uint32Array(2048);e[0]=0;for(let t=1;t<1024;t++)e[t]=r(t);for(let t=1024;t<2048;t++)e[t]=939524096+(t-1024<<13);return e}function PV(){let r=new Uint32Array(64);r[0]=0,r[31]=1199570944,r[32]=2147483648,r[63]=3347054592;for(let e=1;e<31;e++)r[e]=e<<23;for(let e=33;e<63;e++)r[e]=2147483648+(e-32<<23);return r}function MV(){let r=new Uint32Array(64);for(let e=0;e<64;e++)r[e]=1024;return r[0]=r[32]=0,r}function FV(){let r=OV(),e=PV(),t=MV();return n=>{let o=new ArrayBuffer(4*n.length),s=new Uint32Array(o);for(let a=0;a>10]+(i&1023)]+e[i>>10];s[a]=l}return new Float32Array(o)}}var Tt=class{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return Tt.instance==null&&(Tt.instance=new Tt),Tt.instance}static registerSaveRouter(e){Tt.getInstance().saveRouters.push(e)}static registerLoadRouter(e){Tt.getInstance().loadRouters.push(e)}static getSaveHandlers(e){return Tt.getHandlers(e,"save")}static getLoadHandlers(e,t){return Tt.getHandlers(e,"load",t)}static getHandlers(e,t,n){let o=[];return(t==="load"?Tt.getInstance().loadRouters:Tt.getInstance().saveRouters).forEach(a=>{let i=a(e,n);i!==null&&o.push(i)}),o}},qI=r=>Tt.registerSaveRouter(r),HI=r=>Tt.registerLoadRouter(r),KI=r=>Tt.getSaveHandlers(r),XI=(r,e)=>Tt.getLoadHandlers(r,e);var ew="tensorflowjs",tw=1,xu="models_store",ol="model_info_store";function YI(){if(!W().getBool("IS_BROWSER"))throw new Error("Failed to obtain IndexedDB factory because the current environmentis not a web browser.");let r=typeof window=="undefined"?self:window,e=r.indexedDB||r.mozIndexedDB||r.webkitIndexedDB||r.msIndexedDB||r.shimIndexedDB;if(e==null)throw new Error("The current browser does not appear to support IndexedDB.");return e}function rw(r){let e=r.result;e.createObjectStore(xu,{keyPath:"modelPath"}),e.createObjectStore(ol,{keyPath:"modelPath"})}var ba=class{constructor(e){if(this.indexedDB=YI(),e==null||!e)throw new Error("For IndexedDB, modelPath must not be null, undefined or empty.");this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise((n,o)=>{let s=this.indexedDB.open(ew,tw);s.onupgradeneeded=()=>rw(s),s.onsuccess=()=>{let a=s.result;if(t==null){let i=a.transaction(xu,"readonly"),u=i.objectStore(xu).get(this.modelPath);u.onsuccess=()=>{if(u.result==null)return a.close(),o(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));n(u.result.modelArtifacts)},u.onerror=c=>(a.close(),o(u.error)),i.oncomplete=()=>a.close()}else{let i=Mi(t),l=a.transaction(ol,"readwrite"),u=l.objectStore(ol),c=u.put({modelPath:this.modelPath,modelArtifactsInfo:i}),p;c.onsuccess=()=>{p=a.transaction(xu,"readwrite");let f=p.objectStore(xu).put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:i});f.onsuccess=()=>n({modelArtifactsInfo:i}),f.onerror=d=>{u=l.objectStore(ol);let h=u.delete(this.modelPath);h.onsuccess=()=>(a.close(),o(f.error)),h.onerror=g=>(a.close(),o(f.error))}},c.onerror=m=>(a.close(),o(c.error)),l.oncomplete=()=>{p==null?a.close():p.oncomplete=()=>a.close()}}},s.onerror=a=>o(s.error)})}};ba.URL_SCHEME="indexeddb://";var ZI=r=>W().getBool("IS_BROWSER")&&!Array.isArray(r)&&r.startsWith(ba.URL_SCHEME)?LV(r.slice(ba.URL_SCHEME.length)):null;Tt.registerSaveRouter(ZI);Tt.registerLoadRouter(ZI);function LV(r){return new ba(r)}function zV(r){return r.startsWith(ba.URL_SCHEME)?r.slice(ba.URL_SCHEME.length):r}var nw=class{constructor(){this.indexedDB=YI()}async listModels(){return new Promise((e,t)=>{let n=this.indexedDB.open(ew,tw);n.onupgradeneeded=()=>rw(n),n.onsuccess=()=>{let o=n.result,s=o.transaction(ol,"readonly"),i=s.objectStore(ol).getAll();i.onsuccess=()=>{let l={};for(let u of i.result)l[u.modelPath]=u.modelArtifactsInfo;e(l)},i.onerror=l=>(o.close(),t(i.error)),s.oncomplete=()=>o.close()},n.onerror=o=>t(n.error)})}async removeModel(e){return e=zV(e),new Promise((t,n)=>{let o=this.indexedDB.open(ew,tw);o.onupgradeneeded=()=>rw(o),o.onsuccess=()=>{let s=o.result,a=s.transaction(ol,"readwrite"),i=a.objectStore(ol),l=i.get(e),u;l.onsuccess=()=>{if(l.result==null)return s.close(),n(new Error(`Cannot find model with path '${e}' in IndexedDB.`));{let c=i.delete(e),p=()=>{u=s.transaction(xu,"readwrite");let f=u.objectStore(xu).delete(e);f.onsuccess=()=>t(l.result.modelArtifactsInfo),f.onerror=d=>n(l.error)};c.onsuccess=p,c.onerror=m=>(p(),s.close(),n(l.error))}},l.onerror=c=>(s.close(),n(l.error)),a.oncomplete=()=>{u==null?s.close():u.oncomplete=()=>s.close()}},o.onerror=s=>n(o.error)})}};var wa="/",jc="tensorflowjs_models",JI="info",BV="model_topology",VV="weight_specs",GV="weight_data",jV="model_metadata";function QI(r){return{info:[jc,r,JI].join(wa),topology:[jc,r,BV].join(wa),weightSpecs:[jc,r,VV].join(wa),weightData:[jc,r,GV].join(wa),modelMetadata:[jc,r,jV].join(wa)}}function WV(r){let e=r.split(wa);if(e.length<3)throw new Error(`Invalid key format: ${r}`);return e.slice(1,e.length-1).join(wa)}function UV(r){return r.startsWith(_a.URL_SCHEME)?r.slice(_a.URL_SCHEME.length):r}var _a=class{constructor(e){if(!W().getBool("IS_BROWSER")||typeof window=="undefined"||typeof window.localStorage=="undefined")throw new Error("The current environment does not support local storage.");if(this.LS=window.localStorage,e==null||!e)throw new Error("For local storage, modelPath must not be null, undefined or empty.");this.modelPath=e,this.keys=QI(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserLocalStorage.save() does not support saving model topology in binary formats yet.");{let t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),o=Mi(e);try{this.LS.setItem(this.keys.info,JSON.stringify(o)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,WI(e.weightData));let s={format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy};return e.signature!=null&&(s.signature=e.signature),e.userDefinedMetadata!=null&&(s.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(s.modelInitializer=e.modelInitializer),this.LS.setItem(this.keys.modelMetadata,JSON.stringify(s)),{modelArtifactsInfo:o}}catch(s){throw this.LS.removeItem(this.keys.info),this.LS.removeItem(this.keys.topology),this.LS.removeItem(this.keys.weightSpecs),this.LS.removeItem(this.keys.weightData),this.LS.removeItem(this.keys.modelMetadata),new Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${o.modelTopologyBytes}, weightSpecsBytes=${o.weightSpecsBytes}, weightDataBytes=${o.weightDataBytes}.`)}}}async load(){let e=JSON.parse(this.LS.getItem(this.keys.info));if(e==null)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if(e.modelTopologyType!=="JSON")throw new Error("BrowserLocalStorage does not support loading non-JSON model topology yet.");let t={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(n==null)throw new Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=n;let o=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(o==null)throw new Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=o;let s=this.LS.getItem(this.keys.modelMetadata);if(s!=null){let i=JSON.parse(s);t.format=i.format,t.generatedBy=i.generatedBy,t.convertedBy=i.convertedBy,i.signature!=null&&(t.signature=i.signature),i.userDefinedMetadata!=null&&(t.userDefinedMetadata=i.userDefinedMetadata),i.modelInitializer!=null&&(t.modelInitializer=i.modelInitializer)}let a=this.LS.getItem(this.keys.weightData);if(a==null)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=UI(a),t}};_a.URL_SCHEME="localstorage://";var eN=r=>W().getBool("IS_BROWSER")&&!Array.isArray(r)&&r.startsWith(_a.URL_SCHEME)?qV(r.slice(_a.URL_SCHEME.length)):null;Tt.registerSaveRouter(eN);Tt.registerLoadRouter(eN);function qV(r){return new _a(r)}var ow=class{constructor(){A(W().getBool("IS_BROWSER"),()=>"Current environment is not a web browser"),A(typeof window=="undefined"||typeof window.localStorage!="undefined",()=>"Current browser does not appear to support localStorage"),this.LS=window.localStorage}async listModels(){let e={},t=jc+wa,n=wa+JI;for(let o=0;o"scheme must not be undefined or null."),e.endsWith(Wc)&&(e=e.slice(0,e.indexOf(Wc))),A(e.length>0,()=>"scheme must not be an empty string.");let n=jr.getInstance();A(n.managers[e]==null,()=>`A model store manager is already registered for scheme '${e}'.`),n.managers[e]=t}static getManager(e){let t=this.getInstance().managers[e];if(t==null)throw new Error(`Cannot find model manager for scheme '${e}'`);return t}static getSchemes(){return Object.keys(this.getInstance().managers)}};function Xh(r){if(r.indexOf(Wc)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${jr.getSchemes().join(",")}`);return{scheme:r.split(Wc)[0],path:r.split(Wc)[1]}}async function tN(r,e,t=!1){A(r!==e,()=>`Old path and new path are the same: '${r}'`);let n=Tt.getLoadHandlers(r);A(n.length>0,()=>`Copying failed because no load handler is found for source URL ${r}.`),A(n.length<2,()=>`Copying failed because more than one (${n.length}) load handlers for source URL ${r}.`);let o=n[0],s=Tt.getSaveHandlers(e);A(s.length>0,()=>`Copying failed because no save handler is found for destination URL ${e}.`),A(s.length<2,()=>`Copying failed because more than one (${n.length}) save handlers for destination URL ${e}.`);let a=s[0],i=Xh(r).scheme,l=Xh(r).path,u=i===Xh(r).scheme,c=await o.load();t&&u&&await jr.getManager(i).removeModel(l);let p=await a.save(c);return t&&!u&&await jr.getManager(i).removeModel(l),p.modelArtifactsInfo}async function rN(){let r=jr.getSchemes(),e={};for(let t of r){let n=await jr.getManager(t).listModels();for(let o in n){let s=t+Wc+o;e[s]=n[o]}}return e}async function nN(r){let e=Xh(r);return jr.getManager(e.scheme).removeModel(e.path)}async function oN(r,e){return tN(r,e,!1)}async function sN(r,e){return tN(r,e,!0)}var iN=class{fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if(t!=="utf-8"&&t!=="utf8")throw new Error(`Browser's encoder only supports utf-8, but got ${t}`);return this.textEncoder==null&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}};if(W().get("IS_BROWSER")){W().setPlatform("browser",new iN);try{jr.registerManager(_a.URL_SCHEME,new ow)}catch(r){}try{jr.registerManager(ba.URL_SCHEME,new nw)}catch(r){}}var HV={importFetch:()=>aN()},sw;var lN=class{constructor(){this.util=require("util"),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return W().global.fetch!=null?W().global.fetch(e,t):(sw==null&&(sw=HV.importFetch()),sw(e,t))}now(){let e=process.hrtime();return e[0]*1e3+e[1]/1e6}encode(e,t){if(t!=="utf-8"&&t!=="utf8")throw new Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return e.length===0?"":new this.util.TextDecoder(t).decode(e)}};W().get("IS_NODE")&&W().setPlatform("node",new lN);function Ce(r,e="float32",t){return e=e||"float32",xm(r),new ct(r,e,t)}function KV(r,e){let t=v(r,"x","cast");if(!Ab(e))throw new Error(`Failed to cast to unknown dtype ${e}`);if(e==="string"&&t.dtype!=="string"||e!=="string"&&t.dtype==="string")throw new Error("Only strings can be casted to strings");let n={x:t},o={dtype:e};return D.runKernel(An,n,o)}var ne=T({cast_:KV});function XV(r){let t={x:v(r,"x","clone","string_or_numeric")};return D.runKernel(us,t)}var Rn=T({clone_:XV});function iw(r,e=!1){console.log(r.toString(e))}Yb();var YV={buffer:Ce,cast:ne,clone:Rn,print:iw};PI(YV);var Cr={};Ye(Cr,{browserFiles:()=>pN,browserHTTPRequest:()=>dN,concatenateArrayBuffers:()=>Gc,copyModel:()=>oN,decodeWeights:()=>Kh,encodeWeights:()=>GI,fromMemory:()=>gN,getLoadHandlers:()=>XI,getModelArtifactsInfoForJSON:()=>Mi,getSaveHandlers:()=>KI,http:()=>Jh,isHTTPScheme:()=>Zh,listModels:()=>rN,loadWeights:()=>mN,moveModel:()=>sN,registerLoadRouter:()=>HI,registerSaveRouter:()=>qI,removeModel:()=>nN,weightsLoaderFactory:()=>uw,withSaveHandler:()=>xN});var ZV="model",JV=".json",QV=".weights.bin";function uN(r){return new Promise(e=>setTimeout(e)).then(r)}var sl=class{constructor(e){if(!W().getBool("IS_BROWSER"))throw new Error("browserDownloads() cannot proceed because the current environment is not a browser.");e.startsWith(sl.URL_SCHEME)&&(e=e.slice(sl.URL_SCHEME.length)),(e==null||e.length===0)&&(e=ZV),this.modelTopologyFileName=e+JV,this.weightDataFileName=e+QV}async save(e){if(typeof document=="undefined")throw new Error("Browser downloads are not supported in this environment since `document` is not present");let t=window.URL.createObjectURL(new Blob([e.weightData],{type:"application/octet-stream"}));if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserDownloads.save() does not support saving model topology in binary formats yet.");{let n=[{paths:["./"+this.weightDataFileName],weights:e.weightSpecs}],o={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n};e.signature!=null&&(o.signature=e.signature),e.userDefinedMetadata!=null&&(o.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(o.modelInitializer=e.modelInitializer);let s=window.URL.createObjectURL(new Blob([JSON.stringify(o)],{type:"application/json"})),a=this.jsonAnchor==null?document.createElement("a"):this.jsonAnchor;if(a.download=this.modelTopologyFileName,a.href=s,await uN(()=>a.dispatchEvent(new MouseEvent("click"))),e.weightData!=null){let i=this.weightDataAnchor==null?document.createElement("a"):this.weightDataAnchor;i.download=this.weightDataFileName,i.href=t,await uN(()=>i.dispatchEvent(new MouseEvent("click")))}return{modelArtifactsInfo:Mi(e)}}}};sl.URL_SCHEME="downloads://";var cN=class{constructor(e){if(e==null||e.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${e}`);this.files=e}async load(){let e=this.files[0],t=this.files.slice(1);return new Promise((n,o)=>{let s=new FileReader;s.onload=a=>{let i=JSON.parse(a.target.result),l=i.modelTopology;if(l==null){o(new Error(`modelTopology field is missing from file ${e.name}`));return}t.length===0&&n({modelTopology:l});let u=i.weightsManifest;if(u==null){o(new Error(`weightManifest field is missing from file ${e.name}`));return}let c;try{c=this.checkManifestAndWeightFiles(u,t)}catch(d){o(d);return}let p=[],m=[],f=[];u.forEach(d=>{d.paths.forEach(h=>{m.push(h),f.push(null)}),p.push(...d.weights)}),u.forEach(d=>{d.paths.forEach(h=>{let g=new FileReader;g.onload=x=>{let b=x.target.result,w=m.indexOf(h);if(f[w]=b,f.indexOf(null)===-1){let _={modelTopology:l,weightSpecs:p,weightData:Gc(f),format:i.format,generatedBy:i.generatedBy,convertedBy:i.convertedBy};i.signature!=null&&(_.signature=i.signature),i.userDefinedMetadata!=null&&(_.userDefinedMetadata=i.userDefinedMetadata),i.modelInitializer!=null&&(_.modelInitializer=i.modelInitializer),n(_)}},g.onerror=x=>o(`Failed to weights data from file of path '${h}'.`),g.readAsArrayBuffer(c[h])})})},s.onerror=a=>o(`Failed to read model topology and weights manifest JSON from file '${e.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),s.readAsText(e)})}checkManifestAndWeightFiles(e,t){let n=[],o=t.map(a=>Qb(a.name)),s={};for(let a of e)a.paths.forEach(i=>{let l=Qb(i);if(n.indexOf(l)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${l}'`);if(n.push(l),o.indexOf(l)===-1)throw new Error(`Weight file with basename '${l}' is not provided.`);s[i]=t[o.indexOf(l)]});if(n.length!==t.length)throw new Error(`Mismatch in the number of files in weights manifest (${n.length}) and the number of weight files provided (${t.length}).`);return s}},tG=r=>W().getBool("IS_BROWSER")&&!Array.isArray(r)&&r.startsWith(sl.URL_SCHEME)?eG(r.slice(sl.URL_SCHEME.length)):null;Tt.registerSaveRouter(tG);function eG(r="model"){return new sl(r)}function pN(r){return new cN(r)}function aw(r,e,t,n){a(r),t=t==null?0:t,n=n==null?1:n,i(t,n);let o=0,s=l=>(l.then(u=>{let c=t+ ++o/r.length*(n-t);return e(c),u}),l);function a(l){A(l!=null&&Array.isArray(l)&&l.length>0,()=>"promises must be a none empty array")}function i(l,u){A(l>=0&&l<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${l}`),A(u>=0&&u<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${u}`),A(u>=l,()=>`startFraction must be no more than endFraction, but got startFraction ${l} and endFraction ${u}`)}return Promise.all(r.map(s))}async function lw(r,e){e==null&&(e={});let t=e.fetchFunc==null?W().platform.fetch:e.fetchFunc,n=r.map(p=>t(p,e.requestInit,{isBinary:!0})),o=0,s=.5,i=(e.onProgress==null?await Promise.all(n):await aw(n,e.onProgress,o,s)).map(p=>p.arrayBuffer()),l=.5,u=1;return e.onProgress==null?await Promise.all(i):await aw(i,e.onProgress,l,u)}async function mN(r,e="",t,n){return uw(a=>lw(a,{requestInit:n}))(r,e,t)}function uw(r){return async(e,t="",n)=>{let o=e.map(()=>!1),s={},a=n!=null?n.map(()=>!1):[],i=[];if(e.forEach((f,d)=>{let h=0;f.weights.forEach(g=>{let x="quantization"in g?g.quantization.dtype:g.dtype,b=Nm[x]*ft(g.shape),w=()=>{o[d]=!0,s[d]==null&&(s[d]=[]),s[d].push({manifestEntry:g,groupOffset:h,sizeBytes:b})};n!=null?n.forEach((_,k)=>{_===g.name&&(w(),a[k]=!0)}):w(),i.push(g.name),h+=b})}),!a.every(f=>f)){let f=n.filter((d,h)=>!a[h]);throw new Error(`Could not find weights in manifest with names: ${f.join(", ")}. -Manifest JSON has weights with names: ${i.join(", ")}.`)}let l=o.reduce((f,d,h)=>(d&&f.push(h),f),[]),u=[];l.forEach(f=>{e[f].paths.forEach(d=>{let h=t+(t.endsWith("/")?"":"/")+d;u.push(h)})});let c=await r(u),p={},m=0;return l.forEach(f=>{let d=e[f].paths.length,h=0;for(let _=0;_{let k=g.slice(_.groupOffset,_.groupOffset+_.sizeBytes),E=Kh(k,[_.manifestEntry]);for(let S in E)p[S]=E[S]}),m+=d}),p}}var rG="application/octet-stream",nG="application/json",Yh=class{constructor(e,t){if(this.DEFAULT_METHOD="POST",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,this.weightUrlConverter=t.weightUrlConverter,t.fetchFunc!=null?(A(typeof t.fetchFunc=="function",()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)"),this.fetch=t.fetchFunc):this.fetch=W().platform.fetch,A(e!=null&&e.length>0,()=>"URL path for http must not be null, undefined or empty."),Array.isArray(e)&&A(e.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");let t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData;let n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],o={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:n};e.signature!=null&&(o.signature=e.signature),e.userDefinedMetadata!=null&&(o.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(o.modelInitializer=e.modelInitializer),t.body.append("model.json",new Blob([JSON.stringify(o)],{type:nG}),"model.json"),e.weightData!=null&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:rG}),"model.weights.bin");let s=await this.fetch(this.path,t);if(s.ok)return{modelArtifactsInfo:Mi(e),responses:[s]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${s.status}.`)}async load(){let e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Request to ${this.path} failed with status code ${e.status}. Please verify this URL points to the model JSON of the model to load.`);let t;try{t=await e.json()}catch(d){let h=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(".pb")?h+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":h+=" Please make sure the server is serving valid JSON for this request.",new Error(h)}let n=t.modelTopology,o=t.weightsManifest,s=t.generatedBy,a=t.convertedBy,i=t.format,l=t.signature,u=t.userDefinedMetadata;if(n==null&&o==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);let c,p;o!=null&&([c,p]=await this.loadWeights(o));let m={modelTopology:n,weightSpecs:c,weightData:p,generatedBy:s,convertedBy:a,format:i};l!=null&&(m.signature=l),u!=null&&(m.userDefinedMetadata=u);let f=t.modelInitializer;return f&&(m.modelInitializer=f),m}async loadWeights(e){let t=Array.isArray(this.path)?this.path[1]:this.path,[n,o]=oG(t),s=this.weightPathPrefix||n,a=[];for(let c of e)a.push(...c.weights);let i=[],l=[];for(let c of e)for(let p of c.paths)this.weightUrlConverter!=null?l.push(this.weightUrlConverter(p)):i.push(s+p+o);this.weightUrlConverter&&i.push(...await Promise.all(l));let u=await lw(i,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[a,Gc(u)]}};Yh.URL_SCHEME_REGEX=/^https?:\/\//;function oG(r){let e=r.lastIndexOf("/"),t=r.lastIndexOf("?"),n=r.substring(0,e),o=t>e?r.substring(t):"";return[n+"/",o]}function Zh(r){return r.match(Yh.URL_SCHEME_REGEX)!=null}var fN=(r,e)=>{if(typeof fetch=="undefined"&&(e==null||e.fetchFunc==null))return null;{let t=!0;if(Array.isArray(r)?t=r.every(n=>Zh(n)):t=Zh(r),t)return Jh(r,e)}return null};Tt.registerSaveRouter(fN);Tt.registerLoadRouter(fN);function Jh(r,e){return new Yh(r,e)}function dN(r,e){return Jh(r,e)}var Qh=class{constructor(e){this.modelArtifacts=e}async load(){return this.modelArtifacts}},hN=class{constructor(e){this.saveHandler=e}async save(e){return this.saveHandler(e)}};function gN(r,e,t,n){return arguments.length===1?r.modelTopology!=null||r.weightSpecs!=null?new Qh(r):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Qh({modelTopology:r})):(console.warn("Please call tf.io.fromMemory() with only one argument. The argument should be of type ModelArtifacts. The multi-argument signature of tf.io.fromMemory() has been deprecated and will be removed in a future release."),new Qh({modelTopology:r,weightSpecs:e,weightData:t,trainingConfig:n}))}function xN(r){return new hN(r)}var yN={};Ye(yN,{confusionMatrix:()=>uG});function sG(r,e,t=!1,n=!1){let o=v(r,"a","matMul"),s=v(e,"b","matMul");[o,s]=Ge(o,s);let a={a:o,b:s},i={transposeA:t,transposeB:n};return D.runKernel(Hn,a,i)}var je=T({matMul_:sG});function iG(r,e,t=1,n=0){if(e<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${e}`);let s={indices:v(r,"indices","oneHot","int32")},a={depth:e,onValue:t,offValue:n};return D.runKernel(ho,s,a)}var ks=T({oneHot_:iG});function aG(r,e){let t=v(r,"x","transpose");if(e==null&&(e=t.shape.map((s,a)=>a).reverse()),A(t.rank===e.length,()=>`Error in transpose: rank of input ${t.rank} must match length of perm ${e}.`),e.forEach(s=>{A(s>=0&&s`All entries in 'perm' must be between 0 and ${t.rank-1} but got ${e}`)}),t.rank<=1)return t.clone();let n={x:t},o={perm:e};return D.runKernel(Ro,n,o)}var We=T({transpose_:aG});function lG(r,e,t){let n=v(r,"labels","confusionMatrix"),o=v(e,"predictions","confusionMatrix");A(t==null||t>0&&Number.isInteger(t),()=>`If provided, numClasses must be a positive integer, but got ${t}`),A(n.rank===1,()=>`Expected the rank of labels to be 1, but got ${n.rank}`),A(o.rank===1,()=>`Expected the rank of predictions to be 1, but got ${o.rank}`),A(n.shape[0]===o.shape[0],()=>`Mismatch in the number of examples: ${n.shape[0]} vs. ${o.shape[0]}. Labels and predictions should have the same number of elements.`),A(t>0&&Number.isInteger(t),()=>`numClasses is required to be a positive integer, but got ${t}`);let s=ks(ne(n,"int32"),t),a=ks(ne(o,"int32"),t),i=We(s),l=je(i,a);return ne(l,"int32")}var uG=T({confusionMatrix_:lG});var eg={};Ye(eg,{fromPixels:()=>mG,toPixels:()=>pG});function cw(r,e,t){if(En(r),e!=null&&e.length!==3)throw new Error("tensor3d() requires shape to have three numbers");let n=vr(r,t);if(n.length!==3&&n.length!==1)throw new Error("tensor3d() requires values to be number[][][] or flat/TypedArray");if(n.length===1&&e==null)throw new Error("tensor3d() requires shape to be provided when `values` are a flat array");return Gr(r,e,n,t)}var Uc;function cG(r,e=3){if(e>4)throw new Error("Cannot construct Tensor with more than 4 channels from pixels.");if(r==null)throw new Error("pixels passed to tf.browser.fromPixels() can not be null");let t=!1,n=!1,o=!1,s=!1,a=!1,i=!1;if(r.data instanceof Uint8Array)t=!0;else if(typeof ImageData!="undefined"&&r instanceof ImageData)n=!0;else if(typeof HTMLVideoElement!="undefined"&&r instanceof HTMLVideoElement)o=!0;else if(typeof HTMLImageElement!="undefined"&&r instanceof HTMLImageElement)s=!0;else if(r.getContext!=null)a=!0;else if(typeof ImageBitmap!="undefined"&&r instanceof ImageBitmap)i=!0;else throw new Error(`pixels passed to tf.browser.fromPixels() must be either an HTMLVideoElement, HTMLImageElement, HTMLCanvasElement, ImageData in browser, or OffscreenCanvas, ImageData in webworker or {data: Uint32Array, width: number, height: number}, but was ${r.constructor.name}`);if(o){let d=2;if(o&&r.readyState element.")}if(Mc(Oc,D.backendName)!=null){let d={pixels:r},h={numChannels:e};return D.runKernel(Oc,d,h)}let[u,c]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],p;a?p=r.getContext("2d").getImageData(0,0,u,c).data:n||t?p=r.data:(s||o||i)&&(Uc==null&&(Uc=document.createElement("canvas").getContext("2d")),Uc.canvas.width=u,Uc.canvas.height=c,Uc.drawImage(r,0,0,u,c),p=Uc.getImageData(0,0,u,c).data);let m;if(e===4)m=new Int32Array(p);else{let d=u*c;m=new Int32Array(d*e);for(let h=0;h4||s===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${s}`);if(t.dtype!=="float32"&&t.dtype!=="int32")throw new Error(`Unsupported type for toPixels: ${t.dtype}. Please use float32 or int32 tensors.`);let a=await t.data(),i=t.dtype==="float32"?255:1,l=new Uint8ClampedArray(o*n*4);for(let u=0;u1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${f}.`)}else if(t.dtype==="int32"&&(f<0||f>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${f}.`);s===1?(c[0]=f*i,c[1]=f*i,c[2]=f*i):c[m]=f*i}let p=u*4;l[p+0]=Math.round(c[0]),l[p+1]=Math.round(c[1]),l[p+2]=Math.round(c[2]),l[p+3]=Math.round(c[3])}if(e!=null){e.width=o,e.height=n;let u=e.getContext("2d"),c=new ImageData(l,o,n);u.putImageData(c,0,0)}return t!==r&&t.dispose(),l}var mG=T({fromPixels_:cG});var tg={};Ye(tg,{prepareAndValidate:()=>bN});function bN(r,e){let t=r.shape.length,n=e.shape.length;if(t<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${t}.`);if(n<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${n}.`);if(e.dtype!=="int32")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.shape[n-1]>t)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${e.shape[n-1]} vs. ${t}`);if(ft(r.shape)===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${r.shape}.`);let o=e.shape,s=o[o.length-1],a=1;for(let p=0;pp/u),1].slice(0,s);return[l,a,u,c]}var rg={};Ye(rg,{calculateShapes:()=>wN,validateInput:()=>ng,validateUpdateShape:()=>pw});function pw(r,e,t){let n=e.rank>1?e.shape[e.rank-1]:1,o=e.rank>1?e.rank-1:1,s=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${t.shape}, indices.shape: ${e.shape}, shape: ${r}, sliceDim: ${n}, and batchDim: ${o}.`;if(t.rank1?e.shape[n-1]:1,s=t.length,a=1;for(let p=o;pfG,computeFlatOffset:()=>hG,computeOutShape:()=>_N,getNormalizedAxes:()=>AN,isSliceContinous:()=>dG,maskToAxes:()=>og,parseSliceParams:()=>mw,sliceInfo:()=>gG,startForAxis:()=>TN,startIndicesWithElidedDims:()=>IN,stopForAxis:()=>EN,stopIndicesWithElidedDims:()=>NN,stridesForAxis:()=>SN,stridesWithElidedDims:()=>kN});function fG(r,e,t){let n=r.shape.length;A(n===e.length,()=>`Error in slice${n}D: Length of begin ${e} must match the rank of the array (${n}).`),A(n===t.length,()=>`Error in slice${n}D: Length of size ${t} must match the rank of the array (${n}).`);for(let o=0;o`Error in slice${n}D: begin[${o}] + size[${o}] (${e[o]+t[o]}) would overflow input.shape[${o}] (${r.shape[o]})`)}function og(r){let e=[],t=0;for(;r>0;)r&1&&e.push(t),r/=2,t++;return e}function _N(r,e,t){let n=[];for(let o=0;o0){let f=e[0],d=t+1;c=IN(a,f,d,n,r),p=NN(i,f,d,o,r),m=kN(s,f,d,r)}else for(let f=0;f-1)s[i]=0;else{let l=vN(e,t,i),u=n[l];r&1<-1)s[i]=Number.MAX_SAFE_INTEGER;else{let l=vN(e,t,i),u=n[l];r&1<0?a=Number.MIN_SAFE_INTEGER:a=Number.MAX_SAFE_INTEGER);let l=n[o];return a<0&&(a+=l),a=Ec(0,a,l-1),a}function EN(r,e,t,n,o,s){let a=e[o],i=t[o]||1;(r&1<0?a=Number.MAX_SAFE_INTEGER:a=Number.MIN_SAFE_INTEGER);let l=n[o];return a<0&&(a+=l),i>0?a=Ec(0,a,l):a=Ec(-1,a,l-1),a}function dG(r,e,t){let n=t.length;for(let o=0;o1){n=o;break}for(let o=n+1;o0||t[o]!==r[o])return!1;return!0}function hG(r,e){let t=r.length>0?r[r.length-1]:1;for(let n=0;n{A(a!==-1,()=>"slice() does not support negative begin indexing.")});let s;return t==null?s=new Array(o).fill(-1):typeof t=="number"?s=[t,...new Array(o-1).fill(-1)]:t.lengtha>=0?a:(A(a===-1,()=>`Negative size values should be exactly -1 but got ${a} for the slice() size at index ${i}.`),r.shape[i]-n[i])),[n,s]}function gG(r,e,t,n,o,s,a,i,l){let u=e.slice(),c=t.slice(),p=n;n==null&&(p=new Array(u.length));let m=og(a);if(m.length>1)throw new Error("Multiple ellipses in slice is not allowed.");if(a!==0&&i!==0)throw new Error("Using both ellipsisMask and newAxisMask is not yet supported.");if(a!==0&&l!==0)throw new Error("Using both ellipsisMask and shrinkAxisMask is not yet supported.");let f=r.length-u.length,d=og(i),h=r.slice();d.forEach(S=>{u[S]=0,c[S]=1,h.splice(S,0,1)});let{begin:g,end:x,strides:b}=AN(h,m,f,u,c,p,o,s,a);u=g,c=x,p=b;let w=og(l);w.forEach(S=>{c[S]=u[S]+1,p[S]=1});let _=_N(u,c,p),k=_.filter((S,R)=>w.indexOf(R)===-1);return{nonStrided:p.every(S=>S===1),$begin:u,$end:c,$strides:p,size:_,newShape:h,outShape:k}}var J={};Ye(J,{Serializable:()=>sg,SerializationMap:()=>ka,registerClass:()=>en});var sg=class{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}},ka=class{constructor(){this.classNameMap={}}static getMap(){return ka.instance==null&&(ka.instance=new ka),ka.instance}static register(e){ka.getMap().classNameMap[e.className]=[e,e.fromConfig]}};function en(r){A(r.className!=null,()=>"Class being registered does not have the static className property defined."),A(typeof r.className=="string",()=>"className is required to be a string, but got type "+typeof r.className),A(r.className.length>0,()=>"Class being registered has an empty-string as its className, which is disallowed."),ka.register(r)}var DN={};Ye(DN,{TEST_EPSILON_FLOAT16:()=>$N,encodeStrings:()=>RN,expectArrayBuffersEqual:()=>vG,expectArraysClose:()=>yG,expectArraysEqual:()=>wG,expectNumbersClose:()=>_G,expectPromiseToFail:()=>bG,expectValuesInRange:()=>kG,testEpsilon:()=>fw});var xG=.001,$N=.1;function yG(r,e,t){return t==null&&(t=fw()),dw(r,e,(n,o)=>hw(n,o,t))}function fw(){return D.backend.floatPrecision()===32?xG:$N}function dw(r,e,t){let n=!0;if((nr(r)||nr(e))&&(n=!1),nr(r)&&nr(e)&&(n=!0),n){let a=r.constructor.name,i=e.constructor.name;if(a!==i)throw new Error(`Arrays are of different type. Actual: ${a}. Expected: ${i}`)}if(Array.isArray(r)&&Array.isArray(e)){let a=vr(r),i=vr(e);if(!Vr(a,i))throw new Error(`Arrays have different shapes. Actual: [${a}]. Expected: [${i}]`)}let o=nr(r)?r:ns(r),s=nr(e)?e:ns(e);if(o.length!==s.length)throw new Error(`Arrays have different lengths actual: ${o.length} vs expected: ${s.length}. -Actual: ${o}. -Expected: ${s}.`);for(let a=0;ae.fail(),()=>e())}function wG(r,e){let t=typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[e]:e;return os(r)||os(r[0])||os(e)||os(e[0])?dw(r,t,(n,o)=>n==o):dw(r,e,(n,o)=>hw(n,o,0))}function _G(r,e,t){if(t==null&&(t=fw()),!hw(r,e,t))throw new Error(`Numbers differ: actual === ${r}, expected === ${e}`)}function hw(r,e,t){return!isFinite(r)&&!isFinite(e)?!0:!(isNaN(r)||isNaN(e)||Math.abs(r-e)>t)}function kG(r,e,t){for(let n=0;nt)throw new Error(`Value out of range:${r[n]} low: ${e}, high: ${t}`)}function vG(r,e){expect(new Float32Array(r)).toEqual(new Float32Array(e))}function RN(r){for(let e=0;et.dispose())}function Dt(r){return D.keep(r)}function AG(r){return D.time(r)}function FN(r){return D.setBackend(r)}function DG(){return D.ready()}function $G(){return D.backendName}function RG(r){D.removeBackend(r)}function FG(r){return D.findBackend(r)}function OG(r){return D.findBackendFactory(r)}function yu(r,e,t=1){return D.registerBackend(r,e,t)}function gw(){return D.backend}function PG(r,e){W().setPlatform(r,e)}function MG(r,e){let t=v(r,"a","add"),n=v(e,"b","add");[t,n]=Ge(t,n);let o={a:t,b:n};return D.runKernel(xn,o)}var Q=T({add_:MG});function LG(r,e){let t=v(r,"a","floorDiv"),n=v(e,"b","floorDiv");[t,n]=Ge(t,n);let o={a:t,b:n};return D.runKernel(ro,o)}var bu=T({floorDiv_:LG});function zG(r,e){let t=v(r,"a","div"),n=v(e,"b","div");if([t,n]=Ge(t,n),t.dtype==="int32"&&n.dtype==="int32")return bu(t,n);let o={a:t,b:n},s={};return D.runKernel(Qn,o,s)}var de=T({div_:zG});function BG(r,e){let t=v(r,"a","mul"),n=v(e,"b","mul");[t,n]=Ge(t,n);let o={a:t,b:n};return D.runKernel(fo,o)}var M=T({mul_:BG});function VG(r){let e=v(r,"x","abs");if(e.dtype==="complex64"){let t={x:e};return D.runKernel(ia,t)}else{let t={x:e};return D.runKernel(ss,t)}}var Et=T({abs_:VG});function GG(r){let t={x:v(r,"x","acos")};return D.runKernel(Ks,t)}var Sm=T({acos_:GG});function jG(r){let t={x:v(r,"x","acosh")};return D.runKernel(Xs,t)}var Tm=T({acosh_:jG});function WG(r){A(Array.isArray(r),()=>"The argument passed to tf.addN() must be a list of tensors"),A(r.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${r.length}`);let e=r.map((o,s)=>v(o,`tensors${s}`,"addN")),t=e[0];e.forEach(o=>{if(o.dtype!==t.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")}),e.forEach(o=>{if(!Vr(o.shape,t.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")});let n=e;return D.runKernel(Wn,n)}var xw=T({addN_:WG});function UG(r,e=null,t=!1){let o={x:v(r,"x","all","bool")},s={axis:e,keepDims:t};return D.runKernel(Vl,o,s)}var wu=T({all_:UG});function qG(r,e=null,t=!1){let o={x:v(r,"x","any","bool")},s={axis:e,keepDims:t};return D.runKernel(Gl,o,s)}var il=T({any_:qG});function HG(r,e=0){let n={x:v(r,"x","argMax")},o={axis:e};return D.runKernel(Un,n,o)}var al=T({argMax_:HG});function KG(r,e=0){let n={x:v(r,"x","argMin")},o={axis:e};return D.runKernel(na,n,o)}var Em=T({argMin_:KG});function XG(r){let t={x:v(r,"x","asin")};return D.runKernel(Ys,t)}var Am=T({asin_:XG});function YG(r){let t={x:v(r,"x","asinh")};return D.runKernel(Zs,t)}var Dm=T({asinh_:YG});function ZG(r){let t={x:v(r,"x","atan")};return D.runKernel(Js,t)}var $m=T({atan_:ZG});function JG(r,e){let t=v(r,"a","atan2"),n=v(e,"b","atan2");[t,n]=Ge(t,n);let o={a:t,b:n};return D.runKernel(ei,o)}var Rm=T({atan2_:JG});function QG(r){let t={x:v(r,"x","atanh")};return D.runKernel(Qs,t)}var Fm=T({atanh_:QG});function ej(r,e,t,n,o="NHWC",s){let a=r[3],i=[...e,a],l=ON(o);return _u(r,i,t,s,n,null,null,l)}function yw(r,e,t,n,o,s,a="channelsLast"){let[i,l]=ag(e),u;if(a==="channelsLast")u=[i,l,r[3],r[3]];else if(a==="channelsFirst")u=[i,l,r[1],r[1]];else throw new Error(`Unknown dataFormat ${a}`);return _u(r,u,t,n,o,s,!1,a)}function tj(r,e,t,n,o,s,a="NDHWC"){let[i,l,u]=bw(e),c,p;if(a==="NDHWC")p="channelsLast",c=[i,l,u,r[4],r[4]];else if(a==="NCDHW")p="channelsFirst",c=[i,l,u,r[1],r[1]];else throw new Error(`Unknown dataFormat ${a}`);return PN(r,c,t,n,o,!1,p,s)}function _u(r,e,t,n,o,s,a=!1,i="channelsLast"){let[l,u,c,p]=[-1,-1,-1,-1];if(i==="channelsLast")[l,u,c,p]=r;else if(i==="channelsFirst")[l,p,u,c]=r;else throw new Error(`Unknown dataFormat ${i}`);let[m,f,,d]=e,[h,g]=ag(t),[x,b]=ag(n),w=Hc(m,x),_=Hc(f,b),{padInfo:k,outHeight:E,outWidth:S}=rj(o,u,c,h,g,w,_,s,i),R=a?d*p:d,F;return i==="channelsFirst"?F=[l,R,E,S]:i==="channelsLast"&&(F=[l,E,S,R]),{batchSize:l,dataFormat:i,inHeight:u,inWidth:c,inChannels:p,outHeight:E,outWidth:S,outChannels:R,padInfo:k,strideHeight:h,strideWidth:g,filterHeight:m,filterWidth:f,effectiveFilterHeight:w,effectiveFilterWidth:_,dilationHeight:x,dilationWidth:b,inShape:r,outShape:F,filterShape:e}}function PN(r,e,t,n,o,s=!1,a="channelsLast",i){let[l,u,c,p,m]=[-1,-1,-1,-1,-1];if(a==="channelsLast")[l,u,c,p,m]=r;else if(a==="channelsFirst")[l,m,u,c,p]=r;else throw new Error(`Unknown dataFormat ${a}`);let[f,d,h,,g]=e,[x,b,w]=bw(t),[_,k,E]=bw(n),S=Hc(f,_),R=Hc(d,k),F=Hc(h,E),{padInfo:P,outDepth:j,outHeight:G,outWidth:U}=nj(o,u,c,p,x,b,w,S,R,F,i),X=s?g*m:g,K;return a==="channelsFirst"?K=[l,X,j,G,U]:a==="channelsLast"&&(K=[l,j,G,U,X]),{batchSize:l,dataFormat:a,inDepth:u,inHeight:c,inWidth:p,inChannels:m,outDepth:j,outHeight:G,outWidth:U,outChannels:X,padInfo:P,strideDepth:x,strideHeight:b,strideWidth:w,filterDepth:f,filterHeight:d,filterWidth:h,effectiveFilterDepth:S,effectiveFilterHeight:R,effectiveFilterWidth:F,dilationDepth:_,dilationHeight:k,dilationWidth:E,inShape:r,outShape:K,filterShape:e}}function oj(r,e,t,n,o){n==null&&(n=ww(r,e,t));let s=r[0],a=r[1],i=ku((s-e+2*n)/t+1,o),l=ku((a-e+2*n)/t+1,o);return[i,l]}function sj(r,e,t,n,o,s){o==null&&(o=ww(r,e,n));let a=r[0],i=r[1],l=r[2],u=ku((a-e+2*o)/n+1,s),c=ku((i-e+2*o)/n+1,s),p=ku((l-e+2*o)/n+1,s);return[u,c,p,t]}function ww(r,e,t,n=1){let o=Hc(e,n);return Math.floor((r[0]*(t-1)-t+o)/2)}function ag(r){return typeof r=="number"?[r,r,r]:r.length===2?[r[0],r[1],1]:r}function bw(r){return typeof r=="number"?[r,r,r]:r}function Hc(r,e){return e<=1?r:r+(r-1)*(e-1)}function rj(r,e,t,n,o,s,a,i,l){let u,c,p;if(typeof r=="number"){u={top:r,bottom:r,left:r,right:r,type:r===0?"VALID":"NUMBER"};let f=oj([e,t],s,n,r,i);c=f[0],p=f[1]}else if(r==="same"){c=Math.ceil(e/n),p=Math.ceil(t/o);let m=Math.max(0,(c-1)*n+s-e),f=Math.max(0,(p-1)*o+a-t),d=Math.floor(m/2),h=m-d,g=Math.floor(f/2),x=f-g;u={top:d,bottom:h,left:g,right:x,type:"SAME"}}else if(r==="valid")u={top:0,bottom:0,left:0,right:0,type:"VALID"},c=Math.ceil((e-s+1)/n),p=Math.ceil((t-a+1)/o);else if(typeof r=="object"){let m=l==="channelsLast"?r[1][0]:r[2][0],f=l==="channelsLast"?r[1][1]:r[2][1],d=l==="channelsLast"?r[2][0]:r[3][0],h=l==="channelsLast"?r[2][1]:r[3][1];u={top:m,bottom:f,left:d,right:h,type:m===0&&f===0&&d===0&&h===0?"VALID":"EXPLICIT"},c=ku((e-s+m+f)/n+1,i),p=ku((t-a+d+h)/o+1,i)}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:u,outHeight:c,outWidth:p}}function nj(r,e,t,n,o,s,a,i,l,u,c){let p,m,f,d;if(typeof r=="number"){p={top:r,bottom:r,left:r,right:r,front:r,back:r,type:r===0?"VALID":"NUMBER"};let g=sj([e,t,n,1],i,1,o,r,c);m=g[0],f=g[1],d=g[2]}else if(r==="same"){m=Math.ceil(e/o),f=Math.ceil(t/s),d=Math.ceil(n/a);let h=(m-1)*o+i-e,g=(f-1)*s+l-t,x=(d-1)*a+u-n,b=Math.floor(h/2),w=h-b,_=Math.floor(g/2),k=g-_,E=Math.floor(x/2),S=x-E;p={top:_,bottom:k,left:E,right:S,front:b,back:w,type:"SAME"}}else if(r==="valid")p={top:0,bottom:0,left:0,right:0,front:0,back:0,type:"VALID"},m=Math.ceil((e-i+1)/o),f=Math.ceil((t-l+1)/s),d=Math.ceil((n-u+1)/a);else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:p,outDepth:m,outHeight:f,outWidth:d}}function ku(r,e){if(!e)return Math.trunc(r);switch(e){case"round":return Math.round(r);case"ceil":return Math.ceil(r);case"floor":return Math.floor(r);default:throw new Error(`Unknown roundingMode ${e}`)}}function Fn(r){let[e,t,n]=ag(r);return e===1&&t===1&&n===1}function br(r,e){return Fn(r)||Fn(e)}function ON(r){if(r==="NHWC")return"channelsLast";if(r==="NCHW")return"channelsFirst";throw new Error(`Unknown dataFormat ${r}`)}function ij(r,e){let n={x:v(r,"x","reshape","string_or_numeric")},o={shape:e};return D.runKernel(fs,n,o)}var z=T({reshape_:ij});function aj(r,e,t,n,o){let s=v(r,"x","avgPool","float32"),a=1;A(br(t,a),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${t} and dilations '${a}'`);let i=s,l=!1;s.rank===3&&(l=!0,i=z(s,[1,s.shape[0],s.shape[1],s.shape[2]])),A(i.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${i.rank}.`),o!=null&&A(st(n),()=>`Error in avgPool: pad must be an integer when using, dimRoundingMode ${o} but got pad ${n}.`);let u={x:i},c={filterSize:e,strides:t,pad:n,dimRoundingMode:o},p=D.runKernel(qn,u,c);return p=ne(p,s.dtype),l?z(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var va=T({avgPool_:aj});function lj(r,e,t,n,o,s="NDHWC"){let a=v(r,"x","avgPool3d","float32"),i=a,l=!1;a.rank===4&&(l=!0,i=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),A(i.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${i.rank}.`),A(s==="NDHWC",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),o!=null&&A(st(n),()=>`Error in avgPool3d: pad must be an integer when using, dimRoundingMode ${o} but got pad ${n}.`);let u={x:i},c={filterSize:e,strides:t,pad:n,dimRoundingMode:o,dataFormat:s},p=D.runKernel(oa,u,c);return p=ne(p,i.dtype),l?z(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var Om=T({avgPool3d_:lj});function uj(r,e=0){A(r.length>=1,()=>"Pass at least one tensor to concat");let t=ya(r,"tensors","concat","string_or_numeric");if(t[0].dtype==="complex64"&&t.forEach(s=>{if(s.dtype!=="complex64")throw new Error(`Cannot concatenate complex64 tensors with a tensor - with dtype ${s.dtype}. `)}),t.length===1)return Rn(t[0]);let n=t,o={axis:e};return D.runKernel(is,n,o)}var Qe=T({concat_:uj});function cj(r){let t={x:v(r,"x","sigmoid")};return D.runKernel(No,t)}var Wr=T({sigmoid_:cj});function pj(r,e,t){let n=v(r,"x","slice","string_or_numeric");if(n.rank===0)throw new Error("Slicing scalar is not possible");let o={x:n},s={begin:e,size:t};return D.runKernel(hs,o,s)}var Fe=T({slice_:pj});function mj(r){let t={x:v(r,"x","tanh")};return D.runKernel($o,t)}var Li=T({tanh_:mj});function fj(r,e,t,n,o,s){let a=v(r,"forgetBias","basicLSTMCell"),i=v(e,"lstmKernel","basicLSTMCell"),l=v(t,"lstmBias","basicLSTMCell"),u=v(n,"data","basicLSTMCell"),c=v(o,"c","basicLSTMCell"),p=v(s,"h","basicLSTMCell"),m=Qe([u,p],1),f=je(m,i),d=Q(f,l),h=d.shape[0],g=d.shape[1]/4,x=[h,g],b=Fe(d,[0,0],x),w=Fe(d,[0,g],x),_=Fe(d,[0,g*2],x),k=Fe(d,[0,g*3],x),E=Q(M(Wr(b),Li(w)),M(c,Wr(Q(a,_)))),S=M(Li(E),Wr(k));return[E,S]}var dj=T({basicLSTMCell_:fj});function hj(r,e,t){let n=v(r,"x","batchToSpaceND"),o=e.reduce((i,l)=>i*l);A(n.rank>=1+e.length,()=>`input rank is ${n.rank} but should be > than blockShape.length ${e.length}`),A(t.length===e.length,()=>`crops.length is ${t.length} but should be equal to blockShape.length ${e.length}`),A(n.shape[0]%o==0,()=>`input tensor batch is ${n.shape[0]} but is not divisible by the product of the elements of blockShape ${e.join(" * ")} === ${o}`);let s={x:n},a={blockShape:e,crops:t};return D.runKernel(sa,s,a)}var Ca=T({batchToSpaceND_:hj});function MN(r){let e;return r.rank===0||r.rank===1?e=z(r,[1,1,1,r.size]):r.rank===2?e=z(r,[1,1,r.shape[0],r.shape[1]]):r.rank===3?e=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]):e=r,e}function gj(r,e,t,n,o,s){s==null&&(s=.001);let a=v(r,"x","batchNorm"),i=v(e,"mean","batchNorm"),l=v(t,"variance","batchNorm"),u;o!=null&&(u=v(o,"scale","batchNorm"));let c;n!=null&&(c=v(n,"offset","batchNorm")),A(i.rank===l.rank,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),A(c==null||i.rank===c.rank,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),A(u==null||i.rank===u.rank,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let m={x:MN(a),scale:u,offset:c,mean:i,variance:l},f={varianceEpsilon:s},d=D.runKernel(no,m,f);return z(d,a.shape)}var Oo=T({batchNorm_:gj});function xj(r,e,t,n,o,s){let a=v(r,"x","batchNorm"),i=v(e,"mean","batchNorm"),l=v(t,"variance","batchNorm"),u;o!=null&&(u=v(o,"scale","batchNorm"));let c;return n!=null&&(c=v(n,"offset","batchNorm")),A(a.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${a.rank}.`),A(i.rank===2||i.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${i.rank}.`),A(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${l.rank}.`),u!=null&&A(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${u.rank}.`),c!=null&&A(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${c.rank}.`),Oo(a,i,l,c,u,s)}var _w=T({batchNorm2d_:xj});function yj(r,e,t,n,o,s){let a=v(r,"x","batchNorm"),i=v(e,"mean","batchNorm"),l=v(t,"variance","batchNorm"),u;o!=null&&(u=v(o,"scale","batchNorm"));let c;return n!=null&&(c=v(n,"offset","batchNorm")),A(a.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${a.rank}.`),A(i.rank===3||i.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${i.rank}.`),A(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${l.rank}.`),u!=null&&A(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${u.rank}.`),c!=null&&A(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${c.rank}.`),Oo(a,i,l,c,u,s)}var kw=T({batchNorm3d_:yj});function bj(r,e,t,n,o,s){let a=v(r,"x","batchNorm"),i=v(e,"mean","batchNorm"),l=v(t,"variance","batchNorm"),u;o!=null&&(u=v(o,"scale","batchNorm"));let c;return n!=null&&(c=v(n,"offset","batchNorm")),A(a.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${a.rank}.`),A(i.rank===4||i.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${i.rank}.`),A(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${l.rank}.`),u!=null&&A(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${u.rank}.`),c!=null&&A(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${c.rank}.`),Oo(a,i,l,c,u,s)}var vw=T({batchNorm4d_:bj});function wj(r,e,t){let n=v(r,"x","bincount"),o=v(e,"weights","bincount");A(n.dtype==="int32",()=>`Error in bincount: input dtype must be int32, but got ${n.dtype}`),A(t>=0,()=>`size must be non-negative, but got ${t}.`),A(o.size===n.size||o.size===0,()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${n.shape}, weights shape: ${o.shape}.`);let s={x:n,weights:o},a={size:t};return D.runKernel(Ul,s,a)}var Cw=T({bincount_:wj});function _j(r,e){let t=v(r,"broadcastTo","x"),n=t.shape;if(e.some(u=>!(u>0)||u%1!=0))throw new Error(`broadcastTo(): Invalid broadcast shape [${e}].`);if(e.lengtht.rank){let u=t.shape.slice();for(;u.length=0;u--)if(o[u]===e[u])s[u]=1;else if(t.shape[u]!==1)throw new Error(`broadcastTo(): [${n}] cannot be broadcast to [${e}].`);if(s.map((u,c)=>u>1?c:-1).filter(u=>u>=0).length===0)return Rn(t);let i={x:t},l={reps:s};return D.runKernel(yn,i,l)}var ll=T({broadcastTo_:_j});function kj(r){let t={x:v(r,"x","ceil")};return D.runKernel(ti,t)}var Pm=T({ceil_:kj});function vj(r,e,t){let n=v(r,"x","clipByValue");A(e<=t,()=>`Error in clip: min (${e}) must be less than or equal to max (${t}).`);let o={x:n},s={clipValueMin:e,clipValueMax:t};return D.runKernel(Dn,o,s)}var sr=T({clipByValue_:vj});function Cj(r){return Qe(r,0)}var Iw=T({concat1d_:Cj});function Ij(r,e){return Qe(r,e)}var Nw=T({concat2d_:Ij});function Nj(r,e){return Qe(r,e)}var Sw=T({concat3d_:Nj});function Sj(r,e){return Qe(r,e)}var Tw=T({concat4d_:Sj});function Tj(r,e,t,n,o="NHWC",s=[1,1],a){let i=v(r,"x","conv2d"),l=v(e,"filter","conv2d"),u=i,c=!1;i.rank===3&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),A(u.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${u.rank}.`),A(l.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${l.rank}.`),a!=null&&A(st(n),()=>`Error in conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${n}.`);let p=o==="NHWC"?u.shape[3]:u.shape[1];A(p===l.shape[2],()=>`Error in conv2d: depth of input (${p}) must match input depth for filter ${l.shape[2]}.`),A(br(t,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`);let m={x:u,filter:l},f={strides:t,pad:n,dataFormat:o,dilations:s,dimRoundingMode:a},d=D.runKernel(Kn,m,f);return c?z(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var Ur=T({conv2d_:Tj});function Ej(r,e,t,n,o="NWC",s=1,a){let i=v(r,"x","conv1d"),l=v(e,"filter","conv1d"),u=i,c=!1;i.rank===2&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1]])),A(u.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${u.rank}.`),A(l.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${l.rank}.`),a!=null&&A(st(n),()=>`Error in conv1d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${n}.`),A(u.shape[2]===l.shape[1],()=>`Error in conv1d: depth of input (${u.shape[2]}) must match input depth for filter ${l.shape[1]}.`),A(br(t,s),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${t} and dilation '${s}'`),A(o==="NWC",()=>`Error in conv1d: got dataFormat of ${o} but only NWC is currently supported.`);let p=z(l,[1,l.shape[0],l.shape[1],l.shape[2]]),m=z(u,[u.shape[0],1,u.shape[1],u.shape[2]]),g=Ur(m,p,[1,t],n,"NHWC",[1,s],a);return c?z(g,[g.shape[2],g.shape[3]]):z(g,[g.shape[0],g.shape[2],g.shape[3]])}var vu=T({conv1d_:Ej});function Aj(r,e,t,n,o,s="NHWC",a){A(r.length===e.rank,()=>`Length of inShape (${r.length}) and rank of dy (${e.rank}) must match`);let i=r,l=e,u=!1;e.rank===3&&(u=!0,l=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]),i=[1,r[0],r[1],r[2]]),A(i.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${i.length}.`),A(l.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${l.rank}`),A(t.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${t.rank}`);let c=s==="NHWC"?i[3]:i[1],p=s==="NHWC"?l.shape[3]:l.shape[1];A(c===t.shape[2],()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${t.shape[2]}.`),A(p===t.shape[3],()=>`Error in conv2dDerInput: depth of output (${p}) must match output depth for filter ${t.shape[3]}.`),a!=null&&A(st(o),()=>`Error in conv2dDerInput: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);let m={dy:l,filter:t},f={strides:n,pad:o,dataFormat:s,dimRoundingMode:a,inputShape:i},d=D.runKernel(Xn,m,f);return u?z(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var Kc=T({conv2DBackpropInput_:Aj});function Dj(r,e,t,n,o,s){let a=v(r,"x","conv2dTranspose"),i=v(e,"filter","conv2dTranspose");return Kc(t,a,i,n,o,"NHWC",s)}var Cu=T({conv2dTranspose_:Dj});function $j(r,e,t,n,o="NDHWC",s=[1,1,1]){let a=v(r,"x","conv3d"),i=v(e,"filter","conv3d"),l=a,u=!1;a.rank===4&&(u=!0,l=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),A(l.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${l.rank}.`),A(i.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${i.rank}.`),A(l.shape[4]===i.shape[3],()=>`Error in conv3d: depth of input (${l.shape[4]}) must match input depth for filter ${i.shape[3]}.`),A(br(t,s),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`),A(o==="NDHWC",()=>`Error in conv3d: got dataFormat of ${o} but only NDHWC is currently supported.`);let c={x:l,filter:i},p={strides:t,pad:n,dataFormat:o,dilations:s},m=D.runKernel(aa,c,p);return u?z(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Mm=T({conv3d_:$j});function Rj(r,e,t,n,o){A(r.length===e.rank,()=>`Length of inShape (${r.length}) and rank of dy (${e.rank}) must match`);let s=r,a=e,i=!1;e.rank===4&&(i=!0,a=z(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]),s=[1,r[0],r[1],r[2],r[3]]);let l=s[4],u=a.shape[4];A(s.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${s.length}.`),A(a.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${a.rank}`),A(t.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${t.rank}`),A(l===t.shape[3],()=>`Error in conv3dDerInput: depth of input (${l}) must match input depth for filter ${t.shape[3]}.`),A(u===t.shape[4],()=>`Error in conv3dDerInput: depth of output (${u}) must match output depth for filter ${t.shape[4]}.`);let c={dy:a,filter:t},p={pad:o,strides:n,inputShape:s},m=D.runKernel(Xl,c,p);return i?z(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var lg=T({conv3DBackpropInput_:Rj});function Fj(r,e,t,n,o){let s=v(r,"x","conv3dTranspose"),a=v(e,"filter","conv3dTranspose");return lg(t,s,a,n,o)}var Oj=T({conv3dTranspose_:Fj});function Pj(r){let t={x:v(r,"x","cos")};return D.runKernel(Yn,t)}var Ia=T({cos_:Pj});function Mj(r){let t={x:v(r,"x","cosh")};return D.runKernel(ri,t)}var Iu=T({cosh_:Mj});function Lj(r,e=0,t=!1,n=!1){let s={x:v(r,"x","cumsum")},a={axis:e,exclusive:t,reverse:n};return D.runKernel(Zn,s,a)}var Nu=T({cumsum_:Lj});function zj(r,e,t,n=!1){let o=v(r,"x","denseBincount"),s=v(e,"weights","denseBincount");A(o.dtype==="int32",()=>`Error in denseBincount: input dtype must be int32, but got ${o.dtype}`),A(o.rank<=2,()=>`Error in denseBincount: input must be at most rank 2, but got rank ${o.rank}.`),A(t>=0,()=>`size must be non-negative, but got ${t}.`),A(s.size===o.size||s.size===0,()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${o.shape}, weights shape: ${s.shape}.`);let a={x:o,weights:s},i={size:t,binaryOutput:n};return D.runKernel(Yl,a,i)}var Ew=T({denseBincount_:zj});function Bj(r,e,t="NHWC"){let n=v(r,"x","depthToSpace"),o=t==="NHWC"?n.shape[1]:n.shape[2],s=t==="NHWC"?n.shape[2]:n.shape[3],a=t==="NHWC"?n.shape[3]:n.shape[1];A(o*e>=0,()=>`Negative dimension size caused by overflow when multiplying - ${o} and ${e} for depthToSpace with input shape - ${n.shape}`),A(s*e>=0,()=>`Negative dimension size caused by overflow when multiplying - ${s} and ${e} for depthToSpace with input shape - ${n.shape}`),A(a%(e*e)==0,()=>`Dimension size must be evenly divisible by ${e*e} but is ${a} for depthToSpace with input shape ${n.shape}`);let i={x:n},l={blockSize:e,dataFormat:t};return D.runKernel(oi,i,l)}var Lm=T({depthToSpace_:Bj});function Vj(r,e,t,n,o="NHWC",s=[1,1],a){let i=v(r,"x","depthwiseConv2d"),l=v(e,"filter","depthwiseConv2d"),u=i,c=!1;i.rank===3&&(c=!0,u=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),A(u.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${u.rank}.`),A(l.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${l.rank}.`),A(u.shape[3]===l.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`),a!=null&&A(st(n),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${n}.`);let p={x:u,filter:l},m={strides:t,pad:n,dataFormat:o,dilations:s,dimRoundingMode:a},f=D.runKernel(Jn,p,m);return c?z(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var Cs=T({depthwiseConv2d_:Vj});function Gj(r){let t={x:v(r,"x","diag")};return D.runKernel(Ql,t)}var jj=T({diag_:Gj});function Wj(r,e,t,n,o=[1,1],s="NHWC"){let a=v(r,"x","dilation2d"),i=v(e,"filter","dilation2d");A(a.rank===3||a.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${a.rank}.`),A(i.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${i.rank}.`),A(s==="NHWC",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${s}`);let l=a,u=!1;a.rank===3&&(l=z(a,[1,a.shape[0],a.shape[1],a.shape[2]]),u=!0);let c={x:l,filter:i},p={strides:t,pad:n,dilations:o},m=D.runKernel(la,c,p);return u?z(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var zm=T({dilation2d_:Wj});function Uj(r,e){let t=r.length,n=[];for(let o=0;o1&&a===1&&n.unshift(s)}return n}function It(r,e){let t=[];for(let n=0;n1)&&t.unshift(s)}return t}function ze(r,e){let t=[],n=Math.max(r.length,e.length);for(let o=0;o"The first dimension of `a` must match the size of `condition`."),s.rank!==1&&St(s.shape,l.shape,"Error in where: ");let u={condition:s,t:i,e:l};return D.runKernel(ds,u)}var $t=T({where_:Hj});function Kj(r){let t={x:v(r,"x","zerosLike")};return D.runKernel(ys,t)}var Ie=T({zerosLike_:Kj});function Xj(r,e){let t=v(r,"a","div"),n=v(e,"b","div");[t,n]=Ge(t,n);let o=de(t,n),s=Ie(o),a=wn(n,s);return $t(a,s,o)}var Bm=T({divNoNan_:Xj});function Yj(r,e){let t=v(r,"t1","dot"),n=v(e,"t2","dot");A((t.rank===1||t.rank===2)&&(n.rank===1||n.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${t.rank} and ${n.rank}.`);let o=t.rank===1?t.size:t.shape[1],s=n.rank===1?n.size:n.shape[0];if(A(o===s,()=>`Error in dot: inner dimensions of inputs must match, but got ${o} and ${s}.`),t.rank===1&&n.rank===1){let a=z(t,[1,-1]),i=z(n,[-1,1]),l=je(a,i);return z(l,[])}else if(t.rank===1&&n.rank===2){let a=z(t,[1,-1]),i=z(n,[n.shape[0],n.shape[1]]),l=je(a,i);return z(l,[l.size])}else if(t.rank===2&&n.rank===1){let a=z(n,[-1,1]),i=je(t,a);return z(i,[i.size])}else{let a=z(n,[n.shape[0],n.shape[1]]);return je(t,a)}}var Aw=T({dot_:Yj});function Zj(r){let t={x:v(r,"x","elu")};return D.runKernel(si,t)}var Is=T({elu_:Zj});function Jj(r){let e=v(r,"x","erf");A(e.dtype==="int32"||e.dtype==="float32",()=>"Input dtype must be `int32` or `float32`."),e.dtype==="int32"&&(e=ne(e,"float32"));let t={x:e};return D.runKernel(ii,t)}var Vm=T({erf_:Jj});function Qj(r){let t={x:v(r,"x","exp")};return D.runKernel(eo,t)}var Yt=T({exp_:Qj});function eW(r,e=0){let t=v(r,"x","expandDims","string_or_numeric");A(e<=t.rank,()=>"Axis must be <= rank of the tensor");let n={input:t},o={dim:e};return D.runKernel(as,n,o)}var ir=T({expandDims_:eW});function tW(r){let t={x:v(r,"x","expm1")};return D.runKernel(li,t)}var Gm=T({expm1_:tW});function rW(r,e){let t=v(r,"x","tile","string_or_numeric");A(t.rank===e.length,()=>`Error in transpose: rank of input ${t.rank} must match length of reps ${e}.`);let n={x:t},o={reps:e};return D.runKernel(yn,n,o)}var On=T({tile_:rW});function nW(r,e,t,n="float32"){e==null&&(e=r);let o=Ce([r,e],n),s=r<=e?r:e;for(let i=0;i`Error in localResponseNormalization: x must be rank 3 or 4 but got - rank ${s.rank}.`),A(st(e),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${e}.`);let a=s,i=!1;s.rank===3&&(i=!0,a=z(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let l={x:a},u={depthRadius:e,bias:t,alpha:n,beta:o},c=D.runKernel(ca,l,u);return i?z(c,[c.shape[1],c.shape[2],c.shape[3]]):c}var jm=T({localResponseNormalization_:hW});function gW(r){let t={x:v(r,"x","log")};return D.runKernel(io,t)}var ar=T({log_:gW});function xW(r){let t={x:v(r,"x","log1p")};return D.runKernel(xi,t)}var Eu=T({log1p_:xW});function yW(r){return A(qs(r),()=>"The f passed in grad(f) must be a function"),(e,t)=>{let n=v(e,"x","tf.grad","string_or_numeric"),o=t!=null?v(t,"dy","tf.grad"):null;return D.tidy(()=>{let{value:s,grads:a}=D.gradients(()=>r(n),[n],o);return o!=null&&St(s.shape,o.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),ug(a),a[0]})}}function bW(r){return A(qs(r),()=>"The f passed in grads(f) must be a function"),(e,t)=>{A(Array.isArray(e),()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s");let n=ya(e,"args","tf.grads","string_or_numeric"),o=t!=null?v(t,"dy","tf.grads"):null;return D.tidy(()=>{let{value:s,grads:a}=D.gradients(()=>r(...n),n,o);return o!=null&&St(s.shape,o.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),ug(a),a})}}function wW(r){return A(qs(r),()=>"The f passed in valueAndGrad(f) must be a function"),(e,t)=>{A(e instanceof Ve,()=>"The x passed in valueAndGrad(f)(x) must be a tensor"),A(t==null||t instanceof Ve,()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor");let{grads:n,value:o}=D.gradients(()=>r(e),[e],t);return ug(n),{grad:n[0],value:o}}}function _W(r){return A(qs(r),()=>"The f passed in valueAndGrads(f) must be a function"),(e,t)=>{A(Array.isArray(e)&&e.every(o=>o instanceof Ve),()=>"The args passed in valueAndGrads(f)(args) must be array of tensors"),A(t==null||t instanceof Ve,()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor");let n=D.gradients(()=>r(...e),e,t);return t!=null&&St(n.value.shape,t.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),ug(n.grads),n}}function cg(r,e){A(qs(r),()=>"The f passed in variableGrads(f) must be a function"),A(e==null||Array.isArray(e)&&e.every(u=>u instanceof nl),()=>"The varList passed in variableGrads(f, varList) must be an array of variables");let t=e!=null;if(!t){e=[];for(let u in D.registeredVariables)e.push(D.registeredVariables[u])}let n=t?e.filter(u=>!u.trainable):null,o=e.length;e=e.filter(u=>u.trainable),A(e.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${o} variables is trainable.`);let s=!0,{value:a,grads:i}=D.gradients(r,e,null,s);A(i.some(u=>u!=null),()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize()."),A(a.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`);let l={};return e.forEach((u,c)=>{i[c]!=null&&(l[u.name]=i[c])}),n!=null&&n.forEach(u=>l[u.name]=null),{value:a,grads:l}}function qr(r){return D.customGrad(r)}function ug(r){if(r.filter(t=>t==null).length>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that - the f you passed encloses all operations that lead from x to y.`)}function kW(r){let t={x:v(r,"x","neg")};return D.runKernel(cs,t)}var Ue=T({neg_:kW});function vW(r){let t={x:v(r,"x","softplus")};return D.runKernel(Ai,t)}var Ss=T({softplus_:vW});function CW(r){let e=v(r,"x","logSigmoid");return qr(n=>({value:Ue(Ss(Ue(n))),gradFunc:a=>M(a,Wr(Ue(n)))}))(e)}var Ow=T({logSigmoid_:CW});function IW(r,e=null,t=!1){let o={x:v(r,"x","max")},s={reductionIndices:e,keepDims:t};return D.runKernel(ao,o,s)}var lr=T({max_:IW});function NW(r,e){let t=v(r,"a","sub"),n=v(e,"b","sub");[t,n]=Ge(t,n);let o={a:t,b:n};return D.runKernel(Do,o)}var ue=T({sub_:NW});function SW(r,e=null,t=!1){let n=v(r,"x","sum");n.dtype==="bool"&&(n=ne(n,"int32"));let o={x:n},s={axis:e,keepDims:t};return D.runKernel(To,o,s)}var ye=T({sum_:SW});function TW(r,e=-1){let t=v(r,"logits","logSoftmax");if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${t.rank} and axis was ${e}`);return qr((o,s)=>{let a=!0,i=lr(o,e,!0),l=ue(o,i),u=ue(ne(l,"float32"),ar(ye(Yt(l),e,a)));return s([u]),{value:u,gradFunc:(p,m)=>{let[f]=m,d=!0,h=Yt(f);return ue(p,M(ye(p,e,d),h))}}})(t)}var Au=T({logSoftmax_:TW});function Pw(r,e){for(let t=0;tr[s]);return[t,o]}function Mo(r,e){let t=e.map(n=>1);return LN(r,t,e)}function EW(r,e,t){A(Pw(e,t),()=>`${r} supports only inner-most axes for now. Got axes ${e} and rank-${t} input.`)}function Lw(r,e){if(Pw(r,e))return null;let t=[];for(let n=0;nt.push(n)),t}function Wm(r){return r.map((e,t)=>[t,e]).sort((e,t)=>e[1]-t[1]).map(e=>e[0])}function AW(r,e){let t=[];for(let n=e-r;n`Error in maxPool: input must be rank 4 but got rank ${i.rank}.`),A(br(t,a),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${t} and dilations '${a}'`),o!=null&&A(st(n),()=>`Error in maxPool: pad must be an integer when using, dimRoundingMode ${o} but got pad ${n}.`);let u={x:i},c={filterSize:e,strides:t,pad:n,dimRoundingMode:o},p=D.runKernel(uo,u,c);return l?z(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var Ea=T({maxPool_:PW});function MW(r,e=[1,1,1],t,n,o,s="NDHWC"){let a=v(r,"x","maxPool3d"),i=a,l=!1;a.rank===4&&(l=!0,i=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),A(i.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${i.rank}.`),A(s==="NDHWC",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),o!=null&&A(st(n),()=>`Error in maxPool3d: pad must be an integer when using, dimRoundingMode ${o} but got pad ${n}.`);let u={x:i},c={filterSize:e,strides:t,pad:n,dimRoundingMode:o,dataFormat:s},p=D.runKernel(pa,u,c);return l?z(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var qm=T({maxPool3d_:MW});function LW(r,e,t,n,o=!1){let a={x:v(r,"x","maxPoolWithArgmax")},i={filterSize:e,strides:t,pad:n,includeBatchInIndex:o},l=D.runKernel(lu,a,i);return{result:l[0],indexes:l[1]}}var Bw=T({maxPoolWithArgmax_:LW});function zW(r,e){let t=v(r,"a","maximum"),n=v(e,"b","maximum");[t,n]=Ge(t,n),t.dtype==="bool"&&(t=ne(t,"int32"),n=ne(n,"int32")),ze(t.shape,n.shape);let o={a:t,b:n};return D.runKernel(lo,o)}var Hr=T({maximum_:zW});function BW(r,e=null,t=!1){let o={x:v(r,"x","mean")},s={axis:e,keepDims:t};return D.runKernel(co,o,s)}var gt=T({mean_:BW});function VW(r,e=null,t=!1){let o={x:v(r,"x","min")},s={axis:e,keepDims:t};return D.runKernel(po,o,s)}var zi=T({min_:VW});function GW(r,e){let t=v(r,"a","minimum"),n=v(e,"b","minimum");[t,n]=Ge(t,n),t.dtype==="bool"&&(t=ne(t,"int32"),n=ne(n,"int32")),ze(t.shape,n.shape);let o={a:t,b:n};return D.runKernel(mo,o)}var Ts=T({minimum_:GW});function jW(r,e,t){A(t==="reflect"||t==="symmetric",()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${t}.`);let n=v(r,"x","mirrorPad");if(n.rank===0)throw new Error("mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad");A(e.length===n.rank,()=>`Padding doesn't match input. Must be ${n.rank}. Got ${e.length}.`);let o=t==="reflect"?1:0;for(let i=0;i"Invalid number of paddings. Must be length of 2 each."),A(e[i][0]>=0&&e[i][0]<=n.shape[i]-o&&e[i][1]>=0&&e[i][1]<=n.shape[i]-o,()=>`Padding in dimension ${i} cannot be greater than or equal to ${n.shape[i]-o} or less than 0 for input of shape ${n.shape}`);let s={paddings:e,mode:t},a={x:n};return D.runKernel(ma,a,s)}var Hm=T({mirrorPad_:jW});function WW(r,e){let t=v(r,"a","mod"),n=v(e,"b","mod");[t,n]=Ge(t,n);let o={a:t,b:n};return D.runKernel(bi,o)}var Km=T({mod_:WW});function UW(r){let e=v(r,"x","square"),t={};return D.runKernel("Square",{x:e},t)}var Pe=T({square_:UW});function qW(r,e=null,t=!1){r=v(r,"x","moments");let n=Qt(e,r.shape),o=gt(r,n,t),s=o.shape;t||(s=Mo(o.shape,n));let a=Pe(ue(ne(r,"float32"),z(o,s))),i=gt(a,n,t);return{mean:o,variance:i}}var Yc=T({moments_:qW});function HW(r,e,t,n){let o=v(e,"data","multiRNNCell"),s=ya(t,"c","multiRNNCell"),a=ya(n,"h","multiRNNCell"),i=o,l=[];for(let p=0;p2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${a}`);t=t||Math.random();let l={logits:a===1?z(o,[1,-1]):o},u={numSamples:e,seed:t,normalized:n},c=D.runKernel(uu,l,u);return a===1?z(c,[c.size]):c}var Vw=T({multinomial_:XW});function YW(r,e){let t=v(r,"a","notEqual"),n=v(e,"b","notEqual");[t,n]=Ge(t,n),ze(t.shape,n.shape);let o={a:t,b:n};return D.runKernel(wi,o)}var Lo=T({notEqual_:YW});function xt(r,e="float32"){if(e==="complex64"){let n=xt(r,"float32"),o=xt(r,"float32");return bn(n,o)}let t=$c(ft(r),e);return D.makeTensor(t,r,e)}function Ir(r,e="float32"){if(e==="complex64"){let n=Ir(r,"float32"),o=xt(r,"float32");return bn(n,o)}let t=gm(ft(r),e);return D.makeTensor(t,r,e)}function ZW(r){let t={x:v(r,"x","onesLike")};return D.runKernel(ps,t)}var tr=T({onesLike_:ZW});function JW(r,e){let t=v(r,"v1","outerProduct"),n=v(e,"v2","outerProduct");A(t.rank===1&&n.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${t.rank} and ${n.rank}.`);let o=z(t,[-1,1]),s=z(n,[1,-1]);return je(o,s)}var QW=T({outerProduct_:JW});function e4(r,e,t=0){let n=v(r,"x","pad");if(n.rank===0)throw new Error("pad(scalar) is not defined. Pass non-scalar to pad");let o={paddings:e,constantValue:t},s={x:n};return D.runKernel(go,s,o)}var Rr=T({pad_:e4});function t4(r,e,t=0){return A(e.length===2,()=>"Invalid number of paddings. Must be length of 2."),Rr(r,[e],t)}var r4=T({pad1d_:t4});function n4(r,e,t=0){return A(e.length===2&&e[0].length===2&&e[1].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),Rr(r,e,t)}var o4=T({pad2d_:n4});function s4(r,e,t=0){return A(e.length===3&&e[0].length===2&&e[1].length===2&&e[2].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),Rr(r,e,t)}var i4=T({pad3d_:s4});function a4(r,e,t=0){return A(e.length===4&&e[0].length===2&&e[1].length===2&&e[2].length===2&&e[3].length===2,()=>"Invalid number of paddings. Must be length of 2 each."),Rr(r,e,t)}var l4=T({pad4d_:a4});function u4(r,e,t){let n=v(r,"x","spaceToBatchND");A(n.rank>=1+e.length,()=>`input rank ${n.rank} should be > than [blockShape] ${e.length}`),A(t.length===e.length,()=>`paddings.shape[0] ${t.length} must be equal to [blockShape] ${e.length}`),A(n.shape.reduce((a,i,l)=>l>0&&l<=e.length?a&&(i+t[l-1][0]+t[l-1][1])%e[l-1]==0:a,!0),()=>`input spatial dimensions ${n.shape.slice(1)} with paddings ${t.toString()} must be divisible by blockShapes ${e.toString()}`);let o={x:n},s={blockShape:e,paddings:t};return D.runKernel(ha,o,s)}var Aa=T({spaceToBatchND_:u4});function m4(r,e,t,n,o,s){o==null&&(o=[1,1]),s==null&&(s=1),n===0&&(n="valid");let a=v(r,"x","maxPool"),i=a,l=!1;a.rank===3&&(l=!0,i=z(a,[1,a.shape[0],a.shape[1],a.shape[2]])),A(br(s,o),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'`);let u=yw(i.shape,e,s,o,n),c=[u.dilationHeight,u.dilationWidth],p;n==="same"?p=p4([u.filterHeight,u.filterWidth],c):p=[[0,0],[0,0]];let m=c[0]===1&&c[1]===1,[f,d]=c4([u.inHeight,u.inWidth],c,p),h=m?n:"valid",g=m?i:Aa(i,c,f),b=(t==="avg"?()=>va(g,e,s,h):()=>Ea(g,e,s,h))(),w=m?b:Ca(b,c,d);return l?z(w,[w.shape[1],w.shape[2],w.shape[3]]):w}function c4(r,e,t){let n=t.map(c=>c[0]),o=t.map(c=>c[1]),s=r.concat(n,o),a=e.map((c,p)=>(c-s[p]%c)%c),i=o.map((c,p)=>c+a[p]),l=e.map((c,p)=>[n[p],i[p]]),u=e.map((c,p)=>[0,a[p]]);return[l,u]}function p4(r,e){let n=r.map((a,i)=>a+(a-1)*(e[i]-1)).map(a=>a-1),o=n.map(a=>Math.floor(a/2)),s=n.map((a,i)=>a-o[i]);return n.map((a,i)=>[o[i],s[i]])}var Gw=T({pool_:m4});function f4(r,e){let t=v(r,"base","pow"),n=v(e,"exp","pow");[t,n]=Ge(t,n);let o={a:t,b:n};return D.runKernel(xo,o)}var Fr=T({pow_:f4});function d4(r,e){let t=v(r,"x","prelu"),n=v(e,"alpha","prelu"),o={x:t,alpha:n};return D.runKernel(yo,o)}var Da=T({prelu_:d4});function h4(r,e=null,t=!1){let n=v(r,"x","prod");n.dtype==="bool"&&(n=ne(n,"int32"));let o={x:n},s={axis:e,keepDims:t};return D.runKernel(Ci,o,s)}var $u=T({prod_:h4});function g4(r,e,t){let n=ft(r),o=null;if(t==null||t==="float32")o=new Float32Array(n);else if(t==="int32")o=new Int32Array(n);else if(t==="bool")o=new Uint8Array(n);else throw new Error(`Unknown data type ${t}`);for(let s=0;s=1||a===0);let i=Math.sqrt(-2*Math.log(a)/a);e=this.mean+this.stdDev*o*i,t=this.mean+this.stdDev*s*i,(!this.truncated||this.isValidTruncated(e))&&(n=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype==="float32"?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}},Xw=class{constructor(e,t,n,o){this.alpha=e,this.beta=1/t,this.dtype=n;let s=o||Math.random();this.randu=fg.alea(s.toString()),this.randn=new Zc(0,1,n,!1,this.randu()),e<1?this.d=e+2/3:this.d=e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,o,s,a;for(;;){do o=this.randn.nextValue(),a=1+this.c*o;while(a<=0);if(a*=a*a,e=o*o,t=1-.331*e*e,n=.5*e+this.d*(1-a+Math.log(a)),s=this.randu(),sthis.dtype==null||this.dtype==="float32",this.min=e,this.range=t-e,this.dtype=n,o==null&&(o=Math.random()),typeof o=="number"&&(o=o.toString()),!this.canReturnFloat()&&this.range<=1)throw new Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=fg.alea(o)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}nextValue(){return this.convertValue(this.min+this.range*this.random())}};function C4(r,e,t=1,n="float32",o){if(t==null&&(t=1),n==null&&(n="float32"),n!=="float32"&&n!=="int32")throw new Error(`Unsupported data type ${n}`);let s=new Xw(e,t,n,o),a=Ce(r,n);for(let i=0;i`Error in reverse1D: x must be rank 1 but got rank ${e.rank}.`),Kt(e,0)}var F4=T({reverse1d_:R4});function O4(r,e){let t=v(r,"x","reverse");return A(t.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${t.rank}.`),Kt(t,e)}var P4=T({reverse2d_:O4});function M4(r,e){let t=v(r,"x","reverse");return A(t.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${t.rank}.`),Kt(t,e)}var L4=T({reverse3d_:M4});function z4(r,e){let t=v(r,"x","reverse");return A(t.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${t.rank}.`),Kt(t,e)}var B4=T({reverse4d_:z4});function V4(r){let t={x:v(r,"x","round")};return D.runKernel(vo,t)}var Ym=T({round_:V4});function G4(r){let t={x:v(r,"x","rsqrt")};return D.runKernel(Co,t)}var Ou=T({rsqrt_:G4});function le(r,e){if((nr(r)&&e!=="string"||Array.isArray(r))&&e!=="complex64")throw new Error("Error creating a new Scalar: value must be a primitive (number|boolean|string)");if(e==="string"&&nr(r)&&!(r instanceof Uint8Array))throw new Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return Gr(r,[],[],e)}function j4(r){let t={x:v(r,"x","selu")};return D.runKernel(Si,t)}var Pu=T({selu_:j4});function W4(r,e,t,n,o,s=[1,1],a="NHWC"){let i=v(r,"x","separableConv2d"),l=v(e,"depthwiseFilter","separableConv2d"),u=v(t,"pointwiseFilter","separableConv2d"),c=i,p=!1;if(i.rank===3&&(p=!0,c=z(i,[1,i.shape[0],i.shape[1],i.shape[2]])),a==="NCHW")throw new Error("separableConv2d currently does not support dataFormat NCHW; only NHWC is supported");A(c.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${c.rank}.`),A(l.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${l.rank}.`),A(u.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${l.rank}.`),A(u.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${u.shape[0]}.`),A(u.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${u.shape[1]}.`);let m=l.shape[2],f=l.shape[3];A(u.shape[2]===m*f,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*f}, but got ${u.shape[2]}.`);let d=Cs(c,l,n,o,a,s),g=Ur(d,u,1,"valid",a);return p?z(g,[g.shape[1],g.shape[2],g.shape[3]]):g}var Zm=T({separableConv2d_:W4});async function U4(r,e){let t=v(r,"x","setdiff1d"),n=v(e,"y","setdiff1d");A(t.dtype===n.dtype,()=>`x and y should have the same dtype, but got x (${t.dtype}) and y (${n.dtype}).`),A(t.rank===1,()=>`x should be 1D tensor, but got x (${t.shape}).`),A(n.rank===1,()=>`y should be 1D tensor, but got y (${n.shape}).`);let o=await t.data(),s=await n.data(),a=new Set(s),i=0;for(let c=0;c`slice1d expects a rank-1 tensor, but got a rank-${n.rank} tensor`),Fe(n,[e],[t])}var Qm=T({slice1d_:X4});function Y4(r,e,t){let n=v(r,"x","slice2d");return A(n.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${n.rank} tensor`),Fe(n,e,t)}var hg=T({slice2d_:Y4});function Z4(r,e,t){let n=v(r,"x","slice3d");return A(n.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${n.rank} tensor`),Fe(n,e,t)}var ef=T({slice3d_:Z4});function J4(r,e,t){let n=v(r,"x","slice4d");return A(n.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${n.rank} tensor`),Fe(n,e,t)}var Qc=T({slice4d_:J4});function Q4(r,e=-1){let t=v(r,"logits","softmax","float32");if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${t.rank} and dim was ${e}`);let n={logits:t},o={dim:e};return D.runKernel(Eo,n,o)}var $a=T({softmax_:Q4});function eU(r){A(r.dtype==="complex64",()=>`The dtype for tf.spectral.fft() must be complex64 but got ${r.dtype}.`);let e={input:r};return D.runKernel(tu,e)}var Ra=T({fft_:eU});function tU(r){A(r.dtype==="complex64",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${r.dtype}.`);let e={input:r};return D.runKernel(ru,e)}var Bi=T({ifft_:tU});function rU(r){let e=r.shape[r.shape.length-1],t=r.size/e,n;if(e<=2){let o=z(r,[t,e]);n=Bi(o)}else{let o=[t,2*(e-1)],s=z(ul(r),[t,e]),a=z(Su(r),[t,e]),i=Kt(Fe(s,[0,1],[t,e-2]),1),l=M(Kt(Fe(a,[0,1],[t,e-2]),1),le(-1)),u=Qe([s,i],1),c=Qe([a,l],1),p=z(bn(u,c),[o[0],o[1]]);n=Bi(p)}if(n=ul(n),r.rank===3&&r.shape[0]!==0){let o=n,s=r.shape[0];n=z(n,[s,n.shape[0]/s,n.shape[1]]),o.dispose()}return n}var zu=T({irfft_:rU});function nU(r,e,t=0){let o={x:v(r,"x","split")},s={numOrSizeSplits:e,axis:t};return D.runKernel(gs,o,s)}var ur=T({split_:nU});function oU(r,e){A(r.dtype==="float32",()=>`The dtype for rfft() must be real value but got ${r.dtype}`);let t=r.shape[r.shape.length-1],n=r.size/t,o;if(e!=null&&e0),h=r.shape.map(g=>g);h[r.shape.length-1]=e,o=Fe(r,d,h),t=e}else if(e!=null&&e>t){let d=r.shape.map(h=>h);d[r.shape.length-1]=e-t,o=Qe([r,xt(d)],r.shape.length-1),t=e}else o=r;let s=Ie(o),a=z(bn(o,s),[n,t]),i=Ra(a),l=Math.floor(t/2)+1,u=ul(i),c=Su(i),p=ur(u,[l,t-l],u.shape.length-1),m=ur(c,[l,t-l],c.shape.length-1),f=o.shape.slice();return f[o.shape.length-1]=l,z(bn(p[0],m[0]),f)}var Fa=T({rfft_:oU});function sU(r){let t={x:v(r,"x","sqrt")};return D.runKernel(So,t)}var yt=T({sqrt_:sU});function iU(r,e){let t=v(r,"a","squaredDifference"),n=v(e,"b","squaredDifference");[t,n]=Ge(t,n),ze(t.shape,n.shape);let o={a:t,b:n},s={};return D.runKernel(Ao,o,s)}var Bu=T({squaredDifference_:iU});function aU(r,e){let t=v(r,"x","squeeze");return z(t,Nb(t.shape,e).newShape)}var _n=T({squeeze_:aU});function lU(r,e=0){let t=ya(r,"tensors","stack","string_or_numeric");A(t.length>=1,()=>"Pass at least one tensor to tf.stack"),t.length>0&&A(e<=t[0].rank,()=>"Axis must be <= rank of the tensor");let n=t,o={axis:e};return D.runKernel(ms,n,o)}var Vt=T({stack_:lU});function uU(r,e=0){let n={x:v(r,"x","step")},o={alpha:e};return D.runKernel($n,n,o)}var As=T({step_:uU});function cU(r,e,t,n,o=0,s=0,a=0,i=0,l=0){let c={x:v(r,"x","stridedSlice")},p={begin:e,end:t,strides:n,beginMask:o,endMask:s,ellipsisMask:a,newAxisMask:i,shrinkAxisMask:l};return D.runKernel(Di,c,p)}var tf=T({stridedSlice_:cU});function pU(r){let t={x:v(r,"x","tan")};return D.runKernel($i,t)}var rf=T({tan_:pU});function Gt(r,e){En(r);let t=vr(r,e);if(t.length!==1)throw new Error("tensor1d() requires values to be a flat/TypedArray");return Gr(r,null,t,e)}function Vi(r,e,t){if(En(r),e!=null&&e.length!==2)throw new Error("tensor2d() requires shape to have two numbers");let n=vr(r,t);if(n.length!==2&&n.length!==1)throw new Error("tensor2d() requires values to be number[][] or flat/TypedArray");if(n.length===1&&e==null)throw new Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return Gr(r,e,n,t)}function mU(r,e,t){if(En(r),e!=null&&e.length!==4)throw new Error("tensor4d() requires shape to have four numbers");let n=vr(r,t);if(n.length!==4&&n.length!==1)throw new Error("tensor4d() requires values to be number[][][][] or flat/TypedArray");if(n.length===1&&e==null)throw new Error("tensor4d() requires shape to be provided when `values` are a flat array");return Gr(r,e,n,t)}function fU(r,e,t){if(En(r),e!=null&&e.length!==5)throw new Error("tensor5d() requires shape to have five numbers");let n=vr(r,t);if(n.length!==5&&n.length!==1)throw new Error("tensor5d() requires values to be number[][][][][] or flat/TypedArray");if(n.length===1&&e==null)throw new Error("tensor5d() requires shape to be provided when `values` are a flat array");return Gr(r,e,n,t)}function dU(r,e,t){if(En(r),e!=null&&e.length!==6)throw new Error("tensor6d() requires shape to have six numbers");let n=vr(r,t);if(n.length!==6&&n.length!==1)throw new Error("tensor6d() requires values to be number[][][][][][] or flat/TypedArray");if(n.length===1&&e==null)throw new Error("tensor6d() requires shape to be provided when `values` are a flat array");return e=e||n,Gr(r,e,n,t)}function hU(r,e=1,t=!0){let n=v(r,"x","topk");if(n.rank===0)throw new Error("topk() expects the input to be of rank 1 or higher");let o=n.shape[n.shape.length-1];if(e>o)throw new Error(`'k' passed to topk() must be <= the last dimension (${o}) but got ${e}`);let s={x:n},a={k:e,sorted:t},[i,l]=D.runKernel(Ri,s,a);return{values:i,indices:l}}var nf=T({topk_:hU});function gU(r,e=0,t=1,n,o){if(n!=null&&n==="bool")throw new Error("Unsupported data type $ { dtype }");let s=new Zc(e,t,n,!0,o),a=Ce(r,n);for(let i=0;i0,()=>"The input tensor must be at least 1D");let n={x:t},o={axis:e},[s,a]=D.runKernel(du,n,o);return{values:s,indices:a}}var ep=T({unique_:xU});function yU(r,e,t){let n=v(r,"x","unsortedSegmentSum"),o=v(e,"segmentIds","unsortedSegmentSum","int32");A(st(t),()=>"numSegments must be of dtype int");let s={x:n,segmentIds:o},a={numSegments:t};return D.runKernel(xa,s,a)}var of=T({unsortedSegmentSum_:yU});function bU(r,e=0){let t=v(r,"x","unstack","string_or_numeric");A(e>=-t.shape.length&&e`Axis = ${e} is not in [-${t.shape.length}, ${t.shape.length})`);let n={value:t},o={axis:e};return D.runKernel(xs,n,o)}var cr=T({unstack_:bU});function Jw(r,e=!0,t,n){return D.makeVariable(r,e,t,n)}function Qw(r,e){let t=[];for(let s=0;s0,()=>"mask cannot be scalar"),St(i.slice(s,s+a),o.shape,"mask's shape must match the first K dimensions of tensor's shape,");let l=1;for(let h=s;h"Shape mismatch in v and x");let l=le(1),u=ue(l,i),c=M(ue(a,s),u);if(o){A(n!=null,()=>"When using zeroDebias: true, step is required.");let p=v(n,"step","movingAverage");c=de(c,ue(l,Fr(i,p)))}return Q(s,c)}var IU=T({movingAverage_:CU});function NU(r,e,t){let n=v(r,"indices","scatterND","int32"),o=v(e,"updates","scatterND");ng(o,n,t);let s={indices:n,updates:o},a={shape:t};return D.runKernel(Ni,s,a)}var e_=T({scatterND_:NU});function tS(r,e,t,n){if(r.dtype!=="int32")throw new Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${r.dtype}.`);if(r.rank>2)throw new Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${r.shape}.`);let o=r.rank>0?r.shape[0]:1,s=r.rank>1?r.shape[1]:1;if(t.length!==s)throw new Error(`outputShape has incorrect number of elements:, ${t.length}, should be: ${s}.`);let a=e.size;if(!(e.rank===0||e.rank===1&&a===o))throw new Error(`sparseValues has incorrect shape ${e.shape}, should be [] or [${o}]`);if(e.dtype!==n.dtype)throw new Error("sparseValues.dtype must match defaultValues.dtype")}function SU(r,e,t,n=0){let o=v(r,"sparseIndices","sparseToDense","int32"),s=v(e,"sparseValues","sparseToDense"),a=v(n,"defaultValue","sparseToDense",s.dtype);tS(o,s,t,a);let i={sparseIndices:o,sparseValues:s,defaultValue:a},l={outputShape:t};return D.runKernel(fu,i,l)}var af=T({sparseToDense_:SU});function TU(r,e){let t=v(e,"indices","gatherND","int32"),o={params:v(r,"x","gatherND"),indices:t};return D.runKernel(ci,o)}var t_=T({gatherND_:TU});function rS(r,e){if(e==null)return r.shape.slice();if(Vr(r.shape,e))return e;if(r.shape.length===e.length){let t=[];for(let n=0;n`x has to be a floating point tensor since it's going to be scaled, but got a ${o.dtype} tensor instead.`),A(e>=0&&e<1,()=>`rate must be a float in the range [0, 1), but got ${e}.`),e===0)return r instanceof Ve?o.clone():o;let s=rS(o,t),a=1-e,i=de(Ns(Q(Es(s,0,1,"float32",n),a)),a);return M(o,i)}var r_=T({dropout_:EU});function n_(r){return Math.floor(Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))))}function lf(r,e,t){let n=1-r%2,o=new Float32Array(r);for(let s=0;s1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${n.rank}`),A(n.rank-1===o.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${n.rank} and targets rank ${o.rank}`),St(n.shape.slice(0,n.shape.length-1),o.shape,"predictions's shape should be align with the targets' shape, except the last dimension.");let s=n.shape[n.shape.length-1];A(t>0&&t<=s,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${s}), but got ${t}`);let a=await n.data(),i=await o.data(),[l,u]=[a.length/s,s],c=Sb("bool",l);for(let p=0;pg.value-h.value),c[p]=0;for(let h=0;hFU,depthwiseConv2d:()=>LU,matMul:()=>BU});function $U(r,e,t,n,o,s="NHWC",a){let i=r;r.rank===3&&(i=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let l=e;l.rank===3&&(l=z(e,[1,e.shape[0],e.shape[1],e.shape[2]])),A(i.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${i.shape}.`),A(l.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${l.shape}.`),A(t.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${t}.`);let u=s==="NHWC"?i.shape[3]:i.shape[1],c=s==="NHWC"?l.shape[3]:l.shape[1];A(u===t[2],()=>`Error in conv2dDerFilter: depth of input ${u}) must match input depth in filter (${t[2]}.`),A(c===t[3],()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${t[3]}).`),a!=null&&A(st(o),()=>`Error in conv2dDerFilter: pad must be an integer when using, dimRoundingMode ${a} but got pad ${o}.`);let p={x:i,dy:l},m={strides:n,pad:o,dataFormat:s,dimRoundingMode:a,filterShape:t};return D.runKernel(Hl,p,m)}var tp=T({conv2DBackpropFilter_:$U});function ju(r,e,t){if(t==null||t==="linear")return r;if(t==="relu")return M(r,As(e));throw new Error(`Cannot compute gradient for fused activation ${t}.`)}function Wu(r,e){let t=e,n=It(r.shape,e.shape);return n.length>0&&(t=ye(t,n)),z(t,r.shape)}function Uu(r,e,t,n){if(e==="linear")return r;if(e==="relu")return Nr(r);if(e==="elu")return Is(r);if(e==="relu6")return Fu(r);if(e==="prelu")return Da(r,t);if(e==="leakyrelu")return Sa(r,n);throw new Error(`Unknown fused activation ${e}.`)}var qu=(r,e)=>!(r>0)||e==="linear";function RU({x:r,filter:e,strides:t,pad:n,dataFormat:o="NHWC",dilations:s=[1,1],dimRoundingMode:a,bias:i,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(l=l||"linear",qu(D.state.gradientDepth,l)===!1){let k=Ur(r,e,t,n,o,s,a);return i!=null&&(k=Q(k,i)),Uu(k,l,u,c)}let p=v(r,"x","conv2d"),m=v(e,"filter","conv2d"),f=p,d=!1;p.rank===3&&(d=!0,f=z(p,[1,p.shape[0],p.shape[1],p.shape[2]])),A(f.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${f.rank}.`),A(m.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${m.rank}.`),a!=null&&A(st(n),()=>`Error in fused conv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${n}.`),A(f.shape[3]===m.shape[2],()=>`Error in conv2d: depth of input (${f.shape[3]}) must match input depth for filter ${m.shape[2]}.`),A(br(t,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`),A(o==="NHWC",()=>`Error in conv2d: got dataFormat of ${o} but only NHWC is currently supported.`);let h=_u(f.shape,m.shape,t,s,n,a),g;i!=null&&(g=v(i,"bias","fused conv2d"),[g]=Ge(g,p),ze(h.outShape,g.shape));let x;u!=null&&(x=v(u,"prelu weights","fused conv2d"));let b=(k,E)=>{let[S,R,F,P]=E,j=ju(k,F,l);A(Fn(s),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`);let G=Kc(R.shape,j,S,t,n),U=tp(R,j,S.shape,t,n),X=[G,U];if(P!=null){let K=Wu(P,j);X.push(K)}return X},w={x:f,filter:m,bias:g,preluActivationWeights:x},_={strides:t,pad:n,dataFormat:o,dilations:s,dimRoundingMode:a,activation:l,leakyreluAlpha:c};return i==null?qr((E,S,R)=>{let F=D.runKernel(ws,w,_);return R([S,E,F]),d&&(F=z(F,[F.shape[1],F.shape[2],F.shape[3]])),{value:F,gradFunc:b}})(f,m):qr((E,S,R,F)=>{let P=D.runKernel(ws,w,_);return F([S,E,P,R]),d&&(P=z(P,[P.shape[1],P.shape[2],P.shape[3]])),{value:P,gradFunc:b}})(f,m,g)}var FU=T({fusedConv2d_:RU});function OU(r,e,t,n,o,s=[1,1],a){let i=r;r.rank===3&&(i=z(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let l=e;l.rank===3&&(l=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let u={x:i,dy:l},c={strides:n,pad:o,dimRoundingMode:a,dilations:s,filterShape:t};return D.runKernel(Zl,u,c)}var gg=T({depthwiseConv2dNativeBackpropFilter_:OU});function PU(r,e,t,n,o,s=[1,1],a){let i=e,l=!1;e.rank===3&&(l=!0,i=z(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let u={dy:i,filter:t},c={strides:n,pad:o,dimRoundingMode:a,dilations:s,inputShape:r},p=D.runKernel(Jl,u,c);return l?z(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var xg=T({depthwiseConv2dNativeBackpropInput_:PU});function MU({x:r,filter:e,strides:t,pad:n,dataFormat:o="NHWC",dilations:s=[1,1],dimRoundingMode:a,bias:i,activation:l="linear",preluActivationWeights:u,leakyreluAlpha:c}){if(qu(D.state.gradientDepth,l)===!1){let k=Cs(r,e,t,n,o,s,a);return i!=null&&(k=Q(k,i)),Uu(k,l,u,c)}let p=v(r,"x","depthwiseConv2d"),m=v(e,"filter","depthwiseConv2d"),f=p,d=!1;p.rank===3&&(d=!0,f=z(p,[1,p.shape[0],p.shape[1],p.shape[2]])),A(f.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${f.rank}.`),A(m.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${m.rank}.`),A(f.shape[3]===m.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${f.shape[3]}) must match the inChannels dimension in filter ${m.shape[2]}.`),s==null&&(s=[1,1]),A(br(t,s),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${t} and dilations '${s}'`),a!=null&&A(st(n),()=>`Error in fused depthwiseConv2d: pad must be an integer when using dimRoundingMode ${a} but got pad ${n}.`);let h=_u(f.shape,m.shape,t,s,n,a,!0),g;i!=null&&(g=v(i,"bias","fused conv2d"),[g]=Ge(g,p),ze(h.outShape,g.shape));let x;u!=null&&(x=v(u,"prelu weights","fused depthwiseConv2d"));let b=(k,E)=>{A(Fn(s),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);let[S,R,F,P]=E,j=ju(k,F,l),G=xg(R.shape,j,S,t,n,s,a),U=gg(R,j,S.shape,t,n,s,a);if(P!=null){let X=Wu(g,j);return[G,U,X]}return[G,U]},w={x:f,filter:m,bias:g,preluActivationWeights:x},_={strides:t,pad:n,dataFormat:o,dilations:s,dimRoundingMode:a,activation:l,leakyreluAlpha:c};return i==null?qr((E,S,R)=>{let F=D.runKernel(_s,w,_);return R([S,E,F]),d&&(F=z(F,[F.shape[1],F.shape[2],F.shape[3]])),{value:F,gradFunc:b}})(f,m):qr((E,S,R,F)=>{let P=D.runKernel(_s,w,_);return F([S,E,P,R]),d&&(P=z(P,[P.shape[1],P.shape[2],P.shape[3]])),{value:P,gradFunc:b}})(f,m,g)}var LU=T({fusedDepthwiseConv2d_:MU});function zU({a:r,b:e,transposeA:t=!1,transposeB:n=!1,bias:o,activation:s="linear",preluActivationWeights:a,leakyreluAlpha:i}){if(qu(D.state.gradientDepth,s)===!1){let P=je(r,e,t,n);return o!=null&&(P=Q(P,o)),Uu(P,s,a,i)}let l=v(r,"a","fused matMul"),u=v(e,"b","fused matMul");[l,u]=Ge(l,u);let c=t?l.shape[l.rank-2]:l.shape[l.rank-1],p=n?u.shape[u.rank-1]:u.shape[u.rank-2],m=t?l.shape[l.rank-1]:l.shape[l.rank-2],f=n?u.shape[u.rank-2]:u.shape[u.rank-1],d=l.shape.slice(0,-2),h=u.shape.slice(0,-2),g=ft(d),x=ft(h);A(l.rank>=2&&u.rank>=2&&l.rank===u.rank,()=>`Error in fused matMul: inputs must have the same rank of at least 2, got ranks ${l.rank} and ${u.rank}.`),A(Vr(d,h),()=>`Error in fused matMul: outer dimensions (${d}) and (${h}) of Tensors with shapes ${l.shape} and ${u.shape} must match.`),A(c===p,()=>`Error in fused matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${l.shape} and ${u.shape} and transposeA=${t} and transposeB=${n} must match.`);let b=l.shape.slice(0,-2).concat([m,f]),w=t?z(l,[g,c,m]):z(l,[g,m,c]),_=n?z(u,[x,f,p]):z(u,[x,p,f]),k;o!=null&&(k=v(o,"bias","fused matMul"),[k]=Ge(k,l),ze(b,k.shape));let E;a!=null&&(E=v(a,"prelu weights","fused matMul"));let S=(P,j)=>{let[G,U,X,K]=j,Z=ju(z(P,X.shape),X,s),te,Y;if(!t&&!n?(te=je(Z,U,!1,!0),Y=je(G,Z,!0,!1)):!t&&n?(te=je(Z,U,!1,!1),Y=je(Z,G,!0,!1)):t&&!n?(te=je(U,Z,!1,!0),Y=je(G,Z,!1,!1)):(te=je(U,Z,!0,!0),Y=je(Z,G,!0,!0)),o!=null){let re=Wu(K,Z);return[te,Y,re]}else return[te,Y]},R={a:w,b:_,bias:k,preluActivationWeights:E},F={transposeA:t,transposeB:n,activation:s,leakyreluAlpha:i};return o==null?qr((j,G,U)=>{let X=D.runKernel(bs,R,F);return U([j,G,X]),{value:z(X,b),gradFunc:S}})(w,_):qr((j,G,U,X)=>{let K=D.runKernel(bs,R,F);return X([j,G,K,U]),{value:z(K,b),gradFunc:S}})(w,_,k)}var BU=T({fusedMatMul_:zU});function VU(r){return lf(r,.54,.46)}var nS=T({hammingWindow_:VU});function GU(r){return lf(r,.5,.5)}var yg=T({hannWindow_:GU});function jU(r,e,t,n=!1,o=0){let s=0,a=[];for(;s+e<=r.size;)a.push(Fe(r,s,e)),s+=t;if(n)for(;s`Error in cropAndResize: image must be rank 4,but got rank ${a.rank}.`),A(i.rank===2&&i.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${u},4] but had shape ${i.shape}.`),A(l.rank===1&&l.shape[0]===u,()=>`Error in cropAndResize: boxInd must be have size [${u}] but had shape ${i.shape}.`),A(n.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${n.length}.`),A(n[0]>=1&&n[1]>=1,()=>`cropSize must be atleast [1,1], but was ${n}`),A(o==="bilinear"||o==="nearest",()=>`method must be bilinear or nearest, but was ${o}`);let c={image:a,boxes:i,boxInd:l},p={method:o,extrapolationValue:s,cropSize:n};return D.runKernel(ni,c,p)}var sS=T({cropAndResize_:UU});function qU(r){let e=v(r,"image","flipLeftRight","float32");A(e.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${e.rank}.`);let t={image:e};return D.runKernel(ui,t,{})}var iS=T({flipLeftRight_:qU});function HU(r,e,t=0,n=.5){let o=v(r,"image","rotateWithOffset","float32");A(o.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${o.rank}.`);let s={image:o},a={radians:e,fillValue:t,center:n};return D.runKernel(Fi,s,a)}var aS=T({rotateWithOffset_:HU});function Bo(r,e,t,n,o,s){n==null&&(n=.5),o==null&&(o=Number.NEGATIVE_INFINITY),s==null&&(s=0);let a=r.shape[0];return t=Math.min(t,a),A(0<=n&&n<=1,()=>`iouThreshold must be in [0, 1], but was '${n}'`),A(r.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${r.rank}'`),A(r.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${r.shape[1]}`),A(e.rank===1,()=>"scores must be a 1D tensor"),A(e.shape[0]===a,()=>`scores has incompatible shape with boxes. Expected ${a}, but was ${e.shape[0]}`),A(0<=s&&s<=1,()=>`softNmsSigma must be in [0, 1], but was '${s}'`),{maxOutputSize:t,iouThreshold:n,scoreThreshold:o,softNmsSigma:s}}function KU(r,e,t,n=.5,o=Number.NEGATIVE_INFINITY){let s=v(r,"boxes","nonMaxSuppression"),a=v(e,"scores","nonMaxSuppression"),i=Bo(s,a,t,n,o);t=i.maxOutputSize,n=i.iouThreshold,o=i.scoreThreshold;let l={maxOutputSize:t,iouThreshold:n,scoreThreshold:o};return D.runKernel(_i,{boxes:s,scores:a},l)}var lS=T({nonMaxSuppression_:KU});function uS(r,e,t){let n=XU(r,e,t),o=n<0?-(n+1):n;r.splice(o,0,e)}function XU(r,e,t){return ZU(r,e,t||YU)}function YU(r,e){return r>e?1:r>>1);let i=t(e,r[s]);i>0?n=s+1:(o=s,a=!i)}return a?n:-n-1}function s_(r,e,t,n,o){return o_(r,e,t,n,o,0)}function i_(r,e,t,n,o,s){return o_(r,e,t,n,o,0,!1,s,!0)}function a_(r,e,t,n,o,s){return o_(r,e,t,n,o,s,!0)}function o_(r,e,t,n,o,s,a=!1,i=!1,l=!1){let u=[];for(let g=0;go&&u.push({score:e[g],boxIndex:g,suppressBeginIndex:0});u.sort(cS);let c=s>0?-.5/s:0,p=[],m=[];for(;p.length0;){let g=u.pop(),{score:x,boxIndex:b,suppressBeginIndex:w}=g;if(x=w;--k){let E=JU(r,b,p[k]);if(E>=n){_=!0;break}if(g.score=g.score*QU(n,c,E),g.score<=o)break}g.suppressBeginIndex=p.length,_||(g.score===x?(p.push(b),m.push(g.score)):g.score>o&&uS(u,g,cS))}let f=p.length,d=t-f;i&&d>0&&(p.push(...new Array(d).fill(0)),m.push(...new Array(d).fill(0)));let h={selectedIndices:p};return a&&(h.selectedScores=m),l&&(h.validOutputs=f),h}function JU(r,e,t){let n=r.subarray(e*4,e*4+4),o=r.subarray(t*4,t*4+4),s=Math.min(n[0],n[2]),a=Math.min(n[1],n[3]),i=Math.max(n[0],n[2]),l=Math.max(n[1],n[3]),u=Math.min(o[0],o[2]),c=Math.min(o[1],o[3]),p=Math.max(o[0],o[2]),m=Math.max(o[1],o[3]),f=(i-s)*(l-a),d=(p-u)*(m-c);if(f<=0||d<=0)return 0;let h=Math.max(s,u),g=Math.max(a,c),x=Math.min(i,p),b=Math.min(l,m),w=Math.max(x-h,0)*Math.max(b-g,0);return w/(f+d-w)}function QU(r,e,t){let n=Math.exp(e*t*t);return t<=r?n:0}function cS(r,e){return r.score-e.score||r.score===e.score&&e.boxIndex-r.boxIndex}async function eq(r,e,t,n=.5,o=Number.NEGATIVE_INFINITY){let s=v(r,"boxes","nonMaxSuppressionAsync"),a=v(e,"scores","nonMaxSuppressionAsync"),i=Bo(s,a,t,n,o);t=i.maxOutputSize,n=i.iouThreshold,o=i.scoreThreshold;let l=await Promise.all([s.data(),a.data()]),u=l[0],c=l[1],{selectedIndices:p}=s_(u,c,t,n,o);return s!==r&&s.dispose(),a!==e&&a.dispose(),Gt(p,"int32")}var pS=eq;function tq(r,e,t,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let a=v(r,"boxes","nonMaxSuppression"),i=v(e,"scores","nonMaxSuppression"),l=Bo(a,i,t,n,o,s);t=l.maxOutputSize,n=l.iouThreshold,o=l.scoreThreshold,s=l.softNmsSigma;let u={boxes:a,scores:i},c={maxOutputSize:t,iouThreshold:n,scoreThreshold:o,softNmsSigma:s},p=D.runKernel(vi,u,c);return{selectedIndices:p[0],selectedScores:p[1]}}var mS=T({nonMaxSuppressionWithScore_:tq});async function rq(r,e,t,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let a=v(r,"boxes","nonMaxSuppressionAsync"),i=v(e,"scores","nonMaxSuppressionAsync"),l=Bo(a,i,t,n,o,s);t=l.maxOutputSize,n=l.iouThreshold,o=l.scoreThreshold,s=l.softNmsSigma;let u=await Promise.all([a.data(),i.data()]),c=u[0],p=u[1],{selectedIndices:m,selectedScores:f}=a_(c,p,t,n,o,s);return a!==r&&a.dispose(),i!==e&&i.dispose(),{selectedIndices:Gt(m,"int32"),selectedScores:Gt(f)}}var fS=rq;function nq(r,e,t,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let a=v(r,"boxes","nonMaxSuppression"),i=v(e,"scores","nonMaxSuppression"),l=Bo(a,i,t,n,o,null),u=l.maxOutputSize,c=l.iouThreshold,p=l.scoreThreshold,m={boxes:a,scores:i},f={maxOutputSize:u,iouThreshold:c,scoreThreshold:p,padToMaxOutputSize:s},d=D.runKernel(ki,m,f);return{selectedIndices:d[0],validOutputs:d[1]}}var dS=T({nonMaxSuppressionPadded_:nq});async function oq(r,e,t,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let a=v(r,"boxes","nonMaxSuppressionAsync"),i=v(e,"scores","nonMaxSuppressionAsync"),l=Bo(a,i,t,n,o,null),u=l.maxOutputSize,c=l.iouThreshold,p=l.scoreThreshold,[m,f]=await Promise.all([a.data(),i.data()]),{selectedIndices:d,validOutputs:h}=i_(m,f,u,c,p,s);return a!==r&&a.dispose(),i!==e&&i.dispose(),{selectedIndices:Gt(d,"int32"),validOutputs:le(h,"int32")}}var hS=oq;function sq(r,e,t=!1,n=!1){let o=v(r,"images","resizeBilinear");A(o.rank===3||o.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${o.rank}.`),A(e.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${e}.`),A(n===!1||t===!1,()=>"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.");let s=o,a=!1;o.rank===3&&(a=!0,s=z(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=e,i={images:s},l={alignCorners:t,halfPixelCenters:n,size:e},u=D.runKernel(wo,i,l);return a?z(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var wg=T({resizeBilinear_:sq});function iq(r,e,t=!1,n=!1){let o=v(r,"images","resizeNearestNeighbor");A(o.rank===3||o.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${o.rank}.`),A(e.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${e}.`),A(o.dtype==="float32"||o.dtype==="int32",()=>"`images` must have `int32` or `float32` as dtype"),A(n===!1||t===!1,()=>"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.");let s=o,a=!1;o.rank===3&&(a=!0,s=z(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=e,i={images:s},l={alignCorners:t,halfPixelCenters:n,size:e},u=D.runKernel(da,i,l);return a?z(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var _g=T({resizeNearestNeighbor_:iq});function aq(r,e,t){A(e%1==0,()=>`bandPart(): numLower must be an integer, got ${e}.`),A(t%1==0,()=>`bandPart(): numUpper must be an integer, got ${t}.`);let n=v(r,"a","bandPart");A(n.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${n.rank}.`);let o=n.shape,[s,a]=n.shape.slice(-2);if(!(e<=s))throw new Error(`bandPart(): numLower (${e}) must not be greater than the number of rows (${s}).`);if(!(t<=a))throw new Error(`bandPart(): numUpper (${t}) must not be greater than the number of columns (${a}).`);e<0&&(e=s),t<0&&(t=a);let i=z(Jc(0,s,1,"int32"),[-1,1]),l=Jc(0,a,1,"int32"),u=ue(i,l),c=dr(Pn(u,le(+e,"int32")),tn(u,le(-t,"int32"))),p=xt([s,a],n.dtype);return z(Vt(cr(z(n,[-1,s,a])).map(m=>$t(c,m,p))),o)}var gS=T({bandPart_:aq});function lq(r){let e;if(Array.isArray(r)){e=!1,A(r!=null&&r.length>0,()=>"Gram-Schmidt process: input must not be null, undefined, or empty");let o=r[0].shape[0];for(let s=1;s`Gram-Schmidt: Non-unique lengths found in the input vectors: (${r[s].shape[0]} vs. ${o})`)}else e=!0,r=ur(r,r.shape[0],0).map(o=>_n(o,[0]));A(r.length<=r[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${r.length}) exceeds number of dimensions (${r[0].shape[0]}).`);let t=[],n=r;for(let o=0;o{let s=n[o];if(o>0)for(let a=0;a=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${r.rank}`),r.rank===2)return yS(r,e);{let t=r.shape.slice(0,r.shape.length-2).reduce((l,u)=>l*u),n=cr(z(r,[t,r.shape[r.shape.length-2],r.shape[r.shape.length-1]]),0),o=[],s=[];n.forEach(l=>{let[u,c]=yS(l,e);o.push(u),s.push(c)});let a=z(Vt(o,0),r.shape),i=z(Vt(s,0),r.shape);return[a,i]}}function yS(r,e=!1){return D.tidy(()=>{A(r.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${r.shape.length}D Tensor.`);let t=r.shape[0],n=r.shape[1],o=Xc(t),s=Rn(r),a=Vi([[1]],[1,1]),i=Rn(a),l=t>=n?n:t;for(let u=0;u{let f=Fe(s,[u,u],[t-u,1]),d=Gu(f),h=Fe(s,[u,u],[1,1]),g=$t(er(h,0),Vi([[-1]]),Vi([[1]])),x=ue(h,M(g,d)),b=de(f,x);b.shape[0]===1?i=Rn(a):i=Qe([a,Fe(b,[1,0],[b.shape[0]-1,b.shape[1]])],0);let w=Ue(de(je(g,x),d)),_=Fe(s,[u,0],[t-u,n]),k=M(w,i),E=We(i);if(u===0)s=ue(_,je(k,je(E,_)));else{let F=ue(_,je(k,je(E,_)));s=Qe([Fe(s,[0,0],[u,n]),F],0)}let S=We(k),R=Fe(o,[0,u],[t,o.shape[1]-u]);if(u===0)o=ue(R,je(je(R,i),S));else{let F=ue(R,je(je(R,i),S));o=Qe([Fe(o,[0,0],[t,u]),F],1)}return[i,s,o]}),Ee([c,p,m])}return!e&&t>n&&(o=Fe(o,[0,0],[t,n]),s=Fe(s,[0,0],[n,n])),[o,s]})}var bS=T({qr_:uq});var jt;(function(r){r[r.NONE=0]="NONE",r[r.MEAN=1]="MEAN",r[r.SUM=2]="SUM",r[r.SUM_BY_NONZERO_WEIGHTS=3]="SUM_BY_NONZERO_WEIGHTS"})(jt||(jt={}));function cq(r,e,t=jt.SUM_BY_NONZERO_WEIGHTS){let n=v(r,"losses","computeWeightedLoss"),o=null;e!=null&&(o=v(e,"weights","computeWeightedLoss"));let s=o==null?n:M(n,o);if(t===jt.NONE)return s;if(t===jt.SUM)return ye(s);if(t===jt.MEAN){if(o==null)return gt(s);{let a=n.size/o.size,i=de(ye(s),ye(o));return a>1?de(i,le(a)):i}}if(t===jt.SUM_BY_NONZERO_WEIGHTS){if(o==null)return de(ye(s),le(n.size));{let a=M(o,Ir(n.shape)),i=ne(ye(Lo(a,le(0))),"float32");return de(ye(s),i)}}throw Error(`Unknown reduction: ${t}`)}var Sr=T({computeWeightedLoss_:cq});function pq(r,e,t,n=jt.SUM_BY_NONZERO_WEIGHTS){let o=v(r,"labels","absoluteDifference"),s=v(e,"predictions","absoluteDifference"),a=null;t!=null&&(a=v(t,"weights","absoluteDifference")),St(o.shape,s.shape,"Error in absoluteDifference: ");let i=Et(ue(o,s));return Sr(i,a,n)}var wS=T({absoluteDifference_:pq});function mq(r,e,t,n,o=jt.SUM_BY_NONZERO_WEIGHTS){let s=v(r,"labels","cosineDistance"),a=v(e,"predictions","cosineDistance"),i=null;n!=null&&(i=v(n,"weights","cosineDistance")),St(s.shape,a.shape,"Error in cosineDistance: ");let l=le(1),u=ue(l,ye(M(s,a),t,!0));return Sr(u,i,o)}var _S=T({cosineDistance_:mq});function fq(r,e,t,n=jt.SUM_BY_NONZERO_WEIGHTS){let o=v(r,"labels","hingeLoss"),s=v(e,"predictions","hingeLoss"),a=null;t!=null&&(a=v(t,"weights","hingeLoss")),St(o.shape,s.shape,"Error in hingeLoss: ");let i=le(1);o=ue(M(le(2),o),i);let l=Nr(ue(i,M(o,s)));return Sr(l,a,n)}var kS=T({hingeLoss_:fq});function dq(r,e,t,n=1,o=jt.SUM_BY_NONZERO_WEIGHTS){let s=v(r,"labels","huberLoss"),a=v(e,"predictions","huberLoss"),i=null;t!=null&&(i=v(t,"weights","huberLoss")),St(s.shape,a.shape,"Error in huberLoss: ");let l=le(n),u=Et(ue(a,s)),c=Ts(u,l),p=ue(u,c),m=Q(M(le(.5),Pe(c)),M(l,p));return Sr(m,i,o)}var vS=T({huberLoss_:dq});function hq(r,e,t,n=1e-7,o=jt.SUM_BY_NONZERO_WEIGHTS){let s=v(r,"labels","logLoss"),a=v(e,"predictions","logLoss"),i=null;t!=null&&(i=v(t,"weights","logLoss")),St(s.shape,a.shape,"Error in logLoss: ");let l=le(1),u=le(n),c=Ue(M(s,ar(Q(a,u)))),p=M(ue(l,s),ar(Q(ue(l,a),u))),m=ue(c,p);return Sr(m,i,o)}var CS=T({logLoss_:hq});function gq(r,e,t,n=jt.SUM_BY_NONZERO_WEIGHTS){let o=v(r,"labels","meanSquaredError"),s=v(e,"predictions","meanSquaredError"),a=null;t!=null&&(a=v(t,"weights","meanSquaredError")),St(o.shape,s.shape,"Error in meanSquaredError: ");let i=Bu(o,s);return Sr(i,a,n)}var IS=T({meanSquaredError_:gq});function xq(r,e){let t=v(r,"labels","sigmoidCrossEntropyWithLogits"),n=v(e,"logits","sigmoidCrossEntropyWithLogits");St(t.shape,n.shape,"Error in sigmoidCrossEntropyWithLogits: ");let o=Nr(n),s=M(n,t),a=Eu(Yt(Ue(Et(n))));return Q(ue(o,s),a)}function yq(r,e,t,n=0,o=jt.SUM_BY_NONZERO_WEIGHTS){let s=v(r,"multiClassLabels","sigmoidCrossEntropy"),a=v(e,"logits","sigmoidCrossEntropy"),i=null;if(t!=null&&(i=v(t,"weights","sigmoidCrossEntropy")),St(s.shape,a.shape,"Error in sigmoidCrossEntropy: "),n>0){let u=le(n),c=le(1),p=le(.5);s=Q(M(s,ue(c,u)),M(p,u))}let l=xq(s,a);return Sr(l,i,o)}var NS=T({sigmoidCrossEntropy_:yq});function bq(r,e,t=-1){if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${e.rank} and dim was ${t}`);return qr((o,s,a)=>{let l=Um(s,[t],!0),u=ue(ne(s,"float32"),l);a([o,u]);let c=Ue(M(u,o));return{value:ye(c,[t]),gradFunc:(f,d)=>{let[h,g]=d,x=Mo(f.shape,[t]);return[M(z(f,x),ue(ne(h,"float32"),Yt(g))),M(z(f,x),ue(Yt(g),ne(h,"float32")))]}}})(r,e)}function wq(r,e,t,n=0,o=jt.SUM_BY_NONZERO_WEIGHTS){let s=v(r,"onehotLabels","softmaxCrossEntropy"),a=v(e,"logits","softmaxCrossEntropy"),i=null;if(t!=null&&(i=v(t,"weights","softmaxCrossEntropy")),St(s.shape,a.shape,"Error in softmaxCrossEntropy: "),n>0){let u=le(n),c=le(1),p=le(s.shape[1]);s=Q(M(s,ue(c,u)),de(u,p))}let l=bq(s,a);return Sr(l,i,o)}var SS=T({softmaxCrossEntropy_:wq});var _q={fft:Ra,ifft:Bi,rfft:Fa,irfft:zu},kq={hammingWindow:nS,hannWindow:yg,frame:bg,stft:oS},Ds={flipLeftRight:iS,resizeNearestNeighbor:_g,resizeBilinear:wg,rotateWithOffset:aS,cropAndResize:sS,nonMaxSuppression:lS,nonMaxSuppressionAsync:pS,nonMaxSuppressionWithScore:mS,nonMaxSuppressionWithScoreAsync:fS,nonMaxSuppressionPadded:dS,nonMaxSuppressionPaddedAsync:hS},l_={bandPart:gS,gramSchmidt:xS,qr:bS},vq={absoluteDifference:wS,computeWeightedLoss:Sr,cosineDistance:_S,hingeLoss:kS,huberLoss:vS,logLoss:CS,meanSquaredError:IS,sigmoidCrossEntropy:NS,softmaxCrossEntropy:SS};var Or=class extends sg{minimize(e,t=!1,n){let{value:o,grads:s}=this.computeGradients(e,n);if(n!=null){let a=n.map(i=>({name:i.name,tensor:s[i.name]}));this.applyGradients(a)}else this.applyGradients(s);return Ee(s),t?o:(o.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return cg(e,t)}dispose(){this.iterations_!=null&&Ee(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:"iter",tensor:le(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}};Object.defineProperty(Or,Symbol.hasInstance,{value:r=>r.minimize!=null&&r.computeGradients!=null&&r.applyGradients!=null});var rp=class extends Or{constructor(e,t,n=null){super();this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=D.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map(n=>n.name):Object.keys(e)).forEach((n,o)=>{let s=D.registeredVariables[n],a=!1;this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accum_grad`,variable:V(()=>Ie(s).variable(a))}),this.accumulatedUpdates[o]==null&&(this.accumulatedUpdates[o]={originalName:`${n}/accum_var`,variable:V(()=>Ie(s).variable(a))});let i=Array.isArray(e)?e[o].tensor:e[n];if(i==null)return;let l=this.accumulatedGrads[o].variable,u=this.accumulatedUpdates[o].variable;V(()=>{let c=Q(M(l,this.rho),M(Pe(i),1-this.rho)),p=M(de(yt(Q(u,this.epsilon)),yt(Q(l,this.epsilon))),i),m=Q(M(u,this.rho),M(Pe(p),1-this.rho));l.assign(c),u.assign(m);let f=Q(M(p,-this.learningRate),s);s.assign(f)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(Ee(this.accumulatedGrads.map(e=>e.variable)),Ee(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){let e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=e.length/2,n=!1;this.accumulatedGrads=e.slice(0,t).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedUpdates=e.slice(t,t*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}};rp.className="Adadelta";en(rp);var np=class extends Or{constructor(e,t=.1){super();this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map(n=>n.name):Object.keys(e)).forEach((n,o)=>{let s=D.registeredVariables[n];if(this.accumulatedGrads[o]==null){let l=!1;this.accumulatedGrads[o]={originalName:`${n}/accumulator`,variable:V(()=>Na(s.shape,this.initialAccumulatorValue).variable(l))}}let a=Array.isArray(e)?e[o].tensor:e[n];if(a==null)return;let i=this.accumulatedGrads[o].variable;V(()=>{let l=Q(i,Pe(a));i.assign(l);let u=Q(M(de(a,yt(Q(l,D.backend.epsilon()))),-this.learningRate),s);s.assign(u)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&Ee(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=!1;this.accumulatedGrads=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}};np.className="Adagrad";en(np);var op=class extends Or{constructor(e,t,n,o=null){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=o,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],V(()=>{this.accBeta1=le(t).variable(),this.accBeta2=le(n).variable()}),o==null&&(this.epsilon=D.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);V(()=>{let n=ue(1,this.accBeta1),o=ue(1,this.accBeta2);t.forEach((s,a)=>{let i=D.registeredVariables[s],l=!1;this.accumulatedFirstMoment[a]==null&&(this.accumulatedFirstMoment[a]={originalName:`${s}/m`,variable:V(()=>Ie(i).variable(l))}),this.accumulatedSecondMoment[a]==null&&(this.accumulatedSecondMoment[a]={originalName:`${s}/v`,variable:V(()=>Ie(i).variable(l))});let u=Array.isArray(e)?e[a].tensor:e[s];if(u==null)return;let c=this.accumulatedFirstMoment[a].variable,p=this.accumulatedSecondMoment[a].variable,m=Q(M(c,this.beta1),M(u,1-this.beta1)),f=Q(M(p,this.beta2),M(Pe(u),1-this.beta2)),d=de(m,n),h=de(f,o);c.assign(m),p.assign(f);let g=Q(M(de(d,Q(yt(h),this.epsilon)),-this.learningRate),i);i.assign(g)}),this.accBeta1.assign(M(this.accBeta1,this.beta1)),this.accBeta2.assign(M(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&Ee(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&Ee(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e),V(()=>{this.accBeta1.assign(Fr(this.beta1,this.iterations_+1)),this.accBeta2.assign(Fr(this.beta2,this.iterations_+1))});let t=e.length/2,n=!1;this.accumulatedFirstMoment=e.slice(0,t).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}};op.className="Adam";en(op);var sp=class extends Or{constructor(e,t,n,o=null,s=0){super();this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=o,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],V(()=>{this.iteration=le(0).variable(),this.accBeta1=le(t).variable()}),o==null&&(this.epsilon=D.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(n=>n.name):Object.keys(e);V(()=>{let n=ue(1,this.accBeta1),o=de(-this.learningRate,Q(M(this.iteration,this.decay),1));t.forEach((s,a)=>{let i=D.registeredVariables[s],l=!1;this.accumulatedFirstMoment[a]==null&&(this.accumulatedFirstMoment[a]={originalName:`${s}/m`,variable:Ie(i).variable(l)}),this.accumulatedWeightedInfNorm[a]==null&&(this.accumulatedWeightedInfNorm[a]={originalName:`${s}/v`,variable:Ie(i).variable(l)});let u=Array.isArray(e)?e[a].tensor:e[s];if(u==null)return;let c=this.accumulatedFirstMoment[a].variable,p=this.accumulatedWeightedInfNorm[a].variable,m=Q(M(c,this.beta1),M(u,1-this.beta1)),f=M(p,this.beta2),d=Et(u),h=Hr(f,d);c.assign(m),p.assign(h);let g=Q(M(de(o,n),de(m,Q(h,this.epsilon))),i);i.assign(g)}),this.iteration.assign(Q(this.iteration,1)),this.accBeta1.assign(M(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&Ee(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&Ee(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw new Error("getWeights() is not implemented for Adamax yet.")}async setWeights(e){throw new Error("setWeights() is not implemented for Adamax yet.")}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}};sp.className="Adamax";en(sp);var cl=class extends Or{constructor(e){super();this.learningRate=e,this.setLearningRate(e)}applyGradients(e){(Array.isArray(e)?e.map(n=>n.name):Object.keys(e)).forEach((n,o)=>{let s=Array.isArray(e)?e[o].tensor:e[n];if(s==null)return;let a=D.registeredVariables[n];V(()=>{let i=Q(M(this.c,s),a);a.assign(i)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=Dt(le(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw new Error("SGD optimizer does not have settable weights.")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}};cl.className="SGD";en(cl);var ip=class extends cl{constructor(e,t,n=!1){super(e);this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=le(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map(n=>n.name):Object.keys(e)).forEach((n,o)=>{let s=D.registeredVariables[n];if(this.accumulations[o]==null){let l=!1;this.accumulations[o]={originalName:`${n}/momentum`,variable:V(()=>Ie(s).variable(l))}}let a=this.accumulations[o].variable,i=Array.isArray(e)?e[o].tensor:e[n];i!=null&&V(()=>{let l,u=Q(M(this.m,a),i);this.useNesterov?l=Q(M(this.c,Q(i,M(u,this.m))),s):l=Q(M(this.c,u),s),a.assign(u),s.assign(l)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&Ee(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=!1;this.accumulations=e.map(n=>({originalName:n.name,variable:n.tensor.variable(t)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}};ip.className="Momentum";en(ip);var ap=class extends Or{constructor(e,t=.9,n=0,o=null,s=!1){super();if(this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=o,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,o==null&&(this.epsilon=D.backend.epsilon()),e==null)throw new Error("learningRate for RMSPropOptimizer must be defined.")}applyGradients(e){(Array.isArray(e)?e.map(n=>n.name):Object.keys(e)).forEach((n,o)=>{let s=D.registeredVariables[n],a=!1;this.accumulatedMeanSquares[o]==null&&(this.accumulatedMeanSquares[o]={originalName:`${n}/rms`,variable:V(()=>Ie(s).variable(a))}),this.accumulatedMoments[o]==null&&(this.accumulatedMoments[o]={originalName:`${n}/momentum`,variable:V(()=>Ie(s).variable(a))}),this.accumulatedMeanGrads[o]==null&&this.centered&&(this.accumulatedMeanGrads[o]={originalName:`${n}/mg`,variable:V(()=>Ie(s).variable(a))});let i=Array.isArray(e)?e[o].tensor:e[n];if(i==null)return;let l=this.accumulatedMeanSquares[o].variable,u=this.accumulatedMoments[o].variable;V(()=>{let c=Q(M(l,this.decay),M(Pe(i),1-this.decay));if(this.centered){let p=this.accumulatedMeanGrads[o].variable,m=Q(M(p,this.decay),M(i,1-this.decay)),f=de(M(i,this.learningRate),yt(ue(c,Q(Pe(m),this.epsilon)))),d=Q(M(u,this.momentum),f);l.assign(c),p.assign(m),u.assign(d);let h=ue(s,d);s.assign(h)}else{let p=Q(M(l,this.decay),M(Pe(i),1-this.decay)),m=Q(M(u,this.momentum),de(M(i,this.learningRate),yt(Q(p,this.epsilon))));l.assign(p),u.assign(m);let f=ue(s,m);s.assign(f)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&Ee(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&Ee(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&Ee(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=this.centered?e.length/3:e.length/2,n=!1;this.accumulatedMeanSquares=e.slice(0,t).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedMoments=e.slice(t,t*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}};ap.className="RMSProp";en(ap);var Oa=class{static sgd(e){return new cl(e)}static momentum(e,t,n=!1){return new ip(e,t,n)}static rmsprop(e,t=.9,n=0,o=null,s=!1){return new ap(e,t,n,o,s)}static adam(e=.001,t=.9,n=.999,o=null){return new op(e,t,n,o)}static adadelta(e=.001,t=.95,n=null){return new rp(e,t,n)}static adamax(e=.002,t=.9,n=.999,o=null,s=0){return new sp(e,t,n,o,s)}static adagrad(e,t=.1){return new np(e,t)}};var pl={sgd:Oa.sgd,momentum:Oa.momentum,adadelta:Oa.adadelta,adagrad:Oa.adagrad,rmsprop:Oa.rmsprop,adamax:Oa.adamax,adam:Oa.adam};var Cq=(()=>typeof requestAnimationFrame!="undefined"?requestAnimationFrame:typeof setImmediate!="undefined"?setImmediate:r=>r())();function uf(){return new Promise(r=>Cq(()=>r()))}var N={};Ye(N,{ERF_A1:()=>Oq,ERF_A2:()=>Pq,ERF_A3:()=>Mq,ERF_A4:()=>Lq,ERF_A5:()=>zq,ERF_P:()=>Fq,PARALLELIZE_THRESHOLD:()=>kg,SELU_SCALE:()=>c_,SELU_SCALEALPHA:()=>u_,applyActivation:()=>Uu,assertAndGetBroadcastShape:()=>ze,assertAxesAreInnerMostDims:()=>EW,assertParamsConsistent:()=>Iq,assignToTypedArray:()=>Hq,axesAreInnerMostDims:()=>Pw,calculateShapes:()=>wN,combineLocations:()=>LN,complexWithEvenIndex:()=>Wq,complexWithOddIndex:()=>Uq,computeConv2DInfo:()=>_u,computeConv3DInfo:()=>PN,computeDefaultPad:()=>ww,computeDilation2DInfo:()=>ej,computeOptimalWindowSize:()=>Sq,computeOutAndReduceShapes:()=>Mw,computeOutShape:()=>Nq,computePool2DInfo:()=>yw,computePool3DInfo:()=>tj,convertConv2DDataFormat:()=>ON,eitherStridesOrDilationsAreOne:()=>br,expandShapeToKeepDim:()=>Mo,exponent:()=>Xq,exponents:()=>Kq,fromStringArrayToUint8:()=>tH,fromUint8ToStringArray:()=>eH,getAxesPermutation:()=>Lw,getBroadcastDims:()=>Uj,getComplexWithIndex:()=>qq,getFusedBiasGradient:()=>Wu,getFusedDyActivation:()=>ju,getImageCenter:()=>Tq,getInnerMostAxes:()=>AW,getPermuted:()=>Aq,getReductionAxes:()=>It,getReshaped:()=>Eq,getReshapedPermuted:()=>Dq,getSliceBeginCoords:()=>$q,getSliceSize:()=>Rq,getUndoAxesPermutation:()=>Wm,log:()=>Vq,mergeRealAndImagArrays:()=>Gq,prepareAndValidate:()=>bN,prepareSplitSize:()=>Yq,segment_util:()=>TS,shouldFuse:()=>qu,slice_util:()=>or,splitRealAndImagArrays:()=>jq,tupleValuesAreOne:()=>Fn,upcastType:()=>fr,validateInput:()=>ng,validateUpdateShape:()=>pw,warn:()=>Bq});function Iq(r,e){let t=r[0].length;r.forEach((o,s)=>{A(o.length===t,()=>`Error in concat${t}D: rank of tensors[${s}] must be the same as the rank of the rest (${t})`)}),A(e>=0&&e`Error in concat${t}D: axis must be between 0 and ${t-1}.`);let n=r[0];r.forEach((o,s)=>{for(let a=0;a`Error in concat${t}D: Shape of tensors[${s}] (${o}) does not match the shape of the rest (${n}) along the non-concatenated axis ${s}.`)})}function Nq(r,e){let t=r[0].slice();for(let n=1;n=e*2+1||a%2==1?s.push(a):o.push(a);n.push(...o),n.push(0),n.push(...s)}return n}function Dq(r,e,t,n=!0){let o=[];n?o.push(r[0]/t):o.push(r[0]*t);for(let s=1;s"Number of splits must evenly divide the axis."),n=new Array(e).fill(r.shape[t]/e);else{let o=e.reduce((a,i)=>(i===-1&&(a+=1),a),0);A(o<=1,()=>"There should be only one negative value in split array.");let s=e.indexOf(-1);if(s!==-1){let a=e.reduce((i,l)=>l>0?i+l:i);e[s]=r.shape[t]-a}A(r.shape[t]===e.reduce((a,i)=>a+i),()=>"The sum of sizes must match the size of the axis dimension."),n=e}return n}var TS={};Ye(TS,{collectGatherOpShapeInfo:()=>Qq,computeOutShape:()=>Jq,segOpComputeOptimalWindowSize:()=>Zq});function Zq(r,e){let t=!1,n;for(r<=kg?(n=r,t=!0):n=Dc(r,Math.floor(Math.sqrt(r)));!t;)n>e||n===r?t=!0:n=Dc(r,n+1);return n}function Jq(r,e,t){let n=[],o=r.length;for(let s=0;so))throw new Error(`Expect batchDims in the range of [-${o}, ${o}], but got ${n}`);if(n<0&&(n+=o),n>s)throw new Error(`batchDims (${n}) must be less than rank(x) ( - ${s}).`);if(tzc(e))}catch(e){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${e}`)}}function tH(r){return r.map(e=>rl(e))}var Tr={};Ye(Tr,{nonMaxSuppressionV3Impl:()=>s_,nonMaxSuppressionV4Impl:()=>i_,nonMaxSuppressionV5Impl:()=>a_,whereImpl:()=>Qw});function ee(r,e){Array.isArray(r)||(r=[r]),r.forEach(t=>{t!=null&&y.assert(t.dtype!=="complex64",()=>`${e} does not support complex64 tensors in the CPU backend.`)})}var rH=Tr.whereImpl,vg=class extends Ws{constructor(){super();this.blockSize=48,this.firstUse=!0,this.data=new Ja(this,vs())}write(e,t,n){this.firstUse&&(this.firstUse=!1,W().get("IS_NODE")&&N.warn(` -============================ -Hi there \u{1F44B}. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details. -============================`));let o={};return this.data.set(o,{values:e,dtype:n,refCount:1}),o}makeTensorInfo(e,t,n){let o;if(t==="string"&&n!=null&&n.length>0&&y.isString(n[0])){let s=n.map(a=>y.encodeString(a));o=this.write(s,e,t)}else o=this.write(n,e,t);return{dataId:o,shape:e,dtype:t}}incRef(e){let t=this.data.get(e);t.refCount++}decRef(e){if(this.data.has(e)){let t=this.data.get(e);t.refCount--}}move(e,t,n,o){this.data.set(e,{values:t,dtype:o,refCount:1})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){let{dtype:t,complexTensorInfos:n}=this.data.get(e);if(t==="complex64"){let o=this.readSync(n.real.dataId),s=this.readSync(n.imag.dataId);return N.mergeRealAndImagArrays(o,s)}return this.data.get(e).values}bufferSync(e){let t=this.readSync(e.dataId),n=t;if(e.dtype==="string")try{n=t.map(o=>y.decodeString(o))}catch(o){throw new Error("Failed to decode encoded string bytes into utf-8")}return Ce(e.shape,e.dtype,n)}makeOutput(e,t,n){let o=this.write(e,t,n);return vs().makeTensorFromDataId(o,t,n,this)}disposeData(e){if(this.data.has(e)){let{complexTensorInfos:t}=this.data.get(e);t!=null&&(this.disposeData(t.real.dataId),this.disposeData(t.imag.dataId)),this.data.delete(e)}}disposeIntermediateTensorInfo(e){let t=e.dataId;if(this.data.has(t)){let n=this.data.get(t);n.refCount--,n.refCount<1&&this.disposeData(t)}}async time(e){let t=y.now();return e(),{kernelMs:y.now()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){ee([e],"where");let t=this.readSync(e.dataId);return rH(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};var Ig={};Ye(Ig,{addImpl:()=>OS,bincountImpl:()=>cf,bincountReduceImpl:()=>p_,ceilImpl:()=>MS,concatImpl:()=>pf,expImpl:()=>zS,expm1Impl:()=>VS,floorImpl:()=>jS,gatherV2Impl:()=>f_,greaterImpl:()=>US,lessImpl:()=>HS,linSpaceImpl:()=>d_,logImpl:()=>XS,maxImpl:()=>h_,maximumImpl:()=>ZS,minimumImpl:()=>QS,multiplyImpl:()=>Cg,negImpl:()=>rT,notEqualImpl:()=>oT,prodImpl:()=>aT,rangeImpl:()=>df,rsqrtImpl:()=>uT,simpleAbsImpl:()=>ES,sliceImpl:()=>hf,squaredDifferenceImpl:()=>mT,stridedSliceImpl:()=>g_,subImpl:()=>dT,tileImpl:()=>x_,topKImpl:()=>y_,transposeImpl:()=>ff,uniqueImpl:()=>b_});function ES(r){let e=new Float32Array(r.length);for(let t=0;t{let{x:e}=r.inputs,t=r.backend;ee(e,"abs");let n=new Float32Array(y.sizeFromShape(e.shape)),o=t.data.get(e.dataId).values;return n=ES(o),t.makeOutput(n,e.shape,"float32")},AS={kernelName:ss,backendName:"cpu",kernelFunc:nH};function Ze(r){return(e,t,n,o,s)=>{let a=N.assertAndGetBroadcastShape(e,t),i=a.length,l=y.computeStrides(a),u=y.sizeFromShape(a),c=y.getTypedArrayFromDType(s,u),p=e.length,m=t.length,f=y.computeStrides(e),d=y.computeStrides(t),h=N.getBroadcastDims(e,a),g=N.getBroadcastDims(t,a);if(h.length+g.length===0)for(let x=0;xw[S]=0);let _=y.locToIndex(w,p,f),k=b.slice(-m);g.forEach(S=>k[S]=0);let E=y.locToIndex(k,m,d);c[x]=r(n[_],o[E])}return[c,a]}}function pr(r){let{inputs:e,backend:t}=r,{real:n,imag:o}=e,s=t.data.get(n.dataId).values,a=t.data.get(o.dataId).values,i=t.makeTensorInfo(n.shape,"complex64"),l=t.data.get(i.dataId);return l.complexTensorInfos={real:t.makeTensorInfo(n.shape,"float32",s),imag:t.makeTensorInfo(o.shape,"float32",a)},i}var DS={kernelName:ql,backendName:"cpu",kernelFunc:pr};function lp(r,e,t="float32"){if(t==="complex64"){let o=lp(r,e,"float32"),s=lp(r,e,"float32");return pr({inputs:{real:o,imag:s},backend:r})}let n=y.makeZerosTypedArray(y.sizeFromShape(e),t);return r.makeTensorInfo(e,t,n)}function Er(r){let{inputs:e,backend:t}=r,{x:n}=e;return t.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var $S={kernelName:us,backendName:"cpu",kernelFunc:Er};function Vo(r){let{inputs:e,backend:t}=r,{input:n}=e,o=t.data.get(n.dataId).complexTensorInfos.real,s=t.data.get(o.dataId).values;return t.makeTensorInfo(o.shape,o.dtype,s)}var RS={kernelName:cu,backendName:"cpu",kernelFunc:Vo};function Go(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{dtype:s}=n;if(s==="complex64"){if(o.dtype==="complex64")return Er({inputs:{x:o},backend:t});let a=lp(t,o.shape,o.dtype),i=Go({inputs:{x:o},backend:t,attrs:{dtype:"float32"}}),l=pr({inputs:{real:i,imag:a},backend:t});return t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(i),l}if(o.dtype==="complex64"){let a=Vo({inputs:{input:o},backend:t}),i=Go({inputs:{x:a},backend:t,attrs:{dtype:s}});return t.disposeIntermediateTensorInfo(a),i}if(!y.hasEncodingLoss(o.dtype,s)){let a=Er({inputs:{x:o},backend:t});return{dataId:a.dataId,shape:a.shape,dtype:s}}if(s==="int32"){let a=t.data.get(o.dataId).values,i=Int32Array.from(a);return t.makeTensorInfo(o.shape,"int32",i)}if(s==="bool"){let a=t.data.get(o.dataId).values,i=y.toTypedArray([0],o.dtype),[l,u]=Ze((c,p)=>c!==p?1:0)(o.shape,[],a,i,"bool");return t.makeTensorInfo(u,"bool",l)}throw new Error(`Error in Cast: failed to cast ${o.dtype} to ${s}`)}var FS={kernelName:An,backendName:"cpu",kernelFunc:Go};function nt(r,e,t,n){return t==null?({inputs:o,backend:s})=>{let{a,b:i}=o,l=s;ee([a,i],r);let u=l.data.get(a.dataId).values,c=l.data.get(i.dataId).values,p=n||a.dtype,[m,f]=e(a.shape,i.shape,u,c,p);return l.makeTensorInfo(f,p,m)}:({inputs:o,backend:s})=>{let{a,b:i}=o,l=s;if(a.dtype==="complex64"||i.dtype==="complex64"){let u=Go({inputs:{x:a},backend:l,attrs:{dtype:"complex64"}}),c=l.data.get(u.dataId),p=c.complexTensorInfos.real,m=c.complexTensorInfos.imag,f=l.data.get(p.dataId).values,d=l.data.get(m.dataId).values,h=Go({inputs:{x:i},backend:l,attrs:{dtype:"complex64"}}),g=l.data.get(h.dataId),x=g.complexTensorInfos.real,b=g.complexTensorInfos.imag,w=l.data.get(x.dataId).values,_=l.data.get(b.dataId).values,[k,E,S]=t(a.shape,i.shape,f,d,w,_),R=l.makeTensorInfo(S,"float32",k),F=l.makeTensorInfo(S,"float32",E),P=pr({inputs:{real:R,imag:F},backend:l});return l.disposeIntermediateTensorInfo(u),l.disposeIntermediateTensorInfo(h),l.disposeIntermediateTensorInfo(R),l.disposeIntermediateTensorInfo(F),P}else{let u=l.data.get(a.dataId).values,c=l.data.get(i.dataId).values,p=n||a.dtype,[m,f]=e(a.shape,i.shape,u,c,p);return l.makeTensorInfo(f,p,m)}}}function up(r){return(e,t,n,o,s,a)=>{let i=N.assertAndGetBroadcastShape(e,t),l=y.sizeFromShape(i),u=i.length,c=y.computeStrides(i),p=y.getTypedArrayFromDType("float32",l),m=y.getTypedArrayFromDType("float32",l),f=N.getBroadcastDims(e,i),d=N.getBroadcastDims(t,i),h=N.mergeRealAndImagArrays(n,o),g=N.mergeRealAndImagArrays(s,a),x=e.length,b=y.computeStrides(e),w=t.length,_=y.computeStrides(t);if(f.length+d.length===0)for(let k=0;kS[G]=0);let R=y.locToIndex(S,x,b),F=E.slice(-w);d.forEach(G=>F[G]=0);let P=y.locToIndex(F,w,_),j=r(h[R*2],h[R*2+1],g[P*2],g[P*2+1]);p[k]=j.real,m[k]=j.imag}return[p,m,i]}}var OS=Ze((r,e)=>r+e),oH=up((r,e,t,n)=>({real:r+t,imag:e+n})),Pa=nt(xn,OS,oH),PS={kernelName:xn,backendName:"cpu",kernelFunc:Pa};function cf(r,e,t,n,o){let s=y.sizeFromShape(n),a=y.makeZerosTypedArray(o,t);for(let i=0;i=o||(s>0?a[l]+=e[i]:a[l]+=1)}return a}function p_(r,e,t,n=!1){let o=r.shape[0],s=r.shape[1],a=Ce([o,t],e.dtype);for(let i=0;i=t||(n?a.set(1,i,u):e.size>0?a.set(a.get(i,u)+e.get(i,l),i,u):a.set(a.get(i,u)+1,i,u))}return a}function jo(r){return(e,t,n)=>{let o=y.getTypedArrayFromDType(t,e.length);for(let s=0;s{let{x:a}=n;if(ee(a,r),a.dtype==="string"||t==="string")throw new Error("unaryKernelFunc does not support string input/output");let i=s,l=i.data.get(a.dataId).values,u=y.sizeFromShape(a.shape),c=t||a.dtype,p=y.getArrayFromDType(c,u);for(let m=0;m{let{x:a}=n;if(ee(a,r),a.dtype==="string"||t==="string")throw new Error("unaryKernelFunc does not support string input/output");let i=s,l=i.data.get(a.dataId).values,u=t||a.dtype,c=e(l,u,o);return i.makeTensorInfo(a.shape,u,c)}}var MS=jo(r=>Math.ceil(r)),sH=Wo(ti,MS),LS={kernelName:ti,backendName:"cpu",kernelFunc:sH};function pf(r,e,t,n){let o=y.getArrayFromDType(t,y.sizeFromShape(e));if(n&&t!=="string"){let s=0;r.forEach(a=>{let i=y.sizeFromShape(a.shape);o.set(a.vals,s),s+=i})}else{let s=0;r.forEach(a=>{let i=t==="string"?N.fromUint8ToStringArray(a.vals):a.vals,l=0;for(let u=0;uMath.exp(r)),m_=Wo(eo,zS),BS={kernelName:eo,backendName:"cpu",kernelFunc:m_};var VS=jo(r=>Math.expm1(r)),iH=Wo(li,VS),GS={kernelName:li,backendName:"cpu",kernelFunc:iH};var jS=jo(r=>Math.floor(r)),aH=Wo(to,jS),WS={kernelName:to,backendName:"cpu",kernelFunc:aH};function f_(r,e,t){let n=Ce(t,r.dtype);for(let o=0;or>e?1:0),lH=nt(pi,US,null,"bool"),qS={kernelName:pi,backendName:"cpu",kernelFunc:lH};var HS=Ze((r,e)=>rMath.log(r)),cH=Wo(io,XS),YS={kernelName:io,backendName:"cpu",kernelFunc:cH};function h_(r,e,t,n){let o=y.getTypedArrayFromDType(n,y.sizeFromShape(t));for(let s=0;si&&(i=u)}o[s]=i}return o}var ZS=Ze((r,e)=>Math.max(r,e)),pH=nt(lo,ZS),JS={kernelName:lo,backendName:"cpu",kernelFunc:pH};var QS=Ze((r,e)=>Math.min(r,e)),mH=nt(mo,QS),eT={kernelName:mo,backendName:"cpu",kernelFunc:mH};var Cg=Ze((r,e)=>r*e),fH=up((r,e,t,n)=>({real:r*t-e*n,imag:r*n+e*t})),mf=nt(fo,Cg,fH),tT={kernelName:fo,backendName:"cpu",kernelFunc:mf};function rT(r,e,t){let n=y.createScalarValue(-1,t);return Cg([],e,n,r,t)}function dH(r){let{inputs:e,backend:t}=r,{x:n}=e;ee(n,"neg");let o=t.data.get(n.dataId).values,[s,a]=rT(o,n.shape,n.dtype);return t.makeTensorInfo(a,n.dtype,s)}var nT={kernelName:cs,backendName:"cpu",kernelFunc:dH};var oT=Ze((r,e)=>r!==e?1:0),hH=nt(wi,oT,null,"bool"),sT={kernelName:wi,backendName:"cpu",kernelFunc:hH};function ff(r,e,t,n,o){let s=e.length,a=y.sizeFromShape(e),i=y.computeStrides(e),l=y.computeStrides(o),u=y.getTypedArrayFromDType(t,y.sizeFromShape(o));for(let c=0;ct.disposeIntermediateTensorInfo(b)),t.makeTensorInfo(x,g,d)}var lT={kernelName:Ci,backendName:"cpu",kernelFunc:gH};function df(r,e,t,n){let o=r===e,s=r1;if(o||s||a)return y.makeZerosTypedArray(0,n);let i=Math.abs(Math.ceil((e-r)/t)),l=y.makeZerosTypedArray(i,n);e1/Math.sqrt(r)),xH=Wo(Co,uT),cT={kernelName:Co,backendName:"cpu",kernelFunc:xH};function hf(r,e,t,n,o){let s=or.isSliceContinous(n,e,t),a=y.sizeFromShape(t),i=y.computeStrides(n);if(s){let p=or.computeFlatOffset(e,i);return o==="string"?r.slice(p,p+a):r.subarray(p,p+a)}let l=o==="string"?N.fromUint8ToStringArray(r):r,u=Ce(n,o,l),c=Ce(t,o);for(let p=0;pd+e[h]);c.set(u.get(...f),...m)}return o==="string"?N.fromStringArrayToUint8(c.values):c.values}function Uo(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{begin:s,size:a}=n;ee(o,"slice");let[i,l]=or.parseSliceParams(o,s,a);or.assertParamsValid(o,i,l);let u=t.data.get(o.dataId).values,c=hf(u,i,l,o.shape,o.dtype);return t.makeTensorInfo(l,o.dtype,c)}var pT={kernelName:hs,backendName:"cpu",kernelFunc:Uo};var mT=Ze((r,e)=>{let t=r-e;return t*t}),yH=nt(Ao,mT),fT={kernelName:Ao,backendName:"cpu",kernelFunc:yH};function g_(r,e,t,n){let o=Ce(r,e.dtype);for(let s=0;sr-e),bH=up((r,e,t,n)=>({real:r-t,imag:e-n})),gf=nt(Do,dT,bH),hT={kernelName:Do,backendName:"cpu",kernelFunc:gf};function x_(r,e){let t=new Array(r.rank);for(let o=0;ow.value-b.value);let h=p*n,g=l.subarray(h,h+n),x=u.subarray(h,h+n);for(let b=0;b{for(let g=0;gnew vg,1);var __=Ae(si,r=>r>=0?r:Math.exp(r)-1),gT={kernelName:si,backendName:"cpu",kernelFunc:__};function k_(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{alpha:s}=n;ee([o],"leakyRelu");let a=y.sizeFromShape(o.shape),i=t.data.get(o.dataId).values,l=y.getTypedArrayFromDType("float32",a);for(let u=0;ur<0?e*r:r);function v_(r){let{inputs:e,backend:t}=r,{x:n,alpha:o}=e;ee([n,o],"prelu");let s=t.data.get(n.dataId).values,a=t.data.get(o.dataId).values,[i,l]=wH(n.shape,o.shape,s,a,n.dtype);return t.makeTensorInfo(l,n.dtype,i)}var yT={kernelName:yo,backendName:"cpu",kernelFunc:v_};var C_=Ae(bo,r=>Math.max(0,r)),bT={kernelName:bo,backendName:"cpu",kernelFunc:C_};var I_=Ae(_o,r=>Math.min(Math.max(0,r),6)),wT={kernelName:_o,backendName:"cpu",kernelFunc:I_};function cp(r,e,t,n,o){if(t==="linear")return Er({inputs:{x:e},backend:r});if(t==="relu")return C_({inputs:{x:e},backend:r});if(t==="elu")return __({inputs:{x:e},backend:r});if(t==="relu6")return I_({inputs:{x:e},backend:r});if(t==="prelu")return v_({inputs:{x:e,alpha:n},backend:r});if(t==="leakyrelu")return k_({inputs:{x:e},backend:r,attrs:{alpha:o}});throw new Error(`Activation ${t} has not been implemented for the CPU backend.`)}function tt(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{shape:s}=n,a=y.sizeFromShape(o.shape),i=y.inferFromImplicitShape(s,a),l=y.sizeFromShape(i);y.assert(a===l,()=>`The new shape (${i}) has ${l} elements and the old shape (${o.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`),t.incRef(o.dataId);let u=t.data.get(o.dataId);if(u.complexTensorInfos!=null){let c=u.complexTensorInfos.real,p=u.complexTensorInfos.imag;c.shape=i,p.shape=i}return{dataId:o.dataId,shape:i,dtype:o.dtype}}var _T={kernelName:fs,backendName:"cpu",kernelFunc:tt};function N_(r){let{inputs:e,backend:t,attrs:n}=r,{a:o,b:s}=e,{transposeA:a,transposeB:i}=n;ee([o,s],"matMul");let l=o.shape.length,u=s.shape.length,c=a?o.shape[l-2]:o.shape[l-1],p=i?s.shape[u-1]:s.shape[u-2],m=a?o.shape[l-1]:o.shape[l-2],f=i?s.shape[u-2]:s.shape[u-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),b=g===x||g===1||x===1;y.assert(l>=2&&u>=2&&b,()=>`Error in matMul: the input batch dimensions must either be the same or at least one input batch dimension must be 1. Got input batch dimensions of (${d}) and (${h}).`);let _=(g>x?o.shape.slice(0,-2):s.shape.slice(0,-2)).concat([m,f]);y.assert(c===p,()=>`Error in matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${o.shape} and ${s.shape} and transposeA=${a} and transposeB=${i} must match.`);let k=a?[g,c,m]:[g,m,c],E=i?[x,f,p]:[x,p,f],S=tt({inputs:{x:o},backend:t,attrs:{shape:k}}),R=tt({inputs:{x:s},backend:t,attrs:{shape:E}}),F=a?S.shape[1]:S.shape[2],P=a?S.shape[2]:S.shape[1],j=i?R.shape[1]:R.shape[2],G=Math.max(g,x),U=t.data.get(S.dataId).values,X=t.data.get(R.dataId).values,K=y.computeStrides(S.shape),Z=y.computeStrides(R.shape),[te,Y,re]=a?[K[0],1,K[1]]:[K[0],K[1],1],[ie,se,pe]=i?[1,Z[1],Z[0]]:[Z[1],1,Z[0]],ae=P*j,xe=Ce([G,P,j],S.dtype),ge=xe.values,we=t.blockSize;for(let ke=0;keMath.acos(r)),CT={kernelName:Ks,backendName:"cpu",kernelFunc:kH};var vH=Ae(Xs,r=>Math.acosh(r)),IT={kernelName:Xs,backendName:"cpu",kernelFunc:vH};function CH(r){let{inputs:e,backend:t}=r,n=e;ee(e,"addN");let o=n.map(i=>t.data.get(i.dataId).values),s=Ce(n[0].shape,n[0].dtype),a=s.values;for(let i=0;ib&&(b=k,w=_)}f[g]=w}return u.forEach(g=>t.disposeIntermediateTensorInfo(g)),t.makeTensorInfo(c,"int32",f)}var ET={kernelName:Un,backendName:"cpu",kernelFunc:SH};function TH(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s}=n;ee(o,"argMin");let a=y.parseAxisParam(s,o.shape),i=N.getAxesPermutation(a,o.shape.length),l=o,u=[];i!=null&&(l=rr({inputs:{x:o},backend:t,attrs:{perm:i}}),u.push(l),a=N.getInnerMostAxes(a.length,l.shape.length)),a=[a[0]],N.assertAxesAreInnerMostDims("argMin",a,l.shape.length);let[c,p]=N.computeOutAndReduceShapes(l.shape,a),m=y.sizeFromShape(c),f=y.makeZerosTypedArray(m,"int32"),d=y.sizeFromShape(p),h=t.data.get(l.dataId).values;for(let g=0;gt.disposeIntermediateTensorInfo(g)),t.makeTensorInfo(c,"int32",f)}var AT={kernelName:na,backendName:"cpu",kernelFunc:TH};var EH=Ae(Ys,r=>Math.asin(r)),DT={kernelName:Ys,backendName:"cpu",kernelFunc:EH};var AH=Ae(Zs,r=>Math.asinh(r)),$T={kernelName:Zs,backendName:"cpu",kernelFunc:AH};var DH=Ae(Js,r=>Math.atan(r)),RT={kernelName:Js,backendName:"cpu",kernelFunc:DH};var $H=Ze((r,e)=>Math.atan2(r,e)),RH=nt(ei,$H),FT={kernelName:ei,backendName:"cpu",kernelFunc:RH};var FH=Ae(Qs,r=>Math.atanh(r)),OT={kernelName:Qs,backendName:"cpu",kernelFunc:FH};function pp(r,e,t,n,o,s){let a=o.strideHeight,i=o.strideWidth,l=o.dilationHeight,u=o.dilationWidth,c=o.effectiveFilterHeight,p=o.effectiveFilterWidth,m=o.padInfo.top,f=o.padInfo.left,d=s==="max"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,h=Ce(o.outShape,t),g=h.values,x=o.outShape[1]*o.outShape[2]*o.outShape[3],b=o.outShape[2]*o.outShape[3],w=o.outShape[3];for(let _=0;_te?te=ge:s==="avg"&&(Y+=ge,re++)}if(isNaN(te))break}let ie=G+U*w+S;g[ie]=s==="avg"?Y/re:te}}}return h}function Ng(r,e,t,n,o=!1,s=!1){let a=Ce(n.outShape,"int32"),i=n.strideHeight,l=n.strideWidth,u=n.dilationHeight,c=n.dilationWidth,p=n.effectiveFilterHeight,m=n.effectiveFilterWidth,f=n.padInfo.top,d=n.padInfo.left,h=Ce(e,t,r);for(let g=0;gP&&(P=Z,o?j=s?((g*n.inHeight+G)*n.inWidth+X)*n.inChannels+x:(G*n.inWidth+X)*n.inChannels+x:j=U*m+K)}}a.set(j,g,b,E,x)}}return a}function Sg(r,e,t,n,o,s){let a=o.strideDepth,i=o.strideHeight,l=o.strideWidth,u=o.dilationDepth,c=o.dilationHeight,p=o.dilationWidth,m=o.effectiveFilterDepth,f=o.effectiveFilterHeight,d=o.effectiveFilterWidth,h=o.padInfo.front,g=o.padInfo.top,x=o.padInfo.left,b=s==="max"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,w=Ce(o.outShape,t),_=w.values,k=o.outShape[1]*o.outShape[2]*o.outShape[3]*o.outShape[4],E=o.outShape[2]*o.outShape[3]*o.outShape[4],S=o.outShape[3]*o.outShape[4],R=o.outShape[4];for(let F=0;FDe?De=Ot:s==="avg"&&($e+=Ot,Re++),isNaN(De))break}if(isNaN(De))break}if(isNaN(De))break}let qe=ke+G;_[qe]=s==="avg"?$e/Re:De}}}}return w}function PT(r,e){let t=Ce(e.outShape,"int32"),n=e.strideDepth,o=e.strideHeight,s=e.strideWidth,a=e.dilationDepth,i=e.dilationHeight,l=e.dilationWidth,u=e.effectiveFilterDepth,c=e.effectiveFilterHeight,p=e.effectiveFilterWidth,m=e.padInfo.front,f=e.padInfo.top,d=e.padInfo.left;for(let h=0;h=U&&(U=se,X=Z*c*p+Y*c+ie)}}}t.set(X,h,x,k,F,g)}}}return t}function OH(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e;ee(o,"avgPool");let{filterSize:s,strides:a,pad:i,dimRoundingMode:l}=n,u=1;y.assert(N.eitherStridesOrDilationsAreOne(a,u),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=N.computePool2DInfo(o.shape,s,a,u,i,l),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Er({inputs:{x:o},backend:t});else{let m=t.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=pp(m,o.shape,o.dtype,f,c,"avg");p=t.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var MT={kernelName:qn,backendName:"cpu",kernelFunc:OH};function PH(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:l,dataFormat:u}=n;ee(o,"avgPool3d");let c=N.computePool3DInfo(o.shape,s,a,1,i,l,u),p=t.data.get(o.dataId).values,m=Sg(p,o.shape,o.dtype,y.computeStrides(o.shape),c,"avg");return t.makeTensorInfo(m.shape,"float32",m.values)}var LT={kernelName:oa,backendName:"cpu",kernelFunc:PH};function MH(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,input:s}=e,{filterSize:a,strides:i,pad:l,dimRoundingMode:u}=n;ee([o,s],"avgPool3DGrad");let c=N.computePool3DInfo(s.shape,a,i,1,l,u),p=c.strideDepth,m=c.strideHeight,f=c.strideWidth,d=c.filterDepth,h=c.filterHeight,g=c.filterWidth,x=c.dilationDepth,b=c.dilationHeight,w=c.dilationWidth,_=c.effectiveFilterDepth,k=c.effectiveFilterHeight,E=c.effectiveFilterWidth,S=_-1-c.padInfo.front,R=E-1-c.padInfo.left,F=k-1-c.padInfo.top,P=Ce(s.shape,"float32"),j=1/(d*h*g),G=t.bufferSync(o);for(let U=0;U=c.outDepth||Math.floor(ae)!==ae))for(let xe=0;xe=c.outHeight||Math.floor(ge)!==ge))for(let we=0;we=c.outWidth||Math.floor(ke)!==ke)continue;se+=G.get(U,ae,ge,ke,X)}}}P.set(se*j,U,K,Z,te,X)}return t.makeTensorInfo(P.shape,P.dtype,P.values)}var zT={kernelName:Wl,backendName:"cpu",kernelFunc:MH};function LH(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,input:s}=e,a=s;ee([o,s],"avgPoolGrad");let{filterSize:i,strides:l,pad:u}=n,c=N.computePool2DInfo(a.shape,i,l,1,u),p=c.strideHeight,m=c.strideWidth,f=c.filterHeight,d=c.filterWidth,h=c.dilationHeight,g=c.dilationWidth,x=c.effectiveFilterHeight,b=c.effectiveFilterWidth,w=b-1-c.padInfo.left,_=x-1-c.padInfo.top,k=Ce(a.shape,"float32"),E=1/(f*d),S=t.data.get(o.dataId).values,R=Ce(o.shape,"float32",S);for(let F=0;F=c.outHeight||Math.floor(te)!==te))for(let Y=0;Y=c.outWidth||Math.floor(re)!==re)continue;K+=R.get(F,te,re,P)}}k.set(K*E,F,j,G,P)}return t.makeTensorInfo(k.shape,k.dtype,k.values)}var BT={kernelName:jl,backendName:"cpu",kernelFunc:LH};function zH(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,scale:s,offset:a,mean:i,variance:l}=e;y.assert(i.shape.length===l.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),y.assert(a==null||i.shape.length===a.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),y.assert(s==null||i.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks."),ee([o,i,l,s,a],"batchNorm");let{varianceEpsilon:u}=n;u==null&&(u=.001);let c=t.data.get(o.dataId).values,p=t.data.get(i.dataId).values,m=t.data.get(l.dataId).values,f=s?t.data.get(s.dataId).values:new Float32Array([1]),d=a?t.data.get(a.dataId).values:new Float32Array([0]),h=new Float32Array(c.length),g=d.length,x=f.length,b=m.length,w=p.length,_=0,k=0,E=0,S=0;for(let R=0;R=g&&(_=0),k>=w&&(k=0),E>=x&&(E=0),S>=b&&(S=0);return t.makeTensorInfo(o.shape,o.dtype,h)}var VT={kernelName:no,backendName:"cpu",kernelFunc:zH};function BH(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{blockShape:s,crops:a}=n;ee([o],"batchToSpaceND");let i=s.reduce((x,b)=>x*b),l=N.getReshaped(o.shape,s,i),u=N.getPermuted(l.length,s.length),c=N.getReshapedPermuted(o.shape,s,i),p=N.getSliceBeginCoords(a,s.length),m=N.getSliceSize(c,a,s.length),f=tt({inputs:{x:o},backend:t,attrs:{shape:l}}),d=rr({inputs:{x:f},backend:t,attrs:{perm:u}}),h=tt({inputs:{x:d},backend:t,attrs:{shape:c}}),g=Uo({inputs:{x:h},backend:t,attrs:{begin:p,size:m}});return t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(h),g}var GT={kernelName:sa,backendName:"cpu",kernelFunc:BH};function VH(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,weights:s}=e,{size:a}=n,i=t.data.get(o.dataId).values,l=t.data.get(s.dataId).values,u=cf(i,l,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,u)}var jT={kernelName:Ul,backendName:"cpu",kernelFunc:VH};var GH=Ae(Dn,(r,e)=>{let t=e;return r>t.clipValueMax?t.clipValueMax:r{let{x:e}=r.inputs,t=r.backend,n=new Float32Array(y.sizeFromShape(e.shape)),o=t.data.get(e.dataId),s=o.complexTensorInfos.real,a=o.complexTensorInfos.imag,i=t.data.get(s.dataId).values,l=t.data.get(a.dataId).values;for(let u=0;uh.shape),s);if(y.sizeFromShape(a)===0)return t.makeTensorInfo(a,e[0].dtype,[]);let i=e.filter(h=>y.sizeFromShape(h.shape)>0);if(i.length===1)return Er({inputs:{x:i[0]},backend:t});let l=i.map(h=>h.shape);if(N.assertParamsConsistent(l,s),i[0].dtype==="complex64"){let h=i.map(_=>Vo({inputs:{input:_},backend:t})),g=i.map(_=>Gi({inputs:{input:_},backend:t})),x=ml({inputs:h,backend:t,attrs:{axis:s}}),b=ml({inputs:g,backend:t,attrs:{axis:s}}),w=pr({inputs:{real:x,imag:b},backend:t});return h.forEach(_=>t.disposeIntermediateTensorInfo(_)),g.forEach(_=>t.disposeIntermediateTensorInfo(_)),t.disposeIntermediateTensorInfo(x),t.disposeIntermediateTensorInfo(b),w}let u=i.map(h=>{let g=y.sizeFromShape(h.shape.slice(s));return tt({inputs:{x:h},backend:t,attrs:{shape:[-1,g]}})}),c=u.map(h=>({vals:t.data.get(h.dataId).values,shape:h.shape}));a=N.computeOutShape(u.map(h=>h.shape),1);let p=u[0].shape[0]===1,m=pf(c,a,e[0].dtype,p),f=N.computeOutShape(i.map(h=>h.shape),s),d=t.makeTensorInfo(f,e[0].dtype,m);return u.forEach(h=>t.disposeIntermediateTensorInfo(h)),d}var HT={kernelName:is,backendName:"cpu",kernelFunc:ml};function S_(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,filter:s}=e,{strides:a,pad:i,dataFormat:l,dilations:u,dimRoundingMode:c}=n;ee([o,s],"conv2d");let p=N.convertConv2DDataFormat(l),m=N.computeConv2DInfo(o.shape,s.shape,a,u,i,c,!1,p),f=m.filterHeight,d=m.filterWidth,h=m.dilationHeight,g=m.dilationWidth,x=m.padInfo.left,b=m.padInfo.top,w=m.dataFormat==="channelsLast",_=new ct(m.outShape,o.dtype),k=y.computeStrides(o.shape),E=y.computeStrides(s.shape),S=k[0],R=w?k[1]:k[2],F=w?k[2]:1,P=w?1:k[1],j=_.strides[0],G=w?_.strides[1]:_.strides[2],U=w?_.strides[2]:1,X=w?1:_.strides[1],K=t.data.get(o.dataId).values,Z=t.data.get(s.dataId).values,te=_.values;for(let Y=0;Y=m.inHeight)continue;let we=xe*E[0],ke=re+ge*R;for(let De=0;De=m.inWidth)continue;let kt=we+qe*E[1],vt=ke+ut*F,pt=kt;for(let Ct=0;Ct=u.inDepth)continue;let Y=Z*F[0],re=j+te*R[1];for(let ie=0;ie=u.inHeight)continue;let ge=Y+ae*F[1],we=re+xe*R[2];for(let ke=0;ke=u.inWidth)continue;let ut=ge+Re*F[2],kt=we+qe*u.inChannels,vt=ut;for(let pt=0;ptMath.cos(r)),e1={kernelName:Yn,backendName:"cpu",kernelFunc:XH};var YH=Ae(ri,r=>Math.cosh(r)),t1={kernelName:ri,backendName:"cpu",kernelFunc:YH};function ZH(r){let{inputs:e,backend:t,attrs:n}=r,{image:o,boxes:s,boxInd:a}=e,{cropSize:i,method:l,extrapolationValue:u}=n,[c,p,m,f]=o.shape,d=s.shape[0],[h,g]=i,x=Ce([d,h,g,f],"float32"),b=t.data.get(s.dataId).values,w=t.data.get(a.dataId).values,_=t.data.get(o.dataId).values,k=y.computeStrides(o.shape),E=y.computeStrides(x.shape);for(let S=0;S=c)continue;let X=h>1?(j-F)*(p-1)/(h-1):0,K=g>1?(G-P)*(m-1)/(g-1):0;for(let Z=0;Z1?F*(p-1)+Z*X:.5*(F+j)*(p-1);if(te<0||te>p-1){for(let Y=0;Y1?P*(m-1)+se*K:.5*(P+G)*(m-1);if(pe<0||pe>m-1){for(let we=0;we1?P*(m-1)+Y*K:.5*(P+G)*(m-1);if(re<0||re>m-1){for(let pe=0;pex+d-b-1:(x,b)=>x+b;for(let x=0;x`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${a}`),y.assert(s>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${s}`);let i=o.shape[0],l=o.shape[1],u=o.shape[2],c=o.shape[3],p=l*s,m=u*s,f=c/(s*s),d=t.data.get(o.dataId).values,h=new Float32Array(i*p*m*f),g=0;for(let x=0;x`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${m}'`);let f=N.computeConv2DInfo(o.shape,s.shape,a,m,i,u,!0),{filterHeight:d,filterWidth:h,dilationHeight:g,dilationWidth:x,padInfo:b}=f,w=b.left,_=b.top,k=f.outChannels/f.inChannels,E=new ct(f.outShape,o.dtype),S=t.data.get(o.dataId).values,R=t.data.get(s.dataId).values,F=E.values;for(let P=0;P=f.inHeight)continue;let Y=Z*p[0],re=j+te*c[1];for(let ie=0;ie=f.inWidth)continue;let ge=Y+ae*p[1],we=re+xe*f.inChannels,ke=se,De=ge;for(let $e=0;$e{let{x:n,filter:o}=r,{strides:s,pad:a,dilations:i}=t,l=e,u=l.data.get(n.dataId).values,c=n.shape.length,p=l.data.get(o.dataId).values,m=o.shape.length,{batchSize:f,inHeight:d,inWidth:h,inChannels:g,outHeight:x,outWidth:b,padInfo:w,strideHeight:_,strideWidth:k,filterHeight:E,filterWidth:S,dilationHeight:R,dilationWidth:F,outShape:P}=N.computeDilation2DInfo(n.shape,o.shape,s,a,"NHWC",i),j=y.sizeFromShape(P),G=P.length,U=y.getArrayFromDType(n.dtype,j);for(let K=0;K=0&&xe=0&&wese&&(se=$e)}}}let pe=y.locToIndex([K,Z,Y,ie],G,y.computeStrides(P));U[pe]=se}}}return{dataId:l.write(y.toTypedArray(U,n.dtype),P,n.dtype),shape:P,dtype:n.dtype}}};var p1={kernelName:Fc,backendName:"cpu",kernelFunc:({inputs:r,backend:e,attrs:t})=>{let{x:n,filter:o,dy:s}=r,{strides:a,pad:i,dilations:l}=t,u=e,c=y.toNestedArray(n.shape,u.data.get(n.dataId).values),p=y.toNestedArray(o.shape,u.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:_,filterHeight:k,filterWidth:E,dilationHeight:S,dilationWidth:R,outShape:F}=N.computeDilation2DInfo(n.shape,o.shape,a,i,"NHWC",l);y.assert(s.rank===F.length,()=>`Error in ${Fc}, dy must have the same rank as output ${F.length}, but got ${s.rank}`);let P=y.toNestedArray(F,u.data.get(s.dataId).values),j=y.makeZerosNestedTypedArray(o.shape,o.dtype);for(let U=0;U=0&&ae=0&&gere&&(re=we,ie=pe,se=xe)}}}j[ie][se][Y]+=P[U][X][Z][Y]}}}return{dataId:u.write(y.toTypedArray(j,n.dtype),o.shape,o.dtype),shape:o.shape,dtype:o.dtype}}};var m1={kernelName:Rc,backendName:"cpu",kernelFunc:({inputs:r,backend:e,attrs:t})=>{let{x:n,filter:o,dy:s}=r,{strides:a,pad:i,dilations:l}=t,u=e,c=y.toNestedArray(n.shape,u.data.get(n.dataId).values),p=y.toNestedArray(o.shape,u.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:_,filterHeight:k,filterWidth:E,dilationHeight:S,dilationWidth:R,outShape:F}=N.computeDilation2DInfo(n.shape,o.shape,a,i,"NHWC",l);y.assert(s.rank===F.length,()=>`Error in ${Rc}, dy must have the same rank as output ${F.length}, but got ${s.rank}`);let P=y.toNestedArray(F,u.data.get(s.dataId).values),j=y.makeZerosNestedTypedArray(n.shape,n.dtype);for(let U=0;U=0&&ae=0&&gere&&(re=we,ie=ae,se=ge)}}}j[U][ie][se][Y]+=P[U][X][Z][Y]}}}return{dataId:u.write(y.toTypedArray(j,n.dtype),n.shape,n.dtype),shape:n.shape,dtype:n.dtype}}};function oK(r){let{inputs:e,backend:t}=r,{dy:n,y:o}=e;ee([n,o],"eluGrad");let s=new Float32Array(y.sizeFromShape(o.shape)),a=t.data.get(o.dataId).values,i=t.data.get(n.dataId).values;for(let l=0;l=1?s[l]=i[l]:s[l]=i[l]*(u+1)}return t.makeTensorInfo(o.shape,"float32",s)}var f1={kernelName:eu,backendName:"cpu",kernelFunc:oK};var sK=Ze((r,e)=>r===e?1:0),E_=nt(ai,sK,null,"bool"),d1={kernelName:ai,backendName:"cpu",kernelFunc:E_};var iK=N.ERF_P,aK=N.ERF_A1,lK=N.ERF_A2,uK=N.ERF_A3,cK=N.ERF_A4,pK=N.ERF_A5,mK=Ae(ii,r=>{let e=Math.sign(r),t=Math.abs(r),n=1/(1+iK*t);return e*(1-((((pK*n+cK)*n+uK)*n+lK)*n+aK)*n*Math.exp(-t*t))}),h1={kernelName:ii,backendName:"cpu",kernelFunc:mK};function mp(r){let{inputs:e,backend:t,attrs:n}=r,{input:o}=e,{dim:s}=n,a=o.shape.length,i=o.shape.slice(),l=s;return s<0&&(y.assert(-(a+1)<=s,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),l=a+s+1),i.splice(l,0,1),tt({inputs:{x:o},backend:t,attrs:{shape:i}})}var g1={kernelName:as,backendName:"cpu",kernelFunc:mp};var fK=Ze((r,e)=>r/e),xf=nt(Qn,fK),yf={kernelName:Qn,backendName:"cpu",kernelFunc:xf};function Tg(r,e,t){let n=r.shape,o=n[0],s=n[1],a=t.data.get(r.dataId),i=a.complexTensorInfos.real,l=a.complexTensorInfos.imag,u=[o,s],c=y.sizeFromShape(u),p=y.getTypedArrayFromDType("float32",c),m=y.getTypedArrayFromDType("float32",c);for(let g=0;g{let{image:n}=r,o=t,s=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[a,i,l,u]=n.shape,c=o.data.get(n.dataId).values;for(let m=0;m=0&&kMath.floor(r/e)),wK=nt(ro,bK,null,"int32"),w1={kernelName:ro,backendName:"cpu",kernelFunc:wK};function _K(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,filter:s,bias:a,preluActivationWeights:i}=e,{strides:l,pad:u,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=S_({inputs:{x:o,filter:s},backend:t,attrs:{strides:l,pad:u,dataFormat:c,dilations:p,dimRoundingMode:m}});if(a){let g=h;h=Pa({inputs:{a:h,b:a},backend:t}),t.disposeIntermediateTensorInfo(g)}if(f){let g=h;h=cp(t,h,f,i,d),t.disposeIntermediateTensorInfo(g)}return h}var _1={kernelName:ws,backendName:"cpu",kernelFunc:_K};function kK(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,filter:s,bias:a,preluActivationWeights:i}=e,{strides:l,pad:u,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=T_({inputs:{x:o,filter:s},backend:t,attrs:{strides:l,pad:u,dataFormat:c,dilations:p,dimRoundingMode:m}});if(a){let g=h;h=Pa({inputs:{a:h,b:a},backend:t}),t.disposeIntermediateTensorInfo(g)}if(f){let g=h;h=cp(t,h,f,i,d),t.disposeIntermediateTensorInfo(g)}return h}var k1={kernelName:_s,backendName:"cpu",kernelFunc:kK};function vK(r){let{inputs:e,backend:t}=r,{params:n,indices:o}=e,s=y.sizeFromShape(n.shape),a=o.shape,i=a[a.length-1],[l,u,c,p]=N.prepareAndValidate(n,o);if(u===0)return t.makeTensorInfo(l,n.dtype,[]);let m=Ce([u,c],n.dtype),f=t.data.get(o.dataId).values,d=t.data.get(n.dataId).values;for(let h=0;h=s/c)throw new Error(`Invalid indices: ${g} does not index into ${n.shape}`);for(let b=0;br>=e?1:0),NK=nt(oo,IK,null,"bool"),I1={kernelName:oo,backendName:"cpu",kernelFunc:NK};function SK(r){let{inputs:e,backend:t}=r,{input:n}=e,o=y.sizeFromShape(n.shape),s=n.shape[n.shape.length-1],a=o/s,i=tt({inputs:{x:n},backend:t,attrs:{shape:[a,s]}}),l=Tg(i,!0,t),u=tt({inputs:{x:l},backend:t,attrs:{shape:n.shape}});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(l),u}var N1={kernelName:ru,backendName:"cpu",kernelFunc:SK};var TK=Ae(mi,r=>Number.isFinite(r)?1:0,"bool"),S1={kernelName:mi,backendName:"cpu",kernelFunc:TK};var EK=Ae(fi,r=>Math.abs(r)===Infinity?1:0,"bool"),T1={kernelName:fi,backendName:"cpu",kernelFunc:EK};var AK=Ae(di,r=>Number.isNaN(r)?1:0,"bool"),E1={kernelName:di,backendName:"cpu",kernelFunc:AK};var DK=Ze((r,e)=>r<=e?1:0),$K=nt(gi,DK,null,"bool"),A1={kernelName:gi,backendName:"cpu",kernelFunc:$K};function RK(r){let{backend:e,attrs:t}=r,{start:n,stop:o,num:s}=t,a=d_(n,o,s);return e.makeTensorInfo([a.length],"float32",a)}var D1={kernelName:ou,backendName:"cpu",kernelFunc:RK};var FK=Ae(xi,r=>Math.log1p(r)),$1={kernelName:xi,backendName:"cpu",kernelFunc:FK};var OK=Ze((r,e)=>r&&e),PK=nt(yi,OK,null,"bool"),R1={kernelName:yi,backendName:"cpu",kernelFunc:PK};var MK=Ae(Qa,r=>r?0:1,"bool"),F1={kernelName:Qa,backendName:"cpu",kernelFunc:MK};var LK=Ze((r,e)=>r||e),zK=nt(el,LK,null,"bool"),O1={kernelName:el,backendName:"cpu",kernelFunc:zK};function BK(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{depthRadius:s,bias:a,alpha:i,beta:l}=n;ee(o,"LRN");let u=o.shape[3],c=u-1,p=t.data.get(o.dataId).values,m=y.sizeFromShape(o.shape),f=new Float32Array(m);function d(h){let g=h%u,x=h-g+Math.max(0,g-s),b=h-g+Math.min(g+s,c),w=0;for(;x<=b;x++){let _=p[x];w+=_*_}return w}for(let h=0;h`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=N.computePool2DInfo(o.shape,s,a,u,i,l),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Er({inputs:{x:o},backend:t});else{let m=t.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=pp(m,o.shape,o.dtype,f,c,"max");p=t.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var z1={kernelName:uo,backendName:"cpu",kernelFunc:GK};function jK(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:l,dataFormat:u}=n;ee(o,"maxPool3d");let c=N.computePool3DInfo(o.shape,s,a,1,i,l,u),p=t.data.get(o.dataId).values,m=Sg(p,o.shape,o.dtype,y.computeStrides(o.shape),c,"max");return t.makeTensorInfo(m.shape,"float32",m.values)}var B1={kernelName:pa,backendName:"cpu",kernelFunc:jK};function WK(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,input:s}=e,{filterSize:a,strides:i,pad:l,dimRoundingMode:u}=n;ee([o,s],"maxPool3DGrad");let c=N.computePool3DInfo(s.shape,a,i,1,l,u),p=t.bufferSync(s),m=PT(p,c),f=c.strideDepth,d=c.strideHeight,h=c.strideWidth,g=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,w=c.effectiveFilterDepth,_=c.effectiveFilterHeight,k=c.effectiveFilterWidth,E=w-1-c.padInfo.front,S=k-1-c.padInfo.left,R=_-1-c.padInfo.top,F=Ce(s.shape,"float32"),P=t.bufferSync(o);for(let j=0;j=c.outDepth||Math.floor(se)!==se))for(let pe=0;pe<_;pe+=x){let ae=(te+pe)/d;if(!(ae<0||ae>=c.outHeight||Math.floor(ae)!==ae))for(let xe=0;xe=c.outWidth||Math.floor(ge)!==ge)continue;let we=w*_*k-1-m.get(j,se,ae,ge,G),ke=ie*_*k+pe*k+xe,De=we===ke?1:0;if(De===0)continue;re+=P.get(j,se,ae,ge,G)*De}}}F.set(re,j,U,X,K,G)}return t.makeTensorInfo(F.shape,F.dtype,F.values)}var V1={kernelName:au,backendName:"cpu",kernelFunc:WK};function UK(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,input:s,output:a}=e,i=s;ee([s,a],"maxPoolGrad");let{filterSize:l,strides:u,pad:c,dimRoundingMode:p}=n,m=N.computePool2DInfo(i.shape,l,u,1,c,p),f=t.data.get(i.dataId).values,d=Ce(m.outShape,i.dtype,Ng(f,i.shape,i.dtype,m).values),h=m.strideHeight,g=m.strideWidth,x=m.dilationHeight,b=m.dilationWidth,w=m.effectiveFilterHeight,_=m.effectiveFilterWidth,k=_-1-m.padInfo.left,E=w-1-m.padInfo.top,S=Ce(i.shape,"float32"),R=t.data.get(o.dataId).values,F=Ce(o.shape,"float32",R);for(let P=0;P=m.outHeight||Math.floor(Y)!==Y))for(let re=0;re<_;re+=b){let ie=(K+re)/g;if(ie<0||ie>=m.outWidth||Math.floor(ie)!==ie)continue;let se=w*_-1-d.get(P,Y,ie,j),pe=te*_+re,ae=se===pe?1:0;if(ae===0)continue;Z+=F.get(P,Y,ie,j)*ae}}S.set(Z,P,G,U,j)}return t.makeTensorInfo(S.shape,S.dtype,S.values)}var G1={kernelName:iu,backendName:"cpu",kernelFunc:UK};function j1(r,e,t,n,o){let s=y.computeStrides(e),a=pp(r,e,t,s,o,"max"),i=Ng(r,e,t,o,!0,n);return[a.values,i.values]}var W1={kernelName:lu,backendName:"cpu",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:n}=r,{filterSize:o,strides:s,pad:a,includeBatchInIndex:i}=e,l=t;ee(n,"MaxPoolWithArgmax");let u=l.data.get(n.dataId).values,c=N.computePool2DInfo(n.shape,o,s,[1,1],a),[p,m]=j1(u,n.shape,n.dtype,i,c),f=l.write(p,c.outShape,n.dtype),d=l.write(m,c.outShape,n.dtype);return[{dataId:f,shape:c.outShape,dtype:n.dtype},{dataId:d,shape:c.outShape,dtype:"int32"}]}};function Hu(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s,keepDims:a}=n;ee(o,"sum");let i;o.dtype==="bool"?i=Go({inputs:{x:o},backend:t,attrs:{dtype:"int32"}}):i=Er({inputs:{x:o},backend:t});let l=i.shape.length,u=y.parseAxisParam(s,i.shape),c=N.getAxesPermutation(u,l),p=u,m=i;c!=null&&(m=rr({inputs:{x:i},backend:t,attrs:{perm:c}}),p=N.getInnerMostAxes(p.length,l)),N.assertAxesAreInnerMostDims("sum",p,m.shape.length);let[f,d]=N.computeOutAndReduceShapes(m.shape,p),h=N.upcastType(m.dtype,"int32"),g=lp(t,f,h),x=y.sizeFromShape(d),b=t.data.get(g.dataId).values,w=t.data.get(m.dataId).values;for(let _=0;_t.disposeIntermediateTensorInfo(g)),h}var q1={kernelName:co,backendName:"cpu",kernelFunc:qK};function HK(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s,keepDims:a}=n;ee(o,"min");let i=y.parseAxisParam(s,o.shape),l=i,u=N.getAxesPermutation(l,o.shape.length),c=o;u!=null&&(c=rr({inputs:{x:o},backend:t,attrs:{perm:u}}),l=N.getInnerMostAxes(l.length,o.shape.length)),N.assertAxesAreInnerMostDims("min",l,c.shape.length);let[p,m]=N.computeOutAndReduceShapes(c.shape,l),f=y.sizeFromShape(m),d=y.makeZerosTypedArray(y.sizeFromShape(p),c.dtype),h=t.data.get(c.dataId).values;for(let x=0;xw[0]+o.shape[_]+w[1]),l=s.map(w=>w[0]),u=s.map((w,_)=>w[0]+o.shape[_]),c=a==="reflect"?0:1,p=t.data.get(o.dataId).values,m=o.shape.length,f=y.computeStrides(o.shape),d=y.sizeFromShape(i),h=i.length,g=y.computeStrides(i),x=y.getTypedArrayFromDType(o.dtype,d);for(let w=0;w=u[E]&&(_[E]=(u[E]-1)*2-_[E]+c);_=_.map((E,S)=>E-l[S]);let k=y.locToIndex(_,m,f);x[w]=p[k]}return{dataId:t.write(x,i,o.dtype),shape:i,dtype:o.dtype}}var K1={kernelName:ma,backendName:"cpu",kernelFunc:KK};var XK=Ze((r,e)=>{let t=r%e;return r<0&&e<0||r>=0&&e>=0?t:(t+e)%e}),YK=nt(bi,XK),X1={kernelName:bi,backendName:"cpu",kernelFunc:YK};var mE=Tc(cE());function L_(r){let{inputs:e,backend:t,attrs:n}=r,{logits:o}=e,{dim:s}=n,a=o.shape.length,i=s;if(i===-1&&(i=a-1),i!==a-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${a} and dim was ${i}`);let l=y.parseAxisParam([i],o.shape),u=D_({inputs:{x:o},backend:t,attrs:{reductionIndices:l,keepDims:!1}}),c=N.expandShapeToKeepDim(u.shape,l),p=tt({inputs:{x:u},backend:t,attrs:{shape:c}}),m=gf({inputs:{a:o,b:p},backend:t}),f=m_({inputs:{x:m},backend:t}),d=Hu({inputs:{x:f},backend:t,attrs:{axis:l,keepDims:!1}}),h=tt({inputs:{x:d},backend:t,attrs:{shape:c}}),g=xf({inputs:{a:f,b:h},backend:t});return t.disposeIntermediateTensorInfo(u),t.disposeIntermediateTensorInfo(p),t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(h),g}var pE={kernelName:Eo,backendName:"cpu",kernelFunc:L_};function n6(r){let{inputs:e,backend:t,attrs:n}=r,{logits:o}=e,{numSamples:s,seed:a,normalized:i}=n;ee(o,"multinomial");let l=i?o:L_({inputs:{logits:o},backend:t,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],p=t.data.get(l.dataId).values,m=[u,s],f=y.makeZerosTypedArray(y.sizeFromShape(m),"int32");for(let d=0;d=0&&c[p]{y.assertShapesMatch(s,c.shape,"All tensors passed to stack must have matching shapes"),y.assert(a===c.dtype,()=>"All tensors passed to stack must have matching dtypes")});let i=[],l=e.map(c=>{let p=mp({inputs:{input:c},backend:t,attrs:{dim:o}});return i.push(p),p}),u=ml({inputs:l,backend:t,attrs:{axis:o}});return i.forEach(c=>t.disposeIntermediateTensorInfo(c)),u}var _E={kernelName:ms,backendName:"cpu",kernelFunc:z_};function p6(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{paddings:s,constantValue:a}=n;ee(o,"pad");let i=s.map((b,w)=>b[0]+o.shape[w]+b[1]),l=s.map(b=>b[0]),u=t.data.get(o.dataId).values,c=y.sizeFromShape(o.shape),p=o.shape.length,m=y.computeStrides(o.shape),f=y.sizeFromShape(i),d=i.length,h=y.computeStrides(i),g=y.getTypedArrayFromDType(o.dtype,f);a!==0&&g.fill(a);for(let b=0;bE+l[S]),k=y.locToIndex(_,d,h);g[k]=u[b]}return{dataId:t.write(g,i,o.dtype),shape:i,dtype:o.dtype}}var Ag={kernelName:go,backendName:"cpu",kernelFunc:p6};var m6=Ze((r,e)=>Math.pow(r,e)),f6=nt(xo,m6),kE={kernelName:xo,backendName:"cpu",kernelFunc:f6};function d6(r){let{backend:e,attrs:t}=r,{start:n,stop:o,dtype:s,step:a}=t,i=df(n,o,a,s);return e.makeTensorInfo([i.length],s,i)}var vE={kernelName:fa,backendName:"cpu",kernelFunc:d6};var h6=Ae(Ii,r=>1/r),CE={kernelName:Ii,backendName:"cpu",kernelFunc:h6};function g6(r){let{inputs:e,backend:t,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:a,size:i}=n;ee(o,"resizeBilinear");let l=y.computeStrides(o.shape),[u,c]=i,[p,m,f,d]=o.shape,h=t.data.get(o.dataId).values,g=new Float32Array(y.sizeFromShape([p,u,c,d])),x=[s&&u>1?m-1:m,s&&c>1?f-1:f],b=[s&&u>1?u-1:u,s&&c>1?c-1:c],w=0,_=x[0]/b[0],k=x[1]/b[1];for(let E=0;E1?u-1:u,a&&f>1?c-1:c],g=[a&&m>1?m-1:m,a&&f>1?f-1:f],x=h[0]/g[0],b=h[1]/g[1],w=t.data.get(s.dataId).values,_=0;for(let k=0;k1?m-1:m,s&&c>1?f-1:f],b=[s&&u>1?u-1:u,s&&c>1?c-1:c],w=x[0]/b[0],_=x[1]/b[1],k=0;for(let E=0;E1?c-1:c,a&&d>1?p-1:p],b=[a&&f>1?f-1:f,a&&d>1?d-1:d],w=x[0]/b[0],_=x[1]/b[1],k=1/w,E=1/_,S=Math.ceil(k)*2+2,R=Math.ceil(E)*2+2;for(let F=0;F=f)continue;let ae=P+pe*l[1],xe=pe*w,ge=Math.min(c-1,a?Math.round(xe):Math.floor(xe));if(j===ge)for(let we=0;we=d)continue;let De=ae+ke*l[2],$e=ke*_,Re=Math.min(p-1,a?Math.round($e):Math.floor($e));K===Re&&(ie+=g[De+re])}}h[Z+re]=ie}}}}return t.makeTensorInfo(o.shape,o.dtype,h)}var TE={kernelName:pu,backendName:"cpu",kernelFunc:b6};function w6(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{dims:s}=n;ee(o,"reverse");let a=o.shape.length,i=y.parseAxisParam(s,o.shape);if(a===0)return Er({inputs:{x:o},backend:t});let l=new ct(o.shape,o.dtype),u=t.bufferSync(o);for(let c=0;cm[f]=o.shape[f]-1-m[f]),l.set(u.get(...m),...p)}return t.makeTensorInfo(l.shape,l.dtype,l.values)}var EE={kernelName:ko,backendName:"cpu",kernelFunc:w6};var AE={kernelName:Fi,backendName:"cpu",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{image:n}=r,{radians:o,fillValue:s,center:a}=e,i=t,l=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[u,c,p,m]=n.shape,[f,d]=N.getImageCenter(a,c,p),h=255,g=Math.sin(o),x=Math.cos(o),b=i.data.get(n.dataId).values;for(let _=0;_=0&&X=0&&K{let e=Math.floor(r);return r-e<.5?Math.floor(r):r-e>.5?Math.ceil(r):e%2==0?e:e+1}),DE={kernelName:vo,backendName:"cpu",kernelFunc:_6};function Dg(r,e,t,n,o,s,a,i,l,u){let c=[n/o,o],p=r.values,m=e.values;if(n===0)return Ce(t,e.dtype);let f=Ce(c,e.dtype);f.values.fill(l);for(let d=0;d=n/o)throw new Error(`Invalid indices: ${h} does not index into ${t}`);for(let x=0;x1||o.shape.length===1?1:y.sizeFromShape(o.shape.slice(1));for(let d=0;dr>=0?I6*r:C6*(Math.exp(r)-1)),FE={kernelName:Si,backendName:"cpu",kernelFunc:N6};var S6=Ae(No,r=>1/(1+Math.exp(-r))),OE={kernelName:No,backendName:"cpu",kernelFunc:S6};var T6=Ae(Ei,r=>r<0?-1:r>0?1:0),PE={kernelName:Ei,backendName:"cpu",kernelFunc:T6};var E6=Ae(Io,r=>Math.sin(r)),ME={kernelName:Io,backendName:"cpu",kernelFunc:E6};var A6=Ae(Ti,r=>Math.sinh(r)),LE={kernelName:Ti,backendName:"cpu",kernelFunc:A6};var D6=11920928955078125e-23,zE=Math.log(D6)+2,$6=Ae(Ai,r=>{let e=r>-zE,t=r{let m=[...c];m[i]=p;let f=Uo({inputs:{x:o},backend:t,attrs:{begin:u,size:m}});return u[i]+=p,f})}var jE={kernelName:gs,backendName:"cpu",kernelFunc:O6};var P6=Ae(So,r=>Math.sqrt(r)),WE={kernelName:So,backendName:"cpu",kernelFunc:P6};var UE={kernelName:ga,backendName:"cpu",kernelFunc:({inputs:r,backend:e})=>{let{x:t}=r,n=e;ee(t,"square");let o=n.data.get(t.dataId).values,s=new Float32Array(o.length);for(let i=0;i{let t=e;return isNaN(r)?NaN:r>0?1:t.alpha}),qE={kernelName:$n,backendName:"cpu",kernelFunc:M6};function L6(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{begin:s,end:a,strides:i,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n;ee(o,"stridedSlice");let{nonStrided:f,$begin:d,$strides:h,size:g,newShape:x,outShape:b}=or.sliceInfo(o.shape,s,a,i,l,u,c,p,m),w=tt({inputs:{x:o},backend:t,attrs:{shape:x}}),_;if(f){let E=Uo({inputs:{x:w},backend:t,attrs:{begin:d,size:g}});_=tt({inputs:{x:E},backend:t,attrs:{shape:b}}),t.disposeIntermediateTensorInfo(E)}else if(b.some(E=>E===0))_=t.makeTensorInfo(b,o.dtype,[]);else{let E=t.bufferSync(w),S=g_(b,E,h,d);_=t.makeTensorInfo(S.shape,S.dtype,S.values)}let k=tt({inputs:{x:_},backend:t,attrs:{shape:b}});return t.disposeIntermediateTensorInfo(w),t.disposeIntermediateTensorInfo(_),k}var HE={kernelName:Di,backendName:"cpu",kernelFunc:L6};var z6=Ae($i,r=>Math.tan(r)),KE={kernelName:$i,backendName:"cpu",kernelFunc:z6};var B6=Ae($o,r=>Math.tanh(r)),XE={kernelName:$o,backendName:"cpu",kernelFunc:B6};function V6(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{reps:s}=n;ee(o,"tile");let a=x_(t.bufferSync(o),s);return t.makeTensorInfo(a.shape,a.dtype,a.values)}var YE={kernelName:yn,backendName:"cpu",kernelFunc:V6};function G6(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{k:s,sorted:a}=n;ee(o,"topk");let i=t.data.get(o.dataId).values,[l,u]=y_(i,o.shape,o.dtype,s,a);return[t.makeTensorInfo(l.shape,l.dtype,l.values),t.makeTensorInfo(u.shape,u.dtype,u.values)]}var ZE={kernelName:Ri,backendName:"cpu",kernelFunc:G6};function j6(r){let{inputs:e,attrs:t,backend:n}=r,{axis:o}=t,{x:s}=e;ee(s,"unique");let a=n.data.get(s.dataId).values,{outputValues:i,outputShape:l,indices:u}=b_(a,o,s.shape,s.dtype);return[n.makeTensorInfo(l,s.dtype,i),n.makeTensorInfo([u.length],"int32",u)]}var JE={kernelName:du,backendName:"cpu",kernelFunc:j6};function W6(r){let{inputs:e,backend:t,attrs:n}=r,{value:o}=e,{axis:s}=n;s<0&&(s+=o.shape.length);let a=o.shape.length,i=o.shape[s],l=new Array(a-1),u=0;for(let f=0;ft.disposeIntermediateTensorInfo(d)),f}var eA={kernelName:xa,backendName:"cpu",kernelFunc:U6};var q6=[vT,AS,CT,IT,PS,NT,ST,TT,ET,AT,DT,$T,RT,FT,OT,MT,LT,zT,BT,kT,VT,GT,jT,FS,LS,WT,DS,UT,HT,XT,YT,KT,JT,QT,ZT,e1,t1,r1,n1,o1,s1,i1,a1,l1,u1,c1,m1,p1,yf,gT,f1,d1,h1,BS,g1,GS,x1,y1,b1,WS,w1,_1,k1,v1,C1,qS,I1,$S,N1,qT,S1,T1,E1,xT,KS,A1,D1,YS,$1,R1,F1,O1,P1,M1,JS,z1,B1,V1,G1,W1,L1,q1,H1,eT,K1,X1,fE,tT,nT,dE,hE,gE,sT,xE,wE,_E,Ag,kE,yT,lT,vE,RS,CE,bT,wT,_T,IE,NE,SE,TE,EE,AE,DE,cT,$E,RE,FE,OE,PE,ME,LE,pT,pE,BE,VE,GE,jE,WE,UE,fT,qE,HE,hT,U1,KE,XE,YE,ZE,iT,JE,QE,eA,yE];for(let r of q6)tl(r);var nA={};Ye(nA,{assertNotComplex:()=>$s,bindCanvasToFramebuffer:()=>r5,bindColorTextureToFramebuffer:()=>vf,bindTextureToProgramUniformSampler:()=>ek,bindTextureUnit:()=>iA,bindVertexBufferToProgramAttribute:()=>$g,callAndCheck:()=>Ne,canBeRepresented:()=>G_,createFragmentShader:()=>W_,createFramebuffer:()=>Z_,createProgram:()=>U_,createStaticIndexBuffer:()=>K_,createStaticVertexBuffer:()=>H_,createTexture:()=>X_,createVertexShader:()=>j_,getBatchDim:()=>La,getExtensionOrThrow:()=>fp,getFramebufferErrorMessage:()=>aA,getMaxTexturesInShader:()=>nk,getNumChannels:()=>e5,getProgramUniformLocation:()=>Q_,getProgramUniformLocationOrThrow:()=>J_,getRowsCols:()=>za,getShapeAs3D:()=>Cf,getTextureShapeFromLogicalShape:()=>tk,getWebGLDisjointQueryTimerVersion:()=>ok,getWebGLErrorMessage:()=>oA,getWebGLMaxTextureSize:()=>rk,hasExtension:()=>kn,isCapableOfRenderingToFloatTexture:()=>ik,isDownloadFloatTextureEnabled:()=>ak,isReshapeFree:()=>hl,isWebGLFenceEnabled:()=>lk,isWebGLVersionEnabled:()=>Mg,linkProgram:()=>q_,resetMaxTextureSize:()=>n5,resetMaxTexturesInShader:()=>o5,unbindColorTextureFromFramebuffer:()=>Rg,unbindTextureUnit:()=>t5,validateFramebuffer:()=>dp,validateProgram:()=>kf,validateTextureSize:()=>Y_});var Xu={},B_={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function V_(r,e){Xu[r]=e}function Mn(r){if(!(r in Xu)){let t=H6(r);if(t!==null)Xu[r]=t;else return console.log("Could not get context for WebGL version",r),null}let e=Xu[r];return e.isContextLost()?(delete Xu[r],Mn(r)):(e.disable(e.DEPTH_TEST),e.disable(e.STENCIL_TEST),e.disable(e.BLEND),e.disable(e.DITHER),e.disable(e.POLYGON_OFFSET_FILL),e.disable(e.SAMPLE_COVERAGE),e.enable(e.SCISSOR_TEST),e.enable(e.CULL_FACE),e.cullFace(e.BACK),Xu[r])}function K6(r){if(typeof OffscreenCanvas!="undefined"&&r===2)return new OffscreenCanvas(300,150);if(typeof document!="undefined")return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}function H6(r){if(r!==1&&r!==2)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");let e=K6(r);return e.addEventListener("webglcontextlost",t=>{t.preventDefault(),delete Xu[r]},!1),r===1?e.getContext("webgl",B_)||e.getContext("experimental-webgl",B_):e.getContext("webgl2",B_)}var fl;(function(r){r[r.DENSE=0]="DENSE",r[r.SHARED_BATCH=1]="SHARED_BATCH"})(fl||(fl={}));var Ar;(function(r){r[r.RENDER=0]="RENDER",r[r.UPLOAD=1]="UPLOAD",r[r.PIXELS=2]="PIXELS",r[r.DOWNLOAD=3]="DOWNLOAD"})(Ar||(Ar={}));var wr;(function(r){r[r.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",r[r.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",r[r.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",r[r.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",r[r.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"})(wr||(wr={}));function Yu(r,e){return[e,r]}function tA(r,e){return r*e}function dl(r){let e=y.sizeFromShape(r),t=Math.ceil(e/4);return y.sizeToSquarishShape(t)}function ji(r,e){return[Math.max(1,Math.ceil(e/2)),Math.max(1,Math.ceil(r/2))]}function rA(r,e){let[t,n]=ji(r,e);return t*n*4}function _f(r,e){let t=r,n,o,s,a,i,l,u,c,p,m;return W().getNumber("WEBGL_VERSION")===2?(n=t.R32F,o=t.R16F,s=t.RGBA16F,a=t.RGBA32F,i=t.RED,u=4,c=1,p=t.HALF_FLOAT,m=t.FLOAT):(n=r.RGBA,o=r.RGBA,s=r.RGBA,a=t.RGBA,i=r.RGBA,u=4,c=4,p=e!=null?e.HALF_FLOAT_OES:null,m=r.FLOAT),l=r.RGBA,{internalFormatFloat:n,internalFormatHalfFloat:o,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:a,textureFormatFloat:i,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:p,textureTypeFloat:m}}function Ne(r,e){let t=e();return W().getBool("DEBUG")&&X6(r),t}function X6(r){let e=r.getError();if(e!==r.NO_ERROR)throw new Error("WebGL Error: "+oA(r,e))}var Y6=596e-10,Z6=65504;function G_(r){return!!(W().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||r===0||Y6r.getExtension(e),'Extension "'+e+'" not supported on this browser.')}function j_(r,e){let t=Ma(r,()=>r.createShader(r.VERTEX_SHADER),"Unable to create vertex WebGLShader.");if(Ne(r,()=>r.shaderSource(t,e)),Ne(r,()=>r.compileShader(t)),r.getShaderParameter(t,r.COMPILE_STATUS)===!1)throw console.log(r.getShaderInfoLog(t)),new Error("Failed to compile vertex shader.");return t}function W_(r,e){let t=Ma(r,()=>r.createShader(r.FRAGMENT_SHADER),"Unable to create fragment WebGLShader.");if(Ne(r,()=>r.shaderSource(t,e)),Ne(r,()=>r.compileShader(t)),r.getShaderParameter(t,r.COMPILE_STATUS)===!1)throw J6(e,r.getShaderInfoLog(t)),new Error("Failed to compile fragment shader.");return t}var Q6=/ERROR: [0-9]+:([0-9]+):/g;function J6(r,e){let t=Q6.exec(e);if(t==null){console.log(`Couldn't parse line number in error: ${e}`),console.log(r);return}let n=+t[1],o=r.split(` -`),s=o.length.toString().length+2,a=o.map((p,m)=>y.rightPad((m+1).toString(),s)+p),i=0;for(let p=0;pr.createProgram(),"Unable to create WebGLProgram.")}function q_(r,e){if(Ne(r,()=>r.linkProgram(e)),r.getProgramParameter(e,r.LINK_STATUS)===!1)throw console.log(r.getProgramInfoLog(e)),new Error("Failed to link vertex and fragment shaders.")}function kf(r,e){if(Ne(r,()=>r.validateProgram(e)),r.getProgramParameter(e,r.VALIDATE_STATUS)===!1)throw console.log(r.getProgramInfoLog(e)),new Error("Shader program validation failed.")}function H_(r,e){let t=Ma(r,()=>r.createBuffer(),"Unable to create WebGLBuffer");return Ne(r,()=>r.bindBuffer(r.ARRAY_BUFFER,t)),Ne(r,()=>r.bufferData(r.ARRAY_BUFFER,e,r.STATIC_DRAW)),t}function K_(r,e){let t=Ma(r,()=>r.createBuffer(),"Unable to create WebGLBuffer");return Ne(r,()=>r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,t)),Ne(r,()=>r.bufferData(r.ELEMENT_ARRAY_BUFFER,e,r.STATIC_DRAW)),t}function e5(){return W().getNumber("WEBGL_VERSION")===2?1:4}function X_(r){return Ma(r,()=>r.createTexture(),"Unable to create WebGLTexture.")}function Y_(r,e){let t=W().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(r<=0||e<=0){let n=`[${r}x${e}]`;throw new Error("Requested texture size "+n+" is invalid.")}if(r>t||e>t){let n=`[${r}x${e}]`,o=`[${t}x${t}]`;throw new Error("Requested texture size "+n+" greater than WebGL maximum on this browser / GPU "+o+".")}}function Z_(r){return Ma(r,()=>r.createFramebuffer(),"Unable to create WebGLFramebuffer.")}function $g(r,e,t,n,o,s,a){let i=r.getAttribLocation(e,t);return i===-1?!1:(Ne(r,()=>r.bindBuffer(r.ARRAY_BUFFER,n)),Ne(r,()=>r.vertexAttribPointer(i,o,r.FLOAT,!1,s,a)),Ne(r,()=>r.enableVertexAttribArray(i)),!0)}function iA(r,e,t){sA(r,t),Ne(r,()=>r.activeTexture(r.TEXTURE0+t)),Ne(r,()=>r.bindTexture(r.TEXTURE_2D,e))}function t5(r,e){sA(r,e),Ne(r,()=>r.activeTexture(r.TEXTURE0+e)),Ne(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function J_(r,e,t){return Ma(r,()=>r.getUniformLocation(e,t),'uniform "'+t+'" not present in program.')}function Q_(r,e,t){return r.getUniformLocation(e,t)}function ek(r,e,t,n){Ne(r,()=>iA(r,e,n)),Ne(r,()=>r.uniform1i(t,n))}function r5(r){Ne(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,null)),Ne(r,()=>r.viewport(0,0,r.canvas.width,r.canvas.height)),Ne(r,()=>r.scissor(0,0,r.canvas.width,r.canvas.height))}function vf(r,e,t){Ne(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,t)),Ne(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0))}function Rg(r,e){Ne(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,e)),Ne(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,null,0))}function dp(r){let e=r.checkFramebufferStatus(r.FRAMEBUFFER);if(e!==r.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+aA(r,e))}function aA(r,e){switch(e){case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case r.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${e}`}}function Ma(r,e,t){let n=Ne(r,()=>e());if(n==null)throw new Error(t);return n}function sA(r,e){let t=r.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,n=e+r.TEXTURE0;if(nt){let o=`[gl.TEXTURE0, gl.TEXTURE${t}]`;throw new Error(`textureUnit must be in ${o}.`)}}function La(r,e=2){return y.sizeFromShape(r.slice(0,r.length-e))}function za(r){if(r.length===0)throw Error("Cannot get rows and columns of an empty shape array.");return[r.length>1?r[r.length-2]:1,r[r.length-1]]}function Cf(r){let e=[1,1,1];return r.length===0||r.length===1&&r[0]===1||(e=[La(r),...za(r)]),e}function tk(r,e=!1){let t=W().getNumber("WEBGL_MAX_TEXTURE_SIZE");e&&(t=t*2,r=r.map((o,s)=>s>=r.length-2?y.nearestLargerEven(r[s]):r[s]),r.length===1&&(r=[2,r[0]])),r.length!==2&&(r=y.squeezeShape(r).newShape);let n=y.sizeFromShape(r);if(r.length<=1&&n<=t)return[1,n];if(r.length===2&&r[0]<=t&&r[1]<=t)return r;if(r.length===3&&r[0]*r[1]<=t&&r[2]<=t)return[r[0]*r[1],r[2]];if(r.length===3&&r[0]<=t&&r[1]*r[2]<=t)return[r[0],r[1]*r[2]];if(r.length===4&&r[0]*r[1]*r[2]<=t&&r[3]<=t)return[r[0]*r[1]*r[2],r[3]];if(r.length===4&&r[0]<=t&&r[1]*r[2]*r[3]<=t)return[r[0],r[1]*r[2]*r[3]];if(e){let o=La(r),s=2,a=2;return r.length&&([s,a]=za(r)),n=o*(s/2)*(a/2),y.sizeToSquarishShape(n).map(i=>i*2)}return y.sizeToSquarishShape(n)}function Fg(r){return r%2==0}function hl(r,e){if(r=r.slice(-2),e=e.slice(-2),y.arraysEqual(r,e)||!r.length||!e.length||r[0]===0||r[1]===0||e[0]===0||e[1]===0)return!0;if(r.length!==e.length){let t=r.slice(-1)[0],n=e.slice(-1)[0];if(t===n||Fg(t)&&Fg(n)&&(r[0]===1||e[0]===1))return!0}return r[1]===e[1]&&Fg(r[0])&&Fg(e[0])}var Og,Pg;function rk(r){if(Og==null){let e=Mn(r);Og=e.getParameter(e.MAX_TEXTURE_SIZE)}return Og}function n5(){Og=null}function o5(){Pg=null}function nk(r){if(Pg==null){let e=Mn(r);Pg=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,Pg)}function ok(r){if(r===0)return 0;let e,t=Mn(r);return kn(t,"EXT_disjoint_timer_query_webgl2")&&r===2?e=2:kn(t,"EXT_disjoint_timer_query")?e=1:e=0,e}function kn(r,e){return r.getExtension(e)!=null}function Mg(r){try{if(Mn(r)!=null)return!0}catch(e){return console.log("Error when getting WebGL context: ",e),!1}return!1}function ik(r){if(r===0)return!1;let e=Mn(r);if(r===1){if(!kn(e,"OES_texture_float"))return!1}else if(!kn(e,"EXT_color_buffer_float"))return!1;return sk(e)}function ak(r){if(r===0)return!1;let e=Mn(r);if(r===1){if(!kn(e,"OES_texture_float")||!kn(e,"WEBGL_color_buffer_float"))return!1}else{if(kn(e,"EXT_color_buffer_float"))return sk(e);let n="EXT_color_buffer_half_float";if(kn(e,n)){let o=e.getExtension(n);return s5(e,o)}return!1}return sk(e)}function sk(r){let e=_f(r),t=r.createTexture();r.bindTexture(r.TEXTURE_2D,t);let n=1,o=1;r.texImage2D(r.TEXTURE_2D,0,e.internalFormatFloat,n,o,0,e.textureFormatFloat,e.textureTypeFloat,null);let s=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,s),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0);let a=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(t),r.deleteFramebuffer(s),a}function s5(r,e){let t=_f(r,e),n=r.createTexture();r.bindTexture(r.TEXTURE_2D,n);let o=1,s=1;r.texImage2D(r.TEXTURE_2D,0,t.internalFormatHalfFloat,o,s,0,t.textureFormatFloat,t.textureTypeHalfFloat,null);let a=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,a),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,n,0);let i=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(n),r.deleteFramebuffer(a),i}function lk(r){return r!==2?!1:Mn(r).fenceSync!=null}function $s(r,e){Array.isArray(r)||(r=[r]),r.forEach(t=>{t!=null&&y.assert(t.dtype!=="complex64",()=>`${e} does not support complex64 tensors in the WebGL backend.`)})}var Be=W();Be.registerFlag("HAS_WEBGL",()=>Be.getNumber("WEBGL_VERSION")>0);Be.registerFlag("WEBGL_VERSION",()=>Mg(2)?2:Mg(1)?1:0);Be.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",()=>!1);Be.registerFlag("WEBGL_BUFFER_SUPPORTED",()=>Be.get("WEBGL_VERSION")===2);Be.registerFlag("WEBGL_CPU_FORWARD",()=>!0);Be.registerFlag("WEBGL_FORCE_F16_TEXTURES",()=>!1);Be.registerFlag("WEBGL_PACK",()=>Be.getBool("HAS_WEBGL"));Be.registerFlag("WEBGL_PACK_NORMALIZATION",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_PACK_CLIP",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_PACK_DEPTHWISECONV",()=>!1);Be.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_PACK_REDUCE",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_LAZILY_UNPACK",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_CONV_IM2COL",()=>Be.getBool("WEBGL_PACK"));Be.registerFlag("WEBGL_MAX_TEXTURE_SIZE",()=>rk(Be.getNumber("WEBGL_VERSION")));Be.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",()=>nk(Be.getNumber("WEBGL_VERSION")));Be.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",()=>{let r=Be.getNumber("WEBGL_VERSION");return r===0?0:ok(r)});Be.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",()=>Be.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!Vc.isMobile());Be.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",()=>ik(Be.getNumber("WEBGL_VERSION")));Be.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",()=>Be.getBool("WEBGL_FORCE_F16_TEXTURES")?!1:Be.getBool("WEBGL_RENDER_FLOAT32_CAPABLE"));Be.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",()=>ak(Be.getNumber("WEBGL_VERSION")));Be.registerFlag("WEBGL_FENCE_API_ENABLED",()=>lk(Be.getNumber("WEBGL_VERSION")));Be.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",()=>Be.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0);Be.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",()=>-1,r=>{if(r<0&&r!==-1)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${r}.`)});function Pt(){let r,e,t,n,o,s,a,i,l,u;return W().getNumber("WEBGL_VERSION")===2?(r="#version 300 es",e="in",t="out",n="in",o="texture",s="outputColor",a="out vec4 outputColor;",i=` - bool isnan_custom(float val) { - return (val > 0.0 || val < 0.0) ? false : val != 0.0; - } - - bvec4 isnan_custom(vec4 val) { - return bvec4(isnan_custom(val.x), - isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w)); - } - - #define isnan(value) isnan_custom(value) - `,l="",u=` - #define round(value) newRound(value) - int newRound(float value) { - return int(floor(value + 0.5)); - } - - ivec4 newRound(vec4 value) { - return ivec4(floor(value + vec4(0.5))); - } - `):(r="",e="attribute",t="varying",n="varying",o="texture2D",s="gl_FragColor",a="",i=` - #define isnan(value) isnan_custom(value) - bool isnan_custom(float val) { - return (val > 0. || val < 1. || val == 0.) ? false : true; - } - bvec4 isnan_custom(vec4 val) { - return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w)); - } - `,l=` - uniform float INFINITY; - - bool isinf(float val) { - return abs(val) == INFINITY; - } - bvec4 isinf(vec4 val) { - return equal(abs(val), vec4(INFINITY)); - } - `,u=` - int round(float value) { - return int(floor(value + 0.5)); - } - - ivec4 round(vec4 value) { - return ivec4(floor(value + vec4(0.5))); - } - `),{version:r,attribute:e,varyingVs:t,varyingFs:n,texture2D:o,output:s,defineOutput:a,defineSpecialNaN:i,defineSpecialInf:l,defineRound:u}}function Rs(r,e,t="index"){let n=y.computeStrides(e);return n.map((o,s)=>{let a=`int ${r[s]} = ${t} / ${o}`,i=s===n.length-1?`int ${r[s+1]} = ${t} - ${r[s]} * ${o}`:`index -= ${r[s]} * ${o}`;return`${a}; ${i};`}).join("")}function hp(r){let e=y.computeStrides(r).map(t=>t.toString());return` - int getFlatIndex(ivec3 coords) { - return coords.x * ${e[0]} + coords.y * ${e[1]} + coords.z; - } -`}var Lg=` - const float FLOAT_MAX = 1.70141184e38; - const float FLOAT_MIN = 1.17549435e-38; - - lowp vec4 encode_float(highp float v) { - if (isnan(v)) { - return vec4(255, 255, 255, 255); - } - - highp float av = abs(v); - - if(av < FLOAT_MIN) { - return vec4(0.0, 0.0, 0.0, 0.0); - } else if(v > FLOAT_MAX) { - return vec4(0.0, 0.0, 128.0, 127.0) / 255.0; - } else if(v < -FLOAT_MAX) { - return vec4(0.0, 0.0, 128.0, 255.0) / 255.0; - } - - highp vec4 c = vec4(0,0,0,0); - - highp float e = floor(log2(av)); - highp float m = exp2(fract(log2(av))) - 1.0; - - c[2] = floor(128.0 * m); - m -= c[2] / 128.0; - c[1] = floor(32768.0 * m); - m -= c[1] / 32768.0; - c[0] = floor(8388608.0 * m); - - highp float ebias = e + 127.0; - c[3] = floor(ebias / 2.0); - ebias -= c[3] * 2.0; - c[2] += floor(ebias) * 128.0; - - c[3] += 128.0 * step(0.0, -v); - - return c / 255.0; - } -`;var uk=class{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=fl.DENSE;let t=dl(e),n=Pt();this.outputShape=e,this.userCode=` - ivec3 outCoordsFromFlatIndex(int index) { - ${Rs(["r","c","d"],e)} - return ivec3(r, c, d); - } - - void main() { - ivec2 resTexRC = ivec2(resultUV.yx * - vec2(${t[0]}, ${t[1]})); - int index = 4 * (resTexRC.x * ${t[1]} + resTexRC.y); - - vec4 result = vec4(0.); - - for (int i=0; i<4; i++) { - int flatIndex = index + i; - ivec3 rc = outCoordsFromFlatIndex(flatIndex); - result[i] = getA(rc.x, rc.y, rc.z); - } - - ${n.output} = result; - } - `}};var ck=class{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=fl.DENSE;let t=dl(e),n=Pt();this.outputShape=e,this.userCode=` - ivec3 outCoordsFromFlatIndex(int index) { - ${Rs(["r","c","d"],e)} - return ivec3(r, c, d); - } - - void main() { - ivec2 resTexRC = ivec2(resultUV.yx * - vec2(${t[0]}, ${t[1]})); - int index = 4 * (resTexRC.x * ${t[1]} + resTexRC.y); - - vec4 result = vec4(0.); - - for (int i=0; i<4; i++) { - int flatIndex = index + i; - ivec3 rc = outCoordsFromFlatIndex(flatIndex); - result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z)); - } - - ${n.output} = result; - } - `}};var pk=class{constructor(e){this.variableNames=["A"],this.outTexUsage=Ar.DOWNLOAD;let t=Pt();this.outputShape=e,this.userCode=` - ${Lg} - - void main() { - float x = getAAtOutCoords(); - ${t.output} = encode_float(x); - } - `}};var mk=class{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=Ar.DOWNLOAD;let t=Pt();this.outputShape=e,this.userCode=` - ${Lg} - - void main() { - ivec3 coords = getOutputCoords(); - float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z)); - ${t.output} = encode_float(x); - } - `}};var fk=class{constructor(e,t,n=!1){this.variableNames=["A"];let o=Pt(),[s,a]=t;this.outputShape=e;let i="result";n&&(i="floor(result * 255. + 0.5)"),this.userCode=` - ${hp(e)} - - void main() { - ivec3 coords = getOutputCoords(); - - int flatIndex = getFlatIndex(coords); - int offset = imod(flatIndex, 4); - - flatIndex = idiv(flatIndex, 4, 1.); - - int r = flatIndex / ${a}; - int c = imod(flatIndex, ${a}); - vec2 uv = (vec2(c, r) + halfCR) / vec2(${a}.0, ${s}.0); - vec4 values = ${o.texture2D}(A, uv); - - float result; - - if(offset == 0) { - result = values[0]; - } else if(offset == 1) { - result = values[1]; - } else if(offset == 2) { - result = values[2]; - } else { - result = values[3]; - } - - ${o.output} = vec4(${i}, 0., 0., 0.); - } - `}};var dk=class{constructor(e,t,n=!1){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;let o=Pt(),[s,a]=t;this.outputShape=e;let i="",l="result";n&&(l="floor(result * 255. + 0.5)");for(let u=0;u<=1;u++)for(let c=0;c<=1;c++){let p=u*2+c;i+=` - localCoords = coords; - if(localCoords[2] + ${c} < ${e[2]}) { - localCoords[2] += ${c}; - if(localCoords[1] + ${u} < ${e[1]}) { - localCoords[1] += ${u}; - - flatIndex = getFlatIndex(localCoords); - offset = imod(flatIndex, 4); - - flatIndex = idiv(flatIndex, 4, 1.); - - r = flatIndex / ${a}; - c = imod(flatIndex, ${a}); - uv = (vec2(c, r) + halfCR) / vec2(${a}.0, ${s}.0); - values = ${o.texture2D}(A, uv); - - if(offset == 0) { - result[${p}] = values[0]; - } else if(offset == 1) { - result[${p}] = values[1]; - } else if(offset == 2) { - result[${p}] = values[2]; - } else { - result[${p}] = values[3]; - } - } - } - `}this.userCode=` - ${hp(e)} - - void main() { - ivec3 coords = getOutputCoords(); - - vec4 result = vec4(0.); - int flatIndex, r, c, offset; - ivec3 localCoords; - vec2 uv; - vec4 values; - - ${i} - - ${o.output} = ${l}; - } - `}};var lA={};Ye(lA,{bindVertexProgramAttributeStreams:()=>vk,createBufferFromOutputTexture:()=>Nk,createFloat16MatrixTexture:()=>bk,createFloat16PackedMatrixTexture:()=>kk,createFloat32MatrixTexture:()=>yk,createIndexBuffer:()=>xk,createPackedMatrixTexture:()=>_k,createUnsignedBytesMatrixTexture:()=>wk,createVertexBuffer:()=>gk,createVertexShader:()=>hk,downloadByteEncodedFloatMatrixFromOutputTexture:()=>Tk,downloadFloat32MatrixFromBuffer:()=>Sk,downloadMatrixFromPackedOutputTexture:()=>Ak,downloadPackedMatrixFromBuffer:()=>Ek,getInternalFormatForFloat16MatrixTexture:()=>Bg,getInternalFormatForFloat16PackedMatrixTexture:()=>jg,getInternalFormatForFloat32MatrixTexture:()=>zg,getInternalFormatForPackedMatrixTexture:()=>Gg,getInternalFormatForUnsignedBytesMatrixTexture:()=>Vg,uploadDenseMatrixToTexture:()=>Ck,uploadPixelDataToTexture:()=>Ik});function hk(r){let e=Pt(),t=`${e.version} - precision highp float; - ${e.attribute} vec3 clipSpacePos; - ${e.attribute} vec2 uv; - ${e.varyingVs} vec2 resultUV; - - void main() { - gl_Position = vec4(clipSpacePos, 1); - resultUV = uv; - }`;return j_(r,t)}function gk(r){let e=new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]);return H_(r,e)}function xk(r){let e=new Uint16Array([0,1,2,2,1,3]);return K_(r,e)}function If(r,e,t,n,o,s){Y_(e,t);let a=X_(r),i=r.TEXTURE_2D;return Ne(r,()=>r.bindTexture(i,a)),Ne(r,()=>r.texParameteri(i,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE)),Ne(r,()=>r.texParameteri(i,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE)),Ne(r,()=>r.texParameteri(i,r.TEXTURE_MIN_FILTER,r.NEAREST)),Ne(r,()=>r.texParameteri(i,r.TEXTURE_MAG_FILTER,r.NEAREST)),Ne(r,()=>r.texImage2D(i,0,n,e,t,0,o,s,null)),Ne(r,()=>r.bindTexture(r.TEXTURE_2D,null)),a}function zg(r){return r.internalFormatFloat}function yk(r,e,t,n){let[o,s]=Yu(e,t);return If(r,o,s,zg(n),n.textureFormatFloat,r.FLOAT)}function Bg(r){return r.internalFormatHalfFloat}function bk(r,e,t,n){let[o,s]=Yu(e,t);return If(r,o,s,Bg(n),n.textureFormatFloat,n.textureTypeHalfFloat)}function Vg(r){return r.downloadTextureFormat}function wk(r,e,t,n){let[o,s]=Yu(e,t);return If(r,o,s,Vg(n),r.RGBA,r.UNSIGNED_BYTE)}function Gg(r){return r.internalFormatPackedFloat}function _k(r,e,t,n){let[o,s]=ji(e,t);return If(r,o,s,Gg(n),r.RGBA,r.FLOAT)}function jg(r){return r.internalFormatPackedHalfFloat}function kk(r,e,t,n){let[o,s]=ji(e,t);return If(r,o,s,jg(n),r.RGBA,n.textureTypeHalfFloat)}function vk(r,e,t){let n=0,o=3*4,s=3*4+2*4;return Ne(r,()=>r.bindBuffer(r.ARRAY_BUFFER,t)),$g(r,e,"clipSpacePos",t,3,s,n)&&$g(r,e,"uv",t,2,s,o)}function Ck(r,e,t,n,o,s){Ne(r,()=>r.bindTexture(r.TEXTURE_2D,e));let a,i,l;o instanceof Uint8Array?(a=new Uint8Array(t*n*4),i=r.UNSIGNED_BYTE,l=r.RGBA):(a=new Float32Array(t*n*4),i=r.FLOAT,l=s.internalFormatPackedFloat),a.set(o),Ne(r,()=>r.texImage2D(r.TEXTURE_2D,0,l,t,n,0,r.RGBA,i,a)),Ne(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function Ik(r,e,t){Ne(r,()=>r.bindTexture(r.TEXTURE_2D,e)),t.data instanceof Uint8Array?Ne(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,t.width,t.height,0,r.RGBA,r.UNSIGNED_BYTE,t.data)):Ne(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t)),Ne(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function Nk(r,e,t,n){let o=r.createBuffer();Ne(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,o));let i=4*4*e*t;return Ne(r,()=>r.bufferData(r.PIXEL_PACK_BUFFER,i,r.STREAM_READ)),Ne(r,()=>r.readPixels(0,0,t,e,r.RGBA,r.FLOAT,0)),Ne(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,null)),o}function Sk(r,e,t){let n=r,o=new Float32Array(t);return n.bindBuffer(n.PIXEL_PACK_BUFFER,e),n.getBufferSubData(n.PIXEL_PACK_BUFFER,0,o),n.bindBuffer(n.PIXEL_PACK_BUFFER,null),o}function Tk(r,e,t,n){let[o,s]=Yu(e,t),a=4,i=new Uint8Array(tA(e*t,a));return Ne(r,()=>r.readPixels(0,0,o,s,n.downloadTextureFormat,r.UNSIGNED_BYTE,i)),new Float32Array(i.buffer)}function Ek(r,e,t,n,o,s,a,i){let l=r,u=new Float32Array(rA(s,a));return l.bindBuffer(l.PIXEL_PACK_BUFFER,e),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}function Ak(r,e,t){let n=new Float32Array(e*t*4);return Ne(r,()=>r.readPixels(0,0,t,e,r.RGBA,r.FLOAT,n)),n}var Wg=class{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.vertexAttrsAreBound=!1,this.itemsToPoll=[];let t=W().getNumber("WEBGL_VERSION");e!=null?(this.gl=e,V_(t,e)):this.gl=Mn(t);let n="WEBGL_color_buffer_float",o="EXT_color_buffer_half_float";if(W().getNumber("WEBGL_VERSION")===1){let s="OES_texture_float",a="OES_texture_half_float";if(this.textureFloatExtension=fp(this.gl,s),kn(this.gl,a))this.textureHalfFloatExtension=fp(this.gl,a);else if(W().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),kn(this.gl,o))this.colorBufferHalfFloatExtension=fp(this.gl,o);else if(W().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",kn(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else if(kn(this.gl,o))this.colorBufferHalfFloatExtension=this.gl.getExtension(o);else throw new Error("GL context does not support color renderable floats");this.vertexBuffer=gk(this.gl),this.indexBuffer=xk(this.gl),this.framebuffer=Z_(this.gl),this.textureConfig=_f(this.gl,this.textureHalfFloatExtension)}get debug(){return W().getBool("DEBUG")}dispose(){if(this.disposed)return;this.program!=null&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),this.outputTexture!=null&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");let e=this.gl;Ne(e,()=>e.finish()),Ne(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Ne(e,()=>e.deleteFramebuffer(this.framebuffer)),Ne(e,()=>e.bindBuffer(e.ARRAY_BUFFER,null)),Ne(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null)),Ne(e,()=>e.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),yk(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),bk(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),wk(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),Ik(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,n,o){this.throwIfDisposed(),Ck(this.gl,e,t,n,o,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),kk(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),_k(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(Rg(this.gl,this.framebuffer),this.outputTexture=null),Ne(this.gl,()=>this.gl.deleteTexture(e))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,n){return this.downloadMatrixDriver(e,()=>Tk(this.gl,t,n,this.textureConfig))}downloadPackedMatrixFromBuffer(e,t,n,o,s,a){return Ek(this.gl,e,t,n,o,s,a,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return Sk(this.gl,e,t)}createBufferFromTexture(e,t,n){this.bindTextureToFrameBuffer(e);let o=Nk(this.gl,t,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),o}createAndWaitForFence(){let e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,n;if(W().getBool("WEBGL_FENCE_API_ENABLED")){let o=e,s=o.fenceSync(o.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),n=()=>{let a=o.clientWaitSync(s,0,0);return a===o.ALREADY_SIGNALED||a===o.CONDITION_SATISFIED},t=s}else W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(t=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(t,W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:t,isFencePassed:n}}downloadMatrixFromPackedTexture(e,t,n){return this.downloadMatrixDriver(e,()=>Ak(this.gl,t,n))}createProgram(e){this.throwIfDisposed();let t=this.gl,n=W_(t,e),o=hk(t),s=U_(t);return Ne(t,()=>t.attachShader(s,o)),Ne(t,()=>t.attachShader(s,n)),q_(t,s),this.debug&&kf(t,s),this.vertexAttrsAreBound||(this.setProgram(s),this.vertexAttrsAreBound=vk(t,this.program,this.vertexBuffer)),s}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),e!=null&&Ne(this.gl,()=>this.gl.deleteProgram(e))}setProgram(e){this.throwIfDisposed(),this.program=e,this.program!=null&&this.debug&&kf(this.gl,this.program),Ne(this.gl,()=>this.gl.useProgram(e))}getUniformLocation(e,t,n=!0){return this.throwIfDisposed(),n?J_(this.gl,e,t):Q_(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),Ne(this.gl,()=>this.gl.getAttribLocation(e,t))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,n){this.throwIfDisposed(),this.throwIfNoProgram(),ek(this.gl,e,t,n)}setOutputMatrixTexture(e,t,n){this.setOutputMatrixTextureDriver(e,n,t)}setOutputPackedMatrixTexture(e,t,n){this.throwIfDisposed();let[o,s]=ji(t,n);this.setOutputMatrixTextureDriver(e,o,s)}setOutputMatrixWriteRegion(e,t,n,o){this.setOutputMatrixWriteRegionDriver(n,e,o,t)}setOutputPackedMatrixWriteRegion(e,t,n,o){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){this.program!=null&&kf(this.gl,this.program),dp(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();let e=this.gl;this.debug&&this.debugValidate(),Ne(e,()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),Ne(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return this.disjointQueryTimerExtension==null&&(this.disjointQueryTimerExtension=fp(this.gl,W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")===2?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")===2){let n=this.gl,o=this.getQueryTimerExtensionWebGL2(),s=n.createQuery();return n.beginQuery(o.TIME_ELAPSED_EXT,s),s}let e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")===2){let t=this.gl,n=this.getQueryTimerExtensionWebGL2();t.endQuery(n.TIME_ELAPSED_EXT);return}let e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await y.repeatedTry(()=>this.disposed||this.isQueryAvailable(e,W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))),this.getQueryTime(e,W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(e,t){if(t===0)return null;if(t===2){let n=this.gl;return n.getQueryParameter(e,n.QUERY_RESULT)/1e6}else{let n=this.getQueryTimerExtensionWebGL1();return n.getQueryObjectEXT(e,n.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(t===0)return!0;if(t===2){let n=this.gl,o=this.getQueryTimerExtensionWebGL2(),s=n.getQueryParameter(e,n.QUERY_RESULT_AVAILABLE);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(o.GPU_DISJOINT_EXT)),s&&!this.disjoint}else{let n=this.getQueryTimerExtensionWebGL1(),o=n.getQueryObjectEXT(e,n.QUERY_RESULT_AVAILABLE_EXT);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),o&&!this.disjoint}}pollFence(e){return new Promise(t=>{this.addItemToPoll(()=>e.isFencePassed(),()=>t())})}pollItems(){let e=i5(this.itemsToPoll.map(t=>t.isDoneFn));for(let t=0;t<=e;++t){let{resolveFn:n}=this.itemsToPoll[t];n()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),!(this.itemsToPoll.length>1)&&y.repeatedTry(()=>(this.pollItems(),this.itemsToPoll.length===0))}bindTextureToFrameBuffer(e){this.throwIfDisposed(),vf(this.gl,e,this.framebuffer),this.debug&&dp(this.gl)}unbindTextureToFrameBuffer(){this.outputTexture!=null?(vf(this.gl,this.outputTexture,this.framebuffer),this.debug&&dp(this.gl)):Rg(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);let n=t();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(e,t,n){this.throwIfDisposed();let o=this.gl;vf(o,e,this.framebuffer),this.debug&&dp(o),this.outputTexture=e,Ne(o,()=>o.viewport(0,0,t,n)),Ne(o,()=>o.scissor(0,0,t,n))}setOutputMatrixWriteRegionDriver(e,t,n,o){this.throwIfDisposed(),Ne(this.gl,()=>this.gl.scissor(e,t,n,o))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(this.program==null)throw new Error("No GPU program is currently set.")}};function i5(r){let e=0;for(;e{let h=y.sizeFromShape(d.shapeInfo.logicalShape);d.shapeInfo.isUniform?o.push(`uniform float ${d.name}${h>1?`[${h}]`:""};`):(o.push(`uniform sampler2D ${d.name};`),o.push(`uniform int offset${d.name};`))});let s=o.join(` -`),a=r.map(d=>a5(d,e,n)).join(` -`),i=e.texShape,l=Pt(),u=c5(l),c,p,m=f5(l);return e.isPacked?(c=l5(e.logicalShape,i),p=m5(l)):(c=u5(e.logicalShape,i),p=p5(l)),n&&(m+=d5),[m,u,p,s,c,a,t].join(` -`)}function gp(r){let e=r.shapeInfo.logicalShape;switch(e.length){case 0:return h5(r);case 1:return g5(r);case 2:return x5(r);case 3:return y5(r);case 4:return b5(r);case 5:return w5(r);case 6:return _5(r);default:throw new Error(`${e.length}-D input sampling is not yet supported`)}}function pA(r){switch(r.shapeInfo.logicalShape.length){case 0:return k5(r);case 1:return v5(r);case 2:return C5(r);case 3:return I5(r);default:return N5(r)}}function a5(r,e,t=!1){let n="";t?n+=pA(r):n+=gp(r);let o=r.shapeInfo.logicalShape,s=e.logicalShape;return o.length<=s.length&&(t?n+=S5(r,e):n+=T5(r,e)),n}function l5(r,e){switch(r.length){case 0:return mA();case 1:return E5(r,e);case 2:return $5(r,e);case 3:return A5(r,e);default:return D5(r,e)}}function u5(r,e){switch(r.length){case 0:return mA();case 1:return R5(r,e);case 2:return L5(r,e);case 3:return F5(r,e);case 4:return O5(r,e);case 5:return P5(r,e);case 6:return M5(r,e);default:throw new Error(`${r.length}-D output sampling is not yet supported`)}}function c5(r){return` - float sampleTexture(sampler2D textureSampler, vec2 uv) { - return ${r.texture2D}(textureSampler, uv).r; - } - `}function p5(r){return` - void setOutput(float val) { - ${r.output} = vec4(val, 0, 0, 0); - } - `}function m5(r){return` - void setOutput(vec4 val) { - ${r.output} = val; - } - `}function f5(r){return`${r.version} - precision highp float; - precision highp int; - precision highp sampler2D; - ${r.varyingFs} vec2 resultUV; - ${r.defineOutput} - const vec2 halfCR = vec2(0.5, 0.5); - - struct ivec5 - { - int x; - int y; - int z; - int w; - int u; - }; - - struct ivec6 - { - int x; - int y; - int z; - int w; - int u; - int v; - }; - - uniform float NAN; - ${r.defineSpecialNaN} - ${r.defineSpecialInf} - ${r.defineRound} - - int imod(int x, int y) { - return x - y * (x / y); - } - - int idiv(int a, int b, float sign) { - int res = a / b; - int mod = imod(a, b); - if (sign < 0. && mod != 0) { - res -= 1; - } - return res; - } - - //Based on the work of Dave Hoskins - //https://www.shadertoy.com/view/4djSRW - #define HASHSCALE1 443.8975 - float random(float seed){ - vec2 p = resultUV * seed; - vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1); - p3 += dot(p3, p3.yzx + 19.19); - return fract((p3.x + p3.y) * p3.z); - } - - ${z5} - ${B5} - ${V5} - `}var z5=` -vec2 uvFromFlat(int texNumR, int texNumC, int index) { - int texR = index / texNumC; - int texC = index - texR * texNumC; - return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR); -} -vec2 packedUVfrom1D(int texNumR, int texNumC, int index) { - int texelIndex = index / 2; - int texR = texelIndex / texNumC; - int texC = texelIndex - texR * texNumC; - return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR); -} -`,B5=` -vec2 packedUVfrom2D(int texelsInLogicalRow, int texNumR, - int texNumC, int row, int col) { - int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2); - int texR = texelIndex / texNumC; - int texC = texelIndex - texR * texNumC; - return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR); -} -`,V5=` -vec2 packedUVfrom3D(int texNumR, int texNumC, - int texelsInBatch, int texelsInLogicalRow, int b, - int row, int col) { - int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2); - int texR = index / texNumC; - int texC = index - texR * texNumC; - return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR); -} -`,d5=` - float getChannel(vec4 frag, vec2 innerDims) { - vec2 modCoord = mod(innerDims, 2.); - return modCoord.x == 0. ? - (modCoord.y == 0. ? frag.r : frag.g) : - (modCoord.y == 0. ? frag.b : frag.a); - } - float getChannel(vec4 frag, int dim) { - float modCoord = mod(float(dim), 2.); - return modCoord == 0. ? frag.r : frag.g; - } -`;function mA(){return` - int getOutputCoords() { - return 0; - } - `}function E5(r,e){let t=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)];return t[0]===1?` - int getOutputCoords() { - return 2 * int(resultUV.x * ${t[1]}.0); - } - `:t[1]===1?` - int getOutputCoords() { - return 2 * int(resultUV.y * ${t[0]}.0); - } - `:` - int getOutputCoords() { - ivec2 resTexRC = ivec2(resultUV.yx * - vec2(${t[0]}, ${t[1]})); - return 2 * (resTexRC.x * ${t[1]} + resTexRC.y); - } - `}function R5(r,e){return e[0]===1?` - int getOutputCoords() { - return int(resultUV.x * ${e[1]}.0); - } - `:e[1]===1?` - int getOutputCoords() { - return int(resultUV.y * ${e[0]}.0); - } - `:` - int getOutputCoords() { - ivec2 resTexRC = ivec2(resultUV.yx * - vec2(${e[0]}, ${e[1]})); - return resTexRC.x * ${e[1]} + resTexRC.y; - } - `}function A5(r,e){let t=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],n=Math.ceil(r[2]/2),o=n*Math.ceil(r[1]/2);return` - ivec3 getOutputCoords() { - ivec2 resTexRC = ivec2(resultUV.yx * - vec2(${t[0]}, ${t[1]})); - int index = resTexRC.x * ${t[1]} + resTexRC.y; - - int b = index / ${o}; - index -= b * ${o}; - - int r = 2 * (index / ${n}); - int c = imod(index, ${n}) * 2; - - return ivec3(b, r, c); - } - `}function F5(r,e){let t=Rs(["r","c","d"],r);return` - ivec3 getOutputCoords() { - ivec2 resTexRC = ivec2(resultUV.yx * - vec2(${e[0]}, ${e[1]})); - int index = resTexRC.x * ${e[1]} + resTexRC.y; - ${t} - return ivec3(r, c, d); - } - `}function D5(r,e){let t=[Math.ceil(e[0]/2),Math.ceil(e[1]/2)],n=Math.ceil(r[r.length-1]/2),o=n*Math.ceil(r[r.length-2]/2),s=o,a="",i="b, r, c";for(let l=2;l=1?c="coords = 0;":c=i.map(b=>`coords.${p[b+u]} = 0;`).join(` -`);let m="";a<2&&s>0?m="coords":m=r.shapeInfo.logicalShape.map((b,w)=>`coords.${p[w+u]}`).join(", ");let f="return outputValue;",h=y.sizeFromShape(r.shapeInfo.logicalShape)===1,x=y.sizeFromShape(e.logicalShape)===1;if(s===1&&!h&&!x)f=` - return vec4(outputValue.xy, outputValue.xy); - `;else if(h&&!x)a===1?f=` - return vec4(outputValue.x, outputValue.x, 0., 0.); - `:f=` - return vec4(outputValue.x); - `;else if(i.length){let b=s-2,w=s-1;i.indexOf(b)>-1&&i.indexOf(w)>-1?f="return vec4(outputValue.x);":i.indexOf(b)>-1?f="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":i.indexOf(w)>-1&&(f="return vec4(outputValue.xx, outputValue.zz);")}return` - vec4 ${o}() { - ${l} coords = getOutputCoords(); - ${c} - vec4 outputValue = get${n}(${m}); - ${f} - } - `}function T5(r,e){let t=r.name,n=t.charAt(0).toUpperCase()+t.slice(1),o="get"+n+"AtOutCoords",s=e.texShape,a=r.shapeInfo.texShape,i=r.shapeInfo.logicalShape.length,l=e.logicalShape.length;if(!r.shapeInfo.isUniform&&i===l&&r.shapeInfo.flatOffset==null&&y.arraysEqual(a,s))return` - float ${o}() { - return sampleTexture(${t}, resultUV); - } - `;let u=Le(l),c=uA(r.shapeInfo.logicalShape,e.logicalShape),p=l-i,m,f=["x","y","z","w","u","v"];i===0?m="":l<2&&c.length>=1?m="coords = 0;":m=c.map(h=>`coords.${f[h+p]} = 0;`).join(` -`);let d="";return l<2&&i>0?d="coords":d=r.shapeInfo.logicalShape.map((h,g)=>`coords.${f[g+p]}`).join(", "),` - float ${o}() { - ${u} coords = getOutputCoords(); - ${m} - return get${n}(${d}); - } - `}function Le(r){if(r<=1)return"int";if(r===2)return"ivec2";if(r===3)return"ivec3";if(r===4)return"ivec4";if(r===5)return"ivec5";if(r===6)return"ivec6";throw Error(`GPU for rank ${r} is not yet supported`)}function yp(r,e){let t=JSON.parse(JSON.stringify(r));return t.shapeInfo.logicalShape=e,t}function bp(r,e){return e.map(t=>r[t]).join(", ")}function fA(r,e,t,n){let o=e.userCode,s=t.map((f,d)=>{let h={logicalShape:f.shape,texShape:f.isUniform?null:f.texData.texShape,isUniform:f.isUniform,isPacked:f.isUniform?!1:f.texData.isPacked,flatOffset:null};return f.texData!=null&&f.texData.slice!=null&&f.texData.slice.flatOffset>0&&(h.flatOffset=f.texData.slice.flatOffset),{name:e.variableNames[d],shapeInfo:h}}),a=s.map(f=>f.shapeInfo),i={logicalShape:n.shape,texShape:n.texData.texShape,isUniform:!1,isPacked:n.texData.isPacked,flatOffset:null},l=cA(s,i,o,e.packedInputs),u=r.createProgram(l),c=null,p=r.getUniformLocation(u,"NAN",!1);W().getNumber("WEBGL_VERSION")===1&&(c=r.getUniformLocation(u,"INFINITY",!1));let m={};for(let f=0;f{let o=t.logicalShape,s=e[n],a=s.shape;if(!y.arraysEqual(o,a))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${o} and ${a} must match`);if(t.isUniform&&s.isUniform)return;let i=t.texShape,l=s.isUniform?null:s.texData.texShape;if(!y.arraysEqual(i,l))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${i} and ${l} must match`)})}function hA(r,e,t,n,o){dA(e.inShapeInfos,t),dA([e.outShapeInfo],[n]);let s=n.texData.texture,a=n.texData.texShape;n.texData.isPacked?r.setOutputPackedMatrixTexture(s,a[0],a[1]):r.setOutputMatrixTexture(s,a[0],a[1]),r.setProgram(e.webGLProgram),W().getNumber("WEBGL_VERSION")===1&&e.infLoc!==null&&r.gl.uniform1f(e.infLoc,Infinity),e.nanLoc!==null&&r.gl.uniform1f(e.nanLoc,NaN),t.forEach((i,l)=>{let u=e.program.variableNames[l],c=e.uniformLocations[u],p=e.uniformLocations[`offset${u}`];if(c!=null){if(i.isUniform){if(y.sizeFromShape(i.shape)<2)r.gl.uniform1f(c,i.uniformValues[0]);else{let m=i.uniformValues;m instanceof Float32Array||(m=new Float32Array(m)),r.gl.uniform1fv(c,m)}return}i.texData.slice!=null&&p!=null&&r.gl.uniform1i(p,i.texData.slice.flatOffset),r.setInputMatrixTexture(i.texData.texture,c,l)}}),o!=null&&o(r,e.webGLProgram),r.executeProgram()}function gA(r,e,t){let n="";e.concat(t).forEach(a=>{let i=a.texData!=null&&a.texData.slice!=null&&a.texData.slice.flatOffset>0,l=a.isUniform?"uniform":a.texData.texShape;n+=`${a.shape}_${l}_${i}`});let o=r.userCode,s=r.constructor.name;return s+="_"+n+"_"+o,s}var{addImpl:xA,bincountImpl:Ug,bincountReduceImpl:yA,ceilImpl:bA,concatImpl:wA,expImpl:_A,expm1Impl:kA,floorImpl:vA,gatherV2Impl:CA,greaterImpl:IA,lessImpl:NA,linSpaceImpl:SA,logImpl:TA,maxImpl:EA,maximumImpl:AA,minimumImpl:DA,multiplyImpl:$A,negImpl:RA,prodImpl:FA,rangeImpl:OA,rsqrtImpl:PA,simpleAbsImpl:qg,sliceImpl:MA,stridedSliceImpl:LA,subImpl:zA,tileImpl:BA,topKImpl:VA,transposeImpl:wp,uniqueImpl:GA}=Ig;function Dk(r,e){return["x","y","z","w","u","v"].slice(0,e).map(t=>`${r}.${t}`)}function Wt(r,e){return e===1?[r]:Dk(r,e)}function jA(r,e){if(r===1)return"rc";let t="";for(let n=0;n ${e[0]}`;let n="";for(let o=r-2;o= ${e[o]}`,o= ${e}; - bool rEdge = rp1 >= ${t}; - `}function W5(r,e){let t=r.length,n=U5(t,e);return t===1?`getA(rc), - rc + 1 >= ${r[0]} ? 0. : getA(rc + 1), - 0, 0`:`getA(${n[0]}), - cEdge ? 0. : getA(${n[1]}), - rEdge ? 0. : getA(${n[2]}), - rEdge || cEdge ? 0. : getA(${n[3]})`}var Nf=class{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e;let n="";for(let o=0;o<4;o++){let s="thisRC = rc;";o%2==1&&(s+="thisRC.z += 1;"),o>1&&(s+="thisRC.y += 1;"),n+=` - ${s} - ${o>0?"if(thisRC.y < rows && thisRC.z < cols){":""} - int flatIndex = getFlatIndex(thisRC); - - ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex); - vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z)); - - result[${o}] = - getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims); - ${o>0?"}":""} - `}this.userCode=` - ${q5(t)} - ${hp(e)} - - void main() { - ivec3 rc = getOutputCoords(); - - vec4 result = vec4(0.); - - ivec3 thisRC; - int rows = ${e[1]}; - int cols = ${e[2]}; - - ${n} - - setOutput(result); - } - `}};function q5(r){return` - ivec3 inputCoordsFromReshapedOutCoords(int index) { - ${Rs(["r","c","d"],r)} - return ivec3(r, c, d); - } - `}var Rk=class{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(e,t,n){let o=UA(t,n),s=qA(e,o,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);let a=WA(e,o,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=a,this.log();let l=this.freeTextures[s].shift();return this.usedTextures[s].push(l),l}let i;return o===wr.PACKED_2X2_FLOAT32?i=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):o===wr.PACKED_2X2_FLOAT16?i=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):o===wr.UNPACKED_FLOAT32?i=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):o===wr.UNPACKED_FLOAT16?i=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):o===wr.PACKED_4X1_UNSIGNED_BYTE&&(i=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[s].push(i),this.numUsedTextures++,this._numBytesAllocated+=a,this.log(),i}releaseTexture(e,t,n,o){if(this.freeTextures==null)return;let s=UA(n,o),a=qA(t,s,o);a in this.freeTextures||(this.freeTextures[a]=[]);let i=WA(t,s,this.gpgpu.gl,this.gpgpu.textureConfig,o),l=W().get("WEBGL_DELETE_TEXTURE_THRESHOLD");l!==-1&&this._numBytesAllocated>l?(this.gpgpu.deleteMatrixTexture(e),this._numBytesAllocated-=i):(this.freeTextures[a].push(e),this.numFreeTextures++,this._numBytesFree+=i),this.numUsedTextures--;let u=this.usedTextures[a],c=u.indexOf(e);if(c<0)throw new Error("Cannot release a texture that was never provided by this texture manager");u.splice(c,1),this.log()}log(){if(!this.logEnabled)return;let e=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);let t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(this.freeTextures!=null){for(let e in this.freeTextures)this.freeTextures[e].forEach(t=>{this.gpgpu.deleteMatrixTexture(t)});for(let e in this.usedTextures)this.usedTextures[e].forEach(t=>{this.gpgpu.deleteMatrixTexture(t)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}};function H5(r,e){let t=r;if(e===t.R32F)return 4;if(e===t.R16F)return 2;if(e===t.RGBA32F)return 16;if(e===r.RGBA)return 16;if(e===t.RGBA16F)return 8;throw new Error(`Unknown internal format ${e}`)}function WA(r,e,t,n,o){let s=K5(e,n),a;if(o){let[l,u]=ji(r[0],r[1]);a=l*u}else{let[l,u]=Yu(r[0],r[1]);a=l*u}let i=H5(t,s);return a*i}function K5(r,e){switch(r){case wr.PACKED_2X2_FLOAT32:return Gg(e);case wr.PACKED_2X2_FLOAT16:return jg(e);case wr.UNPACKED_FLOAT32:return zg(e);case wr.UNPACKED_FLOAT16:return Bg(e);case wr.PACKED_4X1_UNSIGNED_BYTE:return Vg(e);default:throw new Error(`Unknown physical texture type ${r}`)}}function X5(r){return W().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?r?wr.PACKED_2X2_FLOAT32:wr.UNPACKED_FLOAT32:r?wr.PACKED_2X2_FLOAT16:wr.UNPACKED_FLOAT16}function UA(r,e){if(r===Ar.UPLOAD)return wr.PACKED_2X2_FLOAT32;if(r===Ar.RENDER||r==null)return X5(e);if(r===Ar.DOWNLOAD||r===Ar.PIXELS)return wr.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${r}`)}function qA(r,e,t){return`${r[0]}_${r[1]}_${e}_${t}`}var rn=class{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.userCode=` - float unaryOperation(float x) { - ${t} - } - - void main() { - float x = getAAtOutCoords(); - float y = unaryOperation(x); - - setOutput(y); - } - `}},hr="if (isnan(x)) return x;",HA="return x;",Fk="return abs(x);";var KA="return (x >= 0.0) ? x : (exp(x) - 1.0);",XA=hr+` - return (x < 0.0) ? 0.0 : x; -`,YA=hr+` - return (x < 0.0) ? 0.0 : min(6.0, x); -`,Sf="return x;";var ZA="return x;",JA=` - vec4 result; - - result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0); - result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0); - result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0); - result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0); - - return result; -`,QA=` - vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0))); - bvec4 isNaN = isnan(x); - - result.r = isNaN.r ? x.r : result.r; - result.g = isNaN.g ? x.g : result.g; - result.b = isNaN.b ? x.b : result.b; - result.a = isNaN.a ? x.a : result.a; - - return result; -`,e2=` - vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0))); - bvec4 isNaN = isnan(x); - - result.r = isNaN.r ? x.r : result.r; - result.g = isNaN.g ? x.g : result.g; - result.b = isNaN.b ? x.b : result.b; - result.a = isNaN.a ? x.a : result.a; - - return result; -`,Fs=class{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.userCode=` - vec4 unaryOperation(vec4 x) { - ${t} - } - - void main() { - vec4 x = getAAtOutCoords(); - vec4 y = unaryOperation(x); - - setOutput(y); - } - `}};var Ok=class{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=e;let t=e.length,n=Wt("rc",t),o=Le(t),s=jA(t,n),a=n.slice(-2),i=t<=1?"rc":`vec2(${a.join(",")})`;this.userCode=` - void main() { - ${o} rc = getOutputCoords(); - vec4 packedInput = getA(${s}); - - setOutput(getChannel(packedInput, ${i})); - } - `}};var Y5=Tr.whereImpl,Z5=1e-7,J5=1e-4,Hg={};function Q5(r){return r in Hg||(Hg[r]={}),Hg[r]}var e8=128,t8=600;function r8(){return W().global.screen==null?1024:W().global.screen.height*W().global.screen.width*window.devicePixelRatio*t8/1024/1024}var Kg=class extends Ws{constructor(e){super();if(this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.warnedAboutMemory=!1,this.warnedAboutCPUBackend=!1,this.pendingDeletes=0,this.disposed=!1,!W().getBool("HAS_WEBGL"))throw new Error("WebGL is not supported on this device");if(e==null){let t=Mn(W().getNumber("WEBGL_VERSION"));this.binaryCache=Q5(W().getNumber("WEBGL_VERSION")),this.gpgpu=new Wg(t),this.canvas=t.canvas,this.gpgpuCreatedLocally=!0}else this.gpgpu=e,this.binaryCache={},this.gpgpuCreatedLocally=!1,this.canvas=e.gl.canvas;this.textureManager=new Rk(this.gpgpu),this.numMBBeforeWarning=r8(),this.texData=new Ja(this,vs())}numDataIds(){return this.texData.numDataIds()+(this.cpuBackend?this.cpuBackend.numDataIds():0)-this.pendingDeletes}write(e,t,n){if((W().getBool("WEBGL_CHECK_NUMERICAL_PROBLEMS")||W().getBool("DEBUG"))&&this.checkNumericalProblems(e),n==="complex64"&&e!=null)throw new Error("Cannot write to a complex64 dtype. Please use tf.complex(real, imag).");let o={};return this.texData.set(o,{shape:t,dtype:n,values:e,usage:Ar.UPLOAD,refCount:1,complexParentRefCount:0}),o}incRef(e){let t=this.texData.get(e);t.refCount++}decRef(e){if(this.texData.has(e)){let t=this.texData.get(e);t.refCount--}}decComplexRef(e){if(this.texData.has(e)){let t=this.texData.get(e);t.complexParentRefCount>0&&t.refCount--}}move(e,t,n,o){if(W().getBool("DEBUG")&&this.checkNumericalProblems(t),o==="complex64")throw new Error("Cannot write to a complex64 dtype. Please use tf.complex(real, imag).");this.texData.set(e,{shape:n,dtype:o,values:t,usage:Ar.UPLOAD,refCount:1,complexParentRefCount:0})}disposeIntermediateTensorInfo(e){let t=e.dataId;if(this.texData.has(t)){let n=this.texData.get(t);n.refCount--,n.refCount<1&&this.disposeData(t)}}readSync(e){let t=this.texData.get(e),{values:n,dtype:o,complexTensorInfos:s,slice:a,shape:i,isPacked:l}=t;if(a!=null){let m;l?m=new Fs(i,Sf):m=new rn(i,Sf);let f=this.runWebGLProgram(m,[{dataId:e,shape:i,dtype:o}],o),d=this.readSync(f.dataId);return this.disposeIntermediateTensorInfo(f),d}if(n!=null)return this.convertAndCacheOnCPU(e);if(o==="string")return n;let u=this.activeTimers!=null,c;u&&(c=y.now());let p;if(o==="complex64"){let m=this.readSync(s.real.dataId),f=this.readSync(s.imag.dataId);p=N.mergeRealAndImagArrays(m,f)}else p=this.getValuesFromTexture(e);return u&&(this.downloadWaitMs+=y.now()-c),this.convertAndCacheOnCPU(e,p)}async read(e){if(this.pendingRead.has(e)){let d=this.pendingRead.get(e);return new Promise(h=>d.push(h))}let t=this.texData.get(e),{values:n,shape:o,slice:s,dtype:a,complexTensorInfos:i,isPacked:l}=t;if(s!=null){let d;l?d=new Fs(o,Sf):d=new rn(o,Sf);let h=this.runWebGLProgram(d,[{dataId:e,shape:o,dtype:a}],a),g=this.read(h.dataId);return this.disposeIntermediateTensorInfo(h),g}if(n!=null)return this.convertAndCacheOnCPU(e);if(!W().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&W().getNumber("WEBGL_VERSION")===2)throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let u=null,c;if(a!=="complex64"&&W().get("WEBGL_BUFFER_SUPPORTED")){c=this.decode(e);let d=this.texData.get(c.dataId);u=this.gpgpu.createBufferFromTexture(d.texture,...dl(o))}this.pendingRead.set(e,[]),a!=="complex64"&&await this.gpgpu.createAndWaitForFence();let p;if(a==="complex64"){let d=await Promise.all([this.read(i.real.dataId),this.read(i.imag.dataId)]),h=d[0],g=d[1];p=N.mergeRealAndImagArrays(h,g)}else if(u==null)p=this.getValuesFromTexture(e);else{let d=y.sizeFromShape(o);p=this.gpgpu.downloadFloat32MatrixFromBuffer(u,d)}c!=null&&this.disposeIntermediateTensorInfo(c);let m=this.convertAndCacheOnCPU(e,p),f=this.pendingRead.get(e);return this.pendingRead.delete(e),f.forEach(d=>d(m)),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e),this.pendingDeletes--),m}bufferSync(e){let t=this.readSync(e.dataId),n=t;if(e.dtype==="string")try{n=t.map(o=>y.decodeString(o))}catch(o){throw new Error("Failed to decode encoded string bytes into utf-8")}return Ce(e.shape,e.dtype,n)}checkNumericalProblems(e){if(e!=null)for(let t=0;tl.query)).filter(l=>l!=null),a=y.flatten(this.activeTimers.map(l=>l.name)).filter(l=>l!=null);this.activeTimers=t,o&&(this.programTimersStack=null);let i={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};if(W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){let l=await Promise.all(s);i.kernelMs=y.sum(l),i.getExtraProfileInfo=()=>l.map((u,c)=>({name:a[c],ms:u})).map(u=>`${u.name}: ${u.ms}`).join(", ")}else i.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,i}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:y.now(),endMs:null}}endTimer(e){return W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),e):(e.endMs=y.now(),e)}async getQueryTime(e){if(W().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(e);let t=e;return t.endMs-t.startMs}disposeData(e){if(this.pendingDisposal.has(e))return;if(this.pendingRead.has(e)){this.pendingDisposal.add(e),this.pendingDeletes++;return}if(!this.texData.has(e))return;if(this.texData.get(e).complexParentRefCount>0){this.texData.get(e).refCount--;return}this.releaseGPUData(e);let{complexTensorInfos:t}=this.texData.get(e);t!=null&&(this.texData.get(t.real.dataId).complexParentRefCount--,this.disposeIntermediateTensorInfo(t.real),this.texData.get(t.imag.dataId).complexParentRefCount--,this.disposeIntermediateTensorInfo(t.imag)),this.texData.delete(e)}releaseGPUData(e){let{texture:t,dtype:n,texShape:o,usage:s,isPacked:a,slice:i}=this.texData.get(e),l=i&&i.origDataId||e,u=this.dataRefCount.get(l);u>1?this.dataRefCount.set(l,u-1):(this.dataRefCount.delete(l),t!=null&&(this.numBytesInGPU-=this.computeBytes(o,n),this.textureManager.releaseTexture(t,o,s,a)));let c=this.texData.get(e);c.texture=null,c.texShape=null,c.isPacked=!1,c.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture}getDataInfo(e){return this.texData.get(e)}getCPUBackend(){return W().getBool("WEBGL_CPU_FORWARD")?(this.cpuBackend==null&&(this.cpuBackend=vs().findBackend("cpu")),this.cpuBackend):null}shouldExecuteOnCPU(e,t=e8){let n=this.getCPUBackend();return!W().getBool("IS_TEST")&&!this.warnedAboutCPUBackend&&n==null&&(console.warn("Your application contains ops that are small enough to be executed on the CPU backend, however the CPU backend cannot be found. Consider importing the CPU backend (@tensorflow/tfjs-backend-cpu) for better performance."),this.warnedAboutCPUBackend=!0),n!=null&&e.every(o=>this.texData.get(o.dataId).texture==null&&y.sizeFromShape(o.shape)0&&y.isString(n[0])){let s=n.map(a=>y.encodeString(a));o=this.write(s,e,t)}else o=this.write(n,e,t);return this.texData.get(o).usage=null,{dataId:o,shape:e,dtype:t}}makeOutput(e,t,n){let{dataId:o}=this.makeTensorInfo(e,t,n);return vs().makeTensorFromDataId(o,e,t,this)}unpackTensor(e){let t=new Ok(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){let t=new $k(e.shape),n=!0;return this.runWebGLProgram(t,[e],e.dtype,null,n)}packedReshape(e,t){let n=[La(e.shape),...za(e.shape)],o={dtype:e.dtype,shape:n,dataId:e.dataId},s=[La(t),...za(t)],a=new Nf(s,n),i=!0,l=this.runWebGLProgram(a,[o],e.dtype,null,i);return{dataId:l.dataId,shape:t,dtype:l.dtype}}decode(e){let t=this.texData.get(e),{isPacked:n,shape:o,dtype:s}=t,a=Cf(o),i;n?i=new ck(a):i=new uk(a);let l=!0,u=this.runWebGLProgram(i,[{shape:a,dtype:s,dataId:e}],s,null,l);return{dtype:s,shape:o,dataId:u.dataId}}runWebGLProgram(e,t,n,o,s=!1){let a=this.makeTensorInfo(e.outputShape,n),i=this.texData.get(a.dataId);if(e.packedOutput&&(i.isPacked=!0),e.outPackingScheme===fl.DENSE){let h=dl(e.outputShape);i.texShape=h.map(g=>g*2)}if(e.outTexUsage!=null&&(i.usage=e.outTexUsage),y.sizeFromShape(a.shape)===0)return i.values=y.getTypedArrayFromDType(a.dtype,0),a;let l=[],u=t.map(h=>{if(h.dtype==="complex64")throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let g=this.texData.get(h.dataId);if(g.texture==null){if(!e.packedInputs&&y.sizeFromShape(h.shape)<=W().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:h.shape,texData:null,isUniform:!0,uniformValues:g.values};e.packedInputs&&(g.isPacked=!0,g.shape=h.shape)}else if(!!g.isPacked!=!!e.packedInputs)h=g.isPacked?this.unpackTensor(h):this.packTensor(h),l.push(h),g=this.texData.get(h.dataId);else if(g.isPacked&&!hl(g.shape,h.shape)){let x=h,b=h.shape;h.shape=g.shape,h=this.packedReshape(h,b),l.push(h),g=this.texData.get(h.dataId),x.shape=b}return this.uploadToGPU(h.dataId),{shape:h.shape,texData:g,isUniform:!1}});this.uploadToGPU(a.dataId);let c={shape:a.shape,texData:i,isUniform:!1},p=gA(e,u,c),m=this.getAndSaveBinary(p,()=>fA(this.gpgpu,e,u,c)),f=this.activeTimers!=null,d;if(f&&(d=this.startTimer()),hA(this.gpgpu,m,u,c,o),l.forEach(h=>this.disposeIntermediateTensorInfo(h)),f&&(d=this.endTimer(d),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(d)})),!W().getBool("WEBGL_LAZILY_UNPACK")&&i.isPacked&&s===!1){let h=this.unpackTensor(a);return this.disposeIntermediateTensorInfo(a),h}return a}compileAndRun(e,t,n,o,s=!1){n=n||t[0].dtype;let a=this.runWebGLProgram(e,t,n,o,s);return vs().makeTensorFromDataId(a.dataId,a.shape,a.dtype)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(W().getBool("IS_TEST")||Object.keys(this.binaryCache).forEach(t=>{this.gpgpu.deleteProgram(this.binaryCache[t].webGLProgram),delete this.binaryCache[t]}),this.textureManager.dispose(),this.canvas!=null&&typeof HTMLCanvasElement!="undefined"&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0)}floatPrecision(){return this.floatPrecisionValue==null&&(this.floatPrecisionValue=V(()=>{if(!W().get("WEBGL_RENDER_FLOAT32_ENABLED")){let e=W().getBool("DEBUG");W().set("DEBUG",!1);let t=this.abs(le(1e-8)).dataSync()[0];if(W().set("DEBUG",e),t>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return this.floatPrecision()===32?Z5:J5}uploadToGPU(e){let t=this.texData.get(e),{shape:n,dtype:o,values:s,texture:a,usage:i,isPacked:l}=t;if(a!=null)return;let u=this.activeTimers!=null,c;u&&(c=y.now());let p=t.texShape;if(p==null&&(p=tk(n,l),t.texShape=p),s!=null){let m=Cf(n),f,d=p[1],h=p[0],g=s instanceof Uint8Array;l?([d,h]=ji(p[0],p[1]),f=new dk(m,[h,d],g)):f=new fk(m,[h,d],g);let x=this.makeTensorInfo([h,d],o);g?this.texData.get(x.dataId).usage=Ar.PIXELS:this.texData.get(x.dataId).usage=Ar.UPLOAD,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(x.dataId),d,h,s);let b=!0,w=this.runWebGLProgram(f,[x],o,null,b),_=this.texData.get(w.dataId);t.texture=_.texture,t.texShape=_.texShape,t.isPacked=_.isPacked,t.usage=_.usage,this.disposeIntermediateTensorInfo(x),this.texData.delete(w.dataId),t.values=null,u&&(this.uploadWaitMs+=y.now()-c)}else{let m=this.acquireTexture(p,i,o,l);t.texture=m}}convertAndCacheOnCPU(e,t){let n=this.texData.get(e),{dtype:o}=n;return this.releaseGPUData(e),t!=null&&(n.values=n8(t,o)),n.values}acquireTexture(e,t,n,o){if(this.numBytesInGPU+=this.computeBytes(e,n),!this.warnedAboutMemory&&this.numBytesInGPU>this.numMBBeforeWarning*1024*1024){let s=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${s} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,o)}computeBytes(e,t){return e[0]*e[1]*y.bytesPerElement(t)}};function n8(r,e){if(e==="float32"||e==="complex64")return r;if(e==="int32"||e==="bool"){let t=e==="int32"?new Int32Array(r.length):new Uint8Array(r.length);for(let n=0;nnew Kg,2);var o8={forceHalfFloat:Mk};var Xg=` - if (isnan(a)) return a; - if (isnan(b)) return b; -`;var qo=class{constructor(e,t,n){this.variableNames=["A","B"],this.outputShape=N.assertAndGetBroadcastShape(t,n),this.userCode=` - float binaryOperation(float a, float b) { - ${e} - } - - void main() { - float a = getAAtOutCoords(); - float b = getBAtOutCoords(); - setOutput(binaryOperation(a, b)); - } - `}};var gl=` - result.r = isNaN.r > 0. ? NAN : result.r; - result.g = isNaN.g > 0. ? NAN : result.g; - result.b = isNaN.b > 0. ? NAN : result.b; - result.a = isNaN.a > 0. ? NAN : result.a; -`;var Os=class{constructor(e,t,n,o=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=N.assertAndGetBroadcastShape(t,n);let s=this.outputShape.length,a="";if(o)if(s===0||y.sizeFromShape(this.outputShape)===1)a=` - result.y = 0.; - result.z = 0.; - result.w = 0.; - `;else if(a=` - ${Le(s)} coords = getOutputCoords(); - `,s===1)a+=` - result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y; - result.z = 0.; - result.w = 0.; - `;else{let l=Wt("coords",s);a+=` - bool nextRowOutOfBounds = - (${l[s-2]} + 1) >= ${this.outputShape[s-2]}; - bool nextColOutOfBounds = - (${l[s-1]} + 1) >= ${this.outputShape[s-1]}; - result.y = nextColOutOfBounds ? 0. : result.y; - result.z = nextRowOutOfBounds ? 0. : result.z; - result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w; - `}this.userCode=` - vec4 binaryOperation(vec4 a, vec4 b) { - ${e} - } - - void main() { - vec4 a = getAAtOutCoords(); - vec4 b = getBAtOutCoords(); - - vec4 result = binaryOperation(a, b); - ${a} - - setOutput(result); - } - `}};function Ut(r){let{inputs:e,backend:t}=r,{x:n}=e;return t.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var t2={kernelName:us,backendName:"webgl",kernelFunc:Ut};function nn(r){let{inputs:e,backend:t}=r,{real:n,imag:o}=e,s=t.makeTensorInfo(n.shape,"complex64"),a=t.texData.get(s.dataId),i=Ut({inputs:{x:n},backend:t}),l=t.texData.get(i.dataId);l.complexParentRefCount++;let u=Ut({inputs:{x:o},backend:t}),c=t.texData.get(u.dataId);return c.complexParentRefCount++,a.complexTensorInfos={real:i,imag:u},s}var r2={kernelName:ql,backendName:"webgl",kernelFunc:nn};var Lk="return (a < 0.) ? b * a : a;",zk=` - vec4 aLessThanZero = vec4(lessThan(a, vec4(0.))); - return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a); -`;function s8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{alpha:s}=n,a=t.makeTensorInfo([],"float32",y.createScalarValue(s,"float32")),i=W().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new Os(zk,o.shape,a.shape):new qo(Lk,o.shape,a.shape),l=t.runWebGLProgram(i,[o,a],o.dtype);return t.disposeIntermediateTensorInfo(a),l}var n2={kernelName:so,backendName:"webgl",kernelFunc:s8};var Bk="return (a < 0.) ? b * a : a;",Vk=` - vec4 aLessThanZero = vec4(lessThan(a, vec4(0.))); - return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a); -`;function i8(r){let{inputs:e,backend:t}=r,{x:n,alpha:o}=e,s=W().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new Os(Vk,n.shape,o.shape):new qo(Bk,n.shape,o.shape);return t.runWebGLProgram(s,[n,o],n.dtype)}var o2={kernelName:yo,backendName:"webgl",kernelFunc:i8};var Yg="if (isnan(x)) return x;",s2=` - if (isnan(a)) return a; - if (isnan(b)) return b; -`,i2=` - result.r = isNaN.r > 0. ? NAN : result.r; - result.g = isNaN.g > 0. ? NAN : result.g; - result.b = isNaN.b > 0. ? NAN : result.b; - result.a = isNaN.a > 0. ? NAN : result.a; -`;function ve({opSnippet:r,packedOpSnippet:e,cpuKernelImpl:t,dtype:n}){return({inputs:o,backend:s})=>{let{x:a}=o,i=s,l=n||a.dtype;if(i.shouldExecuteOnCPU([a])&&t!=null){let p=i.texData.get(a.dataId),m=t(p.values,l);return i.makeTensorInfo(a.shape,l,m)}let u=W().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&e!=null,c;return u?c=new Fs(a.shape,e):c=new rn(a.shape,r),i.runWebGLProgram(c,[a],l)}}function it({opSnippet:r,packedOpSnippet:e,checkOutOfBounds:t=!1,supportsComplex:n=!1,cpuKernelImpl:o,dtype:s}){return({inputs:a,backend:i})=>{let{a:l,b:u}=a,c=i;if(n&&l.dtype==="complex64"){let d=c.texData.get(l.dataId),h=c.texData.get(u.dataId),[g,x]=[[d.complexTensorInfos.real,h.complexTensorInfos.real],[d.complexTensorInfos.imag,h.complexTensorInfos.imag]].map(w=>{let[_,k]=w,E={dataId:_.dataId,dtype:_.dtype,shape:l.shape},S={dataId:k.dataId,dtype:k.dtype,shape:u.shape},R=new qo(r,l.shape,u.shape);return c.runWebGLProgram(R,[E,S],fr(_.dtype,k.dtype))}),b=nn({inputs:{real:g,imag:x},backend:c});return c.disposeIntermediateTensorInfo(g),c.disposeIntermediateTensorInfo(x),b}let p=s||fr(l.dtype,u.dtype);if(c.shouldExecuteOnCPU([l,u])&&o!=null){let d=c.texData.get(l.dataId),h=c.texData.get(u.dataId),[g,x]=o(l.shape,u.shape,d.values,h.values,p),b=c.makeTensorInfo(x,p),w=c.texData.get(b.dataId);return w.values=g,b}let m=W().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&e!=null,f;return m?f=new Os(e,l.shape,u.shape,t):f=new qo(r,l.shape,u.shape),c.runWebGLProgram(f,[l,u],p)}}function xl(r,e=!1){if(r==="linear")return e?ZA:HA;if(r==="relu")return e?QA:XA;if(r==="elu")return e?JA:KA;if(r==="relu6")return e?e2:YA;if(r==="prelu")return e?Vk:Bk;if(r==="leakyrelu")return e?zk:Lk;throw new Error(`Activation ${r} has not been implemented for the WebGL backend.`)}var Tf=class{constructor(e,t,n,o=!1,s=!1,a=!1,i=null,l=!1,u=!1){this.variableNames=["matrixA","matrixB"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n;let c=o?e[1]:e[2],p=Math.ceil(c/2),m=o?"i * 2, rc.y":"rc.y, i * 2",f=s?"rc.z, i * 2":"i * 2, rc.z",d=o?["a.xxyy","a.zzww"]:["a.xxzz","a.yyww"],h=s?["b.xzxz","b.ywyw"]:["b.xyxy","b.zwzw"],g="",x="";i&&(l?g=`vec4 activation(vec4 a) { - vec4 b = getPreluActivationWeightsAtOutCoords(); - ${i} - }`:u?g=`vec4 activation(vec4 a) { - vec4 b = getLeakyreluAlphaAtOutCoords(); - ${i} - }`:g=`vec4 activation(vec4 x) { - ${i} - }`,x="result = activation(result);");let b=a?"result += getBiasAtOutCoords();":"";a&&this.variableNames.push("bias"),l&&this.variableNames.push("preluActivationWeights"),u&&this.variableNames.push("leakyreluAlpha");let w="rc.x",_="rc.x";e[0]`The new shape (${l}) has ${u} elements and the old shape (${o.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`);let c=a.texData.get(o.dataId);return c.isPacked&&!hl(o.shape,l)&&!(c.texture!==null&&hl(c.shape,l))?u2(o,l,a):(a.incRef(o.dataId),{dataId:o.dataId,shape:l,dtype:o.dtype})}var c2={kernelName:fs,backendName:"webgl",kernelFunc:ce};var Jg=class{constructor(e,t){this.variableNames=["x"];let{windowSize:n,batchSize:o,inSize:s,outSize:a}=e;this.outputShape=[o,a];let i=Math.floor(n/4)*4,l=n%4,u="sumValue += dot(values, ones);";if(t!=null){let p=1/t;u=`sumValue += dot(values * ${y.isInt(p)?p.toPrecision(2):p}, ones);`}let c="";s%n>0&&(c=` - if (inIdx < 0 || inIdx >= ${s}) { - return 0.0; - } - `),this.userCode=` - const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0); - - float getValue(int batch, int inIdx) { - ${c} - return getX(batch, inIdx); - } - - void main() { - ivec2 coords = getOutputCoords(); - int batch = coords[0]; - int outIdx = coords[1]; - int inOffset = outIdx * ${n}; - - float sumValue = 0.0; - - for (int i = 0; i < ${i}; i += 4) { - int inIdx = inOffset + i; - vec4 values = vec4( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), - getValue(batch, inIdx + 2), - getValue(batch, inIdx + 3) - ); - - ${u} - } - - int inIdx = inOffset + ${i}; - if (${l===1}) { - vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0); - - ${u} - } else if (${l===2}) { - vec4 values = vec4( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), 0.0, 0.0); - - ${u} - } else if (${l===3}) { - vec4 values = vec4( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), - getValue(batch, inIdx + 2), 0.0); - - ${u} - } - setOutput(sumValue); - } - `}};var Wk=class{constructor(e,t){this.variableNames=["x"];let{windowSize:n,batchSize:o,inSize:s,outSize:a}=e;this.outputShape=[o,a];let i="0.0",l="";t==="prod"?i="1.0":t==="min"?(i="1.0 / 1e-20",l="min"):t==="max"&&(i="-1.0 / 1e-20",l="max");let u=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t==="sum"?u="sumValue":t==="prod"?u="prodValue":t==="all"?u="allValue":t==="any"&&(u="anyValue");let c=Math.floor(n/4)*4,p=n%4,m=` - if (${t==="sum"}) { - sumValue += dot(values, ones); - } else if (${t==="prod"}) { - vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]); - prodValue *= tmp[0] * tmp[1]; - } else { - minMaxValue = ${l}(values, minMaxValue); - } - `,f="vec4";t==="all"?(i="1.0",m=` - bool reducedAllValue = all(values); - float floatedReducedAllValue = float(reducedAllValue); - allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0); - `,f="bvec4"):t==="any"&&(i="0.0",m=` - bool reducedAnyValue = any(values); - float floatedReducedAnyValue = float(reducedAnyValue); - anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0); - `,f="bvec4");let d="";s%n>0&&(d=` - if (inIdx < 0 || inIdx >= ${s}) { - return initializationValue; - } - `),this.userCode=` - const float initializationValue = ${i}; - const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0); - - float getValue(int batch, int inIdx) { - ${d} - return getX(batch, inIdx); - } - - void main() { - ivec2 coords = getOutputCoords(); - int batch = coords[0]; - int outIdx = coords[1]; - int inOffset = outIdx * ${n}; - - vec4 minMaxValue = vec4(${i}); - float prodValue = 1.0; - float sumValue = 0.0; - float allValue = 1.0; - float anyValue = 0.0; - - for (int i = 0; i < ${c}; i += 4) { - int inIdx = inOffset + i; - ${f} values = ${f}( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), - getValue(batch, inIdx + 2), - getValue(batch, inIdx + 3) - ); - - ${m} - } - - int inIdx = inOffset + ${c}; - if (${p===1}) { - ${f} values = ${f}( - getValue(batch, inIdx), - initializationValue, - initializationValue, - initializationValue - ); - - ${m} - } else if (${p===2}) { - ${f} values = ${f}( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), - initializationValue, - initializationValue - ); - - ${m} - } else if (${p===3}) { - ${f} values = ${f}( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), - getValue(batch, inIdx + 2), - initializationValue - ); - - ${m} - } - setOutput(${u}); - } - `}};function a8(r){let e=[];for(;e.length===0||e[e.length-1].outSize!==1;){let t=e.length?e[e.length-1].outSize:r[1],n=N.computeOptimalWindowSize(t);e.push({inSize:t,windowSize:n,outSize:Math.ceil(t/n)})}return e}function vn(r,e,t,n){let o=a8(r.shape),s=r;for(let a=0;a6)throw Error(`Transpose for rank ${e} is not yet supported`);let t=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],n=new Array(e);for(let o=0;o6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);let o=Le(this.rank),s=Dk("rc",this.rank),a=new Array(this.rank);for(let c=0;c=2&&c>=2&&w,()=>`Error in matMul: the input batch dimensions must either be the same or at least one input batch dimension must be 1. Got input batch dimensions of (${h}) and (${g}).`);let k=(x>b?r.shape.slice(0,-2):e.shape.slice(0,-2)).concat([f,d]);y.assert(p===m,()=>`Error in matMul: inner shapes (${p}) and (${m}) of Tensors with shapes ${r.shape} and ${e.shape} and transposeA=${t} and transposeB=${n} must match.`);let E=t?[x,p,f]:[x,f,p],S=n?[b,d,m]:[b,m,d],R=ce({inputs:{x:r},backend:o,attrs:{shape:E}}),F=ce({inputs:{x:e},backend:o,attrs:{shape:S}}),P=[R,F],j=Math.max(x,b),G=t?R.shape[1]:R.shape[2],U=s!=null,X=a!=null,K=l==="leakyrelu",Z=l!=null?xl(l,!0):null,te=U||X||K||Z!=null,Y;if((f===1||d===1)&&G>Hk&&te===!1){let ie=R,se=F;t&&(ie=zt({inputs:{x:R},backend:o,attrs:{perm:[0,2,1]}}),P.push(ie)),n&&(se=zt({inputs:{x:F},backend:o,attrs:{perm:[0,2,1]}}),P.push(se));let pe=d!==1,ae=d===1,xe=ie;pe&&(xe=ce({inputs:{x:ie},backend:o,attrs:{shape:[j,G,1]}}),P.push(xe));let ge=d===1?2:1,we=se;ae&&(we=ce({inputs:{x:se},backend:o,attrs:{shape:[j,1,G]}}),P.push(we));let ke=jk({inputs:{a:xe,b:we},backend:o});Y=Ef({inputs:{x:ke},backend:o,attrs:{axis:ge,keepDims:!0}}),P.push(ke)}else{let ie=fr(r.dtype,e.dtype),se=new Tf(E,S,[j,f,d],t,n,U,Z,X,K),pe=[R,F];if(s!=null&&pe.push(s),X&&pe.push(a),K){let ae=o.makeTensorInfo([],"float32",y.createScalarValue(i,"float32"));pe.push(ae),P.push(ae)}Y=o.runWebGLProgram(se,pe,ie)}let re=ce({inputs:{x:Y},backend:o,attrs:{shape:k}});P.push(Y);for(let ie of P)o.disposeIntermediateTensorInfo(ie);return re}function u8(r){let{inputs:e,backend:t,attrs:n}=r,{a:o,b:s,bias:a,preluActivationWeights:i}=e,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:p}=n;return Ju({a:o,b:s,transposeA:l,transposeB:u,backend:t,bias:a,preluActivationWeights:i,leakyreluAlpha:p,activation:c})}var d2={kernelName:bs,backendName:"webgl",kernelFunc:u8};var h2="return abs(x);";function c8(r){let{inputs:e,backend:t}=r,{x:n}=e;if(t.shouldExecuteOnCPU([n])&&n.dtype!=="complex64"){let s=t.texData.get(n.dataId),a=qg(s.values);return t.makeTensorInfo(n.shape,n.dtype,a)}let o;return W().getBool("WEBGL_PACK_UNARY_OPERATIONS")?o=new Fs(n.shape,h2):o=new rn(n.shape,h2),t.runWebGLProgram(o,[n],n.dtype)}var g2={kernelName:ss,backendName:"webgl",kernelFunc:c8};var p8=hr+` - if (abs(x) > 1.) { - return NAN; - } - return acos(x); -`,m8=ve({opSnippet:p8}),x2={kernelName:Ks,backendName:"webgl",kernelFunc:m8};var f8=hr+` - if (x < 1.0) return NAN; -return log(x + sqrt(x * x - 1.0));`,d8=ve({opSnippet:f8}),y2={kernelName:Xs,backendName:"webgl",kernelFunc:d8};var b2="return a + b;",h8=it({opSnippet:b2,packedOpSnippet:b2,supportsComplex:!0,cpuKernelImpl:xA}),w2={kernelName:xn,backendName:"webgl",kernelFunc:h8};var Kk=class{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map((s,a)=>`T${a}`);let n=[];this.variableNames.forEach(s=>{n.push(`float v${s} = get${s}AtOutCoords();`)});let o=this.variableNames.map(s=>`v${s}`).join(" + ");this.userCode=` - void main() { - ${n.join(` - `)} - - float result = ${o}; - setOutput(result); - } - `}};var Xk=class{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map((s,a)=>`T${a}`);let n=[];this.variableNames.forEach(s=>{n.push(`vec4 v${s} = get${s}AtOutCoords();`)});let o=this.variableNames.map(s=>`v${s}`).join(" + ");this.userCode=` - void main() { - ${n.join(` - `)} - - vec4 result = ${o}; - setOutput(result); - } - `}};function Qg(r){let{inputs:e,backend:t}=r,n=e;if(n.length===1)return Ut({inputs:{x:n[0]},backend:t});if(n.length>W().get("WEBGL_MAX_TEXTURES_IN_SHADER")){let l=Math.floor(n.length/2),u=Qg({inputs:n.slice(0,l),backend:t}),c=Qg({inputs:n.slice(l),backend:t});return Qg({inputs:[u,c],backend:t})}let o=n.map(l=>l.dtype).reduce((l,u)=>fr(l,u)),s=n.map(l=>l.shape),i=W().getBool("WEBGL_PACK")?new Xk(n[0].shape,s):new Kk(n[0].shape,s);return t.runWebGLProgram(i,n,o)}var _2={kernelName:Wn,backendName:"webgl",kernelFunc:Qg};function g8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s,keepDims:a}=n,i=o.shape.length,l=y.parseAxisParam(s,o.shape),u=l,c=N.getAxesPermutation(u,i),p=o;c!=null&&(p=zt({inputs:{x:o},backend:t,attrs:{perm:c}}),u=N.getInnerMostAxes(u.length,i)),N.assertAxesAreInnerMostDims("all",u,i);let[m,f]=N.computeOutAndReduceShapes(p.shape,u),d=y.sizeFromShape(f),h=ce({inputs:{x:p},backend:t,attrs:{shape:[-1,d]}}),g=vn(h,h.dtype,"all",t),x;if(a){let b=N.expandShapeToKeepDim(m,l);x=ce({inputs:{x:g},backend:t,attrs:{shape:b}})}else x=ce({inputs:{x:g},backend:t,attrs:{shape:m}});return t.disposeIntermediateTensorInfo(h),t.disposeIntermediateTensorInfo(g),c!=null&&t.disposeIntermediateTensorInfo(p),x}var k2={kernelName:Vl,backendName:"webgl",kernelFunc:g8};function x8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s,keepDims:a}=n,i=o.shape.length,l=y.parseAxisParam(s,o.shape),u=l,c=N.getAxesPermutation(u,i),p=o;c!=null&&(p=zt({inputs:{x:o},backend:t,attrs:{perm:c}}),u=N.getInnerMostAxes(u.length,i)),N.assertAxesAreInnerMostDims("any",u,i);let[m,f]=N.computeOutAndReduceShapes(p.shape,u),d=y.sizeFromShape(f),h=ce({inputs:{x:p},backend:t,attrs:{shape:[-1,d]}}),g=vn(h,h.dtype,"any",t),x;if(a){let b=N.expandShapeToKeepDim(m,l);x=ce({inputs:{x:g},backend:t,attrs:{shape:b}})}else x=ce({inputs:{x:g},backend:t,attrs:{shape:m}});return t.disposeIntermediateTensorInfo(h),t.disposeIntermediateTensorInfo(g),c!=null&&t.disposeIntermediateTensorInfo(p),x}var v2={kernelName:Gl,backendName:"webgl",kernelFunc:x8};var Yk=class{constructor(e,t,n){this.variableNames=["A"];let{windowSize:o,batchSize:s,outSize:a}=e;n||this.variableNames.push("bestIndicesA"),this.outputShape=[s,a];let i=t==="max"?">":"<",l=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=` - void main() { - ivec2 coords = getOutputCoords(); - int batch = coords[0]; - int outIdx = coords[1]; - int inOffset = outIdx * ${o}; - - int bestIndex = inOffset; - float bestValue = getA(batch, bestIndex); - - for (int i = 0; i < ${o}; i++) { - int inIdx = ${l}; - float candidate = getA(batch, inIdx); - if (candidate ${i} bestValue) { - bestValue = candidate; - bestIndex = inIdx; - } - } - setOutput(float(bestIndex)); - } - `}};var Zk=class{constructor(e,t,n,o){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,y.assert(e.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);let s=e[e.length-1],a=Math.ceil(s/t);this.outputShape=e.slice(0,-1),a>1&&this.outputShape.push(a),o||this.variableNames.push("bestIndicesA");let i=this.outputShape,l=i.length,u=Le(l),c=Wt("coords",l),p,m;if(a===1){m=l+1;let R=Le(m);p=` - ${R} sourceLocR = ${R}(${c.join()}, 0); - ++${c[l-1]}; - ${R} sourceLocG = ${R}(${c.join()}, 0); - ++${c[l-2]}; - ${R} sourceLocA = ${R}(${c.join()}, 0); - --${c[l-1]}; - ${R} sourceLocB = ${R}(${c.join()}, 0); - --${c[l-2]};`}else m=l,p=` - ${u} sourceLocR = coords; - ++${c[l-1]}; - ${u} sourceLocG = coords; - ++${c[l-2]}; - ${u} sourceLocA = coords; - --${c[l-1]}; - ${u} sourceLocB = coords; - --${c[l-2]};`;let f=["x","y","z","w","u","v"].slice(0,m),d="."+f[m-1],h=f.map(R=>"int "+R),g=Wt("sourceLocR",m-1).concat("inIdx.r"),x=Wt("sourceLocG",m-1).concat("inIdx.g"),b=Wt("sourceLocB",m-1).concat("inIdx.b"),w=Wt("sourceLocA",m-1).concat("inIdx.a"),_=n==="max"?"greaterThan":"lessThan",k=o?"":` - inIdx = round(vec4(getBestIndicesAChannel(${g.join()}), - getBestIndicesAChannel(${x.join()}), - getBestIndicesAChannel(${b.join()}), - getBestIndicesAChannel(${w.join()})));`,E=`vec4( - getAChannel(${g.join()}), - hasNextCol ? getAChannel(${x.join()}) : 0., - hasNextRow ? getAChannel(${b.join()}) : 0., - hasNextRow && hasNextCol ? getAChannel(${w.join()}) : 0.)`,S=o?"":` - float getBestIndicesAChannel(${h.join()}) { - return getChannel(getBestIndicesA(${f.join()}), - vec2(${f.slice(-2).join()})); - }`;this.userCode=` - float getAChannel(${h.join()}) { - return getChannel(getA(${f.join()}), - vec2(${f.slice(-2).join()})); - } - ${S} - void main() { - ${u} coords = getOutputCoords(); - bool hasNextCol = ${c[l-1]} < ${i[l-1]-1}; - bool hasNextRow = ${c[l-2]} < ${i[l-2]-1}; - ${p} - ivec4 srcIdx = ivec4(sourceLocR${d}, sourceLocG${d}, - sourceLocB${d}, sourceLocA${d}) * ${t}; - ivec4 inIdx = srcIdx; - vec4 bestIndex = vec4(inIdx); - vec4 bestValue = ${E}; - - for (int i = 0; i < ${t}; i++) { - inIdx = srcIdx; - ${k} - vec4 candidate = ${E}; - bvec4 nan = isnan(candidate); - bvec4 replace = bvec4( - vec4(${_}(candidate, bestValue)) * (vec4(1.0) - vec4(nan))); - - bestValue = vec4(replace.x ? candidate.x : bestValue.x, - replace.y ? candidate.y : bestValue.y, - replace.z ? candidate.z : bestValue.z, - replace.w ? candidate.w : bestValue.w); - bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace)); - srcIdx++; - } - setOutput(bestIndex); - } - `}};function C2(r,e,t,n=null){let o=e.shape[0],s=e.shape[1];n!=null&&(o=n.shape[0],s=n.shape[1]);let a=N.computeOptimalWindowSize(s),i={windowSize:a,inSize:s,batchSize:o,outSize:Math.ceil(s/a)},l=new Yk(i,t,n==null),u=[e];n!=null&&u.push(n);let c=r.runWebGLProgram(l,u,"int32");if(c.shape[1]===1)return c;let p=C2(r,e,t,c);return r.disposeIntermediateTensorInfo(c),p}function I2(r,e,t,n=null){let o=n!=null?n.shape:e.shape,s=o[o.length-1],a=N.computeOptimalWindowSize(s),i=new Zk(o,a,t,n==null),l=n==null?[e]:[e,n],u=r.runWebGLProgram(i,l,"int32");if(u.shape.length===e.shape.length){let c=I2(r,e,t,u);return r.disposeIntermediateTensorInfo(u),c}return u}function ex(r,e,t,n){let o=[t];if(N.assertAxesAreInnerMostDims("arg"+n.charAt(0).toUpperCase()+n.slice(1),o,e.shape.length),!W().getBool("WEBGL_PACK_REDUCE")||e.shape.length<=2){let s=[],[a,i]=N.computeOutAndReduceShapes(e.shape,o),l=y.sizeFromShape(i),u=ce({inputs:{x:e},backend:r,attrs:{shape:[-1,l]}});s.push(u);let c=C2(r,u,n);s.push(c);let p=ce({inputs:{x:c},backend:r,attrs:{shape:a}});return s.forEach(m=>r.disposeIntermediateTensorInfo(m)),p}return I2(r,e,n)}function y8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s}=n,a=y.parseAxisParam(s,o.shape),i=N.getAxesPermutation(a,o.shape.length),l=o,u=[];i!=null&&(l=zt({inputs:{x:o},backend:t,attrs:{perm:i}}),u.push(l),a=N.getInnerMostAxes(a.length,l.shape.length)),N.assertAxesAreInnerMostDims("argMax",[a[0]],l.shape.length);let c=ex(t,l,a[0],"max");return u.forEach(p=>t.disposeIntermediateTensorInfo(p)),c}var N2={kernelName:Un,backendName:"webgl",kernelFunc:y8};function b8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s}=n,a=y.parseAxisParam(s,o.shape),i=N.getAxesPermutation(a,o.shape.length),l=o,u=[];i!=null&&(l=zt({inputs:{x:o},backend:t,attrs:{perm:i}}),u.push(l),a=N.getInnerMostAxes(a.length,l.shape.length)),N.assertAxesAreInnerMostDims("argMin",[a[0]],l.shape.length);let c=ex(t,l,a[0],"min");return u.forEach(p=>t.disposeIntermediateTensorInfo(p)),c}var S2={kernelName:na,backendName:"webgl",kernelFunc:b8};var w8=hr+` - if (abs(x) > 1.) { - return NAN; - } - return asin(x); -`,_8=ve({opSnippet:w8}),T2={kernelName:Ys,backendName:"webgl",kernelFunc:_8};var k8=hr+"return log(x + sqrt(x * x + 1.0));",v8=ve({opSnippet:k8}),E2={kernelName:Zs,backendName:"webgl",kernelFunc:v8};var C8=hr+` - return atan(x); -`,I8=ve({opSnippet:C8}),A2={kernelName:Js,backendName:"webgl",kernelFunc:I8};var N8=s2+` - return atan(a, b); -`,S8=` - vec4 result = atan(a, b); - vec4 isNaN = min(vec4(isnan(a)) + vec4(isnan(b)), vec4(1.0)); - `+i2+` - return result; -`,T8=it({opSnippet:N8,packedOpSnippet:S8}),D2={kernelName:ei,backendName:"webgl",kernelFunc:T8};var E8=hr+` - if ((x < -1.0) || (x > 1.0)) return NAN; -return (log(1.0 + x) - log(1.0 - x)) / 2.0;`,A8=ve({opSnippet:E8}),$2={kernelName:Qs,backendName:"webgl",kernelFunc:A8};var Wi=class{constructor(e,t,n,o=!1,s=!1){if(this.variableNames=["x"],t==="avg"&&n)throw new Error("Cannot compute positions for average pool.");let a=e.filterWidth,i=e.strideHeight,l=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,p=e.effectiveFilterHeight,m=e.effectiveFilterWidth,f=e.padInfo.top,d=e.padInfo.left;this.outputShape=e.outShape;let h=t==="avg",g=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,x=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`,b="0.0";if(h||(b="-1.0 / 1e-20"),n){let R=">=";this.userCode=` - const ivec2 strides = ivec2(${i}, ${l}); - const ivec2 pads = ivec2(${f}, ${d}); - - void main() { - ivec4 coords = getOutputCoords(); - int batch = coords[0]; - int d = coords[3]; - - ivec2 xRCCorner = coords.yz * strides - pads; - int xRCorner = xRCCorner.x; - int xCCorner = xRCCorner.y; - - // max/min x(?, ?, d) to get y(yR, yC, d). - // ? = to be determined - float minMaxValue = 0.0; - float minMaxValueFound = 0.0; - int minMaxPosition = 0; - float avgValue = 0.0; - - for (int wR = 0; wR < ${p}; - wR += ${u}) { - int xR = xRCorner + wR; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int wC = 0; wC < ${m}; - wC += ${c}) { - int xC = xCCorner + wC; - - if (xC < 0 || xC >= ${e.inWidth}) { - continue; - } - - float value = getX(batch, xR, xC, d); - - // If a min / max value has already been found, use it. If not, - // use the current value. - float currMinMaxValue = mix( - value, minMaxValue, minMaxValueFound); - if (value ${R} currMinMaxValue) { - minMaxValue = value; - minMaxValueFound = 1.0; - minMaxPosition = ${o?s?g:x:`wR * ${m} + wC`}; - } - } - } - setOutput(float(minMaxPosition)); - } - `;return}let w="max",_=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t==="avg"&&(_="avgValue / count");let k=Math.floor(a/4)*4,E=a%4,S=` - if (${h}) { - avgValue += dot(values, ones); - } else { - minMaxValue = ${w}(values, minMaxValue); - } - `;this.userCode=` - const ivec2 strides = ivec2(${i}, ${l}); - const ivec2 pads = ivec2(${f}, ${d}); - const float initializationValue = ${b}; - const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0); - - float count = 0.0; - - float getValue(int batch, int xR, int xC, int d) { - if (xC < 0 || xC >= ${e.inWidth}) { - return initializationValue; - } - count += 1.0; - return getX(batch, xR, xC, d); - } - - void main() { - ivec4 coords = getOutputCoords(); - int batch = coords[0]; - int d = coords[3]; - - ivec2 xRCCorner = coords.yz * strides - pads; - int xRCorner = xRCCorner.x; - int xCCorner = xRCCorner.y; - - // max/min x(?, ?, d) to get y(yR, yC, d). - // ? = to be determined - vec4 minMaxValue = vec4(${b}); - float avgValue = 0.0; - count = 0.0; - - for (int wR = 0; wR < ${p}; - wR += ${u}) { - int xR = xRCorner + wR; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int wC = 0; wC < ${k}; wC += 4) { - int xC = xCCorner + wC * ${c}; - - vec4 values = vec4( - getValue(batch, xR, xC, d), - getValue(batch, xR, xC + ${c}, d), - getValue(batch, xR, xC + 2 * ${c}, d), - getValue(batch, xR, xC + 3 * ${c}, d) - ); - - ${S} - } - - int xC = xCCorner + ${k}; - if (${E===1}) { - vec4 values = vec4( - getValue(batch, xR, xC, d), - initializationValue, - initializationValue, - initializationValue - ); - - ${S} - } else if (${E===2}) { - vec4 values = vec4( - getValue(batch, xR, xC, d), - getValue(batch, xR, xC + ${c}, d), - initializationValue, - initializationValue - ); - - ${S} - } else if (${E===3}) { - vec4 values = vec4( - getValue(batch, xR, xC, d), - getValue(batch, xR, xC + ${c}, d), - getValue(batch, xR, xC + 2 * ${c}, d), - initializationValue - ); - - ${S} - } - } - setOutput(${_}); - } - `}},Qu=class{constructor(e,t,n,o=!1,s=!1){if(this.variableNames=["x"],t==="avg"&&n)throw new Error("Cannot compute positions for average pool.");let a=e.filterWidth,i=e.strideDepth,l=e.strideHeight,u=e.strideWidth,c=e.dilationDepth,p=e.dilationHeight,m=e.dilationWidth,f=e.effectiveFilterDepth,d=e.effectiveFilterHeight,h=e.effectiveFilterWidth,g=e.padInfo.front,x=e.padInfo.top,b=e.padInfo.left;this.outputShape=e.outShape;let w=t==="avg",_="0.0";if(w||(_="-1.0 / 1e-20"),n){let P=">=";this.userCode=` - const ivec3 strides = - ivec3(${i}, ${l}, ${u}); - const ivec3 pads = ivec3(${g}, ${x}, ${b}); - - void main() { - ivec5 coords = getOutputCoords(); - int batch = coords.x; - int ch = coords.u; - - ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads; - int xDCorner = xCorner.x; - int xRCorner = xCorner.y; - int xCCorner = xCorner.z; - - // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch). - // ? = to be determined - float minMaxValue = 0.0; - float minMaxValueFound = 0.0; - int minMaxPosition = 0; - - for (int wD = 0; wD < ${f}; - wD += ${c}) { - int xD = xDCorner + wD; - - if (xD < 0 || xD >= ${e.inDepth}) { - continue; - } - - for (int wR = 0; wR < ${d}; - wR += ${p}) { - int xR = xRCorner + wR; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int wC = 0; wC < ${h}; - wC += ${m}) { - int xC = xCCorner + wC; - - if (xC < 0 || xC >= ${e.inWidth}) { - continue; - } - - float value = getX(batch, xD, xR, xC, ch); - - // If a min / max value has already been found, use it. If not, - // use the current value. - float currMinMaxValue = mix( - value, minMaxValue, minMaxValueFound); - if (value ${P} currMinMaxValue) { - minMaxValue = value; - minMaxValueFound = 1.0; - minMaxPosition = ${o?s?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${d} * ${h} + - wR * ${h} + wC`}; - } - } - } - } - setOutput(float(minMaxPosition)); - } - `;return}let k="max",E=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;t==="avg"&&(E="avgValue / count");let S=Math.floor(a/4)*4,R=a%4,F=` - if (${w}) { - avgValue += dot(values, ones); - } else { - minMaxValue = ${k}(values, minMaxValue); - } - `;this.userCode=` - const ivec3 strides = - ivec3(${i}, ${l}, ${u}); - const ivec3 pads = ivec3(${g}, ${x}, ${b}); - const float initializationValue = ${_}; - const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0); - - float count = 0.0; - - float getValue(int batch, int xD, int xR, int xC, int ch) { - if (xC < 0 || xC >= ${e.inWidth}) { - return initializationValue; - } - count += 1.0; - return getX(batch, xD, xR, xC, ch); - } - - void main() { - ivec5 coords = getOutputCoords(); - int batch = coords.x; - int ch = coords.u; - - ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads; - int xDCorner = xCorner.x; - int xRCorner = xCorner.y; - int xCCorner = xCorner.z; - - // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch). - // ? = to be determined - vec4 minMaxValue = vec4(${_}); - float avgValue = 0.0; - count = 0.0; - - for (int wD = 0; wD < ${f}; - wD += ${c}) { - int xD = xDCorner + wD; - - if (xD < 0 || xD >= ${e.inDepth}) { - continue; - } - - for (int wR = 0; wR < ${d}; - wR += ${p}) { - int xR = xRCorner + wR; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int wC = 0; wC < ${S}; wC += 4) { - int xC = xCCorner + wC * ${m}; - - vec4 values = vec4( - getValue(batch, xD, xR, xC, ch), - getValue(batch, xD, xR, xC + ${m}, ch), - getValue(batch, xD, xR, xC + 2 * ${m}, ch), - getValue(batch, xD, xR, xC + 3 * ${m}, ch) - ); - - ${F} - } - - int xC = xCCorner + ${S}; - if (${R===1}) { - vec4 values = vec4( - getValue(batch, xD, xR, xC, ch), - initializationValue, - initializationValue, - initializationValue - ); - - ${F} - } else if (${R===2}) { - vec4 values = vec4( - getValue(batch, xD, xR, xC, ch), - getValue(batch, xD, xR, xC + ${m}, ch), - initializationValue, - initializationValue - ); - - ${F} - } else if (${R===3}) { - vec4 values = vec4( - getValue(batch, xD, xR, xC, ch), - getValue(batch, xD, xR, xC + ${m}, ch), - getValue(batch, xD, xR, xC + 2 * ${m}, ch), - initializationValue - ); - - ${F} - } - } - setOutput(${E}); - } - } - `}};function D8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e;$s(o,"avgPool");let{filterSize:s,strides:a,pad:i,dimRoundingMode:l}=n,u=1;y.assert(N.eitherStridesOrDilationsAreOne(a,u),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=N.computePool2DInfo(o.shape,s,a,u,i,l);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return Ut({inputs:{x:o},backend:t});let p=new Wi(c,"avg",!1);return t.runWebGLProgram(p,[o],"float32")}var R2={kernelName:qn,backendName:"webgl",kernelFunc:D8};function $8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:l,dataFormat:u}=n,c=[1,1,1],p=N.computePool3DInfo(o.shape,s,a,c,i,l,u),m=new Qu(p,"avg",!1);return t.runWebGLProgram(m,[o],"float32")}var F2={kernelName:oa,backendName:"webgl",kernelFunc:$8};var Jk=class{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;let t=e.filterHeight,n=e.filterWidth,o=e.strideHeight,s=e.strideWidth,a=e.dilationHeight,i=e.dilationWidth,l=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=l-1-e.padInfo.top,p=u-1-e.padInfo.left,m=1/(t*n);this.userCode=` - const ivec2 pads = ivec2(${c}, ${p}); - const float avgMultiplier = float(${m}); - - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int d = coords[3]; - - ivec2 dyRCCorner = coords.yz - pads; - int dyRCorner = dyRCCorner.x; - int dyCCorner = dyRCCorner.y; - - // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d). - // ? = to be determined. : = across all values in that axis. - float dotProd = 0.0; - for (int wR = 0; wR < ${l}; - wR += ${a}) { - float dyR = float(dyRCorner + wR) / ${o}.0; - - if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) { - continue; - } - int idyR = int(dyR); - - for (int wC = 0; wC < ${u}; - wC+= ${i}) { - float dyC = float(dyCCorner + wC) / ${s}.0; - - if (dyC < 0.0 || dyC >= ${e.outWidth}.0 || - fract(dyC) > 0.0) { - continue; - } - int idyC = int(dyC); - - float dyValue = getDy(b, idyR, idyC, d); - - dotProd += dyValue * avgMultiplier; - } - } - setOutput(dotProd); - } - `}},Qk=class{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;let t=e.filterDepth,n=e.filterHeight,o=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,l=e.dilationDepth,u=e.dilationHeight,c=e.dilationWidth,p=e.effectiveFilterDepth,m=e.effectiveFilterHeight,f=e.effectiveFilterWidth,d=p-1-e.padInfo.front,h=m-1-e.padInfo.top,g=f-1-e.padInfo.left,x=1/(t*n*o);this.userCode=` - const ivec3 pads = ivec3(${d}, ${h}, ${g}); - const float avgMultiplier = float(${x}); - - void main() { - ivec5 coords = getOutputCoords(); - int batch = coords.x; - int ch = coords.u; - - ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads; - int dyDCorner = dyCorner.x; - int dyRCorner = dyCorner.y; - int dyCCorner = dyCorner.z; - - // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get - // dx(xD, xR, xC, ch). - // ? = to be determined. : = across all values in that axis. - float dotProd = 0.0; - - for (int wD = 0; wD < ${p}; - wD += ${l}) { - float dyD = float(dyDCorner + wD) / ${s}.0; - - if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) { - continue; - } - int idyD = int(dyD); - - for (int wR = 0; wR < ${m}; - wR += ${u}) { - float dyR = float(dyRCorner + wR) / ${a}.0; - - if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || - fract(dyR) > 0.0) { - continue; - } - int idyR = int(dyR); - - for (int wC = 0; wC < ${f}; - wC += ${c}) { - float dyC = float(dyCCorner + wC) / ${i}.0; - - if (dyC < 0.0 || dyC >= ${e.outWidth}.0 || - fract(dyC) > 0.0) { - continue; - } - int idyC = int(dyC); - - float dyValue = getDy(batch, idyD, idyR, idyC, ch); - - dotProd += dyValue * avgMultiplier; - } - } - } - setOutput(dotProd); - } - `}};function R8(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,input:s}=e,a=s,{filterSize:i,strides:l,pad:u,dimRoundingMode:c}=n,p=[1,1,1],m=N.computePool3DInfo(a.shape,i,l,p,u,c),f=new Qk(m);return t.runWebGLProgram(f,[o],a.dtype)}var O2={kernelName:Wl,backendName:"webgl",kernelFunc:R8};function F8(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,input:s}=e,a=s;$s([o,s],"avgPoolGrad");let{filterSize:i,strides:l,pad:u}=n,c=N.computePool2DInfo(a.shape,i,l,1,u),p=new Jk(c);return t.runWebGLProgram(p,[o],a.dtype)}var P2={kernelName:jl,backendName:"webgl",kernelFunc:F8};function O8(r){let{inputs:e,backend:t,attrs:n}=r,{a:o,b:s}=e,{transposeA:a,transposeB:i}=n;return Ju({a:o,b:s,transposeA:a,transposeB:i,backend:t})}var M2={kernelName:Hn,backendName:"webgl",kernelFunc:O8};var ev=class{constructor(e,t,n,o,s,a){this.outputShape=[],this.variableNames=["x","mean","variance"],N.assertAndGetBroadcastShape(e,t),N.assertAndGetBroadcastShape(e,n);let i="0.0";o!=null&&(N.assertAndGetBroadcastShape(e,o),this.variableNames.push("offset"),i="getOffsetAtOutCoords()");let l="1.0";s!=null&&(N.assertAndGetBroadcastShape(e,s),this.variableNames.push("scale"),l="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=` - void main() { - float x = getXAtOutCoords(); - float mean = getMeanAtOutCoords(); - float variance = getVarianceAtOutCoords(); - float offset = ${i}; - float scale = ${l}; - float inv = scale * inversesqrt(variance + float(${a})); - setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1))); - } - `}};var tv=class{constructor(e,t,n,o,s,a){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],N.assertAndGetBroadcastShape(e,t),N.assertAndGetBroadcastShape(e,n);let i="vec4(0.0)";o!=null&&(N.assertAndGetBroadcastShape(e,o),this.variableNames.push("offset"),i="getOffsetAtOutCoords()");let l="vec4(1.0)";s!=null&&(N.assertAndGetBroadcastShape(e,s),this.variableNames.push("scale"),l="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=` - void main() { - vec4 offset = ${i}; - vec4 scale = ${l}; - - vec4 x = getXAtOutCoords(); - vec4 mean = getMeanAtOutCoords(); - vec4 variance = getVarianceAtOutCoords(); - - vec4 inv = scale * inversesqrt(variance + vec4(${a})); - - setOutput((x - mean) * inv + offset); - } - `}};var P8=({inputs:r,backend:e,attrs:t})=>{let{x:n,mean:o,variance:s,offset:a,scale:i}=r;y.assert(o.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),y.assert(a==null||o.shape.length===a.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),y.assert(i==null||o.shape.length===i.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let{varianceEpsilon:l}=t;l==null&&(l=.001);let u=[n,o,s],c=null;a!=null&&(c=a.shape,u.push(a));let p=null;i!=null&&(p=i.shape,u.push(i));let m=W().getBool("WEBGL_PACK_NORMALIZATION")?new tv(n.shape,o.shape,s.shape,c,p,l):new ev(n.shape,o.shape,s.shape,c,p,l);return e.runWebGLProgram(m,u,u[0].dtype)},L2={kernelName:no,backendName:"webgl",kernelFunc:P8};var rv=class{constructor(e){this.variableNames=["source"],this.outputShape=e,this.rank=e.length;let t=Le(this.rank),n=`uniform int start[${this.rank}];`,o=M8(this.rank),s,a=e.map((i,l)=>`sourceLoc.${nv[l]} = start[${l}] + coords.${nv[l]};`);s=` - ${t} sourceLoc; - ${t} coords = getOutputCoords(); - ${a.join(` -`)} - `,this.userCode=` - ${n} - void main() { - ${s} - setOutput(getSource(${o})); - } - `}getCustomSetupFunc(e){if(e.length!==this.rank)throw Error(`The rank (${this.rank}) of the program must match the length of start (${e.length})`);return(t,n)=>{this.startLoc==null&&(this.startLoc=t.getUniformLocationNoThrow(n,"start"),this.startLoc==null)||t.gl.uniform1iv(this.startLoc,e)}}},nv=["x","y","z","w","u","v"];function M8(r){if(r===1)return"sourceLoc";if(r<=6)return nv.slice(0,r).map(e=>"sourceLoc."+e).join(",");throw Error(`Slicing for rank ${r} is not yet supported`)}var ov=class{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length;let t=Le(this.rank),n=Wt("coords",this.rank),o=Wt("sourceLoc",this.rank),s=this.rank===1?"sourceLoc":`vec2(${o.slice(-2).join()})`,a=`getChannel(getSource(${o.join()}), ${s})`,i=` - result.x = ${a}; - if (++${n[this.rank-1]} < ${e[this.rank-1]}) { - ++${o[this.rank-1]}; - result.y = ${a}; - --${o[this.rank-1]}; - } - `,l=this.rank===1?"":` - --${n[this.rank-1]}; - if (++${n[this.rank-2]} < ${e[this.rank-2]}) { - ++${o[this.rank-2]}; - result.z = ${a}; - if (++${n[this.rank-1]} < ${e[this.rank-1]}) { - ++${o[this.rank-1]}; - result.w = ${a}; - } - } - `,u=this.rank<=4?`sourceLoc = coords + - ${t}(${e.map((c,p)=>`start[${p}]`).join()});`:e.map((c,p)=>`${o[p]} = ${n[p]} + start[${p}];`).join(` -`);this.userCode=` - uniform int start[${this.rank}]; - void main() { - ${t} coords = getOutputCoords(); - ${t} sourceLoc; - ${u} - vec4 result = vec4(0.); - ${i} - ${l} - setOutput(result); - } - `}getCustomSetupFunc(e){if(e.length!==this.rank)throw Error(`The rank (${this.rank}) of the program must match the length of start (${e.length})`);return(t,n)=>{this.startLoc==null&&(this.startLoc=t.getUniformLocationNoThrow(n,"start"),this.startLoc==null)||t.gl.uniform1iv(this.startLoc,e)}}};function L8(r,e,t,n){let o=n.texData.get(r.dataId),s=n.makeTensorInfo(t,r.dtype),a=n.texData.get(s.dataId);Object.assign(a,o),a.complexParentRefCount=0,a.refCount=1,a.shape=t,a.dtype=r.dtype;let i=or.computeFlatOffset(e,y.computeStrides(r.shape));o.slice&&(i+=o.slice.flatOffset),a.slice={flatOffset:i,origDataId:o.slice&&o.slice.origDataId||r.dataId};let l=n.dataRefCount.get(a.slice.origDataId)||1;return n.dataRefCount.set(a.slice.origDataId,l+1),s}function Ba(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{begin:s,size:a}=n,[i,l]=or.parseSliceParams(o,s,a);if(or.assertParamsValid(o,i,l),y.sizeFromShape(l)===0)return t.makeTensorInfo(l,o.dtype,[]);if(t.shouldExecuteOnCPU([o])||o.dtype==="string"){let p=t.texData.get(o.dataId),m=MA(p.values,i,l,o.shape,o.dtype);return t.makeTensorInfo(l,o.dtype,m)}let{isPacked:u}=t.texData.get(o.dataId),c=or.isSliceContinous(o.shape,i,l);if(u||!c){let p=W().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new ov(l):new rv(l),m=p.getCustomSetupFunc(i);return t.runWebGLProgram(p,[o],o.dtype,m)}return t.uploadToGPU(o.dataId),L8(o,i,l,t)}var z2={kernelName:hs,backendName:"webgl",kernelFunc:Ba};var z8=r=>{let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{blockShape:s,crops:a}=n;y.assert(o.shape.length<=4,()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet");let i=s.reduce((b,w)=>b*w),l=N.getReshaped(o.shape,s,i),u=N.getPermuted(l.length,s.length),c=N.getReshapedPermuted(o.shape,s,i),p=N.getSliceBeginCoords(a,s.length),m=N.getSliceSize(c,a,s.length),f=[],d=ce({inputs:{x:o},backend:t,attrs:{shape:l}}),h=zt({inputs:{x:d},backend:t,attrs:{perm:u}}),g=ce({inputs:{x:h},backend:t,attrs:{shape:c}}),x=Ba({inputs:{x:g},backend:t,attrs:{begin:p,size:m}});return f.push(d),f.push(h),f.push(g),f.forEach(b=>t.disposeIntermediateTensorInfo(b)),x},B2={kernelName:sa,backendName:"webgl",kernelFunc:z8};function B8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,weights:s}=e,{size:a}=n,i=t.readSync(o.dataId),l=t.readSync(s.dataId),u=Ug(i,l,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,u)}var V2={kernelName:Ul,backendName:"webgl",kernelFunc:B8};var V8="return float(a != b);",sv=it({opSnippet:V8,dtype:"bool"}),G2={kernelName:wi,backendName:"webgl",kernelFunc:sv};function Va(r){let{inputs:e,backend:t}=r,{input:n}=e,o=t.texData.get(n.dataId);return Ut({inputs:{x:o.complexTensorInfos.real},backend:t})}var j2={kernelName:cu,backendName:"webgl",kernelFunc:Va};var G8="return float(int(x));";function W2(r,e){let t=new rn(r.shape,G8),n=e.runWebGLProgram(t,[r],"int32");return{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}function iv(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{dtype:s}=n;if(s==="complex64"){if(o.dtype==="complex64")return Ut({inputs:{x:o},backend:t});let a=xt(o.shape),i=iv({inputs:{x:o},backend:t,attrs:{dtype:"float32"}}),l=nn({inputs:{real:i,imag:a},backend:t});return a.dispose(),t.disposeIntermediateTensorInfo(i),l}if(o.dtype==="complex64"){let a=Va({inputs:{input:o},backend:t}),i=iv({inputs:{x:a},backend:t,attrs:{dtype:s}});return t.disposeIntermediateTensorInfo(a),i}if(!y.hasEncodingLoss(o.dtype,s)){let a=Ut({inputs:{x:o},backend:t});return{dataId:a.dataId,shape:a.shape,dtype:s}}if(s==="int32")return W2(o,t);if(s==="bool"){let a=t.makeTensorInfo([],"bool",y.getTypedArrayFromDType("bool",1)),l=sv({inputs:{a:o,b:a},backend:t});return t.disposeIntermediateTensorInfo(a),l}throw new Error(`Error in Cast: failed to cast ${o.dtype} to ${s}`)}var U2={kernelName:An,backendName:"webgl",kernelFunc:iv};var q2="return ceil(x);",j8=ve({opSnippet:q2,packedOpSnippet:q2,cpuKernelImpl:bA}),H2={kernelName:ti,backendName:"webgl",kernelFunc:j8};var av=class{constructor(e){this.variableNames=["A"],this.outputShape=e,this.userCode=` - uniform float minVal; - uniform float maxVal; - - void main() { - float value = getAAtOutCoords(); - if (isnan(value)) { - setOutput(value); - return; - } - - setOutput(clamp(value, minVal, maxVal)); - } - `}getCustomSetupFunc(e,t){return(n,o)=>{this.minLoc==null&&(this.minLoc=n.getUniformLocationNoThrow(o,"minVal"),this.maxLoc=n.getUniformLocationNoThrow(o,"maxVal")),n.gl.uniform1f(this.minLoc,e),n.gl.uniform1f(this.maxLoc,t)}}};var lv=class{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.userCode=` - uniform float minVal; - uniform float maxVal; - - void main() { - vec4 value = getAAtOutCoords(); - - if (any(isnan(value))) { - setOutput(value); - return; - } - - setOutput(clamp(value, vec4(minVal), vec4(maxVal))); - } - `}getCustomSetupFunc(e,t){return(n,o)=>{this.minLoc==null&&(this.minLoc=n.getUniformLocationNoThrow(o,"minVal"),this.maxLoc=n.getUniformLocationNoThrow(o,"maxVal")),n.gl.uniform1f(this.minLoc,e),n.gl.uniform1f(this.maxLoc,t)}}};function W8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{clipValueMin:s,clipValueMax:a}=n,i;W().getBool("WEBGL_PACK_CLIP")?i=new lv(o.shape):i=new av(o.shape);let l=i.getCustomSetupFunc(s,a);return t.runWebGLProgram(i,[o],o.dtype,l)}var K2={kernelName:Dn,backendName:"webgl",kernelFunc:W8};var uv=class{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,this.userCode=` - void main() { - float re = abs(getRealAtOutCoords()); - float im = abs(getImagAtOutCoords()); - float mx = max(re, im); - - // sadly the length function in glsl is not underflow-safe - // (at least not on Intel GPUs). So the safe solution is - // to ensure underflow-safety in all cases. - setOutput( - mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx)) - ); - } - `}};function X2(r,e){return{dataId:e.dataId,dtype:e.dtype,shape:r.shape}}function U8(r){let{inputs:e,backend:t}=r,{x:n}=e,o=t.texData.get(n.dataId),s=new uv(n.shape),a=[X2(n,o.complexTensorInfos.real),X2(n,o.complexTensorInfos.imag)];return t.runWebGLProgram(s,a,a[0].dtype)}var Y2={kernelName:ia,backendName:"webgl",kernelFunc:U8};var cv=class{constructor(e){this.outputShape=[],this.outputShape=N.computeOutShape(e,1),this.variableNames=e.map((a,i)=>`T${i}`);let t=new Array(e.length-1);t[0]=e[0][1];for(let a=1;a`T${g}`);let l=new Array(e.length-1);l[0]=e[0][t];for(let h=1;h= ${l[h-1]}) { - return getChannel( - getT${h}(${tx(i,u,g)}), - vec2(${tx(c,u,g)})); - }`}let f=l.length,d=l[l.length-1];m+=` - return getChannel( - getT${f}(${tx(i,u,d)}), - vec2(${tx(c,u,d)}));`,this.userCode=` - float getValue(${i.map(h=>"int "+h)}) { - ${m} - } - - void main() { - ${s} coords = getOutputCoords(); - vec4 result = vec4(getValue(${a}), 0., 0., 0.); - - ${a[o-1]} = ${a[o-1]} + 1; - if (${a[o-1]} < ${n[o-1]}) { - result.g = getValue(${a}); - } - - ${a[o-2]} = ${a[o-2]} + 1; - if (${a[o-2]} < ${n[o-2]}) { - result.a = getValue(${a}); - } - - ${a[o-1]} = ${a[o-1]} - 1; - if (${a[o-2]} < ${n[o-2]} && - ${a[o-1]} < ${n[o-1]}) { - result.b = getValue(${a}); - } - setOutput(result); - } - `}};function tx(r,e,t){let n=r.indexOf(e);return r.map((s,a)=>a===n?`${s} - ${t}`:s).join()}function ec(r){let{inputs:e,backend:t}=r,{input:n}=e,o=t.texData.get(n.dataId);return Ut({inputs:{x:o.complexTensorInfos.imag},backend:t})}var Z2={kernelName:nu,backendName:"webgl",kernelFunc:ec};function tc(r,e,t){let n=r[0].dtype;if(n==="complex64"){let u=r.map(d=>Va({inputs:{input:d},backend:t})),c=r.map(d=>ec({inputs:{input:d},backend:t})),p=tc(u,e,t),m=tc(c,e,t),f=nn({inputs:{real:p,imag:m},backend:t});return u.forEach(d=>t.disposeIntermediateTensorInfo(d)),c.forEach(d=>t.disposeIntermediateTensorInfo(d)),t.disposeIntermediateTensorInfo(p),t.disposeIntermediateTensorInfo(m),f}if(n==="string"){let{tensors2D:u,outShape:c}=J2(r,e,t),p=u.map(g=>({vals:t.readSync(g.dataId),shape:g.shape})),m=u[0].shape[0]===1,f=wA(p,c,n,m),d=N.computeOutShape(r.map(g=>g.shape),e),h=t.makeTensorInfo(d,n,f);return u.forEach(g=>t.disposeIntermediateTensorInfo(g)),h}if(r.length>W().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){let u=Math.floor(r.length/2),c=tc(r.slice(0,u),e,t),p=tc(r.slice(u),e,t),m=tc([c,p],e,t);return t.disposeIntermediateTensorInfo(c),t.disposeIntermediateTensorInfo(p),m}if(W().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&r[0].shape.length>1){let u=new pv(r.map(c=>c.shape),e);return t.runWebGLProgram(u,r,n)}let{tensors2D:o,outShape:s}=J2(r,e,t),a=new cv(o.map(u=>u.shape)),i=t.runWebGLProgram(a,o,n);o.forEach(u=>t.disposeIntermediateTensorInfo(u));let l=ce({inputs:{x:i},attrs:{shape:s},backend:t});return t.disposeIntermediateTensorInfo(i),l}function J2(r,e,t){let n=N.computeOutShape(r.map(s=>s.shape),e);return{tensors2D:r.map(s=>ce({inputs:{x:s},attrs:{shape:[-1,y.sizeFromShape(s.shape.slice(e))]},backend:t})),outShape:n}}function mv(r){let{inputs:e,backend:t,attrs:n}=r,{axis:o}=n,s=y.parseAxisParam(o,e[0].shape)[0],a=N.computeOutShape(e.map(u=>u.shape),s);if(y.sizeFromShape(a)===0)return t.makeTensorInfo(a,e[0].dtype,[]);let i=e.filter(u=>y.sizeFromShape(u.shape)>0);if(i.length===1)return Ut({inputs:{x:i[0]},backend:t});let l=i.map(u=>u.shape);return N.assertParamsConsistent(l,s),tc(i,s,t)}var Q2={kernelName:is,backendName:"webgl",kernelFunc:mv};var Af=class{constructor(e,t=!1,n=null,o=!1,s=!1){this.variableNames=["x","W"],this.outputShape=e.outShape;let a=e.padInfo.top,i=e.padInfo.left,l=e.strideHeight,u=e.strideWidth,c=e.dilationHeight,p=e.dilationWidth,m=e.filterHeight,f=e.filterWidth,d=Math.floor(e.inChannels/4)*4,h=e.inChannels%4,g=e.dataFormat==="channelsLast",x=g?1:2,b=g?2:3,w=g?3:1,_="",k="";n&&(o?_=`float activation(float a) { - float b = getPreluActivationWeightsAtOutCoords(); - ${n} - }`:s?_=`float activation(float a) { - float b = getLeakyreluAlphaAtOutCoords(); - ${n} - }`:_=` - float activation(float x) { - ${n} - } - `,k="result = activation(result);");let E=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),o&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=` - ${_} - - const ivec2 strides = ivec2(${l}, ${u}); - const ivec2 pads = ivec2(${a}, ${i}); - - void main() { - ivec4 coords = getOutputCoords(); - int batch = coords[0]; - int d2 = coords[${w}]; - - ivec2 xRCCorner = - ivec2(coords[${x}], coords[${b}]) * strides - pads; - int xRCorner = xRCCorner.x; - int xCCorner = xRCCorner.y; - - // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2). - // ? = to be determined. : = across all values in that axis. - float dotProd = 0.0; - for (int wR = 0; wR < ${m}; wR++) { - int xR = xRCorner + wR * ${c}; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int wC = 0; wC < ${f}; wC++) { - int xC = xCCorner + wC * ${p}; - - if (xC < 0 || xC >= ${e.inWidth}) { - continue; - } - - for (int d1 = 0; d1 < ${d}; d1 += 4) { - vec4 wValues = vec4( - getW(wR, wC, d1, d2), - getW(wR, wC, d1 + 1, d2), - getW(wR, wC, d1 + 2, d2), - getW(wR, wC, d1 + 3, d2) - ); - - if (${g}) { - vec4 xValues = vec4( - getX(batch, xR, xC, d1), - getX(batch, xR, xC, d1 + 1), - getX(batch, xR, xC, d1 + 2), - getX(batch, xR, xC, d1 + 3) - ); - dotProd += dot(xValues, wValues); - } else { - vec4 xValues = vec4( - getX(batch, d1, xR, xC), - getX(batch, d1 + 1, xR, xC), - getX(batch, d1 + 2, xR, xC), - getX(batch, d1 + 3, xR, xC) - ); - dotProd += dot(xValues, wValues); - } - } - - if (${h===1}) { - - if (${g}) { - dotProd += - getX(batch, xR, xC, ${d}) * - getW(wR, wC, ${d}, d2); - } else { - dotProd += - getX(batch, ${d}, xR, xC) * - getW(wR, wC, ${d}, d2); - } - - } else if (${h===2}) { - vec2 wValues = vec2( - getW(wR, wC, ${d}, d2), - getW(wR, wC, ${d} + 1, d2) - ); - - if (${g}) { - vec2 xValues = vec2( - getX(batch, xR, xC, ${d}), - getX(batch, xR, xC, ${d} + 1) - ); - dotProd += dot(xValues, wValues); - } else { - vec2 xValues = vec2( - getX(batch, ${d}, xR, xC), - getX(batch, ${d} + 1, xR, xC) - ); - dotProd += dot(xValues, wValues); - } - - } else if (${h===3}) { - vec3 wValues = vec3( - getW(wR, wC, ${d}, d2), - getW(wR, wC, ${d} + 1, d2), - getW(wR, wC, ${d} + 2, d2) - ); - - if (${g}) { - vec3 xValues = vec3( - getX(batch, xR, xC, ${d}), - getX(batch, xR, xC, ${d} + 1), - getX(batch, xR, xC, ${d} + 2) - ); - dotProd += dot(xValues, wValues); - } else { - vec3 xValues = vec3( - getX(batch, ${d}, xR, xC), - getX(batch, ${d} + 1, xR, xC), - getX(batch, ${d} + 2, xR, xC) - ); - dotProd += dot(xValues, wValues); - } - - } - } - } - - float result = dotProd; - ${E} - ${k} - setOutput(result); - } - `}},fv=class{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;let t=e.padInfo.front,n=e.padInfo.top,o=e.padInfo.left,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,l=e.dilationDepth,u=e.dilationHeight,c=e.dilationWidth,p=e.filterDepth,m=e.filterHeight,f=e.filterWidth,d=Math.floor(e.inChannels/4)*4,h=e.inChannels%4;this.userCode=` - const ivec3 strides = ivec3(${s}, ${a}, ${i}); - const ivec3 pads = ivec3(${t}, ${n}, ${o}); - - void main() { - ivec5 coords = getOutputCoords(); - int batch = coords.x; - int d2 = coords.u; - - ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads; - int xFCorner = xFRCCorner.x; - int xRCorner = xFRCCorner.y; - int xCCorner = xFRCCorner.z; - - // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get - // y(yF, yR, yC, d2). ? = to be determined. : = across all - // values in that axis. - float dotProd = 0.0; - for (int wF = 0; wF < ${p}; wF++) { - int xF = xFCorner + wF * ${l}; - - if (xF < 0 || xF >= ${e.inDepth}) { - continue; - } - - for (int wR = 0; wR < ${m}; wR++) { - int xR = xRCorner + wR * ${u}; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int wC = 0; wC < ${f}; wC++) { - int xC = xCCorner + wC * ${c}; - - if (xC < 0 || xC >= ${e.inWidth}) { - continue; - } - - for (int d1 = 0; d1 < ${d}; d1 += 4) { - vec4 xValues = vec4( - getX(batch, xF, xR, xC, d1), - getX(batch, xF, xR, xC, d1 + 1), - getX(batch, xF, xR, xC, d1 + 2), - getX(batch, xF, xR, xC, d1 + 3) - ); - vec4 wValues = vec4( - getW(wF, wR, wC, d1, d2), - getW(wF, wR, wC, d1 + 1, d2), - getW(wF, wR, wC, d1 + 2, d2), - getW(wF, wR, wC, d1 + 3, d2) - ); - - dotProd += dot(xValues, wValues); - } - - if (${h===1}) { - dotProd += - getX(batch, xF, xR, xC, ${d}) * - getW(wF, wR, wC, ${d}, d2); - } else if (${h===2}) { - vec2 xValues = vec2( - getX(batch, xF, xR, xC, ${d}), - getX(batch, xF, xR, xC, ${d} + 1) - ); - vec2 wValues = vec2( - getW(wF, wR, wC, ${d}, d2), - getW(wF, wR, wC, ${d} + 1, d2) - ); - dotProd += dot(xValues, wValues); - } else if (${h===3}) { - vec3 xValues = vec3( - getX(batch, xF, xR, xC, ${d}), - getX(batch, xF, xR, xC, ${d} + 1), - getX(batch, xF, xR, xC, ${d} + 2) - ); - vec3 wValues = vec3( - getW(wF, wR, wC, ${d}, d2), - getW(wF, wR, wC, ${d} + 1, d2), - getW(wF, wR, wC, ${d} + 2, d2) - ); - dotProd += dot(xValues, wValues); - } - } - } - } - setOutput(dotProd); - } - `}};var dv=class{constructor(e,t,n){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e;let{filterWidth:o,inChannels:s,strideWidth:a,strideHeight:i,padInfo:l,outWidth:u,dilationWidth:c,dilationHeight:p,dataFormat:m}=n,{left:f,top:d}=l,h=s*o,g=Pt(),x=m==="channelsLast",b=x?0:1,w=x?1:2,_="";for(let k=0;k<=1;k++)for(let E=0;E<=1;E++)_+=` - blockIndex = rc.y + ${E}; - pos = rc.x + ${k}; - - if(blockIndex < ${e[1]} && pos < ${e[0]}) { - offsetY = int(blockIndex / (${u})) * ${i} - ${d}; - d0 = offsetY + ${p} * (pos / ${h}); - - if(d0 < ${t[b]} && d0 >= 0) { - - offsetX = int(mod(float(blockIndex), ${u}.) * ${a}. - ${f}.); - d1 = offsetX + ${c} * (int(mod(float(pos), ${h}.) / ${s}.)); - - if(d1 < ${t[w]} && d1 >= 0) { - - ch = int(mod(float(pos), ${s}.)); - - if (${x}) { - innerDims = vec2(d1, ch); - result[${k*2+E}] = getChannel( - getA(d0, int(innerDims.x), - int(innerDims.y)), innerDims); - } else { - innerDims = vec2(d0, d1); - result[${k*2+E}] = getChannel( - getA(ch, int(innerDims.x), - int(innerDims.y)), innerDims); - } - } - } - } - `;this.userCode=` - void main() { - ivec2 rc = getOutputCoords(); - - vec4 result = vec4(0); - - int blockIndex, pos, offsetY, d0, offsetX, d1, ch; - vec2 innerDims; - - ${_} - - ${g.output} = result; - } - `}};function rx({x:r,filter:e,convInfo:t,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let l=r.shape,u=n.texData.get(r.dataId),c=t.inChannels,p=l[0]*l[1]*l[2],m=t.outChannels,f=t.dataFormat==="channelsLast",d=!1,h=!1,g,x=[],b=(p===1||m===1)&&c>Hk,w=l[2]%2!=0&&!!u.isPacked;if(b||!W().getBool("WEBGL_LAZILY_UNPACK")||!W().getBool("WEBGL_PACK_BINARY_OPERATIONS")||!w){let _=f?l[0]*l[1]*l[2]:l[0]*l[2]*l[3],k=ce({inputs:{x:r},backend:n,attrs:{shape:[1,_,t.inChannels]}}),E=ce({inputs:{x:e},backend:n,attrs:{shape:[1,t.inChannels,t.outChannels]}}),S=Ju({a:k,b:E,transposeA:d,transposeB:h,backend:n,bias:o,activation:i,preluActivationWeights:s,leakyreluAlpha:a});g=ce({inputs:{x:S},backend:n,attrs:{shape:t.outShape}}),x.push(k),x.push(E),x.push(S)}else{let _=f?l[0]*l[1]*(l[2]+1):l[0]*l[2]*(l[3]+1),k={dataId:r.dataId,shape:[1,_,t.inChannels],dtype:r.dtype},E=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,y.assert(hl(u.shape,k.shape),()=>`packed reshape ${u.shape} to ${k.shape} isn't free`);let S=ce({inputs:{x:e},backend:n,attrs:{shape:[1,t.inChannels,t.outChannels]}});x.push(S);let R=Ju({a:k,b:S,backend:n,transposeA:d,transposeB:h,bias:o,activation:i,preluActivationWeights:s,leakyreluAlpha:a}),F=n.texData.get(R.dataId);y.assert(F.isPacked,()=>"batchMatMul result is expected to be packed"),u.shape=E,F.shape=t.outShape,g=Ut({inputs:{x:R},backend:n}),g.shape=t.outShape,x.push(R)}for(let _ of x)n.disposeIntermediateTensorInfo(_);return g}function nx({x:r,filter:e,convInfo:t,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:a=0,activation:i=null}){let{filterWidth:l,filterHeight:u,inChannels:c,outWidth:p,outHeight:m,dataFormat:f}=t,d=f==="channelsLast",h=l*u*c,g=m*p,x=[h,g],b=!0,w=!1,_=[],k=ce({inputs:{x:r},backend:n,attrs:{shape:r.shape.slice(1)}}),E=ce({inputs:{x:e},backend:n,attrs:{shape:[1,h,y.sizeFromShape(e.shape)/h]}});_.push(k),_.push(E);let S=new dv(x,k.shape,t),R=n.runWebGLProgram(S,[k],"float32"),F=ce({inputs:{x:R},backend:n,attrs:{shape:[1,x[0],x[1]]}});_.push(R),_.push(F);let P=o!=null,j=s!=null,G=i==="leakyrelu",U=i?xl(i,!0):null,X=new Tf(F.shape,E.shape,[1,g,t.outChannels],b,w,P,U,j,G),K=[F,E];if(o&&K.push(o),j&&K.push(s),G){let re=n.makeTensorInfo([],"float32",y.createScalarValue(a,"float32"));K.push(re),_.push(re)}let Z=n.runWebGLProgram(X,K,"float32"),te=d?[1,m,p,t.outChannels]:[1,t.outChannels,m,p],Y=ce({inputs:{x:Z},backend:n,attrs:{shape:te}});_.push(Z);for(let re of _)n.disposeIntermediateTensorInfo(re);return Y}function q8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,filter:s}=e,{strides:a,pad:i,dataFormat:l,dilations:u,dimRoundingMode:c}=n,p=N.convertConv2DDataFormat(l),m=N.computeConv2DInfo(o.shape,s.shape,a,u,i,c,!1,p),f;if(m.filterHeight===1&&m.filterWidth===1&&m.dilationHeight===1&&m.dilationWidth===1&&m.strideHeight===1&&m.strideWidth===1&&(m.padInfo.type==="SAME"||m.padInfo.type==="VALID"))f=rx({x:o,filter:s,convInfo:m,backend:t});else if(W().getBool("WEBGL_CONV_IM2COL")&&o.shape[0]===1)f=nx({x:o,filter:s,convInfo:m,backend:t});else{let h=new Af(m);f=t.runWebGLProgram(h,[o,s],"float32")}let d=ce({inputs:{x:f},backend:t,attrs:{shape:m.outShape}});return t.disposeIntermediateTensorInfo(f),d}var eD={kernelName:Kn,backendName:"webgl",kernelFunc:q8};var hv=class{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;let t=e.strideHeight,n=e.strideWidth,o=e.padInfo.top,s=e.padInfo.left,a=e.dataFormat==="channelsLast";this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int wR = coords.x; - int wC = coords.y; - int d1 = coords.z; - int d2 = coords.w; - - // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2). - // ? = to be determined. : = across all values in that axis. - float dotProd = 0.0; - - for (int b = 0; b < ${e.batchSize}; b++) { - for (int yR = 0; yR < ${e.outHeight}; yR++) { - int xR = wR + yR * ${t} - ${o}; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int yC = 0; yC < ${e.outWidth}; yC++) { - int xC = wC + yC * ${n} - ${s}; - - if (xC < 0 || xC >= ${e.inWidth}) { - continue; - } - - if (${a}) { - float dyValue = getDy(b, yR, yC, d2); - float xValue = getX(b, xR, xC, d1); - dotProd += (xValue * dyValue); - } else { - float dyValue = getDy(b, d2, yR, yC); - float xValue = getX(b, d1, xR, xC); - dotProd += (xValue * dyValue); - } - - } - } - } - setOutput(dotProd); - } - `}},gv=class{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;let t=e.filterHeight,n=e.filterWidth,o=e.strideHeight,s=e.strideWidth,a=e.dataFormat==="channelsLast",i=t-1-e.padInfo.top,l=n-1-e.padInfo.left,u=a?1:2,c=a?2:3,p=a?3:1;this.userCode=` - const ivec2 pads = ivec2(${i}, ${l}); - - void main() { - ivec4 coords = getOutputCoords(); - int batch = coords[0]; - int d1 = coords[${p}]; - - ivec2 dyCorner = ivec2(coords[${u}], coords[${c}]) - pads; - int dyRCorner = dyCorner.x; - int dyCCorner = dyCorner.y; - - // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1). - // ? = to be determined. : = across all values in that axis. - float dotProd = 0.0; - for (int wR = 0; wR < ${t}; wR++) { - float dyR = float(dyRCorner + wR) / ${o}.0; - - if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) { - continue; - } - int idyR = int(dyR); - - int wRPerm = ${t} - 1 - wR; - - for (int wC = 0; wC < ${n}; wC++) { - float dyC = float(dyCCorner + wC) / ${s}.0; - - if (dyC < 0.0 || dyC >= ${e.outWidth}.0 || - fract(dyC) > 0.0) { - continue; - } - int idyC = int(dyC); - - int wCPerm = ${n} - 1 - wC; - - for (int d2 = 0; d2 < ${e.outChannels}; d2++) { - - if (${a}) { - float xValue = getDy(batch, idyR, idyC, d2); - float wValue = getW(wRPerm, wCPerm, d1, d2); - dotProd += xValue * wValue; - } else { - float xValue = getDy(batch, d2, idyR, idyC); - float wValue = getW(wRPerm, wCPerm, d1, d2); - dotProd += xValue * wValue; - } - - } - } - } - setOutput(dotProd); - } - `}},xv=class{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;let t=e.strideDepth,n=e.strideHeight,o=e.strideWidth,s=e.padInfo.front,a=e.padInfo.top,i=e.padInfo.left;this.userCode=` - void main() { - ivec5 coords = getOutputCoords(); - int wF = coords.x; - int wR = coords.y; - int wC = coords.z; - int d1 = coords.w; - int d2 = coords.u; - - float dotProd = 0.0; - - for (int b = 0; b < ${e.batchSize}; b++) { - for (int yF = 0; yF < ${e.outDepth}; yF++) { - int xF = wF + yF * ${t} - ${s}; - - if (xF < 0 || xF >= ${e.inDepth}) { - continue; - } - - for (int yR = 0; yR < ${e.outHeight}; yR++) { - int xR = wR + yR * ${n} - ${a}; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int yC = 0; yC < ${e.outWidth}; yC++) { - int xC = wC + yC * ${o} - ${i}; - - if (xC < 0 || xC >= ${e.inWidth}) { - continue; - } - - float dyValue = getDy(b, yF, yR, yC, d2); - float xValue = getX(b, xF, xR, xC, d1); - dotProd += (xValue * dyValue); - } - } - } - } - setOutput(dotProd); - } - `}},yv=class{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;let t=e.filterDepth,n=e.filterHeight,o=e.filterWidth,s=e.strideDepth,a=e.strideHeight,i=e.strideWidth,l=t-1-e.padInfo.front,u=n-1-e.padInfo.top,c=o-1-e.padInfo.left;this.userCode=` - const ivec3 pads = ivec3(${l}, ${u}, ${c}); - - void main() { - ivec5 coords = getOutputCoords(); - int batch = coords.x; - int d1 = coords.u; - - - ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads; - int dyFCorner = dyCorner.x; - int dyRCorner = dyCorner.y; - int dyCCorner = dyCorner.z; - - float dotProd = 0.0; - for (int wF = 0; wF < ${t}; wF++) { - float dyF = float(dyFCorner + wF) / ${s}.0; - - if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) { - continue; - } - int idyF = int(dyF); - - int wFPerm = ${t} - 1 - wF; - - for (int wR = 0; wR < ${n}; wR++) { - float dyR = float(dyRCorner + wR) / ${a}.0; - - if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || - fract(dyR) > 0.0) { - continue; - } - int idyR = int(dyR); - - int wRPerm = ${n} - 1 - wR; - - for (int wC = 0; wC < ${o}; wC++) { - float dyC = float(dyCCorner + wC) / ${i}.0; - - if (dyC < 0.0 || dyC >= ${e.outWidth}.0 || - fract(dyC) > 0.0) { - continue; - } - int idyC = int(dyC); - - int wCPerm = ${o} - 1 - wC; - - for (int d2 = 0; d2 < ${e.outChannels}; d2++) { - float xValue = getDy(batch, idyF, idyR, idyC, d2); - float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2); - dotProd += xValue * wValue; - } - } - } - } - setOutput(dotProd); - } - `}};function H8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,dy:s}=e,{strides:a,pad:i,dataFormat:l,dimRoundingMode:u,filterShape:c}=n,p=N.convertConv2DDataFormat(l),m=N.computeConv2DInfo(o.shape,c,a,1,i,u,!1,p),f=new hv(m);return t.runWebGLProgram(f,[o,s],"float32")}var tD={kernelName:Hl,backendName:"webgl",kernelFunc:H8};function K8(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,filter:s}=e,{inputShape:a,strides:i,pad:l,dataFormat:u,dimRoundingMode:c}=n,p=N.convertConv2DDataFormat(u),m=N.computeConv2DInfo(a,s.shape,i,1,l,c,!1,p),f=new gv(m);return t.runWebGLProgram(f,[o,s],"float32")}var rD={kernelName:Xn,backendName:"webgl",kernelFunc:K8};function X8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,filter:s}=e,{strides:a,pad:i,dilations:l}=n,u=N.computeConv3DInfo(o.shape,s.shape,a,l,i),c=new fv(u);return t.runWebGLProgram(c,[o,s],"float32")}var nD={kernelName:aa,backendName:"webgl",kernelFunc:X8};function Y8(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,dy:s}=e,{strides:a,pad:i,filterShape:l}=n,u=N.computeConv3DInfo(o.shape,l,a,1,i),c=new xv(u);return t.runWebGLProgram(c,[o,s],"float32")}var oD={kernelName:Kl,backendName:"webgl",kernelFunc:Y8};function Z8(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,filter:s}=e,{pad:a,strides:i,inputShape:l}=n,u=N.computeConv3DInfo(l,s.shape,i,1,a),c=new yv(u);return t.runWebGLProgram(c,[o,s],"float32")}var sD={kernelName:Xl,backendName:"webgl",kernelFunc:Z8};var J8=Yg+` - return cos(x); -`,Q8=ve({opSnippet:J8}),iD={kernelName:Yn,backendName:"webgl",kernelFunc:Q8};var eX=` - float e2x = exp(-x); - return (e2x + 1.0 / e2x) / 2.0; -`,tX=ve({opSnippet:eX}),aD={kernelName:ri,backendName:"webgl",kernelFunc:tX};var bv=class{constructor(e,t,n,o,s){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];let[a,i,l,u]=e,[c]=t,[p,m]=n;this.outputShape=[c,p,m,u];let f=o==="bilinear"?1:0,[d,h]=[`${i-1}.0`,`${l-1}.0`],[g,x,b]=p>1?[`${(i-1)/(p-1)}`,"(y2-y1) * height_ratio",`y1*${d} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${d}`],[w,_,k]=m>1?[`${(l-1)/(m-1)}`,"(x2-x1) * width_ratio",`x1*${h} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${h}`];this.userCode=` - const float height_ratio = float(${g}); - const float width_ratio = float(${w}); - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int y = coords[1]; - int x = coords[2]; - int d = coords[3]; - - // get box vals - float y1 = getBoxes(b,0); - float x1 = getBoxes(b,1); - float y2 = getBoxes(b,2); - float x2 = getBoxes(b,3); - - // get image in batch index - int bInd = round(getBoxInd(b)); - if(bInd < 0 || bInd >= ${a}) { - return; - } - - float height_scale = ${x}; - float width_scale = ${_}; - - float in_y = ${b}; - if( in_y < 0.0 || in_y > ${d} ) { - setOutput(float(${s})); - return; - } - float in_x = ${k}; - if( in_x < 0.0 || in_x > ${h} ) { - setOutput(float(${s})); - return; - } - - vec2 sourceFracIndexCR = vec2(in_x,in_y); - if(${f} == 1) { - // Compute the four integer indices. - ivec2 sourceFloorCR = ivec2(sourceFracIndexCR); - ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR)); - - float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d); - float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d); - float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d); - float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d); - - vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR); - - float top = topLeft + (topRight - topLeft) * fracCR.x; - float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x; - float newValue = top + (bottom - top) * fracCR.y; - setOutput(newValue); - } else { - // Compute the coordinators of nearest neighbor point. - ivec2 sourceNearestCR = ivec2(floor( - sourceFracIndexCR + vec2(0.5,0.5))); - float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d); - setOutput(newValue); - } - } - `}};var rX=r=>{let{inputs:e,backend:t,attrs:n}=r,{image:o,boxes:s,boxInd:a}=e,{cropSize:i,method:l,extrapolationValue:u}=n,c=new bv(o.shape,s.shape,i,l,u);return t.runWebGLProgram(c,[o,s,a],"float32")},lD={kernelName:ni,backendName:"webgl",kernelFunc:rX};var ox=class{constructor(e,t,n){this.variableNames=["x"],this.outputShape=e;let o=e.length,s=t?"0.0":`getX(${uD(o,"coords")})`,a=e[e.length-1],i="",l="";t?(i=n?`end != ${a-1}`:"end != 0",l=n?"end + 1":"end - 1"):(i=n?`end + pow2 < ${a}`:"end >= pow2",l=n?"end + pow2":"end - pow2"),this.userCode=` - uniform float index; - void main() { - ${Le(o)} coords = getOutputCoords(); - int end = ${cD(o,"coords")}; - float val = ${s}; - int pow2 = int(pow(2.0, index)); - if (${i}) { - int idx = ${l}; - ${cD(o,"coords")} = idx; - val += getX(${uD(o,"coords")}); - } - setOutput(val); - } - `}getCustomSetupFunc(e){return(t,n)=>{this.index==null&&(this.index=t.getUniformLocation(n,"index")),t.gl.uniform1f(this.index,e)}}};function uD(r,e){if(r===1)return`${e}`;if(r===2)return`${e}.x, ${e}.y`;if(r===3)return`${e}.x, ${e}.y, ${e}.z`;if(r===4)return`${e}.x, ${e}.y, ${e}.z, ${e}.w`;throw Error(`Cumulative sum for rank ${r} is not yet supported`)}function cD(r,e){if(r===1)return`${e}`;if(r===2)return`${e}.y`;if(r===3)return`${e}.z`;if(r===4)return`${e}.w`;throw Error(`Cumulative sum for rank ${r} is not yet supported`)}function nX(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s,exclusive:a,reverse:i}=n,l=o.shape.length,u=N.getAxesPermutation([s],l),c=o;u!=null&&(c=zt({inputs:{x:o},backend:t,attrs:{perm:u}}));let p=N.getInnerMostAxes(1,l)[0];if(p!==l-1)throw new Error(`WebGL cumsum shader expects an inner-most axis=${o.shape.length-1} but got axis=${s}`);let m=o.shape[p],f=Ut({inputs:{x:c},backend:t});for(let d=0;d<=Math.ceil(Math.log2(m))-1;d++){let h=new ox(c.shape,!1,i),g=h.getCustomSetupFunc(d),x=f;f=t.runWebGLProgram(h,[f],f.dtype,g),t.disposeIntermediateTensorInfo(x)}if(a){let d=new ox(c.shape,a,i),h=f;f=t.runWebGLProgram(d,[f],f.dtype),t.disposeIntermediateTensorInfo(h)}if(u!=null){let d=N.getUndoAxesPermutation(u),h=zt({inputs:{x:f},backend:t,attrs:{perm:d}});return t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(c),h}return f}var pD={kernelName:Zn,backendName:"webgl",kernelFunc:nX};function oX(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,weights:s}=e,{size:a,binaryOutput:i}=n;if(o.shape.length===1){let l=t.readSync(o.dataId),u=t.readSync(s.dataId),c=Ug(l,u,s.dtype,s.shape,a);return t.makeTensorInfo([a],s.dtype,c)}else if(o.shape.length===2){let l=t.bufferSync(o),u=t.bufferSync(s),c=yA(l,u,a,i);return t.makeTensorInfo(c.shape,s.dtype,c.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${o.shape.length}.`)}var mD={kernelName:Yl,backendName:"webgl",kernelFunc:oX};var wv=class{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=n,this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int h = ${this.getHeightCoordString()}; - int w = ${this.getWidthCoordString()}; - int d = ${this.getDepthCoordString()}; - - int in_h = h / ${t}; - int offset_h = imod(h, ${t}); - int in_w = w / ${t}; - int offset_w = imod(w, ${t}); - int offset_d = (offset_h * ${t} + offset_w) * - ${this.getOutputDepthSize()}; - int in_d = d + offset_d; - - float result = ${this.getInputSamplingString()}; - setOutput(result); - } - `}getHeightCoordString(){return this.dataFormat==="NHWC"?"coords[1]":"coords[2]"}getWidthCoordString(){return this.dataFormat==="NHWC"?"coords[2]":"coords[3]"}getDepthCoordString(){return this.dataFormat==="NHWC"?"coords[3]":"coords[1]"}getOutputDepthSize(){return this.dataFormat==="NHWC"?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return this.dataFormat==="NHWC"?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}};function sX(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{blockSize:s,dataFormat:a}=n;y.assert(s>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${s}`);let i=o.shape[0],l=a==="NHWC"?o.shape[1]:o.shape[2],u=a==="NHWC"?o.shape[2]:o.shape[3],c=a==="NHWC"?o.shape[3]:o.shape[1],p=l*s,m=u*s,f=c/(s*s),d=a==="NHWC"?[i,p,m,f]:[i,f,p,m],h=new wv(d,s,a);return t.runWebGLProgram(h,[o],o.dtype)}var fD={kernelName:oi,backendName:"webgl",kernelFunc:sX};var Df=class{constructor(e,t=!1,n=null,o=!1,s=!1){this.variableNames=["x","W"],this.outputShape=e.outShape;let a=e.inHeight,i=e.inWidth,l=e.padInfo.top,u=e.padInfo.left,c=e.strideHeight,p=e.strideWidth,m=e.dilationHeight,f=e.dilationWidth,d=e.filterHeight,h=e.filterWidth,g=e.outChannels/e.inChannels,x="",b="";n&&(o?x=`float activation(float a) { - float b = getPreluActivationWeightsAtOutCoords(); - ${n} - }`:s?x=`float activation(float a) { - float b = getLeakyreluAlphaAtOutCoords(); - ${n} - }`:x=` - float activation(float x) { - ${n} - } - `,b="result = activation(result);");let w=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),o&&this.variableNames.push("preluActivationWeights"),s&&this.variableNames.push("leakyreluAlpha"),this.userCode=` - ${x} - - const ivec2 strides = ivec2(${c}, ${p}); - const ivec2 pads = ivec2(${l}, ${u}); - - void main() { - ivec4 coords = getOutputCoords(); - int batch = coords.x; - ivec2 xRCCorner = coords.yz * strides - pads; - int d2 = coords.w; - int d1 = d2 / ${g}; - int q = d2 - d1 * ${g}; - - int xRCorner = xRCCorner.x; - int xCCorner = xRCCorner.y; - - // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2). - // ? = to be determined. : = across all values in that axis. - float dotProd = 0.0; - // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations. - for (int wR = 0; wR < ${d}; wR++) { - int xR = xRCorner + wR * ${m}; - - if (xR < 0 || xR >= ${a}) { - continue; - } - - for (int wC = 0; wC < ${h}; wC++) { - int xC = xCCorner + wC * ${f}; - - if (xC < 0 || xC >= ${i}) { - continue; - } - - float xVal = getX(batch, xR, xC, d1); - float wVal = getW(wR, wC, d1, q); - dotProd += xVal * wVal; - } - } - - float result = dotProd; - ${w} - ${b} - setOutput(result); - } - `}};var $f=class{constructor(e,t=!1,n=null,o=!1,s=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e.outShape;let a=e.inHeight,i=e.inWidth,l=e.padInfo.top,u=e.padInfo.left,c=e.strideHeight,p=e.strideWidth,m=e.dilationHeight,f=e.dilationWidth,d=e.filterHeight,h=e.filterWidth,g=h,x="int xR; int xC; int xCOffset;";for(let k=0;k= 0 && xR < ${a} && xCOffset >= 0 && xCOffset < ${i}) { - xTexelR${k}C${S} = getX(batch, xR, xCOffset, d1); - - // Need to manually clear unused channels in case - // we're reading from recycled texture. - if(xCOffset + 1 >= ${i}) { - xTexelR${k}C${S}.zw = vec2(0.); - } - } else { - xTexelR${k}C${S} = vec4(0.); - } - - xCOffset = xC + 1 - 2; - if(xR >= 0 && xR < ${a} && xCOffset >= 0 && xCOffset < ${i}) { - vec4 previous = getX(batch, xR, xCOffset, d1); - - // Need to manually clear unused channels in case - // we're reading from recycled texture. - if(xCOffset + 1 >= ${i}) { - previous.zw = vec2(0.); - } - - xR${k}C${S} = vec4(previous.zw, xTexelR${k}C${S}.xy); - } else { - xR${k}C${S} = vec4(0, 0, xTexelR${k}C${S}.xy); - } - `:x+=` - if(xR >= 0 && xR < ${a} && xC >= 0 && xC < ${i}) { - xTexelR${k}C${S} = getX(batch, xR, xC, d1); - } else { - xTexelR${k}C${S} = vec4(0.); - } - - xR${k}C${S} = xTexelR${k}C${S}; - `,S+1= 0 && xR < ${a} && - xCOffset >= 0 && xCOffset < ${i}) { - xTexelR${k}C${S+2} = getX(batch, xR, xCOffset, d1); - } - `,f>1&&(x+=` - xCOffset -= 2; - if(xR >= 0 && xR < ${a} && - xCOffset >= 0 && xCOffset < ${i}) { - xTexelR${k}C${S} = getX(batch, xR, xCOffset, d1); - } else { - xTexelR${k}C${S} = vec4(0.); - } - `),x+=` - xR${k}C${S+1} = vec4( - xTexelR${k}C${S}.zw, xTexelR${k}C${S+2}.xy); - `):x+=` - xCOffset = xC + ${R}; - - if(xR >= 0 && xR < ${a} && - xCOffset >= 0 && xCOffset < ${i}) { - xTexelR${k}C${S+2} = getX(batch, xR, xCOffset, d1); - } - - xR${k}C${S+1} = xTexelR${k}C${S+2}; - `}}else S= 0 && xR < ${a}) { - `,u%2==1?(x+=` - xCOffset = xC + 1 - ${p}; - if(xCOffset >= 0 && xCOffset < ${i}) { - xTexelR${k}C${S} = getX(batch, xR, xCOffset, d1); - } else { - xTexelR${k}C${S} = vec4(0.); - } - - if(xC + 1 >= 0 && xC + 1 < ${i}) { - xTexelR${k}C${S+2} = getX(batch, xR, xC + 1, d1); - } else { - xTexelR${k}C${S+2} = vec4(0.); - } - - xR${k}C${S} = vec4( - xTexelR${k}C${S}.zw, xTexelR${k}C${S+2}.zw); - `,S+1= 0 && xCOffset < ${i}) { - final = getX(batch, xR, xCOffset, d1); - } - xR${k}C${S+1} = vec4(xTexelR${k}C${S+2}.xy, final.xy); - `)):(x+=` - if(xC >= 0 && xC < ${i}) { - xTexelR${k}C${S} = getX(batch, xR, xC, d1); - } else { - xTexelR${k}C${S} = vec4(0.); - } - - xCOffset = xC + ${p}; - if(xCOffset >= 0 && xCOffset < ${i}) { - xTexelR${k}C${S+2} = getX(batch, xR, xCOffset, d1); - } else { - xTexelR${k}C${S+2} = vec4(0.); - } - - xR${k}C${S} = vec4( - xTexelR${k}C${S}.xy, xTexelR${k}C${S+2}.xy); - `,S+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${a} and dilations '${c}'`);let p=N.computeConv2DInfo(o.shape,s.shape,a,c,i,u,!0),m;return W().getBool("WEBGL_PACK_DEPTHWISECONV")&&p.strideWidth<=2&&p.outChannels/p.inChannels==1?m=new $f(p):m=new Df(p),t.runWebGLProgram(m,[o,s],"float32")}var dD={kernelName:Jn,backendName:"webgl",kernelFunc:iX};var _v=class{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;let t=e.strideHeight,n=e.strideWidth,o=e.padInfo.top,s=e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int wR = coords.x; - int wC = coords.y; - int d1 = coords.z; - int dm = coords.w; - int d2 = d1 * ${a} + dm; - - float dotProd = 0.0; - - // TO DO: Vec4 over the batch size - for (int b = 0; b < ${e.batchSize}; b++) { - for (int yR = 0; yR < ${e.outHeight}; yR++) { - int xR = wR + yR * ${t} - ${o}; - - if (xR < 0 || xR >= ${e.inHeight}) { - continue; - } - - for (int yC = 0; yC < ${e.outWidth}; yC++) { - int xC = wC + yC * ${n} - ${s}; - - if (xC < 0 || xC >= ${e.inWidth}) { - continue; - } - - float dyValue = getDy(b, yR, yC, d2); - float xValue = getX(b, xR, xC, d1); - dotProd += (xValue * dyValue); - } - } - } - setOutput(dotProd); - } - `}},kv=class{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;let t=e.filterHeight,n=e.filterWidth,o=e.strideHeight,s=e.strideWidth,a=t-1-e.padInfo.top,i=n-1-e.padInfo.left,l=e.outChannels/e.inChannels;this.userCode=` - const ivec2 pads = ivec2(${a}, ${i}); - - void main() { - ivec4 coords = getOutputCoords(); - int batch = coords[0]; - int d1 = coords[3]; - ivec2 dyCorner = coords.yz - pads; - int dyRCorner = dyCorner.x; - int dyCCorner = dyCorner.y; - - float dotProd = 0.0; - - for (int wR = 0; wR < ${t}; wR++) { - float dyR = float(dyRCorner + wR) / ${o}.0; - - if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) { - continue; - } - int idyR = int(dyR); - - int wRPerm = ${t} - 1 - wR; - - for (int wC = 0; wC < ${n}; wC++) { - float dyC = float(dyCCorner + wC) / ${s}.0; - - if (dyC < 0.0 || dyC >= ${e.outWidth}.0 || - fract(dyC) > 0.0) { - continue; - } - int idyC = int(dyC); - - int wCPerm = ${n} - 1 - wC; - - // TO DO: Vec4 over the channelMul - for (int dm = 0; dm < ${l}; dm++) { - int d2 = d1 * ${l} + dm; - float xValue = getDy(batch, idyR, idyC, d2); - float wValue = getW(wRPerm, wCPerm, d1, dm); - dotProd += xValue * wValue; - } - } - } - setOutput(dotProd); - } - `}};function aX(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,dy:s}=e,{strides:a,dilations:i,pad:l,dimRoundingMode:u,filterShape:c}=n,p=N.computeConv2DInfo(o.shape,c,a,i,l,u,!0),m=new _v(p);return t.runWebGLProgram(m,[o,s],"float32")}var hD={kernelName:Zl,backendName:"webgl",kernelFunc:aX};function lX(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,filter:s}=e,{strides:a,dilations:i,pad:l,dimRoundingMode:u,inputShape:c}=n,p=N.computeConv2DInfo(c,s.shape,a,i,l,u,!0),m=new kv(p);return t.runWebGLProgram(m,[o,s],"float32")}var gD={kernelName:Jl,backendName:"webgl",kernelFunc:lX};var vv=class{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.userCode=` - void main() { - ivec2 coords = getOutputCoords(); - float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0; - setOutput(val); - } - `}};function uX(r){let{inputs:e,backend:t}=r,{x:n}=e,o=[...n.shape,...n.shape],s=y.sizeFromShape(n.shape),a=ce({inputs:{x:n},backend:t,attrs:{shape:[s]}}),i=new vv(s),l=t.runWebGLProgram(i,[a],a.dtype),u=ce({inputs:{x:l},backend:t,attrs:{shape:o}});return t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(l),u}var xD={kernelName:Ql,backendName:"webgl",kernelFunc:uX};var Cv=class{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;let{inHeight:t,inWidth:n,padInfo:o,strideHeight:s,strideWidth:a,filterHeight:i,filterWidth:l,dilationHeight:u,dilationWidth:c}=e,{top:p,left:m}=o;this.userCode=` - const ivec2 strides = ivec2(${s}, ${a}); - const ivec2 pads = ivec2(${p}, ${m}); - const float neg_infinity = -3.4e38; - - void main() { - ivec4 coords = getOutputCoords(); - int batch = coords.x; - int d1 = coords.w; - ivec2 outTopLeftCorner = - coords.yz * strides - pads; - int hBeg = outTopLeftCorner.x; - int wBeg = outTopLeftCorner.y; - - float curVal = neg_infinity; - for (int h = 0; h < ${i}; h++) { - int hIn = hBeg + h * ${u}; - - if (hIn >= 0 && hIn < ${t}) { - for (int w = 0; w < ${l}; w++) { - int wIn = wBeg + w * ${c}; - - if (wIn >= 0 && wIn < ${n}) { - float xVal = getX(batch, hIn, wIn, d1); - float wVal = getW(h, w, d1); - - float val = xVal + wVal; - if (val > curVal) { - curVal = val; - } - } - } - } - } - - float result = curVal; - setOutput(result); - } - `}};function cX(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,filter:s}=e,{strides:a,pad:i,dilations:l}=n,u=N.computeDilation2DInfo(o.shape,s.shape,a,i,"NHWC",l),c,p=new Cv(u);c=t.runWebGLProgram(p,[o,s],"float32");let m=ce({inputs:{x:c},backend:t,attrs:{shape:u.outShape}});return t.disposeIntermediateTensorInfo(c),m}var yD={kernelName:la,backendName:"webgl",kernelFunc:cX};var pX="return (x >= 0.0) ? x : (exp(x) - 1.0);",mX=` - vec4 result; - - result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0); - result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0); - result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0); - result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0); - - return result; -`,fX=ve({opSnippet:pX,packedOpSnippet:mX}),bD={kernelName:si,backendName:"webgl",kernelFunc:fX};var dX="return (b >= 1.0) ? a : a * (b + 1.0);",hX=` - vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.))); - return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0)))); -`,gX=r=>{let{inputs:e,backend:t}=r,{dy:n,y:o}=e,s=W().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new Os(hX,n.shape,o.shape):new qo(dX,n.shape,o.shape);return t.runWebGLProgram(s,[n,o],n.dtype)},wD={kernelName:eu,backendName:"webgl",kernelFunc:gX};var xX=` - return vec4(equal(a, b)); -`,yX="return float(a == b);",bX=it({opSnippet:yX,packedOpSnippet:xX,dtype:"bool"}),_D={kernelName:ai,backendName:"webgl",kernelFunc:bX};var wX=` - // Error function is calculated approximately with elementary function. - // See "Handbook of Mathematical Functions with Formulas, - // Graphs, and Mathematical Tables", Abramowitz and Stegun. - float p = ${N.ERF_P}; - float a1 = ${N.ERF_A1}; - float a2 = ${N.ERF_A2}; - float a3 = ${N.ERF_A3}; - float a4 = ${N.ERF_A4}; - float a5 = ${N.ERF_A5}; - - float sign = sign(x); - x = abs(x); - float t = 1.0 / (1.0 + p * x); - return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x)); -`,_X=ve({opSnippet:wX}),kD={kernelName:ii,backendName:"webgl",kernelFunc:_X};var vD="return exp(x);",Iv=ve({opSnippet:vD,packedOpSnippet:vD,cpuKernelImpl:_A}),CD={kernelName:eo,backendName:"webgl",kernelFunc:Iv};function sx(r){let{inputs:e,attrs:t,backend:n}=r,{dim:o}=t,{input:s}=e,a=s.shape.length,i=s.shape.slice(),l=o;return o<0&&(y.assert(-(a+1)<=o,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),l=a+o+1),i.splice(l,0,1),ce({inputs:{x:s},backend:n,attrs:{shape:i}})}var ID={kernelName:as,backendName:"webgl",kernelFunc:sx};var ND="return exp(x) - 1.0;",kX=ve({opSnippet:ND,packedOpSnippet:ND,cpuKernelImpl:kA}),SD={kernelName:li,backendName:"webgl",kernelFunc:kX};var ix=class{constructor(e,t,n){this.variableNames=["real","imag"];let o=t[1];this.outputShape=t;let s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,a=n?`${o}.0`:"1.0",i;if(e==="real")i="return real * expR - imag * expI;";else if(e==="imag")i="return real * expI + imag * expR;";else throw new Error(`FFT component must be either "real" or "imag", got ${e}.`);this.userCode=` - const float exponentMultiplier = ${s}; - - float unaryOpComplex(float real, float expR, float imag, float expI) { - ${i} - } - - float mulMatDFT(int batch, int index) { - float indexRatio = float(index) / float(${o}); - float exponentMultiplierTimesIndexRatio = - exponentMultiplier * indexRatio; - - float result = 0.0; - - for (int i = 0; i < ${o}; i++) { - // x = (-2|2 * PI / N) * index * i; - float x = exponentMultiplierTimesIndexRatio * float(i); - float expR = cos(x); - float expI = sin(x); - float real = getReal(batch, i); - float imag = getImag(batch, i); - - result += - unaryOpComplex(real, expR, imag, expI) / ${a}; - } - - return result; - } - - void main() { - ivec2 coords = getOutputCoords(); - setOutput(mulMatDFT(coords[0], coords[1])); - } - `}};function ax(r,e,t){let n=t.texData.get(r.dataId),o=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],a=o/s,i=ce({inputs:{x:r},backend:t,attrs:{shape:[a,s]}}),l=i.shape,u=new ix("real",l,e),c=new ix("imag",l,e),p=[{dataId:n.complexTensorInfos.real.dataId,dtype:n.complexTensorInfos.real.dtype,shape:l},{dataId:n.complexTensorInfos.imag.dataId,dtype:n.complexTensorInfos.imag.dtype,shape:l}],m=t.runWebGLProgram(u,p,"float32"),f=t.runWebGLProgram(c,p,"float32"),d=nn({inputs:{real:m,imag:f},backend:t});t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(f);let h=ce({inputs:{x:d},backend:t,attrs:{shape:r.shape}});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(d),h}function vX(r){let{inputs:e,backend:t}=r,{input:n}=e;return ax(n,!1,t)}var TD={kernelName:tu,backendName:"webgl",kernelFunc:vX};var Nv=class{constructor(e,t){this.outputShape=[],this.variableNames=["x"],this.outputShape=e,this.userCode=` - uniform float value; - void main() { - // Input can be obtained from uniform value. - setOutput(value); - } - `}getCustomSetupFunc(e){return(t,n)=>{this.valueLoc==null&&(this.valueLoc=t.getUniformLocationNoThrow(n,"value")),t.gl.uniform1f(this.valueLoc,e)}}};function Rf(r){let{backend:e,attrs:t}=r,{shape:n,value:o}=t,{dtype:s}=t;if(s=s||y.inferDtype(o),s==="string"){let a=y.getArrayFromDType(s,y.sizeFromShape(n));return a.fill(o),e.makeTensorInfo(n,s,a)}else{let a=new Nv(n,o),i=a.getCustomSetupFunc(o);return e.runWebGLProgram(a,[],s,i)}}var ED={kernelName:ua,backendName:"webgl",kernelFunc:Rf};var Sv=class{constructor(e){this.variableNames=["Image"],this.outputShape=[];let t=e[2];this.outputShape=e,this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int x = coords[2]; - - int coordX = ${t} - x; - float outputValue; - if(coordX >= 0 && coordX < ${t}) { - outputValue = getImage(coords[0], coords[1], coordX, coords[3]); - } else { - outputValue = getImage(coords[0], coords[1], coords[2], coords[3]); - } - setOutput(outputValue); - } - `}};var AD={kernelName:ui,backendName:"webgl",kernelFunc:({inputs:r,backend:e})=>{let{image:t}=r,n=e,o=new Sv(t.shape);return n.runWebGLProgram(o,[t],t.dtype)}};var DD="return floor(x);",CX=ve({opSnippet:DD,packedOpSnippet:DD,cpuKernelImpl:vA}),$D={kernelName:to,backendName:"webgl",kernelFunc:CX};var IX=` - float s = sign(a) * sign(b); - int ia = round(a); - int ib = round(b); - if (ib != 0) { - // Windows (D3D) wants guaranteed non-zero int division at compile-time. - return float(idiv(ia, ib, s)); - } else { - return NAN; - } -`,NX=` - ivec4 ia = round(a); - ivec4 ib = round(b); - bvec4 cond = notEqual(ib, ivec4(0)); - ivec4 result = ivec4(0); - vec4 s = sign(a) * sign(b); - - // Windows (D3D) wants guaranteed non-zero int division at compile-time. - if (cond[0]) { - result[0] = idiv(ia[0], ib[0], s[0]); - } - if (cond[1]) { - result[1] = idiv(ia[1], ib[1], s[1]); - } - if (cond[2]) { - result[2] = idiv(ia[2], ib[2], s[2]); - } - if (cond[3]) { - result[3] = idiv(ia[3], ib[3], s[3]); - } - return vec4(result); -`,SX=it({opSnippet:IX,packedOpSnippet:NX,dtype:"int32"}),RD={kernelName:ro,backendName:"webgl",kernelFunc:SX};var Tv=class{constructor(e){this.variableNames=["A"];let t=Pt(),[n,o]=e;this.outputShape=e,this.userCode=` - void main() { - ivec3 coords = getOutputCoords(); - int texR = coords[0]; - int texC = coords[1]; - int depth = coords[2]; - vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${o}.0, ${n}.0); - - vec4 values = ${t.texture2D}(A, uv); - float value; - if (depth == 0) { - value = values.r; - } else if (depth == 1) { - value = values.g; - } else if (depth == 2) { - value = values.b; - } else if (depth == 3) { - value = values.a; - } - - setOutput(floor(value * 255.0 + 0.5)); - } - `}};var Ev=class{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;let t=Pt(),[n,o]=e;this.outputShape=e,this.userCode=` - void main() { - ivec3 coords = getOutputCoords(); - int texR = coords[0]; - int texC = coords[1]; - int depth = coords[2]; - - vec4 result = vec4(0.); - - for(int row=0; row<=1; row++) { - for(int col=0; col<=1; col++) { - texC = coords[1] + row; - depth = coords[2] + col; - - vec2 uv = (vec2(texC, texR) + halfCR) / - vec2(${o}.0, ${n}.0); - vec4 values = ${t.texture2D}(A, uv); - float value; - if (depth == 0) { - value = values.r; - } else if (depth == 1) { - value = values.g; - } else if (depth == 2) { - value = values.b; - } else if (depth == 3) { - value = values.a; - } - - result[row * 2 + col] = floor(value * 255.0 + 0.5); - } - } - - ${t.output} = result; - } - `}};var FD={kernelName:Oc,backendName:"webgl",kernelFunc:TX},_p;function TX(r){let{inputs:e,backend:t,attrs:n}=r,{pixels:o}=e,{numChannels:s}=n,a=typeof HTMLVideoElement!="undefined"&&o instanceof HTMLVideoElement,i=typeof HTMLImageElement!="undefined"&&o instanceof HTMLImageElement,l=typeof ImageBitmap!="undefined"&&o instanceof ImageBitmap,[u,c]=a?[o.videoWidth,o.videoHeight]:[o.width,o.height],p=[c,u],m=[c,u,s];(i||a||l)&&(_p==null&&(_p=document.createElement("canvas").getContext("2d")),_p.canvas.width=u,_p.canvas.height=c,_p.drawImage(o,0,0,u,c),o=_p.canvas);let f=t.makeTensorInfo(p,"int32");t.texData.get(f.dataId).usage=Ar.PIXELS,t.gpgpu.uploadPixelDataToTexture(t.getTexture(f.dataId),o);let d=W().getBool("WEBGL_PACK")?new Ev(m):new Tv(m),h=t.runWebGLProgram(d,[f],"int32");return t.disposeData(f.dataId),h}function EX(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,filter:s,bias:a,preluActivationWeights:i}=e,{strides:l,pad:u,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=N.convertConv2DDataFormat(c),g=N.computeConv2DInfo(o.shape,s.shape,l,p,u,m,!1,h),x,b=[];if(g.filterHeight===1&&g.filterWidth===1&&g.dilationHeight===1&&g.dilationWidth===1&&g.strideHeight===1&&g.strideWidth===1&&(g.padInfo.type==="SAME"||g.padInfo.type==="VALID"))x=rx({x:o,filter:s,convInfo:g,backend:t,bias:a,activation:f,preluActivationWeights:i,leakyreluAlpha:d});else if(W().getBool("WEBGL_CONV_IM2COL")&&o.shape[0]===1)x=nx({x:o,filter:s,convInfo:g,backend:t,bias:a,activation:f,preluActivationWeights:i,leakyreluAlpha:d});else{let _=a!=null,k=i!=null,E=f==="leakyrelu",S=f?xl(f,!1):null,R=new Af(g,_,S,k,E),F=[o,s];if(a&&F.push(a),i&&F.push(i),E){let P=t.makeTensorInfo([],"float32",y.createScalarValue(d,"float32"));F.push(P),b.push(P)}x=t.runWebGLProgram(R,F,"float32")}let w=ce({inputs:{x},backend:t,attrs:{shape:g.outShape}});return b.push(x),b.forEach(_=>t.disposeIntermediateTensorInfo(_)),w}var OD={kernelName:ws,backendName:"webgl",kernelFunc:EX};function AX(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,filter:s,bias:a,preluActivationWeights:i}=e,{strides:l,pad:u,dilations:c,dimRoundingMode:p,activation:m,leakyreluAlpha:f}=n,d=[],h=c;h==null&&(h=[1,1]),y.assert(N.eitherStridesOrDilationsAreOne(l,h),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${h}'`);let g=N.computeConv2DInfo(o.shape,s.shape,l,h,u,p,!0),x=W().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels==1,b=m?xl(m,x):null,w=[o,s],_=a!=null,k=i!=null,E=m==="leakyrelu";if(_&&w.push(a),k&&w.push(i),E){let F=t.makeTensorInfo([],"float32",y.createScalarValue(f,"float32"));w.push(F),d.push(F)}let S;x?S=new $f(g,_,b,k,E):S=new Df(g,_,b,k,E);let R=t.runWebGLProgram(S,w,"float32");return d.forEach(F=>t.disposeIntermediateTensorInfo(F)),R}var PD={kernelName:_s,backendName:"webgl",kernelFunc:AX};var Av=class{constructor(e,t,n){this.sliceDim=e,this.strides=t,this.variableNames=["x","indices"],this.outputShape=n;let o=Le(t.length),s=Le(n.length),a=this.sliceDim>1?"strides[j]":"strides";this.userCode=` - ${o} strides = ${o}(${this.strides}); - void main() { - ${s} coords = getOutputCoords(); - int flattenIndex = 0; - for (int j = 0; j < ${this.sliceDim}; j++) { - int index = round(getIndices(coords[0], j)); - flattenIndex += index * ${a}; - } - setOutput(getX(flattenIndex, coords[1])); - } - `}};function DX(r){let{inputs:e,backend:t}=r,{params:n,indices:o}=e,s=o.shape,a=s[s.length-1],[i,l,u,c]=N.prepareAndValidate(n,o),p=ce({inputs:{x:o},backend:t,attrs:{shape:[l,a]}}),m=ce({inputs:{x:n},backend:t,attrs:{shape:[y.sizeFromShape(n.shape)/u,u]}}),f=new Av(a,c,[l,u]),d=t.runWebGLProgram(f,[m,p],m.dtype),h=ce({inputs:{x:d},backend:t,attrs:{shape:i}});return t.disposeIntermediateTensorInfo(p),t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(d),h}var MD={kernelName:ci,backendName:"webgl",kernelFunc:DX};var Dv=class{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t,this.rank=t.length;let n=Le(this.rank),o=$X(e,2);this.userCode=` - void main() { - ${n} resRC = getOutputCoords(); - setOutput(getA(${o})); - } - `}};function $X(r,e){let t=["resRC.x","resRC.y","resRC.z","resRC.w"],n=[];for(let o=0;ot.disposeIntermediateTensorInfo(k)),t.makeTensorInfo(u.outputShape,_.dtype,_.values)}let h=new Dv(m.shape,d),g=t.runWebGLProgram(h,[m,f],m.dtype);p.push(g);let x=ce({inputs:{x:g},backend:t,attrs:{shape:u.outputShape}});return p.forEach(b=>t.disposeIntermediateTensorInfo(b)),x}var LD={kernelName:ls,backendName:"webgl",kernelFunc:RX};var FX="return float(a > b);",OX=` - return vec4(greaterThan(a, b)); -`,PX=it({opSnippet:FX,packedOpSnippet:OX,cpuKernelImpl:IA,dtype:"bool"}),zD={kernelName:pi,backendName:"webgl",kernelFunc:PX};var MX="return float(a >= b);",LX=` - return vec4(greaterThanEqual(a, b)); -`,zX=it({opSnippet:MX,packedOpSnippet:LX,dtype:"bool"}),BD={kernelName:oo,backendName:"webgl",kernelFunc:zX};function BX(r){let{inputs:e,backend:t}=r,{input:n}=e;return ax(n,!0,t)}var VD={kernelName:ru,backendName:"webgl",kernelFunc:BX};var VX="return float(!isnan(x) && !isinf(x));",GX=ve({opSnippet:VX,dtype:"bool"}),GD={kernelName:mi,backendName:"webgl",kernelFunc:GX};var jX="return float(isinf(x));",WX=ve({opSnippet:jX,dtype:"bool"}),jD={kernelName:fi,backendName:"webgl",kernelFunc:WX};var UX="return float(isnan(x));",qX=ve({opSnippet:UX,dtype:"bool"}),WD={kernelName:di,backendName:"webgl",kernelFunc:qX};var HX="return float(a < b);",KX=` - return vec4(lessThan(a, b)); -`,XX=it({opSnippet:HX,packedOpSnippet:KX,cpuKernelImpl:NA,dtype:"bool"}),UD={kernelName:hi,backendName:"webgl",kernelFunc:XX};var YX="return float(a <= b);",ZX=` - return vec4(lessThanEqual(a, b)); -`,JX=it({opSnippet:YX,packedOpSnippet:ZX,dtype:"bool"}),qD={kernelName:gi,backendName:"webgl",kernelFunc:JX};function QX(r){let{backend:e,attrs:t}=r,{start:n,stop:o,num:s}=t,a=SA(n,o,s);return e.makeTensorInfo([a.length],"float32",a)}var HD={kernelName:ou,backendName:"webgl",kernelFunc:QX};var e7=`if (x < 0.0) return NAN; - return log(x);`,t7=` - vec4 result = log(x); - vec4 isNaN = vec4(lessThan(x, vec4(0.0))); - result.r = isNaN.r == 1.0 ? NAN : result.r; - result.g = isNaN.g == 1.0 ? NAN : result.g; - result.b = isNaN.b == 1.0 ? NAN : result.b; - result.a = isNaN.a == 1.0 ? NAN : result.a; - - return result; -`,r7=ve({opSnippet:e7,packedOpSnippet:t7,cpuKernelImpl:TA}),KD={kernelName:io,backendName:"webgl",kernelFunc:r7};var n7="return log(1.0 + x);",o7=ve({opSnippet:n7}),XD={kernelName:xi,backendName:"webgl",kernelFunc:o7};var s7="return float(a >= 1.0 && b >= 1.0);",i7=` - return vec4( - vec4(greaterThanEqual(a, vec4(1.0))) * - vec4(greaterThanEqual(b, vec4(1.0)))); -`,a7=it({opSnippet:s7,packedOpSnippet:i7,dtype:"bool"}),YD={kernelName:yi,backendName:"webgl",kernelFunc:a7};var l7="return float(!(x >= 1.0));",u7=ve({opSnippet:l7}),ZD={kernelName:Qa,backendName:"webgl",kernelFunc:u7};var c7="return float(a >= 1.0 || b >= 1.0);",p7=` - return min( - vec4(greaterThanEqual(a, vec4(1.0))) + - vec4(greaterThanEqual(b, vec4(1.0))), - vec4(1.0)); -`,m7=it({opSnippet:c7,packedOpSnippet:p7,dtype:"bool"}),JD={kernelName:el,backendName:"webgl",kernelFunc:m7};var $v=class{constructor(e,t,n,o,s){this.variableNames=["x"],this.outputShape=[];let a=t,i=e[3]-1;this.outputShape=e;let l,u=`float(${n}) + float(${o}) * sum`;s===.5?l=`inversesqrt(${u})`:s===1?l=`1.0/(${u})`:l=`exp(log(${u}) * float(-${s}));`,this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int r = coords[1]; - int c = coords[2]; - int d = coords[3]; - float x = getX(b, r, c, d); - float sum = 0.0; - for (int j = -${a}; j <= ${a}; j++) { - int idx = d + j; - if (idx >= 0 && idx <= ${i}) { - float z = getX(b, r, c, idx); - sum += z * z; - } - } - float val = x * ${l}; - setOutput(val); - } - `}};var Rv=class{constructor(e,t,n,o,s){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;let a=t,i=e[3]-1;this.outputShape=e;let l,u=`float(${n}) + float(${o}) * sum`;s===.5?l=`inversesqrt(${u})`:s===1?l=`1.0/(${u})`:l=`exp(log(${u}) * float(-${s}));`,this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int b = coords.x; - int r = coords.y; - int c = coords.z; - int d = coords.w; - - bool hasNextCol = d < ${this.outputShape[3]}; - bool hasNextRow = c < ${this.outputShape[2]}; - - vec4 sum = vec4(0.); - vec4 xFragAtOutputCoords = getX(b, r, c, d); - - vec4 xAtOutputCoords = vec4( - getChannel(xFragAtOutputCoords, vec2(c, d)), - hasNextCol ? - getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0, - hasNextRow ? - getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0, - (hasNextRow && hasNextCol) ? - getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0 - ); - - int firstChannel = d - ${a}; - vec2 cache = vec2(0.); - if(firstChannel >= 0){ - vec4 firstChannelFrag = getX(b, r, c, firstChannel); - cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel)); - if(hasNextRow){ - cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel)); - } - } - - ivec2 depth = ivec2(d, d + 1); - for (int j = - ${a}; j <= ${a}; j++) { - ivec2 idx = depth + j; - bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0)); - bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${i})); - - bool depthInRange = aboveLowerBound.x && belowUpperBound.x; - bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y; - - if(depthInRange || depthPlusOneInRange){ - vec4 z = vec4(0.); - vec4 xFragAtCurrentDepth; - z.xz = cache.xy; - if(depthPlusOneInRange && hasNextCol){ - xFragAtCurrentDepth = idx.y != d ? - getX(b, r, c, idx.y) : xFragAtOutputCoords; - z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y)); - if(hasNextRow){ - z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y)); - } - } - cache.xy = z.yw; - sum += z * z; - } - } - vec4 result = xAtOutputCoords * ${l}; - setOutput(result); - } - `}};var f7=r=>{let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{depthRadius:s,bias:a,alpha:i,beta:l}=n,u=W().getBool("WEBGL_PACK_NORMALIZATION")?new Rv(o.shape,s,a,i,l):new $v(o.shape,s,a,i,l);return t.runWebGLProgram(u,[o],o.dtype)},QD={kernelName:ca,backendName:"webgl",kernelFunc:f7};var Fv=class{constructor(e,t,n,o,s){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=n,this.alpha=o,this.beta=s,this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int r = coords[1]; - int c = coords[2]; - - float result = 0.0; - for (int d = 0; d < ${this.depth}; ++d) { - int depthBegin = int(max(0.0, float(d - ${t}))); - int depthEnd = int(min(float(${this.depth}), - float(d + ${t} + 1))); - - const int MIN_DEPTH_BEGIN = 0; - const int MAX_DEPTH_END = ${this.depth}; - - float norm = 0.0; - for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) { - if (k < depthBegin){ - continue; - } - else if (k >= depthBegin && k < depthEnd) { - norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k); - } - else { - break; - } - } - - norm = float(${o}) * norm + float(${n}); - - for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){ - if (k < depthBegin){ - continue; - } - else if (k >= depthBegin && k < depthEnd){ - float dyi = -2.0 * float(${o}) - * float(${s}) - * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d) - / norm; - if (k == d) { - dyi += pow(norm, -1.0 * ${s}); - } - if (k == coords[3]) { - dyi *= getDy(b, r, c, d); - result += dyi; - } - } - else { - break; - } - } - } - setOutput(result); - } - `}};var d7=r=>{let{inputs:e,backend:t,attrs:n}=r,{x:o,y:s,dy:a}=e,{depthRadius:i,bias:l,alpha:u,beta:c}=n,p=new Fv(o.shape,i,l,u,c);return t.runWebGLProgram(p,[o,s,a],o.dtype)},e$={kernelName:su,backendName:"webgl",kernelFunc:d7};function t$(r,e,t,n){let o=y.sizeFromShape(e),a=y.sizeFromShape(r.shape)/o,i=ce({inputs:{x:r},attrs:{shape:[a,o]},backend:n}),l=vn(i,r.dtype,"max",n),u=ce({inputs:{x:l},attrs:{shape:t},backend:n});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(l),u}function Ov(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{reductionIndices:s,keepDims:a}=n,i=o.shape.length,l=y.parseAxisParam(s,o.shape),u=l,c=N.getAxesPermutation(u,i),p=c!=null,m=t.shouldExecuteOnCPU([o]),f=o;if(p){if(m){let w=t.texData.get(f.dataId).values,_=new Array(i);for(let S=0;S<_.length;S++)_[S]=o.shape[c[S]];let k=wp(w,o.shape,o.dtype,c,_);f=t.makeTensorInfo(_,o.dtype);let E=t.texData.get(f.dataId);E.values=k}else f=yl(o,c,t);u=N.getInnerMostAxes(u.length,i)}N.assertAxesAreInnerMostDims("max",u,i);let[d,h]=N.computeOutAndReduceShapes(f.shape,u),g=d;a&&(g=N.expandShapeToKeepDim(d,l));let x;if(m){let w=t.texData.get(f.dataId).values,_=EA(w,y.sizeFromShape(h),g,o.dtype);x=t.makeTensorInfo(g,o.dtype);let k=t.texData.get(x.dataId);k.values=_}else x=t$(f,h,g,t);return p&&t.disposeIntermediateTensorInfo(f),x}var r$={kernelName:ao,backendName:"webgl",kernelFunc:Ov};var h7=Xg+` - return max(a, b); -`,g7=` - vec4 result = vec4(max(a, b)); - vec4 isNaN = min(vec4(isnan(a)) + vec4(isnan(b)), vec4(1.0)); - `+gl+` - return result; -`,x7=it({opSnippet:h7,packedOpSnippet:g7,cpuKernelImpl:AA}),n$={kernelName:lo,backendName:"webgl",kernelFunc:x7};function y7(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e;$s(o,"maxPool");let{filterSize:s,strides:a,pad:i,dimRoundingMode:l}=n,u=1;y.assert(N.eitherStridesOrDilationsAreOne(a,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${a} and dilations '${u}'`);let c=N.computePool2DInfo(o.shape,s,a,u,i,l);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return Ut({inputs:{x:o},backend:t});let p=new Wi(c,"max",!1);return t.runWebGLProgram(p,[o],o.dtype)}var o$={kernelName:uo,backendName:"webgl",kernelFunc:y7};function b7(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{filterSize:s,strides:a,pad:i,dataFormat:l,dimRoundingMode:u}=n,c=[1,1,1],p=N.computePool3DInfo(o.shape,s,a,c,i,u,l),m=new Qu(p,"max",!1);return t.runWebGLProgram(m,[o],o.dtype)}var s$={kernelName:pa,backendName:"webgl",kernelFunc:b7};var Pv=class{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;let t=e.strideHeight,n=e.strideWidth,o=e.dilationHeight,s=e.effectiveFilterHeight,a=e.effectiveFilterWidth,i=s-1-e.padInfo.top,l=a-1-e.padInfo.left,u=s*a-1;this.userCode=` - const ivec2 pads = ivec2(${i}, ${l}); - - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int d = coords[3]; - - ivec2 dyRCCorner = coords.yz - pads; - int dyRCorner = dyRCCorner.x; - int dyCCorner = dyRCCorner.y; - - // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d). - // ? = to be determined. : = across all values in that axis. - float dotProd = 0.0; - for (int wR = 0; wR < ${s}; - wR += ${o}) { - float dyR = float(dyRCorner + wR) / ${t}.0; - - if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) { - continue; - } - int idyR = int(dyR); - - for (int wC = 0; wC < ${a}; wC++) { - float dyC = float(dyCCorner + wC) / ${n}.0; - - if (dyC < 0.0 || dyC >= ${e.outWidth}.0 || - fract(dyC) > 0.0) { - continue; - } - int idyC = int(dyC); - - float dyValue = getDy(b, idyR, idyC, d); - int maxPosValue = ${u} - int(getMaxPos(b, idyR, idyC, d)); - - // Get the current value, check it against the value from the - // position matrix. - int curPosValue = wR * ${a} + wC; - float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0); - - dotProd += dyValue * mask; - } - } - setOutput(dotProd); - } - `}},Mv=class{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;let t=e.strideDepth,n=e.strideHeight,o=e.strideWidth,s=e.dilationDepth,a=e.dilationHeight,i=e.dilationWidth,l=e.effectiveFilterDepth,u=e.effectiveFilterHeight,c=e.effectiveFilterWidth,p=l-1-e.padInfo.front,m=u-1-e.padInfo.top,f=c-1-e.padInfo.left,d=l*u*c-1;this.userCode=` - const ivec3 pads = ivec3(${p}, ${m}, ${f}); - - void main() { - ivec5 coords = getOutputCoords(); - int batch = coords.x; - int ch = coords.u; - - ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads; - int dyDCorner = dyCorner.x; - int dyRCorner = dyCorner.y; - int dyCCorner = dyCorner.z; - - // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get - // dx(xD, xR, xC, ch). - // ? = to be determined. : = across all values in that axis. - float dotProd = 0.0; - - for (int wD = 0; wD < ${l}; - wD += ${s}) { - float dyD = float(dyDCorner + wD) / ${t}.0; - - if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) { - continue; - } - int idyD = int(dyD); - - for (int wR = 0; wR < ${u}; - wR += ${a}) { - float dyR = float(dyRCorner + wR) / ${n}.0; - - if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || - fract(dyR) > 0.0) { - continue; - } - int idyR = int(dyR); - - for (int wC = 0; wC < ${c}; - wC += ${i}) { - float dyC = float(dyCCorner + wC) / ${o}.0; - - if (dyC < 0.0 || dyC >= ${e.outWidth}.0 || - fract(dyC) > 0.0) { - continue; - } - int idyC = int(dyC); - - float dyValue = getDy(batch, idyD, idyR, idyC, ch); - int maxPosValue = ${d} - - int(getMaxPos(batch, idyD, idyR, idyC, ch)); - - // Get the current value, check it against the value from the - // position matrix. - int curPosValue = - wD * ${u} * ${c} + - wR * ${c} + wC; - float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0); - - dotProd += dyValue * mask; - } - } - } - setOutput(dotProd); - } - `}};function w7(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,input:s}=e,a=s,{filterSize:i,strides:l,pad:u,dimRoundingMode:c}=n,p=[1,1,1],m=N.computePool3DInfo(a.shape,i,l,p,u,c),f=new Qu(m,"max",!0),d=t.runWebGLProgram(f,[a],a.dtype),h=new Mv(m),g=t.runWebGLProgram(h,[o,d],a.dtype);return t.disposeIntermediateTensorInfo(d),g}var i$={kernelName:au,backendName:"webgl",kernelFunc:w7};function _7(r){let{inputs:e,backend:t,attrs:n}=r,{dy:o,input:s,output:a}=e,i=s;$s([s,a],"maxPoolGrad");let{filterSize:l,strides:u,pad:c,dimRoundingMode:p}=n,m=N.computePool2DInfo(i.shape,l,u,1,c,p),f=!0,d=new Wi(m,"max",f),h=t.runWebGLProgram(d,[i],i.dtype),g=new Pv(m),x=t.runWebGLProgram(g,[o,h],i.dtype);return t.disposeIntermediateTensorInfo(h),x}var a$={kernelName:iu,backendName:"webgl",kernelFunc:_7};function l$(r,e,t,n){let o=new Wi(t,"max",!1),s=n.runWebGLProgram(o,[r],"float32");o=new Wi(t,"max",!0,!0,e);let a=n.runWebGLProgram(o,[r],"float32");return[s,a]}var u$={kernelName:lu,backendName:"webgl",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:n}=r,{filterSize:o,strides:s,pad:a,includeBatchInIndex:i}=e,l=t;y.assert(n.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${n.shape.length}.`);let u=[1,1];y.assert(N.eitherStridesOrDilationsAreOne(s,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${u}'`);let c=N.computePool2DInfo(n.shape,o,s,u,a),[p,m]=l$(n,i,c,l);return[p,m]}};function c$(r,e,t,n){let o=y.sizeFromShape(e),a=y.sizeFromShape(r.shape)/o,i=ce({inputs:{x:r},attrs:{shape:[a,o]},backend:n}),l=vn(i,"float32","mean",n),u=ce({inputs:{x:l},attrs:{shape:t},backend:n});return n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(l),u}var p$={kernelName:co,backendName:"webgl",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{x:n}=r,{keepDims:o,axis:s}=e,a=t,i=n.shape.length,l=y.parseAxisParam(s,n.shape),u=l,c=N.getAxesPermutation(u,i),p=c!=null,m=a.shouldExecuteOnCPU([n]),f=[],d=n;if(p){if(m){let _=a.texData.get(d.dataId).values,k=new Array(i);for(let R=0;Rc[0]+e[p]+c[1]);let o=e.length,s=Le(o),a=t.map(c=>c[0]).join(","),i=t.map((c,p)=>c[0]+e[p]).join(","),l=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,o),u=n==="reflect"?0:1;if(o===1){this.userCode=` - int start = ${a}; - int end = ${i}; - - void main() { - int outC = getOutputCoords(); - if (outC < start) { - outC = start * 2 - outC - ${u}; - } else if(outC >= end) { - outC = (end - 1) * 2 - outC + ${u}; - } - setOutput(getX(outC - start)); - } - `;return}this.userCode=` - ${s} start = ${s}(${a}); - ${s} end = ${s}(${i}); - - void main() { - ${s} outC = getOutputCoords(); - for (int i = 0; i < ${o}; i++) { - if (outC[i] < start[i]) { - outC[i] = start[i] * 2 - outC[i] - ${u}; - } else if(outC[i] >= end[i]) { - outC[i] = (end[i] - 1) * 2 - outC[i] + ${u}; - } - } - ${s} coords = outC - start; - setOutput(getX(${l})); - } - `}};var zv=class{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map((d,h)=>d[0]+e[h]+d[1]);let o=e.length,s=Le(o),a=t.map(d=>d[0]).join(","),i=t.map((d,h)=>d[0]+e[h]).join(","),l=Wt("rc",o),u=Wt("source",o),c=`${l[o-1]} < ${this.outputShape[o-1]}`,p=o===1?"source":`vec2(${u.slice(-2).join()})`,m=n==="reflect"?0:1,f="";if(o===1){let d=` - ${s} source = rc; - if (source < start) { - source = start * 2 - source - ${m}; - } else if (source >= end) { - source = (end - 1) * 2 - source + ${m}; - } - source -= start; - `;f=` - ${s} rc = outputLoc; - ${d} - result[0] = getChannel(getX(${u.join()}), ${p}); - ${l[o-1]} += 1; - if(${c}) { - ${d} - result[1] = getChannel(getX(${u.join()}), ${p}); - } - `}else{let d=` - ${s} source = rc; - ${s} lt = ${s}(lessThan(source, start)); - ${s} gte = ${s}(greaterThanEqual(source, end)); - ${s} orig = 1 - (lt + gte); - source = orig * source + - lt * (start * 2 - source - ${m}) + - gte * ((end - 1) * 2 - source + ${m}); - source -= start; - `;f=` - ${s} rc = outputLoc; - ${d} - result[0] = getChannel(getX(${u.join()}), ${p}); - ${l[o-1]} += 1; - if(${c}) { - ${d} - result[1] = getChannel(getX(${u.join()}), ${p}); - } - rc = outputLoc; - ${l[o-2]} += 1; - if(${l[o-2]} < ${this.outputShape[o-2]}) { - ${d} - result[2] = getChannel(getX(${u.join()}), ${p}); - ${l[o-1]} += 1; - if(${c}) { - ${d} - result[3] = getChannel(getX(${u.join()}), ${p}); - } - } - `}this.userCode=` - const ${s} start = ${s}(${a}); - const ${s} end = ${s}(${i}); - - void main() { - ${s} outputLoc = getOutputCoords(); - vec4 result = vec4(0.); - ${f} - setOutput(result); - } - `}};var N7=({inputs:r,backend:e,attrs:t})=>{let{x:n}=r,{paddings:o,mode:s}=t,a=W().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new zv(n.shape,o,s):new Lv(n.shape,o,s);return e.runWebGLProgram(a,[n],n.dtype)},d$={kernelName:ma,backendName:"webgl",kernelFunc:N7};var S7=`if (b == 0.0) return NAN; - return mod(a, b);`,T7=` - vec4 result = mod(a, b); - vec4 isNaN = vec4(equal(b, vec4(0.0))); - `+gl+` - return result; -`,E7=it({opSnippet:S7,packedOpSnippet:T7}),h$={kernelName:bi,backendName:"webgl",kernelFunc:E7};var Bv=class{constructor(e,t,n){this.variableNames=["probs"],this.outputShape=[e,n],this.userCode=` - uniform float seed; - - void main() { - ivec2 coords = getOutputCoords(); - int batch = coords[0]; - - float r = random(seed); - float cdf = 0.0; - - for (int i = 0; i < ${t-1}; i++) { - cdf += getProbs(batch, i); - - if (r < cdf) { - setOutput(float(i)); - return; - } - } - - // If no other event happened, last event happened. - setOutput(float(${t-1})); - } - `}getCustomSetupFunc(e){return(t,n)=>{this.seedLoc==null&&(this.seedLoc=t.getUniformLocation(n,"seed")),t.gl.uniform1f(this.seedLoc,e)}}};var A7=` -if (a == b) { - return 1.0; -}; -return a / b;`,D7=` - // vec4 one = vec4(equal(a, b)); - // return one + (vec4(1.0) - one) * a / b; - vec4 result = a / b; - if(a.x == b.x) { - result.x = 1.; - } - if(a.y == b.y) { - result.y = 1.; - } - if(a.z == b.z) { - result.z = 1.; - } - if(a.w == b.w) { - result.w = 1.; - } - - return result; -`,Vv=it({opSnippet:A7,packedOpSnippet:D7,checkOutOfBounds:!0}),g$={kernelName:Qn,backendName:"webgl",kernelFunc:Vv};var x$="return a - b;",Gv=it({opSnippet:x$,packedOpSnippet:x$,supportsComplex:!0,cpuKernelImpl:zA}),y$={kernelName:Do,backendName:"webgl",kernelFunc:Gv};function jv(r){let{inputs:e,backend:t,attrs:n}=r,{logits:o}=e,{dim:s}=n,a=y.parseAxisParam([s],o.shape),i=Ov({inputs:{x:o},backend:t,attrs:{reductionIndices:a,keepDims:!1}}),l=N.expandShapeToKeepDim(i.shape,a),u=ce({inputs:{x:i},backend:t,attrs:{shape:l}}),c=Gv({inputs:{a:o,b:u},backend:t}),p=Iv({inputs:{x:c},backend:t}),m=Ef({inputs:{x:p},backend:t,attrs:{axis:a,keepDims:!1}}),f=ce({inputs:{x:m},backend:t,attrs:{shape:l}}),d=Vv({inputs:{a:p,b:f},backend:t});return t.disposeIntermediateTensorInfo(i),t.disposeIntermediateTensorInfo(u),t.disposeIntermediateTensorInfo(c),t.disposeIntermediateTensorInfo(p),t.disposeIntermediateTensorInfo(m),t.disposeIntermediateTensorInfo(f),d}var b$={kernelName:Eo,backendName:"webgl",kernelFunc:jv};function $7(r){let{inputs:e,backend:t,attrs:n}=r,{logits:o}=e,{numSamples:s,seed:a,normalized:i}=n,l=i?o:jv({inputs:{logits:o},backend:t,attrs:{dim:o.shape.length-1}}),u=l.shape[0],c=l.shape[1],p=new Bv(u,c,s),m=p.getCustomSetupFunc(a),f=t.runWebGLProgram(p,[l],"int32",m);return i||t.disposeIntermediateTensorInfo(l),f}var w$={kernelName:uu,backendName:"webgl",kernelFunc:$7};var _$="return -x;";function R7(r){let{inputs:e,backend:t}=r,{x:n}=e;if(t.shouldExecuteOnCPU([n])){let s=t.texData.get(n.dataId),[a,i]=RA(s.values,n.shape,n.dtype);return t.makeTensorInfo(i,n.dtype,a)}let o;return W().getBool("WEBGL_PACK_UNARY_OPERATIONS")?o=new Fs(n.shape,_$):o=new rn(n.shape,_$),t.runWebGLProgram(o,[n],n.dtype)}var k$={kernelName:cs,backendName:"webgl",kernelFunc:R7};var F7=Tr.nonMaxSuppressionV3Impl;function O7(r){N.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");let{inputs:e,backend:t,attrs:n}=r,{boxes:o,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:l}=n,u=t.readSync(o.dataId),c=t.readSync(s.dataId),{selectedIndices:p}=F7(u,c,a,i,l);return t.makeTensorInfo([p.length],"int32",new Int32Array(p))}var v$={kernelName:_i,backendName:"webgl",kernelFunc:O7};var P7=Tr.nonMaxSuppressionV4Impl;function M7(r){N.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");let{inputs:e,backend:t,attrs:n}=r,{boxes:o,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:l,padToMaxOutputSize:u}=n,c=t.readSync(o.dataId),p=t.readSync(s.dataId),{selectedIndices:m,validOutputs:f}=P7(c,p,a,i,l,u);return[t.makeTensorInfo([m.length],"int32",new Int32Array(m)),t.makeTensorInfo([],"int32",new Int32Array([f]))]}var C$={kernelName:ki,backendName:"webgl",kernelFunc:M7};var L7=Tr.nonMaxSuppressionV5Impl;function z7(r){N.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");let{inputs:e,backend:t,attrs:n}=r,{boxes:o,scores:s}=e,{maxOutputSize:a,iouThreshold:i,scoreThreshold:l,softNmsSigma:u}=n,c=t.readSync(o.dataId),p=t.readSync(s.dataId),m=a,f=i,d=l,h=u,{selectedIndices:g,selectedScores:x}=L7(c,p,m,f,d,h);return[t.makeTensorInfo([g.length],"int32",new Int32Array(g)),t.makeTensorInfo([x.length],"float32",new Float32Array(x))]}var I$={kernelName:vi,backendName:"webgl",kernelFunc:z7};var Wv=class{constructor(e,t,n,o){this.variableNames=["indices"],this.outputShape=[e,t],this.userCode=` - void main() { - ivec2 coords = getOutputCoords(); - int index = round(getIndices(coords.x)); - setOutput(mix(float(${o}), float(${n}), - float(index == coords.y))); - } - `}};var B7=r=>{let{inputs:e,backend:t,attrs:n}=r,{indices:o}=e,{depth:s,onValue:a,offValue:i}=n,l=y.sizeFromShape(o.shape),u=new Wv(l,s,a,i),c=ce({inputs:{x:o},backend:t,attrs:{shape:[l]}}),p=t.runWebGLProgram(u,[c],o.dtype);t.disposeIntermediateTensorInfo(c);let m=[...o.shape,s],f=ce({inputs:{x:p},backend:t,attrs:{shape:m}});return t.disposeIntermediateTensorInfo(p),f},N$={kernelName:ho,backendName:"webgl",kernelFunc:B7};function Ff(r){let{inputs:e,backend:t}=r,{x:n}=e;if(n.dtype==="complex64"){let o=Va({inputs:{input:n},backend:t}),s=Ff({inputs:{x:o},backend:t}),a=ec({inputs:{input:n},backend:t}),i=Ff({inputs:{x:a},backend:t}),l=nn({inputs:{real:s,imag:i},backend:t});return t.disposeIntermediateTensorInfo(o),t.disposeIntermediateTensorInfo(s),t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(i),l}else return Rf({attrs:{shape:n.shape,dtype:n.dtype,value:n.dtype==="string"?"":0},backend:t})}var S$={kernelName:ys,backendName:"webgl",kernelFunc:Ff};function T$(r){let{inputs:e,backend:t}=r,{x:n}=e;if(n.dtype==="string")throw new Error("onesLike is not supported under string dtype");if(n.dtype==="complex64"){let o=Va({inputs:{input:n},backend:t}),s=T$({inputs:{x:o},backend:t}),a=ec({inputs:{input:n},backend:t}),i=Ff({inputs:{x:a},backend:t}),l=nn({inputs:{real:s,imag:i},backend:t});return t.disposeIntermediateTensorInfo(o),t.disposeIntermediateTensorInfo(s),t.disposeIntermediateTensorInfo(a),t.disposeIntermediateTensorInfo(i),l}else return Rf({attrs:{shape:n.shape,dtype:n.dtype,value:1},backend:t})}var E$={kernelName:ps,backendName:"webgl",kernelFunc:T$};function V7(r){let{inputs:e,backend:t,attrs:n}=r,{axis:o}=n;if(e.length===1)return sx({inputs:{input:e[0]},backend:t,attrs:{dim:o}});let s=e[0].shape,a=e[0].dtype;e.forEach(c=>{y.assertShapesMatch(s,c.shape,"All tensors passed to stack must have matching shapes"),y.assert(a===c.dtype,()=>"All tensors passed to stack must have matching dtypes")});let i=[],l=e.map(c=>{let p=sx({inputs:{input:c},backend:t,attrs:{dim:o}});return i.push(p),p}),u=mv({inputs:l,backend:t,attrs:{axis:o}});return i.forEach(c=>t.disposeIntermediateTensorInfo(c)),u}var A$={kernelName:ms,backendName:"webgl",kernelFunc:V7};var Uv=class{constructor(e,t,n){this.variableNames=["x"],this.outputShape=t.map((u,c)=>u[0]+e[c]+u[1]);let o=e.length,s=Le(o),a=t.map(u=>u[0]).join(","),i=t.map((u,c)=>u[0]+e[c]).join(","),l=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,o);if(o===1){this.userCode=` - int start = ${a}; - int end = ${i}; - - void main() { - int outC = getOutputCoords(); - if (outC < start || outC >= end) { - setOutput(float(${n})); - } else { - setOutput(getX(outC - start)); - } - } - `;return}this.userCode=` - ${s} start = ${s}(${a}); - ${s} end = ${s}(${i}); - - void main() { - ${s} outC = getOutputCoords(); - if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) { - setOutput(float(${n})); - } else { - ${s} coords = outC - start; - setOutput(getX(${l})); - } - } - `}};var qv=class{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map((h,g)=>h[0]+e[g]+h[1]);let o=e.length,s=Le(o),a=t.map(h=>h[0]).join(","),i=t.map((h,g)=>h[0]+e[g]).join(","),l=Wt("rc",o),u=Wt("source",o),c=`${l[o-1]} < ${this.outputShape[o-1]}`,p=o===1?"source":`vec2(${u.slice(-2).join()})`,m=[`${s} rc = outputLoc;`,`${l[o-1]} += 1; - if(${c}) { - `,o===1?"":`} - rc = outputLoc; - ${l[o-2]} += 1; - if(${l[o-2]} < ${this.outputShape[o-2]}) {`,o===1?"":` ${l[o-1]} += 1; - if(${c}) {`],f=o===1?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))",d="";for(let h=0,g=o===1?2:4;h{let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{paddings:s,constantValue:a}=n,i=W().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new qv(o.shape,s,a):new Uv(o.shape,s,a);return t.runWebGLProgram(i,[o],o.dtype)},D$={kernelName:go,backendName:"webgl",kernelFunc:Hv};var G7=` - if(a < 0.0 && floor(b) < b){ - return NAN; - } - if (b == 0.0) { - return 1.0; - } - return (round(mod(b, 2.0)) != 1) ? - pow(abs(a), b) : sign(a) * pow(abs(a), b); -`,j7=` - // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise. - vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1))); - vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1); - vec4 result = multiplier * pow(abs(a), b); - - // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS - bvec4 isExpZero = equal(b, vec4(0.0)); - result.r = isExpZero.r ? 1.0 : result.r; - result.g = isExpZero.g ? 1.0 : result.g; - result.b = isExpZero.b ? 1.0 : result.b; - result.a = isExpZero.a ? 1.0 : result.a; - - vec4 isNaN = vec4(lessThan(a, vec4(0.0))) * vec4(lessThan(floor(b), b)); - `+gl+` - return result; -`,W7=it({opSnippet:G7,packedOpSnippet:j7}),$$={kernelName:xo,backendName:"webgl",kernelFunc:W7};function U7(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{axis:s,keepDims:a}=n,i=o.shape.length,l=[],u=y.parseAxisParam(s,o.shape),c=u,p=N.getAxesPermutation(c,i),m=o;p!=null&&(m=zt({inputs:{x:o},backend:t,attrs:{perm:p}}),c=N.getInnerMostAxes(c.length,i),l.push(m)),N.assertAxesAreInnerMostDims("prod",c,i);let f;if(t.shouldExecuteOnCPU([m])){let d=t.texData.get(m.dataId).values,{outVals:h,outShape:g,outDtype:x}=FA(m.shape,m.dtype,d,c);f=t.makeTensorInfo(g,x,h)}else{let[d,h]=N.computeOutAndReduceShapes(m.shape,c),g=y.sizeFromShape(h),x=ce({inputs:{x:m},backend:t,attrs:{shape:[-1,g]}}),b=hu(o.dtype),w=vn(x,b,"prod",t);f=ce({inputs:{x:w},backend:t,attrs:{shape:d}}),l.push(x),l.push(w)}if(a){l.push(f);let d=N.expandShapeToKeepDim(f.shape,u);f=ce({inputs:{x:f},backend:t,attrs:{shape:d}})}return l.forEach(d=>t.disposeIntermediateTensorInfo(d)),f}var R$={kernelName:Ci,backendName:"webgl",kernelFunc:U7};var Kv=r=>{let{backend:e,attrs:t}=r,{start:n,stop:o,step:s,dtype:a}=t,i=OA(n,o,s,a);return e.makeTensorInfo([i.length],a,i)},F$={kernelName:fa,backendName:"webgl",kernelFunc:Kv};var q7="return 1.0 / x;",H7=ve({opSnippet:q7}),O$={kernelName:Ii,backendName:"webgl",kernelFunc:H7};var K7=hr+` - return (x < 0.0) ? 0.0 : x; -`,X7=` - vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0))); - bvec4 isNaN = isnan(x); - - result.r = isNaN.r ? x.r : result.r; - result.g = isNaN.g ? x.g : result.g; - result.b = isNaN.b ? x.b : result.b; - result.a = isNaN.a ? x.a : result.a; - - return result; -`,Y7=ve({opSnippet:K7,packedOpSnippet:X7}),P$={kernelName:bo,backendName:"webgl",kernelFunc:Y7};var Z7=hr+` - return (x < 0.0) ? 0.0 : min(6.0, x); -`,J7=` - vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0))); - bvec4 isNaN = isnan(x); - - result.r = isNaN.r ? x.r : result.r; - result.g = isNaN.g ? x.g : result.g; - result.b = isNaN.b ? x.b : result.b; - result.a = isNaN.a ? x.a : result.a; - - return result; -`,Q7=ve({opSnippet:Z7,packedOpSnippet:J7}),M$={kernelName:_o,backendName:"webgl",kernelFunc:Q7};var Xv=class{constructor(e,t,n,o,s){this.variableNames=["A"],this.outputShape=[];let[a,i,l,u]=e;this.outputShape=[a,t,n,u];let c=[o&&t>1?i-1:i,o&&n>1?l-1:l],p=[o&&t>1?t-1:t,o&&n>1?n-1:n],m;s?m="(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":m="vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=` - const vec2 effectiveInputOverOutputRatioRC = vec2( - ${c[0]/p[0]}, - ${c[1]/p[1]}); - const vec2 inputShapeRC = vec2(${i}.0, ${l}.0); - - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int d = coords[3]; - ivec2 yRC = coords.yz; - - // Fractional source index. - vec2 sourceFracIndexRC = ${m}; - - // Compute the four integer indices. - ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0))); - ivec2 sourceCeilRC = ivec2( - min(inputShapeRC - 1.0, ceil(sourceFracIndexRC))); - - float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d); - float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d); - float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d); - float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d); - - vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC); - - float top = topLeft + (topRight - topLeft) * fracRC.y; - float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y; - float newValue = top + (bottom - top) * fracRC.x; - - setOutput(newValue); - } - `}};var Yv=class{constructor(e,t,n,o,s){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[a,i,l,u]=e;this.outputShape=[a,t,n,u];let c=[o&&t>1?i-1:i,o&&n>1?l-1:l],p=[o&&t>1?t-1:t,o&&n>1?n-1:n],m;s?m="(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":m="vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=` - const vec3 effectiveInputOverOutputRatioRC = vec3( - ${c[0]/p[0]}, - ${c[1]/p[1]}, - ${c[1]/p[1]}); - const vec3 inputShapeRC = vec3(${i}.0, ${l}.0, - ${l}.0); - - float getAValue(int b, int r, int c, int d) { - return getChannel(getA(b, r, c, d), vec2(c, d)); - } - - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int d = coords[3]; - // Calculate values for next column in yRC.z. - ivec3 yRC = coords.yzz + ivec3(0, 0, 1); - - // Fractional source index. - vec3 sourceFracIndexRC = ${m}; - - // Compute the four integer indices. - ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0))); - ivec3 sourceCeilRC = ivec3( - min(inputShapeRC - 1.0, ceil(sourceFracIndexRC))); - - // Should we calculate next column and row elements in 2x2 packed cell. - bool hasNextCol = d < ${u-1}; - bool hasNextRow = coords.z < ${n-1}; - - // In parallel, construct four corners for all four components in - // packed 2x2 cell. - vec4 topLeft = vec4( - getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d), - hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1) - : 0.0, - hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d) - : 0.0, - (hasNextRow && hasNextCol) ? - getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0); - - vec4 bottomLeft = vec4( - getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d), - hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1) - : 0.0, - hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d) - : 0.0, - (hasNextRow && hasNextCol) ? - getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0); - - vec4 topRight = vec4( - getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d), - hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1) - : 0.0, - hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d) - : 0.0, - (hasNextRow && hasNextCol) ? - getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0); - - vec4 bottomRight = vec4( - getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d), - hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1) - : 0.0, - hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d) - : 0.0, - (hasNextRow && hasNextCol) ? - getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0); - - vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC); - - vec4 top = mix(topLeft, topRight, fracRC.yyzz); - vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz); - vec4 newValue = mix(top, bottom, fracRC.x); - - setOutput(newValue); - } - `}};function eY(r){let{inputs:e,backend:t,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:a,size:i}=n,[l,u]=i,c=W().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new Yv(o.shape,l,u,s,a):new Xv(o.shape,l,u,s,a);return t.runWebGLProgram(c,[o],"float32")}var L$={kernelName:wo,backendName:"webgl",kernelFunc:eY};var Zv=class{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;let[,o,s]=t,[,a,i]=e,l=[n&&a>1?o-1:o,n&&i>1?s-1:s],u=[n&&a>1?a-1:a,n&&i>1?i-1:i],c=l[0]/u[0],p=l[1]/u[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int d = coords[3]; - int r = coords[1]; - int c = coords[2]; - - float accumulator = 0.0; - - const float heightScale = float(${c}); - const float widthScale = float(${p}); - - const float invHeightScale = float(${m}); - const float invWidthScale = float(${f}); - - const int winHeight = int(${d}); - const int winWidth = int(${h}); - - // Compute bounds for where in dy we will look - float startRLerp = floor(float(r) * invHeightScale); - int startDyR = int(startRLerp - float(winHeight / 2)); - - float startCLerp = floor(float(c) * invWidthScale); - int startDyC = int(startCLerp - float(winWidth / 2)); - - // Loop over dy - for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) { - int dyR = dyROffset + startDyR; - - // Guard against the window exceeding the bounds of dy - if (dyR < 0 || dyR >= ${a}) { - continue; - } - - for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) { - int dyC = dyCOffset + startDyC; - - // Guard against the window exceeding the bounds of dy - if (dyC < 0 || dyC >= ${i}) { - continue; - } - - float dxR = float(dyR) * heightScale; - int topDxRIndex = int(floor(dxR)); - int bottomDxRIndex = int(min(ceil(dxR), ${o-1}.0)); - float dxRLerp = dxR - float(topDxRIndex); - float inverseDxRLerp = 1.0 - dxRLerp; - - float dxC = float(dyC) * widthScale; - int leftDxCIndex = int(floor(dxC)); - int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0)); - float dxCLerp = dxC - float(leftDxCIndex); - float inverseDxCLerp = 1.0 - dxCLerp; - - if (r == topDxRIndex && c == leftDxCIndex) { - // topLeft - accumulator += - getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp; - } - - if (r == topDxRIndex && c == rightDxCIndex) { - // topRight - accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp; - } - - if (r == bottomDxRIndex && c == leftDxCIndex) { - // bottomLeft - accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp; - } - - if (r == bottomDxRIndex && c == rightDxCIndex) { - // bottomRight - accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp; - } - } - } - // End loop over dy - - setOutput(accumulator); - } - `}};function tY(r){let{inputs:e,backend:t,attrs:n}=r,{images:o,dy:s}=e,{alignCorners:a}=n,i=new Zv(s.shape,o.shape,a);return t.runWebGLProgram(i,[s],s.dtype)}var z$={kernelName:mu,backendName:"webgl",kernelFunc:tY};var Jv=class{constructor(e,t,n,o,s){this.variableNames=["A"],this.outputShape=[];let[a,i,l,u]=e;this.outputShape=[a,t,n,u];let c=[o&&t>1?i-1:i,o&&n>1?l-1:l],p=[o&&t>1?t-1:t,o&&n>1?n-1:n],m=o?"0.5":"0.0",f;s?f="max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":f="vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=` - const vec2 effectiveInputOverOutputRatioRC = vec2( - ${c[0]/p[0]}, - ${c[1]/p[1]}); - const vec2 inputShapeRC = vec2(${i}.0, ${l}.0); - - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int d = coords[3]; - ivec2 yRC = coords.yz; - - // Fractional source index. - vec2 sourceFracIndexRC = ${f}; - - // Compute the coordinators of nearest neighbor point. - ivec2 sourceNearestRC = ivec2( - min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m}))); - float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d); - - setOutput(newValue); - } - `}};function rY(r){let{inputs:e,backend:t,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:a,size:i}=n,[l,u]=i,c=new Jv(o.shape,l,u,s,a);return t.runWebGLProgram(c,[o],o.dtype)}var B$={kernelName:da,backendName:"webgl",kernelFunc:rY};var Qv=class{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;let[,o,s]=t,[,a,i]=e,l=[n&&a>1?o-1:o,n&&i>1?s-1:s],u=[n&&a>1?a-1:a,n&&i>1?i-1:i],c=l[0]/u[0],p=l[1]/u[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int b = coords[0]; - int d = coords[3]; - int r = coords[1]; - int c = coords[2]; - - float accumulator = 0.0; - - const float heightScale = float(${c}); - const float widthScale = float(${p}); - - const float invHeightScale = float(${m}); - const float invWidthScale = float(${f}); - - const int winHeight = int(${d}); - const int winWidth = int(${h}); - - // Compute bounds for where in dy we will look - float startRLerp = floor(float(r) * invHeightScale); - int startDyR = int(floor(startRLerp - float(winHeight / 2))); - - float startCLerp = floor(float(c) * invWidthScale); - int startDyC = int(floor(startCLerp - float(winWidth / 2))); - - // Loop over dy - for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) { - int dyR = dyROffset + startDyR; - - // Guard against the window exceeding the bounds of dy - if (dyR < 0 || dyR >= ${a}) { - continue; - } - - for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) { - int dyC = dyCOffset + startDyC; - - // Guard against the window exceeding the bounds of dy - if (dyC < 0 || dyC >= ${i}) { - continue; - } - - float sourceFracRow = - float(${l[0]}) * - (float(dyR) / float(${u[0]})); - - float sourceFracCol = - float(${l[1]}) * - (float(dyC) / float(${u[1]})); - - int sourceNearestRow = int(min( - float(int(${o}) - 1), - ${n} ? float(round(sourceFracRow)) : - float(floor(sourceFracRow)))); - - int sourceNearestCol = int(min( - float(int(${s}) - 1), - ${n} ? float(round(sourceFracCol)) : - float(floor(sourceFracCol)))); - - if (r == sourceNearestRow && c == sourceNearestCol) { - accumulator += getDy(b, dyR, dyC, d); - } - } - } - // End loop over dy - - setOutput(accumulator); - } - `}};function nY(r){let{inputs:e,backend:t,attrs:n}=r,{images:o,dy:s}=e,{alignCorners:a}=n,i=new Qv(s.shape,o.shape,a);return t.runWebGLProgram(i,[s],s.dtype)}var V$={kernelName:pu,backendName:"webgl",kernelFunc:nY};var e0=class{constructor(e,t){this.variableNames=["x"];let n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=e,n===1){this.userCode=` - void main() { - int coord = getOutputCoords(); - setOutput(getX(${e[0]} - coord - 1)); - } - `;return}let o=i=>t.indexOf(i)!==-1&&e[i]!==1?`${e[i]} - coords[${i}] - 1`:`coords[${i}]`,s=e.map((i,l)=>o(l)).join(","),a=Le(n);this.userCode=` - void main() { - ${a} coords = getOutputCoords(); - setOutput(getX(${s})); - } - `}};var t0=class{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;let n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=e;let o=Wt("rc",n),s=`${o[n-1]} + 1 < ${this.outputShape[n-1]}`,a=`${o[n-2]} + 1 < ${this.outputShape[n-2]}`,i=Le(n);n===1?this.userCode=` - void main(){ - int rc = getOutputCoords(); - vec4 result = vec4(0.); - result.r = getChannel(getX(${e[0]} - rc - 1), - ${e[0]} - rc - 1); - if(${s}){ - result.g = getChannel(getX(${e[0]} - (rc + 1) - 1), - ${e[0]} - (rc + 1) - 1); - } - setOutput(result); - } - `:this.userCode=` - void main() { - ${i} rc = getOutputCoords(); - vec4 result = vec4(0.); - result.r = ${l(o.slice())}; - if(${s}){ - result.g = ${u(o.slice())}; - } - if(${a}) { - result.b = ${c(o.slice())}; - if(${s}) { - result.a = ${p(o.slice())}; - } - } - setOutput(result); - } - `;function l(d){return m(d)}function u(d){return d[n-1]="("+d[n-1]+" + 1)",m(d)}function c(d){return d[n-2]="("+d[n-2]+" + 1)",m(d)}function p(d){return d[n-1]="("+d[n-1]+" + 1)",d[n-2]="("+d[n-2]+" + 1)",m(d)}function m(d){let h=e.map((b,w)=>f(w,d)),g=h.join(","),x=h.slice(-2).join(",");return`getChannel(getX(${g}), vec2(${x}))`}function f(d,h){return t.indexOf(d)!==-1&&e[d]!==1?`${e[d]} - ${h[d]} - 1`:`${h[d]}`}}};function oY(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{dims:s}=n,a=o.shape.length,i=y.parseAxisParam(s,o.shape);if(a===0)return Ut({inputs:{x:o},backend:t});let l=W().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new t0(o.shape,i):new e0(o.shape,i);return t.runWebGLProgram(l,[o],o.dtype)}var G$={kernelName:ko,backendName:"webgl",kernelFunc:oY};var r0=class{constructor(e,t,n,o){this.variableNames=["Image"],this.outputShape=[];let s=e[1],a=e[2],i=Math.sin(t).toFixed(3),l=Math.cos(t).toFixed(3);this.outputShape=e;let[u,c]=N.getImageCenter(o,s,a),p=u.toFixed(3),m=c.toFixed(3),f="";typeof n=="number"?f=`float outputValue = ${n.toFixed(2)};`:f=` - vec3 fill = vec3(${n.join(",")}); - float outputValue = fill[coords[3]];`,this.userCode=` - void main() { - ivec4 coords = getOutputCoords(); - int x = coords[2]; - int y = coords[1]; - float coordXFloat = (float(x) - ${p}) * ${l} - (float(y) - ${m}) * ${i}; - float coordYFloat = (float(x) - ${p}) * ${i} + (float(y) - ${m}) * ${l}; - int coordX = int(round(coordXFloat + ${p})); - int coordY = int(round(coordYFloat + ${m})); - ${f} - if(coordX >= 0 && coordX < ${a} && coordY >= 0 && coordY < ${s}) { - outputValue = getImage(coords[0], coordY, coordX, coords[3]); - } - setOutput(outputValue); - } - `}};var j$={kernelName:Fi,backendName:"webgl",kernelFunc:({inputs:r,attrs:e,backend:t})=>{let{image:n}=r,{radians:o,fillValue:s,center:a}=e,i=t,l=new r0(n.shape,o,s,a);return i.runWebGLProgram(l,[n],n.dtype)}};var sY=` - // OpenGL ES does not support round function. - // The algorithm is based on banker's rounding. - float base = floor(x); - if ((x - base) < 0.5) { - return floor(x); - } else if ((x - base) > 0.5) { - return ceil(x); - } else { - if (mod(base, 2.0) == 0.0) { - return base; - } else { - return base + 1.0; - } - } -`,iY=ve({opSnippet:sY}),W$={kernelName:vo,backendName:"webgl",kernelFunc:iY};var aY="return inversesqrt(x);",lY=ve({opSnippet:aY,cpuKernelImpl:PA}),U$={kernelName:Co,backendName:"webgl",kernelFunc:lY};var Of=class{constructor(e,t,n,o,s,a,i=!0){this.variableNames=["updates","indices","defaultValue"],this.outputShape=a;let l=Le(s.length),u=Le(a.length),c="";n===1?c="i":n===2&&(c="i, j");let p=`getIndices(${c})`,m="";o===1?m="i":o===2&&(m="i, coords[1]");let f=`getUpdates(${m})`,d=t>1?"strides[j]":"strides";this.userCode=` - ${l} strides = ${l}(${s}); - - void main() { - ${u} coords = getOutputCoords(); - float sum = 0.0; - bool found = false; - for (int i = 0; i < ${e}; i++) { - int flattenedIndex = 0; - for (int j = 0; j < ${t}; j++) { - int index = round(${p}); - flattenedIndex += index * ${d}; - } - if (flattenedIndex == coords[0]) { - sum += ${f}; - found = true; - } - } - setOutput(mix(getDefaultValue(), sum, float(found))); - } - `}};function uY(r){let{inputs:e,backend:t,attrs:n}=r,{indices:o,updates:s}=e,{shape:a}=n,{sliceRank:i,numUpdates:l,sliceSize:u,strides:c,outputSize:p}=N.calculateShapes(s,o,a),m=[p/u,u];if(p===0)return t.makeTensorInfo(a,o.dtype);let f=ce({inputs:{x:o},backend:t,attrs:{shape:[l,i]}}),d=ce({inputs:{x:s},backend:t,attrs:{shape:[l,u]}}),h=t.makeTensorInfo([],"float32",new Float32Array([0])),g=new Of(l,i,f.shape.length,d.shape.length,c,m),x=t.runWebGLProgram(g,[d,f,h],d.dtype),b=ce({inputs:{x},backend:t,attrs:{shape:a}});return t.disposeIntermediateTensorInfo(f),t.disposeIntermediateTensorInfo(d),t.disposeIntermediateTensorInfo(x),t.disposeIntermediateTensorInfo(h),b}var q$={kernelName:Ni,backendName:"webgl",kernelFunc:uY};var n0=class{constructor(e,t,n){this.variableNames=["c","a","b"],this.outputShape=t;let o,s;if(n>4)throw Error(`Where for rank ${n} is not yet supported`);if(n===1)s="resRC",o="resRC";else{let i=["resRC.x","resRC.y","resRC.z","resRC.w"],l=[],u=[];for(let c=0;c= 1.0) { - setOutput(getA(${s})); - } else { - setOutput(getB(${s})); - } - } - `}};function cY(r){let{inputs:e,backend:t}=r,{condition:n,t:o,e:s}=e,a=new n0(n.shape.length,o.shape,o.shape.length);return t.runWebGLProgram(a,[n,o,s],fr(o.dtype,s.dtype))}var H$={kernelName:ds,backendName:"webgl",kernelFunc:cY};var pY=` - // Stable and Attracting Fixed Point (0, 1) for Normalized Weights. - // see: https://arxiv.org/abs/1706.02515 - float scaleAlpha = ${N.SELU_SCALEALPHA}; - float scale = ${N.SELU_SCALE}; - return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0); -`,mY=ve({opSnippet:pY}),K$={kernelName:Si,backendName:"webgl",kernelFunc:mY};var fY="return 1.0 / (1.0 + exp(-1.0 * x));",dY=ve({opSnippet:fY}),X$={kernelName:No,backendName:"webgl",kernelFunc:dY};var hY=` - if (isnan(x)) { return 0.0; } - return sign(x); -`,gY=ve({opSnippet:hY}),Y$={kernelName:Ei,backendName:"webgl",kernelFunc:gY};var xY=Yg+` - return sin(x); -`,yY=ve({opSnippet:xY}),Z$={kernelName:Io,backendName:"webgl",kernelFunc:yY};var bY=` - float e2x = exp(x); - return (e2x - 1.0 / e2x) / 2.0; -`,wY=ve({opSnippet:bY}),J$={kernelName:Ti,backendName:"webgl",kernelFunc:wY};var _Y=` - float epsilon = 1.1920928955078125e-7; - float threshold = log(epsilon) + 2.0; - - bool too_large = x > -threshold; - bool too_small = x < threshold; - - float result; - float exp_x = exp(x); - - if (too_large){ - result = x; - } - else if (too_small){ - result = exp_x; - } - else{ - result = log(exp_x + 1.0); - } - return result; -`,kY=ve({opSnippet:_Y}),Q$={kernelName:Ai,backendName:"webgl",kernelFunc:kY};var vY=r=>{let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{blockShape:s,paddings:a}=n;y.assert(o.shape.length<=4,()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet");let i=s.reduce((x,b)=>x*b),l=[[0,0]];l.push(...a);for(let x=1+s.length;xt.disposeIntermediateTensorInfo(x)),g},eR={kernelName:ha,backendName:"webgl",kernelFunc:vY};function CY(r){let{inputs:e,backend:t,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:a}=e,{outputShape:i}=n,{sliceRank:l,numUpdates:u,strides:c,outputSize:p}=N.calculateShapes(s,o,i),m=!1,f=new Of(u,l,o.shape.length,s.shape.length,c,[p,1],m),d=t.runWebGLProgram(f,[s,o,a],s.dtype),h=ce({inputs:{x:d},backend:t,attrs:{shape:i}});return t.disposeIntermediateTensorInfo(d),h}var tR={kernelName:fu,backendName:"webgl",kernelFunc:CY};function IY(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{numOrSizeSplits:s,axis:a}=n,i=y.parseAxisParam(a,o.shape)[0],l=N.prepareSplitSize(o,s,i),u=o.shape.length,c=new Array(u).fill(0),p=o.shape.slice();return l.map(m=>{let f=[...p];f[i]=m;let d=Ba({inputs:{x:o},backend:t,attrs:{begin:c,size:f}});return c[i]+=m,d})}var rR={kernelName:gs,backendName:"webgl",kernelFunc:IY};var NY="return sqrt(x);",SY=ve({opSnippet:NY}),nR={kernelName:So,backendName:"webgl",kernelFunc:SY};var TY="return x * x;",EY=ve({opSnippet:TY}),oR={kernelName:ga,backendName:"webgl",kernelFunc:EY};var sR="return (a - b) * (a - b);",AY=it({opSnippet:sR,packedOpSnippet:sR}),iR={kernelName:Ao,backendName:"webgl",kernelFunc:AY};function DY({inputs:r,attrs:e,backend:t}){let{x:n}=r,o=hr+` - return x > 0.0 ? 1.0 : float(${e.alpha}); - `,s=new rn(n.shape,o);return t.runWebGLProgram(s,[n],n.dtype)}var aR={kernelName:$n,backendName:"webgl",kernelFunc:DY};var o0=class{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;let o=n.length,s=Le(n.length),a=Le(n.length),i="";if(o===1)i="coords * strides + begin";else{let l=0;i=n.map((u,c)=>(l++,n.length===1?`coords * strides[${c}] + begin[${c}]`:`coords[${l-1}] * strides[${c}] + begin[${c}]`)).join(",")}this.userCode=` - ${s} begin = ${s}(${e}); - ${s} strides = ${s}(${t}); - - void main() { - ${a} coords = getOutputCoords(); - setOutput(getX(${i})); - } - `}};function $Y(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{begin:s,end:a,strides:i,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{nonStrided:f,$begin:d,$strides:h,size:g,newShape:x,outShape:b}=or.sliceInfo(o.shape,s,a,i,l,u,c,p,m),w=ce({inputs:{x:o},backend:t,attrs:{shape:x}}),_;if(f){let E=Ba({inputs:{x:w},backend:t,attrs:{begin:d,size:g}});_=ce({inputs:{x:E},backend:t,attrs:{shape:b}}),t.disposeIntermediateTensorInfo(E)}else if(b.some(E=>E===0))_=t.makeTensorInfo(b,o.dtype,[]);else if(t.shouldExecuteOnCPU([w])){let R=t.texData.get(w.dataId).values,F=Ce(w.shape,w.dtype,R),P=LA(b,F,h,d);_=t.makeTensorInfo(b,w.dtype,P.values)}else{let S=new o0(d,h,b);_=t.runWebGLProgram(S,[w],w.dtype)}let k=ce({inputs:{x:_},backend:t,attrs:{shape:b}});return t.disposeIntermediateTensorInfo(w),t.disposeIntermediateTensorInfo(_),k}var lR={kernelName:Di,backendName:"webgl",kernelFunc:$Y};var RY="return tan(x);",FY=ve({opSnippet:RY}),uR={kernelName:$i,backendName:"webgl",kernelFunc:FY};var OY=` - float e2x = exp(-2.0 * abs(x)); - return sign(x) * (1.0 - e2x) / (1.0 + e2x); -`,PY=ve({opSnippet:OY}),cR={kernelName:$o,backendName:"webgl",kernelFunc:PY};var s0=class{constructor(e,t){this.variableNames=["A"];let n=new Array(e.length);for(let a=0;a5)throw Error(`Tile for rank ${e} is not yet supported`);if(e===1)return`imod(resRC, ${r[0]})`;let t=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],n=[];for(let o=0;oy.decodeString(m)),c=Ce(o.shape,o.dtype,u),p=BA(c,s);return t.makeTensorInfo(p.shape,p.dtype,p.values)}let a=new s0(o.shape,s);return t.runWebGLProgram(a,[o],o.dtype)}var pR={kernelName:yn,backendName:"webgl",kernelFunc:i0};function LY(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{k:s,sorted:a}=n,i=t.readSync(o.dataId),[l,u]=VA(i,o.shape,o.dtype,s,a);return[t.makeTensorInfo(l.shape,l.dtype,l.values),t.makeTensorInfo(u.shape,u.dtype,u.values)]}var mR={kernelName:Ri,backendName:"webgl",kernelFunc:LY};function zY(r){let{inputs:e,attrs:t,backend:n}=r,{axis:o}=t,{x:s}=e;$s(s,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");let a=n.readSync(s.dataId),{outputValues:i,outputShape:l,indices:u}=GA(a,o,s.shape,s.dtype);return[n.makeTensorInfo(l,s.dtype,i),n.makeTensorInfo([u.length],"int32",u)]}var fR={kernelName:du,backendName:"webgl",kernelFunc:zY};function BY(r){let{inputs:e,backend:t,attrs:n}=r,{value:o}=e,{axis:s}=n;s<0&&(s+=o.shape.length);let a=o,i=a.shape.length,l=o.shape[s],u=new Array(i-1),c=0;for(let h=0;ht.disposeIntermediateTensorInfo(h)),d}var dR={kernelName:xs,backendName:"webgl",kernelFunc:BY};var a0=class{constructor(e,t){this.variableNames=["x","segmentIds"];let n=e.windowSize,o=e.batchSize,s=e.inSize,a=e.numSegments,i=a*Math.ceil(s/n);this.outputShape=[o,i];let l="0.0",u="sumValue",c=Math.floor(n/4)*4,p=n%4,m=` - sumValue += dot(values, segFilter); - `,f="";s%n>0&&(f=` - if (inIdx < 0 || inIdx >= ${s}) { - return initializationValue; - } - `);let d="";s%n>0&&(d=` - if (inIdx < 0 || inIdx >= ${s}) { - return -1.0; - } - `),this.userCode=` - const float initializationValue = ${l}; - - float getValue(int batch, int inIdx) { - ${f} - return getX(batch, inIdx); - } - - float getSegmentIdAtIndex(int inIdx) { - ${d} - return getSegmentIds(inIdx); - } - - void main() { - ivec2 coords = getOutputCoords(); - int batch = coords[0]; - int outIdx = coords[1]; - int inOffset = int(floor(float(outIdx) / float( - ${a})) * float(${n})); - int currentSeg = int(mod(float(outIdx), float(${a}))); - - float sumValue = 0.0; - - for (int i = 0; i < ${c}; i += 4) { - int inIdx = inOffset + i; - vec4 values = vec4( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), - getValue(batch, inIdx + 2), - getValue(batch, inIdx + 3) - ); - - vec4 segFilter = vec4( - int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0, - int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0, - int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0, - int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0 - ); - - ${m} - } - - int inIdx = inOffset + ${c}; - if (${p===1}) { - vec4 values = vec4( - getValue(batch, inIdx), - initializationValue, - initializationValue, - initializationValue - ); - - int inIdxSeg = int(getSegmentIdAtIndex(inIdx)); - - vec4 segFilter = vec4( - int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0, - 0, - 0, - 0 - ); - - ${m} - } else if (${p===2}) { - vec4 values = vec4( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), - initializationValue, - initializationValue - ); - - vec4 segFilter = vec4( - int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0, - int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0, - 0, - 0 - ); - - ${m} - } else if (${p===3}) { - vec4 values = vec4( - getValue(batch, inIdx), - getValue(batch, inIdx + 1), - getValue(batch, inIdx + 2), - initializationValue - ); - - vec4 segFilter = vec4( - int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0, - int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0, - int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0, - 0 - ); - - ${m} - } - setOutput(${u}); - } - `}};function VY(r){let{inputs:e,backend:t,attrs:n}=r,{x:o,segmentIds:s}=e,{numSegments:a}=n,i=o.shape.length,l=[],u=0,c=N.getAxesPermutation([u],i),p=o;c!=null&&(p=zt({inputs:{x:o},backend:t,attrs:{perm:c}}),l.push(p),u=N.getInnerMostAxes(1,i)[0]);let m=N.segment_util.computeOutShape(p.shape,u,a),f=y.sizeFromShape([p.shape[u]]),d=ce({inputs:{x:p},backend:t,attrs:{shape:[-1,f]}});l.push(d);let h=hu(o.dtype),g=(_,k,E,S,R)=>{let F=_.shape[0],P=_.shape[1],j=N.segment_util.segOpComputeOptimalWindowSize(P,R),G={windowSize:j,inSize:P,batchSize:F,numSegments:R},U=new a0(G,k),X=t.compileAndRun(U,[_,E],S);if(l.push(X),X.shape[1]===R)return X;let K=Kv({backend:t,attrs:{start:0,stop:R,step:1,dtype:"float32"}}),Z=i0({inputs:{x:K},backend:t,attrs:{reps:[P/j]}});return l.push(K),l.push(Z),g(X,k,Z,S,R)},x=g(d,"unsortedSegmentSum",s,h,a),b=ce({inputs:{x},backend:t,attrs:{shape:m}}),w=b;if(c!=null){l.push(b);let _=N.getUndoAxesPermutation(c);w=zt({inputs:{x:w},backend:t,attrs:{perm:_}})}return l.forEach(_=>t.disposeIntermediateTensorInfo(_)),w}var hR={kernelName:xa,backendName:"webgl",kernelFunc:VY};var GY=[QD,e$,d2,g2,x2,y2,w2,_2,k2,v2,N2,S2,T2,E2,D2,A2,$2,F2,R2,O2,P2,M2,L2,B2,V2,U2,H2,K2,Y2,r2,Q2,tD,rD,eD,oD,sD,nD,iD,aD,lD,pD,mD,fD,hD,gD,dD,xD,yD,bD,wD,_D,kD,CD,ID,SD,TD,ED,AD,$D,RD,FD,OD,PD,MD,LD,zD,BD,t2,VD,Z2,GD,jD,WD,n2,UD,qD,HD,XD,KD,YD,ZD,JD,r$,s$,o$,i$,a$,u$,n$,p$,m$,f$,d$,h$,w$,l2,k$,v$,C$,I$,G2,N$,E$,A$,D$,$$,o2,R$,F$,j2,g$,O$,M$,P$,c2,L$,z$,B$,V$,G$,j$,W$,U$,q$,H$,K$,X$,Y$,Z$,J$,z2,b$,Q$,eR,tR,rR,nR,oR,iR,aR,lR,y$,m2,uR,cR,pR,mR,f2,fR,dR,hR,S$];for(let r of GY)tl(r);var Bt;(function(r){r[r.float32=0]="float32",r[r.int32=1]="int32",r[r.bool=2]="bool",r[r.string=3]="string",r[r.complex64=4]="complex64"})(Bt||(Bt={}));var bl;(function(r){r[r.linear=0]="linear",r[r.relu=1]="relu",r[r.relu6=2]="relu6",r[r.prelu=3]="prelu",r[r.leakyrelu=4]="leakyrelu"})(bl||(bl={}));var gR;function jY(r){gR=r.wasm.cwrap(bs,null,["number","array","number","number","array","number","number","number","number","number","number","number","number"])}function WY(r){let{inputs:e,backend:t,attrs:n}=r,{a:o,b:s,bias:a,preluActivationWeights:i}=e;if(o.dtype!=="float32"||s.dtype!=="float32")throw new Error("_FusedMatMul for non non-float32 tensors not yet supported.");let{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:p}=n,m=t.dataIdMap.get(o.dataId).id,f=t.dataIdMap.get(s.dataId).id,d=0;if(a!=null){let R=t.dataIdMap.get(a.dataId);if(R.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${R.shape.length}.`);d=R.id}let h=i==null?0:t.dataIdMap.get(i.dataId).id,g=bl[c];if(g==null)throw new Error(`${c} activation not yet supported for FusedConv2D in the wasm backend.`);let x=l?o.shape[2]:o.shape[1],b=u?s.shape[1]:s.shape[2],w=o.shape[0],_=t.makeOutput([w,x,b],o.dtype),k=t.dataIdMap.get(_.dataId).id,E=new Uint8Array(new Int32Array(o.shape).buffer),S=new Uint8Array(new Int32Array(s.shape).buffer);return gR(m,E,o.shape.length,f,S,s.shape.length,l,u,g,d,h,p||0,k),_}var xR={kernelName:bs,backendName:"wasm",setupFunc:jY,kernelFunc:WY};function Rt(r){let e;function t(o){e=o.wasm.cwrap(r,null,["number","number"])}function n(o){let{backend:s,inputs:{x:a}}=o,i=s.dataIdMap.get(a.dataId).id,l=s.makeOutput(a.shape,a.dtype),u=s.dataIdMap.get(l.dataId).id;return y.sizeFromShape(l.shape)===0||e(i,u),l}return{kernelName:r,backendName:"wasm",setupFunc:t,kernelFunc:n}}var yR=Rt(ss);function bt(r,e,t){let n;function o(a){n=a.wasm.cwrap(r,null,["number","array","number","number","array","number","number","number"])}function s(a){let{backend:i,inputs:l}=a,{a:u,b:c}=l,p=i.dataIdMap.get(u.dataId).id,m=i.dataIdMap.get(c.dataId).id,f=t!=null?t:u.dtype,d=N.assertAndGetBroadcastShape(u.shape,c.shape),h=i.makeOutput(d,f);if(y.sizeFromShape(d)===0)return h;let g=new Uint8Array(new Int32Array(u.shape).buffer),x=new Uint8Array(new Int32Array(c.shape).buffer),b=i.dataIdMap.get(h.dataId).id,w=()=>n(p,g,u.shape.length,m,x,c.shape.length,Bt[u.dtype],b);if(e&&u.dtype==="float32")return w(),h;let _=N.getBroadcastDims(u.shape,d),k=N.getBroadcastDims(c.shape,d),E=_.every((R,F)=>R===F),S=k.every((R,F)=>R===F);if(E&&S)return w(),h;throw new Error(`Broadcasting along outer dims is not yet supported for ${u.dtype} ${r}.`)}return{kernelName:r,backendName:"wasm",setupFunc:o,kernelFunc:s}}var UY=!0,bR=bt(xn,UY);var wR;function qY(r){wR=r.wasm.cwrap(Wn,null,["array","number","number","number"])}function HY(r){let{inputs:e,backend:t}=r,n=t.makeOutput(e[0].shape,e[0].dtype);if(y.sizeFromShape(n.shape)===0)return n;let o=e.map(i=>t.dataIdMap.get(i.dataId).id),s=new Uint8Array(new Int32Array(o).buffer),a=t.dataIdMap.get(n.dataId).id;return wR(s,o.length,Bt[n.dtype],a),n}var _R={kernelName:Wn,backendName:"wasm",setupFunc:qY,kernelFunc:HY};function rc(r){let{inputs:{x:e},backend:t}=r,n=t.makeOutput(e.shape,e.dtype),o=t.typedArrayFromHeap(e);return t.typedArrayFromHeap(n).set(o),n}var kR={kernelName:us,backendName:"wasm",kernelFunc:rc};var vR;function KY(r){vR=r.wasm.cwrap(Ro,null,["number","array","number","number","number","array","number"])}function kp(r){let{inputs:e,backend:t,attrs:n}=r,[o,s]=YY(e.x.shape,n.perm),a=!0;for(let d=0;d=o&&(s===-1||n[s]>n[a])&&(s=a);n[s]=o}return[t,n]}var CR={kernelName:Ro,backendName:"wasm",kernelFunc:kp,setupFunc:KY};function Ho(r,e,t){let n=r.shape,o=r.shape.length,s=y.parseAxisParam(e,n),a=s,i=N.getAxesPermutation(a,o),l=null,u=!1;if(i!=null){let c=new Array(o);for(let f=0;f`new shape: ${a}, old shape: ${n.shape}. New shape and old shape must have the same number of elements.`),{dataId:n.dataId,shape:a,dtype:n.dtype}}var ER={kernelName:fs,backendName:"wasm",kernelFunc:Pr};var AR;function t9(r){AR=r.wasm.cwrap(Hn,null,["number","array","number","number","array","number","number","number","number"])}function r9(r){let{inputs:e,backend:t,attrs:n}=r,{a:o,b:s}=e,{transposeA:a,transposeB:i}=n;if(o.dtype!=="float32"||s.dtype!=="float32")throw new Error("BatchMatMul for non non-float32 tensors not yet supported.");let l=o.shape.length,u=s.shape.length,c=a?o.shape[l-2]:o.shape[l-1],p=i?s.shape[u-1]:s.shape[u-2],m=a?o.shape[l-1]:o.shape[l-2],f=i?s.shape[u-2]:s.shape[u-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),b=g===x||g===1||x===1;y.assert(l>=2&&u>=2&&b,()=>`Error in matMul: the input batch dimensions must either be the same or at least one input batch dimension must be 1. Got input batch dimensions of (${d}) and (${h}).`);let _=(g>x?o.shape.slice(0,-2):s.shape.slice(0,-2)).concat([m,f]);y.assert(c===p,()=>`Error in matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${o.shape} and ${s.shape} and transposeA=${a} and transposeB=${i} must match.`);let k=a?[g,c,m]:[g,m,c],E=i?[x,f,p]:[x,p,f],S=Pr({inputs:{x:o},backend:t,attrs:{shape:k}}),R=Pr({inputs:{x:s},backend:t,attrs:{shape:E}}),F=t.dataIdMap.get(S.dataId).id,P=t.dataIdMap.get(R.dataId).id,j=a?S.shape[2]:S.shape[1],G=i?R.shape[1]:R.shape[2],U=Math.max(g,x),X=t.makeOutput([U,j,G],S.dtype),K=t.dataIdMap.get(X.dataId).id,Z=new Uint8Array(new Int32Array(S.shape).buffer),te=new Uint8Array(new Int32Array(R.shape).buffer);return AR(F,Z,S.shape.length,P,te,R.shape.length,a,i,K),X.shape=_,X}var DR={kernelName:Hn,backendName:"wasm",setupFunc:t9,kernelFunc:r9};function nc(r){let{inputs:{x:e},attrs:{dtype:t},backend:n}=r,o=n.makeOutput(e.shape,t),s=n.typedArrayFromHeap(e);return n.typedArrayFromHeap(o).set(s),o}var $R={kernelName:An,backendName:"wasm",kernelFunc:nc};var RR;function n9(r){RR=r.wasm.cwrap(Dn,null,["number","number","number","number"])}function o9(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{clipValueMin:s,clipValueMax:a}=n,i=t.dataIdMap.get(o.dataId).id,l=t.makeOutput(o.shape,o.dtype),u=t.dataIdMap.get(l.dataId).id;return RR(i,s,a,u),l}var FR={kernelName:Dn,backendName:"wasm",setupFunc:n9,kernelFunc:o9};function l0(r){let{inputs:e,backend:t}=r,n=y.parseAxisParam(r.attrs.axis,e[0].shape)[0],o=N.computeOutShape(e.map(f=>f.shape),n),s=e.filter(f=>y.sizeFromShape(f.shape)>0);if(s.length===1)return rc({inputs:{x:s[0]},backend:t});let a=t.makeOutput(o,e[0].dtype);if(y.sizeFromShape(o)===0)return a;let i=s.map(f=>f.shape);if(N.assertParamsConsistent(i,n),s[0].dtype==="string"){let f=s.map(w=>{let _=y.sizeFromShape(w.shape.slice(n));return Pr({inputs:{x:w},backend:t,attrs:{shape:[-1,_]}})}),d=f.map(w=>({vals:t.readSync(w.dataId),shape:w.shape}));o=N.computeOutShape(f.map(w=>w.shape),1);let h=f[0].shape[0]===1,g=pf(d,o,e[0].dtype,h),x=N.computeOutShape(s.map(w=>w.shape),n);a.shape=x;let b=t.dataIdMap.get(a.dataId);return b.stringBytes=N.fromStringArrayToUint8(g),a}let l=y.sizeFromShape(s[0].shape.slice(0,n)),u=0,c=s.map(f=>{let d=y.sizeFromShape(f.shape.slice(n));return u+=d,d}),p=s.map(f=>t.typedArrayFromHeap(f)),m=t.typedArrayFromHeap(a);for(let f=0;f`cumsum does not support ${o.dtype} tensors in the WASM backend`);let u=N.getAxesPermutation([s],l),c=o;u!==null&&(c=kp({inputs:{x:o},attrs:{perm:u},backend:t}));let p=N.getInnerMostAxes(1,l)[0];N.assertAxesAreInnerMostDims("cumsum",[p],l);let m=t.makeOutput(c.shape,c.dtype),f=c.shape[p],d=t.dataIdMap.get(c.dataId).id,h=t.dataIdMap.get(m.dataId).id;jR(d,a?1:0,i?1:0,f,h,Bt[o.dtype]);let g=m;if(u!==null){let x=N.getUndoAxesPermutation(u);g=kp({inputs:{x:m},attrs:{perm:x},backend:t}),t.disposeData(c.dataId),t.disposeData(m.dataId)}return g}var WR={kernelName:Zn,backendName:"wasm",setupFunc:p9,kernelFunc:m9};var UR;function f9(r){UR=r.wasm.cwrap(oi,null,["number","number","number","array","number","array","array","number","number"])}function d9(r){let{backend:e,inputs:t,attrs:n}=r,{x:o}=t,{blockSize:s,dataFormat:a}=n;y.assert(s>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${s}`);let i=o.shape[0],l=a==="NHWC"?o.shape[1]:o.shape[2],u=a==="NHWC"?o.shape[2]:o.shape[3],c=a==="NHWC"?o.shape[3]:o.shape[1],p=l*s,m=u*s,f=c/(s*s),d=a==="NHWC"?[i,p,m,f]:[i,f,p,m],h=e.makeOutput(d,"float32"),x=e.dataIdMap.get(o.dataId).id,b=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),w=new Uint8Array(new Int32Array(d).buffer),_=new Uint8Array(new Int32Array(y.computeStrides(d)).buffer),k=e.dataIdMap.get(h.dataId).id;return UR(x,s,a==="NHWC"?1:0,b,o.shape.length-1,w,_,d.length,k),h}var qR={kernelName:oi,backendName:"wasm",setupFunc:f9,kernelFunc:d9};var HR;function h9(r){HR=r.wasm.cwrap(Jn,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function g9(r){let{inputs:e,attrs:t,backend:n}=r,{x:o,filter:s}=e,a=n.dataIdMap.get(o.dataId).id,i=n.dataIdMap.get(s.dataId).id,{strides:l,dilations:u,pad:c,dimRoundingMode:p}=t,m=u==null?[1,1]:u,f=N.computeConv2DInfo(o.shape,s.shape,l,m,c,p,!0),d=f.filterHeight,h=f.filterWidth,g=f.padInfo.top,x=f.padInfo.right,b=f.padInfo.bottom,w=f.padInfo.left,_=f.dilationHeight,k=f.dilationWidth,E=f.strideHeight,S=f.strideWidth,R=f.inChannels,F=f.outChannels,P=f.padInfo.type==="SAME"?1:0;if(f.dataFormat!=="channelsLast")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${f.dataFormat}'. Please use 'channelsLast'.`);let j=n.makeOutput(f.outShape,"float32"),G=n.dataIdMap.get(j.dataId).id;return HR(a,o.shape[0],o.shape[1],o.shape[2],i,d,h,g,x,b,w,P,_,k,E,S,R,F,G),j}var KR={kernelName:Jn,backendName:"wasm",setupFunc:h9,kernelFunc:g9};var x9=!1,XR=bt(ai,x9,"bool");var YR=Rt(eo);function lx(r){let{inputs:e,attrs:t,backend:n}=r,{input:o}=e,{dim:s}=t,a=o.shape.length,i=o.shape.slice(),l=s;return s<0&&(y.assert(-(a+1)<=s,()=>`Axis must be in the interval [${-(a+1)}, ${a}]`),l=a+s+1),i.splice(l,0,1),Pr({inputs:{x:o},backend:n,attrs:{shape:i}})}var ZR={kernelName:as,backendName:"wasm",kernelFunc:lx};function y9(r){let{attrs:{shape:e,value:t,dtype:n},backend:o}=r,s=o.makeOutput(e,n);return o.typedArrayFromHeap(s).fill(t),s}var JR={kernelName:ua,backendName:"wasm",kernelFunc:y9};var QR;function b9(r){QR=r.wasm.cwrap(ui,null,["number","number","number","number","number","number"])}function w9(r){let{inputs:e,backend:t}=r,{image:n}=e,o=t.makeOutput(n.shape,n.dtype),s=t.dataIdMap.get(n.dataId).id,a=t.dataIdMap.get(o.dataId).id,[i,l,u,c]=n.shape;return QR(s,i,l,u,c,a),o}var eF={kernelName:ui,backendName:"wasm",kernelFunc:w9,setupFunc:b9};var tF=Rt(to);var _9=!1,rF=bt(ro,_9);var nF;function k9(r){nF=r.wasm.cwrap(no,null,["number","number","number","number","number","number","number"])}function v9(r){let{backend:e,inputs:t,attrs:n}=r,{varianceEpsilon:o}=n,{x:s,mean:a,variance:i,offset:l,scale:u}=t,c=e.dataIdMap.get(s.dataId).id,p=e.dataIdMap.get(a.dataId).id,m=e.dataIdMap.get(i.dataId).id,f=l!=null?e.dataIdMap.get(l.dataId).id:0,d=u!=null?e.dataIdMap.get(u.dataId).id:0,h=e.makeOutput(s.shape,s.dtype);if(y.sizeFromShape(s.shape)===0)return h;let g=e.dataIdMap.get(h.dataId).id;return nF(c,p,m,f,d,o,g),h}var oF={kernelName:no,backendName:"wasm",setupFunc:k9,kernelFunc:v9};var sF;function C9(r){sF=r.wasm.cwrap(ws,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function I9(r){let{inputs:e,attrs:t,backend:n}=r,{x:o,filter:s,bias:a,preluActivationWeights:i}=e,{strides:l,pad:u,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=t,h=N.computeConv2DInfo(o.shape,s.shape,l,c,u,m),g=bl[f];if(g==null)throw new Error(`${f} activation not yet supported for FusedConv2D in the wasm backend.`);let x=n.dataIdMap.get(o.dataId).id,b=n.dataIdMap.get(s.dataId).id,w=h.outChannels,_=0;if(a!=null){let ae=n.dataIdMap.get(a.dataId);if(ae.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${ae.shape.length}.`);if(ae.shape[0]!==w)throw new Error(`FusedConv2D bias shape (${ae.shape}) does not match the number of output channels (${w})`);_=ae.id}let k=h.filterHeight,E=h.filterWidth,S=h.padInfo.top,R=h.padInfo.right,F=h.padInfo.bottom,P=h.padInfo.left,j=h.dilationHeight,G=h.dilationWidth,U=h.strideHeight,X=h.strideWidth,K=h.inChannels,Z=h.padInfo.type==="SAME"?1:0,te=h.batchSize,Y=h.inHeight,re=h.inWidth;if(p!=="NHWC")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let ie=n.makeOutput(h.outShape,"float32"),se=n.dataIdMap.get(ie.dataId).id,pe=i==null?0:n.dataIdMap.get(i.dataId).id;return sF(x,te,Y,re,b,k,E,_,S,R,F,P,Z,j,G,U,X,K,w,g,pe,d||0,se),ie}var iF={kernelName:ws,backendName:"wasm",setupFunc:C9,kernelFunc:I9};var aF;function N9(r){aF=r.wasm.cwrap(_s,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function S9(r){let{inputs:e,attrs:t,backend:n}=r,{x:o,filter:s,bias:a,preluActivationWeights:i}=e,{strides:l,pad:u,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=t,h=N.computeConv2DInfo(o.shape,s.shape,l,c,u,m,!0),g=bl[f];if(g==null)throw new Error(`${f} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let x=n.dataIdMap.get(o.dataId).id,b=n.dataIdMap.get(s.dataId).id,w=h.outChannels,_=0;if(a!=null){let ae=n.dataIdMap.get(a.dataId);if(ae.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${ae.shape.length}.`);if(ae.shape[0]!==w)throw new Error(`FusedDepthwiseConv2D bias shape (${ae.shape}) does not match the number of output channels (${w})`);_=ae.id}let k=h.filterHeight,E=h.filterWidth,S=h.padInfo.top,R=h.padInfo.right,F=h.padInfo.bottom,P=h.padInfo.left,j=h.dilationHeight,G=h.dilationWidth,U=h.strideHeight,X=h.strideWidth,K=h.inChannels,Z=h.padInfo.type==="SAME"?1:0,te=h.batchSize,Y=h.inHeight,re=h.inWidth;if(p!=="NHWC")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let ie=n.makeOutput(h.outShape,"float32"),se=n.dataIdMap.get(ie.dataId).id,pe=i==null?0:n.dataIdMap.get(i.dataId).id;return aF(x,te,Y,re,b,k,E,_,S,R,F,P,Z,j,G,U,X,K,w,g,pe,d||0,se),ie}var lF={kernelName:_s,backendName:"wasm",setupFunc:N9,kernelFunc:S9};var uF;function T9(r){uF=r.wasm.cwrap(ci,null,["number","number","number","number","number","number","array","number"])}function E9(r){let{backend:e,inputs:t}=r,{params:n,indices:o}=t,[s,a,i,l]=tg.prepareAndValidate(n,o),u=e.makeOutput(s,n.dtype);if(a===0)return u;let c=o.shape,p=c[c.length-1],f=e.dataIdMap.get(n.dataId).id,h=e.dataIdMap.get(o.dataId).id,g=new Uint8Array(new Int32Array(l).buffer),x=e.dataIdMap.get(u.dataId).id;return uF(f,Bt[n.dtype],h,a,p,i,g,x),u}var cF={kernelName:ci,backendName:"wasm",setupFunc:T9,kernelFunc:E9};var pF;function A9(r){pF=r.wasm.cwrap("Gather",null,["number","number","array","number","number","number","array","number"])}function D9(r){let{backend:e,inputs:t,attrs:n}=r,{x:o,indices:s}=t,{axis:a,batchDims:i}=n,l=y.parseAxisParam(a,o.shape)[0],u=N.segment_util.collectGatherOpShapeInfo(o,s,l,i),c=Pr({inputs:{x:o},attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]},backend:e}),p=y.sizeFromShape(s.shape),m=Pr({inputs:{x:s},attrs:{shape:[u.batchSize,p/u.batchSize]},backend:e}),f=[u.batchSize,u.outerSize,p/u.batchSize,u.sliceSize],d=e.makeOutput(f,o.dtype);if(y.sizeFromShape(o.shape)===0)return d;let h=c.shape.length-1,x=e.dataIdMap.get(c.dataId).id,w=e.dataIdMap.get(m.dataId).id,_=e.dataIdMap.get(d.dataId).id,k=new Uint8Array(new Int32Array(y.computeStrides(c.shape)).buffer),E=new Uint8Array(new Int32Array(y.computeStrides(f)).buffer);return pF(x,Bt[o.dtype],k,h,w,u.batchSize,E,_),d.shape=u.outputShape,d}var mF={kernelName:ls,backendName:"wasm",setupFunc:A9,kernelFunc:D9};var $9=!1,fF=bt(pi,$9,"bool");var R9=!1,dF=bt(oo,R9,"bool");var hF;function F9(r){hF=r.wasm.cwrap(so,null,["number","number","number"])}function O9(r){let{inputs:{x:e},attrs:{alpha:t},backend:n}=r,o=n.dataIdMap.get(e.dataId).id,s=n.makeOutput(e.shape,e.dtype);if(y.sizeFromShape(e.shape)!==0){let a=n.dataIdMap.get(s.dataId).id;hF(o,t,a)}return s}var gF={kernelName:so,backendName:"wasm",setupFunc:F9,kernelFunc:O9};var P9=!1,xF=bt(hi,P9,"bool");var M9=!1,yF=bt(gi,M9,"bool");var bF=Rt(io);var L9=!1,wF=bt(yi,L9,"bool");var _F;function z9(r){_F=r.wasm.cwrap(ao,null,["number, number, number"])}function B9(r){let{backend:e,inputs:t,attrs:n}=r,{reductionIndices:o,keepDims:s}=n,{x:a}=t,l=e.dataIdMap.get(a.dataId).id,u=a,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Ho(a,o,e);if(f){let w=e.dataIdMap.get(c.dataId).id;u=c,l=w}let d=u.shape.length;N.assertAxesAreInnerMostDims("max",p,d);let[h,g]=N.computeOutAndReduceShapes(u.shape,p),x=y.sizeFromShape(g),b=e.makeOutput(h,a.dtype);if(y.sizeFromShape(u.shape)!==0){let w=e.dataIdMap.get(b.dataId).id;_F(l,x,w)}if(f&&e.disposeData(c.dataId),s){let w=N.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var kF={kernelName:ao,backendName:"wasm",setupFunc:z9,kernelFunc:B9};var V9=!1,vF=bt(lo,V9);var CF;function G9(r){CF=r.wasm.cwrap(uo,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function j9(r){let{inputs:e,attrs:t,backend:n}=r,o=e.x,s=n.dataIdMap.get(o.dataId).id,{filterSize:a,strides:i,pad:l,dimRoundingMode:u}=t,c=N.computePool2DInfo(o.shape,a,i,1,l,u),p=c.filterHeight,m=c.filterWidth,f=c.padInfo.top,d=c.padInfo.right,h=c.padInfo.bottom,g=c.padInfo.left,x=c.dilationHeight,b=c.dilationWidth,w=c.strideHeight,_=c.strideWidth,k=c.inChannels,E=c.outChannels;if(c.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${c.dataFormat}'. Please use 'channelsLast'.`);let S=n.makeOutput(c.outShape,"float32"),R=n.dataIdMap.get(S.dataId).id;return CF(s,o.shape[0],o.shape[1],o.shape[2],p,m,f,d,h,g,x,b,w,_,k,E,R),S}var IF={kernelName:uo,backendName:"wasm",setupFunc:G9,kernelFunc:j9};var NF;function W9(r){NF=r.wasm.cwrap(co,null,["number, number, number"])}function U9(r){let{backend:e,inputs:t,attrs:n}=r,{axis:o,keepDims:s}=n,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,l=i,u=a,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Ho(a,o,e),d=p;if(f){let _=e.dataIdMap.get(c.dataId).id;_!==i&&(u=c,l=_,d=N.getInnerMostAxes(d.length,u.shape.length))}N.assertAxesAreInnerMostDims("mean",d,u.shape.length);let[h,g]=N.computeOutAndReduceShapes(u.shape,d),x=y.sizeFromShape(g),b=u;u.dtype!=="float32"&&(b=nc({backend:e,inputs:{x:u},attrs:{dtype:"float32"}}),l=e.dataIdMap.get(b.dataId).id);let w=e.makeOutput(h,"float32");if(y.sizeFromShape(u.shape)!==0){let _=e.dataIdMap.get(w.dataId).id;NF(l,x,_)}if(f&&e.disposeData(c.dataId),s){let _=N.expandShapeToKeepDim(w.shape,m);w.shape=_}return u.dtype!=="float32"&&e.disposeData(b.dataId),w}var SF={kernelName:co,backendName:"wasm",setupFunc:W9,kernelFunc:U9};var TF;function q9(r){TF=r.wasm.cwrap(po,null,["number, number, number"])}function H9(r){let{backend:e,inputs:t,attrs:n}=r,{axis:o,keepDims:s}=n,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,l=i,u=a,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Ho(a,o,e);if(f){let w=e.dataIdMap.get(c.dataId).id;w!==i&&(u=c,l=w)}let d=u.shape.length;N.assertAxesAreInnerMostDims("min",p,d);let[h,g]=N.computeOutAndReduceShapes(u.shape,p),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let w=e.dataIdMap.get(b.dataId).id;TF(l,x,w)}if(f&&e.disposeData(c.dataId),s){let w=N.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var EF={kernelName:po,backendName:"wasm",setupFunc:q9,kernelFunc:H9};var K9=!1,AF=bt(mo,K9);var X9=!0,DF=bt(fo,X9);var $F=Rt(cs);function vp(r,e){let t=new Int32Array(r.wasm.HEAPU8.buffer,e,4),n=t[0],o=t[1],s=t[2],a=t[3];return r.wasm._free(e),{pSelectedIndices:n,selectedSize:o,pSelectedScores:s,pValidOutputs:a}}var RF;function Y9(r){RF=r.wasm.cwrap(_i,"number",["number","number","number","number","number"])}function Z9(r){let{backend:e,inputs:t,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:a}=n,{boxes:i,scores:l}=t,u=e.dataIdMap.get(i.dataId).id,c=e.dataIdMap.get(l.dataId).id,p=RF(u,c,s,o,a),{pSelectedIndices:m,selectedSize:f,pSelectedScores:d,pValidOutputs:h}=vp(e,p);return e.wasm._free(d),e.wasm._free(h),e.makeOutput([f],"int32",m)}var FF={kernelName:_i,backendName:"wasm",setupFunc:Y9,kernelFunc:Z9};var OF;function J9(r){OF=r.wasm.cwrap(ki,"number",["number","number","number","number","number","bool"])}function Q9(r){let{backend:e,inputs:t,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:a,padToMaxOutputSize:i}=n,{boxes:l,scores:u}=t,c=e.dataIdMap.get(l.dataId).id,p=e.dataIdMap.get(u.dataId).id,m=OF(c,p,s,o,a,i),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=vp(e,m);e.wasm._free(h);let x=e.makeOutput([d],"int32",f),b=e.makeOutput([],"int32",g);return[x,b]}var PF={kernelName:ki,backendName:"wasm",setupFunc:J9,kernelFunc:Q9};var MF;function eZ(r){MF=r.wasm.cwrap(vi,"number",["number","number","number","number","number","number"])}function tZ(r){let{backend:e,inputs:t,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:a,softNmsSigma:i}=n,{boxes:l,scores:u}=t,c=e.dataIdMap.get(l.dataId).id,p=e.dataIdMap.get(u.dataId).id,m=MF(c,p,s,o,a,i),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=vp(e,m);e.wasm._free(g);let x=e.makeOutput([d],"int32",f),b=e.makeOutput([d],"float32",h);return[x,b]}var LF={kernelName:vi,backendName:"wasm",setupFunc:eZ,kernelFunc:tZ};var rZ=!1,zF=bt(wi,rZ,"bool");var BF;function nZ(r){BF=r.wasm.cwrap(ho,null,["number","number","number","number","number"])}function oZ(r){let{inputs:e,backend:t,attrs:n}=r,{indices:o}=e,{depth:s,onValue:a,offValue:i}=n,l=t.makeOutput([...o.shape,s],"int32"),u=t.dataIdMap.get(l.dataId).id,p=t.dataIdMap.get(o.dataId).id;return BF(p,s,a,i,u),l}var VF={kernelName:ho,backendName:"wasm",setupFunc:nZ,kernelFunc:oZ};function sZ(r){let{inputs:{x:e},backend:t}=r,n=t.makeOutput(e.shape,e.dtype);return t.typedArrayFromHeap(n).fill(1),n}var GF={kernelName:ps,backendName:"wasm",kernelFunc:sZ};function iZ(r){let{inputs:e,backend:t,attrs:n}=r,{axis:o}=n;if(e.length===1)return lx({inputs:{input:e[0]},backend:t,attrs:{dim:o}});let s=e[0].shape,a=e[0].dtype;e.forEach(l=>{y.assertShapesMatch(s,l.shape,"All tensors passed to stack must have matching shapes"),y.assert(a===l.dtype,()=>"All tensors passed to stack must have matching dtypes")});let i=e.map(l=>lx({inputs:{input:l},backend:t,attrs:{dim:o}}));return l0({inputs:i,backend:t,attrs:{axis:o}})}var jF={kernelName:ms,backendName:"wasm",kernelFunc:iZ};var WF;function aZ(r){WF=r.wasm.cwrap(go,null,["number","array","number","number","array","array","number","number"])}function lZ(r){let{inputs:{x:e},backend:t,attrs:{paddings:n,constantValue:o}}=r,s=n.map((d,h)=>d[0]+e.shape[h]+d[1]),a=t.dataIdMap.get(e.dataId).id,i=t.makeOutput(s,e.dtype),l=t.dataIdMap.get(i.dataId).id,u=new Uint8Array(new Int32Array(e.shape).buffer),c=n.map(d=>d[0]),p=n.map(d=>d[1]),m=new Uint8Array(new Int32Array(c).buffer),f=new Uint8Array(new Int32Array(p).buffer);return WF(a,u,e.shape.length,Bt[e.dtype],m,f,o,l),i}var UF={kernelName:go,backendName:"wasm",kernelFunc:lZ,setupFunc:aZ};var uZ=!1,qF=bt(xo,uZ);var HF;function cZ(r){HF=r.wasm.cwrap(yo,null,["number","number","number"])}function pZ(r){let{inputs:e,backend:t}=r,{x:n,alpha:o}=e,s=t.dataIdMap.get(n.dataId).id,a=t.dataIdMap.get(o.dataId).id,i=t.makeOutput(n.shape,"float32"),l=t.dataIdMap.get(i.dataId).id;return HF(s,a,l),i}var KF={kernelName:yo,backendName:"wasm",setupFunc:cZ,kernelFunc:pZ};var XF;function mZ(r){XF=r.wasm.cwrap(Ci,null,["number","number","number","number"])}function fZ(r){let{backend:e,inputs:t,attrs:n}=r,{axis:o,keepDims:s}=n,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,l=i,u=a,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Ho(a,o,e),d=p;if(f){let w=e.dataIdMap.get(c.dataId).id;w!==i&&(u=c,l=w,d=N.getInnerMostAxes(d.length,u.shape.length))}N.assertAxesAreInnerMostDims("prod",d,u.shape.length);let[h,g]=N.computeOutAndReduceShapes(u.shape,d),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let w=e.dataIdMap.get(b.dataId).id;XF(l,x,Bt[b.dtype],w)}if(f&&e.disposeData(c.dataId),s){let w=N.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var YF={kernelName:Ci,backendName:"wasm",setupFunc:mZ,kernelFunc:fZ};var dZ=r=>{let{backend:e,attrs:t}=r,{start:n,stop:o,step:s,dtype:a}=t,i=df(n,o,s,a),l=e.makeOutput([i.length],a);return e.typedArrayFromHeap(l).set(i),l},ZF={kernelName:fa,backendName:"wasm",kernelFunc:dZ};var hZ=!0,JF=bt(Qn,hZ);var QF=Rt(bo);var eO=Rt(_o);var tO;function gZ(r){tO=r.wasm.cwrap(wo,null,["number","number","number","number","number","number","number","number","number","number"])}function xZ(r){let{backend:e,inputs:t,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:a,size:i}=n,[l,u]=i,[c,p,m,f]=o.shape,d=[c,l,u,f],h=e.dataIdMap.get(o.dataId),g;h.dtype!=="float32"&&(g=nc({backend:e,inputs:{x:o},attrs:{dtype:"float32"}}),h=e.dataIdMap.get(g.dataId));let x=h.id,b=e.makeOutput(d,"float32");if(y.sizeFromShape(o.shape)===0)return b;let w=e.dataIdMap.get(b.dataId).id;return tO(x,c,p,m,f,l,u,s?1:0,a?1:0,w),g!=null&&e.disposeData(g.dataId),b}var rO={kernelName:wo,backendName:"wasm",setupFunc:gZ,kernelFunc:xZ};var nO;function yZ(r){nO=r.wasm.cwrap(ko,null,["number","array","number","array","number","number"])}function bZ(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,{dims:s}=n,a=y.parseAxisParam(s,o.shape);if(o.shape.length===0)return rc({inputs:{x:o},backend:t});let i=t.makeOutput(o.shape,o.dtype),l=t.dataIdMap.get(o.dataId).id,u=t.dataIdMap.get(i.dataId).id,c=new Uint8Array(new Int32Array(a).buffer),p=new Uint8Array(new Int32Array(o.shape).buffer);return nO(l,c,a.length,p,o.shape.length,u),Pr({inputs:{x:i},attrs:{shape:o.shape},backend:t})}var oO={kernelName:ko,backendName:"wasm",kernelFunc:bZ,setupFunc:yZ};var sO;function wZ(r){sO=r.wasm.cwrap(Fi,null,["number","number","number","number","number","number","number","number","array","number","number"])}function _Z(r){let{inputs:e,backend:t,attrs:n}=r,{image:o}=e,{radians:s,fillValue:a,center:i}=n,l=t.makeOutput(o.shape,o.dtype),u=t.dataIdMap.get(o.dataId).id,c=t.dataIdMap.get(l.dataId).id,[p,m,f,d]=o.shape,[h,g]=N.getImageCenter(i,m,f),x=a===0,b=255,w=typeof a=="number"?[a,a,a,x?0:b]:[...a,b],_=new Uint8Array(new Int32Array(w).buffer);return sO(u,p,m,f,d,s,h,g,_,w.length,c),l}var iO={kernelName:Fi,backendName:"wasm",kernelFunc:_Z,setupFunc:wZ};var aO=Rt(vo);var lO=Rt(Co);var uO;function kZ(r){uO=r.wasm.cwrap(Ni,null,["number","number","number","number","number","number","array","number","number"])}function vZ(r){let{backend:e,inputs:t,attrs:n}=r,{indices:o,updates:s}=t,{shape:a}=n,i=e.makeOutput(a,s.dtype);if(y.sizeFromShape(a)===0)return i;let{sliceRank:l,numUpdates:u,sliceSize:c,strides:p,outputSize:m}=rg.calculateShapes(s,o,a),d=e.dataIdMap.get(o.dataId).id,g=e.dataIdMap.get(s.dataId).id,x=new Uint8Array(new Int32Array(p).buffer),b=e.dataIdMap.get(i.dataId).id;return uO(d,g,Bt[s.dtype],l,u,c,x,m,b),i}var cO={kernelName:Ni,backendName:"wasm",setupFunc:kZ,kernelFunc:vZ};var pO;function CZ(r){pO=r.wasm.cwrap("SelectV2",null,["number","number","number","number","number"])}function IZ(r){let{inputs:e,backend:t}=r,{condition:n,t:o,e:s}=e,a=t.dataIdMap.get(n.dataId).id,i=t.dataIdMap.get(o.dataId).id,l=t.dataIdMap.get(s.dataId).id,u=t.makeOutput(o.shape,o.dtype),c=t.dataIdMap.get(u.dataId).id,p=n.shape.length,m=o.shape.length,f=p===0||p>1||m===1?1:y.sizeFromShape(o.shape.slice(1));return pO(a,i,l,f,c),u}var mO={kernelName:ds,backendName:"wasm",kernelFunc:IZ,setupFunc:CZ};var fO;function NZ(r){fO=r.wasm.cwrap(No,null,["number","number"])}function SZ(r){let{backend:e,inputs:{x:t}}=r,n=e.dataIdMap.get(t.dataId).id,o=e.makeOutput(t.shape,t.dtype),s=e.dataIdMap.get(o.dataId).id;return y.sizeFromShape(o.shape)===0||fO(n,s),o}var dO={kernelName:"Sigmoid",backendName:"wasm",setupFunc:NZ,kernelFunc:SZ};var hO=Rt(Io);function oc(r){let{inputs:{x:e},attrs:{begin:t,size:n},backend:o}=r,[s,a]=or.parseSliceParams(e,t,n),i=or.isSliceContinous(e.shape,s,a),l=o.readSync(e.dataId),u=o.makeOutput(a,e.dtype),c=y.computeStrides(e.shape),p=o.dataIdMap.get(u.dataId);if(i){let d=or.computeFlatOffset(s,c);return e.dtype==="string"?p.stringBytes=l.slice(d,d+y.sizeFromShape(a)):o.typedArrayFromHeap(u).set(l.subarray(d,d+y.sizeFromShape(a))),u}if(e.dtype==="string"){let d=hf(l,s,a,e.shape,e.dtype);return p.stringBytes=d,u}let m=o.typedArrayFromHeap(u),f=e.shape.length;if(f===2)TZ(l,c[0],m,s,a);else if(f===3)EZ(l,c[0],c[1],m,s,a);else if(f===4)AZ(l,c[0],c[1],c[2],m,s,a);else{let d=hf(l,s,a,e.shape,e.dtype);m.set(d)}return u}function TZ(r,e,t,n,o){let s=0,a=n[0],i=n[1],l=a+o[0];for(let u=a;u{let m=[...c];m[i]=p;let f=oc({inputs:{x:o},attrs:{begin:u,size:m},backend:n});return u[i]+=p,f})}var bO={kernelName:gs,backendName:"wasm",kernelFunc:RZ};var wO=Rt(So);var _O=Rt(ga);var FZ=!0,kO=bt(Ao,FZ);var vO;function OZ(r){vO=r.wasm.cwrap($n,null,["number","number","number"])}function PZ(r){let{backend:e,inputs:t,attrs:n}=r,{alpha:o}=n,{x:s}=t,a=e.dataIdMap.get(s.dataId).id,i=e.makeOutput(s.shape,s.dtype),l=e.dataIdMap.get(i.dataId).id;return vO(a,o,l),i}var CO={kernelName:$n,backendName:"wasm",setupFunc:OZ,kernelFunc:PZ};var IO;function MZ(r){IO=r.wasm.cwrap(Di,null,["number","array","number","array","array","array","array","array","number","number"])}function LZ(r){let{backend:e,inputs:t,attrs:n}=r,{x:o}=t,{begin:s,end:a,strides:i}=n;i==null&&(i=new Array(s.length));let{beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,f=N.slice_util.maskToAxes(c);if(f.length>1)throw new Error("Multiple ellipses in slice is not allowed.");if(c!==0&&p!==0)throw new Error("Using both ellipsisMask and newAxisMask is not yet supported.");if(c!==0&&m!==0)throw new Error("Using both ellipsisMask and shrinkAxisMask is not yet supported.");let d=o.shape.length-s.length,h=N.slice_util.maskToAxes(p),g=o.shape.slice();h.forEach(P=>{s[P]=0,a[P]=1,g.splice(P,0,1)});let x=Pr({inputs:{x:o},attrs:{shape:g},backend:e}),{begin:b,end:w,strides:_}=N.slice_util.getNormalizedAxes(x.shape,f,d,s,a,i,l,u,c);s=b,a=w,i=_;let k=N.slice_util.maskToAxes(m);k.forEach(P=>{a[P]=s[P]+1,i[P]=1});let E=N.slice_util.computeOutShape(s,a,i),S=E.filter((P,j)=>k.indexOf(j)===-1);if(i.every(P=>P===1)){let P=oc({inputs:{x:o},attrs:{begin:s,size:E},backend:e});return Pr({inputs:{x:P},attrs:{shape:S},backend:e})}let F=e.makeOutput(S,"float32");if(!S.some(P=>P===0)){let P=e.dataIdMap.get(x.dataId).id,j=new Uint8Array(new Int32Array(y.computeStrides(x.shape)).buffer),G=new Uint8Array(new Int32Array(s).buffer),U=new Uint8Array(new Int32Array(a).buffer),X=new Uint8Array(new Int32Array(i).buffer),K=new Uint8Array(new Int32Array(S).buffer),Z=new Uint8Array(new Int32Array(y.computeStrides(S)).buffer),te=e.dataIdMap.get(F.dataId).id;IO(P,j,x.shape.length,G,U,X,K,Z,S.length,te)}return Pr({inputs:{x:F},attrs:{shape:S},backend:e})}var NO={kernelName:Di,backendName:"wasm",setupFunc:MZ,kernelFunc:LZ};var zZ=!0,SO=bt(Do,zZ);var TO;function BZ(r){TO=r.wasm.cwrap(To,null,["number, number, number"])}function VZ(r){let{backend:e,inputs:t,attrs:n}=r,{axis:o,keepDims:s}=n,{x:a}=t,i=e.dataIdMap.get(a.dataId).id,l=i,u=a,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=Ho(a,o,e),d=p;if(f){let w=e.dataIdMap.get(c.dataId).id;w!==i&&(u=c,l=w,d=N.getInnerMostAxes(d.length,u.shape.length))}N.assertAxesAreInnerMostDims("sum",d,u.shape.length);let[h,g]=N.computeOutAndReduceShapes(u.shape,d),x=y.sizeFromShape(g),b=e.makeOutput(h,u.dtype);if(y.sizeFromShape(u.shape)!==0){let w=e.dataIdMap.get(b.dataId).id;TO(l,x,w)}if(f&&e.disposeData(c.dataId),s){let w=N.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var EO={kernelName:To,backendName:"wasm",setupFunc:BZ,kernelFunc:VZ};var AO=Rt($o);var DO;function GZ(r){DO=r.wasm.cwrap(yn,null,["number","array","number","array","number","number"])}function jZ(r){let{inputs:e,backend:t,attrs:n}=r,{x:o}=e,s=t.dataIdMap.get(o.dataId).id,{reps:a}=n,i=new Array(o.shape.length);for(let m=0;m{let{x:n}=r,{k:o,sorted:s}=t,a=e.dataIdMap.get(n.dataId).id,i=new Uint8Array(new Int32Array(n.shape).buffer),l=n.shape.slice();l[l.length-1]=o;let u=e.makeOutput(l,n.dtype),c=e.dataIdMap.get(u.dataId).id,p=e.makeOutput(l,"int32"),m=e.dataIdMap.get(p.dataId).id;return RO(a,i,n.shape.length,Bt[n.dtype],o,s,c,m),[u,p]},FO={kernelName:Ri,backendName:"wasm",setupFunc:WZ,kernelFunc:UZ};function qZ(r){let{inputs:e,backend:t,attrs:n}=r,{value:o}=e,{axis:s}=n;s<0&&(s+=o.shape.length);let a=o.shape[s],i=o.shape.length,l=new Array(i-1),u=0;for(let f=0;f({dataId:f,dtype:d,shape:l}))}var OO={kernelName:xs,backendName:"wasm",kernelFunc:qZ};function HZ(r){let{inputs:{x:e},backend:t}=r,n=t.makeOutput(e.shape,e.dtype);return t.typedArrayFromHeap(n).fill(0),n}var PO={kernelName:ys,backendName:"wasm",kernelFunc:HZ};var KZ=[yR,bR,_R,NR,TR,DR,$R,FR,OR,MR,zR,BR,GR,WR,qR,KR,XR,YR,ZR,JR,eF,tF,rF,xR,oF,iF,lF,cF,mF,fF,dF,kR,gF,xF,yF,bF,wF,kF,vF,IF,SF,EF,AF,DF,$F,FF,PF,LF,zF,VF,GF,jF,UF,qF,KF,YF,ZF,JF,QF,eO,ER,rO,oO,iO,lO,aO,cO,mO,dO,hO,gO,yO,bO,wO,_O,kO,CO,NO,SO,EO,AO,$O,FO,CR,OO,PO];for(let r of KZ)tl(r);var c0=W();c0.registerFlag("WASM_HAS_SIMD_SUPPORT",async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11])));c0.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(c0.get("IS_NODE"))return!1;try{return new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch(r){return!1}});var h0=Tc(zO());var BO='var threadInfoStruct=0;var selfThreadId=0;var parentThreadId=0;var Module={};function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:selfThreadId})}var err=threadPrintErr;this.alert=threadAlert;Module["instantiateWasm"]=function(info,receiveInstance){var instance=new WebAssembly.Instance(Module["wasmModule"],info);Module["wasmModule"]=null;receiveInstance(instance);return instance.exports};this.onmessage=function(e){try{if(e.data.cmd==="load"){Module["DYNAMIC_BASE"]=e.data.DYNAMIC_BASE;Module["DYNAMICTOP_PTR"]=e.data.DYNAMICTOP_PTR;Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob==="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}Module=WasmBackendModuleThreadedSimd(Module);postMessage({"cmd":"loaded"})}else if(e.data.cmd==="objectTransfer"){Module["PThread"].receiveObjectTransfer(e.data)}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;threadInfoStruct=e.data.threadInfoStruct;Module["__register_pthread_ptr"](threadInfoStruct,0,0);selfThreadId=e.data.selfThreadId;parentThreadId=e.data.parentThreadId;var max=e.data.stackBase;var top=e.data.stackBase+e.data.stackSize;Module["establishStackSpace"](top,max);Module["_emscripten_tls_init"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].setThreadStatus(Module["_pthread_self"](),1);try{var result=Module["dynCall_ii"](e.data.start_routine,e.data.arg);if(!Module["getNoExitRuntime"]())Module["PThread"].threadExit(result)}catch(ex){if(ex==="Canceled!"){Module["PThread"].threadCancel()}else if(ex!="unwind"){Atomics.store(Module["HEAPU32"],threadInfoStruct+4>>2,ex instanceof Module["ExitStatus"]?ex.status:-2);Atomics.store(Module["HEAPU32"],threadInfoStruct+0>>2,1);Module["_emscripten_futex_wake"](threadInfoStruct+0,2147483647);if(!(ex instanceof Module["ExitStatus"]))throw ex}}}else if(e.data.cmd==="cancel"){if(threadInfoStruct){Module["PThread"].threadCancel()}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(threadInfoStruct){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex.stack)err(ex.stack);throw ex}};if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){self={location:{href:__filename}};var onmessage=this.onmessage;var nodeWorkerThreads=require("worker_threads");Worker=nodeWorkerThreads.Worker;var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",function(data){onmessage({data:data})});var nodeFS=require("fs");var nodeRead=function(filename){return nodeFS.readFileSync(filename,"utf8")};function globalEval(x){global.require=require;global.Module=Module;eval.call(null,x)}importScripts=function(f){globalEval(nodeRead(f))};postMessage=function(msg){parentPort.postMessage(msg)};if(typeof performance==="undefined"){performance={now:function(){return Date.now()}}}}';var GO=Tc(VO());var px=class extends Ws{constructor(e){super();this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.init(),this.dataIdMap=new Ja(this,vs())}write(e,t,n){let o={};return this.move(o,e,t,n),o}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=y.now();return e(),{kernelMs:y.now()-t}}move(e,t,n,o){let s=this.dataIdNextNumber++;if(o==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:o,memoryOffset:null});return}let a=y.sizeFromShape(n),i=a*y.bytesPerElement(o),l=this.wasm._malloc(i);this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:o}),this.wasm.tfjs.registerTensor(s,a,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,i),l)}async read(e){return this.readSync(e)}readSync(e){let{memoryOffset:t,dtype:n,shape:o,stringBytes:s}=this.dataIdMap.get(e);if(n==="string")return s;let a=this.wasm.HEAPU8.slice(t,t+y.sizeFromShape(o)*y.bytesPerElement(n));return XZ(a.buffer,n)}disposeData(e){let t=this.dataIdMap.get(e);this.wasm._free(t.memoryOffset),this.wasm.tfjs.disposeData(t.id),this.dataIdMap.delete(e)}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n){let o;if(n==null)o=this.write(null,e,t);else{o={};let s=this.dataIdNextNumber++;this.dataIdMap.set(o,{id:s,memoryOffset:n,shape:e,dtype:t});let a=y.sizeFromShape(e);this.wasm.tfjs.registerTensor(s,a,n)}return{dataId:o,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let o=this.wasm.HEAPU8.buffer,{memoryOffset:s}=this.dataIdMap.get(n),a=y.sizeFromShape(e);switch(t){case"float32":return new Float32Array(o,s,a);case"int32":return new Int32Array(o,s,a);case"bool":return new Uint8Array(o,s,a);default:throw new Error(`Unknown dtype ${t}`)}}};function YZ(r){return(e,t)=>(y.fetch(r,{credentials:"same-origin"}).then(n=>{n.ok||e.env.a(`failed to load wasm binary file at '${r}'`),n.arrayBuffer().then(o=>{WebAssembly.instantiate(o,e).then(s=>{t(s.instance)})})}),{})}function jO(r,e,t){if(mx!=null)return mx;let n="tfjs-backend-wasm.wasm";return r&&e?n="tfjs-backend-wasm-threaded-simd.wasm":r&&(n="tfjs-backend-wasm-simd.wasm"),Pf!=null&&Pf[n]!=null?Pf[n]:t+n}async function WO(){let[r,e]=await Promise.all([W().getAsync("WASM_HAS_SIMD_SUPPORT"),W().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((t,n)=>{let o={};o.locateFile=(l,u)=>{if(l.endsWith(".worker.js")){let c=BO,p=new Blob([c],{type:"application/javascript"});return URL.createObjectURL(p)}return l.endsWith(".wasm")?jO(r,e,Mf!=null?Mf:u):u+l},g0&&(o.instantiateWasm=YZ(jO(r,e,Mf!=null?Mf:"")));let s;e&&r&&mx==null?(s=h0.default(o),s.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+h0.default.toString()],{type:"text/javascript"})):s=GO.default(o);let a=null;s.tfjs={init:s.cwrap("init",null,[]),registerTensor:s.cwrap("register_tensor",null,["number","number","number"]),disposeData:s.cwrap("dispose_data",a,["number"]),dispose:s.cwrap("dispose",a,[])};let i=!1;s.onRuntimeInitialized=()=>{i=!0,Lf=!1,t({wasm:s})},s.onAbort=()=>{if(i||Lf)return;Lf=!0,n({message:"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers"})}})}function XZ(r,e){switch(e){case"float32":return new Float32Array(r);case"int32":return new Int32Array(r);case"bool":return new Uint8Array(r);default:throw new Error(`Unknown dtype ${e}`)}}var ZZ=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],mx=null,Mf=null,Pf={},Lf=!1,g0=!1;function JZ(r,e=!1){if(ig("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),Lf)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");mx=r,g0=e}function QZ(r,e=!1){if(Lf)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof r=="string")Mf=r;else{Pf=r;let t=ZZ.filter(n=>Pf[n]==null);if(t.length>0)throw new Error(`There were no entries found for the following binaries: ${t.join(",")}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}g0=e}var x0="3.0.0";var eJ=2;yu("wasm",async()=>{let{wasm:r}=await WO();return new px(r)},eJ);O().prototype.abs=function(){return this.throwIfDisposed(),Et(this)};O().prototype.acos=function(){return this.throwIfDisposed(),Sm(this)};O().prototype.acosh=function(){return this.throwIfDisposed(),Tm(this)};O().prototype.add=function(r){return this.throwIfDisposed(),Q(this,r)};O().prototype.all=function(r,e){return this.throwIfDisposed(),wu(this,r,e)};O().prototype.any=function(r,e){return this.throwIfDisposed(),il(this,r,e)};O().prototype.argMax=function(r){return this.throwIfDisposed(),al(this,r)};O().prototype.argMin=function(r){return this.throwIfDisposed(),Em(this,r)};O().prototype.asScalar=function(){return this.throwIfDisposed(),A(this.size===1,()=>"The array must have only 1 element."),z(this,[])};O().prototype.asType=function(r){return this.throwIfDisposed(),ne(this,r)};O().prototype.as1D=function(){return this.throwIfDisposed(),z(this,[this.size])};O().prototype.as2D=function(r,e){return this.throwIfDisposed(),z(this,[r,e])};O().prototype.as3D=function(r,e,t){return this.throwIfDisposed(),z(this,[r,e,t])};O().prototype.as4D=function(r,e,t,n){return this.throwIfDisposed(),z(this,[r,e,t,n])};O().prototype.as5D=function(r,e,t,n,o){return this.throwIfDisposed(),z(this,[r,e,t,n,o])};O().prototype.asin=function(){return this.throwIfDisposed(),Am(this)};O().prototype.asinh=function(){return this.throwIfDisposed(),Dm(this)};O().prototype.atan=function(){return this.throwIfDisposed(),$m(this)};O().prototype.atan2=function(r){return this.throwIfDisposed(),Rm(this,r)};O().prototype.atanh=function(){return this.throwIfDisposed(),Fm(this)};O().prototype.avgPool=function(r,e,t,n){return this.throwIfDisposed(),va(this,r,e,t,n)};O().prototype.batchToSpaceND=function(r,e){return this.throwIfDisposed(),Ca(this,r,e)};O().prototype.batchNorm=function(r,e,t,n,o){return this.throwIfDisposed(),Oo(this,r,e,t,n,o)};O().prototype.broadcastTo=function(r){return this.throwIfDisposed(),ll(this,r)};O().prototype.cast=function(r){return this.throwIfDisposed(),ne(this,r)};O().prototype.ceil=function(){return this.throwIfDisposed(),Pm(this)};O().prototype.clipByValue=function(r,e){return this.throwIfDisposed(),sr(this,r,e)};O().prototype.concat=function(r,e){return this.throwIfDisposed(),r instanceof Ve&&(r=[r]),Qe([this,...r],e)};O().prototype.conv1d=function(r,e,t,n,o,s){return this.throwIfDisposed(),vu(this,r,e,t,n,o,s)};O().prototype.conv2dTranspose=function(r,e,t,n,o){return this.throwIfDisposed(),Cu(this,r,e,t,n,o)};O().prototype.conv2d=function(r,e,t,n,o,s){return this.throwIfDisposed(),Ur(this,r,e,t,n,o,s)};O().prototype.cos=function(){return this.throwIfDisposed(),Ia(this)};O().prototype.cosh=function(){return this.throwIfDisposed(),Iu(this)};O().prototype.cumsum=function(r,e,t){return this.throwIfDisposed(),Nu(this,r,e,t)};O().prototype.depthToSpace=function(r,e){return this.throwIfDisposed(),Lm(this,r,e)};O().prototype.depthwiseConv2d=function(r,e,t,n,o,s){return this.throwIfDisposed(),Cs(this,r,e,t,n,o,s)};O().prototype.dilation2d=function(r,e,t,n,o){return this.throwIfDisposed(),zm(this,r,e,t,n,o)};O().prototype.divNoNan=function(r){return this.throwIfDisposed(),Bm(this,r)};O().prototype.div=function(r){return this.throwIfDisposed(),de(this,r)};O().prototype.dot=function(r){return this.throwIfDisposed(),Aw(this,r)};O().prototype.elu=function(){return this.throwIfDisposed(),Is(this)};O().prototype.equal=function(r){return this.throwIfDisposed(),wn(this,r)};O().prototype.erf=function(){return this.throwIfDisposed(),Vm(this)};O().prototype.exp=function(){return this.throwIfDisposed(),Yt(this)};O().prototype.expandDims=function(r){return this.throwIfDisposed(),ir(this,r)};O().prototype.expm1=function(){return this.throwIfDisposed(),Gm(this)};O().prototype.fft=function(){return this.throwIfDisposed(),Ra(this)};O().prototype.flatten=function(){return this.throwIfDisposed(),z(this,[this.size])};O().prototype.floor=function(){return this.throwIfDisposed(),Ns(this)};O().prototype.floorDiv=function(r){return this.throwIfDisposed(),bu(this,r)};O().prototype.gather=function(r,e){return this.throwIfDisposed(),Po(this,r,e)};O().prototype.greaterEqual=function(r){return this.throwIfDisposed(),tn(this,r)};O().prototype.greater=function(r){return this.throwIfDisposed(),er(this,r)};O().prototype.ifft=function(){return this.throwIfDisposed(),Bi(this)};O().prototype.irfft=function(){return this.throwIfDisposed(),zu(this)};O().prototype.isFinite=function(){return this.throwIfDisposed(),Dw(this)};O().prototype.isInf=function(){return this.throwIfDisposed(),$w(this)};O().prototype.isNaN=function(){return this.throwIfDisposed(),Rw(this)};O().prototype.leakyRelu=function(r){return this.throwIfDisposed(),Sa(this,r)};O().prototype.lessEqual=function(r){return this.throwIfDisposed(),Pn(this,r)};O().prototype.less=function(r){return this.throwIfDisposed(),Tu(this,r)};O().prototype.localResponseNormalization=function(r,e,t,n){return this.throwIfDisposed(),jm(this,r,e,t,n)};O().prototype.logSigmoid=function(){return this.throwIfDisposed(),Ow(this)};O().prototype.logSoftmax=function(r){return this.throwIfDisposed(),Au(this,r)};O().prototype.logSumExp=function(r,e){return this.throwIfDisposed(),Um(this,r,e)};O().prototype.log=function(){return this.throwIfDisposed(),ar(this)};O().prototype.log1p=function(){return this.throwIfDisposed(),Eu(this)};O().prototype.logicalAnd=function(r){return this.throwIfDisposed(),dr(this,r)};O().prototype.logicalNot=function(){return this.throwIfDisposed(),Ta(this)};O().prototype.logicalOr=function(r){return this.throwIfDisposed(),Du(this,r)};O().prototype.logicalXor=function(r){return this.throwIfDisposed(),zw(this,r)};O().prototype.matMul=function(r,e,t){return this.throwIfDisposed(),je(this,r,e,t)};O().prototype.maxPool=function(r,e,t,n){return this.throwIfDisposed(),Ea(this,r,e,t,n)};O().prototype.max=function(r,e){return this.throwIfDisposed(),lr(this,r,e)};O().prototype.maximum=function(r){return this.throwIfDisposed(),Hr(this,r)};O().prototype.mean=function(r,e){return this.throwIfDisposed(),gt(this,r,e)};O().prototype.min=function(r,e){return this.throwIfDisposed(),zi(this,r,e)};O().prototype.minimum=function(r){return this.throwIfDisposed(),Ts(this,r)};O().prototype.mirrorPad=function(r,e){return this.throwIfDisposed(),Hm(this,r,e)};O().prototype.mod=function(r){return this.throwIfDisposed(),Km(this,r)};O().prototype.mul=function(r){return this.throwIfDisposed(),M(this,r)};O().prototype.neg=function(){return this.throwIfDisposed(),Ue(this)};O().prototype.norm=function(r,e,t){return this.throwIfDisposed(),Gu(this,r,e,t)};O().prototype.notEqual=function(r){return this.throwIfDisposed(),Lo(this,r)};O().prototype.oneHot=function(r,e=1,t=0){return this.throwIfDisposed(),ks(this,r,e,t)};O().prototype.onesLike=function(){return this.throwIfDisposed(),tr(this)};O().prototype.pad=function(r,e){return this.throwIfDisposed(),Rr(this,r,e)};O().prototype.pool=function(r,e,t,n,o){return this.throwIfDisposed(),Gw(this,r,e,t,n,o)};O().prototype.pow=function(r){return this.throwIfDisposed(),Fr(this,r)};O().prototype.prelu=function(r){return this.throwIfDisposed(),Da(this,r)};O().prototype.prod=function(r,e){return this.throwIfDisposed(),$u(this,r,e)};O().prototype.reciprocal=function(){return this.throwIfDisposed(),Xm(this)};O().prototype.relu=function(){return this.throwIfDisposed(),Nr(this)};O().prototype.relu6=function(){return this.throwIfDisposed(),Fu(this)};O().prototype.reshapeAs=function(r){return this.throwIfDisposed(),z(this,r.shape)};O().prototype.reshape=function(r){return this.throwIfDisposed(),z(this,r)};O().prototype.resizeBilinear=function(r,e,t){return this.throwIfDisposed(),wg(this,r,e,t)};O().prototype.resizeNearestNeighbor=function(r,e,t){return this.throwIfDisposed(),_g(this,r,e,t)};O().prototype.reverse=function(r){return this.throwIfDisposed(),Kt(this,r)};O().prototype.rfft=function(){return this.throwIfDisposed(),Fa(this)};O().prototype.round=function(){return this.throwIfDisposed(),Ym(this)};O().prototype.rsqrt=function(){return this.throwIfDisposed(),Ou(this)};O().prototype.selu=function(){return this.throwIfDisposed(),Pu(this)};O().prototype.separableConv2d=function(r,e,t,n,o,s){return this.throwIfDisposed(),Zm(this,r,e,t,n,o,s)};O().prototype.sigmoid=function(){return this.throwIfDisposed(),Wr(this)};O().prototype.sign=function(){return this.throwIfDisposed(),Jm(this)};O().prototype.sin=function(){return this.throwIfDisposed(),Mu(this)};O().prototype.sinh=function(){return this.throwIfDisposed(),Lu(this)};O().prototype.slice=function(r,e){return this.throwIfDisposed(),Fe(this,r,e)};O().prototype.softmax=function(r){return this.throwIfDisposed(),$a(this,r)};O().prototype.softplus=function(){return this.throwIfDisposed(),Ss(this)};O().prototype.spaceToBatchND=function(r,e){return this.throwIfDisposed(),Aa(this,r,e)};O().prototype.split=function(r,e){return this.throwIfDisposed(),ur(this,r,e)};O().prototype.sqrt=function(){return this.throwIfDisposed(),yt(this)};O().prototype.square=function(){return this.throwIfDisposed(),Pe(this)};O().prototype.squaredDifference=function(r){return this.throwIfDisposed(),Bu(this,r)};O().prototype.squeeze=function(r){return this.throwIfDisposed(),_n(this,r)};O().prototype.stack=function(r,e){this.throwIfDisposed();let t=r instanceof Ve?[this,r]:[this,...r];return Vt(t,e)};O().prototype.step=function(r){return this.throwIfDisposed(),As(this,r)};O().prototype.stridedSlice=function(r,e,t,n,o,s,a,i){return this.throwIfDisposed(),tf(this,r,e,t,n,o,s,a,i)};O().prototype.sub=function(r){return this.throwIfDisposed(),ue(this,r)};O().prototype.sum=function(r,e){return this.throwIfDisposed(),ye(this,r,e)};O().prototype.tan=function(){return this.throwIfDisposed(),rf(this)};O().prototype.tanh=function(){return this.throwIfDisposed(),Li(this)};O().prototype.tile=function(r){return this.throwIfDisposed(),On(this,r)};O().prototype.toBool=function(){return this.throwIfDisposed(),ne(this,"bool")};O().prototype.toFloat=function(){return this.throwIfDisposed(),ne(this,"float32")};O().prototype.toInt=function(){return this.throwIfDisposed(),ne(this,"int32")};O().prototype.topk=function(r,e){return this.throwIfDisposed(),nf(this,r,e)};O().prototype.transpose=function(r){return this.throwIfDisposed(),We(this,r)};O().prototype.unique=function(r){return this.throwIfDisposed(),ep(this,r)};O().prototype.unsortedSegmentSum=function(r,e){return this.throwIfDisposed(),of(this,r,e)};O().prototype.unstack=function(r){return this.throwIfDisposed(),cr(this,r)};O().prototype.where=function(r,e){return this.throwIfDisposed(),$t(r,this,e)};O().prototype.zerosLike=function(){return this.throwIfDisposed(),Ie(this)};var fx={kernelName:ss,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(r,As(ne(t,"float32"),-1))}}};var UO={kernelName:Ks,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>{let n=Pe(ne(t,"float32")),o=yt(ue(le(1),n));return Ue(de(r,o))}}}};var qO={kernelName:Xs,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>{let n=yt(ue(Pe(ne(t,"float32")),1));return de(r,n)}}}};var HO={kernelName:xn,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e,o=ze(t.shape,n.shape);return{a:()=>{let i=r,l=It(t.shape,o);return l.length>0&&(i=ye(i,l)),z(i,t.shape)},b:()=>{let i=r,l=It(n.shape,o);return l.length>0&&(i=ye(i,l)),z(i,n.shape)}}}};var KO={kernelName:Wn,saveAllInputs:!0,gradFunc:(r,e)=>{let t={};return e.forEach((n,o)=>{t[o]=()=>r.clone()}),t}};var XO={kernelName:Un,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>Ie(t)}}};var YO={kernelName:na,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>Ie(t)}}};var ZO={kernelName:Ys,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>de(r,yt(ue(le(1),Pe(ne(t,"float32")))))}}};var JO={kernelName:Zs,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>{let n=yt(Q(le(1),Pe(ne(t,"float32"))));return de(r,n)}}}};var QO={kernelName:ei,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e,o=ze(t.shape,n.shape);return{a:()=>{let i=Q(Pe(t),Pe(n)),l=M(r,de(n,i)),u=It(t.shape,o);return u.length>0&&(l=ye(l,u)),z(l,t.shape)},b:()=>{let i=Q(Pe(t),Pe(n)),l=Ue(M(r,de(t,i))),u=It(n.shape,o);return u.length>0&&(l=ye(l,u)),z(l,n.shape)}}}};var eP={kernelName:Js,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>de(r,Q(Pe(ne(t,"float32")),1))}}};var tP={kernelName:Qs,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>de(r,ue(le(1),Pe(ne(t,"float32"))))}}};function tJ(r,e,t,n,o,s){let a=v(r,"dy","avgPool3dGrad"),i=v(e,"input","avgPool3dGrad"),l=a,u=i,c=!1;i.rank===4&&(c=!0,l=z(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),u=z(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),A(l.rank===5,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`),A(u.rank===5,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`),s!=null&&A(st(o),()=>`Error in avgPool3dGrad: pad must be an integer when using, dimRoundingMode ${s} but got pad ${o}.`);let p={dy:l,input:u},m={filterSize:t,strides:n,pad:o,dimRoundingMode:s},f=D.runKernel(Wl,p,m);return c?z(f,[f.shape[1],f.shape[2],f.shape[3],f.shape[4]]):f}var rP=T({avgPool3dGrad_:tJ});var nP={kernelName:oa,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,{filterSize:o,strides:s,pad:a,dimRoundingMode:i}=t;return{x:()=>rP(r,n,o,s,a,i)}}};function rJ(r,e,t,n,o){let s=v(r,"dy","avgPoolGrad"),a=v(e,"input","avgPoolGrad");A(a.rank===s.rank,()=>`Rank of input (${a.rank}) does not match rank of dy (${s.rank})`);let i=a,l=s,u=!1;a.rank===3&&(u=!0,i=z(a,[1,a.shape[0],a.shape[1],a.shape[2]]),l=z(s,[1,s.shape[0],s.shape[1],s.shape[2]])),A(l.rank===4,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`),A(i.rank===4,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${i.rank}.`);let c={dy:l,input:i},p={filterSize:t,strides:n,pad:o},m=D.runKernel(jl,c,p);return u?z(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var oP=T({avgPoolGrad_:rJ});var sP={kernelName:qn,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,{filterSize:o,strides:s,pad:a}=t;return{x:()=>oP(r,n,o,s,a)}}};var iP={kernelName:Hn,inputsToSave:["a","b"],gradFunc:(r,e,t)=>{let[n,o]=e,{transposeA:s,transposeB:a}=t;return!s&&!a?{a:()=>je(r,o,!1,!0),b:()=>je(n,r,!0,!1)}:!s&&a?{a:()=>je(r,o,!1,!1),b:()=>je(r,n,!0,!1)}:s&&!a?{a:()=>je(o,r,!1,!0),b:()=>je(n,r,!1,!1)}:{a:()=>je(o,r,!0,!0),b:()=>je(r,n,!0,!0)}}};var aP={kernelName:sa,gradFunc:(r,e,t)=>{let{blockShape:n,crops:o}=t;return{x:()=>Aa(r,n,o)}}};var lP={kernelName:Pb,gradFunc:(r,e,t)=>{let n=t,o=n.inputShape,s=n.shape,a=Array.from(s);for(let l=o.length-1;l>=0;l--)if(o[l]===s[l])a[l]=1;else if(o[l]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${s}].`);let i=[];for(let l=0;l1&&i.push(l);return{x:()=>ye(r,i,!0)}}};var uP={kernelName:An,gradFunc:r=>({x:()=>r.clone()})};var cP={kernelName:ti,gradFunc:r=>({x:()=>Ie(r)})};var pP={kernelName:Dn,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,{clipValueMin:o,clipValueMax:s}=t;return{x:()=>$t(dr(tn(n,o),Pn(n,s)),r,Ie(r))}}};var mP={kernelName:ia,inputsToSave:["x"],gradFunc:fx.gradFunc};var fP={kernelName:is,saveAllInputs:!0,gradFunc:(r,e,t)=>{let n=e.map(l=>l.shape),{axis:o}=t,s=Qt(o,e[0].shape)[0],a=n.map(l=>l[s]);return ur(r,a,s).map(l=>()=>l)}};var dP={kernelName:Kn,inputsToSave:["x","filter"],gradFunc:(r,e,t)=>{let[n,o]=e,{dilations:s,strides:a,pad:i,dataFormat:l}=t;return A(Fn(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>Kc(n.shape,r,o,a,i,l),filter:()=>tp(n,r,o.shape,a,i,l)}}};var hP={kernelName:Xn,inputsToSave:["dy","filter"],gradFunc:(r,e,t)=>{let[n,o]=e,{strides:s,pad:a,dataFormat:i,dimRoundingMode:l}=t;return{dy:()=>Ur(r,o,s,a,i,1,l),filter:()=>tp(r,n,o.shape,s,a,i,l)}}};function nJ(r,e,t,n,o){let s=r;r.rank===4&&(s=z(r,[1,r.shape[0],r.shape[1],r.shape[2],r.shape[3]]));let a=e;a.rank===4&&(a=z(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]])),A(s.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),A(a.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${a.shape}.`),A(t.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${t}.`),A(s.shape[4]===t[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${t[3]}.`),A(a.shape[4]===t[4],()=>`Error in conv3dDerFilter: depth of dy (${a.shape[4]}) must match output depth for filter (${t[4]}).`);let i={x:s,dy:a},l={strides:n,pad:o,filterShape:t};return D.runKernel(Kl,i,l)}var gP=T({conv3DBackpropFilter_:nJ});var xP={kernelName:aa,inputsToSave:["x","filter"],gradFunc:(r,e,t)=>{let{dilations:n,strides:o,pad:s}=t;A(Fn(n),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${n}'`);let[a,i]=e;return{x:()=>lg(a.shape,r,i,o,s),filter:()=>gP(a,r,i.shape,o,s)}}};var yP={kernelName:Yn,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(Ue(Mu(ne(t,"float32"))),r)}}};var bP={kernelName:ri,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(Lu(ne(t,"float32")),r)}}};var wP={kernelName:Zn,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,{axis:o,exclusive:s,reverse:a}=t;return{x:()=>{let i=Lw([o],n.rank),l=Nu(r,o,s,!a);return i!=null&&(l=We(l,i)),l}}}};var _P={kernelName:Jn,inputsToSave:["x","filter"],gradFunc:(r,e,t)=>{let{dilations:n,strides:o,pad:s,dimRoundingMode:a}=t,i=n==null?[1,1]:n;A(Fn(i),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${i}'`);let[l,u]=e;return A(l.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`),A(u.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`),A(l.shape[3]===u.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`),A(br(o,i),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${i}'.`),a!=null&&A(st(s),()=>`Error in depthwiseConv2d: pad must be an integer when using, dimRoundingMode ${a} but got pad ${s}.`),{x:()=>xg(l.shape,r,u,o,s,n,a),filter:()=>gg(l,r,u.shape,o,s,n,a)}}};var kP={kernelName:la,inputsToSave:["x","filter"],gradFunc:(r,e,t)=>{let[n,o]=e,s={x:n,filter:o,dy:r},a={x:n,filter:o,dy:r};return{x:()=>D.runKernel(Rc,s,t),filter:()=>D.runKernel(Fc,a,t)}}};var vP={kernelName:si,outputsToSave:[!0],gradFunc:(r,e)=>{let[t]=e,n={dy:r,y:t};return{x:()=>D.runKernel(eu,n)}}};var CP={kernelName:ii,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e,n=M(Yt(Ue(Pe(t))),2/Math.sqrt(Math.PI));return{x:()=>M(r,n)}}};var IP={kernelName:eo,outputsToSave:[!0],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(r,t)}}};var NP={kernelName:as,inputsToSave:["input"],gradFunc:(r,e)=>{let[t]=e;return{input:()=>z(r,t.shape)}}};var SP={kernelName:li,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(r,Yt(t))}}};var TP={kernelName:to,gradFunc:r=>({x:()=>Ie(r)})};var EP={kernelName:ro,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e,o=ze(t.shape,n.shape);return{a:()=>{let i=de(r,ne(n,"float32")),l=It(t.shape,o);return l.length>0?z(ye(i,l),t.shape):i},b:()=>{let i=M(r,ne(t,"float32")),l=It(n.shape,o);l.length>0&&(i=z(ye(i,l),n.shape));let u=Pe(n);return Ue(de(i,ne(u,"float32")))}}}};var AP={kernelName:no,inputsToSave:["x","mean","variance","scale"],gradFunc:(r,e,t)=>{let{varianceEpsilon:n}=t,[o,s,a,i]=e,l=i==null?le(1):i,u=It(s.shape,o.shape),c=[];if(s.rank===1){for(let _=0;_s.rank===1?z(M(M(r,On(z(f,[1,1,1,s.shape[0]]),c)),l),o.shape):z(M(M(r,f),l),o.shape),mean:()=>{let _=M(M(f,le(-1)),m);return s.rank===1&&(_=ye(_,u)),z(_,s.shape)},variance:()=>{let _=M(M(d,p),m);return s.rank===1&&(_=ye(_,u)),z(_,s.shape)},scale:()=>{let _=M(p,f),k=M(r,_);return s.rank===1&&(k=ye(k,u)),z(k,s.shape)},offset:()=>{let _=r;return s.rank===1&&(_=ye(_,u)),z(_,s.shape)}}}};var RP={kernelName:ls,inputsToSave:["x","indices"],gradFunc:(r,e,t)=>{let[n,o]=e,{axis:s}=t,a=Qt(s,n.shape)[0];return{x:()=>{let l=n.shape,u=o.size,c=l.slice(0,a),p=c.length,m=l.slice(s,l.length).slice(1),f=m.length,d=DP(0,p),h=DP(p+1,p+1+f),g=$P([c,[u],m]),x=z(r,g),b=z(o,[u]),w=$P([[p],d,h]),_=We(x,w),k=of(_,b,n.shape[a]),E=Wm(w);return k=We(k,E),k},indices:()=>o}}};function DP(r,e){let t=[];for(let n=r;n{let[t,n]=e;return{a:()=>Ie(t),b:()=>Ie(n)}}};var OP={kernelName:us,gradFunc:r=>({x:()=>ne(r,"float32")})};var PP={kernelName:mi,gradFunc:r=>({x:()=>Ie(r)})};var MP={kernelName:fi,gradFunc:r=>({x:()=>Ie(r)})};var LP={kernelName:di,gradFunc:r=>({x:()=>Ie(r)})};var zP={kernelName:so,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,{alpha:o}=t,s=er(n,0);return{x:()=>$t(s,r,M(r,o))}}};var BP={kernelName:xi,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>de(r,Q(t,1))}}};var VP={kernelName:io,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>de(r,ne(t,"float32"))}}};var GP={kernelName:Mb,inputsToSave:[],outputsToSave:[!0],gradFunc:(r,e,t)=>{let[n]=e,{axis:o}=t;return{logits:()=>{let s=!0,a=Yt(n);return ue(r,M(ye(r,o,s),a))}}}};function oJ(r,e,t,n=5,o=1,s=1,a=.5){let i={x:r,y:e,dy:t},l={depthRadius:n,bias:o,alpha:s,beta:a};return D.runKernel(su,i,l)}var jP=T({localResponseNormalizationBackprop_:oJ});var WP={kernelName:ca,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(r,e,t)=>{let[n,o]=e,{depthRadius:s,bias:a,alpha:i,beta:l}=t;return{x:()=>jP(n,o,r,s,a,i,l)}}};function dx(r,e,t,n){return e.rankM(r,ne(wn(t,e),r.dtype))}}var y0={kernelName:ao,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(r,e,t)=>{let n=t,{reductionIndices:o}=n,s=e[0],a=e[1],i=Qt(o,s.shape),l=dx(r,a,s,i);return{x:()=>l.x()}}};var UP={kernelName:lo,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e;return{a:()=>M(r,ne(tn(t,n),"float32")),b:()=>M(r,ne(Tu(t,n),"float32"))}}};function sJ(r,e,t,n,o,s,a){let i=v(r,"dy","maxPool3dGrad"),l=v(e,"input","maxPool3dGrad"),u=v(t,"output","maxPool3dGrad"),c=i,p=l,m=u,f=!1;l.rank===4&&(f=!0,c=z(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]]),p=z(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),m=z(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),A(c.rank===5,()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`),A(p.rank===5,()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${p.rank}.`),A(m.rank===5,()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${m.rank}.`),a!=null&&A(st(s),()=>`Error in maxPool3dGrad: pad must be an integer when using, dimRoundingMode ${a} but got pad ${s}.`);let d={dy:c,input:p,output:m},h={filterSize:n,strides:o,pad:s,dimRoundingMode:a},g=D.runKernel(au,d,h);return f?z(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}var qP=T({maxPool3dGrad_:sJ});var HP={kernelName:pa,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(r,e,t)=>{let[n,o]=e,{filterSize:s,strides:a,pad:i,dimRoundingMode:l}=t;return{x:()=>qP(r,n,o,s,a,i,l)}}};function iJ(r,e,t,n,o,s,a){let i=v(r,"dy","maxPoolGrad"),l=v(e,"input","maxPoolGrad"),u=v(t,"output","maxPoolGrad");A(l.rank===i.rank,()=>`Rank of input (${l.rank}) does not match rank of dy (${i.rank})`),A(i.rank===4,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${i.rank}.`),A(l.rank===4,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`),a!=null&&A(st(s),()=>`Error in maxPoolGrad: pad must be an integer when using, dimRoundingMode ${a} but got pad ${s}.`);let c={dy:i,input:l,output:u},p={filterSize:n,strides:o,pad:s,dimRoundingMode:a};return D.runKernel(iu,c,p)}var KP=T({maxPoolGrad_:iJ});var XP={kernelName:uo,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(r,e,t)=>{let[n,o]=e,{filterSize:s,strides:a,pad:i}=t;return{x:()=>KP(r,n,o,s,a,i)}}};var YP={kernelName:co,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,{axis:o}=t,s=Qt(o,n.shape),i=Mw(n.shape,s)[1],l=ft(i);return{x:()=>{let c=n.shape.slice();s.forEach(f=>{c[f]=1});let p=z(r,c);return de(M(p,Ir(n.shape,"float32")),l)}}}};var ZP={kernelName:po,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(r,e,t)=>{let n=t,{axis:o}=n,[s,a]=e,i=Qt(o,s.shape),l=dx(r,a,s,i);return{x:()=>l.x()}}};var JP={kernelName:mo,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e;return{a:()=>M(r,ne(Pn(t,n),"float32")),b:()=>M(r,ne(er(t,n),"float32"))}}};var QP={kernelName:ma,inputsToSave:["x"],gradFunc:(r,e,t)=>{let n=e[0],{paddings:o}=t,s=o.map(a=>a[0]);return{x:()=>Fe(r,s,n.shape)}}};var eM={kernelName:bi,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e,o=ze(t.shape,n.shape);return{a:()=>{let i=It(t.shape,o);return i.length>0?z(ye(r,i),t.shape):r},b:()=>{let i=M(r,Ue(Ns(de(t,n)))),l=It(n.shape,o);return l.length>0?z(ye(i,l),n.shape):i}}}};var tM={kernelName:fo,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e,o=ze(t.shape,n.shape);return{a:()=>{let i=M(r,ne(n,"float32")),l=It(t.shape,o);return l.length>0?z(ye(i,l),t.shape):i},b:()=>{let i=M(r,ne(t,"float32")),l=It(n.shape,o);return l.length>0?z(ye(i,l),n.shape):i}}}};var rM={kernelName:cs,gradFunc:r=>({x:()=>Ue(r)})};var nM={kernelName:ho,inputsToSave:["indices"],gradFunc:(r,e)=>{let t=e[0];return{indices:()=>xt(t.shape,"float32")}}};var oM={kernelName:ps,gradFunc:r=>({x:()=>Ie(r)})};var sM={kernelName:ms,saveAllInputs:!0,gradFunc:(r,e,t)=>{let{axis:n}=t;return cr(r,n).map(s=>()=>s)}};var b0={kernelName:go,inputsToSave:["x"],gradFunc:(r,e,t)=>{let n=e[0],{paddings:o}=t,s=o.map(a=>a[0]);return{x:()=>Fe(r,s,n.shape)}}};var iM={kernelName:xo,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(r,e)=>{let[t,n,o]=e,s=t,a=n,i=ze(s.shape,a.shape);return{a:()=>{let c=ne(a,"float32"),p=M(r,M(c,Fr(s,ue(c,le(1))))),m=It(s.shape,i);return m.length>0&&(p=ye(p,m)),z(p,s.shape)},b:()=>{let c=er(s,0),p=$t(c,ar(s),Ie(s)),m=M(r,M(o,p)),f=It(a.shape,i);return f.length>0&&(m=ye(m,f)),z(m,a.shape)}}}};var aM={kernelName:yo,inputsToSave:["x","alpha"],gradFunc:(r,e)=>{let[t,n]=e,o=er(t,0);return{x:()=>$t(o,r,M(r,n)),alpha:()=>{let s=$t(o,Ie(r),M(r,t)),a=It(n.shape,r.shape);return a.length>0&&(s=ye(s,a)),z(s,n.shape)}}}};var lM={kernelName:Qn,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e,o=ze(t.shape,n.shape);return{a:()=>{let i=de(r,ne(n,"float32")),l=It(t.shape,o);return l.length>0?z(ye(i,l),t.shape):i},b:()=>{let i=M(r,ne(t,"float32")),l=It(n.shape,o);l.length>0&&(i=z(ye(i,l),n.shape));let u=Pe(n);return Ue(de(i,ne(u,"float32")))}}}};var uM={kernelName:Ii,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>de(r,Ue(Pe(t)))}}};var cM={kernelName:_o,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e,n=M(Pn(t,6),As(t));return{x:()=>M(r,ne(n,"float32"))}}};var pM={kernelName:bo,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(r,ne(As(t),"float32"))}}};var mM={kernelName:fs,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>z(r,t.shape)}}};var fM={kernelName:wo,inputsToSave:["images"],gradFunc:(r,e,t)=>{let[n]=e,o={dy:r,images:n};return{images:()=>D.runKernel(mu,o,t)}}};var dM={kernelName:da,inputsToSave:["images"],gradFunc:(r,e,t)=>{let[n]=e,o={dy:r,images:n};return{images:()=>D.runKernel(pu,o,t)}}};var hM={kernelName:ko,gradFunc:(r,e,t)=>{let{dims:n}=t,o=Qt(n,r.shape);return{x:()=>Kt(r,o)}}};var gM={kernelName:vo,gradFunc:r=>({x:()=>Ie(r)})};var xM={kernelName:Co,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>Ue(de(r,M(Fr(t,1.5),2)))}}};var yM={kernelName:ds,inputsToSave:["condition"],gradFunc:(r,e)=>{let[t]=e;return{condition:()=>ne(Ie(t),"float32"),t:()=>M(r,ne(t,r.dtype)),e:()=>M(r,ne(Ta(t),r.dtype))}}};var bM={kernelName:Si,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>{let n=er(t,le(0)),o=le(u_),s=le(c_),a=M(r,s),i=M(M(r,o),Yt(ne(t,"float32")));return $t(n,a,i)}}}};var wM={kernelName:No,outputsToSave:[!0],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(r,M(t,ue(le(1),t)))}}};var _M={kernelName:Ei,gradFunc:r=>({x:()=>Ie(r)})};var kM={kernelName:Io,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(Ia(ne(t,"float32")),r)}}};var vM={kernelName:Ti,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(Iu(ne(t,"float32")),r)}}};var CM={kernelName:hs,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,{begin:o,size:s}=t,a=n.shape,[i,l]=mw(n,o,s),u=[];for(let c=0;cRr(r,u)}}};var IM={kernelName:Eo,outputsToSave:[!0],gradFunc:(r,e,t)=>{let[n]=e,{dim:o}=t,s=!0,a=M(r,n);return{logits:()=>ue(a,M(ye(a,[o],s),n))}}};var NM={kernelName:Ai,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(r,Wr(t))}}};var w0={kernelName:ha,gradFunc:(r,e,t)=>{let{blockShape:n,paddings:o}=t;return{x:()=>Ca(r,n,o)}}};var _0={kernelName:gs,gradFunc:(r,e,t)=>{let{axis:n}=t;return{x:()=>Qe(r,n)}}};var SM={kernelName:So,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>de(r,M(yt(ne(t,"float32")),2))}}};var TM={kernelName:ga,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(r,M(ne(t,"float32"),2))}}};var EM={kernelName:Ao,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e,o=le(2);return{a:()=>M(r,M(o,ue(t,n))),b:()=>M(r,M(o,ue(n,t)))}}};var AM={kernelName:$n,gradFunc:r=>({x:()=>Ie(r)})};var DM={kernelName:Do,inputsToSave:["a","b"],gradFunc:(r,e)=>{let[t,n]=e,o=ze(t.shape,n.shape);return{a:()=>{let i=r,l=It(t.shape,o);return l.length>0&&(i=ye(i,l)),z(i,t.shape)},b:()=>{let i=r,l=It(n.shape,o);return l.length>0&&(i=ye(i,l)),z(Ue(i),n.shape)}}}};var $M={kernelName:To,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,o=n.shape.slice(),{axis:s}=t;Qt(s,n.shape).forEach(u=>{o[u]=1});let i=z(r,o),l=M(i,Ir(n.shape,"float32"));return{x:()=>l}}};var RM={kernelName:$i,inputsToSave:["x"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>de(r,Pe(Ia(t)))}}};var FM={kernelName:$o,outputsToSave:[!0],gradFunc:(r,e)=>{let[t]=e;return{x:()=>M(ue(le(1),Pe(t)),r)}}};var OM={kernelName:yn,inputsToSave:["x"],gradFunc:(r,e,t)=>{let[n]=e,{reps:o}=t;return{x:()=>{let a=Ie(n);if(n.rank===1)for(let i=0;i{let n=t,{perm:o}=n,s=Wm(o);return{x:()=>We(r,s)}}};var MM={kernelName:xs,gradFunc:(r,e,t)=>{let n=t,{axis:o}=n;return{value:()=>Vt(r,o)}}};var LM={kernelName:xa,inputsToSave:["segmentIds"],gradFunc:(r,e)=>{let[t]=e;return{x:()=>aJ(r,t)}}};function aJ(r,e){let t=Hr(e,Ie(e)),n=Po(r,t),o=tn(e,le(0,"int32")),s=n.rank-o.rank;for(let i=0;i({x:()=>Ie(r)})};var lJ=[fx,UO,qO,HO,KO,XO,YO,ZO,JO,QO,eP,tP,nP,sP,iP,aP,lP,uP,cP,pP,mP,fP,hP,dP,xP,yP,bP,wP,_P,kP,lM,vP,CP,IP,NP,SP,EP,TP,AP,RP,FP,OP,PP,MP,LP,zP,BP,VP,GP,WP,y0,y0,UP,HP,XP,YP,ZP,JP,QP,eM,tM,rM,nM,oM,sM,b0,b0,iM,aM,uM,cM,pM,mM,fM,dM,hM,gM,xM,yM,bM,wM,_M,kM,vM,CM,IM,NM,w0,w0,_0,_0,SM,EM,TM,AM,DM,$M,RM,FM,OM,PM,MM,LM,zM];for(let r of lJ)zb(r);var S0={};Ye(S0,{maxNorm:()=>cJ,minMaxNorm:()=>fJ,nonNeg:()=>mJ,unitNorm:()=>pJ});var k0;function Zt(){return k0==null&&(k0=gw().epsilon()),k0}function Kr(){return"channelsLast"}var Cn=class extends Error{constructor(e){super(e);Object.setPrototypeOf(this,Cn.prototype)}},Mr=class extends Error{constructor(e){super(e);Object.setPrototypeOf(this,Mr.prototype)}},B=class extends Error{constructor(e){super(e);Object.setPrototypeOf(this,B.prototype)}},Se=class extends Error{constructor(e){super(e);Object.setPrototypeOf(this,Se.prototype)}},zf=class extends Error{constructor(e){super(e);Object.setPrototypeOf(this,zf.prototype)}},v0=class extends Error{constructor(e){super(e);Object.setPrototypeOf(this,v0.prototype)}};function Ko(r,e){if(Array.isArray(r)){let t=[];for(let n=0;nt.toUpperCase())}var Yo={};function Ip(r){if(r==null)return null;let e={};return e.className=r.getClassName(),e.config=r.getConfig(),e}function I0(r){if(!(r==null||typeof r!="object"))if(Array.isArray(r))r.forEach(e=>I0(e));else{let e=Object.keys(r);for(let t of e){let n=r[t];n!=null&&typeof n=="object"&&(!Array.isArray(n)&&n.type==="ndarray"&&typeof n.value=="number"?r[t]=n.value:I0(n))}}}function Ui(r,e={},t={},n="object",o=!1){if(typeof r=="string"){let s=r,a;if(s in t)a=t[s];else if(s in Yo)a=Yo[s];else if(a=e[s],a==null)throw new B(`Unknown ${n}: ${r}. This may be due to one of the following reasons: -1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code. -2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return a}else{let s=r;if(s.className==null||s.config==null)throw new B(`${n}: Improper config format: ${JSON.stringify(s)}. -'className' and 'config' must set.`);let a=s.className,i,l;if(a in t?[i,l]=t[a]:a in Yo?[i,l]=Yo.className:a in e&&([i,l]=e[a]),i==null)throw new B(`Unknown ${n}: ${a}. This may be due to one of the following reasons: -1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code. -2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(l!=null){let u={};for(let f of Object.keys(Yo))u[f]=Yo[f];for(let f of Object.keys(t))u[f]=t[f];let c=s.config;c.customObjects=u;let p=Object.assign({},Yo);for(let f of Object.keys(t))Yo[f]=t[f];I0(s.config);let m=l(i,s.config,t,o);return Yo=Object.assign({},p),m}else{let u=Object.assign({},Yo);for(let p of Object.keys(t))Yo[p]=t[p];let c=new i(s.config);return Yo=Object.assign({},u),c}}}function uJ(r,e){return re?1:0}function Bf(r,e){return-1*uJ(r,e)}function Zo(r){if(r==null)return r;let e=[];for(let t of r)e.indexOf(t)===-1&&e.push(t);return e}function BM(r){if(r==null)throw new B(`Invalid value in obj: ${JSON.stringify(r)}`);for(let e in r)if(r.hasOwnProperty(e))return!1;return!0}function qi(r,e,t){if(t!=null&&r.indexOf(t)<0)throw new B(`${t} is not a valid ${e}. Valid values are ${r} or null/undefined.`)}function hx(r,e,t=0,n=Infinity){return Ln(t>=0),Ln(n>=t),Array.isArray(r)&&r.length>=t&&r.length<=n&&r.every(o=>typeof o===e)}function qt(r,e){Array.isArray(r)?(y.assert(r.length>0,()=>`${e} is unexpectedly an empty array.`),r.forEach((t,n)=>qt(t,`element ${n+1} of ${e}`))):y.assert(Number.isInteger(r)&&r>0,()=>`Expected ${e} to be a positive integer, but got ${VM(r)}.`)}function VM(r){return r===null?"null":Array.isArray(r)?"["+r.map(e=>VM(e)).join(",")+"]":typeof r=="string"?`"${r}"`:`${r}`}function GM(r,e){let t=y.now(),n;return(...s)=>{let a=y.now();return a-tyt(ye(M(r,r),e,!0)))}var Np=class extends J.Serializable{getConfig(){return{}}},Vf=class extends Np{constructor(e){super();this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=e.maxValue!=null?e.maxValue:this.defaultMaxValue,this.axis=e.axis!=null?e.axis:this.defaultAxis}apply(e){return V(()=>{let t=N0(e,this.axis),n=sr(t,0,this.maxValue);return M(e,de(n,Q(Zt(),t)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}};Vf.className="MaxNorm";J.registerClass(Vf);var Gf=class extends Np{constructor(e){super();this.defaultAxis=0,this.axis=e.axis!=null?e.axis:this.defaultAxis}apply(e){return V(()=>de(e,Q(Zt(),N0(e,this.axis))))}getConfig(){return{axis:this.axis}}};Gf.className="UnitNorm";J.registerClass(Gf);var jf=class extends Np{apply(e){return Nr(e)}};jf.className="NonNeg";J.registerClass(jf);var Wf=class extends Np{constructor(e){super();this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=e.minValue!=null?e.minValue:this.defaultMinValue,this.maxValue=e.maxValue!=null?e.maxValue:this.defaultMaxValue,this.rate=e.rate!=null?e.rate:this.defaultRate,this.axis=e.axis!=null?e.axis:this.defaultAxis}apply(e){return V(()=>{let t=N0(e,this.axis),n=Q(M(this.rate,sr(t,this.minValue,this.maxValue)),M(1-this.rate,t));return M(e,de(n,Q(Zt(),t)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}};Wf.className="MinMaxNorm";J.registerClass(Wf);var jM={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function Mt(r){return Ip(r)}function WM(r,e={}){return Ui(r,J.SerializationMap.getMap().classNameMap,e,"constraint")}function Lt(r){if(r==null)return null;if(typeof r=="string"){let t={className:r in jM?jM[r]:r,config:{}};return WM(t)}else return r instanceof Np?r:WM(r)}function cJ(r){return new Vf(r)}function pJ(r){return new Gf(r)}function mJ(){return new jf}function fJ(r){return new Wf(r)}var $0={};Ye($0,{constant:()=>_J,glorotNormal:()=>TJ,glorotUniform:()=>SJ,heNormal:()=>EJ,heUniform:()=>AJ,identity:()=>IJ,leCunNormal:()=>DJ,leCunUniform:()=>$J,ones:()=>wJ,orthogonal:()=>RJ,randomNormal:()=>vJ,randomUniform:()=>kJ,truncatedNormal:()=>CJ,varianceScaling:()=>NJ,zeros:()=>bJ});var UM=["channelsFirst","channelsLast"],qM=["nearest","bilinear"],HM=["valid","same","causal"],KM=["max","avg"],XM=["sum","mul","concat","ave"];var Sp=new Map;function Ft(r){qi(UM,"DataFormat",r)}function YM(r){qi(qM,"InterpolationFormat",r)}function Xr(r){qi(HM,"PaddingMode",r)}function T0(r){qi(KM,"PoolMode",r)}var Uf=[],ZM="/";function Ps(r,e){Uf.push(r);try{let t=e();return Uf.pop(),t}catch(t){throw Uf.pop(),t}}function dJ(){return Uf.length===0?"":Uf.join(ZM)+ZM}function xx(r){if(!JM(r))throw new Error("Not a valid tensor name: '"+r+"'");return dJ()+r}function yx(r){if(!JM(r))throw new Error("Not a valid tensor name: '"+r+"'");Sp.has(r)||Sp.set(r,0);let e=Sp.get(r);if(Sp.set(r,Sp.get(r)+1),e>0){let t=`${r}_${e}`;return Sp.set(t,1),t}else return r}var hJ=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function JM(r){return!!r.match(hJ)}function QM(r){return r===parseInt(r.toString(),10)}function Jo(r,e,t){e==null&&(e=0),t==null&&(t=r.length);let n=1;for(let o=e;o{if(r.shape.length!==2)throw new B(`repeat() expects a rank-2 tensor, but received a rank-${r.shape.length} tensor.`);let t=Wa(r,1);return bx(t,[1,e,1])})}function rL(r){let e=[Jo(r.shape)];return r.reshape(e)}function nL(r){if(r.rank<=1)throw new B(`batchFlatten requires a minimum rank of 2. Got rank: ${r.rank}.`);let e=[r.shape[0],Jo(r.shape,1)];return r.reshape(e)}function Ua(r,e,t){return V(()=>{switch(r.rank){case 1:return Qm(r,e,t);case 2:return hg(r,[e,0],[t,r.shape[1]]);case 3:return ef(r,[e,0,0],[t,r.shape[1],r.shape[2]]);case 4:return Qc(r,[e,0,0,0],[t,r.shape[1],r.shape[2],r.shape[3]]);case 5:return Fe(r,[e,0,0,0,0],[t,r.shape[1],r.shape[2],r.shape[3],r.shape[4]]);case 6:return Fe(r,[e,0,0,0,0,0],[t,r.shape[1],r.shape[2],r.shape[3],r.shape[4],r.shape[5]]);default:throw new B(`sliceAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}})}function E0(r,e,t){return V(()=>{switch(r.rank){case 1:return Qm(r,e,t);case 2:return hg(r,[0,e],[r.shape[0],t]);case 3:return ef(r,[0,0,e],[r.shape[0],r.shape[1],t]);case 4:return Qc(r,[0,0,0,e],[r.shape[0],r.shape[1],r.shape[2],t]);default:throw new B(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function qf(r,e,t,n){return V(()=>{switch(r.rank){case 1:return Qm(r,e,t);case 2:switch(n){case 1:return Ua(r,e,t);case 2:return E0(r,e,t);default:throw new B(`The axis is not within the rank of the tensor ${n}`)}case 3:switch(n){case 1:return Ua(r,e,t);case 2:return ef(r,[0,e,0],[r.shape[0],t,r.shape[2]]);case 3:return E0(r,e,t);default:throw new B(`The axis is not within the rank of the tensor ${n}`)}case 4:switch(n){case 1:return Ua(r,e,t);case 2:return Qc(r,[0,e,0,0],[r.shape[0],t,r.shape[2],r.shape[3]]);case 3:return Qc(r,[0,0,e,0],[r.shape[0],r.shape[1],t,r.shape[3]]);case 4:return E0(r,e,t);default:throw new B(`The axis is not within the rank of the tensor ${n}`)}default:throw new B(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Tp(r,e=-1){let t;return e<0&&(t=r[0].rank,t!==0?e=t:e=0),e===r[0].rank&&(e=-1),Qe(r,e)}function A0(r,e){switch(r.rank){case 1:return Iw([r,e]);case 2:return Nw([r,e],0);case 3:return Sw([r,e],0);case 4:return Tw([r,e],0);default:throw new B(`concatAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}}function bx(r,e){if(Array.isArray(e)||(e=[e]),r.rank!==e.length)throw new B(`The length of input n (${e.length}) does not match the number of dimensions in input x (${r.rank})`);return On(r,e)}function Ep(r,e=0,t=1,n,o){return dg(r,e,t,n,o)}function Qo(r,e,t,n){if(r.rank<2||e.rank<2)throw new Se(`dot requires both inputs to be rank >= 2 but got x shape = ${r.shape} and y shape = ${e.shape}`);if(e.rank>=3){let o=r.shape.slice(-1)[0],s=e.shape.slice(-2)[0];if(o!==s)throw new Se(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${r.shape} and y shape = ${e.shape}`)}if(r.rank===2&&e.rank===2){let o=!1,s=!1;return zo.matMul({a:r,b:e,transposeA:o,transposeB:s,bias:n?D0(r.rank,n,Kr()):null,activation:t})}else{let o=r.shape.slice(),s=o.pop();r=r.reshape([-1,s]);let a=e.shape.slice(),i=a.pop(),l=a.pop(),u=[...a,i],c=Array.from({length:e.rank},(d,h)=>h===0?e.rank-2:h<=e.rank-2?h-1:h);e=e.transpose(c).reshape([l,-1]);let p=[...o,...u],m=!1,f=!1;return zo.matMul({a:r,b:e,transposeA:m,transposeB:f,bias:n?D0(r.rank,n,Kr()):null,activation:t}).reshape(p)}}function wx(r,e,t){return V(()=>(Array.isArray(e)?e=Gt(e,"int32"):e=e.toInt(),Po(r,e,t)))}function ic(r){return M(r,r)}function D0(r,e,t){let n=e.shape;if(e.rank!==1&&e.rank!==r)throw new B(`Unexpected bias dimensions: ${e.rank}; expected it to be 1 or ${r}`);if(r===5){if(t==="channelsFirst")return n.length===1?e.reshape([1,n[0],1,1,1]):e.reshape([1,n[3],n[0],n[1],n[2]]);if(t==="channelsLast")return n.length===1?e.reshape([1,1,1,1,n[0]]):e.reshape([1].concat(n))}else if(r===4){if(t==="channelsFirst")return n.length===1?e.reshape([1,n[0],1,1]):e.reshape([1,n[2],n[0],n[1]]);if(t==="channelsLast")return n.length===1?e.reshape([1,1,1,n[0]]):e.reshape([1].concat(n))}else if(r===3){if(t==="channelsFirst")return n.length===1?e.reshape([1,n[0],1]):e.reshape([1,n[1],n[0]]);if(t==="channelsLast")return n.length===1?e.reshape([1,1,n[0]]):e.reshape([1].concat(n))}else if(r<3)return e;throw new B(`Unsupported input rank by biasAdd: ${e.rank}`)}function on(r,e,t){return V(()=>(t==null&&(t=Kr()),Ft(t),r.add(D0(r.rank,e,t))))}function oL(r,e=1){if(e!==1)throw new Se(`Support for alpha values other than 1 (${e}) is not implemented yet.`);return Is(r)}function sL(r){return V(()=>de(r,Et(r).add(1)))}function _x(r,e,t,n){return V(()=>r_(r,e,t,n))}function iL(r){return V(()=>{let e=Q(.5,M(.2,r));return sr(e,0,1)})}function wl(r,e,t=!1){return t?r():e()}var aL=["fanIn","fanOut","fanAvg"],lL=["normal","uniform","truncatedNormal"];function gJ(r){qi(aL,"FanMode",r)}function xJ(r){qi(lL,"Distribution",r)}var sn=class extends J.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}},Hf=class extends sn{apply(e,t){return xt(e,t)}};Hf.className="Zeros";J.registerClass(Hf);var ac=class extends sn{apply(e,t){return Ir(e,t)}};ac.className="Ones";J.registerClass(ac);var Kf=class extends sn{constructor(e){super();if(typeof e!="object")throw new B(`Expected argument of type ConstantConfig but got ${e}`);if(e.value===void 0)throw new B(`config must have value set but got ${e}`);this.value=e.value}apply(e,t){return V(()=>M(le(this.value),Ir(e,t)))}getConfig(){return{value:this.value}}};Kf.className="Constant";J.registerClass(Kf);var Xf=class extends sn{constructor(e){super();this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=e.minval||this.DEFAULT_MINVAL,this.maxval=e.maxval||this.DEFAULT_MAXVAL,this.seed=e.seed}apply(e,t){return Es(e,this.minval,this.maxval,t)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}};Xf.className="RandomUniform";J.registerClass(Xf);var Yf=class extends sn{constructor(e){super();this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if(t=t||"float32",t!=="float32"&&t!=="int32")throw new Se(`randomNormal does not support dType ${t}.`);return Ep(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};Yf.className="RandomNormal";J.registerClass(Yf);var Zf=class extends sn{constructor(e){super();this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if(t=t||"float32",t!=="float32"&&t!=="int32")throw new Se(`truncatedNormal does not support dType ${t}.`);return Vu(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};Zf.className="TruncatedNormal";J.registerClass(Zf);var Jf=class extends sn{constructor(e){super();this.gain=e.gain!=null?e.gain:1}apply(e,t){return V(()=>{if(e.length!==2||e[0]!==e[1])throw new B("Identity matrix initializer can only be used for 2D square matrices.");return M(this.gain,Xc(e[0]))})}getConfig(){return{gain:this.gain}}};Jf.className="Identity";J.registerClass(Jf);function yJ(r,e="channelsLast"){let t,n;if(Ft(e),r.length===2)t=r[0],n=r[1];else if([3,4,5].indexOf(r.length)!==-1){if(e==="channelsFirst"){let o=Jo(r,2);t=r[1]*o,n=r[0]*o}else if(e==="channelsLast"){let o=Jo(r,0,r.length-2);t=r[r.length-2]*o,n=r[r.length-1]*o}}else{let o=Jo(r);t=Math.sqrt(o),n=Math.sqrt(o)}return[t,n]}var zr=class extends sn{constructor(e){super();if(e.scale<0)throw new B(`scale must be a positive float. Got: ${e.scale}`);this.scale=e.scale==null?1:e.scale,this.mode=e.mode==null?"fanIn":e.mode,gJ(this.mode),this.distribution=e.distribution==null?"normal":e.distribution,xJ(this.distribution),this.seed=e.seed}apply(e,t){let n=yJ(e),o=n[0],s=n[1],a=this.scale;if(this.mode==="fanIn"?a/=Math.max(1,o):this.mode==="fanOut"?a/=Math.max(1,s):a/=Math.max(1,(o+s)/2),this.distribution==="normal"){let i=Math.sqrt(a);if(t=t||"float32",t!=="float32"&&t!=="int32")throw new Se(`${this.getClassName()} does not support dType ${t}.`);return Vu(e,0,i,t,this.seed)}else{let i=Math.sqrt(3*a);return Es(e,-i,i,t)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}};zr.className="VarianceScaling";J.registerClass(zr);var Ap=class extends zr{constructor(e){super({scale:1,mode:"fanAvg",distribution:"uniform",seed:e==null?null:e.seed})}getClassName(){return zr.className}};Ap.className="GlorotUniform";J.registerClass(Ap);var Dp=class extends zr{constructor(e){super({scale:1,mode:"fanAvg",distribution:"normal",seed:e==null?null:e.seed})}getClassName(){return zr.className}};Dp.className="GlorotNormal";J.registerClass(Dp);var $p=class extends zr{constructor(e){super({scale:2,mode:"fanIn",distribution:"normal",seed:e==null?null:e.seed})}getClassName(){return zr.className}};$p.className="HeNormal";J.registerClass($p);var Rp=class extends zr{constructor(e){super({scale:2,mode:"fanIn",distribution:"uniform",seed:e==null?null:e.seed})}getClassName(){return zr.className}};Rp.className="HeUniform";J.registerClass(Rp);var Fp=class extends zr{constructor(e){super({scale:1,mode:"fanIn",distribution:"normal",seed:e==null?null:e.seed})}getClassName(){return zr.className}};Fp.className="LeCunNormal";J.registerClass(Fp);var Op=class extends zr{constructor(e){super({scale:1,mode:"fanIn",distribution:"uniform",seed:e==null?null:e.seed})}getClassName(){return zr.className}};Op.className="LeCunNormal";J.registerClass(Op);var Qf=class extends sn{constructor(e){super();if(this.DEFAULT_GAIN=1,this.gain=e.gain==null?this.DEFAULT_GAIN:e.gain,this.seed=e.seed,this.seed!=null)throw new Se("Random seed is not implemented for Orthogonal Initializer yet.")}apply(e,t){return V(()=>{if(e.length<2)throw new Se("Shape must be at least 2D.");e[0]*e[1]>2e3&&console.warn(`Orthogonal initializer is being called on a matrix with more than 2000 (${e[0]*e[1]}) elements: Slowness may result.`);let n=e[0]>e[1]?[e[1],e[0]]:e,o=Ep(n,0,1,"float32"),s=l_.gramSchmidt(o);return e[0]>e[1]&&(s=s.transpose()),M(this.gain,s)})}getConfig(){return{gain:this.gain,seed:this.seed}}};Qf.className="Orthogonal";J.registerClass(Qf);var uL={constant:"Constant",glorotNormal:"GlorotNormal",glorotUniform:"GlorotUniform",heNormal:"HeNormal",heUniform:"HeUniform",identity:"Identity",leCunNormal:"LeCunNormal",leCunUniform:"LeCunUniform",ones:"Ones",orthogonal:"Orthogonal",randomNormal:"RandomNormal",randomUniform:"RandomUniform",truncatedNormal:"TruncatedNormal",varianceScaling:"VarianceScaling",zeros:"Zeros"};function cL(r,e={}){return Ui(r,J.SerializationMap.getMap().classNameMap,e,"initializer")}function Nt(r){return Ip(r)}function dt(r){if(typeof r=="string"){let e=r in uL?uL[r]:r;if(e==="GlorotNormal")return new Dp;if(e==="GlorotUniform")return new Ap;if(e==="HeNormal")return new $p;if(e==="HeUniform")return new Rp;if(e==="LeCunNormal")return new Fp;if(e==="LeCunUniform")return new Op;{let t={};return t.className=e,t.config={},cL(t)}}else return r instanceof sn?r:cL(r)}function bJ(){return new Hf}function wJ(){return new ac}function _J(r){return new Kf(r)}function kJ(r){return new Xf(r)}function vJ(r){return new Yf(r)}function CJ(r){return new Zf(r)}function IJ(r){return new Jf(r)}function NJ(r){return new zr(r)}function SJ(r){return new Ap(r)}function TJ(r){return new Dp(r)}function EJ(r){return new $p(r)}function AJ(r){return new Rp(r)}function DJ(r){return new Fp(r)}function $J(r){return new Op(r)}function RJ(r){return new Qf(r)}var dC={};Ye(dC,{Layer:()=>Me,RNN:()=>cn,RNNCell:()=>Tl,activation:()=>ZQ,add:()=>iee,alphaDropout:()=>jee,average:()=>aee,averagePooling1d:()=>hC,averagePooling2d:()=>gC,averagePooling3d:()=>xC,avgPool1d:()=>gee,avgPool2d:()=>yee,avgPool3d:()=>wee,avgPooling1d:()=>xee,avgPooling2d:()=>bee,avgPooling3d:()=>_ee,batchNormalization:()=>fee,bidirectional:()=>Oee,concatenate:()=>lee,conv1d:()=>jQ,conv2d:()=>WQ,conv2dTranspose:()=>UQ,conv3d:()=>qQ,convLstm2d:()=>Dee,convLstm2dCell:()=>$ee,cropping2D:()=>KQ,dense:()=>JQ,depthwiseConv2d:()=>YQ,dot:()=>mee,dropout:()=>QQ,elu:()=>MQ,embedding:()=>see,flatten:()=>tee,gaussianDropout:()=>Gee,gaussianNoise:()=>Vee,globalAveragePooling1d:()=>kee,globalAveragePooling2d:()=>vee,globalMaxPool1d:()=>Mee,globalMaxPool2d:()=>Lee,globalMaxPooling1d:()=>UL,globalMaxPooling2d:()=>qL,gru:()=>Iee,gruCell:()=>Nee,input:()=>jx,inputLayer:()=>PQ,layerNormalization:()=>dee,leakyReLU:()=>zQ,lstm:()=>See,lstmCell:()=>Tee,masking:()=>Wee,maxPool1d:()=>zee,maxPool2d:()=>Bee,maxPooling1d:()=>HL,maxPooling2d:()=>KL,maxPooling3d:()=>Cee,maximum:()=>uee,minimum:()=>cee,multiply:()=>pee,permute:()=>oee,prelu:()=>BQ,reLU:()=>LQ,repeatVector:()=>ree,reshape:()=>nee,rnn:()=>Ree,separableConv2d:()=>HQ,simpleRNN:()=>Eee,simpleRNNCell:()=>Aee,softmax:()=>VQ,spatialDropout1d:()=>eee,stackedRNNCells:()=>Fee,thresholdedReLU:()=>GQ,timeDistributed:()=>Pee,upSampling2d:()=>XQ,zeroPadding2d:()=>hee});var FJ=0;function kx(){return FJ++}var vx={};function _l(r=""){return r in vx||(vx[r]=0),vx[r]+=1,r+vx[r].toString()}function Cx(r){return Array.isArray(r)&&Array.isArray(r[0])}function Pp(r){return r.length===0?[]:Array.isArray(r[0])?r:[r]}function Oe(r){let e;if(Array.isArray(r)){if(r.length!==1)throw new B(`Expected Tensor length to be 1; got ${r.length}`);e=r[0]}else e=r;return e}function et(r){if(Array.isArray(r)&&Array.isArray(r[0])){if(r.length===1)return r=r,r[0];throw new B(`Expected exactly 1 Shape; got ${r.length}`)}else return r}function Mp(r){let e=0;for(let t of r)t.shape.length===0?e+=1:e+=t.shape.reduce((n,o)=>n*o);return e}var pL="Variable",ed=class{constructor(e,t="float32",n=pL,o=!0,s=null){this.dtype=t==null?"float32":t,this.shape=e.shape,this.id=kx(),n=n==null?pL:n,this.originalName=xx(n),this.name=yx(this.originalName),this.trainable_=o,this.constraint=s,this.val=Jw(e,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(e){return this.assertNotDisposed(),OJ(this.val,e),this.val.id!==e.id&&(this.val.assign(e),this.constraint!=null&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(e){this.trainable_=e,this.val.trainable=e}};function OJ(r,e){if(r.shape.toString()!==e.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(r.shape)+" vs. "+JSON.stringify(e.shape))}function td(r){return r.map(e=>e.read())}function Lp(r){r.forEach(e=>{e[0].write(e[1])})}var At=class{constructor(e){this.dtype=e.dtype,this.shape=e.shape,e.shape!=null?this.ndim=e.shape.length:this.ndim=e.ndim,this.maxNDim=e.maxNDim,this.minNDim=e.minNDim,this.axes=e.axes||{}}},Br=class{constructor(e,t,n,o,s,a,i){this.dtype=e,this.shape=t,this.sourceLayer=n,this.inputs=o,this.callArgs=s,this.outputTensorIndex=i,this.id=kx(),a!=null&&(this.originalName=xx(a),this.name=yx(this.originalName)),this.rank=t.length}},PJ=0,kl=class{constructor(e,t){this.callArgs=t,this.id=PJ++,this.outboundLayer=e.outboundLayer,this.inboundLayers=e.inboundLayers,this.nodeIndices=e.nodeIndices,this.tensorIndices=e.tensorIndices,this.inputTensors=e.inputTensors,this.outputTensors=e.outputTensors,this.inputMasks=e.inputMasks,this.outputMasks=e.outputMasks,this.inputShapes=e.inputShapes,this.outputShapes=e.outputShapes;for(let n of e.inboundLayers)n!=null&&n.outboundNodes.push(this);e.outboundLayer.inboundNodes.push(this)}getConfig(){let e=[];for(let t of this.inboundLayers)t!=null?e.push(t.name):e.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:e,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}},MJ=0,Me=class extends J.Serializable{constructor(e={}){super();this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=MJ++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let t=e.name;if(!t){let n=this.getClassName();t=Xo(n)+"_"+_l(n)}if(this.name=t,this.trainable_=e.trainable==null?!0:e.trainable,e.inputShape!=null||e.batchInputShape!=null){let n;if(e.batchInputShape!=null)n=e.batchInputShape;else if(e.inputShape!=null){let s=null;e.batchSize!=null&&(s=e.batchSize),n=[s].concat(e.inputShape)}this.batchInputShape=n;let o=e.dtype;o==null&&(o=e.inputDType),o==null&&(o="float32"),this.dtype=o}e.weights!=null?this.initialWeights=e.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(e,t){return e.name+"_ib-"+t.toString()}getNodeAtIndex(e,t){if(this.inboundNodes.length===0)throw new Mr(`The layer has never been called and thus has no defined ${t}.`);if(this.inboundNodes.length<=e)throw new B(`Asked to get ${t} at node ${e}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[e]}getInputAt(e){return gr(this.getNodeAtIndex(e,"input").inputTensors)}getOutputAt(e){return gr(this.getNodeAtIndex(e,"output").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new Cn(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(this.inboundNodes.length===0)throw new Cn(`Layer ${this.name} is not connected, no input to return.`);return gr(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(this.inboundNodes.length===0)throw new Cn(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new Cn(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return gr(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(e=>e())}get updates(){return this._updates}get built(){return this._built}set built(e){this._built=e}get trainable(){return this.trainable_}set trainable(e){this._trainableWeights.forEach(t=>t.trainable=e),this.trainable_=e}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(e=>e.trainable):[]}set trainableWeights(e){this._trainableWeights=e}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(e=>!e.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(e){this._nonTrainableWeights=e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(e){if(e=wt(e),this.inputSpec==null||this.inputSpec.length===0)return;let t=wt(this.inputSpec);if(e.length!==t.length)throw new B(`Layer ${this.name} expects ${t.length} inputs, but it received ${e.length} input tensors. Input received: ${e}`);for(let n=0;ns.maxNDim)throw new B(`Input ${n} is incompatible with layer ${this.name}: expected max_ndim=${s.maxNDim}, found ndim=${a}`);if(s.minNDim!=null&&a=0?i[u]:i[i.length+u];if(c!=null&&[c,null].indexOf(p)===-1)throw new B(`Input ${n} is incompatible with layer ${this.name}: expected axis ${u} of input shape to have value ${c} but got shape ${i}.`)}}if(s.shape!=null)for(let i=0;i{if(!this.built){this.assertInputCompatibility(e);let a=[];for(let i of wt(e))a.push(i.shape);this.build(gr(a)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),this._refCount===null&&s&&(this._refCount=1)}if(this.assertInputCompatibility(e),s){let a=this.call(e,t),i=wt(a),l=[];for(let u of i)n.indexOf(u)!==-1&&(u=u.clone()),l.push(u);if(a=gr(l),this.activityRegularizer!=null)throw new Se("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return a}else{let a=LJ(e),i=this.computeOutputShape(a),l,u=zJ(e);if(this.warnOnIncompatibleInputShape(Array.isArray(e)?a[0]:a),i!=null&&i.length>0&&Array.isArray(i[0])?l=i.map((c,p)=>new Br(u,c,this,wt(e),t,this.name,p)):l=new Br(u,i,this,wt(e),t,this.name),this.addInboundNode(e,l,null,null,a,i,t),this._refCount++,this.activityRegularizer!=null)throw new Se("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return l}})}warnOnIncompatibleInputShape(e){if(this.batchInputShape!=null)if(e.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(e)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let t=!1;this.batchInputShape.forEach((n,o)=>{n!=null&&e[o]!=null&&e[o]!==n&&(t=!0)}),t&&console.warn(`The shape of the input tensor (${JSON.stringify(e)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(this.inboundNodes==null||this.inboundNodes.length===0)throw new Cn(`The layer ${this.name} has never been called and thus has no defined output shape.`);let e=[];for(let t of this.inboundNodes){let n=JSON.stringify(t.outputShapes);e.indexOf(n)===-1&&e.push(n)}if(e.length===1){let t=this.inboundNodes[0].outputShapes;return Array.isArray(t)&&Array.isArray(t[0])&&t.length===1?t[0]:t}else throw new Cn(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new Mr(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return Mp(this.weights)}build(e){this.built=!0}getWeights(e=!1){return td(e?this.trainableWeights:this.weights)}setWeights(e){V(()=>{let t=this.weights;if(t.length!==e.length)throw new B(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${e.length}, but the layer was expecting ${t.length} weights. Provided weights: ${e}...`);if(t.length===0)return;let n=[],o=td(t);for(let s=0;ss.apply(u.read())),a==null&&(a=!0),a?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(e){this.fastWeightInitDuringBuild=e}addLoss(e){e==null||Array.isArray(e)&&e.length===0||(e=wt(e),this._losses!==void 0&&this._losses!==null&&this.losses.push(...e))}computeOutputShape(e){return e}computeMask(e,t){if(!this.supportsMasking){if(t!=null)if(Array.isArray(t))t.forEach(n=>{if(n!=null)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)});else throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);return null}return t}addInboundNode(e,t,n,o,s,a,i=null){let l=wt(e);t=wt(t),n=wt(n),o=wt(o),s=Pp(s),a=Pp(a);let u=[],c=[],p=[];for(let m of l)u.push(m.sourceLayer),c.push(m.nodeIndex),p.push(m.tensorIndex);new kl({outboundLayer:this,inboundLayers:u,nodeIndices:c,tensorIndices:p,inputTensors:l,outputTensors:t,inputMasks:n,outputMasks:o,inputShapes:s,outputShapes:a},i);for(let m=0;me.dispose()),this.weights.length}assertNotDisposed(){if(this._refCount===0)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(this._refCount===null)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let e=0;return--this._refCount==0&&(e=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:e}}};function LJ(r){r=wt(r);let e=[];for(let t of r)e.push(t.shape);return gr(e)}function zJ(r){return"float32"}function R0(r,e,t){if((e==null||t!=null&&t>0)&&(e=r.sourceLayer,t=r.nodeIndex),e.inboundNodes.length===0)return[r];{let n=e.inboundNodes[t];if(n.inboundLayers.length===0)return n.inputTensors;{let o=[];for(let s=0;s0){let o=await Promise.all(e);for(let s=0;sQ(this.totals[o],M(s,n)));this.totals[o]=i,a!=null&&a.dispose()}}}async onEpochEnd(e,t){if(t!=null)for(let n of this.params.metrics)this.totals[n]!=null&&(typeof this.totals[n]=="number"?t[n]=this.totals[n]/this.seen:V(()=>{let o=M(de(1,this.seen),this.totals[n]);t[n]=o,this.totals[n].dispose(),Dt(t[n])}))}},Tx=class extends vl{async onTrainBegin(e){this.epoch=[],this.history={}}async onEpochEnd(e,t){t==null&&(t={}),this.epoch.push(e);for(let n in t)this.history[n]==null&&(this.history[n]=[]),this.history[n].push(t[n])}async syncData(){let e=[],t=[],n=[];for(let s in this.history){let a=this.history[s];for(let i=0;inew Ex(n,e))}var an=class{constructor(){}static registerCallbackConstructor(e,t){y.assert(e>=0&&Number.isInteger(e),()=>`Verbosity level is expected to be an integer >= 0, but got ${e}`),an.checkForDuplicate(t),an.constructors[e]==null&&(an.constructors[e]=[]),an.constructors[e].push(t)}static checkForDuplicate(e){for(let t in an.constructors)an.constructors[+t].forEach(o=>{if(o===e)throw new B("Duplicate callback constructor.")})}static clear(){an.constructors={}}static createCallbacks(e){let t=[];for(let n in an.constructors){let o=+n;e>=o&&t.push(...an.constructors[o])}return t.map(n=>new n)}};an.constructors={};function Dx(r,e,t,n,o,s,a,i,l){let u=new Tx,c=[new fL,...an.createCallbacks(e)];r!=null&&c.push(...r),c.push(u);let p=new Sx(c);return p.setParams({epochs:t,initialEpoch:n,samples:o,steps:s,batchSize:a,verbose:e,doValidation:i,metrics:l}),{callbackList:p,history:u}}function Yr(r,e={},t=!1){return Ui(r,J.SerializationMap.getMap().classNameMap,e,"layer",t)}function rd(r,e){return V(()=>{r.dtype!=="float32"&&(r=r.asType("float32"));let t=ye(ic(r),e,!0),n=Na(t.shape,Zt()),o=yt(Hr(t,n));return de(r,o)})}function Xi(r,e){return V(()=>gt(ic(ue(e,r)),-1))}function zp(r,e){return V(()=>gt(Et(ue(e,r)),-1))}function Cl(r,e){return V(()=>{let t=ue(r,e),n=sr(Et(r),Zt(),Number.MAX_VALUE),o=Et(de(t,n));return M(100,gt(o,-1))})}function VJ(r,e){return V(()=>{let t=sr(e,Zt(),Number.MAX_VALUE),n=ar(Q(1,t)),o=sr(r,Zt(),Number.MAX_VALUE),s=ar(Q(1,o));return gt(ic(ue(n,s)),-1)})}function GJ(r,e){return V(()=>{let t=Hr(0,ue(1,M(r,e)));return gt(ic(t),-1)})}function jJ(r,e){return V(()=>{let t=Hr(0,ue(1,M(r,e)));return gt(t,-1)})}function WJ(r,e){return V(()=>{let t=ye(M(r,e),-1),n=lr(M(ue(1,r),e),-1);return Hr(0,Q(1,ue(n,t)))})}function UJ(r,e){return V(()=>{let t=Math.log(2),n=ue(e,r),o=ue(Q(n,Ss(M(-2,n))),t);return gt(o,-1)})}function lc(r,e,t=!1){return V(()=>{if(t)e=$a(e);else{let n=ye(e,e.shape.length-1,!0);e=de(e,n)}return e=sr(e,Zt(),1-Zt()),Ue(ye(M(r.toFloat(),ar(e)),e.shape.length-1))})}function Bp(r,e,t=!1){return V(()=>{let n=Ns(rL(r)).toInt();e=sr(e,Zt(),1-Zt());let o=e.shape,s=ks(n,o[o.length-1]).reshape(o);return lc(s,e,t)})}function qJ(r,e){if(!y.arraysEqual(r.shape,e.shape))throw new B(`logits and labels must have the same shape, but got shapes ${JSON.stringify(r.shape)} and ${JSON.stringify(e.shape)}`);return V(()=>{let t=e.relu(),n=e.abs().neg();return t.sub(e.mul(r)).add(n.exp().log1p())})}function Vp(r,e){return V(()=>{let t;return t=sr(e,Zt(),1-Zt()),t=ar(de(t,ue(1,t))),gt(qJ(r,t),-1)})}function HJ(r,e){return V(()=>{let t=sr(r,Zt(),1),n=sr(e,Zt(),1);return ye(M(r,ar(de(t,n))),-1)})}function KJ(r,e){return V(()=>{let t=ar(Q(Zt(),e));return gt(ue(e,M(r,t)),-1)})}function nd(r,e){return V(()=>{let t=rd(r,-1),n=rd(e,-1),o=M(t,n);return Ue(ye(o,-1))})}var od={meanSquaredError:Xi,meanAbsoluteError:zp,meanAbsolutePercentageError:Cl,meanSquaredLogarithmicError:VJ,squaredHinge:GJ,hinge:jJ,categoricalHinge:WJ,logcosh:UJ,categoricalCrossentropy:lc,sparseCategoricalCrossentropy:Bp,binaryCrossentropy:Vp,kullbackLeiblerDivergence:HJ,poisson:KJ,cosineProximity:nd};function $x(r){if(typeof r=="string"){if(r in od)return od[r];let e=`Unknown loss ${r}`;throw r.toLowerCase().includes("softmaxcrossentropy")&&(e=`Unknown loss ${r}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new B(e)}else return r}function sd(r,e){return V(()=>{let t=M(.5,tr(e)),n=ja(er(e,t),r.dtype);return gt(wn(r,n),-1)})}function id(r,e){return V(()=>ja(wn(al(r,-1),al(e,-1)),"float32"))}function dL(r,e){return V(()=>dr(r.equal(1),e.equal(1)).sum().cast("float32"))}function XJ(r,e){return V(()=>dr(r.equal(1),e.equal(0)).sum().cast("float32"))}function YJ(r,e){return V(()=>dr(r.equal(0),e.equal(1)).sum().cast("float32"))}function F0(r,e){return V(()=>{let t=dL(r,e),n=YJ(r,e),o=t.add(n);return $t(er(o,0),t.div(o),0).cast("float32")})}function hL(r,e){return V(()=>{let t=dL(r,e),n=XJ(r,e),o=t.add(n);return $t(er(o,0),t.div(o),0).cast("float32")})}function Rx(r,e){return Vp(r,e)}function Fx(r,e){return r.rank===e.rank&&(r=r.squeeze([r.rank-1])),e=e.argMax(-1),e.dtype!==r.dtype&&(e=e.asType(r.dtype)),wn(r,e).asType("float32")}var ZJ=Xi,JJ=Xi,QJ=zp,eQ=zp,tQ=Cl,rQ=Cl,ad=lc,nQ=nd,O0=Bp,Ox={binaryAccuracy:sd,categoricalAccuracy:id,precision:F0,categoricalCrossentropy:ad,sparseCategoricalCrossentropy:O0,mse:ZJ,MSE:JJ,mae:QJ,MAE:eQ,mape:tQ,MAPE:rQ,cosine:nQ};function gL(r){if(typeof r=="string"&&r in Ox)return Ox[r];if(typeof r!="string"&&r!=null)return r;throw new B(`Unknown metric ${r}`)}function ld(r){if(Ln(r!==null,`Unknown LossOrMetricFn ${r}`),typeof r=="string")return r;{let e;for(let t of Object.keys(od))if(od[t]===r){e=t;break}if(e!==void 0)return e;for(let t of Object.keys(Ox))if(Ox[t]===r){e=t;break}return e!==void 0?e:r.name}}function xL(r){let e={Adagrad:()=>pl.adagrad(.01),Adadelta:()=>pl.adadelta(1,.95,Zt()),Adam:()=>pl.adam(.001,.9,.999,Zt()),Adamax:()=>pl.adamax(.002,.9,.999,Zt(),0),RMSProp:()=>pl.rmsprop(.001,.9,0,Zt()),SGD:()=>pl.sgd(.01)};if(e.adagrad=e.Adagrad,e.adadelta=e.Adadelta,e.adam=e.Adam,e.adamax=e.Adamax,e.rmsprop=e.RMSProp,e.sgd=e.SGD,r in e)return e[r]();throw new B(`Unknown Optimizer ${r}`)}var yL=1*1024*1024;function M0(r,e,t=!1){if(r==null||typeof r!="object"||Object.getPrototypeOf(r)!==Object.prototype||!P0(r))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(t){let n=JSON.stringify(r);n.length>yL&&console.warn(`User-defined metadata of model "${e}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= ${yL}.`)}}function P0(r){if(r===null)return!0;if(typeof r=="object")if(Object.getPrototypeOf(r)===Object.prototype){let e=Object.keys(r);for(let t of e)if(typeof t!="string"||!P0(r[t]))return!1;return!0}else if(Array.isArray(r)){for(let e of r)if(!P0(e))return!1;return!0}else return!1;else{let e=typeof r;return e==="string"||e==="number"||e==="boolean"}}function bL(r,e,t,n=console.log){let o=sQ(r),s=["Layer (type)","Output shape","Param #"];o?(e=e||65,t=t||[.45,.85,1]):(e=e||98,t=t||[.33,.55,.67,1]),t[t.length-1]<=1&&(t=t.map(c=>Math.floor(e*c)));let a;if(!o){s.push("Receives inputs"),a=[];for(let c in r.nodesByDepth)a.push(...r.nodesByDepth[c])}n("_".repeat(e)),Px(s,t,n),n("=".repeat(e));let i=r.layers;for(let c=0;c1||o.length===1&&o[0].inboundLayers.length>1){e=!1;break}n.push(...o)}if(e)for(let o of r.layers){let s=!1;for(let a of o.inboundNodes)if(n.indexOf(a)!==-1)if(s){e=!1;break}else s=!0;if(!e)break}return e}function Px(r,e,t=console.log){let n="";for(let o=0;o0&&(n=n.slice(0,n.length-1)+" "),n+=r[o],n=n.slice(0,e[o]),n+=" ".repeat(e[o]-n.length);t(n)}function iQ(r,e,t){let n;try{n=JSON.stringify(r.outputShape)}catch(i){n="multiple"}let o=r.name,s=r.getClassName(),a=[`${o} (${s})`,n,r.countParams().toString()];Px(a,e,t)}function aQ(r,e,t,n){let o;try{o=JSON.stringify(r.outputShape)}catch(c){o="multiple"}let s=[];for(let c of r.inboundNodes)if(!(t!=null&&t.length>0&&t.indexOf(c)===-1))for(let p=0;pd.name),l=[],u=e.names();for(let d of i)u.indexOf(d)!==-1?l.push(e.getValue(d)):l.push(null);n!=null&&(n.maxNumTensors=-Infinity,n.minNumTensors=Infinity);let c=i.join(",")+"|"+e.names().join(","),p,m;if(L0[c]==null){let d=uQ(a,e);p=d.sorted,m=d.recipientCounts,L0[c]=p,_L[c]=m}p=L0[c],m={},o||Object.assign(m,_L[c]);let f=new Ls(e);for(let d=0;dn.maxNumTensors&&(n.maxNumTensors=F),F0,()=>"Expected at least one fetch, got none");let t=[],n={};if(r.length===1){let o=kL(r[0],e);t=o.sorted,n=o.recipientMap}else{let o=new Set;for(let s of r){let{sorted:a,recipientMap:i}=kL(s,e);for(let l of a)o.has(l.name)||(t.push(l),o.add(l.name));for(let l in i)n[l]==null&&(n[l]=new Set),i[l].forEach(u=>n[l].add(u))}}return{sorted:t,recipientCounts:pQ(n)}}function pQ(r){let e={};for(let t in r)e[t]=r[t].size;return e}function kL(r,e){let t=new Set,n=[],o={};for(let i of e.names())t.add(i);let s=[],a=[];for(s.push(r);s.length>0;){let i=s[s.length-1];if(t.has(i.name)){s.pop();continue}let l=a[a.length-1]===s.length-1;if(i.inputs.length===0||l)s.pop(),n.push(i),t.add(i.name),l&&a.pop();else{a.push(s.length-1);for(let u of i.inputs)o[u.name]==null&&(o[u.name]=new Set),o[u.name].add(i.name),!t.has(u.name)&&s.push(u)}}return{sorted:n,recipientMap:o}}function cQ(r){let e;if(r.sourceLayer.inboundNodes.length===1)e=r.sourceLayer.output;else{let t=null;for(let n=0;nb.name)}`);Zo(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map(b=>b.name)}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(let b of this.outputs){let w=b.sourceLayer,_=b.nodeIndex,k=b.tensorIndex;this.outputLayers.push(w),this.outputLayersNodeIndices.push(_),this.outputLayersTensorIndices.push(k)}for(let b of this.inputs){let w=b.sourceLayer,_=b.nodeIndex,k=b.tensorIndex;Ln(_===0,"input layer has >1 nodes"),Ln(k===0,"input layer has >1 tensors"),this.inputLayers.push(w),this.inputLayersNodeIndices.push(_),this.inputLayersTensorIndices.push(k)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let b=0;bb.shape),this.internalOutputShapes=this.outputs.map(b=>b.shape);let t={},n={},o={},s={},a={},i=[],l=(b,w,_,k,E,S)=>{(k==null||E==null||S==null)&&(k=b.sourceLayer,E=b.nodeIndex,S=b.tensorIndex);let R=k.inboundNodes[E];if(_.indexOf(R)!==-1)throw new Mr(`The tensor ${b.name} at layer "${k.name}" is part of a cycle.`);if(w.indexOf(R)!==-1)return;this.containerNodes.add(zn.nodeKey(k,E)),k.id in a||(a[k.id]=Object.keys(a).length),_.indexOf(R)===-1&&_.push(R);let F=R.inboundLayers.length;for(let P=0;P=0;)_.splice(_.indexOf(R),1);i.push(R)},u=[],c=[];for(let b of this.outputs)l(b,u,c);let p=i.slice().reverse();for(let b of p){n[b.id]=b,b.id in t||(t[b.id]=0);let w=t[b.id],_=o[b.outboundLayer.id]==null?0:o[b.outboundLayer.id];w=Math.max(w,_),o[b.outboundLayer.id]=w,s[b.outboundLayer.id]=b.outboundLayer,t[b.id]=w;for(let k=0;kparseInt(b,10)).sort(Bf);this.layers=[];for(let b of d){let w=f[b];w.sort((_,k)=>{let E=a[_.id],S=a[k.id];return ES?1:0});for(let _ of w)_ instanceof zn&&this.internalContainerRefs.push(_),this.layers.push(_)}this.layersByDepth=f,d=Object.keys(m).map(b=>parseInt(b,10)).sort(Bf);let h=this.inputs.slice(),g=[];for(let b of d)for(let w of m[b]){let _=w.outboundLayer;if(_!=null){for(let k of w.inputTensors)if(h.indexOf(k)===-1)throw new Mr(`Graph disconnected: cannot obtain value for tensor ${k} at layer "${_.name}". The following previous layers were accessed without issue: ${g}`);for(let k of w.outputTensors)h.push(k);g.push(_.name)}}this.nodesByDepth=m;let x=this.layers.map(b=>b.name);for(let b of x){let w=x.filter(_=>_===b).length;if(w!==1)throw new Mr(`The name "${b}" is used ${w} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(x))}this.outboundNodes=[],this.inboundNodes=[],new kl({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map(b=>null),outputMasks:this.outputs.map(b=>null),inputShapes:this.inputs.map(b=>b.shape),outputShapes:this.outputs.map(b=>b.shape)}),this.built=!0,this._refCount=1}assertNotDisposed(){if(this._refCount===0)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();let e={refCountAfterDispose:null,numDisposedVariables:0};if(--this._refCount==0){for(let t of this.layers)e.numDisposedVariables+=t.dispose().numDisposedVariables;for(let t of this.internalContainerRefs)e.numDisposedVariables+=t.dispose().numDisposedVariables}return e.refCountAfterDispose=this._refCount,e}get trainable(){return this.trainable_}set trainable(e){this.layers.forEach(t=>{t._trainableWeights.forEach(n=>n.trainable=e)}),this.trainable_=e}get trainableWeights(){if(this._trainableWeights.length>0)throw new B("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let e=[];for(let t of this.layers)e=e.concat(t.trainableWeights);return e}get nonTrainableWeights(){let e=[];for(let t of this.layers)e.push(...t.nonTrainableWeights);if(!this.trainable){let t=[];for(let n of this.layers)t.push(...n.trainableWeights);return t.concat(e)}return e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(e,t=!0){let n={},o=0;for(let a of this.layers)for(let i of a.weights){if(n[i.originalName]!=null)throw new B(`Duplicate weight name: ${i.originalName}`);n[i.originalName]=i,o++}let s=[];for(let a in e){let i=a;if(n[a]==null){let l=a.split("/");i=l.slice(0,-2).concat([l[l.length-1]]).join("/")}if(n[i]!=null)s.push([n[i],e[a]]);else if(t)throw new B(`Provided weight data has no target variable: ${a}`);delete n[i]}if(t){let a=[];for(let i in n)a.push(i);if(a.length>0)throw new B(`${a.length} of ${o} weights are not set: ${a}`)}Lp(s)}updatedConfig(){let e=this.getConfig(),t={};return t.className=this.getClassName(),t.config=e,t.kerasVersion=`tfjs-layers ${Gp}`,t.backend="TensorFlow.js",t}toJSON(e,t=!0){let n=Mx(this.updatedConfig());return t?JSON.stringify(n):n}call(e,t){return V(()=>{e=wt(e);let n=new Ls;for(let o=0;o{e=wt(e);let n;return t==null?n=Ko(null,e.length):n=wt(t),this.runInternalGraph(e,n)[1]})}computeOutputShape(e){let t=Pp(e);if(t.length!==this.inputLayers.length)throw new B(`Invalid inputShape argument ${e}: model has ${this.inputLayers.length} tensor inputs.`);let n={};for(let i=0;iparseInt(i,10)).sort(Bf);if(o.length>1)for(let i of o){let l=this.nodesByDepth[i];for(let u of l){let c=u.outboundLayer;if(this.inputLayers.map(h=>h.id).indexOf(c.id)!==-1)continue;let p=[];for(let h=0;hparseInt(l,10)).sort(Bf);for(let l of o){let u=this.nodesByDepth[l];for(let c of u){let p=c.outboundLayer,m=c.inputTensors,f=c.outputTensors,d=new Array;for(let h of m)h.id in n&&d.push(n[h.id]);if(d.length===m.length){let h={},g,x,b,w;if(c.callArgs!=null&&(h=c.callArgs),d.length===1){let[_,k]=d[0];h.mask==null&&(h.mask=k),b=wt(p.call(_,h)),w=wt(p.computeMask(_,k)),g=[_],x=[k]}else g=d.map(_=>_[0]),x=d.map(_=>_[1]),h.mask==null&&(h.mask=x),b=wt(p.call(g,h)),w=wt(p.computeMask(g,x));if(p.activityRegularizer)throw new Se("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let _=0;_{let e=[];for(let t of this.layers)for(let n=0;n0){let h=[];for(let g=0;g0&&g.apply(gr(b),w)}function u(g){let x=g.name,b=Yr(g,t.customObjects!=null?t.customObjects:{});b.setFastWeightInitDuringBuild(o),s[x]=b,g.inboundNodes.forEach(_=>{if(!(_ instanceof Array))throw new B(`Corrupted configuration, expected array for nodeData: ${_}`);i(b,_)})}let c=t.name,p=t.layers;for(let g of p)u(g);for(;!BM(a);)for(let g of p){let x=s[g.name];if(x.name in a){let b=a[x.name];delete a[x.name];for(let w of b)l(x,w)}}let m=[],f=[],d=t.inputLayers;for(let g of d){let x=g[0],b=g[1],w=g[2];Ln(x in s);let k=s[x].inboundNodes[b].outputTensors;m.push(k[w])}let h=t.outputLayers;for(let g of h){let x=g[0],b=g[1],w=g[2];Ln(x in s);let k=s[x].inboundNodes[b].outputTensors;f.push(k[w])}return new e({inputs:m,outputs:f,name:c})}get stateful(){if(this._stateful)throw new B("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(let e of this.layers)if(e.stateful)return!0;return!1}resetStates(){V(()=>{this.layers.forEach(e=>{e.stateful&&e.resetStates()})})}};function mQ(r,e,t){let n=e.length;if(r==null||Array.isArray(r)&&r.length===0)return e.map(o=>null);if(n===1)return Array.isArray(r)&&r.length===1?r:typeof r=="object"&&e[0]in r?[r[e[0]]]:[r];if(Array.isArray(r)){if(r.length!==n)throw new Error(`Provided ${t} is an array of ${r.length} element(s), but the model has ${n} outputs. Make sure a set of weights is provided for each model output.`);return r}else if(typeof r=="object"&&Object.keys(r).length>0&&typeof r[Object.keys(r)[0]]=="object"){let o=[];return e.forEach(s=>{s in r?o.push(r[s]):o.push(null)}),o}else throw new Error(`The model has multiple (${n}) outputs, so ${t} must be either an array with ${n} elements or an object with ${e} keys. Provided ${t} not understood: ${JSON.stringify(r)}`)}function Lx(r,e){return mQ(r,e,"classWeight")}async function zx(r,e,t,n){if(e!=null||n!=null)throw new Error("Support sampleWeight is not implemented yet");if(t!=null){let o=V(()=>{if(r.shape.length===1)return r.clone();if(r.shape.length===2)if(r.shape[1]>1){let i=1;return r.argMax(i)}else{if(r.shape[1]===1)return r.reshape([r.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${r.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}else throw new Error(`Unexpected rank of target (y) tensor (${r.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)}),s=Array.from(await o.data());Ee(o);let a=[];return s.forEach(i=>{if(t[i]==null)throw new Error(`classWeight must contain all classes in the training data. The class ${i} exists in the data but not in classWeight`);a.push(t[i])}),Gt(a,"float32")}else return null}function vL(r,e){return M(r,e)}var fQ=32;function IL(r,e){let t,n,o=e;t=o.xs,n=o.ys,y.assert(t!=null&&n!=null,()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${e}`);let s=CL("input",r.inputNames,t),a=CL("output",r.outputNames,n),i=s[0].shape[0];y.assert(s.length===r.inputs.length,()=>`LayersModel has ${r.inputs.length} inputs, but the dataset provides ${s.length} inputs. (Expected input keys: ${JSON.stringify(r.inputNames)})`),y.assert(a.length===r.outputs.length,()=>`LayersModel has ${r.outputs.length} outputs, but the dataset provides ${a.length} outputs. (Expected output keys: ${JSON.stringify(r.outputNames)})`);for(let l=0;l`Batch size mismatch: input ${r.inputNames[l]} has ${s[l].shape[0]}; expected ${i} based on input ${r.inputNames[0]}.`);for(let l=0;l`Batch size mismatch: output ${r.outputNames[l]} has ${a[l].shape[0]}; expected ${i} based on input ${r.inputNames[0]}.`);return{xs:s,ys:a}}function CL(r,e,t){if(t instanceof Ve)return[t];if(Array.isArray(t))return y.assert(t.length===e.length,()=>`Received an array of ${t.length} Tensors, but expected ${e.length} to match the ${r} keys ${e}.`),t;{let n=[];for(let o of e){if(t[o]==null)throw new B(`The feature data generated by the dataset lacks the required ${r} key '${o}'.`);n.push(t[o])}return n}}function dQ(r){if(r.length===3)throw new Se("Validation with sample weights is not implemented yet.");return{xs:r[0],ys:r[1]}}async function SL(r,e,t){let n=t.batchesPerEpoch!=null;if(y.assert(r.optimizer!=null,()=>"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig)."),y.assert(t!=null,()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call."),y.assert(t.epochs!=null&&t.epochs>0&&Number.isInteger(t.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${t.epochs}`),y.assert(!n||t.batchesPerEpoch>0&&Number.isInteger(t.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${t.batchesPerEpoch}`),y.assert(t.validationSplit==null,()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead."),r.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");r.isTraining=!0;try{let o=t.validationData!=null,s,a;if(o)if(NL(t.validationData))y.assert(t.validationBatches==null||t.validationBatches>0&&Number.isInteger(t.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${t.validationBatches}`);else{let g=dQ(t.validationData);s=g.xs,a=g.ys}let i=r.makeTrainFunction(),l=r.getDedupedMetricsNames(),u;o?u=l.slice().concat(l.map(g=>"val_"+g)):u=l.slice();let c=Ax(t.callbacks,t.yieldEvery),p=t.verbose==null?1:t.verbose,{callbackList:m,history:f}=Dx(c,p,t.epochs,null,null,hQ(e,t),null,o,u);m.setModel(r),r.history=f,await m.onTrainBegin(),r.stopTraining_=!1;let d=t.initialEpoch==null?0:t.initialEpoch,h=await e.iterator();for(;d=t.batchesPerEpoch:w.done){if(o){let _;NL(t.validationData)?_=wt(await r.evaluateDataset(t.validationData,{batches:t.validationBatches})):_=wt(r.evaluate(s,a,{batchSize:t.validationBatchSize==null?fQ:t.validationBatchSize,verbose:0}));for(let k=0;k0)throw new Se("Verbose mode is not implemented yet.");y.assert(!n||t.batches>0&&Number.isInteger(t.batches),()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(t.batches)}`);let a=gQ(e)?e:await e.iterator(),i=0,l=0;for(;n?l{if(u.value){let{xs:c,ys:p}=IL(r,u.value),m=c.concat(p),f=V(()=>o(m));if(Ee(m),l===0)for(let h=0;hQ(s[h],M(d,g))),l>0&&Ee(x)}Ee(f),i+=d,++l}return s}),u.done){n&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${t.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let u=0;u0&&Number.isInteger(r),()=>`batchSize is required to be a positive integer, but got ${r}`)}function jp(r,e,t){return r==null?[null]:Array.isArray(r)?r.map(n=>Ua(n,e,t-e)):Ua(r,e,t-e)}function Vx(r,e){return V(()=>r==null?null:Array.isArray(r)?r.map(t=>Vx(t,e)):wx(r,e.dtype==="int32"?e:e.toInt()))}function Gx(r,e){let t=[],n=0,o=null;for(;n=r&&(o=r),t.push([n,o]),n=o;return t}async function xQ(r,e,t,n,o,s,a,i,l,u,c,p,m,f,d){o==null&&(o=32),s==null&&(s=1),c==null&&(c=!0),m==null&&(m=0);let h=!1;if(l!=null&&u!=null&&(h=!0),d!=null&&(h=!0,f==null))throw new B("Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.");let g=r.checkNumSamples(t,o,f,"steps_per_epoch"),x;g!=null&&(x=Lr(0,g)),a==null&&(a=1);let{callbackList:b,history:w}=Dx(i,a,s,m,g,f,o,h,p);b.setModel(r),r.history=w,await b.onTrainBegin(),r.stopTraining_=!1;for(let _=m;_{let P=S[R][0],j=S[R][1],G=Ua(E,P,j-P);F.batch=R,F.size=j-P;let U=Vx(t,G),X=e(U);for(let K=0;K0){if(d=!0,n.validationData.length===2)a=n.validationData[0],i=n.validationData[1];else throw n.validationData.length===3?new Se("validationData including sample weights is not supported yet."):new B(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);let S=!0,R=await r.standardizeUserData(a,i,null,null,S,p);l=R[0],u=R[1],h=l.concat(u)}else if(n.validationSplit!=null&&n.validationSplit>0&&n.validationSplit<1){d=!0;let S=Math.floor(o[0].shape[0]*(1-n.validationSplit)),R=o[0].shape[0];l=jp(o,S,R),o=jp(o,0,S),u=jp(s,S,R),s=jp(s,0,S),h=l.concat(u)}else n.validationSteps!=null&&(d=!0);let g=o.concat(s).concat(c);r.checkTrainableWeightsConsistency();let x=r.makeTrainFunction(),b=r.getDedupedMetricsNames(),w,_;d?(r.makeTestFunction(),w=r.testFunction,_=b.slice().concat(b.map(S=>"val_"+S))):(w=null,h=[],_=b.slice());let k=Ax(n.callbacks,n.yieldEvery);return await xQ(r,x,g,b,p,n.epochs,n.verbose,k,w,h,n.shuffle,_,n.initialEpoch,null,null)}finally{r.isTraining=!1,Il(o,e),Il(s,t),Il(l,a),Il(u,i),c!=null&&Ee(c)}}function z0(r){let e=[];r instanceof Ve&&(r=[r]);for(let t=0;tt.push(o.id));else if(e!=null)for(let o in e){let s=e[o];t.push(s.id)}let n=[];if(r instanceof Ve)t.indexOf(r.id)===-1&&n.push(r);else if(Array.isArray(r))r.forEach(o=>{t.indexOf(o.id)===-1&&n.push(o)});else if(r!=null)for(let o in r){let s=r[o];t.indexOf(s.id)===-1&&n.push(s)}n.forEach(o=>{o.isDisposed||o.dispose()})}function yQ(r){return r instanceof Ve}function B0(r){return Array.isArray(r)}function AL(r){return!yQ(r)&&!B0(r)}function DL(r,e,t,n=!0,o=""){if(e==null||e.length===0){if(r!=null){let a=!1;if(B0(r)&&r.length>0)a=!0;else if(AL(r)){for(let i in r)if(r.hasOwnProperty(i)){a=!0;break}}else a=!0;if(a)throw new B(`Error when checking model ${o} expected no data, but got ${r}`)}return[]}if(r==null)return e.map(a=>null);let s;if(AL(r)){r=r,s=[];for(let a of e){if(r[a]==null)throw new B(`No data provided for "${a}". Need data for each key in: ${e}`);s.push(r[a])}}else if(B0(r)){if(r=r,r.length!==e.length)throw new B(`Error when checking model ${o}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${e.length} Tensor(s), but instead got the following list of Tensor(s): ${r}`);s=r}else{if(r=r,e.length>1)throw new B(`The model ${o} expects ${e.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${r.shape}`);s=[r]}if(s=z0(s),t!=null)for(let a=0;a=0&&u!==c)throw new B(`Error when checking ${o}: expected ${e[a]} to have shape [${t[a]}], but got array with shape [${i.shape}].`)}}return s}function bQ(r,e,t){let n=Zo(r.map(s=>s.shape[0]));n.sort();let o=Zo(e.map(s=>s.shape[0]));if(o.sort(),n.length>1)throw new B(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(r.map(s=>s.shape))}`);if(o.length>1)throw new B(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map(s=>s.shape))}`);if(n.length>0&&o.length>0&&!y.arraysEqual(n,o))throw new B(`Input Tensors should have the same number of samples as target Tensors. Found ${n[0]} input sample(s) and ${o[0]} target sample(s).`)}function wQ(r,e,t){let n=[Xi,Vp,lc];for(let o=0;o1)throw new B(`The model expects ${e.length} ${o} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(r.shape)}.`);s=[r]}if(t!=null)for(let a=0;a[]);let t;if(typeof r=="string"||typeof r=="function")t=[r];else if(Array.isArray(r)||typeof r=="object")t=r;else throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${r}`);if(Array.isArray(t))return e.map(n=>t);{let n=[];for(let o of e){let s=t.hasOwnProperty(o)?t[o]:[];Array.isArray(s)||(s=[s]),n.push(s)}return n}}var kQ="layers-model",In=class extends zn{constructor(e){super(e);this.isTraining=!1}summary(e,t,n=console.log){if(!this.built)throw new B("This model has never been called, thus its weights have not been created yet. So no summary can be displayed. Build the model first (e.g., by calling it on some test data).");bL(this,e,t,n)}compile(e){if(e.loss==null&&(e.loss=[]),this.loss=e.loss,typeof e.optimizer=="string")this.optimizer_=xL(e.optimizer),this.isOptimizerOwned=!0;else{if(!(e.optimizer instanceof Or))throw new B("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=e.optimizer,this.isOptimizerOwned=!1}let t=[];if(!Array.isArray(e.loss)&&typeof e.loss!="string"&&typeof e.loss!="function"){e.loss=e.loss;for(let a in e.loss)if(this.outputNames.indexOf(a)===-1)throw new B(`Unknown entry in loss dictionary: "${a}". Only expected the following keys: ${this.outputNames}`);for(let a of this.outputNames)e.loss[a]==null&&console.warn(`Output "${a}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${a} during training`),t.push($x(e.loss[a]))}else if(Array.isArray(e.loss)){if(e.loss.length!==this.outputs.length)throw new B(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${e.loss}.`);t=e.loss.map(i=>$x(i))}else{let a=$x(e.loss);this.outputs.forEach(i=>{t.push(a)})}this.lossFunctions=t,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let a=0;a{for(let a=0;a1&&(this.metricsTensors.push([i,a]),this.metricsNames.push(this.outputNames[a]+"_loss"))}});let o=_Q(e.metrics,this.outputNames),s=(a,i,l)=>{this.outputNames.length>1&&(i=this.outputNames[a]+"_"+i),this.metricsNames.push(i),this.metricsTensors.push([l,a])};Ps("metric",()=>{for(let a=0;a{let c="",p,m,f;for(let d of u){if(typeof d=="string"&&["accuracy","acc","crossentropy","ce"].indexOf(d)!==-1){let g=this.internalOutputShapes[a];g[g.length-1]===1||this.lossFunctions[a]===Vp?["accuracy","acc"].indexOf(d)!==-1?m=sd:["crossentropy","ce"].indexOf(d)!==-1&&(m=Rx):this.lossFunctions[a]===Bp?["accuracy","acc"].indexOf(d)!==-1?m=Fx:["crossentropy","ce"].indexOf(d)!==-1&&(m=O0):["accuracy","acc"].indexOf(d)!==-1?m=id:["crossentropy","ce"].indexOf(d)!==-1&&(m=ad);let x;["accuracy","acc"].indexOf(d)!==-1?x="acc":["crossentropy","ce"].indexOf(d)!==-1&&(x="ce"),f=m,p=c+x}else f=gL(d),p=c+ld(d);let h;Ps(p,()=>{h=f}),s(a,p,h)}})(i)}}),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){this.collectedTrainableWeights!=null&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(e,t,n={}){let o=n.batchSize==null?32:n.batchSize;Bx(o);let s=!0,a=this.standardizeUserDataXY(e,t,s,o);try{let i=a[0].concat(a[1]);this.makeTestFunction();let l=this.testFunction,u=this.testLoop(l,i,o,n.verbose,n.steps);return gr(u)}finally{Il(a[0],e),Il(a[1],t)}}async evaluateDataset(e,t){return this.makeTestFunction(),TL(this,e,t)}checkNumSamples(e,t,n,o="steps"){let s;if(n!=null){if(s=null,t!=null)throw new B(`If ${o} is set, batchSize must be null or undefined.Got batchSize = ${t}`)}else if(e!=null)Array.isArray(e)?s=e[0].shape[0]:s=e.shape[0];else throw new B(`Either the input data should have a defined shape, or ${o} shoud be specified.`);return s}execute(e,t){if(Array.isArray(t)&&t.length===0)throw new B("`outputs` is an empty Array, which is not allowed.");let n=Array.isArray(t),o=n?t:[t],s=this.retrieveSymbolicTensors(o),a=new Ls;if(e instanceof Ve&&(e=[e]),Array.isArray(e)){if(e.length!==this.inputs.length)throw new B(`The number of inputs provided (${e.length}) does not match the number of inputs of this model (${this.inputs.length}).`);for(let l=0;li.name);for(let i=0;i0){let o=[];throw t.forEach((s,a)=>{s==null&&o.push(e[a])}),new B(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(o)}`)}return t}predictLoop(e,t=32,n=!1){return V(()=>{let o=this.checkNumSamples(e);if(n)throw new Se("Verbose predictLoop() is not implemented yet.");let s=Gx(o,t),a=this.outputs.map(i=>[]);for(let i=0;i{let u=s[i][0],c=s[i][1],p=jp(e,u,c),m=[];if(Array.isArray(p))for(let d=0;da[c].push(u));return gr(a.map(i=>Qe(i,0)))})}predict(e,t={}){let n=z0(e);$L(n,this.inputNames,this.feedInputShapes,!1);try{let o=t.batchSize==null?32:t.batchSize;return Bx(o),this.predictLoop(n,o)}finally{Il(n,e)}}predictOnBatch(e){$L(e,this.inputNames,this.feedInputShapes,!0);let t=(Array.isArray(e)?e[0]:e).shape[0];return this.predictLoop(e,t)}standardizeUserDataXY(e,t,n=!0,o){if(this.optimizer_==null)throw new Mr("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");let s=[];for(let a=0;a0&&e[0].shape[0]%o!=0)throw new B(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${o}. Found: ${e[0].shape[0]} sample(s).`);return[e,t]}async standardizeUserData(e,t,n,o,s=!0,a){let[i,l]=this.standardizeUserDataXY(e,t,s,a);if(n!=null)throw new Error("sample weight is not supported yet.");let u=null;if(o!=null){let c=Lx(o,this.outputNames);u=[];for(let p=0;p{let a=this.checkNumSamples(t,n,s,"steps"),i=[];if(o>0)throw new Se("Verbose mode is not implemented yet.");if(s!=null)throw new Se("steps mode in testLoop() is not implemented yet");{let l=Gx(a,n),u=Gt(Lr(0,a));for(let c=0;c1&&(s+=`_${C0(e.slice(0,n),o)}`),t.push(s)}return t}makeTrainFunction(){return e=>{let t=[],n=e.slice(0,this.inputs.length),o=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=e.slice(this.inputs.length+this.outputs.length,this.inputs.length+this.outputs.length*2),a=[],i=()=>{let p=[];for(let h=0;h1&&h{d=Q(d,h)}),d},l=this.collectedTrainableWeights.map(p=>p.read()),u=!0;return[this.optimizer_.minimize(i,u,l)].concat(a)}}makeTestFunction(){this.testFunction=e=>V(()=>{let t=[],n,o=e.slice(0,this.inputs.length),s=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),a=[];for(let u=0;uXo(t))}else{let t=Object.keys(this.loss);e={};let n=this.loss;for(let o of t)if(typeof n[o]=="string")e[o]=Xo(n[o]);else throw new Error("Serialization of non-string loss is not supported.")}return e}getMetricIdentifiers(){if(typeof this.metrics=="string"||typeof this.metrics=="function")return[Xo(ld(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(e=>Xo(ld(e)));{let e={};for(let t in this.metrics)e[t]=Xo(ld(this.metrics[t]));return e}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(e){if(e.weighted_metrics!=null)throw new Error("Loading weight_metrics is not supported yet.");if(e.loss_weights!=null)throw new Error("Loading loss_weights is not supported yet.");if(e.sample_weight_mode!=null)throw new Error("Loading sample_weight_mode is not supported yet.");let t=uc(e.optimizer_config),n=Yr(t),o;if(typeof e.loss=="string")o=Ga(e.loss);else if(Array.isArray(e.loss))o=e.loss.map(a=>Ga(a));else if(e.loss!=null){o={};for(let a in e.loss)o[a]=Ga(e.loss[a])}let s;if(Array.isArray(e.metrics))s=e.metrics.map(a=>Ga(a));else if(e.metrics!=null){s={};for(let a in e.metrics)s[a]=Ga(e.metrics[a])}this.compile({loss:o,metrics:s,optimizer:n})}async save(e,t){if(typeof e=="string"){let u=Cr.getSaveHandlers(e);if(u.length===0)throw new B(`Cannot find any save handlers for URL '${e}'`);if(u.length>1)throw new B(`Found more than one (${u.length}) save handlers for URL '${e}'`);e=u[0]}if(e.save==null)throw new B("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");let n=await Cr.encodeWeights(this.getNamedWeights(t)),o=!1,s=null,i={modelTopology:this.toJSON(s,o),format:kQ,generatedBy:`TensorFlow.js tfjs-layers v${Gp}`,convertedBy:null};if((t==null?!1:t.includeOptimizer)&&this.optimizer!=null){i.trainingConfig=this.getTrainingConfig();let u="optimizer",{data:c,specs:p}=await Cr.encodeWeights(await this.optimizer.getWeights(),u);n.specs.push(...p),n.data=Cr.concatenateArrayBuffers([n.data,c])}if(this.userDefinedMetadata!=null){let u=!0;M0(this.userDefinedMetadata,this.name,u),i.userDefinedMetadata=this.userDefinedMetadata}return i.weightData=n.data,i.weightSpecs=n.specs,e.save(i)}setUserDefinedMetadata(e){M0(e,this.name),this.userDefinedMetadata=e}getUserDefinedMetadata(){return this.userDefinedMetadata}};In.className="Model";J.registerClass(In);var V0=class extends In{};V0.className="Functional";J.registerClass(V0);async function RL(r,e){"modelTopology"in r||(r={modelTopology:r}),r=r;let t=r.modelTopology;t.model_config!=null&&(t=t.model_config);let n=uc(t),o=Yr(n,e);if(r.weightsManifest!=null){let s=await Cr.loadWeights(r.weightsManifest,r.pathPrefix,o.weights.map(i=>i.originalName)),a={};for(let i of o.weights)a[i.originalName]=s[i.originalName];o.loadWeights(a),Ee(s)}return o}async function FL(r,e){if(e==null&&(e={}),typeof r=="string"){let t=Cr.getLoadHandlers(r,e);if(t.length===0)t.push(Cr.browserHTTPRequest(r,e));else if(t.length>1)throw new B(`Found more than one (${t.length}) load handlers for URL '${r}'`);r=t[0]}return vQ(r,void 0,e)}async function vQ(r,e,t){if(t==null&&(t={}),r.load==null)throw new B("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");let n=await r.load(),o=n.modelTopology;o.model_config!=null&&(o=o.model_config);let s=t.strict==null?!0:t.strict,a=n.weightData!=null&&n.weightSpecs!=null&&s,i=Yr(uc(o),e,a),l=n.trainingConfig;if(l!=null&&i.loadTrainingConfig(l),n.userDefinedMetadata!=null&&i.setUserDefinedMetadata(n.userDefinedMetadata),n.weightData!=null){if(n.weightSpecs==null)throw new B("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");let{modelWeights:u,optimizerWeights:c}=CQ(n.weightData,n.weightSpecs);i.loadWeights(u,s),i.optimizer!=null&&c.length>0&&await i.optimizer.setWeights(c),Ee(u),Ee(c.map(p=>p.tensor))}return i}function CQ(r,e){let t=Cr.decodeWeights(r,e),n={},o=[];return e.forEach(s=>{s.group==="optimizer"?o.push({name:s.name,tensor:t[s.name]}):n[s.name]=t[s.name]}),{modelWeights:n,optimizerWeights:o}}var Yi=class extends In{constructor(e){super({inputs:[],outputs:[]});if(e=e||{},this.trainable=!0,this.built=!1,this.name=e.name!=null?e.name:_l("sequential_"),e.layers!=null)for(let t of e.layers)this.add(t)}checkShape(e){if(e.inboundNodes[0].outputTensors[0].shape.some(n=>n<0))throw new B(`Negative dimension size caused by adding layer ${e.name} with input shape [${e.inboundNodes[0].inputTensors[0].shape}]`)}add(e){let t=e instanceof Yi||e instanceof In,n;if(t){if(n=e,n.outputs.length!==1)throw new B("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(n.inputs.length!==1)throw new B("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(this.outputs.length===0){if(e.inboundNodes.length===0){if(e.batchInputShape==null)throw new B("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");let o=Ix({batchShape:e.batchInputShape,dtype:e.dtype,name:e.name+"_input"});e.apply(o)}if(t)this.outputs=n.outputs,this.inputs=n.inputs;else{if(e.inboundNodes.length!==1)throw new B(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${e.name} which has ${e.inboundNodes.length} pre-existing inbound connections.`);if(e.inboundNodes[0].outputTensors.length!==1)throw new B("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[e.inboundNodes[0].outputTensors[0]],this.inputs=R0(this.outputs[0])}this.inboundNodes=[],new kl({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:Ko(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(o=>o.shape),outputShapes:this.outputs[0].shape})}else{let o=e.apply(this.outputs[0]);if(Array.isArray(o))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[o],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(e),this.built=!1}pop(){if(this.layers.length===0)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),this.layers.length===0)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{let e=this.layers.length-1;this.layers[e].outboundNodes=[],this.outputs=[this.layers[e].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(e,t){return this.model==null&&this.build(),this.model.call(e,t)}build(e){if(et(e),this.inputs.length===0||this.outputs.length===0)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new In({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(e,t,n=console.log){this.built||this.build(),super.summary(e,t,n)}setWeights(e){this.model==null&&this.build(),this.model.setWeights(e)}evaluate(e,t,n={}){if(!this.built)throw new Mr("The model needs to be compiled before being used.");return this.model.evaluate(e,t,n)}async evaluateDataset(e,t){if(!this.built)throw new Mr("The model needs to be compiled before being used.");return this.model.evaluateDataset(e,t)}predict(e,t={}){return this.model==null&&this.build(),this.model.predict(e,t)}predictOnBatch(e){return this.model==null&&this.build(),this.model.predictOnBatch(e)}compile(e){this.build(),this.model.compile(e),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return this.model==null?void 0:this.model.optimizer}set optimizer(e){this.model.optimizer=e}async fit(e,t,n={}){if(!this.built)throw new Mr("The model needs to be compiled before being used.");return this.model.fit(e,t,n)}async fitDataset(e,t){if(!this.built)throw new Mr("The model needs to be compiled before being used.");return this.model.fitDataset(e,t)}async trainOnBatch(e,t){return this.model.trainOnBatch(e,t)}static fromConfig(e,t,n={},o=!1){let s,a={};if(t instanceof Array){if(t[0].className==null||t[0].className==="Merge")throw new B("Legacy serialization format not supported yet.");s=t}else y.assert(t.layers!=null,()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field."),s=t.layers,delete t.layers,a=t;let i=new e(a);if(!(i instanceof Yi))throw new Se(`Sequential.fromConfig called on non-Sequential input: ${i}`);for(let l of s){let c=Yr(l,void 0,o);o&&c.setFastWeightInitDuringBuild(!0),i.add(c)}return i}set stopTraining(e){if(this.model==null)throw new B("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=e}get stopTraining(){if(this.model==null)throw new B("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){let e=[];for(let t of this.layers){let n={};n.className=t.getClassName(),n.config=t.getConfig(),e.push(n)}return{name:this.name,layers:e}}};Yi.className="Sequential";J.registerClass(Yi);function OL(r){return new In(r)}function PL(r){return new Yi(r)}function ML(r,e){return e==null&&(e={}),FL(r,e)}function jx(r){return Ix(r)}function LL(r,e){an.registerCallbackConstructor(r,e)}var ln=class extends J.Serializable{getConfig(){return{}}},G0=class extends ln{apply(e,t=1){return oL(e,t)}};G0.className="elu";J.registerClass(G0);var j0=class extends ln{apply(e){return Pu(e)}};j0.className="selu";J.registerClass(j0);var W0=class extends ln{apply(e){return Nr(e)}};W0.className="relu";J.registerClass(W0);var U0=class extends ln{apply(e){return V(()=>Ts(6,Nr(e)))}};U0.className="relu6";J.registerClass(U0);var q0=class extends ln{apply(e){return e}};q0.className="linear";J.registerClass(q0);var H0=class extends ln{apply(e){return Wr(e)}};H0.className="sigmoid";J.registerClass(H0);var K0=class extends ln{apply(e){return iL(e)}};K0.className="hardSigmoid";J.registerClass(K0);var X0=class extends ln{apply(e){return Ss(e)}};X0.className="softplus";J.registerClass(X0);var Y0=class extends ln{apply(e){return sL(e)}};Y0.className="softsign";J.registerClass(Y0);var Z0=class extends ln{apply(e){return Li(e)}};Z0.className="tanh";J.registerClass(Z0);var ud=class extends ln{apply(e,t=-1){return $a(e,t)}};ud.className="softmax";J.registerClass(ud);var J0=class extends ln{apply(e,t=-1){return Au(e,t)}};J0.className="logSoftmax";J.registerClass(J0);var Q0=class extends ln{apply(e,t=1){return V(()=>Wr(e.mul(t)).mul(e))}};Q0.className="swish";J.registerClass(Q0);function zs(r){return r.getClassName()}function eC(r,e={}){return Ui(r,J.SerializationMap.getMap().classNameMap,e,"activation")}function Bs(r){if(r==null){let e={};return e.className="linear",e.config={},eC(e)}if(typeof r=="string"){let e={};return e.className=r,e.config={},eC(e)}else return r instanceof ln?r:eC(r)}function tC(r){if(r!=null&&typeof r!="object")throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${r}`)}var rC=class extends J.Serializable{},pc=class extends rC{constructor(e){super();tC(e),this.l1=e==null||e.l1==null?.01:e.l1,this.l2=e==null||e.l2==null?.01:e.l2,this.hasL1=this.l1!==0,this.hasL2=this.l2!==0}apply(e){return V(()=>{let t=xt([1]);return this.hasL1&&(t=Q(t,ye(M(this.l1,Et(e))))),this.hasL2&&(t=Q(t,ye(M(this.l2,ic(e))))),t.asScalar()})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(e,t){return new e({l1:t.l1,l2:t.l2})}};pc.className="L1L2";J.registerClass(pc);function zL(r){return tC(r),new pc({l1:r!=null?r.l1:null,l2:0})}function BL(r){return tC(r),new pc({l2:r!=null?r.l2:null,l1:0})}var VL={l1l2:"L1L2"};function lt(r){return Ip(r)}function GL(r,e={}){return Ui(r,J.SerializationMap.getMap().classNameMap,e,"regularizer")}function _t(r){if(r==null)return null;if(typeof r=="string"){let t={className:r in VL?VL[r]:r,config:{}};return GL(t)}else return r instanceof rC?r:GL(r)}var cd=class extends Me{constructor(e){super(e==null?{}:e);this.supportsMasking=!0,e!=null&&(this.maxValue=e.maxValue)}call(e,t){e=Oe(e);let n=Nr(e);return this.maxValue!=null&&(n=sr(n,0,this.maxValue)),n}computeOutputShape(e){return e}getConfig(){let e={maxValue:this.maxValue},t=super.getConfig();return Object.assign(e,t),e}};cd.className="ReLU";J.registerClass(cd);var pd=class extends Me{constructor(e){super(e==null?{}:e);this.DEFAULT_ALPHA=.3,e==null&&(e={}),this.alpha=e.alpha==null?this.DEFAULT_ALPHA:e.alpha}call(e,t){let n=Oe(e);return Sa(n,this.alpha)}computeOutputShape(e){return e}getConfig(){let e={alpha:this.alpha},t=super.getConfig();return Object.assign(e,t),e}};pd.className="LeakyReLU";J.registerClass(pd);var md=class extends Me{constructor(e){super(e==null?{}:e);if(this.DEFAULT_ALPHA_INITIALIZER="zeros",e==null&&(e={}),this.supportsMasking=!0,this.alphaInitializer=dt(e.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=_t(e.alphaRegularizer),this.alphaConstraint=Lt(e.alphaConstraint),e.sharedAxes==null)this.sharedAxes=null;else if(Array.isArray(e.sharedAxes))this.sharedAxes=e.sharedAxes;else if(typeof e.sharedAxes=="number")this.sharedAxes=[e.sharedAxes];else throw new B(`Expected sharedAxes to be a number or an array of numbers, but got ${e.sharedAxes}`)}build(e){e=et(e);let t=e.slice(1);if(this.sharedAxes!=null)for(let o of this.sharedAxes)t[o-1]=1;this.alpha=this.addWeight("alpha",t,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);let n={};if(this.sharedAxes!=null)for(let o=1;o(Ft(e),e==="channelsFirst"?We(r,[0,2,3,1]):r))}function nC(r,e){return V(()=>(Ft(e),e==="channelsFirst"?We(r,[0,2,3,4,1]):r))}function IQ(r,e,t,n=1,o="valid",s,a=1){return V(()=>{if(s==null&&(s=Kr()),Ft(s),r.shape.length!==3)throw new B(`The input of a conv1dWithBias operation should be 3, but is ${r.shape.length} instead.`);if(e.shape.length!==3)throw new B(`The kernel for a conv1dWithBias operation should be 3, but is ${e.shape.length} instead`);if(t!=null&&t.shape.length!==1)throw new B(`The bias for a conv1dWithBias operation should be 1, but is ${e.shape.length} instead`);if(s==="channelsFirst"&&(r=We(r,[0,2,1])),o==="causal")throw new Se("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let i=vu(r,e,n,o==="same"?"same":"valid","NWC",a);return t!=null&&(i=on(i,t)),i})}function jL(r,e,t,n=[1,1],o="valid",s,a,i=null){return V(()=>{if(s==null&&(s=Kr()),Ft(s),r.rank!==3&&r.rank!==4)throw new B(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${r.rank}.`);if(e.rank!==3&&e.rank!==4)throw new B(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${r.rank}.`);let l=xd(r,s);if(o==="causal")throw new Se("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=zo.conv2d({x:l,filter:e,strides:n,pad:o==="same"?"same":"valid",dilations:a,dataFormat:"NHWC",bias:t,activation:i}),s==="channelsFirst"&&(l=We(l,[0,3,1,2])),l})}function NQ(r,e,t,n=[1,1,1],o="valid",s,a){return V(()=>{if(s==null&&(s=Kr()),Ft(s),r.rank!==4&&r.rank!==5)throw new B(`conv3dWithBias expects input to be of rank 4 or 5, but received ${r.rank}.`);if(e.rank!==4&&e.rank!==5)throw new B(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${r.rank}.`);let i=nC(r,s);if(o==="causal")throw new Se("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return i=Mm(i,e,n,o==="same"?"same":"valid","NDHWC",a),t!=null&&(i=on(i,t)),s==="channelsFirst"&&(i=We(i,[0,4,1,2,3])),i})}var Wp=class extends Me{constructor(e,t){super(t);if(this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",Wp.verifyArgs(t),this.rank=e,qt(this.rank,"rank"),this.rank!==1&&this.rank!==2&&this.rank!==3)throw new Se(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=Nl(t.kernelSize,e,"kernelSize"),this.strides=Nl(t.strides==null?1:t.strides,e,"strides"),this.padding=t.padding==null?"valid":t.padding,Xr(this.padding),this.dataFormat=t.dataFormat==null?"channelsLast":t.dataFormat,Ft(this.dataFormat),this.activation=Bs(t.activation),this.useBias=t.useBias==null?!0:t.useBias,this.biasInitializer=dt(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=Lt(t.biasConstraint),this.biasRegularizer=_t(t.biasRegularizer),this.activityRegularizer=_t(t.activityRegularizer),this.dilationRate=Nl(t.dilationRate==null?1:t.dilationRate,e,"dilationRate"),this.rank===1&&Array.isArray(this.dilationRate)&&this.dilationRate.length!==1)throw new B(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(this.rank===2){if(typeof this.dilationRate=="number")this.dilationRate=[this.dilationRate,this.dilationRate];else if(this.dilationRate.length!==2)throw new B(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(this.rank===3){if(typeof this.dilationRate=="number")this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(this.dilationRate.length!==3)throw new B(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}}static verifyArgs(e){if(Ln("kernelSize"in e,"required key 'kernelSize' not in config"),typeof e.kernelSize!="number"&&!hx(e.kernelSize,"number",1,3))throw new B(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(e.kernelSize)}.`)}getConfig(){let e={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:zs(this.activation),useBias:this.useBias,biasInitializer:Nt(this.biasInitializer),biasRegularizer:lt(this.biasRegularizer),activityRegularizer:lt(this.activityRegularizer),biasConstraint:Mt(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}},mc=class extends Wp{constructor(e,t){super(e,t);this.kernel=null,mc.verifyArgs(t),this.filters=t.filters,qt(this.filters,"filters"),this.kernelInitializer=dt(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=Lt(t.kernelConstraint),this.kernelRegularizer=_t(t.kernelRegularizer)}build(e){e=et(e);let t=this.dataFormat==="channelsFirst"?1:e.length-1;if(e[t]==null)throw new B(`The channel dimension of the input should be defined. Found ${e[t]}`);let n=e[t],o=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",o,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[t]:n}}],this.built=!0}call(e,t){return V(()=>{e=Oe(e);let n,o=this.bias==null?null:this.bias.read(),s=gx(this.activation.getClassName());if(s!=null&&this.rank===2)n=jL(e,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate,s);else{if(this.rank===1)n=IQ(e,this.kernel.read(),o,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(this.rank===2)n=jL(e,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else if(this.rank===3)n=NQ(e,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else throw new Se("convolutions greater than 3D are not implemented yet.");this.activation!=null&&(n=this.activation.apply(n))}return n})}computeOutputShape(e){e=et(e);let t=[],n=this.dataFormat==="channelsLast"?e.slice(1,e.length-1):e.slice(2);for(let s=0;s 0 but got ${JSON.stringify(e.filters)}`)}},Sl=class extends mc{constructor(e){super(2,e);Sl.verifyArgs(e)}getConfig(){let e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if(typeof e.kernelSize!="number"&&!hx(e.kernelSize,"number",1,2))throw new B(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(e.kernelSize)}.`)}};Sl.className="Conv2D";J.registerClass(Sl);var fc=class extends mc{constructor(e){super(3,e);fc.verifyArgs(e)}getConfig(){let e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if(typeof e.kernelSize!="number"&&!(Array.isArray(e.kernelSize)&&(e.kernelSize.length===1||e.kernelSize.length===3)))throw new B(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(e.kernelSize)}.`)}};fc.className="Conv3D";J.registerClass(fc);var yd=class extends Sl{constructor(e){super(e);if(this.inputSpec=[new At({ndim:4})],this.padding!=="same"&&this.padding!=="valid")throw new B(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(e=et(e),e.length!==4)throw new B("Input should have rank 4; Received input shape: "+JSON.stringify(e));let t=this.dataFormat==="channelsFirst"?1:e.length-1;if(e[t]==null)throw new B("The channel dimension of the inputs should be defined. Found `None`.");let n=e[t],o=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",o,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new At({ndim:4,axes:{[t]:n}})],this.built=!0}call(e,t){return V(()=>{let n=Oe(e);if(n.shape.length!==4)throw new B(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${n.shape.length}`);let o=n.shape,s=o[0],a,i;this.dataFormat==="channelsFirst"?(a=2,i=3):(a=1,i=2);let l=o[a],u=o[i],c=this.kernelSize[0],p=this.kernelSize[1],m=this.strides[0],f=this.strides[1],d=gd(l,m,c,this.padding),h=gd(u,f,p,this.padding),g=[s,d,h,this.filters];this.dataFormat!=="channelsLast"&&(n=We(n,[0,2,3,1]));let x=Cu(n,this.kernel.read(),g,this.strides,this.padding);return this.dataFormat!=="channelsLast"&&(x=We(x,[0,3,1,2])),this.bias!=null&&(x=on(x,this.bias.read(),this.dataFormat)),this.activation!=null&&(x=this.activation.apply(x)),x})}computeOutputShape(e){e=et(e);let t=e.slice(),n,o,s;this.dataFormat==="channelsFirst"?(n=1,o=2,s=3):(n=3,o=1,s=2);let a=this.kernelSize[0],i=this.kernelSize[1],l=this.strides[0],u=this.strides[1];return t[n]=this.filters,t[o]=gd(t[o],l,a,this.padding),t[s]=gd(t[s],u,i,this.padding),t}getConfig(){let e=super.getConfig();return delete e.dilationRate,e}};yd.className="Conv2DTranspose";J.registerClass(yd);var oC=class extends mc{constructor(e,t){super(e,t);if(this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,t.filters==null)throw new B("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(t.kernelInitializer!=null||t.kernelRegularizer!=null||t.kernelConstraint!=null)throw new B("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(t.padding!=null&&t.padding!=="same"&&t.padding!=="valid")throw new B(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(t.padding)}`);this.depthMultiplier=t.depthMultiplier==null?1:t.depthMultiplier,this.depthwiseInitializer=dt(t.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=_t(t.depthwiseRegularizer),this.depthwiseConstraint=Lt(t.depthwiseConstraint),this.pointwiseInitializer=dt(t.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=_t(t.pointwiseRegularizer),this.pointwiseConstraint=Lt(t.pointwiseConstraint)}build(e){if(e=et(e),e.length{e=Oe(e);let n;if(this.rank===1)throw new Se("1D separable convolution is not implemented yet.");return this.rank===2&&(this.dataFormat==="channelsFirst"&&(e=We(e,[0,2,3,1])),n=Zm(e,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(n=on(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),this.dataFormat==="channelsFirst"&&(n=We(n,[0,3,1,2])),n})}getConfig(){let e=super.getConfig();return delete e.rank,delete e.kernelInitializer,delete e.kernelRegularizer,delete e.kernelConstraint,e.depthwiseInitializer=Nt(this.depthwiseInitializer),e.pointwiseInitializer=Nt(this.pointwiseInitializer),e.depthwiseRegularizer=lt(this.depthwiseRegularizer),e.pointwiseRegularizer=lt(this.pointwiseRegularizer),e.depthwiseConstraint=Mt(this.depthwiseConstraint),e.pointwiseConstraint=Mt(this.pointwiseConstraint),e}};oC.className="SeparableConv";var bd=class extends oC{constructor(e){super(2,e)}};bd.className="SeparableConv2D";J.registerClass(bd);var dc=class extends mc{constructor(e){super(1,e);dc.verifyArgs(e),this.inputSpec=[{ndim:3}]}getConfig(){let e=super.getConfig();return delete e.rank,delete e.dataFormat,e}static verifyArgs(e){if(typeof e.kernelSize!="number"&&!hx(e.kernelSize,"number",1,1))throw new B(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(e.kernelSize)}.`)}};dc.className="Conv1D";J.registerClass(dc);var wd=class extends Me{constructor(e){super(e);typeof e.cropping=="number"?this.cropping=[[e.cropping,e.cropping],[e.cropping,e.cropping]]:typeof e.cropping[0]=="number"?this.cropping=[[e.cropping[0],e.cropping[0]],[e.cropping[1],e.cropping[1]]]:this.cropping=e.cropping,this.dataFormat=e.dataFormat===void 0?"channelsLast":e.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(e){return this.dataFormat==="channelsFirst"?[e[0],e[1],e[2]-this.cropping[0][0]-this.cropping[0][1],e[3]-this.cropping[1][0]-this.cropping[1][1]]:[e[0],e[1]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1],e[3]]}call(e,t){return V(()=>{if(e=Oe(e),this.dataFormat==="channelsLast"){let n=qf(e,this.cropping[0][0],e.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return qf(n,this.cropping[1][0],e.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}else{let n=qf(e,this.cropping[0][0],e.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return qf(n,this.cropping[1][0],e.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){let e={cropping:this.cropping,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}};wd.className="Cropping2D";J.registerClass(wd);var _d=class extends Me{constructor(e){super(e);this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=e.size==null?this.DEFAULT_SIZE:e.size,this.dataFormat=e.dataFormat==null?"channelsLast":e.dataFormat,Ft(this.dataFormat),this.interpolation=e.interpolation==null?"nearest":e.interpolation,YM(this.interpolation)}computeOutputShape(e){if(this.dataFormat==="channelsFirst"){let t=e[2]==null?null:this.size[0]*e[2],n=e[3]==null?null:this.size[1]*e[3];return[e[0],e[1],t,n]}else{let t=e[1]==null?null:this.size[0]*e[1],n=e[2]==null?null:this.size[1]*e[2];return[e[0],t,n,e[3]]}}call(e,t){return V(()=>{let n=Oe(e),o=n.shape;if(this.dataFormat==="channelsFirst"){n=We(n,[0,2,3,1]);let s=this.size[0]*o[2],a=this.size[1]*o[3],i=this.interpolation==="nearest"?n.resizeNearestNeighbor([s,a]):n.resizeBilinear([s,a]);return We(i,[0,3,1,2])}else{let s=this.size[0]*o[1],a=this.size[1]*o[2];return this.interpolation==="nearest"?n.resizeNearestNeighbor([s,a]):n.resizeBilinear([s,a])}})}getConfig(){let e={size:this.size,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}};_d.className="UpSampling2D";J.registerClass(_d);function SQ(r,e,t=[1,1],n="valid",o,s){return V(()=>{o==null&&(o=Kr()),Ft(o);let a=xd(r,o);if(r.rank!==4)throw new B(`Input for depthwiseConv2d is required to be 4-D, but is instead ${r.rank}-D`);if(e.rank!==4)throw new B(`depthwiseKernel is required to be 4-D, but is instead ${e.rank}-D`);return a=Cs(a,e,t,n==="same"?"same":"valid","NHWC",s),o==="channelsFirst"&&(a=We(a,[0,3,1,2])),a})}var kd=class extends Wp{constructor(e){super(2,e);this.depthwiseKernel=null,this.depthMultiplier=e.depthMultiplier==null?1:e.depthMultiplier,this.depthwiseInitializer=dt(e.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=Lt(e.depthwiseConstraint),this.depthwiseRegularizer=_t(e.depthwiseRegularizer)}build(e){if(e=et(e),e.length<4)throw new B(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(e)}.`);let t=this.dataFormat==="channelsFirst"?1:3;if(e[t]==null||e[t]<0)throw new B(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${e[t]}).`);let n=e[t],o=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",o,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return V(()=>{e=Oe(e);let n=SQ(e,this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(n=on(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),n})}computeOutputShape(e){e=et(e);let t=this.dataFormat==="channelsFirst"?e[2]:e[1],n=this.dataFormat==="channelsFirst"?e[3]:e[2],o=this.dataFormat==="channelsFirst"?e[1]*this.depthMultiplier:e[3]*this.depthMultiplier,s=un(t,this.kernelSize[0],this.padding,this.strides[0]),a=un(n,this.kernelSize[1],this.padding,this.strides[1]);return this.dataFormat==="channelsFirst"?[e[0],o,s,a]:[e[0],s,a,o]}getConfig(){let e=super.getConfig();return e.depthMultiplier=this.depthMultiplier,e.depthwiseInitializer=Nt(this.depthwiseInitializer),e.depthwiseRegularizer=lt(this.depthwiseRegularizer),e.depthwiseConstraint=Mt(this.depthwiseRegularizer),e}};kd.className="DepthwiseConv2D";J.registerClass(kd);function sC(r,e,t,n){if(Array.isArray(r)){if(e!=null||t!=null)throw new B("When inputs is an array, neither initialState or constants should be provided");n!=null&&(t=r.slice(r.length-n,r.length),r=r.slice(0,r.length-n)),r.length>1&&(e=r.slice(1,r.length)),r=r[0]}function o(s){return s==null||Array.isArray(s)?s:[s]}return e=o(e),t=o(t),{inputs:r,initialState:e,constants:t}}function iC(r,e,t,n=!1,o,s,a=!1,i=!1){return V(()=>{let l=e.shape.length;if(l<3)throw new B(`Input should be at least 3D, but is ${l}D.`);let u=[1,0].concat(Lr(2,l));if(e=We(e,u),s!=null)throw new Se("The rnn() functoin of the deeplearn.js backend does not support constants yet.");a&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),o!=null&&(o=o.asType("bool").asType("float32"),o.rank===l-1&&(o=ir(o,-1)),o=We(o,u)),n&&(e=Kt(e,0),o!=null&&(o=Kt(o,0)));let c=[],p,m=t,f=e.shape[0],d=cr(e),h;o!=null&&(h=cr(o));for(let x=0;xr(b,m));if(o==null)p=w[0],m=w[1];else{let _=V(()=>{let k=h[x],E=tr(k).sub(k),S=w[0].mul(k).add(m[0].mul(E)),R=m.map((F,P)=>w[1][P].mul(k).add(F.mul(E)));return{output:S,newStates:R}});p=_.output,m=_.newStates}i&&c.push(p)}let g;return i&&(g=Vt(c,1)),[p,g,m]})}var cn=class extends Me{constructor(e){super(e);let t;if(e.cell==null)throw new B("cell property is missing for the constructor of RNN.");if(Array.isArray(e.cell)?t=new Up({cells:e.cell}):t=e.cell,t.stateSize==null)throw new B("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=t,this.returnSequences=e.returnSequences==null?!1:e.returnSequences,this.returnState=e.returnState==null?!1:e.returnState,this.goBackwards=e.goBackwards==null?!1:e.goBackwards,this._stateful=e.stateful==null?!1:e.stateful,this.unroll=e.unroll==null?!1:e.unroll,this.supportsMasking=!0,this.inputSpec=[new At({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(this.states_==null){let e=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;return Lr(0,e).map(t=>null)}else return this.states_}setStates(e){this.states_=e}computeOutputShape(e){Cx(e)&&(e=e[0]),e=e;let t=this.cell.stateSize;Array.isArray(t)||(t=[t]);let n=t[0],o;if(this.returnSequences?o=[e[0],e[1],n]:o=[e[0],n],this.returnState){let s=[];for(let a of t)s.push([e[0],a]);return[o].concat(s)}else return o}computeMask(e,t){return V(()=>{Array.isArray(t)&&(t=t[0]);let n=this.returnSequences?t:null;if(this.returnState){let o=this.states.map(s=>null);return[n].concat(o)}else return n})}get states(){if(this.states_==null){let e=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,t=[];for(let n=0;ni.shape[i.shape.length-1]),a))throw new B(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=a.map(i=>new At({shape:[null,i]}));this.stateful&&this.resetStates()}resetStates(e,t=!1){V(()=>{if(!this.stateful)throw new Cn("Cannot call resetStates() on an RNN Layer that is not stateful.");let n=this.inputSpec[0].shape[0];if(n==null)throw new B("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(this.states_==null)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(o=>xt([n,o])):this.states_=[xt([n,this.cell.stateSize])];else if(e==null)Ee(this.states_),this.keptStates!=null&&(Ee(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(o=>xt([n,o])):this.states_[0]=xt([n,this.cell.stateSize]);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new B(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);t===!0?this.keptStates.push(this.states_.slice()):Ee(this.states_);for(let o=0;oDt(o.clone()))})}apply(e,t){let n=t==null?null:t.initialState,o=t==null?null:t.constants;t==null&&(t={});let s=sC(e,n,o,this.numConstants);e=s.inputs,n=s.initialState,o=s.constants;let a=[],i=[];if(n!=null){t.initialState=n,a=a.concat(n),this.stateSpec=[];for(let u of n)this.stateSpec.push(new At({shape:u.shape}));i=i.concat(this.stateSpec)}if(o!=null&&(t.constants=o,a=a.concat(o),this.numConstants=o.length),a[0]instanceof Br){let u=[e].concat(a),c=this.inputSpec.concat(i),p=this.inputSpec;this.inputSpec=c;let m=super.apply(u,t);return this.inputSpec=p,m}else return super.apply(e,t)}call(e,t){return V(()=>{let n=t==null?null:t.mask,o=t==null?null:t.training,s=t==null?null:t.initialState;e=Oe(e),s==null&&(this.stateful?s=this.states_:s=this.getInitialState(e));let a=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==a)throw new B(`RNN Layer has ${a} state(s) but was passed ${s.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");let i={training:o},u=iC((d,h)=>{let g=this.cell.call([d].concat(h),i);return[g[0],g.slice(1)]},e,s,this.goBackwards,n,null,this.unroll,this.returnSequences),c=u[0],p=u[1],m=u[2];this.stateful&&this.resetStates(m,o);let f=this.returnSequences?p:c;return this.returnState?[f].concat(m):f})}getInitialState(e){return V(()=>{let t=xt(e.shape);return t=ye(t,[1,2]),t=Wa(t),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(n=>n>1?bx(t,[1,n]):t):this.cell.stateSize>1?[bx(t,[1,this.cell.stateSize])]:[t]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),this.cell!=null&&this.cell.setFastWeightInitDuringBuild(e)}getConfig(){let e=super.getConfig(),t={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};this.numConstants!=null&&(t.numConstants=this.numConstants);let n=this.cell.getConfig();return this.getClassName()===cn.className&&(t.cell={className:this.cell.getClassName(),config:n}),Object.assign({},n,e,t)}static fromConfig(e,t,n={}){let o=t.cell,s=Yr(o,n);return new e(Object.assign(t,{cell:s}))}};cn.className="RNN";J.registerClass(cn);var Tl=class extends Me{},qp=class extends Tl{constructor(e){super(e);this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,qt(this.units,"units"),this.activation=Bs(e.activation==null?this.DEFAULT_ACTIVATION:e.activation),this.useBias=e.useBias==null?!0:e.useBias,this.kernelInitializer=dt(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=dt(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=dt(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=_t(e.kernelRegularizer),this.recurrentRegularizer=_t(e.recurrentRegularizer),this.biasRegularizer=_t(e.biasRegularizer),this.kernelConstraint=Lt(e.kernelConstraint),this.recurrentConstraint=Lt(e.recurrentConstraint),this.biasConstraint=Lt(e.biasConstraint),this.dropout=sc([1,Ms([0,e.dropout==null?0:e.dropout])]),this.recurrentDropout=sc([1,Ms([0,e.recurrentDropout==null?0:e.recurrentDropout])]),this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){e=et(e),this.kernel=this.addWeight("kernel",[e[e.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return V(()=>{if(e=e,e.length!==2)throw new B(`SimpleRNNCell expects 2 input Tensors, got ${e.length}.`);let n=e[1];e=e[0];let o=t.training==null?!1:t.training;0tr(e),rate:this.dropout,training:o})),0tr(n),rate:this.recurrentDropout,training:o}));let s,a=this.dropoutMask,i=this.recurrentDropoutMask;a!=null?s=Qo(M(e,a),this.kernel.read()):s=Qo(e,this.kernel.read()),this.bias!=null&&(s=on(s,this.bias.read())),i!=null&&(n=M(n,i));let l=Q(s,Qo(n,this.recurrentKernel.read()));return this.activation!=null&&(l=this.activation.apply(l)),[l,l]})}getConfig(){let e=super.getConfig(),t={units:this.units,activation:zs(this.activation),useBias:this.useBias,kernelInitializer:Nt(this.kernelInitializer),recurrentInitializer:Nt(this.recurrentInitializer),biasInitializer:Nt(this.biasInitializer),kernelRegularizer:lt(this.kernelRegularizer),recurrentRegularizer:lt(this.recurrentRegularizer),biasRegularizer:lt(this.biasRegularizer),activityRegularizer:lt(this.activityRegularizer),kernelConstraint:Mt(this.kernelConstraint),recurrentConstraint:Mt(this.recurrentConstraint),biasConstraint:Mt(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign({},e,t)}};qp.className="SimpleRNNCell";J.registerClass(qp);var vd=class extends cn{constructor(e){e.cell=new qp(e),super(e)}call(e,t){return V(()=>{this.cell.dropoutMask!=null&&(Ee(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Ee(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=t==null?null:t.mask,o=t==null?null:t.training,s=t==null?null:t.initialState;return super.call(e,{mask:n,training:o,initialState:s})})}static fromConfig(e,t){return new e(t)}};vd.className="SimpleRNN";J.registerClass(vd);var Hp=class extends Tl{constructor(e){super(e);if(this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",e.resetAfter)throw new B("GRUCell does not support reset_after parameter set to true.");this.units=e.units,qt(this.units,"units"),this.activation=Bs(e.activation===void 0?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=Bs(e.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=e.useBias==null?!0:e.useBias,this.kernelInitializer=dt(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=dt(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=dt(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=_t(e.kernelRegularizer),this.recurrentRegularizer=_t(e.recurrentRegularizer),this.biasRegularizer=_t(e.biasRegularizer),this.kernelConstraint=Lt(e.kernelConstraint),this.recurrentConstraint=Lt(e.recurrentConstraint),this.biasConstraint=Lt(e.biasConstraint),this.dropout=sc([1,Ms([0,e.dropout==null?0:e.dropout])]),this.recurrentDropout=sc([1,Ms([0,e.recurrentDropout==null?0:e.recurrentDropout])]),this.implementation=e.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){e=et(e);let t=e[e.length-1];this.kernel=this.addWeight("kernel",[t,this.units*3],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units*3],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units*3],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return V(()=>{if(e=e,e.length!==2)throw new B(`GRUCell expects 2 input Tensors (inputs, h, c), got ${e.length}.`);let n=t.training==null?!1:t.training,o=e[1];e=e[0],0tr(e),rate:this.dropout,training:n,count:3})),0tr(o),rate:this.recurrentDropout,training:n,count:3}));let s=this.dropoutMask,a=this.recurrentDropoutMask,i,l,u;0{this.cell.dropoutMask!=null&&(Ee(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Ee(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=t==null?null:t.mask,o=t==null?null:t.training,s=t==null?null:t.initialState;return super.call(e,{mask:n,training:o,initialState:s})})}static fromConfig(e,t){return t.implmentation===0&&(t.implementation=1),new e(t)}};Cd.className="GRU";J.registerClass(Cd);var El=class extends Tl{constructor(e){super(e);this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,qt(this.units,"units"),this.activation=Bs(e.activation===void 0?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=Bs(e.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=e.useBias==null?!0:e.useBias,this.kernelInitializer=dt(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=dt(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=dt(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=e.unitForgetBias,this.kernelRegularizer=_t(e.kernelRegularizer),this.recurrentRegularizer=_t(e.recurrentRegularizer),this.biasRegularizer=_t(e.biasRegularizer),this.kernelConstraint=Lt(e.kernelConstraint),this.recurrentConstraint=Lt(e.recurrentConstraint),this.biasConstraint=Lt(e.biasConstraint),this.dropout=sc([1,Ms([0,e.dropout==null?0:e.dropout])]),this.recurrentDropout=sc([1,Ms([0,e.recurrentDropout==null?0:e.recurrentDropout])]),this.implementation=e.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){var t;e=et(e);let n=e[e.length-1];this.kernel=this.addWeight("kernel",[n,this.units*4],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units*4],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint);let o;if(this.useBias){if(this.unitForgetBias){let s=this.biasInitializer,a=this.units;o=new(t=class extends sn{apply(l,u){let c=s.apply([a]),p=new ac().apply([a]),m=s.apply([a*2]);return A0(A0(c,p),m)}},t.className="CustomInit",t)}else o=this.biasInitializer;this.bias=this.addWeight("bias",[this.units*4],null,o,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(e,t){return V(()=>{let n=t.training==null?!1:t.training;if(e=e,e.length!==3)throw new B(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);let o=e[1],s=e[2];e=e[0],0tr(e),rate:this.dropout,training:n,count:4})),0tr(o),rate:this.recurrentDropout,training:n,count:4}));let a=this.dropoutMask,i=this.recurrentDropoutMask,l,u,c,p;0{this.cell.dropoutMask!=null&&(Ee(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Ee(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=t==null?null:t.mask,o=t==null?null:t.training,s=t==null?null:t.initialState;return super.call(e,{mask:n,training:o,initialState:s})})}static fromConfig(e,t){return t.implmentation===0&&(t.implementation=1),new e(t)}};Id.className="LSTM";J.registerClass(Id);var Up=class extends Tl{constructor(e){super(e);this.cells=e.cells}get stateSize(){let e=[];for(let t of this.cells.slice().reverse())Array.isArray(t.stateSize)?e.push(...t.stateSize):e.push(t.stateSize);return e}call(e,t){return V(()=>{e=e;let n=e.slice(1),o=[];for(let i of this.cells.slice().reverse())Array.isArray(i.stateSize)?o.push(n.splice(0,i.stateSize.length)):o.push(n.splice(0,1));o.reverse();let s=[],a;for(let i=0;i{Ps(`RNNCell_${o}`,()=>{n.build(e),Array.isArray(n.stateSize)?t=n.stateSize[0]:t=n.stateSize,e=[e[0],t]})}),this.built=!0}getConfig(){let e=super.getConfig(),t=s=>({className:s.getClassName(),config:s.getConfig()}),o={cells:this.cells.map(t)};return Object.assign({},e,o)}static fromConfig(e,t,n={}){let o=[];for(let s of t.cells)o.push(Yr(s,n));return new e({cells:o})}get trainableWeights(){if(!this.trainable)return[];let e=[];for(let t of this.cells)e.push(...t.trainableWeights);return e}get nonTrainableWeights(){let e=[];for(let t of this.cells)e.push(...t.nonTrainableWeights);if(!this.trainable){let t=[];for(let n of this.cells)t.push(...n.trainableWeights);return t.concat(e)}return e}getWeights(){let e=[];for(let t of this.cells)e.push(...t.weights);return td(e)}setWeights(e){let t=[];for(let n of this.cells){let o=n.weights.length,s=e.splice(o);for(let a=0;a_x(e(),t),a=()=>wl(s,e,n);return!o||o<=1?Dt(a().clone()):Array(o).fill(void 0).map(a).map(l=>Dt(l.clone()))}var TQ=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(r);o{if(this.cell.dropoutMask!=null&&(Ee(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(Ee(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),t&&t.constants)throw new B("ConvRNN2D cell does not support constants");let n=t==null?null:t.mask,o=t==null?null:t.training,s=t==null?null:t.initialState;return super.call(e,{mask:n,training:o,initialState:s})})}computeOutputShape(e){let t=this.computeSingleOutputShape(e);return this.returnSequences||(t=[t[0],...t.slice(2)]),this.returnState&&(t=[t,...Array(2).fill([e[0],...t.slice(-3)])]),t}getInitialState(e){return V(()=>{let{stateSize:t}=this.cell,n=e.shape,o=this.computeSingleOutputShape(n),s=[o[0],...o.slice(2)],a=xt(s);return Array.isArray(t)?Array(t.length).fill(a):[a]})}resetStates(e,t=!1){V(()=>{if(!this.stateful)throw new Cn("Cannot call resetStates() on an RNN Layer that is not stateful.");let n=this.inputSpec[0].shape,o=this.computeSingleOutputShape(n),s=[o[0],...o.slice(2)];if(n[0]==null)throw new B("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(this.getStates()==null)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>xt(s)):this.states_=[xt(s)];else if(e==null)Ee(this.states_),this.keptStates!=null&&(Ee(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>xt(s)):this.states_[0]=xt(s);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new B(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);t?this.keptStates.push(this.states_.slice()):Ee(this.states_);for(let i=0;iDt(i.clone()))})}computeSingleOutputShape(e){let{dataFormat:t,filters:n,kernelSize:o,padding:s,strides:a,dilationRate:i}=this.cell,l=t==="channelsFirst",u=e[l?3:2],c=e[l?4:3],p=un(u,o[0],s,a[0],i[0]),m=un(c,o[1],s,a[1],i[1]);return[...e.slice(0,2),...l?[n,p,m]:[p,m,n]]}};aC.className="ConvRNN2D";var Kp=class extends El{constructor(e){let{filters:t,kernelSize:n,strides:o,padding:s,dataFormat:a,dilationRate:i}=e;super(Object.assign({},e,{units:t}));this.filters=t,qt(this.filters,"filters"),this.kernelSize=Nl(n,2,"kernelSize"),this.kernelSize.forEach(l=>qt(l,"kernelSize")),this.strides=Nl(o||1,2,"strides"),this.strides.forEach(l=>qt(l,"strides")),this.padding=s||"valid",Xr(this.padding),this.dataFormat=a||"channelsLast",Ft(this.dataFormat),this.dilationRate=Nl(i||1,2,"dilationRate"),this.dilationRate.forEach(l=>qt(l,"dilationRate"))}build(e){var t;e=et(e);let n=this.dataFormat==="channelsFirst"?1:e.length-1;if(e[n]==null)throw new B(`The channel dimension of the input should be defined. Found ${e[n]}`);let o=e[n],s=4,a=this.kernelSize.concat([o,this.filters*s]);this.kernel=this.addWeight("kernel",a,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);let i=this.kernelSize.concat([this.filters,this.filters*s]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",i,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let l;if(this.unitForgetBias){let u=this.biasInitializer,c=this.filters;l=new(t=class extends sn{apply(m,f){let d=u.apply([c]),h=Ir([c]),g=u.apply([c*2]);return Tp([d,h,g])}},t.className="CustomInit",t)}else l=this.biasInitializer;this.bias=this.addWeight("bias",[this.filters*s],null,l,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(e,t){return V(()=>{if(e.length!==3)throw new B(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);let n=t.training||!1,o=e[0],s=e[1],a=e[2],i=4;0tr(o),rate:this.dropout,training:n,count:i}));let l=this.dropoutMask,u=(ie,se,pe)=>!se||!se[pe]?ie:M(se[pe],ie),c=u(o,l,0),p=u(o,l,1),m=u(o,l,2),f=u(o,l,3);0tr(s),rate:this.recurrentDropout,training:n,count:i}));let d=this.recurrentDropoutMask,h=u(s,d,0),g=u(s,d,1),x=u(s,d,2),b=u(s,d,3),w=3,[_,k,E,S]=ur(this.kernel.read(),i,w),[R,F,P,j]=this.useBias?ur(this.bias.read(),i):[null,null,null,null];c=this.inputConv(c,_,R,this.padding),p=this.inputConv(p,k,F,this.padding),m=this.inputConv(m,E,P,this.padding),f=this.inputConv(f,S,j,this.padding);let[G,U,X,K]=ur(this.recurrentKernel.read(),i,w);h=this.recurrentConv(h,G),g=this.recurrentConv(g,U),x=this.recurrentConv(x,X),b=this.recurrentConv(b,K);let Z=this.recurrentActivation.apply(Q(c,h)),te=this.recurrentActivation.apply(Q(p,g)),Y=Q(M(te,a),M(Z,this.activation.apply(Q(m,x)))),re=M(this.recurrentActivation.apply(Q(f,b)),this.activation.apply(Y));return[re,re,Y]})}getConfig(){let e=super.getConfig(),{units:t}=e,n=TQ(e,["units"]),o={filters:this.filters,kernelSize:this.kernelSize,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,strides:this.strides};return Object.assign({},n,o)}inputConv(e,t,n,o){let s=Ur(e,t,this.strides,o||"valid",this.dataFormat==="channelsFirst"?"NCHW":"NHWC",this.dilationRate);return n?on(s,n,this.dataFormat):s}recurrentConv(e,t){return Ur(e,t,1,"same",this.dataFormat==="channelsFirst"?"NCHW":"NHWC")}};Kp.className="ConvLSTM2DCell";J.registerClass(Kp);var Nd=class extends aC{constructor(e){let t=new Kp(e);super(Object.assign({},e,{cell:t}))}static fromConfig(e,t){return new e(t)}};Nd.className="ConvLSTM2D";J.registerClass(Nd);var Xp=class extends Me{constructor(e){super(e);this.rate=Math.max(Math.min(e.rate,1),0),this.noiseShape=e.noiseShape,this.seed=e.seed,this.supportsMasking=!0}getNoiseShape(e){if(this.noiseShape==null)return this.noiseShape;let t=e.shape,n=[];for(let o=0;o{this.invokeCallHook(e,t);let n=Oe(e);if(0_x(n,this.rate,s,this.seed),()=>n,o)}return e})}getConfig(){let e={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},t=super.getConfig();return Object.assign(e,t),e}dispose(){return super.dispose()}};Xp.className="Dropout";J.registerClass(Xp);var Sd=class extends Xp{constructor(e){super(e);this.inputSpec=[{ndim:3}]}getNoiseShape(e){let t=e.shape;return[t[0],1,t[2]]}};Sd.className="SpatialDropout1D";J.registerClass(Sd);var Td=class extends Me{constructor(e){super(e);if(this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",e.batchInputShape==null&&e.inputShape==null&&e.inputDim!=null){let t=null;e.batchSize!=null&&(t=e.batchSize),this.batchInputShape=[t,e.inputDim]}this.units=e.units,qt(this.units,"units"),this.activation=Bs(e.activation),e.useBias!=null&&(this.useBias=e.useBias),this.kernelInitializer=dt(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=dt(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=Lt(e.kernelConstraint),this.biasConstraint=Lt(e.biasConstraint),this.kernelRegularizer=_t(e.kernelRegularizer),this.biasRegularizer=_t(e.biasRegularizer),this.activityRegularizer=_t(e.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(e){e=et(e);let t=e[e.length-1];this.kernel==null&&(this.kernel=this.addWeight("kernel",[t,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:t}}],this.built=!0}computeOutputShape(e){e=et(e);let t=e.slice();return t[t.length-1]=this.units,t}call(e,t){return V(()=>{this.invokeCallHook(e,t);let n=Oe(e),o=gx(this.activation.getClassName()),s;return o!=null?s=Qo(n,this.kernel.read(),o,this.bias?this.bias.read():null):(s=Qo(n,this.kernel.read()),this.bias!=null&&(s=on(s,this.bias.read())),this.activation!=null&&(s=this.activation.apply(s))),s})}getConfig(){let e={units:this.units,activation:zs(this.activation),useBias:this.useBias,kernelInitializer:Nt(this.kernelInitializer),biasInitializer:Nt(this.biasInitializer),kernelRegularizer:lt(this.kernelRegularizer),biasRegularizer:lt(this.biasRegularizer),activityRegularizer:lt(this.activityRegularizer),kernelConstraint:Mt(this.kernelConstraint),biasConstraint:Mt(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}};Td.className="Dense";J.registerClass(Td);var Ed=class extends Me{constructor(e){e=e||{},super(e),this.inputSpec=[{minNDim:3}],this.dataFormat=e.dataFormat}computeOutputShape(e){e=et(e);for(let t of e.slice(1))if(t==null)throw new B(`The shape of the input to "Flatten" is not fully defined (got ${e.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[e[0],Jo(e,1)]}call(e,t){return V(()=>{this.invokeCallHook(e,t);let n=Oe(e);if(this.dataFormat==="channelsFirst"&&n.rank>1){let o=[0];for(let s=2;s{this.invokeCallHook(e,t);let n=Oe(e);return this.activation.apply(n)})}getConfig(){let e={activation:zs(this.activation)},t=super.getConfig();return Object.assign(e,t),e}};Ad.className="Activation";J.registerClass(Ad);var Dd=class extends Me{constructor(e){super(e);this.n=e.n,this.inputSpec=[{ndim:2}]}computeOutputShape(e){return[e[0],this.n,e[1]]}call(e,t){return V(()=>(e=Oe(e),tL(e,this.n)))}getConfig(){let e={n:this.n},t=super.getConfig();return Object.assign(e,t),e}};Dd.className="RepeatVector";J.registerClass(Dd);var $d=class extends Me{constructor(e){super(e);this.targetShape=e.targetShape;for(let t=0;t{this.invokeCallHook(e,t);let n=Oe(e),o=n.shape,s=o.slice(0,1).concat(this.fixUnknownDimension(o.slice(1),this.targetShape));return n.reshape(s)})}getConfig(){let e={targetShape:this.targetShape},t=super.getConfig();return Object.assign(e,t),e}};$d.className="Reshape";J.registerClass($d);var Rd=class extends Me{constructor(e){super(e);if(e.dims==null)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(e.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${e.dims} instead.`);let t=Lr(1,e.dims.length+1);if(!y.arraysEqual(e.dims.slice().sort(),t))throw new Error("Invalid permutation `dims`: "+JSON.stringify(e.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=e.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new At({ndim:this.dims.length+1})]}computeOutputShape(e){e=et(e);let t=e.slice();return this.dims.forEach((n,o)=>{t[o+1]=e[n]}),t}call(e,t){return We(Oe(e),this.dimsIncludingBatch)}getConfig(){let e={dims:this.dims},t=super.getConfig();return Object.assign(e,t),e}};Rd.className="Permute";J.registerClass(Rd);var Fd=class extends Me{constructor(e){super(e==null?{}:e);this.supportsMasking=!0,e!=null?this.maskValue=e.maskValue==null?0:e.maskValue:this.maskValue=0}computeOutputShape(e){return e}getConfig(){let e=super.getConfig(),t={maskValue:this.maskValue};return Object.assign(t,e),t}computeMask(e,t){let n=Oe(e),o=-1;return il(Lo(n,this.maskValue),o)}call(e,t){return V(()=>{this.invokeCallHook(e,t);let n=Oe(e),o=-1,s=!0,a=il(Lo(n,this.maskValue),o,s);return n.mul(a.asType(n.dtype))})}};Fd.className="Masking";J.registerClass(Fd);var Od=class extends Me{constructor(e){super(e);if(this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",e.batchInputShape==null&&e.inputShape==null){let t=null;e.batchSize!=null&&(t=e.batchSize),e.inputLength==null?this.batchInputShape=[t,null]:this.batchInputShape=[t].concat(wt(e.inputLength))}this.inputDim=e.inputDim,qt(this.inputDim,"inputDim"),this.outputDim=e.outputDim,qt(this.outputDim,"outputDim"),this.embeddingsInitializer=dt(e.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=_t(e.embeddingsRegularizer),this.activityRegularizer=_t(e.activityRegularizer),this.embeddingsConstraint=Lt(e.embeddingsConstraint),this.maskZero=e.maskZero,this.supportsMasking=e.maskZero,this.inputLength=e.inputLength}build(e){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(e){}computeMask(e,t){return V(()=>this.maskZero?(e=Oe(e),Lo(e,Ie(e))):null)}computeOutputShape(e){if(e=et(e),this.inputLength==null)return[...e,this.outputDim];let t=wt(this.inputLength);if(t.length!==e.length-1)throw new B(`"inputLength" is ${this.inputLength}, but received input shape has shape ${e}`);{let n=0;for(let o=0;o{this.invokeCallHook(e,t);let n=Oe(e);return n.dtype!=="int32"&&(n=ja(n,"int32")),wx(this.embeddings.read(),n.as1D()).reshape(et(this.computeOutputShape(n.shape)))})}getConfig(){let e={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Nt(this.embeddingsInitializer),embeddingsRegularizer:lt(this.embeddingsRegularizer),activityRegularizer:lt(this.activityRegularizer),embeddingsConstraint:Mt(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},t=super.getConfig();return Object.assign(e,t),e}};Od.className="Embedding";J.registerClass(Od);var Al=class extends Me{constructor(e){super(e||{});this.supportsMasking=!0}mergeFunction(e){throw new Se}computeElementwiseOpOutputShape(e,t){if(e==null||t==null)return null;if(e.length1)throw new B(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(e)}.`);let n=e[0]==null?null:e[0].slice(1);for(let s=1;ss.length);e.indexOf(null)===-1&&Zo(o).length===1?this.reshapeRequired=!1:this.reshapeRequired=!0}call(e,t){return V(()=>{if(e=e,this.reshapeRequired){let n=[],o=e.map(s=>s.rank);if(o.indexOf(null)===-1){let s=Ms(o);for(let a of e){let i=a.rank;for(let l=0;l1){let c=Lr(1,u).concat([0]);n.push(We(l,c)),s=!0}else n.push(l)}let a=this.mergeFunction(n),i=a.rank;if(s){if(i==null){let l=a.shape,u=l.length,c=l[u-1],p=[c].concat(l.slice(0,l.length-1));a=We(a.reshape([-1,c]),[1,0]).reshape(p)}else if(i>1){let l=[i-1].concat(Lr(0,i-1));a=We(a,l)}}return a}}else return this.mergeFunction(e)})}computeOutputShape(e){e=e;let t;e[0]==null?t=null:t=e[0].slice(1);for(let o=1;o{if(t==null)return null;if(!Array.isArray(t))throw new B("`mask` should be an Array");if(!Array.isArray(e))throw new B("`inputs` should be an Array");if(t.length!==e.length)throw new B(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${e.length} vs ${t.length})`);if(t.every(o=>o==null))return null;t=t.map(o=>o==null?o:ir(o,0));let n=t[0];for(let o=1;o{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n1)throw new B("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(e))}mergeFunction(e){return V(()=>Tp(e,this.axis))}computeOutputShape(e){if(!(Array.isArray(e)&&Array.isArray(e[0])))throw new B("A `Concatenate` layer should be called on a list of inputs.");let t=e,n=t[0].slice(),o=this.axis<0?n.length+this.axis:this.axis;for(let s of t.slice(1)){if(n[o]==null||s[o]==null){n[o]=null;break}n[o]+=s[o]}return n}computeMask(e,t){if(t==null)return null;if(!Array.isArray(t))throw new B("`mask` should be an array for Concatenate");if(!Array.isArray(e))throw new B("`inputs` should be an array for Concatenate");if(t.length!==e.length)throw new B(`Mismatch in the length of mask (${t.length}) and the legnth of inputs (${e.length})`);return V(()=>{let n=!0;if(t.forEach(a=>{if(a!=null){n=!1;return}}),n)return null;let o=[];for(let a=0;a3||e.shape.length>3)throw new Se("batchDot is not implemented for tensors of 4D or higher rank yet");if(y.assert(r.shape.length>=2,()=>`batchDot requires the rank of x to be >= 2, but got ${r.shape.length}`),y.assert(r.shape.length>=2,()=>`batchDot requires the rank of y to be >= 2, but got ${e.shape.length}`),typeof t=="number"&&(t=[t,t]),r.dtype==="complex64"||e.dtype==="complex64")throw new Se("batchDot is not implemented for complex64-type Tensors yet.");let n=r.shape.length,o=e.shape.length;t==null&&(t=[n-1,o-2]);let s=t;return V(()=>{let a;if(n>o){a=n-o;let l=[];for(let u=0;un){a=o-n;let l=[];for(let u=0;u0){let l;n>o?l=n+o-3:l=n-1;let u=[];for(let c=l;c"A `Dot` layer should be called on a list of exactly 2 inputs.");let t=e[0],n=e[1];if(t.length>3||n.length>3)throw new Se("Dot layer does not support tensors of 4D or higher rank yet.");let o=this.interpretAxes(t,n);if(t[o[0]]!==n[o[1]])throw new B(`Dimension incompatibility: ${t[o[0]]} !== ${n[o[1]]}`)}mergeFunction(e){if(e.length!==2)throw new B(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${e.length} input(s).`);let t=e[0],n=e[1],o;return Array.isArray(this.axes)?o=this.axes.map((s,a)=>Gd(s,e[a].shape.length)):o=[Gd(this.axes,t.shape.length),Gd(this.axes,n.shape.length)],this.normalize&&(t=rd(t,o[0]),n=rd(n,o[1])),EQ(t,n,o)}interpretAxes(e,t){let n;return Array.isArray(this.axes)?n=this.axes:n=[Gd(this.axes,e.length),Gd(this.axes,t.length)],n}computeOutputShape(e){y.assert(Array.isArray(e)&&e.length===2&&Array.isArray(e[0])&&Array.isArray(e[1]),()=>"A `Dot` layer should be called on a list of exactly 2 inputs.");let t=e[0].slice(),n=e[1].slice();if(t.length>3||n.length>3)throw new Se("Dot layer does not support tensors of 4D or higher rank yet.");let o=this.interpretAxes(t,n);t.splice(o[0],1),n.splice(o[1],1),n.splice(0,1);let s=t.concat(n);return s.length===1&&s.push(1),s}computeMask(e,t){return null}getConfig(){let e={axes:this.axes,normalize:this.normalize},t=super.getConfig();return Object.assign(e,t),e}};jd.className="Dot";J.registerClass(jd);var Wd=class extends Me{constructor(e){super(e);this.supportsMasking=!0,this.stddev=e.stddev}computeOutputShape(e){return e}getConfig(){let e=super.getConfig(),t={stddev:this.stddev};return Object.assign(t,e),t}call(e,t){return V(()=>{this.invokeCallHook(e,t);let n=Oe(e);return wl(()=>Ep(n.shape,0,this.stddev).add(n),()=>n,t.training||!1)})}};Wd.className="GaussianNoise";J.registerClass(Wd);var Ud=class extends Me{constructor(e){super(e);this.supportsMasking=!0,this.rate=e.rate}computeOutputShape(e){return e}getConfig(){let e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return V(()=>{this.invokeCallHook(e,t);let n=Oe(e);return this.rate>0&&this.rate<1?wl(()=>{let s=Math.sqrt(this.rate/(1-this.rate));return n.mul(Ep(n.shape,1,s))},()=>n,t.training||!1):n})}};Ud.className="GaussianDropout";J.registerClass(Ud);var qd=class extends Me{constructor(e){super(e);this.supportsMasking=!0,this.rate=e.rate,this.noiseShape=e.noiseShape}_getNoiseShape(e){return this.noiseShape||Oe(e).shape}computeOutputShape(e){return e}getConfig(){let e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return V(()=>{if(this.rate<1&&this.rate>0){let n=this._getNoiseShape(e);return wl(()=>{let s=Oe(e),a=1.6732632423543772,i=1.0507009873554805,l=-a*i,u=tn(Es(n),this.rate);u=ja(u,"float32");let c=((1-this.rate)*(1+this.rate*l**2))**-.5,p=-c*l*this.rate;return s.mul(u).add(u.add(-1).mul(l)).mul(c).add(p)},()=>Oe(e),t.training||!1)}return e})}};qd.className="AlphaDropout";J.registerClass(qd);function Hd(r,e,t,n,o,s=.001){let a;if(r.rank===2)a=_w(r,e,t,n,o,s);else if(r.rank===3)a=kw(r,e,t,n,o,s);else if(r.rank===4)a=vw(r,e,t,n,o,s);else throw new Se(`batchNormalization is not implemented for array of rank ${r.rank} yet`);return a}function AQ(r,e,t,n,o=.001){return V(()=>{let s=Yc(r,n),a=s.mean,i=s.variance;return[Hd(r,a,i,t,e,o),a,i]})}function DQ(r,e,t,n,o=.001){return V(()=>{let s=Yc(r,n),a=s.mean,i=s.variance,l=[];for(let d of Lr(0,r.rank))n.indexOf(d)!==-1?l.push(1):l.push(r.shape[d]);let u=a.reshape(l),c=i.reshape(l),p=e==null?null:e.reshape(l),m=t==null?null:t.reshape(l);return[Hd(r,u,c,m,p,o),a,i]})}function $Q(r,e,t,n,o=.001){return y.arraysEqual(n.slice().sort(),Lr(0,r.rank-1))?AQ(r,e,t,n,o):DQ(r,e,t,n,o)}var Kd=class extends Me{constructor(e){e==null&&(e={}),super(e),this.supportsMasking=!0,this.axis=e.axis==null?-1:e.axis,this.momentum=e.momentum==null?.99:e.momentum,this.epsilon=e.epsilon==null?.001:e.epsilon,this.center=e.center==null?!0:e.center,this.scale=e.scale==null?!0:e.scale,this.betaInitializer=dt(e.betaInitializer||"zeros"),this.gammaInitializer=dt(e.gammaInitializer||"ones"),this.movingMeanInitializer=dt(e.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=dt(e.movingVarianceInitializer||"ones"),this.betaConstraint=Lt(e.betaConstraint),this.gammaConstraint=Lt(e.gammaConstraint),this.betaRegularizer=_t(e.betaRegularizer),this.gammaRegularizer=_t(e.gammaRegularizer)}build(e){e=et(e);let t=this.axis>=0?this.axis:this.axis+e.length,n=e[t];if(n==null)throw new B(`Axis ${t} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(e)}.`);this.inputSpec=[new At({ndim:e.length,axes:{[t]:n}})];let o=[n];this.scale&&(this.gamma=this.addWeight("gamma",o,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",o,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",o,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",o,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(e,t){return V(()=>{let n=t.training==null?!1:t.training,o=Oe(e),s=o.shape,a=s.length,i=Lr(0,a),l=this.axis>=0?this.axis:this.axis+a;i.splice(l,1);let u=Ko(1,a);u[l]=s[l];let c=i.slice();c.sort();let p=!y.arraysEqual(c,Lr(0,a).slice(0,a-1)),m=()=>{if(p){let b=this.movingMean.read().reshape(u),w=this.movingVariance.read().reshape(u),_=this.center?this.beta.read().reshape(u):null,k=this.scale?this.gamma.read().reshape(u):null;return Hd(o,b,w,_,k,this.epsilon)}else return Hd(o,this.movingMean.read(),this.movingVariance.read(),this.beta==null?null:this.beta.read(),this.gamma==null?null:this.gamma.read(),this.epsilon)};if(!n)return m();let[f,d,h]=$Q(o,this.gamma.read(),this.beta.read(),i,this.epsilon),g=(b,w,_)=>{V(()=>{let k=1-_,E=b.read(),S=E.sub(w).mul(k);b.write(E.sub(S))})};return(()=>{g(this.movingMean,d,this.momentum),g(this.movingVariance,h,this.momentum)})(),f})}getConfig(){let e={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Nt(this.betaInitializer),gammaInitializer:Nt(this.gammaInitializer),movingMeanInitializer:Nt(this.movingMeanInitializer),movingVarianceInitializer:Nt(this.movingVarianceInitializer),betaRegularizer:lt(this.betaRegularizer),gammaRegularizer:lt(this.gammaRegularizer),betaConstraint:Mt(this.betaConstraint),gammaConstraint:Mt(this.gammaConstraint)},t=super.getConfig();return Object.assign(e,t),e}};Kd.className="BatchNormalization";J.registerClass(Kd);var Xd=class extends Me{constructor(e){if(e==null&&(e={}),super(e),this.axis=e.axis==null?-1:e.axis,typeof this.axis=="number"){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else if(Array.isArray(this.axis)){for(let t of this.axis)if(!Number.isInteger(t))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}else throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);this.epsilon=e.epsilon==null?.001:e.epsilon,this.center=e.center==null?!0:e.center,this.scale=e.scale==null?!0:e.scale,this.betaInitializer=dt(e.betaInitializer||"zeros"),this.gammaInitializer=dt(e.gammaInitializer||"ones"),this.betaRegularizer=_t(e.betaRegularizer),this.gammaRegularizer=_t(e.gammaRegularizer),this.supportsMasking=!0}build(e){e=et(e);let t=e.length;typeof this.axis=="number"&&(this.axis=[this.axis]);for(let s=0;s=t)throw new Error(`Invalid axis: ${s}`);if(this.axis.length!==Zo(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);let n=this.axis.map(s=>e[s]),o=!0;this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,o):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,o):this.beta=null,this.built=!0}call(e,t){let n=Oe(e),o=n.shape,s=o.length;return V(()=>{let a=!0,{mean:i,variance:l}=Yc(n,this.axis,a),u=Ko(1,s);for(let h of this.axis)u[h]=o[h];let c=h=>h!=null&&h.shape.length!==s&&this.axis!==[s-1]?h.reshape(u):h,p=c(this.gamma.read()),m=c(this.beta.read()),f=[],d=[];for(let h=0;h{if(r.rank!==4)throw new B(`temporalPadding expects input tensor to be 4-D, but received a ${r.rank}-D tensor.`);if(e==null&&(e=[[1,1],[1,1]]),e.length!==2||e[0].length!==2||e[1].length!==2)throw new B("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(t==null&&(t=Kr()),t!=="channelsLast"&&t!=="channelsFirst")throw new B(`Unknown data format: ${t}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let n;return t==="channelsFirst"?n=[[0,0],[0,0],e[0],e[1]]:n=[[0,0],e[0],e[1],[0,0]],Rr(r,n)})}var Yd=class extends Me{constructor(e){if(e==null&&(e={}),super(e),this.dataFormat=e.dataFormat==null?Kr():e.dataFormat,e.padding==null)this.padding=[[1,1],[1,1]];else if(typeof e.padding=="number")this.padding=[[e.padding,e.padding],[e.padding,e.padding]];else{if(e.padding=e.padding,e.padding.length!==2)throw new B(`ZeroPadding2D expects padding to be a length-2 array, but received a length-${e.padding.length} array.`);let t,n;if(typeof e.padding[0]=="number")t=[e.padding[0],e.padding[0]],n=[e.padding[1],e.padding[1]];else{if(e.padding=e.padding,e.padding[0].length!==2)throw new B(`ZeroPadding2D expects height padding to be a length-2 array, but received a length-${e.padding[0].length} array.`);if(t=e.padding[0],e.padding[1].length!==2)throw new B(`ZeroPadding2D expects width padding to be a length-2 array, but received a length-${e.padding[1].length} array.`);n=e.padding[1]}this.padding=[t,n]}this.inputSpec=[new At({ndim:4})]}computeOutputShape(e){e=et(e);let t,n;return this.dataFormat==="channelsFirst"?(e[2]!=null&&e[2]>=0?t=e[2]+this.padding[0][0]+this.padding[0][1]:t=null,e[3]!=null&&e[3]>=0?n=e[3]+this.padding[1][0]+this.padding[1][1]:n=null,[e[0],e[1],t,n]):(e[1]!=null&&e[1]>=0?t=e[1]+this.padding[0][0]+this.padding[0][1]:t=null,e[2]!=null&&e[2]>=0?n=e[2]+this.padding[1][0]+this.padding[1][1]:n=null,[e[0],t,n,e[3]])}call(e,t){return V(()=>RQ(Oe(e),this.padding,this.dataFormat))}getConfig(){let e={padding:this.padding,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}};Yd.className="ZeroPadding2D";J.registerClass(Yd);function Wx(r,e,t,n,o,s){return V(()=>{Ft(o),T0(s),Xr(n),t==null&&(t=[1,1]),n==null&&(n="valid"),o==null&&(o=Kr()),s==null&&(s="max"),r=xd(r,o);let a,i=n==="same"?"same":"valid";return s==="max"?a=Ea(r,e,t,i):a=va(r,e,t,i),o==="channelsFirst"&&(a=We(a,[0,3,1,2])),a})}function WL(r,e,t,n,o,s){return V(()=>{Ft(o),T0(s),Xr(n),t==null&&(t=[1,1,1]),n==null&&(n="valid"),o==null&&(o=Kr()),s==null&&(s="max"),r=nC(r,o);let a,i=n==="same"?"same":"valid";return s==="max"?a=qm(r,e,t,i):a=Om(r,e,t,i),o==="channelsFirst"&&(a=We(a,[0,4,1,2,3])),a})}var lC=class extends Me{constructor(e){if(e.poolSize==null&&(e.poolSize=2),super(e),typeof e.poolSize=="number")this.poolSize=[e.poolSize];else if(Array.isArray(e.poolSize)&&e.poolSize.length===1&&typeof e.poolSize[0]=="number")this.poolSize=e.poolSize;else throw new B(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.poolSize)}`);if(qt(this.poolSize,"poolSize"),e.strides==null)this.strides=this.poolSize;else if(typeof e.strides=="number")this.strides=[e.strides];else if(Array.isArray(e.strides)&&e.strides.length===1&&typeof e.strides[0]=="number")this.strides=e.strides;else throw new B(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.strides)}`);qt(this.strides,"strides"),this.padding=e.padding==null?"valid":e.padding,Xr(this.padding),this.inputSpec=[new At({ndim:3})]}computeOutputShape(e){e=et(e);let t=un(e[1],this.poolSize[0],this.padding,this.strides[0]);return[e[0],t,e[2]]}call(e,t){return V(()=>{this.invokeCallHook(e,t),e=Wa(Oe(e),2);let n=this.poolingFunction(Oe(e),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return _n(n,[2])})}getConfig(){let e={poolSize:this.poolSize,padding:this.padding,strides:this.strides},t=super.getConfig();return Object.assign(e,t),e}},Zd=class extends lC{constructor(e){super(e)}poolingFunction(e,t,n,o,s){return Ft(s),Xr(o),Wx(e,t,n,o,s,"max")}};Zd.className="MaxPooling1D";J.registerClass(Zd);var Jd=class extends lC{constructor(e){super(e)}poolingFunction(e,t,n,o,s){return Ft(s),Xr(o),Wx(e,t,n,o,s,"avg")}};Jd.className="AveragePooling1D";J.registerClass(Jd);var uC=class extends Me{constructor(e){if(e.poolSize==null&&(e.poolSize=[2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize],e.strides==null)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(e.strides.length!==2)throw new B(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides];qt(this.poolSize,"poolSize"),qt(this.strides,"strides"),this.padding=e.padding==null?"valid":e.padding,this.dataFormat=e.dataFormat==null?"channelsLast":e.dataFormat,Ft(this.dataFormat),Xr(this.padding),this.inputSpec=[new At({ndim:4})]}computeOutputShape(e){e=et(e);let t=this.dataFormat==="channelsFirst"?e[2]:e[1],n=this.dataFormat==="channelsFirst"?e[3]:e[2];return t=un(t,this.poolSize[0],this.padding,this.strides[0]),n=un(n,this.poolSize[1],this.padding,this.strides[1]),this.dataFormat==="channelsFirst"?[e[0],e[1],t,n]:[e[0],t,n,e[3]]}call(e,t){return V(()=>(this.invokeCallHook(e,t),this.poolingFunction(Oe(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}},Qd=class extends uC{constructor(e){super(e)}poolingFunction(e,t,n,o,s){return Ft(s),Xr(o),Wx(e,t,n,o,s,"max")}};Qd.className="MaxPooling2D";J.registerClass(Qd);var eh=class extends uC{constructor(e){super(e)}poolingFunction(e,t,n,o,s){return Ft(s),Xr(o),Wx(e,t,n,o,s,"avg")}};eh.className="AveragePooling2D";J.registerClass(eh);var cC=class extends Me{constructor(e){if(e.poolSize==null&&(e.poolSize=[2,2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize,e.poolSize],e.strides==null)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(e.strides.length!==3)throw new B(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides,e.strides];qt(this.poolSize,"poolSize"),qt(this.strides,"strides"),this.padding=e.padding==null?"valid":e.padding,this.dataFormat=e.dataFormat==null?"channelsLast":e.dataFormat,Ft(this.dataFormat),Xr(this.padding),this.inputSpec=[new At({ndim:5})]}computeOutputShape(e){e=et(e);let t=this.dataFormat==="channelsFirst"?e[2]:e[1],n=this.dataFormat==="channelsFirst"?e[3]:e[2],o=this.dataFormat==="channelsFirst"?e[4]:e[3];return t=un(t,this.poolSize[0],this.padding,this.strides[0]),n=un(n,this.poolSize[1],this.padding,this.strides[1]),o=un(o,this.poolSize[2],this.padding,this.strides[2]),this.dataFormat==="channelsFirst"?[e[0],e[1],t,n,o]:[e[0],t,n,o,e[4]]}call(e,t){return V(()=>(this.invokeCallHook(e,t),this.poolingFunction(Oe(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}},th=class extends cC{constructor(e){super(e)}poolingFunction(e,t,n,o,s){return Ft(s),Xr(o),WL(e,t,n,o,s,"max")}};th.className="MaxPooling3D";J.registerClass(th);var rh=class extends cC{constructor(e){super(e)}poolingFunction(e,t,n,o,s){return Ft(s),Xr(o),WL(e,t,n,o,s,"avg")}};rh.className="AveragePooling3D";J.registerClass(rh);var pC=class extends Me{constructor(e){super(e);this.inputSpec=[new At({ndim:3})]}computeOutputShape(e){return[e[0],e[2]]}call(e,t){throw new Se}},nh=class extends pC{constructor(e){super(e||{})}call(e,t){return V(()=>{let n=Oe(e);return gt(n,1)})}};nh.className="GlobalAveragePooling1D";J.registerClass(nh);var oh=class extends pC{constructor(e){super(e||{})}call(e,t){return V(()=>{let n=Oe(e);return lr(n,1)})}};oh.className="GlobalMaxPooling1D";J.registerClass(oh);var mC=class extends Me{constructor(e){super(e);this.dataFormat=e.dataFormat==null?"channelsLast":e.dataFormat,Ft(this.dataFormat),this.inputSpec=[new At({ndim:4})]}computeOutputShape(e){return e=e,this.dataFormat==="channelsLast"?[e[0],e[3]]:[e[0],e[1]]}call(e,t){throw new Se}getConfig(){let e={dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}},sh=class extends mC{call(e,t){return V(()=>{let n=Oe(e);return this.dataFormat==="channelsLast"?gt(n,[1,2]):gt(n,[2,3])})}};sh.className="GlobalAveragePooling2D";J.registerClass(sh);var ih=class extends mC{call(e,t){return V(()=>{let n=Oe(e);return this.dataFormat==="channelsLast"?lr(n,[1,2]):lr(n,[2,3])})}};ih.className="GlobalMaxPooling2D";J.registerClass(ih);var fC=class extends Me{constructor(e){super(e);this.layer=e.layer}build(e){this.built=!0}get trainable(){return this.layer!=null?this.layer.trainable:!1}set trainable(e){this.layer!=null&&(this.layer.trainable=e)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(e){this.layer.setWeights(e)}getConfig(){let e={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},t=super.getConfig();return Object.assign(e,t),e}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),this.layer!=null&&this.layer.setFastWeightInitDuringBuild(e)}static fromConfig(e,t,n={}){let o=t.layer,s=Yr(o,n);delete t.layer;let a={layer:s};return Object.assign(a,t),new e(a)}},ah=class extends fC{constructor(e){super(e);this.supportsMasking=!0}build(e){if(e=et(e),e.length<3)throw new B(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(e)}`);this.inputSpec=[{shape:e}];let t=[e[0]].concat(e.slice(2));this.layer.built||(this.layer.build(t),this.layer.built=!0),super.build(e)}computeOutputShape(e){e=et(e);let t=[e[0]].concat(e.slice(2)),n=this.layer.computeOutputShape(t),o=e[1];return[n[0],o].concat(n.slice(1))}call(e,t){return V(()=>(e=Oe(e),iC((a,i)=>[Oe(this.layer.call(a,t)),[]],e,[],!1,null,null,!1,!0)[1]))}};ah.className="TimeDistributed";J.registerClass(ah);function FQ(r){qi(XM,"BidirectionalMergeMode",r)}var OQ="concat",lh=class extends fC{constructor(e){super(e);let t=e.layer.getConfig(),n={};n.className=e.layer.getClassName(),n.config=t,this.forwardLayer=Yr(n),t.goBackwards=t.goBackwards!==!0;let o={};if(o.className=e.layer.getClassName(),o.config=t,this.backwardLayer=Yr(o),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=e.mergeMode===void 0?OQ:e.mergeMode,FQ(this.mergeMode),e.weights)throw new Se("weights support is not implemented for Bidirectional layer yet.");this._stateful=e.layer.stateful,this.returnSequences=e.layer.returnSequences,this.returnState=e.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=e.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(e){this._trainable=e,this.forwardLayer!=null&&(this.forwardLayer.trainable=e),this.backwardLayer!=null&&(this.backwardLayer.trainable=e)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(e){let t=e.length,n=Math.floor(t/2);this.forwardLayer.setWeights(e.slice(0,n)),this.backwardLayer.setWeights(e.slice(n))}computeOutputShape(e){let t=this.forwardLayer.computeOutputShape(e);Array.isArray(t)&&Array.isArray(t[0])||(t=[t]),t=t;let n,o,s;return this.returnState&&(s=t.slice(1)),n=t[0],n=n,this.mergeMode==="concat"?(n[n.length-1]*=2,o=[n]):this.mergeMode==null?o=[n,n.slice()]:o=[n],this.returnState?this.mergeMode==null?o.concat(s).concat(s.slice()):[n].concat(s).concat(s.slice()):gr(o)}apply(e,t){let n=t==null?null:t.initialState,o=t==null?null:t.constants;t==null&&(t={});let s=sC(e,n,o,this.numConstants);if(e=s.inputs,n=s.initialState,o=s.constants,Array.isArray(e)&&(n=e.slice(1),e=e[0]),(n==null||n.length===0)&&o==null)return super.apply(e,t);let a=[],i=[];if(n!=null){let u=n.length;if(u%2>0)throw new B("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");t.initialState=n,a.push(...n);let c=n.map(p=>new At({shape:p.shape}));this.forwardLayer.stateSpec=c.slice(0,u/2),this.backwardLayer.stateSpec=c.slice(u/2),i.push(...c)}if(o!=null)throw new Se("Support for constants in Bidirectional layers is not implemented yet.");let l=a[0]instanceof Br;for(let u of a)if(u instanceof Br!==l)throw new B("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(l){let u=[e].concat(a),c=this.inputSpec.concat(i),p=this.inputSpec;this.inputSpec=c;let m=super.apply(u,t);return this.inputSpec=p,m}else return super.apply(e,t)}call(e,t){return V(()=>{let n=t.initialState,o,s;if(n==null)o=this.forwardLayer.call(e,t),s=this.backwardLayer.call(e,t);else{let l=n.slice(0,n.length/2),u=n.slice(n.length/2);o=this.forwardLayer.call(e,Object.assign(t,{initialState:l})),s=this.backwardLayer.call(e,Object.assign(t,{initialState:u}))}let a;this.returnState&&(Array.isArray(o)&&(a=o.slice(1).concat(s.slice(1))),o=o[0],s=s[0]),this.returnSequences&&(s=Kt(s,1));let i;return this.mergeMode==="concat"?i=Tp([o,s]):this.mergeMode==="sum"?i=Q(o,s):this.mergeMode==="ave"?i=M(.5,Q(o,s)):this.mergeMode==="mul"?i=M(o,s):this.mergeMode==null&&(i=[o,s]),this.returnState?this.mergeMode==null?i.concat(a):[i].concat(a):i})}resetStates(e){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(e){Ps(this.forwardLayer.name,()=>{this.forwardLayer.build(e)}),Ps(this.backwardLayer.name,()=>{this.backwardLayer.build(e)}),this.built=!0}computeMask(e,t){Array.isArray(t)&&(t=t[0]);let n;if(this.returnSequences?this.mergeMode==null?n=[t,t]:n=t:this.mergeMode==null?n=[null,null]:n=null,this.returnState){let s=this.forwardLayer.states.map(a=>null);return Array.isArray(n)?n.concat(s).concat(s):[n].concat(s).concat(s)}else return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),this.forwardLayer!=null&&this.forwardLayer.setFastWeightInitDuringBuild(e),this.backwardLayer!=null&&this.backwardLayer.setFastWeightInitDuringBuild(e)}getConfig(){let e={mergeMode:this.mergeMode},t=super.getConfig();return Object.assign(e,t),e}static fromConfig(e,t){let n=Yr(t.layer);if(delete t.layer,t.numConstants!=null)throw new Se("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");let o=t;return o.layer=n,new e(o)}};lh.className="Bidirectional";J.registerClass(lh);function PQ(r){return new Hi(r)}function MQ(r){return new fd(r)}function LQ(r){return new cd(r)}function zQ(r){return new pd(r)}function BQ(r){return new md(r)}function VQ(r){return new hd(r)}function GQ(r){return new dd(r)}function jQ(r){return new dc(r)}function WQ(r){return new Sl(r)}function UQ(r){return new yd(r)}function qQ(r){return new fc(r)}function HQ(r){return new bd(r)}function KQ(r){return new wd(r)}function XQ(r){return new _d(r)}function YQ(r){return new kd(r)}function ZQ(r){return new Ad(r)}function JQ(r){return new Td(r)}function QQ(r){return new Xp(r)}function eee(r){return new Sd(r)}function tee(r){return new Ed(r)}function ree(r){return new Dd(r)}function nee(r){return new $d(r)}function oee(r){return new Rd(r)}function see(r){return new Od(r)}function iee(r){return new Pd(r)}function aee(r){return new Ld(r)}function lee(r){return new Vd(r)}function uee(r){return new zd(r)}function cee(r){return new Bd(r)}function pee(r){return new Md(r)}function mee(r){return new jd(r)}function fee(r){return new Kd(r)}function dee(r){return new Xd(r)}function hee(r){return new Yd(r)}function hC(r){return new Jd(r)}function gee(r){return hC(r)}function xee(r){return hC(r)}function gC(r){return new eh(r)}function yee(r){return gC(r)}function bee(r){return gC(r)}function xC(r){return new rh(r)}function wee(r){return xC(r)}function _ee(r){return xC(r)}function kee(r){return new nh(r)}function vee(r){return new sh(r)}function UL(r){return new oh(r)}function qL(r){return new ih(r)}function HL(r){return new Zd(r)}function KL(r){return new Qd(r)}function Cee(r){return new th(r)}function Iee(r){return new Cd(r)}function Nee(r){return new Hp(r)}function See(r){return new Id(r)}function Tee(r){return new El(r)}function Eee(r){return new vd(r)}function Aee(r){return new qp(r)}function Dee(r){return new Nd(r)}function $ee(r){return new Kp(r)}function Ree(r){return new cn(r)}function Fee(r){return new Up(r)}function Oee(r){return new lh(r)}function Pee(r){return new ah(r)}var Mee=UL,Lee=qL,zee=HL,Bee=KL;function Vee(r){return new Wd(r)}function Gee(r){return new Ud(r)}function jee(r){return new qd(r)}function Wee(r){return new Fd(r)}var yC={};Ye(yC,{MAPE:()=>tte,MSE:()=>ote,binaryAccuracy:()=>Uee,binaryCrossentropy:()=>qee,categoricalAccuracy:()=>Kee,categoricalCrossentropy:()=>Xee,cosineProximity:()=>Jee,mape:()=>rte,meanAbsoluteError:()=>Qee,meanAbsolutePercentageError:()=>ete,meanSquaredError:()=>nte,mse:()=>ste,precision:()=>Yee,recall:()=>Zee,sparseCategoricalAccuracy:()=>Hee});function Uee(r,e){return sd(r,e)}function qee(r,e){return Rx(r,e)}function Hee(r,e){return Fx(r,e)}function Kee(r,e){return id(r,e)}function Xee(r,e){return ad(r,e)}function Yee(r,e){return F0(r,e)}function Zee(r,e){return hL(r,e)}function Jee(r,e){return nd(r,e)}function Qee(r,e){return zp(r,e)}function ete(r,e){return Cl(r,e)}function tte(r,e){return Cl(r,e)}function rte(r,e){return Cl(r,e)}function nte(r,e){return Xi(r,e)}function ote(r,e){return Xi(r,e)}function ste(r,e){return Xi(r,e)}var bC={};Ye(bC,{modelFromJSON:()=>RL});var wC={};Ye(wC,{l1:()=>ate,l1l2:()=>ite,l2:()=>lte});function ite(r){return new pc(r)}function ate(r){return zL(r)}function lte(r){return BL(r)}var Ux=class extends vl{constructor(){super(...arguments);this.model=null}setModel(e){if(!(e instanceof In))throw new Error("model must be a LayersModel, not some other Container");this.model=e}};function qx(r,e){return re}var Hx=class extends Ux{constructor(e){super();if(e==null&&(e={}),e.restoreBestWeights)throw new Se("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=e.monitor||"val_loss",this.minDelta=Math.abs(e.minDelta||0),this.patience=e.patience||0,this.verbose=e.verbose||0,this.mode=e.mode||"auto",this.baseline=e.baseline,["auto","min","max"].indexOf(this.mode)===-1&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),this.mode==="min"?this.monitorFunc=qx:this.mode==="max"?this.monitorFunc=XL:this.monitor.indexOf("acc")!==-1?this.monitorFunc=XL:this.monitorFunc=qx,this.monitorFunc===qx&&(this.minDelta*=-1)}async onTrainBegin(e){this.wait=0,this.stoppedEpoch=0,this.baseline!=null?this.best=this.baseline:this.best=this.monitorFunc===qx?Infinity:-Infinity}async onEpochEnd(e,t){await Ki(t);let n=this.getMonitorValue(t);n!=null&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=e,this.model.stopTraining=!0)))}async onTrainEnd(e){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(e){e==null&&(e={});let t=e[this.monitor];return t==null&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(e)}`),t}};function ute(r){return new Hx(r)}var YL={earlyStopping:ute};var es;(function(r){r[r.DT_INVALID=0]="DT_INVALID",r[r.DT_FLOAT=1]="DT_FLOAT",r[r.DT_DOUBLE=2]="DT_DOUBLE",r[r.DT_INT32=3]="DT_INT32",r[r.DT_UINT8=4]="DT_UINT8",r[r.DT_INT16=5]="DT_INT16",r[r.DT_INT8=6]="DT_INT8",r[r.DT_STRING=7]="DT_STRING",r[r.DT_COMPLEX64=8]="DT_COMPLEX64",r[r.DT_INT64=9]="DT_INT64",r[r.DT_BOOL=10]="DT_BOOL",r[r.DT_QINT8=11]="DT_QINT8",r[r.DT_QUINT8=12]="DT_QUINT8",r[r.DT_QINT32=13]="DT_QINT32",r[r.DT_BFLOAT16=14]="DT_BFLOAT16",r[r.DT_FLOAT_REF=101]="DT_FLOAT_REF",r[r.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",r[r.DT_INT32_REF=103]="DT_INT32_REF",r[r.DT_UINT8_REF=104]="DT_UINT8_REF",r[r.DT_INT16_REF=105]="DT_INT16_REF",r[r.DT_INT8_REF=106]="DT_INT8_REF",r[r.DT_STRING_REF=107]="DT_STRING_REF",r[r.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",r[r.DT_INT64_REF=109]="DT_INT64_REF",r[r.DT_BOOL_REF=110]="DT_BOOL_REF",r[r.DT_QINT8_REF=111]="DT_QINT8_REF",r[r.DT_QUINT8_REF=112]="DT_QUINT8_REF",r[r.DT_QINT32_REF=113]="DT_QINT32_REF",r[r.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF"})(es||(es={}));var ZL;(function(r){let e;(function(t){t[t.LEGACY=0]="LEGACY",t[t.V1=1]="V1",t[t.V2=2]="V2"})(e=r.CheckpointFormatVersion||(r.CheckpointFormatVersion={}))})(ZL||(ZL={}));var _C={};function JL(r,e){let t={tfOpName:r,category:"custom",inputs:[],attrs:[],customExecutor:e};_C[r]=t}function Kx(r){return _C[r]}function QL(r){delete _C[r]}function C(r,e,t,n,o){let s=e.inputParams[r];if(s&&s.inputIndexStart!==void 0){let i=s.inputIndexStart,l=s.inputIndexEnd===0?void 0:s.inputIndexEnd===void 0?i+1:s.inputIndexEnd;if(s.type==="tensor")return xr(e.inputNames[s.inputIndexStart],t,n,o);if(s.type==="tensors")return e.inputNames.slice(i,l).map(m=>xr(m,t,n,o));let u=xr(e.inputNames.slice(i)[0],t,n,o),c=u.dataSync();return s.type==="number"?c[0]:y.toNestedArray(u.shape,c)}let a=e.attrParams[r];return a&&a.value}function xr(r,e,t,n){let[o,s]=Zr(r);if(n!=null){let i=n.getHashTableHandleByName(o);if(i!=null)return i}let a=t.currentContextIds.find(i=>!!e[Xx(o,i)]);return a!==void 0?e[Xx(o,a)][s]:void 0}function ez(r,e,t){return e[Xx(r,t.currentContextId)]}function Vs(r,e){let[t,n]=Zr(r);return[Xx(t,e&&e.currentContextId),n]}function Xx(r,e){return e?`${r}-${e}`:r}function Zr(r){let e=r.split(":");return e.length===1?[r,0]:[e[0],Number(e[e.length-1])]}function uh(r,e,t){let n=C("pad",r,e,t);if(n==="explicit"){n=C("explicitPaddings",r,e,t);let o=[[0,0],[0,0],[0,0],[0,0]];for(let s=0;s<4;s++)o[s][0]=n[s*2],o[s][1]=n[s*2+1];return o}return n}function Gs(r){return r.kept?r:Rn(r)}var kC={};Ye(kC,{json:()=>cte});var cte=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}];var vC={};Ye(vC,{json:()=>pte});var pte=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Prod",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axes",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}];var CC={};Ye(CC,{json:()=>mte});var mte=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]}];var IC={};Ye(IC,{json:()=>fte});var fte=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number"}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}];var NC={};Ye(NC,{json:()=>dte});var dte=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}];var SC={};Ye(SC,{json:()=>hte});var hte=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}];var TC={};Ye(TC,{json:()=>gte});var gte=[{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}];var EC={};Ye(EC,{json:()=>xte});var xte=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}];var AC={};Ye(AC,{json:()=>yte});var yte=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]}];var DC={};Ye(DC,{json:()=>bte});var bte=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]}];var $C={};Ye($C,{json:()=>wte});var wte=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}];var RC={};Ye(RC,{json:()=>_te});var _te=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}];var FC={};Ye(FC,{json:()=>kte});var kte=[{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"SparseToDense",category:"normalization",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!0,notSupported:!0}]}];var OC={};Ye(OC,{json:()=>vte});var vte=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}];var PC={};Ye(PC,{json:()=>Cte});var Cte=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]}];var MC={};Ye(MC,{json:()=>Ite});var Ite=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}];var LC={};Ye(LC,{json:()=>Nte});var Nte=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]}];var Yx=class{static get Instance(){return this._instance||(this._instance=new this)}constructor(){let e=[kC,vC,CC,IC,NC,SC,TC,$C,DC,EC,RC,FC,OC,PC,MC,LC,AC],t=[].concat(...e.map(n=>n.json));this.opMappers=t.reduce((n,o)=>(n[o.tfOpName]=o,n),{})}transformGraph(e,t={}){let n=e.node,o=[],s=[],a=[],i=n.reduce((h,g)=>(h[g.name]=this.mapNode(g),g.op.startsWith("Placeholder")?o.push(h[g.name]):g.op==="Const"?s.push(h[g.name]):(g.input==null||g.input.length===0)&&a.push(h[g.name]),h),{}),l=[],u=[],c={},p={};t!=null&&(c=this.mapSignatureEntries(t.inputs),p=this.mapSignatureEntries(t.outputs));let m=Object.keys(i);m.forEach(h=>{let g=i[h];g.inputNames.forEach(x=>{let[b]=Vs(x);g.inputs.push(i[b]),i[b].children.push(g)})}),Object.keys(p).length===0?m.forEach(h=>{let g=i[h];g.children.length===0&&u.push(g)}):Object.keys(p).forEach(h=>{let[g]=Vs(h),x=i[g];x!=null&&(x.signatureKey=p[h],u.push(x))}),Object.keys(c).length>0?Object.keys(c).forEach(h=>{let[g]=Vs(h),x=i[g];x&&(x.signatureKey=c[h],l.push(x))}):l=o;let f={};e.library!=null&&e.library.function!=null&&(f=e.library.function.reduce((h,g)=>(h[g.signature.name]=this.mapFunction(g),h),{}));let d={nodes:i,inputs:l,outputs:u,weights:s,placeholders:o,signature:t,functions:f};return a.length>0&&(d.initNodes=a),d}mapSignatureEntries(e){return Object.keys(e||{}).reduce((t,n)=>(t[e[n].name]=n,t),{})}mapNode(e){let t=Kx(e.op)||this.opMappers[e.op]||{};e.attr==null&&(e.attr={});let n={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map(o=>o.startsWith("^")?o.substr(1):o),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr};return t.inputs!=null&&(n.inputParams=t.inputs.reduce((o,s)=>(o[s.name]={type:s.type,inputIndexStart:s.start,inputIndexEnd:s.end},o),{})),t.attrs!=null&&(n.attrParams=t.attrs.reduce((o,s)=>{let a=s.type,i;switch(s.type){case"string":i=Zx(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Zx(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"string[]":i=oy(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=oy(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"number":i=Qx(e.attr,s.tfName,s.defaultValue||0),i===void 0&&!!s.tfDeprecatedName&&(i=Qx(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"number[]":i=ny(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=ny(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"bool":i=Jx(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=Jx(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"bool[]":i=iy(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=iy(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"shape":i=ry(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=ry(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"shape[]":i=sy(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=sy(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"dtype":i=ey(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=ey(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"dtype[]":i=ty(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=ty(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"func":i=tz(e.attr,s.tfName,s.defaultValue),i===void 0&&!!s.tfDeprecatedName&&(i=tz(e.attr,s.tfDeprecatedName,s.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${s.type} for op: ${e.op}`)}return o[s.name]={value:i,type:a},o},{})),n}mapFunction(e){let t=e.nodeDef,n=[],o=[],s={};t!=null&&(s=t.reduce((p,m)=>(p[m.name]=this.mapNode(m),m.op==="Const"&&o.push(p[m.name]),p),{}));let a=[],i=[];e.signature.inputArg.forEach(p=>{let[m]=Vs(p.name),f={name:m,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:zC(p.type),type:"dtype"}},children:[]};f.signatureKey=p.name,a.push(f),s[m]=f}),Object.keys(s).forEach(p=>{let m=s[p];m.inputNames.forEach(f=>{let[d]=Vs(f);m.inputs.push(s[d]),s[d].children.push(m)})});let u=e.ret;e.signature.outputArg.forEach(p=>{let[m,f]=Vs(u[p.name]),d=s[m];d!=null&&(d.defaultOutput=f,i.push(d))});let c=this.mapArgsToSignature(e);return{nodes:s,inputs:a,outputs:i,weights:o,placeholders:n,signature:c}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce((t,n)=>(t[n.name]=this.mapArgToTensorInfo(n),t),{}),outputs:e.signature.outputArg.reduce((t,n)=>(t[n.name]=this.mapArgToTensorInfo(n,e.ret),t),{})}}mapArgToTensorInfo(e,t){let n=e.name;return t!=null&&(n=t[n]),{name:n,dtype:e.type}}};function Ste(r){let e=W().global;if(typeof e.atob!="undefined")return e.atob(r);if(typeof Buffer!="undefined")return new Buffer(r,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}function rz(r,e){let t=Array.isArray(r)?String.fromCharCode.apply(null,r):Ste(r);return e?t:t.toLowerCase()}function Zx(r,e,t,n=!1){let o=r[e];return o!=null?rz(o.s,n):t}function Jx(r,e,t){let n=r[e];return n?n.b:t}function Qx(r,e,t){let n=r[e]||{},o=n.i!=null?n.i:n.f!=null?n.f:t;return typeof o=="number"?o:parseInt(o,10)}function zC(r){switch(typeof r=="string"&&(r=es[r]),r){case es.DT_FLOAT:return"float32";case es.DT_INT32:case es.DT_INT64:case es.DT_INT8:case es.DT_UINT8:return"int32";case es.DT_BOOL:return"bool";case es.DT_DOUBLE:return"float32";case es.DT_STRING:return"string";default:return null}}function tz(r,e,t){let n=r[e];return n&&n.func?n.func.name:t}function ey(r,e,t){let n=r[e];return n&&n.type?zC(n.type):t}function ty(r,e,t){let n=r[e];return n&&n.list&&n.list.type?n.list.type.map(o=>zC(o)):t}function nz(r){if(!r.unknownRank)return r.dim!=null?r.dim.map(e=>typeof e.size=="number"?e.size:parseInt(e.size,10)):[]}function ry(r,e,t){let n=r[e];return n&&n.shape?nz(n.shape):t}function ny(r,e,t){let n=r[e];return n?((n.list.f&&n.list.f.length?n.list.f:n.list.i)||[]).map(o=>typeof o=="number"?o:parseInt(o,10)):t}function oy(r,e,t,n=!1){let o=r[e];return o&&o.list&&o.list.s?o.list.s.map(s=>rz(s,n)):t}function sy(r,e,t){let n=r[e];return n&&n.list&&n.list.shape?n.list.shape.map(o=>nz(o)):t}function iy(r,e,t){let n=r[e];return n&&n.list&&n.list.b?n.list.b:t}var BC=class{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map(o=>this.getInput(o)),e.rawAttrs!=null&&(this.attrs=Object.keys(e.rawAttrs).reduce((o,s)=>(o[s]=this.getAttr(s),o),{}))}getInput(e){return xr(e,this.tensorMap,this.context)}getAttr(e,t){let n=this.node.rawAttrs[e];if(n.tensor!=null)return xr(e,this.tensorMap,this.context);if(n.i!=null||n.f!=null)return Qx(this.node.rawAttrs,e,t);if(n.s!=null)return Zx(this.node.rawAttrs,e,t);if(n.b!=null)return Jx(this.node.rawAttrs,e,t);if(n.shape!=null)return ry(this.node.rawAttrs,e,t);if(n.type!=null)return ey(this.node.rawAttrs,e,t);if(n.list!=null){if(n.list.i!=null||n.list.f!=null)return ny(this.node.rawAttrs,e,t);if(n.list.s!=null)return oy(this.node.rawAttrs,e,t);if(n.list.shape!=null)return sy(this.node.rawAttrs,e,t);if(n.list.b!=null)return iy(this.node.rawAttrs,e,t);if(n.list.type!=null)return ty(this.node.rawAttrs,e,t)}return t}};var oz=(r,e,t)=>{switch(r.op){case"BiasAdd":case"AddV2":case"Add":return[Q(C("a",r,e,t),C("b",r,e,t))];case"AddN":return[xw(C("tensors",r,e,t))];case"FloorMod":case"Mod":return[Km(C("a",r,e,t),C("b",r,e,t))];case"Mul":return[M(C("a",r,e,t),C("b",r,e,t))];case"RealDiv":case"Div":return[de(C("a",r,e,t),C("b",r,e,t))];case"DivNoNan":return[Bm(C("a",r,e,t),C("b",r,e,t))];case"FloorDiv":return[bu(C("a",r,e,t),C("b",r,e,t))];case"Sub":return[ue(C("a",r,e,t),C("b",r,e,t))];case"Minimum":return[Ts(C("a",r,e,t),C("b",r,e,t))];case"Maximum":return[Hr(C("a",r,e,t),C("b",r,e,t))];case"Pow":return[Fr(C("a",r,e,t),C("b",r,e,t))];case"SquaredDifference":return[Bu(C("a",r,e,t),C("b",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var sz=(r,e,t)=>{switch(r.op){case"Abs":case"ComplexAbs":return[Et(C("x",r,e,t))];case"Acos":return[Sm(C("x",r,e,t))];case"Acosh":return[Tm(C("x",r,e,t))];case"Asin":return[Am(C("x",r,e,t))];case"Asinh":return[Dm(C("x",r,e,t))];case"Atan":return[$m(C("x",r,e,t))];case"Atan2":return[Rm(C("x",r,e,t),C("y",r,e,t))];case"Atanh":return[Fm(C("x",r,e,t))];case"Ceil":return[Pm(C("x",r,e,t))];case"Complex":return[bn(C("real",r,e,t),C("imag",r,e,t))];case"Cos":return[Ia(C("x",r,e,t))];case"Cosh":return[Iu(C("x",r,e,t))];case"Elu":return[Is(C("x",r,e,t))];case"Erf":return[Vm(C("x",r,e,t))];case"Exp":return[Yt(C("x",r,e,t))];case"Expm1":return[Gm(C("x",r,e,t))];case"Floor":return[Ns(C("x",r,e,t))];case"Log":return[ar(C("x",r,e,t))];case"Log1p":return[Eu(C("x",r,e,t))];case"Imag":return[Su(C("x",r,e,t))];case"Neg":return[Ue(C("x",r,e,t))];case"Reciprocal":return[Xm(C("x",r,e,t))];case"Real":return[ul(C("x",r,e,t))];case"Relu":return[Nr(C("x",r,e,t))];case"Round":return[Ym(C("x",r,e,t))];case"Selu":return[Pu(C("x",r,e,t))];case"Sigmoid":return[Wr(C("x",r,e,t))];case"Sin":return[Mu(C("x",r,e,t))];case"Sign":return[Jm(C("x",r,e,t))];case"Sinh":return[Lu(C("x",r,e,t))];case"Softplus":return[Ss(C("x",r,e,t))];case"Sqrt":return[yt(C("x",r,e,t))];case"Square":return[Pe(C("x",r,e,t))];case"Tanh":return[Li(C("x",r,e,t))];case"Tan":return[rf(C("x",r,e,t))];case"ClipByValue":return[sr(C("x",r,e,t),C("clipValueMin",r,e,t),C("clipValueMax",r,e,t))];case"Relu6":return[Fu(C("x",r,e,t))];case"Rsqrt":return[Ou(xr(r.inputNames[0],e,t))];case"Prod":return[$u(C("x",r,e,t),C("axes",r,e,t))];case"LeakyRelu":return[Sa(C("x",r,e,t),C("alpha",r,e,t))];case"Prelu":return[Da(C("x",r,e,t),C("alpha",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function Nn(r,e,t=""){y.assert(Tte(r,e),()=>t+` Shapes ${r} and ${e} must match`)}function Tte(r,e){if(r.length!==e.length)return!1;for(let t=0;t{(e==null||!e.has(t.tensor.id))&&t.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);let t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map(t=>this.read(t))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);let n=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, - because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(this.size()===0&&(this.elementShape==null||this.elementShape.length===0)&&(this.elementShape=t.shape),Nn(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);n.tensor=t,Dt(t),n.written=!0,this.tensors[e]=n}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach((n,o)=>this.write(n,t[o]))}gather(e,t){if(!!t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let o=0;o=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(e,cr(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let n=0,o=e.map(l=>(n+=l,n));if(n!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to - tensor.shape[0], but sum of lengths is - ${n}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);let s=n===0?0:t.size/n,a=[];V(()=>{t=z(t,[1,n,s]);for(let l=0;l{if(n!==s.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${s.dtype}`);Nn(t,s.shape,"TensorList shape mismatch: "),Dt(s)}),this.idTensor=le(0),this.maxNumElements=o,Dt(this.idTensor)}get id(){return this.idTensor.id}copy(){return new hc([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach(t=>{(e==null||!e.has(t.id))&&t.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,n=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(n!==-1&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);return Nn(e,this.elementShape,"TensorList shape mismatch: "),V(()=>{let o=this.tensors.map(s=>z(s,e));return Vt(o,0)})}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(this.size()===0)throw new Error("Trying to pop from an empty list.");let n=this.tensors.pop();return Nn(n.shape,e,"TensorList shape mismatch: "),z(n,e)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(Nn(e.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");Dt(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(this.maxNumElements!==-1&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);this.tensors.length=e}getItem(e,t,n){if(n!==this.elementDtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${this.elementDtype}`);if(e<0||e>this.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(this.tensors[e]==null)throw new Error(`element at index ${e} is null.`);return Nn(this.tensors[e].shape,t,"TensorList shape mismatch: "),this.tensors[e]}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||this.maxNumElements!==-1&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);Nn(this.elementShape,t.shape,"TensorList shape mismatch: "),Dt(t),this.tensors[e]=t}gather(e,t,n){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);return Nn(this.elementShape,n,"TensorList shape mismatch: "),e=e.slice(0,this.size()),e.length===0?$r([],[0].concat(this.elementShape)):V(()=>{let o=e.map(s=>z(this.tensors[s],n));return Vt(o,0)})}concat(e,t){if(!!e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);return Nn(this.elementShape,t,"TensorList shape mismatch: "),this.size()===0?$r([],[0].concat(this.elementShape)):V(()=>{let n=this.tensors.map(o=>z(o,t));return Qe(n,0)})}};function iz(r,e,t){let n=r.dtype;if(r.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${r.shape}`);if(r.dtype!==t)throw new Error(`Invalid data types; op elements ${r.dtype}, but list elements ${t}`);let o=r.shape.slice(1);Nn(o,e,"TensorList shape mismatch: ");let s=cr(r);return new hc(s,e,n)}function az(r,e,t){return new hc([],r,e,t)}function lz(r,e,t,n){if(e.length!==r.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${e.length} vs. ${r.shape[0]}`);let o=Math.max(...e);if(n!=null&&n!==-1&&o>=n)throw new Error(`Max index must be < array size (${o} vs. ${n})`);let s=new hc([],t,r.dtype,n),a=cr(r,0);return e.forEach((i,l)=>{s.setItem(i,a[l])}),s}function uz(r,e,t){let n=0,o=e.map(l=>(n+=l,n));if(n!==r.shape[0])throw new Error(`Expected sum of lengths to be equal to - tensor.shape[0], but sum of lengths is - ${n}, and tensor's shape is: ${r.shape}`);let s=n===0?0:r.size/n,a=V(()=>{let l=[];r=z(r,[1,n,s]);for(let u=0;u{switch(r.op){case"If":case"StatelessIf":{let n=C("thenBranch",r,e,t),o=C("elseBranch",r,e,t),s=C("cond",r,e,t),a=C("args",r,e,t);return(await s.data())[0]?t.functionMap[n].executeFunctionAsync(a,t.tensorArrayMap,t.tensorListMap):t.functionMap[o].executeFunctionAsync(a,t.tensorArrayMap,t.tensorListMap)}case"While":case"StatelessWhile":{let n=C("body",r,e,t),o=C("cond",r,e,t),s=C("args",r,e,t),a=await t.functionMap[o].executeFunctionAsync(s,t.tensorArrayMap,t.tensorListMap),i=s.map(c=>c.id),l=await a[0].data();a.forEach(c=>{!c.kept&&i.indexOf(c.id)===-1&&c.dispose()});let u=s;for(;l[0];){let c=u;u=await t.functionMap[n].executeFunctionAsync(u,t.tensorArrayMap,t.tensorListMap);let p=u.map(f=>f.id);c.forEach(f=>{!f.kept&&i.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()});let m=await t.functionMap[o].executeFunctionAsync(u,t.tensorArrayMap,t.tensorListMap);l=await m[0].data(),m.forEach(f=>{!f.kept&&i.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()})}return u}case"LoopCond":{let n=C("pred",r,e,t);return[Gs(n)]}case"Switch":{let n=C("pred",r,e,t),o=C("data",r,e,t);return o.kept||(o=Gs(o)),(await n.data())[0]?[void 0,o]:[o,void 0]}case"Merge":{let n=r.inputNames.find(o=>xr(o,e,t)!==void 0);if(n){let o=xr(n,e,t);return[Gs(o)]}return}case"Enter":{let n=C("frameName",r,e,t),o=C("tensor",r,e,t);return t.enterFrame(n),[Gs(o)]}case"Exit":{let n=C("tensor",r,e,t);return t.exitFrame(),[Gs(n)]}case"NextIteration":{let n=C("tensor",r,e,t);return t.nextIteration(),[Gs(n)]}case"TensorArrayV3":{let n=C("size",r,e,t),o=C("dtype",r,e,t),s=C("elementShape",r,e,t),a=C("dynamicSize",r,e,t),i=C("clearAfterRead",r,e,t),l=C("identicalElementShapes",r,e,t),u=C("name",r,e,t),c=new VC(u,o,n,s,l,a,i);return t.addTensorArray(c),[c.idTensor,le(1)]}case"TensorArrayWriteV3":{let n=C("tensorArrayId",r,e,t),o=C("index",r,e,t),s=C("tensor",r,e,t),a=t.getTensorArray(n.id);return a.write(o,s),[a.idTensor]}case"TensorArrayReadV3":{let n=C("tensorArrayId",r,e,t),o=C("index",r,e,t);return[t.getTensorArray(n.id).read(o)]}case"TensorArrayGatherV3":{let n=C("tensorArrayId",r,e,t),o=C("indices",r,e,t),s=C("dtype",r,e,t);return[t.getTensorArray(n.id).gather(o,s)]}case"TensorArrayScatterV3":{let n=C("tensorArrayId",r,e,t),o=C("indices",r,e,t),s=C("tensor",r,e,t),a=t.getTensorArray(n.id);return a.scatter(o,s),[a.idTensor]}case"TensorArrayConcatV3":{let n=C("tensorArrayId",r,e,t),o=t.getTensorArray(n.id),s=C("dtype",r,e,t);return[o.concat(s)]}case"TensorArraySplitV3":{let n=C("tensorArrayId",r,e,t),o=C("tensor",r,e,t),s=C("lengths",r,e,t),a=t.getTensorArray(n.id);return a.split(s,o),[a.idTensor]}case"TensorArraySizeV3":{let n=C("tensorArrayId",r,e,t),o=t.getTensorArray(n.id);return[le(o.size(),"int32")]}case"TensorArrayCloseV3":{let n=C("tensorArrayId",r,e,t),o=t.getTensorArray(n.id);return o.clearAndClose(),[o.idTensor]}case"TensorListSetItem":{let n=C("tensorListId",r,e,t),o=C("index",r,e,t),s=C("tensor",r,e,t),a=t.getTensorList(n.id);return a.setItem(o,s),[a.idTensor]}case"TensorListGetItem":{let n=C("tensorListId",r,e,t),o=C("index",r,e,t),s=C("elementShape",r,e,t),a=C("elementDType",r,e,t);return[t.getTensorList(n.id).getItem(o,s,a)]}case"TensorListScatterV2":case"TensorListScatter":{let n=C("indices",r,e,t),o=C("tensor",r,e,t),s=C("elementShape",r,e,t),a=C("numElements",r,e,t),i=lz(o,n,s,a);return t.addTensorList(i),[i.idTensor]}case"TensorListReserve":case"EmptyTensorList":{let n=C("elementShape",r,e,t),o=C("elementDType",r,e,t),s;r.op==="TensorListReserve"?s="numElements":s="maxNumElements";let a=C(s,r,e,t),i=az(n,o,a);return t.addTensorList(i),[i.idTensor]}case"TensorListGather":{let n=C("tensorListId",r,e,t),o=C("indices",r,e,t),s=C("elementShape",r,e,t),a=C("elementDType",r,e,t);return[t.getTensorList(n.id).gather(o,a,s)]}case"TensorListStack":{let n=C("tensorListId",r,e,t),o=C("elementShape",r,e,t),s=C("elementDType",r,e,t),a=C("numElements",r,e,t);return[t.getTensorList(n.id).stack(o,s,a)]}case"TensorListFromTensor":{let n=C("tensor",r,e,t),o=C("elementShape",r,e,t),s=C("elementDType",r,e,t),a=iz(n,o,s);return t.addTensorList(a),[a.idTensor]}case"TensorListConcat":{let n=C("tensorListId",r,e,t),o=t.getTensorList(n.id),s=C("dtype",r,e,t),a=C("elementShape",r,e,t);return[o.concat(s,a)]}case"TensorListPushBack":{let n=C("tensorListId",r,e,t),o=C("tensor",r,e,t),s=t.getTensorList(n.id);return s.pushBack(o),[s.idTensor]}case"TensorListPopBack":{let n=C("tensorListId",r,e,t),o=C("elementShape",r,e,t),s=C("elementDType",r,e,t);return[t.getTensorList(n.id).popBack(o,s)]}case"TensorListSplit":{let n=C("tensor",r,e,t),o=C("elementShape",r,e,t),s=C("lengths",r,e,t),a=uz(n,s,o);return t.addTensorList(a),[a.idTensor]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};function pz(r,e,t){let[n,o]=C("fusedOps",r,e,t),s=n==="biasadd",a=o==="prelu",i=n==="fusedbatchnorm",l=C("numArgs",r,e,t);if(s){if(a&&l!==2)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&l!==1)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(i)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported.");let u=C("strides",r,e,t),c=uh(r,e,t),p=C("dataFormat",r,e,t).toUpperCase(),m=C("dilations",r,e,t),[f,d]=C("args",r,e,t),h=C("leakyreluAlpha",r,e,t);return{stride:u,pad:c,dataFormat:p,dilations:m,biasArg:f,preluArg:d,activationFunc:o,leakyreluAlpha:h}}var mz=(r,e,t)=>{switch(r.op){case"Conv1D":{let n=C("stride",r,e,t),o=C("pad",r,e,t),s=C("dataFormat",r,e,t).toUpperCase(),a=C("dilation",r,e,t);return[vu(C("x",r,e,t),C("filter",r,e,t),n,o,s,a)]}case"Conv2D":{let n=C("strides",r,e,t),o=uh(r,e,t),s=C("dataFormat",r,e,t).toUpperCase(),a=C("dilations",r,e,t);return[Ur(C("x",r,e,t),C("filter",r,e,t),[n[1],n[2]],o,s,[a[1],a[2]])]}case"_FusedConv2D":{let{stride:n,pad:o,dataFormat:s,dilations:a,biasArg:i,preluArg:l,activationFunc:u,leakyreluAlpha:c}=pz(r,e,t);return[zo.conv2d({x:C("x",r,e,t),filter:C("filter",r,e,t),strides:[n[1],n[2]],pad:o,dataFormat:s,dilations:[a[1],a[2]],bias:i,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"FusedDepthwiseConv2dNative":{let{stride:n,pad:o,dataFormat:s,dilations:a,biasArg:i,preluArg:l,activationFunc:u,leakyreluAlpha:c}=pz(r,e,t);return[zo.depthwiseConv2d({x:C("x",r,e,t),filter:C("filter",r,e,t),strides:[n[1],n[2]],pad:o,dataFormat:s,dilations:[a[1],a[2]],bias:i,activation:u,preluActivationWeights:l,leakyreluAlpha:c})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{let n=C("outputShape",r,e,t),o=C("strides",r,e,t),s=uh(r,e,t);return[Cu(C("x",r,e,t),C("filter",r,e,t),n,[o[1],o[2]],s)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{let n=C("strides",r,e,t),o=uh(r,e,t),s=C("dilations",r,e,t),a=C("dataFormat",r,e,t).toUpperCase();return[Cs(C("input",r,e,t),C("filter",r,e,t),[n[1],n[2]],o,a,[s[1],s[2]])]}case"Conv3D":{let n=C("strides",r,e,t),o=C("pad",r,e,t),s=C("dataFormat",r,e,t).toUpperCase(),a=C("dilations",r,e,t);return[Mm(C("x",r,e,t),C("filter",r,e,t),[n[1],n[2],n[3]],o,s,[a[1],a[2],a[3]])]}case"AvgPool":{let n=C("strides",r,e,t),o=C("pad",r,e,t),s=C("kernelSize",r,e,t);return[va(C("x",r,e,t),[s[1],s[2]],[n[1],n[2]],o)]}case"MaxPool":{let n=C("strides",r,e,t),o=C("pad",r,e,t),s=C("kernelSize",r,e,t);return[Ea(C("x",r,e,t),[s[1],s[2]],[n[1],n[2]],o)]}case"MaxPoolWithArgmax":{let n=C("strides",r,e,t),o=C("pad",r,e,t),s=C("kernelSize",r,e,t),a=C("includeBatchInIndex",r,e,t),{result:i,indexes:l}=Bw(C("x",r,e,t),[s[1],s[2]],[n[1],n[2]],o,a);return[i,l]}case"AvgPool3D":{let n=C("strides",r,e,t),o=C("pad",r,e,t),s=C("kernelSize",r,e,t);return[Om(C("x",r,e,t),[s[1],s[2],s[3]],[n[1],n[2],n[3]],o)]}case"MaxPool3D":{let n=C("strides",r,e,t),o=C("pad",r,e,t),s=C("kernelSize",r,e,t);return[qm(C("x",r,e,t),[s[1],s[2],s[3]],[n[1],n[2],n[3]],o)]}case"Dilation2D":{let n=C("strides",r,e,t),o=C("pad",r,e,t),s=C("dilations",r,e,t),a=n[1],i=n[2],l=s[1],u=s[2];return[zm(C("x",r,e,t),C("filter",r,e,t),[a,i],o,[l,u],"NHWC")]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var fz=(r,e,t)=>{switch(r.op){case"Fill":{let n=C("shape",r,e,t),o=C("dtype",r,e,t),s=C("value",r,e,t);return[Na(n,s,o)]}case"LinSpace":{let n=C("start",r,e,t),o=C("stop",r,e,t),s=C("num",r,e,t);return[Fw(n,o,s)]}case"Multinomial":{let n=C("logits",r,e,t),o=C("numSamples",r,e,t),s=C("seed",r,e,t);return[Vw(n,o,s)]}case"OneHot":{let n=C("indices",r,e,t),o=C("depth",r,e,t),s=C("onValue",r,e,t),a=C("offValue",r,e,t);return[ks(n,o,s,a)]}case"Ones":return[Ir(C("shape",r,e,t),C("dtype",r,e,t))];case"OnesLike":return[tr(C("x",r,e,t))];case"RandomUniform":return[Es(C("shape",r,e,t),C("minval",r,e,t),C("maxval",r,e,t),C("dtype",r,e,t))];case"Range":{let n=C("start",r,e,t),o=C("stop",r,e,t),s=C("step",r,e,t);return[Jc(n,o,s,C("dtype",r,e,t))]}case"TruncatedNormal":{let n=C("shape",r,e,t),o=C("mean",r,e,t),s=C("stdDev",r,e,t),a=C("seed",r,e,t);return[Vu(n,o,s,C("dtype",r,e,t),a)]}case"Zeros":return[xt(C("shape",r,e,t),C("dtype",r,e,t))];case"ZerosLike":return[Ie(C("x",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function GC(r,e,t){let n=C("boxes",r,e,t),o=C("scores",r,e,t),s=C("maxOutputSize",r,e,t),a=C("iouThreshold",r,e,t),i=C("scoreThreshold",r,e,t),l=C("softNmsSigma",r,e,t);return{boxes:n,scores:o,maxOutputSize:s,iouThreshold:a,scoreThreshold:i,softNmsSigma:l}}var dz=async(r,e,t)=>{switch(r.op){case"NonMaxSuppressionV5":{let{boxes:n,scores:o,maxOutputSize:s,iouThreshold:a,scoreThreshold:i,softNmsSigma:l}=GC(r,e,t),u=await Ds.nonMaxSuppressionWithScoreAsync(n,o,s,a,i,l);return[u.selectedIndices,u.selectedScores]}case"NonMaxSuppressionV4":{let{boxes:n,scores:o,maxOutputSize:s,iouThreshold:a,scoreThreshold:i}=GC(r,e,t),l=C("padToMaxOutputSize",r,e,t),u=await Ds.nonMaxSuppressionPaddedAsync(n,o,s,a,i,l);return[u.selectedIndices,u.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{let{boxes:n,scores:o,maxOutputSize:s,iouThreshold:a,scoreThreshold:i}=GC(r,e,t);return[await Ds.nonMaxSuppressionAsync(n,o,s,a,i)]}case"Where":{let n=ne(C("condition",r,e,t),"bool"),o=[await sf(n)];return n.dispose(),o}case"ListDiff":return Zw(C("x",r,e,t),C("y",r,e,t));default:throw TypeError(`Node type ${r.op} is not implemented`)}};var hz=(r,e,t)=>{switch(r.op){case"TopKV2":{let n=C("x",r,e,t),o=C("k",r,e,t),s=C("sorted",r,e,t),a=nf(n,o,s);return[a.values,a.indices]}case"Unique":{let n=C("x",r,e,t),o=ep(n);return[o.values,o.indices]}case"UniqueV2":{let n=C("x",r,e,t),o=C("axis",r,e,t),s=ep(n,o);return[s.values,s.indices]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var gz=(r,e,t)=>{switch(r.op){case"Const":return e[r.name];case"PlaceholderWithDefault":let n=C("default",r,e,t);return[xr(r.name,e,t)||n];case"Placeholder":return[xr(r.name,e,t)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":{let u=C("x",r,e,t);return[Gs(u)]}case"IdentityN":return C("x",r,e,t).map(u=>Gs(u));case"Snapshot":let o=C("x",r,e,t);return[Gs(o)];case"Shape":return[Gt(C("x",r,e,t).shape,"int32")];case"ShapeN":return C("x",r,e,t).map(u=>Gt(u.shape));case"Size":return[le(C("x",r,e,t).size,"int32")];case"Rank":return[le(C("x",r,e,t).rank,"int32")];case"NoOp":return[le(1)];case"Print":let s=C("x",r,e,t),a=C("data",r,e,t),i=C("message",r,e,t),l=C("summarize",r,e,t);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(i);for(let u=0;ue.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}async import(e,t){this.checkKeyAndValueTensor(e,t);let n=await e.data();return this.tensorMap.forEach(o=>o.dispose()),this.tensorMap.clear(),V(()=>{let o=cr(t),s=n.length,a=o.length;y.assert(s===a,()=>`The number of elements doesn't match, keys has ${s} elements, the values has ${a} elements.`);for(let i=0;i{let o=[];for(let s=0;s{switch(r.op){case"HashTable":case"HashTableV2":{let o=C("keyDType",r,e,t),s=C("valueDType",r,e,t),a=new jC(o,s);return n.addHashTable(r.name,a),[a.handle]}case"LookupTableImport":case"LookupTableImportV2":{let o=C("tableHandle",r,e,t,n),s=C("keys",r,e,t),a=C("values",r,e,t);return[await n.getHashTableById(o.id).import(s,a)]}case"LookupTableFind":case"LookupTableFindV2":{let o=C("tableHandle",r,e,t,n),s=C("keys",r,e,t),a=C("defaultValue",r,e,t);return[await n.getHashTableById(o.id).find(s,a)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var yz=(r,e,t)=>{switch(r.op){case"ResizeBilinear":{let n=C("images",r,e,t),o=C("size",r,e,t),s=C("alignCorners",r,e,t),a=C("halfPixelCenters",r,e,t);return[Ds.resizeBilinear(n,[o[0],o[1]],s,a)]}case"ResizeNearestNeighbor":{let n=C("images",r,e,t),o=C("size",r,e,t),s=C("alignCorners",r,e,t),a=C("halfPixelCenters",r,e,t);return[Ds.resizeNearestNeighbor(n,[o[0],o[1]],s,a)]}case"CropAndResize":{let n=C("image",r,e,t),o=C("boxes",r,e,t),s=C("boxInd",r,e,t),a=C("cropSize",r,e,t),i=C("method",r,e,t),l=C("extrapolationValue",r,e,t);return[Ds.cropAndResize(n,o,s,a,i,l)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var bz=(r,e,t)=>{switch(r.op){case"Equal":return[wn(C("a",r,e,t),C("b",r,e,t))];case"NotEqual":return[Lo(C("a",r,e,t),C("b",r,e,t))];case"Greater":return[er(C("a",r,e,t),C("b",r,e,t))];case"GreaterEqual":return[tn(C("a",r,e,t),C("b",r,e,t))];case"Less":return[Tu(C("a",r,e,t),C("b",r,e,t))];case"LessEqual":return[Pn(C("a",r,e,t),C("b",r,e,t))];case"LogicalAnd":return[dr(C("a",r,e,t),C("b",r,e,t))];case"LogicalNot":return[Ta(C("a",r,e,t))];case"LogicalOr":return[Du(C("a",r,e,t),C("b",r,e,t))];case"Select":case"SelectV2":return[$t(C("condition",r,e,t),C("a",r,e,t),C("b",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var wz=(r,e,t)=>{switch(r.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[je(C("a",r,e,t),C("b",r,e,t),C("transposeA",r,e,t),C("transposeB",r,e,t))];case"Transpose":return[We(C("x",r,e,t),C("perm",r,e,t))];case"_FusedMatMul":let[n,o]=C("fusedOps",r,e,t),s=n==="biasadd",a=o==="prelu",i=C("numArgs",r,e,t),l=C("leakyreluAlpha",r,e,t);if(s){if(a&&i!==2)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&i!==1)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}let[u,c]=C("args",r,e,t);return[zo.matMul({a:C("a",r,e,t),b:C("b",r,e,t),transposeA:C("transposeA",r,e,t),transposeB:C("transposeB",r,e,t),bias:u,activation:o,preluActivationWeights:c,leakyreluAlpha:l})];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var _z=(r,e,t)=>{switch(r.op){case"FusedBatchNorm":case"FusedBatchNormV2":return[Oo(C("x",r,e,t),C("mean",r,e,t),C("variance",r,e,t),C("offset",r,e,t),C("scale",r,e,t),C("epsilon",r,e,t))];case"FusedBatchNormV3":return[Oo(C("x",r,e,t),C("mean",r,e,t),C("variance",r,e,t),C("offset",r,e,t),C("scale",r,e,t),C("epsilon",r,e,t))];case"LRN":return[jm(C("x",r,e,t),C("radius",r,e,t),C("bias",r,e,t),C("alpha",r,e,t),C("beta",r,e,t))];case"Softmax":return[$a(C("x",r,e,t))];case"LogSoftmax":return[Au(C("x",r,e,t))];case"SparseToDense":return[af(C("sparseIndices",r,e,t),C("outputShape",r,e,t),C("sparseValues",r,e,t),C("defaultValue",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var kz=(r,e,t)=>{switch(r.op){case"Max":{let a=C("axis",r,e,t),i=C("keepDims",r,e,t);return[lr(C("x",r,e,t),a,i)]}case"Mean":{let a=C("axis",r,e,t),i=C("keepDims",r,e,t);return[gt(C("x",r,e,t),a,i)]}case"Min":{let a=C("axis",r,e,t),i=C("keepDims",r,e,t);return[zi(C("x",r,e,t),a,i)]}case"Sum":{let a=C("axis",r,e,t),i=C("keepDims",r,e,t);return[ye(C("x",r,e,t),a,i)]}case"All":{let a=C("axis",r,e,t),i=C("keepDims",r,e,t);return[wu(C("x",r,e,t),a,i)]}case"Any":{let a=C("axis",r,e,t),i=C("keepDims",r,e,t);return[il(C("x",r,e,t),a,i)]}case"ArgMax":{let a=C("axis",r,e,t);return[al(C("x",r,e,t),a)]}case"ArgMin":{let a=C("axis",r,e,t);return[Em(C("x",r,e,t),a)]}case"Prod":{let a=C("axis",r,e,t),i=C("keepDims",r,e,t);return[$u(C("x",r,e,t),a,i)]}case"Cumsum":{let a=C("axis",r,e,t),i=C("exclusive",r,e,t),l=C("reverse",r,e,t);return[Nu(C("x",r,e,t),a,i,l)]}case"Bincount":let n=C("x",r,e,t),o=C("weights",r,e,t),s=C("size",r,e,t);return[Cw(n,o,s)];case"DenseBincount":{let a=C("x",r,e,t),i=C("weights",r,e,t),l=C("size",r,e,t),u=C("binaryOutput",r,e,t);return[Ew(a,i,l,u)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var vz=(r,e,t)=>{switch(r.op){case"ConcatV2":case"Concat":{let n=C("n",r,e,t),o=C("axis",r,e,t),s=C("tensors",r,e,t);return s=s.slice(0,n),[Qe(s,o)]}case"Gather":{let n=C("x",r,e,t),o=C("indices",r,e,t);return[Po(n,ne(o,"int32"),0)]}case"GatherV2":{let n=C("axis",r,e,t),o=C("batchDims",r,e,t),s=C("x",r,e,t),a=C("indices",r,e,t);return[Po(s,ne(a,"int32"),n,o)]}case"Reverse":{let n=C("dims",r,e,t),o=[];for(let a=0;a{let n=C("axis",r,e,t),o=C("tensors",r,e,t),s=o[0].shape,a=_n(o[0]).shape,i=o.map(l=>{let u=y.arraysEqual(l.shape,s);if(!u&&!y.arraysEqual(_n(l).shape,a))throw new Error("the input tensors shape does not match");return u?l:z(l,s)});return[Vt(i,n)]});case"Unpack":{let n=C("axis",r,e,t),o=C("tensor",r,e,t);return cr(o,n)}case"Tile":{let n=C("reps",r,e,t);return[On(C("x",r,e,t),n)]}case"Split":case"SplitV":{let n=C("axis",r,e,t),o=C("numOrSizeSplits",r,e,t),s=C("x",r,e,t);return ur(s,o,n)}case"ScatterNd":{let n=C("indices",r,e,t),o=C("values",r,e,t),s=C("shape",r,e,t);return[e_(n,o,s)]}case"GatherNd":{let n=C("x",r,e,t),o=C("indices",r,e,t);return[t_(n,o)]}case"SparseToDense":{let n=C("sparseIndices",r,e,t),o=C("outputShape",r,e,t),s=C("sparseValues",r,e,t),a=C("defaultValue",r,e,t);return[af(n,s,o,s.dtype===a.dtype?a:ne(a,s.dtype))]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var Cz=(r,e,t)=>{switch(r.op){case"FFT":return[Ra(C("x",r,e,t))];case"IFFT":return[Bi(C("x",r,e,t))];case"RFFT":return[Fa(C("x",r,e,t))];case"IRFFT":return[zu(C("x",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var Iz=(r,e,t)=>{switch(r.op){case"Cast":return[ne(C("x",r,e,t),C("dtype",r,e,t))];case"ExpandDims":{let n=C("axis",r,e,t);return[ir(C("x",r,e,t),n)]}case"Squeeze":{let n=C("axis",r,e,t);return[_n(C("x",r,e,t),n)]}case"Reshape":return[z(C("x",r,e,t),C("shape",r,e,t))];case"MirrorPad":return[Hm(C("x",r,e,t),C("padding",r,e,t),C("mode",r,e,t))];case"PadV2":case"Pad":return[Rr(C("x",r,e,t),C("padding",r,e,t),C("constantValue",r,e,t))];case"SpaceToBatchND":{let n=C("blockShape",r,e,t),o=C("paddings",r,e,t);return[Aa(C("x",r,e,t),n,o)]}case"BatchToSpaceND":{let n=C("blockShape",r,e,t),o=C("crops",r,e,t);return[Ca(C("x",r,e,t),n,o)]}case"DepthToSpace":{let n=C("blockSize",r,e,t),o=C("dataFormat",r,e,t).toUpperCase();return[Lm(C("x",r,e,t),n,o)]}case"BroadcastTo":return[ll(C("x",r,e,t),C("shape",r,e,t))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function WC(r,e,t,n){let o=((s,a,i)=>{switch(s.category){case"arithmetic":return V(()=>oz(s,a,i));case"basic_math":return V(()=>sz(s,a,i));case"control":return cz(s,a,i);case"convolution":return V(()=>mz(s,a,i));case"creation":return V(()=>fz(s,a,i));case"dynamic":return dz(s,a,i);case"evaluation":return V(()=>hz(s,a,i));case"image":return V(()=>yz(s,a,i));case"graph":return V(()=>gz(s,a,i));case"logical":return V(()=>bz(s,a,i));case"matrices":return V(()=>wz(s,a,i));case"normalization":return V(()=>_z(s,a,i));case"reduction":return V(()=>kz(s,a,i));case"slice_join":return V(()=>vz(s,a,i));case"spectral":return V(()=>Cz(s,a,i));case"transformation":return V(()=>Iz(s,a,i));case"hash_table":return xz(s,a,i,n);case"custom":let l=Kx(s.op);if(l&&l.customExecutor)return l.customExecutor(new BC(s,a,i));throw TypeError(`Custom op ${s.op} is not registered.`);default:throw TypeError(`Unknown op '${s.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(r,e,t);return y.isPromise(o)?o.then(s=>[].concat(s)):[].concat(o)}var ay=class{constructor(e={},t={},n={},o={}){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=n,this.functionMap=o,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){let e=[];for(let t=0;tt.id===0&&t.iterationId===0?"":`${t.frameName}-${t.iterationId}`).join("/"):""}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(this.contexts&&this.contexts.length>1)this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift();else throw new Error("Cannot exit frame, the context is empty")}nextIteration(){if(this.contexts&&this.contexts.length>0){this.contexts=this.contexts.slice(),this.lastId++;let e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}else throw new Error("Cannot increase frame iteration, the context is empty")}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(let t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(let t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}};function qC(r,e,t,n){let o=new Set,s=[],a=null,i=null,l=new Set,u=Object.keys(r).map(m=>Zr(m)[0]),c=[];n!=null&&(c=n.map(m=>Zr(m.name)[0]));let p=[...e];for(;p.length>0;){let m=p.pop();if((UC(m)||Ete(m)||Ate(m))&&a==null&&(a=m,i=a.children.map(f=>f.name).filter(f=>o.has(f))),o.add(m.name),t[m.name]==null&&u.indexOf(m.name)===-1&&c.indexOf(m.name)===-1){if(m.inputs.length===0){s.push(m.name);continue}m.inputs.forEach(f=>{l.has(f.name)||(l.add(f.name),p.push(f))})}}return{inputs:r,outputs:e,usedNodes:o,missingInputs:s,dynamicNode:a,syncInputs:i}}function Nz(r,e,t){let{usedNodes:n,inputs:o}=t,s=[],a=Object.keys(o).map(c=>Zr(c)[0]).map(c=>r.nodes[c]),i=r.initNodes;a.forEach(c=>{n.has(c.name)&&s.push(c)}),r.weights.forEach(c=>{n.has(c.name)&&s.push(c)}),i!=null&&i.forEach(c=>{n.has(c.name)&&s.push(c)});let l=new Set,u=[];for(;s.length>0;){let c=s.pop();l.add(c.name),e[c.name]||u.push(c),c.children.forEach(p=>{!l.has(p.name)&&n.has(p.name)&&p.inputs.every(m=>l.has(m.name))&&s.push(p)})}return u}var Dte=["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"],$te=["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"],Rte=["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2"];function UC(r){return Dte.indexOf(r.op)>=0}function Ete(r){return $te.indexOf(r.op)>=0}function Ate(r){return Rte.indexOf(r.op)>=0}var Yp=class{constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=",",this._functions={},this._functionExecutorMap={},this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,e.functions!=null&&Object.keys(e.functions).forEach(n=>{this._functionExecutorMap[n]=new Yp(e.functions[n],this)})}get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){let t=Object.keys(e).map(n=>e[n].map(o=>o.id));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(e=>e.signatureKey||e.name)}get outputNodes(){return this._outputs.map(e=>{let t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t})}get functions(){return Object.keys(this._functions).reduce((e,t)=>(e[t]=this._functions[t].signature,e),{})}getCompilationKey(e,t){let n=e.map(s=>s.name).sort(),o=t.map(s=>s.name).sort();return n.join(this.SEPERATOR)+"--"+o.join(this.SEPERATOR)}compile(e,t){let n=qC(e,t,this.weightMap,this._initNodes),{missingInputs:o,dynamicNode:s,syncInputs:a}=n;if(s!=null)throw new Error(`This execution contains the node '${s.name}', which has the dynamic op '${s.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${a}]`);if(o.length>0){let i=t.map(u=>u.name),l=Object.keys(e);throw new Error(`Cannot compute the outputs [${i}] from the provided inputs [${l}]. Missing the following inputs: [${o}]`)}return Nz(this.graph,this.weightMap,n)}execute(e,t){e=this.mapInputs(e);let n=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);let o=n.map(p=>this.graph.nodes[Zr(p)[0]]),s=t.map(p=>Zr(p)[0]),a=s.map(p=>this.graph.nodes[p]);a.length===0&&(a=this._outputs);let i=this.getCompilationKey(o,a),l=this.compiledMap.get(i);l==null&&(l=this.compile(e,a),this.compiledMap.set(i,l));let u={},c={};return V(()=>{let p=new ay(this.weightMap,u,c,this.functionExecutorMap),m=Object.assign({},this.weightMap);Object.keys(e).forEach(h=>{let[g,x]=Zr(h),b=[];b[x]=e[h],m[g]=b});let f=this.getFrozenTensorIds(m),d={};for(let h=0;hxr(h,m,p))})}getFrozenTensorIds(e){let t=[].concat.apply([],Object.keys(e).map(n=>e[n]).map(n=>n.map(o=>o.id)));return new Set(t)}checkTensorForDisposal(e,t,n,o,s,a,i){t.category==="control"||a.indexOf(e)!==-1||(n[e].forEach(l=>{l!=null&&(i[l.id]=(i[l.id]||0)+t.children.length)}),t.inputs.forEach(l=>{if(l.category!=="control"){let u=ez(l.name,n,o);u!=null&&u.forEach(c=>{if(c&&!s.has(c.id)){let p=i[c.id];p===1?(c.dispose(),delete i[c.id]):p!=null&&i[c.id]--}})}}))}async executeAsync(e,t){return this._executeAsync(e,t)}async _executeAsync(e,t,n=!1,o={},s={}){n||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));let a=new ay(this.weightMap,o,s,this.functionExecutorMap),i=await this.executeWithControlFlow(e,a,t,n),l=t.map(m=>xr(m,i,a)),u=l.map(m=>m.id),c=Object.keys(e).map(m=>e[m].id),p=new Set([...u,...c,...this.weightIds]);return Object.keys(i).forEach(m=>{i[m].forEach(d=>{d&&!d.isDisposed&&!p.has(d.id)&&d.dispose()})}),this.parent==null&&a.dispose(p),l}async executeFunctionAsync(e,t,n){let o=e.reduce((s,a,i)=>(s[this.inputs[i].name]=a,s),{});return this._executeAsync(o,this.outputNodes,!0,t,n)}async executeWithControlFlow(e,t,n,o){let s=Object.keys(e),a=s.map(w=>this.graph.nodes[Zr(w)[0]]),i=n.map(w=>Zr(w)[0]),l=i.map(w=>this.graph.nodes[w]);l.length===0&&(l=this._outputs);let{usedNodes:u,missingInputs:c,dynamicNode:p,syncInputs:m}=qC(e,l,this.weightMap,this._initNodes),f=[...a,...this.graph.weights,...this._initNodes||[]].map(w=>({node:w,contexts:t.currentContext})),d=Object.assign({},this.weightMap);Object.keys(e).forEach(w=>{let[_,k]=Zr(w),E=[];E[k]=e[w],d[_]=E});let h={},g=this.getFrozenTensorIds(d),x={};for(;f.length>0;){let w=this.processStack(a,f,t,d,x,g,i,h,u);await Promise.all(w)}p==null&&!o&&console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");let b=l.filter(w=>!UC(w)&&!xr(w.name,d,t)).map(w=>w.name);if(b.length>0){let w="";throw p!=null&&(w=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${m}]`),new Error(`Cannot compute the outputs [${b}] from the provided inputs [${s}]. Consider providing the following inputs: [${c}]. ${w}`)}return d}processStack(e,t,n,o,s,a,i,l,u){let c=[];for(;t.length>0;){let p=t.pop();n.currentContext=p.contexts;let m="";if(p.node.op==="Enter"&&C("isConstant",p.node,o,n)&&([m]=Vs(p.node.name,n)),o[p.node.name]==null){let f=WC(p.node,o,n,this._resourceManager);m||([m]=Vs(p.node.name,n));let d=n.currentContext;y.isPromise(f)?c.push(f.then(h=>(o[m]=h,n.currentContext=d,this.checkTensorForDisposal(m,p.node,o,n,a,i,l),this.processChildNodes(p.node,t,n,o,s,u),h))):(o[m]=f,this.checkTensorForDisposal(m,p.node,o,n,a,i,l),this.processChildNodes(p.node,t,n,o,s,u))}else this.processChildNodes(p.node,t,n,o,s,u)}return c}processChildNodes(e,t,n,o,s,a){e.children.forEach(i=>{let[l]=Vs(i.name,n);s[l]||!a.has(i.name)||(i.op==="Merge"?i.inputNames.some(u=>!!xr(u,o,n))&&(s[l]=!0,t.push({contexts:n.currentContext,node:i})):i.inputNames.every(u=>!!xr(u,o,n))&&(s[l]=!0,t.push({contexts:n.currentContext,node:i})))})}dispose(){Object.keys(this.weightMap).forEach(e=>this.weightMap[e].forEach(t=>t.dispose()))}checkInputShapeAndType(e){Object.keys(e).forEach(t=>{let n=e[t],[o]=Zr(t),s=this.graph.nodes[o];if(s.attrParams.shape&&s.attrParams.shape.value){let a=s.attrParams.shape.value,i=a.length===n.shape.length&&n.shape.every((l,u)=>a[u]===-1||a[u]===l);y.assert(i,()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${a}], but was [${n.shape}]`)}s.attrParams.dtype&&s.attrParams.dtype.value&&y.assert(n.dtype===s.attrParams.dtype.value,()=>`The dtype of dict['${s.name}'] provided in model.execute(dict) must be ${s.attrParams.dtype.value}, but was ${n.dtype}`)})}mapInputs(e){let t={};for(let n in e)if(this._signature!=null&&this._signature.inputs!=null&&this._signature.inputs[n]!=null){let o=this._signature.inputs[n];t[o.name]=e[n]}else t[n]=e[n];return t}checkInputs(e){let t=Object.keys(e).filter(n=>{let[o]=Zr(n);return this.graph.nodes[o]==null});if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map(t=>this._signature!=null&&this._signature.outputs!=null&&this._signature.outputs[t]!=null?this._signature.outputs[t].name:t,{})}checkOutputs(e){e.forEach(t=>{let[n]=Zr(t);if(!this.graph.nodes[n])throw new Error(`The output '${t}' is not found in the graph`)})}};var HC=class{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(let e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(let e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}};var Fte="?tfjs-format=file",Ote="model.json",ly=class{constructor(e,t={}){this.modelUrl=e,this.loadOptions=t,this.version="n/a",t==null&&(this.loadOptions={}),this.resourceManager=new HC}get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}findIOHandler(){let e=this.modelUrl;if(e.load!=null)this.handler=e;else if(this.loadOptions.requestInit!=null)this.handler=Cr.browserHTTPRequest(e,this.loadOptions);else{let t=Cr.getLoadHandlers(e,this.loadOptions);if(t.length===0)t.push(Cr.browserHTTPRequest(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}async load(){if(this.findIOHandler(),this.handler.load==null)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");let e=await this.handler.load();return this.loadSync(e)}loadSync(e){this.artifacts=e;let t=this.artifacts.modelTopology,n;this.artifacts.userDefinedMetadata!=null&&this.artifacts.userDefinedMetadata.signature!=null?n=this.artifacts.userDefinedMetadata.signature:n=this.artifacts.signature,this.signature=n,this.version=`${t.versions.producer}.${t.versions.minConsumer}`;let o=Cr.decodeWeights(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new Yp(Yx.Instance.transformGraph(t,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(o),this.executor.resourceManager=this.resourceManager,e.modelInitializer!=null&&e.modelInitializer.node!=null){let s=Yx.Instance.transformGraph(e.modelInitializer);this.initializer=new Yp(s),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializer.executeAsync({},[])}return!0}async save(e,t){if(typeof e=="string"){let n=Cr.getSaveHandlers(e);if(n.length===0)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(n.length>1)throw new Error(`Found more than one (${n.length}) save handlers for URL '${e}'`);e=n[0]}if(e.save==null)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return e.save(this.artifacts)}predict(e,t){return this.execute(e,this.outputNodes)}normalizeInputs(e){if(!(e instanceof Ve)&&!Array.isArray(e))return e;if(e=Array.isArray(e)?e:[e],e.length!==this.inputNodes.length)throw new Error(`Input tensor count mismatch,the graph model has ${this.inputNodes.length} placeholders, while there are ${e.length} input tensors.`);return this.inputNodes.reduce((t,n,o)=>(t[n]=e[o],t),{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}execute(e,t){e=this.normalizeInputs(e),t=this.normalizeOutputs(t);let n=this.executor.execute(e,t);return n.length>1?n:n[0]}async executeAsync(e,t){e=this.normalizeInputs(e),t=this.normalizeOutputs(t);let n=await this.executor.executeAsync(e,t);return n.length>1?n:n[0]}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce((t,n)=>(t[n]=[e[n]],t),{})}dispose(){this.executor.dispose(),this.initializer&&this.initializer.dispose(),this.resourceManager.dispose()}};async function Sz(r,e={}){if(r==null)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");e==null&&(e={}),e.fromTFHub&&r.load==null&&(r.endsWith("/")||(r=r+"/"),r=`${r}${Ote}${Fte}`);let t=new ly(r,e);return await t.load(),t}var Tz="3.0.0";var gy={};Ye(gy,{CSVDataset:()=>dh,Dataset:()=>Zi,FileDataSource:()=>bh,TextLineDataset:()=>mh,URLDataSource:()=>wh,array:()=>p3,csv:()=>_3,func:()=>k3,generator:()=>v3,microphone:()=>I3,version_data:()=>N3,webcam:()=>C3,zip:()=>m3});var c3=Tc(eI());var Xz=Tc(eI());function Wz(r,e){return cy(r,e)}function cy(r,e,t=new Map,n=new Set){if(r==null)return null;if(n.has(r))throw new Error("Circular references are not supported.");if(t.has(r))return t.get(r);let o=e(r);if(o.recurse&&o.value!==null)throw new Error("A deep map function may not return both a value and recurse=true.");if(o.recurse)if(Dl(r)){let s=Array.isArray(r)?[]:{};n.add(r);for(let a in r){let i=r[a],l=cy(i,e,t,n);s[a]=l}return n.delete(r),s}else throw new Error(`Can't recurse into non-iterable type: ${r}`);else return t.set(r,o.value),o.value}function qz(r,e=tI){return Uz(r,e)}function Uz(r,e,t=new Set){let n=r[0];if(t.has(n))throw new Error("Circular references are not supported.");let o=e(r);if(o.recurse&&o.value!==null)throw new Error("A deep zip function may not return both a value and recurse=true.");if(o.recurse)if(Dl(n)){let s=Array.isArray(n)?[]:{};t.add(n);for(let a in n){let i=r.map(u=>u[a]),l=Uz(i,e,t);s[a]=l}return t.delete(n),s}else throw new Error(`Can't recurse into non-iterable type: ${n}`);else return o.value}function tI(r){return r===null?null:Dl(r[0])?{value:null,recurse:!0}:{value:r,recurse:!1}}async function py(r,e){let t=new Map;cy(r,e,t);for(let o of Array.from(t.keys())){let s=t.get(o);if(y.isPromise(s)){let a=await s;t.set(o,a)}}return cy(r,e,t)}function Dl(r){return r!=null&&!ArrayBuffer.isView(r)&&(Array.isArray(r)||typeof r=="object"&&!(r instanceof Ve))}function Hz(r){return r==null||Gte(r)||Array.isArray(r)||typeof r=="object"&&r instanceof Ve||y.isTypedArray(r)}function Gte(r){return r===null||typeof r!="object"&&typeof r!="function"}function Kz(r){return Wz(r,jte)}function jte(r){return r instanceof Ve?{value:r.clone(),recurse:!1}:Dl(r)?{value:null,recurse:!0}:{value:r,recurse:!1}}var ch=class{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,e==null)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(e<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(e),this.doubledCapacity=2*e}wrap(e){for(;e<0;)e+=this.doubledCapacity;return e%this.doubledCapacity}get(e){if(e<0)throw new RangeError("Can't get item at a negative index.");return this.data[e%this.capacity]}set(e,t){if(e<0)throw new RangeError("Can't set item at a negative index.");this.data[e%this.capacity]=t}length(){let e=this.end-this.begin;return e<0&&(e=this.doubledCapacity+e),e}isFull(){return this.length()===this.capacity}isEmpty(){return this.length()===0}push(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,e),this.end=this.wrap(this.end+1)}pushAll(e){for(let t of e)this.push(t)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);let e=this.get(this.end);return this.set(this.end,void 0),e}unshift(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,e)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");let e=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),e}shuffleExcise(e){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");let t=this.wrap(this.begin+e),n=this.get(t);return this.set(t,this.pop()),n}};var Zp=class extends ch{constructor(){super(Zp.INITIAL_CAPACITY)}isFull(){return!1}push(e){super.isFull()&&this.expand(),super.push(e)}unshift(e){super.isFull()&&this.expand(),super.unshift(e)}expand(){let e=this.capacity*2,t=new Array(e),n=this.length();for(let o=0;ot===!0)}rowMajorBatch(e,t=!0){return new o3(this,e,t)}columnMajorBatch(e,t=!0,n=tI){return this.rowMajorBatch(e,t).map(s=>qz(s,n))}concatenate(e,t){return new nI(rI([this,e]),t)}take(e){return e<0||e==null?this:new n3(this,e)}skip(e){return e<0||e==null?this:new r3(this,e)}prefetch(e){return new sI(this,e)}shuffle(e,t){return new u3(this,e,t)}serial(){return new t3(this)}},Yz=class extends Xt{constructor(e){super();this.items=e,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};let e=this.items[this.trav];return this.trav++,{value:Kz(e),done:!1}}},Zz=class extends Xt{constructor(e){super();this.nextFn=e}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(e){throw e.message=`Error thrown while iterating through a dataset: ${e.message}`,e}}},t3=class extends Xt{constructor(e){super();this.upstream=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){return this.upstream.next()}},r3=class extends Xt{constructor(e,t){super();this.upstream=e,this.maxCount=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}},o3=class extends Xt{constructor(e,t,n=!0){super();this.upstream=e,this.batchSize=t,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){let e=[];for(;e.length0?{value:e,done:!1}:{value:null,done:!0};e.push(t.value)}return{value:e,done:!1}}},s3=class extends Xt{constructor(e,t){super();this.upstream=e,this.predicate=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;){let e=await this.upstream.next();if(e.done||this.predicate(e.value))return e;Ee(e.value)}}},i3=class extends Xt{constructor(e,t){super();this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Map`}async next(){let e=await this.upstream.next();if(e.done)return{value:null,done:!0};let t=Fo.getTensorsInContainer(e.value),n=this.transform(e.value),o=Fo.getTensorsInContainer(n);for(let s of t)Fo.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},a3=class extends Xt{constructor(e,t){super();this.upstream=e,this.handler=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(e){if(!this.handler(e))return{value:null,done:!0}}}},oI=class extends Xt{constructor(e,t){super();this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){let e=await this.upstream.next();if(e.done)return{value:null,done:!0};let t=Fo.getTensorsInContainer(e.value),n=await this.transform(e.value),o=Fo.getTensorsInContainer(n);for(let s of t)Fo.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},Jp=class extends Xt{constructor(){super();this.outputQueue=new Zp,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.outputQueue.length()===0;)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}},l3=class extends Jp{constructor(e,t){super();this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){let e=await this.upstream.next();if(e.done)return!1;let t=Fo.getTensorsInContainer(e.value),n=this.transform(e.value),o=Fo.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(let s of t)Fo.isTensorInList(s,o)||s.dispose();return!0}},nI=class extends Xt{constructor(e,t){super();this.baseErrorHandler=t,this.lastRead=null,this.iterator=null,this.moreIterators=e}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(e){if(await e,this.iterator==null){let n=await this.moreIterators.next();if(n.done)return{value:null,done:!0};this.iterator=n.value,this.baseErrorHandler!=null&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}let t=await this.iterator.next();return t.done?(this.iterator=null,this.readFromChain(e)):t}},Ha;(function(r){r[r.FAIL=0]="FAIL",r[r.SHORTEST=1]="SHORTEST",r[r.LONGEST=2]="LONGEST"})(Ha||(Ha={}));var Qz=class extends Xt{constructor(e,t=Ha.FAIL){super();this.iterators=e,this.mismatchMode=t,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(e){await e;let t=0,n=0;function o(a){return a instanceof Xt?{value:a.next().then(l=>(t++,l.done&&n++,l.value)),recurse:!1}:{value:null,recurse:!0}}let s=await py(this.iterators,o);if(t===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case Ha.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case Ha.SHORTEST:return{value:null,done:!0};case Ha.LONGEST:default:}return this.count++,{value:s,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}},sI=class extends Xt{constructor(e,t){super();this.upstream=e,this.bufferSize=t,this.buffer=new ch(t)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){let e=this.upstream.next();this.buffer.push(e)}}next(){return this.refill(),this.buffer.shift()}},u3=class extends sI{constructor(e,t,n){super(e,t);this.upstream=e,this.windowSize=t,this.upstreamExhausted=!1,this.random=Xz.alea(n||y.now().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}randomInt(e){return Math.floor(this.random()*e)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){let e=this.chooseIndex(),t=await this.buffer.shuffleExcise(e);if(t.done)this.upstreamExhausted=!0;else return this.refill(),t}return{value:null,done:!0}}};var Zi=class{constructor(){this.size=null}batch(e,t=!0){let n=this;y.assert(e>0,()=>`batchSize needs to be positive, but it is - ${e}`);let o;return this.size===Infinity||this.size==null?o=this.size:t?o=Math.ceil(this.size/e):o=Math.floor(this.size/e),pn(async()=>(await n.iterator()).columnMajorBatch(e,t,Wte),o)}concatenate(e){let t=this,n;return this.size===Infinity||e.size===Infinity?n=Infinity:this.size!=null&&e.size!=null?n=this.size+e.size:n=null,pn(async()=>(await t.iterator()).concatenate(await e.iterator()),n)}filter(e){let t=this,n;return this.size===Infinity?n=Infinity:n=null,pn(async()=>(await t.iterator()).filter(o=>V(()=>e(o))),n)}async forEachAsync(e){return(await this.iterator()).forEachAsync(e)}map(e){let t=this;return pn(async()=>(await t.iterator()).map(n=>V(()=>e(n))),this.size)}mapAsync(e){let t=this;return pn(async()=>(await t.iterator()).mapAsync(e),this.size)}prefetch(e){if(e==null)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");let t=this;return pn(async()=>(await t.iterator()).prefetch(e),this.size)}repeat(e){let t=this,n;return this.size!=null&&e>0?n=this.size*e:e===0?n=0:this.size!=null&&(e===void 0||e<0)?n=Infinity:n=null,pn(async()=>{let o=ph(async()=>({value:await t.iterator(),done:!1}));return Jz(o.take(e))},n)}skip(e){let t=this,n;return this.size!=null&&e>=0&&this.size>=e?n=this.size-e:this.size!=null&&(this.size(await t.iterator()).skip(e),n)}shuffle(e,t,n=!0){if(e==null||e<0)throw this.size==null?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);let o=this,s=c3.alea(t||y.now().toString());return pn(async()=>{let a=s.int32();return n&&(a+=s.int32()),(await o.iterator()).shuffle(e,a.toString())},this.size)}take(e){let t=this,n;return this.size!=null&&this.size>e?n=e:this.size!=null&&this.size<=e?n=this.size:n=null,pn(async()=>(await t.iterator()).take(e),n)}async toArray(){if(this.size===Infinity)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===Infinity)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}};Zi.MAX_BUFFER_SIZE=1e4;function pn(r,e=null){return new class extends Zi{constructor(){super(...arguments);this.size=e}async iterator(){return r()}}}function p3(r){return pn(async()=>rI(r),r.length)}function m3(r){if(!Dl(r))throw new Error("The argument to zip() must be an object or array.");let e;if(Array.isArray(r))for(let t=0;t{let t=await py(r,n=>{if(n instanceof Zi)return{value:n.iterator(),recurse:!1};if(Dl(n))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")});return e3(t,Ha.SHORTEST)},e)}function Wte(r){if(r===null)return null;let e=r[0];return Hz(e)?{value:Ute(r),recurse:!1}:{value:null,recurse:!0}}function Ute(r){if(r.length===0)throw new Error("Can't make a batch of zero elements.");return r[0]instanceof Ve?Vt(r):$r(r)}var mh=class extends Zi{constructor(e){super();this.input=e}async iterator(){return(await this.input.iterator()).decodeUTF8().split(` -`).map(o=>(o.endsWith("\r")&&(o=o.slice(0,-1)),o))}};var my='"',fh=Symbol("out"),f3=Symbol("field"),fy=Symbol("quote"),iI=Symbol("quoteafterquote"),d3=Symbol("quoteinquote"),dh=class extends Zi{constructor(e,t){super();this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new mh(e),t||(t={}),this.hasHeader=t.hasHeader!==!1,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(y.assert(t.delimiter==null,()=>"Delimiter should not be provided when delimWhitespace is true."),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){let e=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!e)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&e&&y.assert(e.length===this.fullColumnNames.length,()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+")."),this.fullColumnNames||(this.fullColumnNames=e);let t=this.fullColumnNames.reduce((o,s)=>(o[s]=o[s]+1||1,o),{}),n=Object.keys(t).filter(o=>t[o]>1);if(y.assert(n.length===0,()=>"Duplicate column names found: "+n.toString()),this.columnConfigs){for(let o of Object.keys(this.columnConfigs))if(this.fullColumnNames.indexOf(o)===-1)throw new Error('The key "'+o+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){let t=await(await this.base.iterator()).next();if(t.done)throw new Error("No data was found for CSV parsing.");let n=t.value;return this.parseRow(n,!1)}else return null}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map(t=>this.makeDataElement(t))}makeDataElement(e){let t=this.parseRow(e),n={},o={};for(let s=0;s14||!Number.isInteger(t))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=e.numFramesPerSpectrogram||43,this.sampleRateHz=e.sampleRateHz,this.columnTruncateLength=e.columnTruncateLength||this.fftSize,this.audioTrackConstraints=e.audioTrackConstraints,this.smoothingTimeConstant=e.smoothingTimeConstant||0,this.includeSpectrogram=e.includeSpectrogram!==!1,this.includeWaveform=e.includeWaveform===!0,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(e={}){if(W().get("IS_NODE"))throw new Error("microphone API is only supported in browser environment.");let t=new hh(e);return await t.start(),t}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:this.audioTrackConstraints==null?!0:this.audioTrackConstraints,video:!1})}catch(n){throw new Error(`Error thrown while initializing video stream: ${n.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");let e=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new e,!this.sampleRateHz)this.sampleRateHz=this.audioContext.sampleRate;else if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`);let t=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=this.fftSize*2,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,t.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let e,t,n=await this.getAudioData();if(this.includeSpectrogram){let o=this.flattenQueue(n.freqDataQueue);e=this.getTensorFromAudioDataArray(o,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){let o=this.flattenQueue(n.timeDataQueue);t=this.getTensorFromAudioDataArray(o,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:e,waveform:t},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){let e=[],t=[],n=0;return new Promise(o=>{let s=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-Infinity&&o({freqDataQueue:e,timeDataQueue:t}),e.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),t.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),o({freqDataQueue:e,timeDataQueue:t}))},this.fftSize/this.sampleRateHz*1e3)})}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),this.stream!=null&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(e){let t=e[0].length,n=new Float32Array(e.length*t);return e.forEach((o,s)=>n.set(o,s*t)),n}getTensorFromAudioDataArray(e,t){let n=new Float32Array(y.sizeFromShape(t));return n.set(e,n.length-e.length),$r(n,t)}};var gh=class extends Xt{constructor(e,t){super();if(this.webcamVideoElement=e,this.webcamConfig=t,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Gt([0],"int32"),this.webcamConfig.centerCrop){let n=this.webcamConfig.resizeWidth*1/this.webcamVideoElement.width,o=this.webcamConfig.resizeHeight*1/this.webcamVideoElement.height,s=(1-n)/2,a=(1-o)/2,i=s+n,l=o+a;this.cropBox=Vi([a,s,l,i],[1,4])}else this.cropBox=Vi([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(e,t={}){if(W().get("IS_NODE"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!e){if(e=document.createElement("video"),!t.resizeWidth||!t.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");e.width=t.resizeWidth,e.height=t.resizeHeight}let n=new gh(e,t);return await n.start(),n}async start(){this.webcamConfig.facingMode&&y.assert(this.webcamConfig.facingMode==="user"||this.webcamConfig.facingMode==="environment",()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`);try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(e){throw e.message=`Error thrown while initializing video stream: ${e.message}`,e}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(e){console.log(e),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(e=>{this.webcamVideoElement.onloadedmetadata=()=>{e()}})}async next(){if(this.isClosed)return{value:null,done:!0};let e;try{e=eg.fromPixels(this.webcamVideoElement)}catch(t){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(t)}`)}if(this.resize)try{return{value:this.cropAndResizeFrame(e),done:!1}}catch(t){throw new Error(`Error thrown cropping the video: ${t.message}`)}finally{e.dispose()}else return{value:e,done:!1}}needToResize(){return!!(this.webcamConfig.resizeWidth&&this.webcamConfig.resizeHeight&&(this.webcamVideoElement.width!==this.webcamConfig.resizeWidth||this.webcamVideoElement.height!==this.webcamConfig.resizeHeight))}cropAndResizeFrame(e){return V(()=>{let t=ir(ne(e,"float32"),0),n;n=Ds.cropAndResize(t,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");let o=n.shape;return z(n,o.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(t=>t.stop());try{this.webcamVideoElement.srcObject=null}catch(t){console.log(t),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}};var xh=class{};var dy=class extends Xt{split(e){return new h3(this,e)}},h3=class extends dy{constructor(e,t){super();this.upstream=e,this.impl=new g3(e,t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},g3=class extends Jp{constructor(e,t){super();this.upstream=e,this.separator=t,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){let e=await this.upstream.next();if(e.done)return this.carryover===""?!1:(this.outputQueue.push(this.carryover),this.carryover="",!0);let t=e.value.split(this.separator);t[0]=this.carryover+t[0];for(let n of t.slice(0,-1))this.outputQueue.push(n);return this.carryover=t[t.length-1],!0}};var aI=class extends Xt{decodeUTF8(){return new y3(this)}},y3=class extends dy{constructor(e){super();this.upstream=e,this.impl=new b3(e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},b3=class extends Jp{constructor(e){super();if(this.upstream=e,W().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{let{StringDecoder:t}=x3();this.decoder=new t("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){let e=await this.upstream.next(),t;if(e.done)return!1;t=e.value;let n;return W().get("IS_BROWSER")?n=this.decoder.decode(t,{stream:!0}):n=this.decoder.write(Buffer.from(t.buffer)),this.outputQueue.push(n),!0}};var yh=class extends aI{constructor(e,t={}){super();this.file=e,this.options=t,y.assert(e instanceof Uint8Array||(W().get("IS_BROWSER")?e instanceof File||e instanceof Blob:!1),()=>"FileChunkIterator only supports File, Blob and Uint8Array right now."),this.offset=t.offset||0,this.chunkSize=t.chunkSize||1024*1024}summary(){return`FileChunks ${this.file}`}async next(){return this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size)?{value:null,done:!0}:{value:await new Promise((t,n)=>{let o=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)t(new Uint8Array(this.file.slice(this.offset,o)));else{let s=new FileReader;s.onload=i=>{let l=s.result;if(l instanceof ArrayBuffer&&(l=new Uint8Array(l)),!(l instanceof Uint8Array))return n(new TypeError("FileReader returned unknown type."));t(l)},s.onabort=i=>n(new Error("Aborted")),s.onerror=i=>n(new Error(i.type));let a=this.file.slice(this.offset,o);s.readAsArrayBuffer(a)}this.offset=o}),done:!1}}};async function w3(r,e={}){let t,n;typeof r=="string"?t=r:(t=r.url,n=qte(r));let o=await y.fetch(t,n);if(o.ok){let s=new Uint8Array(await o.arrayBuffer());return new yh(s,e)}else throw new Error(o.statusText)}var qte=r=>({method:r.method,headers:r.headers,body:r.body,mode:r.mode,credentials:r.credentials,cache:r.cache,redirect:r.redirect,referrer:r.referrer,integrity:r.integrity});function hy(r){return typeof r=="string"&&r.substr(0,7)==="file://"}var bh=class extends xh{constructor(e,t={}){super();this.input=e,this.options=t}async iterator(){if(hy(this.input)&&W().get("IS_NODE")){let e=require("fs");this.input=e.readFileSync(this.input.substr(7))}return new yh(this.input,this.options)}};var wh=class extends xh{constructor(e,t={}){super();this.url=e,this.fileOptions=t}async iterator(){return hy(this.url)?new bh(this.url,this.fileOptions).iterator():w3(this.url,this.fileOptions)}};function _3(r,e={}){return new dh(new wh(r),e)}function k3(r){let e=ph(r);return pn(async()=>e)}function v3(r){return pn(async()=>{let e=await r();return ph(()=>e.next())})}async function C3(r,e){return gh.create(r,e)}async function I3(r){return hh.create(r)}var N3="3.0.0";var Hte={tfjs:yI,"tfjs-core":bI,"tfjs-data":wI,"tfjs-layers":_I,"tfjs-converter":kI,"tfjs-backend-cpu":w_,"tfjs-backend-webgl":Pk,"tfjs-backend-wasm":x0};export{ss as Abs,Ks as Acos,Xs as Acosh,rp as AdadeltaOptimizer,np as AdagradOptimizer,op as AdamOptimizer,sp as AdamaxOptimizer,xn as Add,Wn as AddN,Vl as All,Gl as Any,Un as ArgMax,na as ArgMin,Ys as Asin,Zs as Asinh,Js as Atan,ei as Atan2,Qs as Atanh,qn as AvgPool,oa as AvgPool3D,Wl as AvgPool3DGrad,jl as AvgPoolGrad,px as BackendWasm,Hn as BatchMatMul,sa as BatchToSpaceND,Ul as Bincount,Pb as BroadcastTo,Ux as Callback,Sx as CallbackList,An as Cast,ti as Ceil,Dn as ClipByValue,ql as Complex,ia as ComplexAbs,is as Concat,Kn as Conv2D,Hl as Conv2DBackpropFilter,Xn as Conv2DBackpropInput,aa as Conv3D,Kl as Conv3DBackpropFilterV2,Xl as Conv3DBackpropInputV2,Yn as Cos,ri as Cosh,ni as CropAndResize,Zn as Cumsum,Ex as CustomCallback,Ja as DataStorage,Yl as DenseBincount,oi as DepthToSpace,Jn as DepthwiseConv2dNative,Zl as DepthwiseConv2dNativeBackpropFilter,Jl as DepthwiseConv2dNativeBackpropInput,Ql as Diag,la as Dilation2D,Fc as Dilation2DBackpropFilter,Rc as Dilation2DBackpropInput,Rb as ENV,Hx as EarlyStopping,si as Elu,eu as EluGrad,jh as Environment,ai as Equal,ii as Erf,eo as Exp,as as ExpandDims,li as Expm1,tu as FFT,ua as Fill,ui as FlipLeftRight,to as Floor,ro as FloorDiv,Oc as FromPixels,no as FusedBatchNorm,ws as FusedConv2D,_s as FusedDepthwiseConv2D,Wg as GPGPUContext,ci as GatherNd,ls as GatherV2,ly as GraphModel,pi as Greater,oo as GreaterEqual,Tx as History,ru as IFFT,us as Identity,nu as Imag,At as InputSpec,mi as IsFinite,fi as IsInf,di as IsNan,Ws as KernelBackend,ca as LRN,su as LRNGrad,ed as LayerVariable,In as LayersModel,so as LeakyRelu,hi as Less,gi as LessEqual,ou as LinSpace,io as Log,xi as Log1p,Mb as LogSoftmax,yi as LogicalAnd,Qa as LogicalNot,el as LogicalOr,vg as MathBackendCPU,Kg as MathBackendWebGL,ao as Max,uo as MaxPool,pa as MaxPool3D,au as MaxPool3DGrad,iu as MaxPoolGrad,lu as MaxPoolWithArgmax,lo as Maximum,co as Mean,po as Min,mo as Minimum,ma as MirrorPad,bi as Mod,ip as MomentumOptimizer,uu as Multinomial,fo as Multiply,cs as Neg,_i as NonMaxSuppressionV3,ki as NonMaxSuppressionV4,vi as NonMaxSuppressionV5,wi as NotEqual,VI as OP_SCOPE_SUFFIX,ho as OneHot,ps as OnesLike,Or as Optimizer,ms as Pack,go as PadV2,hV as Pool,xo as Pow,yo as Prelu,Ci as Prod,ap as RMSPropOptimizer,cn as RNN,fa as Range,Gb as Rank,cu as Real,Qn as RealDiv,Ii as Reciprocal,jt as Reduction,bo as Relu,_o as Relu6,fs as Reshape,wo as ResizeBilinear,mu as ResizeBilinearGrad,da as ResizeNearestNeighbor,pu as ResizeNearestNeighborGrad,ko as Reverse,Fi as RotateWithOffset,vo as Round,Co as Rsqrt,cl as SGDOptimizer,Ni as ScatterNd,ds as Select,Si as Selu,Yi as Sequential,No as Sigmoid,Ei as Sign,Io as Sin,Ti as Sinh,hs as Slice,Eo as Softmax,Ai as Softplus,ha as SpaceToBatchND,fu as SparseToDense,gs as SplitV,So as Sqrt,ga as Square,Ao as SquaredDifference,$n as Step,Di as StridedSlice,Do as Sub,To as Sum,Br as SymbolicTensor,$i as Tan,$o as Tanh,Ve as Tensor,ct as TensorBuffer,yn as Tile,Ri as TopK,Ro as Transpose,du as Unique,xs as Unpack,xa as UnsortedSegmentSum,nl as Variable,ys as ZerosLike,bs as _FusedMatMul,Et as abs,Sm as acos,Tm as acosh,Q as add,xw as addN,wu as all,il as any,al as argMax,Em as argMin,Am as asin,Dm as asinh,$m as atan,Rm as atan2,Fm as atanh,va as avgPool,Om as avgPool3d,gw as backend,N as backend_util,dj as basicLSTMCell,Oo as batchNorm,_w as batchNorm2d,kw as batchNorm3d,vw as batchNorm4d,Ca as batchToSpaceND,Cw as bincount,kU as booleanMaskAsync,ll as broadcastTo,eg as browser,Ce as buffer,YL as callbacks,ne as cast,Pm as ceil,sr as clipByValue,Rn as clone,bn as complex,Qe as concat,Iw as concat1d,Nw as concat2d,Sw as concat3d,Tw as concat4d,S0 as constraints,vu as conv1d,Ur as conv2d,Cu as conv2dTranspose,Mm as conv3d,Oj as conv3dTranspose,yV as copyRegisteredKernels,Ia as cos,Iu as cosh,lf as cosineWindow,Nu as cumsum,qr as customGrad,gy as data,Ew as denseBincount,ig as deprecationWarn,Lm as depthToSpace,Cs as depthwiseConv2d,QL as deregisterOp,Vc as device_util,jj as diag,zm as dilation2d,SG as disableDeprecationWarnings,Ee as dispose,TG as disposeVariables,de as div,Bm as divNoNan,Aw as dot,r_ as dropout,Is as elu,NG as enableDebugMode,IG as enableProdMode,n_ as enclosingPowerOfTwo,vs as engine,W as env,wn as equal,Vm as erf,Yt as exp,ir as expandDims,Gm as expm1,Xc as eye,Ra as fft,Na as fill,FG as findBackend,OG as findBackendFactory,Ns as floor,bu as floorDiv,Mk as forceHalfFloat,zo as fused,Po as gather,t_ as gatherND,tg as gather_util,$G as getBackend,Wh as getGradient,Mc as getKernel,_m as getKernelsForBackend,lA as gpgpu_util,yW as grad,bW as grads,er as greater,tn as greaterEqual,Bi as ifft,Su as imag,Ds as image,DU as inTopKAsync,$0 as initializers,jx as input,Cr as io,zu as irfft,Dw as isFinite,$w as isInf,Rw as isNaN,Dt as keep,Tr as kernel_impls,dC as layers,Sa as leakyRelu,Tu as less,Pn as lessEqual,l_ as linalg,Fw as linspace,Sz as loadGraphModel,ML as loadLayersModel,jm as localResponseNormalization,ar as log,Eu as log1p,Ow as logSigmoid,Au as logSoftmax,Um as logSumExp,dr as logicalAnd,Ta as logicalNot,Du as logicalOr,zw as logicalXor,vq as losses,je as matMul,yN as math,lr as max,Ea as maxPool,qm as maxPool3d,Bw as maxPoolWithArgmax,Hr as maximum,gt as mean,qc as memory,yC as metrics,zi as min,Ts as minimum,Hm as mirrorPad,Km as mod,OL as model,bC as models,Yc as moments,IU as movingAverage,M as mul,KW as multiRNNCell,Vw as multinomial,Ue as neg,uf as nextFrame,Gu as norm,Lo as notEqual,ks as oneHot,Ir as ones,tr as onesLike,T as op,QW as outerProduct,Rr as pad,r4 as pad1d,o4 as pad2d,i4 as pad3d,l4 as pad4d,Gw as pool,Fr as pow,Da as prelu,iw as print,$u as prod,EG as profile,x4 as rand,I4 as randomGamma,dg as randomNormal,Es as randomUniform,Jc as range,DG as ready,ul as real,Xm as reciprocal,yu as registerBackend,LL as registerCallbackConstructor,zb as registerGradient,tl as registerKernel,JL as registerOp,wC as regularizers,Nr as relu,Fu as relu6,RG as removeBackend,z as reshape,Kt as reverse,F4 as reverse1d,P4 as reverse2d,L4 as reverse3d,B4 as reverse4d,Fa as rfft,Ym as round,Ou as rsqrt,le as scalar,e_ as scatterND,rg as scatter_util,Pu as selu,Zm as separableConv2d,PL as sequential,J as serialization,FN as setBackend,PG as setPlatform,JZ as setWasmPath,QZ as setWasmPaths,V_ as setWebGLContext,Zw as setdiff1dAsync,Ig as shared,Wr as sigmoid,Jm as sign,kq as signal,Mu as sin,Lu as sinh,Fe as slice,Qm as slice1d,hg as slice2d,ef as slice3d,Qc as slice4d,or as slice_util,$a as softmax,Ss as softplus,Aa as spaceToBatchND,af as sparseToDense,_q as spectral,ur as split,yt as sqrt,Pe as square,Bu as squaredDifference,_n as squeeze,Vt as stack,As as step,tf as stridedSlice,ue as sub,ye as sum,hu as sumOutType,rf as tan,Li as tanh,$r as tensor,Gt as tensor1d,Vi as tensor2d,cw as tensor3d,mU as tensor4d,fU as tensor5d,dU as tensor6d,Fo as tensor_util,DN as test_util,V as tidy,On as tile,AG as time,nf as topk,pl as train,We as transpose,Vu as truncatedNormal,ep as unique,xV as unregisterGradient,gV as unregisterKernel,of as unsortedSegmentSum,cr as unstack,fr as upcastType,y as util,wW as valueAndGrad,_W as valueAndGrads,Jw as variable,cg as variableGrads,Hte as version,Tz as version_converter,CG as version_core,w_ as version_cpu,Gp as version_layers,x0 as version_wasm,Pk as version_webgl,o8 as webgl,nA as webgl_util,$t as where,sf as whereAsync,xt as zeros,Ie as zerosLike}; -/** - * @license - * Copyright 2017 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ -/** - * @license - * Copyright 2018 Google LLC - * - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - * ============================================================================= - */ -/** - * @license - * Copyright 2018 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============================================================================= - */ -/** - * @license - * Copyright 2018 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ -/** - * @license - * Copyright 2019 Google LLC - * - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - * ============================================================================= - */ -/** - * @license - * Copyright 2019 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ============================================================================= - */ -/** - * @license - * Copyright 2019 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ -/** - * @license - * Copyright 2020 Google Inc. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ -/** - * @license - * Copyright 2020 Google LLC - * - * Use of this source code is governed by an MIT-style - * license that can be found in the LICENSE file or at - * https://opensource.org/licenses/MIT. - * ============================================================================= - */ -/** - * @license - * Copyright 2020 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ -/** - * @license - * Copyright 2020 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ -/** - * @license - * Copyright 2021 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ -/** @license See the LICENSE file. */ +var s=Object.create,r=Object.defineProperty,d=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty,j=Object.getOwnPropertyNames,l=Object.getOwnPropertyDescriptor;var p=o=>r(o,"__esModule",{value:!0});var t=(o,e,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let f of j(e))!g.call(o,f)&&f!=="default"&&r(o,f,{get:()=>e[f],enumerable:!(n=l(e,f))||n.enumerable});return o},m=o=>o&&o.__esModule?o:t(p(r(o!=null?s(d(o)):{},"default",{value:o,enumerable:!0})),o);p(exports);t(exports,m(require("@tensorflow/tfjs-node-gpu"))); //# sourceMappingURL=tfjs.esm.js.map diff --git a/dist/tfjs.esm.js.map b/dist/tfjs.esm.js.map index 40d8079f..6a1f5ea0 100644 --- a/dist/tfjs.esm.js.map +++ b/dist/tfjs.esm.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["empty:/home/vlado/dev/human/node_modules/node-fetch/browser.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/alea.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor128.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorwow.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorshift7.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor4096.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/tychei.js", "empty:crypto", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/seedrandom.js", "../node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/index.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/alea.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor128.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorwow.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorshift7.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor4096.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/tychei.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/seedrandom.js", "../node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/index.js", "empty:path", "empty:worker_threads", "empty:perf_hooks", "../node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.js", "../node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm.js", "../node_modules/seedrandom/lib/alea.js", "../node_modules/seedrandom/lib/xor128.js", "../node_modules/seedrandom/lib/xorwow.js", "../node_modules/seedrandom/lib/xorshift7.js", "../node_modules/seedrandom/lib/xor4096.js", "../node_modules/seedrandom/lib/tychei.js", "../node_modules/seedrandom/seedrandom.js", "../node_modules/seedrandom/index.js", "empty:/home/vlado/dev/human/node_modules/string_decoder/lib/string_decoder.js", "../node_modules/@tensorflow/tfjs-core/src/backends/backend.ts", "../node_modules/@tensorflow/tfjs-core/src/util_base.ts", "../node_modules/@tensorflow/tfjs-core/src/environment.ts", "../node_modules/@tensorflow/tfjs-core/src/global_util.ts", "../node_modules/@tensorflow/tfjs-core/src/kernel_names.ts", "../node_modules/@tensorflow/tfjs-core/src/kernel_registry.ts", "../node_modules/@tensorflow/tfjs-core/src/util.ts", "../node_modules/@tensorflow/tfjs-core/src/profiler.ts", "../node_modules/@tensorflow/tfjs-core/src/tape.ts", "../node_modules/@tensorflow/tfjs-core/src/tensor_format.ts", "../node_modules/@tensorflow/tfjs-core/src/tensor.ts", "../node_modules/@tensorflow/tfjs-core/src/tensor_util.ts", "../node_modules/@tensorflow/tfjs-core/src/types.ts", "../node_modules/@tensorflow/tfjs-core/src/engine.ts", "../node_modules/@tensorflow/tfjs-core/src/device_util.ts", "../node_modules/@tensorflow/tfjs-core/src/flags.ts", "../node_modules/@tensorflow/tfjs-core/src/tensor_util_env.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/operation.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/complex.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor_ops_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor.ts", "../node_modules/@tensorflow/tfjs-core/src/io/types.ts", "../node_modules/@tensorflow/tfjs-core/src/io/io_utils.ts", "../node_modules/@tensorflow/tfjs-core/src/io/router_registry.ts", "../node_modules/@tensorflow/tfjs-core/src/io/indexed_db.ts", "../node_modules/@tensorflow/tfjs-core/src/io/local_storage.ts", "../node_modules/@tensorflow/tfjs-core/src/io/model_management.ts", "../node_modules/@tensorflow/tfjs-core/src/platforms/platform_browser.ts", "../node_modules/@tensorflow/tfjs-core/src/platforms/platform_node.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/buffer.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/cast.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/clone.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/print.ts", "../node_modules/@tensorflow/tfjs-core/src/base_side_effects.ts", "../node_modules/@tensorflow/tfjs-core/src/io/io.ts", "../node_modules/@tensorflow/tfjs-core/src/io/browser_files.ts", "../node_modules/@tensorflow/tfjs-core/src/io/progress.ts", "../node_modules/@tensorflow/tfjs-core/src/io/weights_loader.ts", "../node_modules/@tensorflow/tfjs-core/src/io/http.ts", "../node_modules/@tensorflow/tfjs-core/src/io/passthrough.ts", "../node_modules/@tensorflow/tfjs-core/src/math.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/mat_mul.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/one_hot.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/transpose.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/confusion_matrix.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/browser.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/gather_nd_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/scatter_nd_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/slice_util.ts", "../node_modules/@tensorflow/tfjs-core/src/serialization.ts", "../node_modules/@tensorflow/tfjs-core/src/test_util.ts", "../node_modules/@tensorflow/tfjs-core/src/version.ts", "../node_modules/@tensorflow/tfjs-core/src/globals.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/add.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/floorDiv.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/div.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/mul.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/abs.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/acos.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/acosh.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/add_n.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/all.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/any.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/arg_max.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/arg_min.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/asin.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/asinh.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/atan.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/atan2.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/atanh.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/reshape.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/avg_pool.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/avg_pool_3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/concat.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sigmoid.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/slice.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tanh.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/basic_lstm_cell.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/batch_to_space_nd.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/batchnorm_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/batchnorm.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/batchnorm2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/batchnorm3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/batchnorm4d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/bincount.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/broadcast_to.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/ceil.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/clip_by_value.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/concat_1d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/concat_2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/concat_3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/concat_4d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv1d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv2d_backprop_input.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv2d_transpose.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv3d_backprop_input.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv3d_transpose.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/cos.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/cosh.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/cumsum.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/dense_bincount.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/depth_to_space.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/depthwise_conv2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/diag.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/dilation2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/broadcast_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/equal.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/where.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/zeros_like.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/div_no_nan.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/dot.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/elu.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/erf.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/exp.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/expand_dims.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/expm1.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tile.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/eye.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/fill.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/floor.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/gather.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/greater.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/greater_equal.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/imag.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/is_finite.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/is_inf.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/is_nan.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/leaky_relu.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/less.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/less_equal.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/linspace.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/local_response_normalization.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/log.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/log1p.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/neg.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/softplus.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/log_sigmoid.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/max.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sub.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sum.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/log_softmax.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/axis_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/log_sum_exp.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/logical_and.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/logical_not.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/logical_or.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/logical_xor.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/max_pool.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/max_pool_3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/max_pool_with_argmax.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/maximum.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/mean.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/min.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/minimum.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/mirror_pad.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/mod.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/square.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/moments.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/multi_rnn_cell.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/multinomial.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/not_equal.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/zeros.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/ones.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/ones_like.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/outer_product.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/pad.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/pad1d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/pad2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/pad3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/pad4d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/space_to_batch_nd.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/pool.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/pow.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/prelu.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/prod.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/rand.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/rand_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/random_gamma.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/random_normal.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/random_uniform.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/range.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/real.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/reciprocal.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/relu.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/relu6.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/reverse.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/reverse_1d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/reverse_2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/reverse_3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/reverse_4d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/round.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/rsqrt.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/scalar.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/selu.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/separable_conv2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/setdiff1d_async.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sign.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sin.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sinh.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/slice1d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/slice2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/slice3d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/slice4d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/softmax.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/spectral/fft.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/spectral/ifft.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/spectral/irfft.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/split.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/spectral/rfft.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sqrt.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/squared_difference.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/squeeze.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/stack.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/step.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/strided_slice.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tan.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor1d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor4d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor5d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/tensor6d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/topk.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/truncated_normal.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/unique.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/unsorted_segment_sum.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/unstack.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/variable.ts", "../node_modules/@tensorflow/tfjs-core/src/backends/where_impl.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/where_async.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/boolean_mask.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/norm.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/moving_average.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/scatter_nd.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sparse_to_dense_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/sparse_to_dense.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/gather_nd.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/dropout_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/dropout.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/signal_ops_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/in_top_k.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/fused_ops.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv2d_backprop_filter.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/fused_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/fused/conv2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/depthwise_conv2d_native_backprop_filter.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/depthwise_conv2d_native_backprop_input.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/fused/depthwise_conv2d.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/fused/mat_mul.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/signal/hamming_window.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/signal/hann_window.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/signal/frame.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/signal/stft.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/crop_and_resize.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/flip_left_right.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/rotate_with_offset.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/nonmax_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/non_max_suppression.ts", "../node_modules/@tensorflow/tfjs-core/src/backends/non_max_suppression_util.ts", "../node_modules/@tensorflow/tfjs-core/src/backends/non_max_suppression_impl.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/non_max_suppression_async.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/non_max_suppression_with_score.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/non_max_suppression_with_score_async.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/non_max_suppression_padded.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/non_max_suppression_padded_async.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/resize_bilinear.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/image/resize_nearest_neighbor.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/linalg/band_part.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/linalg/gram_schmidt.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/linalg/qr.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/loss_ops_utils.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/compute_weighted_loss.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/absolute_difference.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/cosine_distance.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/hinge_loss.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/huber_loss.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/log_loss.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/mean_squared_error.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/sigmoid_cross_entropy.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/losses/softmax_cross_entropy.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/ops.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/optimizer.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/adadelta_optimizer.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/adagrad_optimizer.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/adam_optimizer.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/adamax_optimizer.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/sgd_optimizer.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/momentum_optimizer.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/rmsprop_optimizer.ts", "../node_modules/@tensorflow/tfjs-core/src/optimizers/optimizer_constructors.ts", "../node_modules/@tensorflow/tfjs-core/src/train.ts", "../node_modules/@tensorflow/tfjs-core/src/browser_util.ts", "../node_modules/@tensorflow/tfjs-core/src/backends/backend_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/concat_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/reduce_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/rotate_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/array_ops_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/selu_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/erf_util.ts", "../node_modules/@tensorflow/tfjs-core/src/log.ts", "../node_modules/@tensorflow/tfjs-core/src/backends/complex_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/split_util.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/segment_util.ts", "../node_modules/@tensorflow/tfjs-core/src/backends/kernel_impls.ts", "../node_modules/@tensorflow/tfjs-core/src/index.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/cpu_util.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/backend_cpu.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/shared.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Abs.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/utils/binary_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Complex.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/utils/zeros_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Identity.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Real.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Cast.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/utils/binary_utils.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Add.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Bincount_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/utils/unary_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/utils/unary_utils.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Ceil.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Concat_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Exp.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Expm1.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Floor.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/GatherV2_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Greater.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Less.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LinSpace_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Log.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Max_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Maximum.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Minimum.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Multiply.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Neg.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/NotEqual.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Transpose_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Transpose.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Prod.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Range_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Rsqrt.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Slice.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/SquaredDifference.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/StridedSlice_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Sub.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Tile_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/TopK_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Unique_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/version.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/base.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Elu.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LeakyRelu.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Prelu.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Relu.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Relu6.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/utils/fused_utils.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Reshape.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/BatchMatMul.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/_FusedMatMul.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Acos.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Acosh.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/AddN.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/All.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Any.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ArgMax.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ArgMin.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Asin.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Asinh.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Atan.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Atan2.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Atanh.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/utils/pool_utils.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/AvgPool.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/AvgPool3D.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/AvgPool3DGrad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/AvgPoolGrad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/BatchNorm.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/BatchToSpaceND.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Bincount.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Clip.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ComplexAbs.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Imag.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Concat.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Conv2D.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Conv2DBackpropFilter.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Conv2DBackpropInput.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Conv3D.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Conv3DBackpropFilterV2.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Conv3DBackpropInputV2.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Cos.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Cosh.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/CropAndResize.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Cumsum.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/DenseBincount.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/DepthToSpace.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/DepthwiseConv2dNative.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/DepthwiseConv2dNativeBackpropFilter.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/DepthwiseConv2dNativeBackpropInput.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Diag.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Dilation2D.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Dilation2DBackpropFilter.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Dilation2DBackpropInput.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/EluGrad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Equal.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Erf.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ExpandDims.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/RealDiv.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/utils/fft_utils.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/FFT.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Fill.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/FlipLeftRight.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/FloorDiv.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/FusedConv2D.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/FusedDepthwiseConv2D.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/GatherNd.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/GatherV2.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/GreaterEqual.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/IFFT.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/IsFinite.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/IsInf.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/IsNaN.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LessEqual.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LinSpace.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Log1p.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LogicalAnd.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LogicalNot.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LogicalOr.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LRN.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/LRNGrad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Max.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/MaxPool.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/MaxPool3D.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/MaxPool3DGrad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/MaxPoolGrad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/MaxPoolWithArgmax_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/MaxPoolWithArgmax.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Sum.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Mean.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Min.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/MirrorPad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Mod.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Multinomial.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Softmax.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/NonMaxSuppressionV3.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/NonMaxSuppressionV4.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/NonMaxSuppressionV5.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/OneHot.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ZerosLike.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/OnesLike.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Pack.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/PadV2.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Pow.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Range.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Reciprocal.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ResizeBilinear.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ResizeBilinearGrad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ResizeNearestNeighbor.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ResizeNearestNeighborGrad.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Reverse.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/RotateWithOffset.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Round.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Scatter_impl.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/ScatterNd.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Select.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Selu.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Sigmoid.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Sign.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Sin.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Sinh.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Softplus.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/SpaceToBatchND.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/SparseToDense.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/SplitV.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Sqrt.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Square.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Step.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/StridedSlice.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Tan.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Tanh.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Tile.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/TopK.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Unique.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/Unpack.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/kernels/UnsortedSegmentSum.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/register_all_kernels.ts", "../node_modules/@tensorflow/tfjs-backend-cpu/src/index.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/webgl_util.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/canvas_util.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/tex_util.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/flags_webgl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/glsl_version.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/shader_compiler_util.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/decode_matrix_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/decode_matrix_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/encode_float_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/encode_float_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/encode_matrix_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/encode_matrix_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/gpgpu_util.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/gpgpu_context.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/shader_compiler.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/gpgpu_math.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernel_utils/shared.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/packing_util.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/pack_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/reshape_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/texture_manager.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/unaryop_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/unaryop_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/unpack_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/backend_webgl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/version.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/webgl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/base.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/binaryop_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/binaryop_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Identity.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Complex.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/LeakyRelu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Prelu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernel_utils/kernel_funcs_utils.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/mulmat_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/binaryop_complex_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Multiply.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernel_utils/reshape.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Reshape.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/mean_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/reduce_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernel_utils/reduce.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/transpose_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/transpose_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Transpose_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Sum_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Sum.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Transpose.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/BatchMatMul_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/_FusedMatMul.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Abs.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Acos.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Acosh.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Add.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/addn_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/addn_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/AddN.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/All.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Any.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/argminmax_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/argminmax_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernel_utils/arg_min_max.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ArgMax.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ArgMin.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Asin.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Asinh.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Atan.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Atan2.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Atanh.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/pool_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/AvgPool.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/AvgPool3D.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/avg_pool_backprop_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/AvgPool3DGrad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/AvgPoolGrad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/BatchMatMul.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/batchnorm_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/batchnorm_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/BatchNorm.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/slice_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/slice_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Slice.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/BatchToSpaceND.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Bincount.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/NotEqual.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Real.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernel_utils/int.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Cast.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Ceil.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/clip_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/clip_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ClipByValue.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/complex_abs_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ComplexAbs.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/concat_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/concat_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Imag.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Concat_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Concat.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/conv_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/im2col_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Conv2D_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Conv2D.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/conv_backprop_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Conv2DBackpropFilter.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Conv2DBackpropInput.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Conv3D.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Conv3DBackpropFilterV2.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Conv3DBackpropInputV2.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Cos.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Cosh.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/crop_and_resize_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/CropAndResize.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/cumsum_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Cumsum.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/DenseBincount.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/depth_to_space_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/DepthToSpace.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/conv_gpu_depthwise.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/conv_packed_gpu_depthwise.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/DepthwiseConv2dNative.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/conv_backprop_gpu_depthwise.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/DepthwiseConv2dNativeBackpropFilter.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/DepthwiseConv2dNativeBackpropInput.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/diag_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Diag.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/dilation_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Dilation2D.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Elu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/EluGrad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Equal.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Erf.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Exp.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ExpandDims.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Expm1.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/fft_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FFT_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FFT.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/fill_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Fill.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/flip_left_right_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FlipLeftRight.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Floor.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FloorDiv.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FromPixels_utils/from_pixels_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FromPixels_utils/from_pixels_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FromPixels.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FusedConv2D.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/FusedDepthwiseConv2D.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/gather_nd_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/GatherNd.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/gather_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/GatherV2.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Greater.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/GreaterEqual.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/IFFT.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/IsFinite.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/IsInf.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/IsNaN.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Less.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/LessEqual.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/LinSpace.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Log.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Log1p.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/LogicalAnd.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/LogicalNot.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/LogicalOr.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/lrn_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/lrn_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/LRN.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/lrn_grad_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/LRNGrad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Max_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Max.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Maximum.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/MaxPool.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/MaxPool3D.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/max_pool_backprop_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/MaxPool3DGrad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/MaxPoolGrad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/MaxPoolWithArgmax_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/MaxPoolWithArgmax.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Mean_impl.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Mean.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Min.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Minimum.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/mirror_pad_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/mirror_pad_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/MirrorPad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Mod.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/multinomial_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/RealDiv.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Sub.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Softmax.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Multinomial.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Neg.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/NonMaxSuppressionV3.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/NonMaxSuppressionV4.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/NonMaxSuppressionV5.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/onehot_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/OneHot.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ZerosLike.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/OnesLike.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Pack.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/pad_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/pad_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/PadV2.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Pow.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Prod.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Range.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Reciprocal.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Relu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Relu6.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/resize_bilinear_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/resize_bilinear_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ResizeBilinear.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/resize_bilinear_backprop_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ResizeBilinearGrad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/resize_nearest_neighbor_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ResizeNearestNeighbor.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/resize_nearest_neighbor_backprop_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ResizeNearestNeighborGrad.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/reverse_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/reverse_packed_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Reverse.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/rotate_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/RotateWithOffset.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Round.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Rsqrt.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/scatter_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/ScatterNd.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/select_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Select.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Selu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Sigmoid.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Sign.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Sin.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Sinh.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Softplus.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/SpaceToBatchND.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/SparseToDense.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/SplitV.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Sqrt.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Square.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/SquaredDifference.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Step.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/strided_slice_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/StridedSlice.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Tan.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Tanh.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/tile_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Tile.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/TopK.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Unique.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/Unpack.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/segment_gpu.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/kernels/UnsortedSegmentSum.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/register_all_kernels.ts", "../node_modules/@tensorflow/tfjs-backend-webgl/src/index.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/types.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/_FusedMatMul.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/unary_kernel.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Abs.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/binary_kernel.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Add.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/AddN.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Identity.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Transpose.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/kernel_utils.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/ArgMax.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/AvgPool.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Reshape.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/BatchMatMul.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Cast.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/ClipByValue.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Concat.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Conv2D.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Conv2DBackpropInput.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Cos.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/CropAndResize.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Cumsum.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/DepthToSpace.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/DepthwiseConv2dNative.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Equal.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Exp.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/ExpandDims.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Fill.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/FlipLeftRight.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Floor.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/FloorDiv.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/FusedBatchNorm.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/FusedConv2D.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/FusedDepthwiseConv2D.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/GatherNd.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/GatherV2.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Greater.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/GreaterEqual.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/LeakyRelu.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Less.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/LessEqual.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Log.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/LogicalAnd.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Max.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Maximum.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/MaxPool.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Mean.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Min.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Minimum.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Multiply.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Neg.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/NonMaxSuppression_util.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/NonMaxSuppressionV3.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/NonMaxSuppressionV4.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/NonMaxSuppressionV5.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/NotEqual.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/OneHot.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/OnesLike.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Pack.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/PadV2.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Pow.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Prelu.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Prod.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Range.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/RealDiv.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Relu.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Relu6.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/ResizeBilinear.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Reverse.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/RotateWithOffset.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Round.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Rsqrt.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/ScatterNd.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Select.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Sigmoid.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Sin.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Slice.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Softmax.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/SplitV.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Sqrt.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Square.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/SquaredDifference.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Step.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/StridedSlice.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Sub.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Sum.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Tanh.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Tile.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/TopK.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/Unpack.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/kernels/ZerosLike.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/register_all_kernels.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/flags_wasm.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/backend_wasm.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.worker.js", "../node_modules/@tensorflow/tfjs-backend-wasm/src/version.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/base.ts", "../node_modules/@tensorflow/tfjs-backend-wasm/src/index.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/abs.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/acos.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/acosh.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/add.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/all.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/any.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/arg_max.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/arg_min.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/as_scalar.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/as_type.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/as1d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/as2d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/as3d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/as4d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/as5d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/asin.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/asinh.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/atan.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/atan2.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/atanh.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/avg_pool.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/batch_to_space_nd.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/batchnorm.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/broadcast_to.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/cast.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/ceil.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/clip_by_value.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/concat.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/conv1d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/conv2d_transpose.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/conv2d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/cos.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/cosh.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/cumsum.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/depth_to_space.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/depthwise_conv2d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/dilation2d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/div_no_nan.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/div.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/dot.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/elu.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/equal.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/erf.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/exp.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/expand_dims.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/expm1.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/fft.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/flatten.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/floor.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/floorDiv.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/gather.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/greater_equal.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/greater.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/ifft.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/irfft.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/is_finite.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/is_inf.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/is_nan.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/leaky_relu.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/less_equal.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/less.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/local_response_normalization.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/log_sigmoid.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/log_softmax.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/log_sum_exp.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/log.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/log1p.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/logical_and.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/logical_not.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/logical_or.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/logical_xor.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/mat_mul.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/max_pool.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/max.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/maximum.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/mean.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/min.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/minimum.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/mirror_pad.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/mod.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/mul.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/neg.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/norm.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/not_equal.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/one_hot.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/ones_like.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/pad.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/pool.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/pow.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/prelu.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/prod.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/reciprocal.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/relu.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/relu6.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/reshape_as.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/reshape.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/resize_bilinear.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/resize_nearest_neighbor.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/reverse.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/rfft.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/round.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/rsqrt.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/selu.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/separable_conv2d.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/sigmoid.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/sign.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/sin.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/sinh.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/slice.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/softmax.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/softplus.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/space_to_batch_nd.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/split.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/sqrt.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/square.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/squared_difference.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/squeeze.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/stack.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/step.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/strided_slice.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/sub.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/sum.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/tan.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/tanh.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/tile.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/to_bool.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/to_float.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/to_int.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/topk.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/transpose.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/unique.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/unsorted_segment_sum.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/unstack.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/where.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/zeros_like.ts", "../node_modules/@tensorflow/tfjs-core/src/public/chained_ops/register_all_chained_ops.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Abs_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Acos_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Acosh_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Add_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/AddN_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/ArgMax_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/ArgMin_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Asin_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Asinh_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Atan2_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Atan_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Atanh_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/avg_pool_3d_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/AvgPool3D_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/avg_pool_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/AvgPool_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/BatchMatMul_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/BatchToSpaceND_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/BroadcastTo_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Cast_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Ceil_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/ClipByValue_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/ComplexAbs_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Concat_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Conv2D_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Conv2DBackpropInput_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/conv3d_backprop_filter.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Conv3D_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Cos_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Cosh_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Cumsum_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/DepthwiseConv2dNative_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Dilation2D_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Elu_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Erf_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Exp_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/ExpandDims_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Expm1_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Floor_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/FloorDiv_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/FusedBatchNorm_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/GatherV2_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/GreaterEqual_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Identity_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/IsFinite_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/IsInf_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/IsNan_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/LeakyRelu_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Log1p_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Log_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/LogSoftmax_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/local_response_normalization_backprop.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/LRN_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/min_max_grad_util.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Max_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Maximum_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/max_pool_3d_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/MaxPool3D_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/ops/max_pool_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/MaxPool_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Mean_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Min_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Minimum_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/MirrorPad_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Mod_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Multiply_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Neg_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/OneHot_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/OnesLike_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Pack_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/PadV2_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Pow_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Prelu_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/RealDiv_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Reciprocal_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Relu6_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Relu_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Reshape_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/ResizeBilinear_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/ResizeNearestNeighbor_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Reverse_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Round_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Rsqrt_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Select_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Selu_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Sigmoid_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Sign_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Sin_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Sinh_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Slice_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Softmax_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Softplus_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/SpaceToBatchND_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/SplitV_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Sqrt_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Square_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/SquaredDifference_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Step_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Sub_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Sum_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Tan_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Tanh_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Tile_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Transpose_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/Unpack_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/UnsortedSegmentSum_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/gradients/ZerosLike_grad.ts", "../node_modules/@tensorflow/tfjs-core/src/register_all_gradients.ts", "../node_modules/@tensorflow/tfjs-layers/src/exports_constraints.ts", "../node_modules/@tensorflow/tfjs-layers/src/backend/common.ts", "../node_modules/@tensorflow/tfjs-layers/src/errors.ts", "../node_modules/@tensorflow/tfjs-layers/src/utils/generic_utils.ts", "../node_modules/@tensorflow/tfjs-layers/src/constraints.ts", "../node_modules/@tensorflow/tfjs-layers/src/exports_initializers.ts", "../node_modules/@tensorflow/tfjs-layers/src/keras_format/common.ts", "../node_modules/@tensorflow/tfjs-layers/src/common.ts", "../node_modules/@tensorflow/tfjs-layers/src/utils/math_utils.ts", "../node_modules/@tensorflow/tfjs-layers/src/backend/tfjs_backend.ts", "../node_modules/@tensorflow/tfjs-layers/src/keras_format/initializer_config.ts", "../node_modules/@tensorflow/tfjs-layers/src/initializers.ts", "../node_modules/@tensorflow/tfjs-layers/src/exports_layers.ts", "../node_modules/@tensorflow/tfjs-layers/src/backend/state.ts", "../node_modules/@tensorflow/tfjs-layers/src/utils/types_utils.ts", "../node_modules/@tensorflow/tfjs-layers/src/utils/variable_utils.ts", "../node_modules/@tensorflow/tfjs-layers/src/variables.ts", "../node_modules/@tensorflow/tfjs-layers/src/engine/topology.ts", "../node_modules/@tensorflow/tfjs-layers/src/engine/input_layer.ts", "../node_modules/@tensorflow/tfjs-layers/src/logs.ts", "../node_modules/@tensorflow/tfjs-layers/src/base_callbacks.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/serialization.ts", "../node_modules/@tensorflow/tfjs-layers/src/losses.ts", "../node_modules/@tensorflow/tfjs-layers/src/metrics.ts", "../node_modules/@tensorflow/tfjs-layers/src/optimizers.ts", "../node_modules/@tensorflow/tfjs-layers/src/user_defined_metadata.ts", "../node_modules/@tensorflow/tfjs-layers/src/utils/layer_utils.ts", "../node_modules/@tensorflow/tfjs-layers/src/utils/serialization_utils.ts", "../node_modules/@tensorflow/tfjs-layers/src/version.ts", "../node_modules/@tensorflow/tfjs-layers/src/engine/executor.ts", "../node_modules/@tensorflow/tfjs-layers/src/engine/container.ts", "../node_modules/@tensorflow/tfjs-layers/src/engine/training_utils.ts", "../node_modules/@tensorflow/tfjs-layers/src/engine/training_dataset.ts", "../node_modules/@tensorflow/tfjs-layers/src/engine/training_tensors.ts", "../node_modules/@tensorflow/tfjs-layers/src/engine/training.ts", "../node_modules/@tensorflow/tfjs-layers/src/models.ts", "../node_modules/@tensorflow/tfjs-layers/src/exports.ts", "../node_modules/@tensorflow/tfjs-layers/src/activations.ts", "../node_modules/@tensorflow/tfjs-layers/src/regularizers.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/advanced_activations.ts", "../node_modules/@tensorflow/tfjs-layers/src/utils/conv_utils.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/convolutional.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/convolutional_depthwise.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/recurrent.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/convolutional_recurrent.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/core.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/embeddings.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/merge.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/noise.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/normalization.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/padding.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/pooling.ts", "../node_modules/@tensorflow/tfjs-layers/src/layers/wrappers.ts", "../node_modules/@tensorflow/tfjs-layers/src/exports_metrics.ts", "../node_modules/@tensorflow/tfjs-layers/src/exports_models.ts", "../node_modules/@tensorflow/tfjs-layers/src/exports_regularizers.ts", "../node_modules/@tensorflow/tfjs-layers/src/callbacks.ts", "../node_modules/@tensorflow/tfjs-layers/src/index.ts", "../node_modules/@tensorflow/tfjs-converter/src/data/compiled_api.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/custom_op/register.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/utils.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/arithmetic.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/basic_math.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/control.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/convolution.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/creation.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/dynamic.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/evaluation.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/graph.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/hash_table.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/image.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/logical.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/matrices.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/normalization.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/reduction.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/slice_join.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/spectral.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/op_list/transformation.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/operation_mapper.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/custom_op/node_value_impl.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/arithmetic_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/basic_math_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/tensor_utils.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/tensor_array.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/tensor_list.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/control_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/convolution_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/creation_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/dynamic_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/evaluation_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/graph_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/hash_table.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/hash_table_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/image_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/logical_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/matrices_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/normalization_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/reduction_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/slice_join_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/spectral_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/executors/transformation_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/operations/operation_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/execution_context.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/model_analysis.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/graph_executor.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/resource_manager.ts", "../node_modules/@tensorflow/tfjs-converter/src/executor/graph_model.ts", "../node_modules/@tensorflow/tfjs-converter/src/version.ts", "../node_modules/@tensorflow/tfjs-converter/src/index.ts", "../node_modules/@tensorflow/tfjs-data/src/index.ts", "../node_modules/@tensorflow/tfjs-data/src/dataset.ts", "../node_modules/@tensorflow/tfjs-data/src/iterators/lazy_iterator.ts", "../node_modules/@tensorflow/tfjs-data/src/util/deep_map.ts", "../node_modules/@tensorflow/tfjs-data/src/util/deep_clone.ts", "../node_modules/@tensorflow/tfjs-data/src/util/ring_buffer.ts", "../node_modules/@tensorflow/tfjs-data/src/util/growing_ring_buffer.ts", "../node_modules/@tensorflow/tfjs-data/src/datasets/text_line_dataset.ts", "../node_modules/@tensorflow/tfjs-data/src/datasets/csv_dataset.ts", "../node_modules/@tensorflow/tfjs-data/src/iterators/microphone_iterator.ts", "../node_modules/@tensorflow/tfjs-data/src/iterators/webcam_iterator.ts", "../node_modules/@tensorflow/tfjs-data/src/datasource.ts", "../node_modules/@tensorflow/tfjs-data/src/iterators/string_iterator.ts", "../node_modules/@tensorflow/tfjs-data/src/iterators/byte_chunk_iterator.ts", "../node_modules/@tensorflow/tfjs-data/src/iterators/file_chunk_iterator.ts", "../node_modules/@tensorflow/tfjs-data/src/iterators/url_chunk_iterator.ts", "../node_modules/@tensorflow/tfjs-data/src/util/source_util.ts", "../node_modules/@tensorflow/tfjs-data/src/sources/file_data_source.ts", "../node_modules/@tensorflow/tfjs-data/src/sources/url_data_source.ts", "../node_modules/@tensorflow/tfjs-data/src/readers.ts", "../node_modules/@tensorflow/tfjs-data/src/version.ts", "../src/tfjs/tf-browser.ts"], - "sourcesContent": ["", "// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// \n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = data.toString();\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "", "/*\nCopyright 2014 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\nvar global = this,\n width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\nmath['seed' + rngname] = seedrandom;\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n}\n\n// End anonymous scope, and pass initial values.\n})(\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", "// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// \n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = data.toString();\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "/*\nCopyright 2014 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\nvar global = this,\n width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\nmath['seed' + rngname] = seedrandom;\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n}\n\n// End anonymous scope, and pass initial values.\n})(\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", "", "", "", "\nvar WasmBackendModuleThreadedSimd = (function() {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;\n return (\nfunction(WasmBackendModuleThreadedSimd) {\n WasmBackendModuleThreadedSimd = WasmBackendModuleThreadedSimd || {};\n\nfunction GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof WasmBackendModuleThreadedSimd!==\"undefined\"?WasmBackendModuleThreadedSimd:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram=\"./this.program\";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_PTHREAD=Module[\"ENVIRONMENT_IS_PTHREAD\"]||false;if(ENVIRONMENT_IS_PTHREAD){buffer=Module[\"buffer\"];DYNAMIC_BASE=Module[\"DYNAMIC_BASE\"];DYNAMICTOP_PTR=Module[\"DYNAMICTOP_PTR\"]}var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require(\"path\").dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);return nodeFS[\"readFileSync\"](filename,binary?null:\"utf8\")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){thisProgram=process[\"argv\"][1].replace(/\\\\/g,\"/\")}arguments_=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process[\"on\"](\"unhandledRejection\",abort);quit_=function(status){process[\"exit\"](status)};Module[\"inspect\"]=function(){return\"[Emscripten Module object]\"};var nodeWorkerThreads;try{nodeWorkerThreads=require(\"worker_threads\")}catch(e){console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?');throw e}Worker=nodeWorkerThreads.Worker}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){arguments_=scriptArgs}else if(typeof arguments!=\"undefined\"){arguments_=arguments}if(typeof quit===\"function\"){quit_=function(status){quit(status)}}if(typeof print!==\"undefined\"){if(typeof console===\"undefined\")console={};console.log=print;console.warn=console.error=typeof printErr!==\"undefined\"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(typeof _scriptDir !== \"undefined\" && _scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}if(ENVIRONMENT_IS_NODE){read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);return nodeFS[\"readFileSync\"](filename,binary?null:\"utf8\")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret}}else{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}if(ENVIRONMENT_IS_NODE){if(typeof performance===\"undefined\"){performance=require(\"perf_hooks\").performance}}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime;if(Module[\"noExitRuntime\"])noExitRuntime=Module[\"noExitRuntime\"];if(typeof WebAssembly!==\"object\"){err(\"no native wasm support detected\")}var wasmMemory;var wasmTable=new WebAssembly.Table({\"initial\":169,\"maximum\":169+0,\"element\":\"anyfunc\"});var wasmModule;var threadInfoStruct=0;var selfThreadId=0;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function getCFunc(ident){var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\")return UTF8ToString(ret);if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=5256480,STACKTOP=STACK_BASE,STACK_MAX=13600,DYNAMIC_BASE=5256480,DYNAMICTOP_PTR=12672;if(ENVIRONMENT_IS_PTHREAD){}var INITIAL_INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||16777216;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module[\"wasmMemory\"];buffer=Module[\"buffer\"]}else{if(Module[\"wasmMemory\"]){wasmMemory=Module[\"wasmMemory\"]}else{wasmMemory=new WebAssembly.Memory({\"initial\":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,\"maximum\":2147483648/WASM_PAGE_SIZE,\"shared\":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\");if(ENVIRONMENT_IS_NODE){console.log(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)\")}throw Error(\"bad memory\")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);if(!ENVIRONMENT_IS_PTHREAD){GROWABLE_HEAP_I32()[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback(Module);continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;if(ENVIRONMENT_IS_PTHREAD)runtimeInitialized=true;function preRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_ceil=Math.ceil;var Math_floor=Math.floor;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){assert(!ENVIRONMENT_IS_PTHREAD,\"addRunDependency cannot be used in a pthread worker\");runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}if(ENVIRONMENT_IS_PTHREAD)console.error(\"Pthread aborting at \"+(new Error).stack);what+=\"\";out(what);err(what);ABORT=true;EXITSTATUS=1;what=\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\";throw new WebAssembly.RuntimeError(what)}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix=\"file://\";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile=\"tfjs-backend-wasm-threaded-simd.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw\"both async and sync fetching of the wasm failed\"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch===\"function\"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={\"a\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){var numWorkersToLoad=PThread.unusedWorkers.length;PThread.unusedWorkers.forEach(function(w){PThread.loadWasmModuleToWorker(w,function(){if(!--numWorkersToLoad)removeRunDependency(\"wasm-instantiate\")})})}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency(\"wasm-instantiate\")}function receiveInstantiatedSource(output){receiveInstance(output[\"instance\"],output[\"module\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming===\"function\"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch===\"function\"){fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync();return{}}var ASM_CONSTS={};function initPthreadsJS(){PThread.initRuntime()}if(!ENVIRONMENT_IS_PTHREAD)__ATINIT__.push({func:function(){___wasm_call_ctors()}});var __pthread_ptr=0;var __pthread_is_main_runtime_thread=0;var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr,isMainBrowserThread,isMainRuntimeThread){pthreadPtr=pthreadPtr|0;isMainBrowserThread=isMainBrowserThread|0;isMainRuntimeThread=isMainRuntimeThread|0;__pthread_ptr=pthreadPtr;__pthread_is_main_browser_thread=isMainBrowserThread;__pthread_is_main_runtime_thread=isMainRuntimeThread}Module[\"__register_pthread_ptr\"]=__register_pthread_ptr;var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var __main_thread_futex_wait_address=13584;function _emscripten_futex_wake(addr,count){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0||count<0)return-28;if(count==0)return 0;if(count>=2147483647)count=Infinity;var mainThreadWaitAddress=Atomics.load(GROWABLE_HEAP_I32(),__main_thread_futex_wait_address>>2);var mainThreadWoken=0;if(mainThreadWaitAddress==addr){var loadedAddr=Atomics.compareExchange(GROWABLE_HEAP_I32(),__main_thread_futex_wait_address>>2,mainThreadWaitAddress,0);if(loadedAddr==mainThreadWaitAddress){--count;mainThreadWoken=1;if(count<=0)return 1}}var ret=Atomics.notify(GROWABLE_HEAP_I32(),addr>>2,count);if(ret>=0)return ret+mainThreadWoken;throw\"Atomics.notify returned an unexpected value \"+ret}Module[\"_emscripten_futex_wake\"]=_emscripten_futex_wake;function __kill_thread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw\"Internal Error! _kill_thread() can only ever be called from main application thread!\";if(!pthread_ptr)throw\"Internal Error! Null pthread_ptr in _kill_thread!\";GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var pthread=PThread.pthreads[pthread_ptr];pthread.worker.terminate();PThread.freeThreadData(pthread);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker),1);pthread.worker.pthread=undefined}function __cancel_thread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw\"Internal Error! _cancel_thread() can only ever be called from main application thread!\";if(!pthread_ptr)throw\"Internal Error! Null pthread_ptr in _cancel_thread!\";var pthread=PThread.pthreads[pthread_ptr];pthread.worker.postMessage({\"cmd\":\"cancel\"})}function __cleanup_thread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw\"Internal Error! _cleanup_thread() can only ever be called from main application thread!\";if(!pthread_ptr)throw\"Internal Error! Null pthread_ptr in _cleanup_thread!\";GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var pthread=PThread.pthreads[pthread_ptr];if(pthread){var worker=pthread.worker;PThread.returnWorkerToPool(worker)}}var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkers:[],runningWorkers:[],initRuntime:function(){__register_pthread_ptr(PThread.mainThreadBlock,!ENVIRONMENT_IS_WORKER,1);_emscripten_register_main_browser_thread_id(PThread.mainThreadBlock)},initMainThreadBlock:function(){var pthreadPoolSize=8;for(var i=0;i>2]=PThread.mainThreadBlock;var headPtr=PThread.mainThreadBlock+156;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var tlsMemory=13072;for(var i=0;i<128;++i)GROWABLE_HEAP_U32()[tlsMemory/4+i]=0;Atomics.store(GROWABLE_HEAP_U32(),PThread.mainThreadBlock+104>>2,tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),PThread.mainThreadBlock+40>>2,PThread.mainThreadBlock);Atomics.store(GROWABLE_HEAP_U32(),PThread.mainThreadBlock+44>>2,42)},initWorker:function(){},pthreads:{},exitHandlers:null,setThreadStatus:function(){},runExitHandlers:function(){if(PThread.exitHandlers!==null){while(PThread.exitHandlers.length>0){PThread.exitHandlers.pop()()}PThread.exitHandlers=null}if(ENVIRONMENT_IS_PTHREAD&&threadInfoStruct)___pthread_tsd_run_dtors()},threadExit:function(exitCode){var tb=_pthread_self();if(tb){Atomics.store(GROWABLE_HEAP_U32(),tb+4>>2,exitCode);Atomics.store(GROWABLE_HEAP_U32(),tb+0>>2,1);Atomics.store(GROWABLE_HEAP_U32(),tb+60>>2,1);Atomics.store(GROWABLE_HEAP_U32(),tb+64>>2,0);PThread.runExitHandlers();_emscripten_futex_wake(tb+0,2147483647);__register_pthread_ptr(0,0,0);threadInfoStruct=0;if(ENVIRONMENT_IS_PTHREAD){postMessage({\"cmd\":\"exit\"})}}},threadCancel:function(){PThread.runExitHandlers();Atomics.store(GROWABLE_HEAP_U32(),threadInfoStruct+4>>2,-1);Atomics.store(GROWABLE_HEAP_U32(),threadInfoStruct+0>>2,1);_emscripten_futex_wake(threadInfoStruct+0,2147483647);threadInfoStruct=selfThreadId=0;__register_pthread_ptr(0,0,0);postMessage({\"cmd\":\"cancelDone\"})},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread&&pthread.worker){PThread.returnWorkerToPool(pthread.worker)}}PThread.pthreads={};for(var i=0;i>2];GROWABLE_HEAP_I32()[pthread.threadInfoStruct+104>>2]=0;_free(tlsMemory);_free(pthread.threadInfoStruct)}pthread.threadInfoStruct=0;if(pthread.allocatedOwnStack&&pthread.stackBase)_free(pthread.stackBase);pthread.stackBase=0;if(pthread.worker)pthread.worker.pthread=null},returnWorkerToPool:function(worker){delete PThread.pthreads[worker.pthread.thread];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);PThread.freeThreadData(worker.pthread);worker.pthread=undefined},receiveObjectTransfer:function(data){},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=function(e){var d=e[\"data\"];var cmd=d[\"cmd\"];if(worker.pthread)PThread.currentProxiedOperationCallerThread=worker.pthread.threadInfoStruct;if(d[\"targetThread\"]&&d[\"targetThread\"]!=_pthread_self()){var thread=PThread.pthreads[d.targetThread];if(thread){thread.worker.postMessage(e.data,d[\"transferList\"])}else{console.error('Internal error! Worker sent a message \"'+cmd+'\" to target pthread '+d[\"targetThread\"]+\", but that thread no longer exists!\")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd===\"processQueuedMainThreadWork\"){_emscripten_main_thread_process_queued_calls()}else if(cmd===\"spawnThread\"){__spawn_thread(e.data)}else if(cmd===\"cleanupThread\"){__cleanup_thread(d[\"thread\"])}else if(cmd===\"killThread\"){__kill_thread(d[\"thread\"])}else if(cmd===\"cancelThread\"){__cancel_thread(d[\"thread\"])}else if(cmd===\"loaded\"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread();delete worker.runPthread}}else if(cmd===\"print\"){out(\"Thread \"+d[\"threadId\"]+\": \"+d[\"text\"])}else if(cmd===\"printErr\"){err(\"Thread \"+d[\"threadId\"]+\": \"+d[\"text\"])}else if(cmd===\"alert\"){alert(\"Thread \"+d[\"threadId\"]+\": \"+d[\"text\"])}else if(cmd===\"exit\"){var detached=worker.pthread&&Atomics.load(GROWABLE_HEAP_U32(),worker.pthread.thread+68>>2);if(detached){PThread.returnWorkerToPool(worker)}}else if(cmd===\"cancelDone\"){PThread.returnWorkerToPool(worker)}else if(cmd===\"objectTransfer\"){PThread.receiveObjectTransfer(e.data)}else if(e.data.target===\"setimmediate\"){worker.postMessage(e.data)}else{err(\"worker sent an unknown command \"+cmd)}PThread.currentProxiedOperationCallerThread=undefined};worker.onerror=function(e){err(\"pthread sent an error! \"+e.filename+\":\"+e.lineno+\": \"+e.message)};if(ENVIRONMENT_IS_NODE){worker.on(\"message\",function(data){worker.onmessage({data:data})});worker.on(\"error\",function(data){worker.onerror(data)});worker.on(\"exit\",function(data){console.log(\"worker exited - TODO: update the worker queue?\")})}worker.postMessage({\"cmd\":\"load\",\"urlOrBlob\":Module[\"mainScriptUrlOrBlob\"]||_scriptDir,\"wasmMemory\":wasmMemory,\"wasmModule\":wasmModule,\"DYNAMIC_BASE\":DYNAMIC_BASE,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR})},allocateUnusedWorker:function(){var pthreadMainJs=locateFile(\"tfjs-backend-wasm-threaded-simd.worker.js\");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}if(PThread.unusedWorkers.length>0)return PThread.unusedWorkers.pop();else return null},busySpinWait:function(msecs){var t=performance.now()+msecs;while(performance.now()>2]=value;return value}function _atexit(func,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,func,arg);__ATEXIT__.unshift({func:func,arg:arg})}function __emscripten_notify_thread_queue(targetThreadId,mainThreadId){if(targetThreadId==mainThreadId){postMessage({\"cmd\":\"processQueuedMainThreadWork\"})}else if(ENVIRONMENT_IS_PTHREAD){postMessage({\"targetThread\":targetThreadId,\"cmd\":\"processThreadQueue\"})}else{var pthread=PThread.pthreads[targetThreadId];var worker=pthread&&pthread.worker;if(!worker){return}worker.postMessage({\"cmd\":\"processThreadQueue\"})}return 1}function _abort(){abort()}function _emscripten_conditional_set_current_thread_status(expectedStatus,newStatus){expectedStatus=expectedStatus|0;newStatus=newStatus|0}function _emscripten_futex_wait(addr,val,timeout){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0)return-28;if(ENVIRONMENT_IS_WORKER){var ret=Atomics.wait(GROWABLE_HEAP_I32(),addr>>2,val,timeout);if(ret===\"timed-out\")return-73;if(ret===\"not-equal\")return-6;if(ret===\"ok\")return 0;throw\"Atomics.wait returned an unexpected value \"+ret}else{var loadedVal=Atomics.load(GROWABLE_HEAP_I32(),addr>>2);if(val!=loadedVal)return-6;var tNow=performance.now();var tEnd=tNow+timeout;Atomics.store(GROWABLE_HEAP_I32(),__main_thread_futex_wait_address>>2,addr);var ourWaitAddress=addr;while(addr==ourWaitAddress){tNow=performance.now();if(tNow>tEnd){return-73}_emscripten_main_thread_process_queued_calls();addr=Atomics.load(GROWABLE_HEAP_I32(),__main_thread_futex_wait_address>>2)}return 0}}function _emscripten_is_main_browser_thread(){return __pthread_is_main_browser_thread|0}function _emscripten_is_main_runtime_thread(){return __pthread_is_main_runtime_thread|0}function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_num_logical_cores(){return navigator[\"hardwareConcurrency\"]}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var stack=stackSave();var args=stackAlloc(numCallArgs*8);var b=args>>3;for(var i=0;i>3]);buf+=8}else{buf=buf+3&~3;args.push(GROWABLE_HEAP_I32()[buf>>2]);buf+=4}}return args}function _emscripten_receive_on_main_thread_js(index,numCallArgs,args){_emscripten_receive_on_main_thread_js_callArgs.length=numCallArgs;var b=args>>3;for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;var oldSize=_emscripten_get_heap_size();if(requestedSize<=oldSize){return false}var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;_emscripten_async_queue_on_thread_(targetThread,637534208,eventHandlerFunc,eventData,varargs);stackRestore(stackTop)},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return\"\";if(target==window)return\"#window\";if(target==screen)return\"#screen\";return target&&target.nodeName?target.nodeName:\"\"},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){var stackTop=stackSave();var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;_emscripten_async_queue_on_thread_(targetThread,657457152,0,targetCanvasPtr,varargs);stackRestore(stackTop)}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):\"\";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function __maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!==\"undefined\"?document:0,typeof window!==\"undefined\"?window:0];function __findEventTarget(target){target=__maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!==\"undefined\"?document.querySelector(target):undefined);return domElement}function __findCanvasEventTarget(target){return __findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=__findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=__findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_set_current_thread_status(newStatus){newStatus=newStatus|0}function _emscripten_set_thread_name(threadId,name){threadId=threadId|0;name=name|0}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension(\"ANGLE_instanced_arrays\");if(ext){ctx[\"vertexAttribDivisor\"]=function(index,divisor){ext[\"vertexAttribDivisorANGLE\"](index,divisor)};ctx[\"drawArraysInstanced\"]=function(mode,first,count,primcount){ext[\"drawArraysInstancedANGLE\"](mode,first,count,primcount)};ctx[\"drawElementsInstanced\"]=function(mode,count,type,indices,primcount){ext[\"drawElementsInstancedANGLE\"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension(\"OES_vertex_array_object\");if(ext){ctx[\"createVertexArray\"]=function(){return ext[\"createVertexArrayOES\"]()};ctx[\"deleteVertexArray\"]=function(vao){ext[\"deleteVertexArrayOES\"](vao)};ctx[\"bindVertexArray\"]=function(vao){ext[\"bindVertexArrayOES\"](vao)};ctx[\"isVertexArray\"]=function(vao){return ext[\"isVertexArrayOES\"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension(\"WEBGL_draw_buffers\");if(ext){ctx[\"drawBuffers\"]=function(n,bufs){ext[\"drawBuffersWEBGL\"](n,bufs)};return 1}}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){var miniTempFloatBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){var ctx=canvas.getContext(\"webgl\",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault===\"undefined\"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents===\"object\")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);GLctx.disjointTimerQueryExt=GLctx.getExtension(\"EXT_disjoint_timer_query\");var automaticallyEnabledExtensions=[\"OES_texture_float\",\"OES_texture_half_float\",\"OES_standard_derivatives\",\"OES_vertex_array_object\",\"WEBGL_compressed_texture_s3tc\",\"WEBGL_depth_texture\",\"OES_element_index_uint\",\"EXT_texture_filter_anisotropic\",\"EXT_frag_depth\",\"WEBGL_draw_buffers\",\"ANGLE_instanced_arrays\",\"OES_texture_float_linear\",\"OES_texture_half_float_linear\",\"EXT_blend_minmax\",\"EXT_shader_texture_lod\",\"EXT_texture_norm16\",\"WEBGL_compressed_texture_pvrtc\",\"EXT_color_buffer_half_float\",\"WEBGL_color_buffer_float\",\"EXT_sRGB\",\"WEBGL_compressed_texture_etc1\",\"EXT_disjoint_timer_query\",\"WEBGL_compressed_texture_etc\",\"WEBGL_compressed_texture_astc\",\"EXT_color_buffer_float\",\"WEBGL_compressed_texture_s3tc_srgb\",\"EXT_disjoint_timer_query_webgl2\",\"WEBKIT_WEBGL_compressed_texture_pvrtc\"];var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}})},populateUniformTable:function(program){var p=GL.programs[program];var ptable=GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,35718);for(var i=0;i>2;contextAttributes[\"alpha\"]=!!GROWABLE_HEAP_I32()[a+(0>>2)];contextAttributes[\"depth\"]=!!GROWABLE_HEAP_I32()[a+(4>>2)];contextAttributes[\"stencil\"]=!!GROWABLE_HEAP_I32()[a+(8>>2)];contextAttributes[\"antialias\"]=!!GROWABLE_HEAP_I32()[a+(12>>2)];contextAttributes[\"premultipliedAlpha\"]=!!GROWABLE_HEAP_I32()[a+(16>>2)];contextAttributes[\"preserveDrawingBuffer\"]=!!GROWABLE_HEAP_I32()[a+(20>>2)];var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];contextAttributes[\"powerPreference\"]=__emscripten_webgl_power_preferences[powerPreference];contextAttributes[\"failIfMajorPerformanceCaveat\"]=!!GROWABLE_HEAP_I32()[a+(28>>2)];contextAttributes.majorVersion=GROWABLE_HEAP_I32()[a+(32>>2)];contextAttributes.minorVersion=GROWABLE_HEAP_I32()[a+(36>>2)];contextAttributes.enableExtensionsByDefault=GROWABLE_HEAP_I32()[a+(40>>2)];contextAttributes.explicitSwapControl=GROWABLE_HEAP_I32()[a+(44>>2)];contextAttributes.proxyContextToMainThread=GROWABLE_HEAP_I32()[a+(48>>2)];contextAttributes.renderViaOffscreenBackBuffer=GROWABLE_HEAP_I32()[a+(52>>2)];var canvas=__findCanvasEventTarget(target);if(!canvas){return-4}if(contextAttributes.explicitSwapControl){return-1}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}var PATH={splitPath:function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)===\"/\",trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter(function(p){return!!p}),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path===\"/\")return\"/\";var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join(\"/\"))},join2:function(l,r){return PATH.normalize(l+\"/\"+r)}};var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,fd);return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,fd,offset_low,offset_high,whence,newOffset)}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,fd,iov,iovcnt,pnum);var num=0;for(var i=0;i>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _pthread_cleanup_pop(execute){var routine=PThread.exitHandlers.pop();if(execute)routine()}function _pthread_cleanup_push(routine,arg){if(PThread.exitHandlers===null){PThread.exitHandlers=[]}PThread.exitHandlers.push(function(){dynCall_vi(routine,arg)})}function __spawn_thread(threadParams){if(ENVIRONMENT_IS_PTHREAD)throw\"Internal Error! _spawn_thread() can only ever be called from main application thread!\";var worker=PThread.getNewWorker();if(worker.pthread!==undefined)throw\"Internal error!\";if(!threadParams.pthread_ptr)throw\"Internal error, no pthread ptr!\";PThread.runningWorkers.push(worker);var tlsMemory=_malloc(128*4);for(var i=0;i<128;++i){GROWABLE_HEAP_I32()[tlsMemory+i*4>>2]=0}var stackHigh=threadParams.stackBase+threadParams.stackSize;var pthread=PThread.pthreads[threadParams.pthread_ptr]={worker:worker,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize,allocatedOwnStack:threadParams.allocatedOwnStack,thread:threadParams.pthread_ptr,threadInfoStruct:threadParams.pthread_ptr};var tis=pthread.threadInfoStruct>>2;Atomics.store(GROWABLE_HEAP_U32(),tis+(0>>2),0);Atomics.store(GROWABLE_HEAP_U32(),tis+(4>>2),0);Atomics.store(GROWABLE_HEAP_U32(),tis+(8>>2),0);Atomics.store(GROWABLE_HEAP_U32(),tis+(68>>2),threadParams.detached);Atomics.store(GROWABLE_HEAP_U32(),tis+(104>>2),tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tis+(48>>2),0);Atomics.store(GROWABLE_HEAP_U32(),tis+(40>>2),pthread.threadInfoStruct);Atomics.store(GROWABLE_HEAP_U32(),tis+(44>>2),42);Atomics.store(GROWABLE_HEAP_U32(),tis+(108>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(84>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(80>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(108+8>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(108+12>>2),threadParams.detached);Atomics.store(GROWABLE_HEAP_U32(),tis+(108+20>>2),threadParams.schedPolicy);Atomics.store(GROWABLE_HEAP_U32(),tis+(108+24>>2),threadParams.schedPrio);var global_libc=_emscripten_get_global_libc();var global_locale=global_libc+40;Atomics.store(GROWABLE_HEAP_U32(),tis+(176>>2),global_locale);worker.pthread=pthread;var msg={\"cmd\":\"run\",\"start_routine\":threadParams.startRoutine,\"arg\":threadParams.arg,\"threadInfoStruct\":threadParams.pthread_ptr,\"selfThreadId\":threadParams.pthread_ptr,\"parentThreadId\":threadParams.parent_pthread_ptr,\"stackBase\":threadParams.stackBase,\"stackSize\":threadParams.stackSize};worker.runPthread=function(){msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)};if(worker.loaded){worker.runPthread();delete worker.runPthread}}function _pthread_getschedparam(thread,policy,schedparam){if(!policy&&!schedparam)return ERRNO_CODES.EINVAL;if(!thread){err(\"pthread_getschedparam called with a null thread pointer!\");return ERRNO_CODES.ESRCH}var self=GROWABLE_HEAP_I32()[thread+12>>2];if(self!==thread){err(\"pthread_getschedparam attempted on thread \"+thread+\", which does not point to a valid thread, or does not exist anymore!\");return ERRNO_CODES.ESRCH}var schedPolicy=Atomics.load(GROWABLE_HEAP_U32(),thread+108+20>>2);var schedPrio=Atomics.load(GROWABLE_HEAP_U32(),thread+108+24>>2);if(policy)GROWABLE_HEAP_I32()[policy>>2]=schedPolicy;if(schedparam)GROWABLE_HEAP_I32()[schedparam>>2]=schedPrio;return 0}function _pthread_self(){return __pthread_ptr|0}Module[\"_pthread_self\"]=_pthread_self;function _pthread_create(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer===\"undefined\"){err(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\");return 6}if(!pthread_ptr){err(\"pthread_create called with a null thread pointer!\");return 28}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var stackSize=0;var stackBase=0;var detached=0;var schedPolicy=0;var schedPrio=0;if(attr){stackSize=GROWABLE_HEAP_I32()[attr>>2];stackSize+=81920;stackBase=GROWABLE_HEAP_I32()[attr+8>>2];detached=GROWABLE_HEAP_I32()[attr+12>>2]!==0;var inheritSched=GROWABLE_HEAP_I32()[attr+16>>2]===0;if(inheritSched){var prevSchedPolicy=GROWABLE_HEAP_I32()[attr+20>>2];var prevSchedPrio=GROWABLE_HEAP_I32()[attr+24>>2];var parentThreadPtr=PThread.currentProxiedOperationCallerThread?PThread.currentProxiedOperationCallerThread:_pthread_self();_pthread_getschedparam(parentThreadPtr,attr+20,attr+24);schedPolicy=GROWABLE_HEAP_I32()[attr+20>>2];schedPrio=GROWABLE_HEAP_I32()[attr+24>>2];GROWABLE_HEAP_I32()[attr+20>>2]=prevSchedPolicy;GROWABLE_HEAP_I32()[attr+24>>2]=prevSchedPrio}else{schedPolicy=GROWABLE_HEAP_I32()[attr+20>>2];schedPrio=GROWABLE_HEAP_I32()[attr+24>>2]}}else{stackSize=2097152}var allocatedOwnStack=stackBase==0;if(allocatedOwnStack){stackBase=_memalign(16,stackSize)}else{stackBase-=stackSize;assert(stackBase>0)}var threadInfoStruct=_malloc(232);for(var i=0;i<232>>2;++i)GROWABLE_HEAP_U32()[(threadInfoStruct>>2)+i]=0;GROWABLE_HEAP_I32()[pthread_ptr>>2]=threadInfoStruct;GROWABLE_HEAP_I32()[threadInfoStruct+12>>2]=threadInfoStruct;var headPtr=threadInfoStruct+156;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var threadParams={stackBase:stackBase,stackSize:stackSize,allocatedOwnStack:allocatedOwnStack,schedPolicy:schedPolicy,schedPrio:schedPrio,detached:detached,startRoutine:start_routine,pthread_ptr:threadInfoStruct,parent_pthread_ptr:_pthread_self(),arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd=\"spawnThread\";postMessage(threadParams,transferList)}else{__spawn_thread(threadParams)}return 0}function _roundf(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}function _sysconf(name){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,name);switch(name){case 30:return 16384;case 85:var maxHeapSize=2147483648;return maxHeapSize/16384;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator===\"object\")return navigator[\"hardwareConcurrency\"]||1;return 1}}setErrNo(28);return-1}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThreadBlock();else PThread.initWorker();var GLctx;GL.init();var proxiedFunctionTable=[null,_atexit,_emscripten_set_canvas_element_size_main_thread,_fd_close,_fd_seek,_fd_write,_sysconf];var asmLibraryArg={\"e\":___assert_fail,\"r\":___call_main,\"w\":__emscripten_notify_thread_queue,\"a\":_abort,\"l\":_emscripten_conditional_set_current_thread_status,\"d\":_emscripten_futex_wait,\"c\":_emscripten_futex_wake,\"h\":_emscripten_get_now,\"g\":_emscripten_is_main_browser_thread,\"x\":_emscripten_is_main_runtime_thread,\"q\":_emscripten_memcpy_big,\"B\":_emscripten_num_logical_cores,\"t\":_emscripten_receive_on_main_thread_js,\"A\":_emscripten_resize_heap,\"u\":_emscripten_set_canvas_element_size,\"k\":_emscripten_set_current_thread_status,\"s\":_emscripten_set_thread_name,\"v\":_emscripten_webgl_create_context,\"m\":_fd_close,\"o\":_fd_seek,\"i\":_fd_write,\"p\":initPthreadsJS,\"memory\":wasmMemory||Module[\"wasmMemory\"],\"y\":_pthread_cleanup_pop,\"z\":_pthread_cleanup_push,\"j\":_pthread_create,\"b\":_pthread_self,\"f\":_roundf,\"n\":_sysconf,\"table\":wasmTable};var asm=createWasm();Module[\"asm\"]=asm;var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=function(){return(___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=Module[\"asm\"][\"C\"]).apply(null,arguments)};var _init=Module[\"_init\"]=function(){return(_init=Module[\"_init\"]=Module[\"asm\"][\"D\"]).apply(null,arguments)};var _register_tensor=Module[\"_register_tensor\"]=function(){return(_register_tensor=Module[\"_register_tensor\"]=Module[\"asm\"][\"E\"]).apply(null,arguments)};var _dispose_data=Module[\"_dispose_data\"]=function(){return(_dispose_data=Module[\"_dispose_data\"]=Module[\"asm\"][\"F\"]).apply(null,arguments)};var _dispose=Module[\"_dispose\"]=function(){return(_dispose=Module[\"_dispose\"]=Module[\"asm\"][\"G\"]).apply(null,arguments)};var _Abs=Module[\"_Abs\"]=function(){return(_Abs=Module[\"_Abs\"]=Module[\"asm\"][\"H\"]).apply(null,arguments)};var _Add=Module[\"_Add\"]=function(){return(_Add=Module[\"_Add\"]=Module[\"asm\"][\"I\"]).apply(null,arguments)};var _AddN=Module[\"_AddN\"]=function(){return(_AddN=Module[\"_AddN\"]=Module[\"asm\"][\"J\"]).apply(null,arguments)};var _ArgMax=Module[\"_ArgMax\"]=function(){return(_ArgMax=Module[\"_ArgMax\"]=Module[\"asm\"][\"K\"]).apply(null,arguments)};var _AvgPool=Module[\"_AvgPool\"]=function(){return(_AvgPool=Module[\"_AvgPool\"]=Module[\"asm\"][\"L\"]).apply(null,arguments)};var _BatchMatMul=Module[\"_BatchMatMul\"]=function(){return(_BatchMatMul=Module[\"_BatchMatMul\"]=Module[\"asm\"][\"M\"]).apply(null,arguments)};var _ClipByValue=Module[\"_ClipByValue\"]=function(){return(_ClipByValue=Module[\"_ClipByValue\"]=Module[\"asm\"][\"N\"]).apply(null,arguments)};var _Conv2D=Module[\"_Conv2D\"]=function(){return(_Conv2D=Module[\"_Conv2D\"]=Module[\"asm\"][\"O\"]).apply(null,arguments)};var _Conv2DBackpropInput=Module[\"_Conv2DBackpropInput\"]=function(){return(_Conv2DBackpropInput=Module[\"_Conv2DBackpropInput\"]=Module[\"asm\"][\"P\"]).apply(null,arguments)};var _Cos=Module[\"_Cos\"]=function(){return(_Cos=Module[\"_Cos\"]=Module[\"asm\"][\"Q\"]).apply(null,arguments)};var _CropAndResize=Module[\"_CropAndResize\"]=function(){return(_CropAndResize=Module[\"_CropAndResize\"]=Module[\"asm\"][\"R\"]).apply(null,arguments)};var _Cumsum=Module[\"_Cumsum\"]=function(){return(_Cumsum=Module[\"_Cumsum\"]=Module[\"asm\"][\"S\"]).apply(null,arguments)};var _DepthToSpace=Module[\"_DepthToSpace\"]=function(){return(_DepthToSpace=Module[\"_DepthToSpace\"]=Module[\"asm\"][\"T\"]).apply(null,arguments)};var _DepthwiseConv2dNative=Module[\"_DepthwiseConv2dNative\"]=function(){return(_DepthwiseConv2dNative=Module[\"_DepthwiseConv2dNative\"]=Module[\"asm\"][\"U\"]).apply(null,arguments)};var _Equal=Module[\"_Equal\"]=function(){return(_Equal=Module[\"_Equal\"]=Module[\"asm\"][\"V\"]).apply(null,arguments)};var _Exp=Module[\"_Exp\"]=function(){return(_Exp=Module[\"_Exp\"]=Module[\"asm\"][\"W\"]).apply(null,arguments)};var _FlipLeftRight=Module[\"_FlipLeftRight\"]=function(){return(_FlipLeftRight=Module[\"_FlipLeftRight\"]=Module[\"asm\"][\"X\"]).apply(null,arguments)};var _Floor=Module[\"_Floor\"]=function(){return(_Floor=Module[\"_Floor\"]=Module[\"asm\"][\"Y\"]).apply(null,arguments)};var _FloorDiv=Module[\"_FloorDiv\"]=function(){return(_FloorDiv=Module[\"_FloorDiv\"]=Module[\"asm\"][\"Z\"]).apply(null,arguments)};var _FusedBatchNorm=Module[\"_FusedBatchNorm\"]=function(){return(_FusedBatchNorm=Module[\"_FusedBatchNorm\"]=Module[\"asm\"][\"_\"]).apply(null,arguments)};var _FusedConv2D=Module[\"_FusedConv2D\"]=function(){return(_FusedConv2D=Module[\"_FusedConv2D\"]=Module[\"asm\"][\"$\"]).apply(null,arguments)};var _FusedDepthwiseConv2D=Module[\"_FusedDepthwiseConv2D\"]=function(){return(_FusedDepthwiseConv2D=Module[\"_FusedDepthwiseConv2D\"]=Module[\"asm\"][\"aa\"]).apply(null,arguments)};var _Gather=Module[\"_Gather\"]=function(){return(_Gather=Module[\"_Gather\"]=Module[\"asm\"][\"ba\"]).apply(null,arguments)};var _GatherNd=Module[\"_GatherNd\"]=function(){return(_GatherNd=Module[\"_GatherNd\"]=Module[\"asm\"][\"ca\"]).apply(null,arguments)};var _Greater=Module[\"_Greater\"]=function(){return(_Greater=Module[\"_Greater\"]=Module[\"asm\"][\"da\"]).apply(null,arguments)};var _GreaterEqual=Module[\"_GreaterEqual\"]=function(){return(_GreaterEqual=Module[\"_GreaterEqual\"]=Module[\"asm\"][\"ea\"]).apply(null,arguments)};var _LeakyRelu=Module[\"_LeakyRelu\"]=function(){return(_LeakyRelu=Module[\"_LeakyRelu\"]=Module[\"asm\"][\"fa\"]).apply(null,arguments)};var _Less=Module[\"_Less\"]=function(){return(_Less=Module[\"_Less\"]=Module[\"asm\"][\"ga\"]).apply(null,arguments)};var _LessEqual=Module[\"_LessEqual\"]=function(){return(_LessEqual=Module[\"_LessEqual\"]=Module[\"asm\"][\"ha\"]).apply(null,arguments)};var _Log=Module[\"_Log\"]=function(){return(_Log=Module[\"_Log\"]=Module[\"asm\"][\"ia\"]).apply(null,arguments)};var _LogicalAnd=Module[\"_LogicalAnd\"]=function(){return(_LogicalAnd=Module[\"_LogicalAnd\"]=Module[\"asm\"][\"ja\"]).apply(null,arguments)};var _Max=Module[\"_Max\"]=function(){return(_Max=Module[\"_Max\"]=Module[\"asm\"][\"ka\"]).apply(null,arguments)};var _MaxPool=Module[\"_MaxPool\"]=function(){return(_MaxPool=Module[\"_MaxPool\"]=Module[\"asm\"][\"la\"]).apply(null,arguments)};var _Maximum=Module[\"_Maximum\"]=function(){return(_Maximum=Module[\"_Maximum\"]=Module[\"asm\"][\"ma\"]).apply(null,arguments)};var _Mean=Module[\"_Mean\"]=function(){return(_Mean=Module[\"_Mean\"]=Module[\"asm\"][\"na\"]).apply(null,arguments)};var _Min=Module[\"_Min\"]=function(){return(_Min=Module[\"_Min\"]=Module[\"asm\"][\"oa\"]).apply(null,arguments)};var _Minimum=Module[\"_Minimum\"]=function(){return(_Minimum=Module[\"_Minimum\"]=Module[\"asm\"][\"pa\"]).apply(null,arguments)};var _Multiply=Module[\"_Multiply\"]=function(){return(_Multiply=Module[\"_Multiply\"]=Module[\"asm\"][\"qa\"]).apply(null,arguments)};var _Neg=Module[\"_Neg\"]=function(){return(_Neg=Module[\"_Neg\"]=Module[\"asm\"][\"ra\"]).apply(null,arguments)};var _NonMaxSuppressionV3=Module[\"_NonMaxSuppressionV3\"]=function(){return(_NonMaxSuppressionV3=Module[\"_NonMaxSuppressionV3\"]=Module[\"asm\"][\"sa\"]).apply(null,arguments)};var _NonMaxSuppressionV4=Module[\"_NonMaxSuppressionV4\"]=function(){return(_NonMaxSuppressionV4=Module[\"_NonMaxSuppressionV4\"]=Module[\"asm\"][\"ta\"]).apply(null,arguments)};var _NonMaxSuppressionV5=Module[\"_NonMaxSuppressionV5\"]=function(){return(_NonMaxSuppressionV5=Module[\"_NonMaxSuppressionV5\"]=Module[\"asm\"][\"ua\"]).apply(null,arguments)};var _NotEqual=Module[\"_NotEqual\"]=function(){return(_NotEqual=Module[\"_NotEqual\"]=Module[\"asm\"][\"va\"]).apply(null,arguments)};var _OneHot=Module[\"_OneHot\"]=function(){return(_OneHot=Module[\"_OneHot\"]=Module[\"asm\"][\"wa\"]).apply(null,arguments)};var _PadV2=Module[\"_PadV2\"]=function(){return(_PadV2=Module[\"_PadV2\"]=Module[\"asm\"][\"xa\"]).apply(null,arguments)};var _Pow=Module[\"_Pow\"]=function(){return(_Pow=Module[\"_Pow\"]=Module[\"asm\"][\"ya\"]).apply(null,arguments)};var _Prelu=Module[\"_Prelu\"]=function(){return(_Prelu=Module[\"_Prelu\"]=Module[\"asm\"][\"za\"]).apply(null,arguments)};var _Prod=Module[\"_Prod\"]=function(){return(_Prod=Module[\"_Prod\"]=Module[\"asm\"][\"Aa\"]).apply(null,arguments)};var _RealDiv=Module[\"_RealDiv\"]=function(){return(_RealDiv=Module[\"_RealDiv\"]=Module[\"asm\"][\"Ba\"]).apply(null,arguments)};var _Relu=Module[\"_Relu\"]=function(){return(_Relu=Module[\"_Relu\"]=Module[\"asm\"][\"Ca\"]).apply(null,arguments)};var _Relu6=Module[\"_Relu6\"]=function(){return(_Relu6=Module[\"_Relu6\"]=Module[\"asm\"][\"Da\"]).apply(null,arguments)};var _ResizeBilinear=Module[\"_ResizeBilinear\"]=function(){return(_ResizeBilinear=Module[\"_ResizeBilinear\"]=Module[\"asm\"][\"Ea\"]).apply(null,arguments)};var _Reverse=Module[\"_Reverse\"]=function(){return(_Reverse=Module[\"_Reverse\"]=Module[\"asm\"][\"Fa\"]).apply(null,arguments)};var _RotateWithOffset=Module[\"_RotateWithOffset\"]=function(){return(_RotateWithOffset=Module[\"_RotateWithOffset\"]=Module[\"asm\"][\"Ga\"]).apply(null,arguments)};var _Round=Module[\"_Round\"]=function(){return(_Round=Module[\"_Round\"]=Module[\"asm\"][\"Ha\"]).apply(null,arguments)};var _Rsqrt=Module[\"_Rsqrt\"]=function(){return(_Rsqrt=Module[\"_Rsqrt\"]=Module[\"asm\"][\"Ia\"]).apply(null,arguments)};var _ScatterNd=Module[\"_ScatterNd\"]=function(){return(_ScatterNd=Module[\"_ScatterNd\"]=Module[\"asm\"][\"Ja\"]).apply(null,arguments)};var _SelectV2=Module[\"_SelectV2\"]=function(){return(_SelectV2=Module[\"_SelectV2\"]=Module[\"asm\"][\"Ka\"]).apply(null,arguments)};var _Sigmoid=Module[\"_Sigmoid\"]=function(){return(_Sigmoid=Module[\"_Sigmoid\"]=Module[\"asm\"][\"La\"]).apply(null,arguments)};var _Sin=Module[\"_Sin\"]=function(){return(_Sin=Module[\"_Sin\"]=Module[\"asm\"][\"Ma\"]).apply(null,arguments)};var _Softmax=Module[\"_Softmax\"]=function(){return(_Softmax=Module[\"_Softmax\"]=Module[\"asm\"][\"Na\"]).apply(null,arguments)};var _Sqrt=Module[\"_Sqrt\"]=function(){return(_Sqrt=Module[\"_Sqrt\"]=Module[\"asm\"][\"Oa\"]).apply(null,arguments)};var _Square=Module[\"_Square\"]=function(){return(_Square=Module[\"_Square\"]=Module[\"asm\"][\"Pa\"]).apply(null,arguments)};var _SquaredDifference=Module[\"_SquaredDifference\"]=function(){return(_SquaredDifference=Module[\"_SquaredDifference\"]=Module[\"asm\"][\"Qa\"]).apply(null,arguments)};var _Step=Module[\"_Step\"]=function(){return(_Step=Module[\"_Step\"]=Module[\"asm\"][\"Ra\"]).apply(null,arguments)};var _StridedSlice=Module[\"_StridedSlice\"]=function(){return(_StridedSlice=Module[\"_StridedSlice\"]=Module[\"asm\"][\"Sa\"]).apply(null,arguments)};var _Sub=Module[\"_Sub\"]=function(){return(_Sub=Module[\"_Sub\"]=Module[\"asm\"][\"Ta\"]).apply(null,arguments)};var _Sum=Module[\"_Sum\"]=function(){return(_Sum=Module[\"_Sum\"]=Module[\"asm\"][\"Ua\"]).apply(null,arguments)};var _Tanh=Module[\"_Tanh\"]=function(){return(_Tanh=Module[\"_Tanh\"]=Module[\"asm\"][\"Va\"]).apply(null,arguments)};var _Tile=Module[\"_Tile\"]=function(){return(_Tile=Module[\"_Tile\"]=Module[\"asm\"][\"Wa\"]).apply(null,arguments)};var _TopK=Module[\"_TopK\"]=function(){return(_TopK=Module[\"_TopK\"]=Module[\"asm\"][\"Xa\"]).apply(null,arguments)};var _Transpose=Module[\"_Transpose\"]=function(){return(_Transpose=Module[\"_Transpose\"]=Module[\"asm\"][\"Ya\"]).apply(null,arguments)};var __FusedMatMul=Module[\"__FusedMatMul\"]=function(){return(__FusedMatMul=Module[\"__FusedMatMul\"]=Module[\"asm\"][\"Za\"]).apply(null,arguments)};var _malloc=Module[\"_malloc\"]=function(){return(_malloc=Module[\"_malloc\"]=Module[\"asm\"][\"_a\"]).apply(null,arguments)};var _free=Module[\"_free\"]=function(){return(_free=Module[\"_free\"]=Module[\"asm\"][\"$a\"]).apply(null,arguments)};var ___em_js__initPthreadsJS=Module[\"___em_js__initPthreadsJS\"]=function(){return(___em_js__initPthreadsJS=Module[\"___em_js__initPthreadsJS\"]=Module[\"asm\"][\"ab\"]).apply(null,arguments)};var ___errno_location=Module[\"___errno_location\"]=function(){return(___errno_location=Module[\"___errno_location\"]=Module[\"asm\"][\"bb\"]).apply(null,arguments)};var _emscripten_get_global_libc=Module[\"_emscripten_get_global_libc\"]=function(){return(_emscripten_get_global_libc=Module[\"_emscripten_get_global_libc\"]=Module[\"asm\"][\"cb\"]).apply(null,arguments)};var _memalign=Module[\"_memalign\"]=function(){return(_memalign=Module[\"_memalign\"]=Module[\"asm\"][\"db\"]).apply(null,arguments)};var ___pthread_tsd_run_dtors=Module[\"___pthread_tsd_run_dtors\"]=function(){return(___pthread_tsd_run_dtors=Module[\"___pthread_tsd_run_dtors\"]=Module[\"asm\"][\"eb\"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module[\"_emscripten_main_thread_process_queued_calls\"]=function(){return(_emscripten_main_thread_process_queued_calls=Module[\"_emscripten_main_thread_process_queued_calls\"]=Module[\"asm\"][\"fb\"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module[\"_emscripten_current_thread_process_queued_calls\"]=function(){return(_emscripten_current_thread_process_queued_calls=Module[\"_emscripten_current_thread_process_queued_calls\"]=Module[\"asm\"][\"gb\"]).apply(null,arguments)};var _emscripten_register_main_browser_thread_id=Module[\"_emscripten_register_main_browser_thread_id\"]=function(){return(_emscripten_register_main_browser_thread_id=Module[\"_emscripten_register_main_browser_thread_id\"]=Module[\"asm\"][\"hb\"]).apply(null,arguments)};var _emscripten_main_browser_thread_id=Module[\"_emscripten_main_browser_thread_id\"]=function(){return(_emscripten_main_browser_thread_id=Module[\"_emscripten_main_browser_thread_id\"]=Module[\"asm\"][\"ib\"]).apply(null,arguments)};var _emscripten_async_run_in_main_thread=Module[\"_emscripten_async_run_in_main_thread\"]=function(){return(_emscripten_async_run_in_main_thread=Module[\"_emscripten_async_run_in_main_thread\"]=Module[\"asm\"][\"jb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread=Module[\"_emscripten_sync_run_in_main_thread\"]=function(){return(_emscripten_sync_run_in_main_thread=Module[\"_emscripten_sync_run_in_main_thread\"]=Module[\"asm\"][\"kb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_0=Module[\"_emscripten_sync_run_in_main_thread_0\"]=function(){return(_emscripten_sync_run_in_main_thread_0=Module[\"_emscripten_sync_run_in_main_thread_0\"]=Module[\"asm\"][\"lb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_1=Module[\"_emscripten_sync_run_in_main_thread_1\"]=function(){return(_emscripten_sync_run_in_main_thread_1=Module[\"_emscripten_sync_run_in_main_thread_1\"]=Module[\"asm\"][\"mb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_2=Module[\"_emscripten_sync_run_in_main_thread_2\"]=function(){return(_emscripten_sync_run_in_main_thread_2=Module[\"_emscripten_sync_run_in_main_thread_2\"]=Module[\"asm\"][\"nb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_xprintf_varargs=Module[\"_emscripten_sync_run_in_main_thread_xprintf_varargs\"]=function(){return(_emscripten_sync_run_in_main_thread_xprintf_varargs=Module[\"_emscripten_sync_run_in_main_thread_xprintf_varargs\"]=Module[\"asm\"][\"ob\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_3=Module[\"_emscripten_sync_run_in_main_thread_3\"]=function(){return(_emscripten_sync_run_in_main_thread_3=Module[\"_emscripten_sync_run_in_main_thread_3\"]=Module[\"asm\"][\"pb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_4=Module[\"_emscripten_sync_run_in_main_thread_4\"]=function(){return(_emscripten_sync_run_in_main_thread_4=Module[\"_emscripten_sync_run_in_main_thread_4\"]=Module[\"asm\"][\"qb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_5=Module[\"_emscripten_sync_run_in_main_thread_5\"]=function(){return(_emscripten_sync_run_in_main_thread_5=Module[\"_emscripten_sync_run_in_main_thread_5\"]=Module[\"asm\"][\"rb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_6=Module[\"_emscripten_sync_run_in_main_thread_6\"]=function(){return(_emscripten_sync_run_in_main_thread_6=Module[\"_emscripten_sync_run_in_main_thread_6\"]=Module[\"asm\"][\"sb\"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_7=Module[\"_emscripten_sync_run_in_main_thread_7\"]=function(){return(_emscripten_sync_run_in_main_thread_7=Module[\"_emscripten_sync_run_in_main_thread_7\"]=Module[\"asm\"][\"tb\"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module[\"_emscripten_run_in_main_runtime_thread_js\"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module[\"_emscripten_run_in_main_runtime_thread_js\"]=Module[\"asm\"][\"ub\"]).apply(null,arguments)};var _emscripten_async_queue_on_thread_=Module[\"_emscripten_async_queue_on_thread_\"]=function(){return(_emscripten_async_queue_on_thread_=Module[\"_emscripten_async_queue_on_thread_\"]=Module[\"asm\"][\"vb\"]).apply(null,arguments)};var _emscripten_tls_init=Module[\"_emscripten_tls_init\"]=function(){return(_emscripten_tls_init=Module[\"_emscripten_tls_init\"]=Module[\"asm\"][\"wb\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=function(){return(stackSave=Module[\"stackSave\"]=Module[\"asm\"][\"xb\"]).apply(null,arguments)};var stackAlloc=Module[\"stackAlloc\"]=function(){return(stackAlloc=Module[\"stackAlloc\"]=Module[\"asm\"][\"yb\"]).apply(null,arguments)};var stackRestore=Module[\"stackRestore\"]=function(){return(stackRestore=Module[\"stackRestore\"]=Module[\"asm\"][\"zb\"]).apply(null,arguments)};var dynCall_vi=Module[\"dynCall_vi\"]=function(){return(dynCall_vi=Module[\"dynCall_vi\"]=Module[\"asm\"][\"Ab\"]).apply(null,arguments)};var dynCall_v=Module[\"dynCall_v\"]=function(){return(dynCall_v=Module[\"dynCall_v\"]=Module[\"asm\"][\"Bb\"]).apply(null,arguments)};var dynCall_ii=Module[\"dynCall_ii\"]=function(){return(dynCall_ii=Module[\"dynCall_ii\"]=Module[\"asm\"][\"Cb\"]).apply(null,arguments)};Module[\"asm\"]=asm;Module[\"cwrap\"]=cwrap;Module[\"PThread\"]=PThread;Module[\"PThread\"]=PThread;Module[\"_pthread_self\"]=_pthread_self;Module[\"wasmMemory\"]=wasmMemory;Module[\"ExitStatus\"]=ExitStatus;var calledRun;Module[\"then\"]=function(func){if(calledRun){func(Module)}else{var old=Module[\"onRuntimeInitialized\"];Module[\"onRuntimeInitialized\"]=function(){if(old)old();func(Module)}}return Module};function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}Module[\"run\"]=run;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}if(!ENVIRONMENT_IS_PTHREAD)noExitRuntime=true;if(!ENVIRONMENT_IS_PTHREAD)run();\n\n\n return WasmBackendModuleThreadedSimd\n}\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n module.exports = WasmBackendModuleThreadedSimd;\n else if (typeof define === 'function' && define['amd'])\n define([], function() { return WasmBackendModuleThreadedSimd; });\n else if (typeof exports === 'object')\n exports[\"WasmBackendModuleThreadedSimd\"] = WasmBackendModuleThreadedSimd;\n ", "\nvar WasmBackendModule = (function() {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;\n return (\nfunction(WasmBackendModule) {\n WasmBackendModule = WasmBackendModule || {};\n\nvar Module=typeof WasmBackendModule!==\"undefined\"?WasmBackendModule:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram=\"./this.program\";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require(\"path\").dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);return nodeFS[\"readFileSync\"](filename,binary?null:\"utf8\")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){thisProgram=process[\"argv\"][1].replace(/\\\\/g,\"/\")}arguments_=process[\"argv\"].slice(2);process[\"on\"](\"uncaughtException\",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process[\"on\"](\"unhandledRejection\",abort);quit_=function(status){process[\"exit\"](status)};Module[\"inspect\"]=function(){return\"[Emscripten Module object]\"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){arguments_=scriptArgs}else if(typeof arguments!=\"undefined\"){arguments_=arguments}if(typeof quit===\"function\"){quit_=function(status){quit(status)}}if(typeof print!==\"undefined\"){if(typeof console===\"undefined\")console={};console.log=print;console.warn=console.error=typeof printErr!==\"undefined\"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime;if(Module[\"noExitRuntime\"])noExitRuntime=Module[\"noExitRuntime\"];if(typeof WebAssembly!==\"object\"){err(\"no native wasm support detected\")}var wasmMemory;var wasmTable=new WebAssembly.Table({\"initial\":151,\"maximum\":151+0,\"element\":\"anyfunc\"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function getCFunc(ident){var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\")return UTF8ToString(ret);if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str=\"\";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var INITIAL_INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||16777216;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback(Module);continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_ceil=Math.ceil;var Math_floor=Math.floor;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what+=\"\";out(what);err(what);ABORT=true;EXITSTATUS=1;what=\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\";throw new WebAssembly.RuntimeError(what)}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix=\"file://\";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile=\"tfjs-backend-wasm.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw\"both async and sync fetching of the wasm failed\"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch===\"function\"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={\"env\":asmLibraryArg,\"wasi_snapshot_preview1\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=exports[\"memory\"];updateGlobalBufferAndViews(wasmMemory.buffer);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");function receiveInstantiatedSource(output){receiveInstance(output[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming===\"function\"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch===\"function\"){fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync();return{}}__ATINIT__.push();function _emscripten_notify_memory_growth(memoryIndex){updateGlobalBufferAndViews(wasmMemory.buffer)}var PATH={splitPath:function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)===\"/\",trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter(function(p){return!!p}),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path===\"/\")return\"/\";var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join(\"/\"))},join2:function(l,r){return PATH.normalize(l+\"/\"+r)}};var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function _fd_close(fd){return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _exit(status){exit(status)}function _proc_exit(code){_exit(code)}function _roundf(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}var asmLibraryArg={\"emscripten_notify_memory_growth\":_emscripten_notify_memory_growth,\"fd_close\":_fd_close,\"fd_seek\":_fd_seek,\"fd_write\":_fd_write,\"proc_exit\":_proc_exit,\"roundf\":_roundf};var asm=createWasm();Module[\"asm\"]=asm;var _init=Module[\"_init\"]=function(){return(_init=Module[\"_init\"]=Module[\"asm\"][\"init\"]).apply(null,arguments)};var _register_tensor=Module[\"_register_tensor\"]=function(){return(_register_tensor=Module[\"_register_tensor\"]=Module[\"asm\"][\"register_tensor\"]).apply(null,arguments)};var _dispose_data=Module[\"_dispose_data\"]=function(){return(_dispose_data=Module[\"_dispose_data\"]=Module[\"asm\"][\"dispose_data\"]).apply(null,arguments)};var _dispose=Module[\"_dispose\"]=function(){return(_dispose=Module[\"_dispose\"]=Module[\"asm\"][\"dispose\"]).apply(null,arguments)};var _Abs=Module[\"_Abs\"]=function(){return(_Abs=Module[\"_Abs\"]=Module[\"asm\"][\"Abs\"]).apply(null,arguments)};var _Add=Module[\"_Add\"]=function(){return(_Add=Module[\"_Add\"]=Module[\"asm\"][\"Add\"]).apply(null,arguments)};var _AddN=Module[\"_AddN\"]=function(){return(_AddN=Module[\"_AddN\"]=Module[\"asm\"][\"AddN\"]).apply(null,arguments)};var _ArgMax=Module[\"_ArgMax\"]=function(){return(_ArgMax=Module[\"_ArgMax\"]=Module[\"asm\"][\"ArgMax\"]).apply(null,arguments)};var _AvgPool=Module[\"_AvgPool\"]=function(){return(_AvgPool=Module[\"_AvgPool\"]=Module[\"asm\"][\"AvgPool\"]).apply(null,arguments)};var _BatchMatMul=Module[\"_BatchMatMul\"]=function(){return(_BatchMatMul=Module[\"_BatchMatMul\"]=Module[\"asm\"][\"BatchMatMul\"]).apply(null,arguments)};var _ClipByValue=Module[\"_ClipByValue\"]=function(){return(_ClipByValue=Module[\"_ClipByValue\"]=Module[\"asm\"][\"ClipByValue\"]).apply(null,arguments)};var _Conv2D=Module[\"_Conv2D\"]=function(){return(_Conv2D=Module[\"_Conv2D\"]=Module[\"asm\"][\"Conv2D\"]).apply(null,arguments)};var _Conv2DBackpropInput=Module[\"_Conv2DBackpropInput\"]=function(){return(_Conv2DBackpropInput=Module[\"_Conv2DBackpropInput\"]=Module[\"asm\"][\"Conv2DBackpropInput\"]).apply(null,arguments)};var _Cos=Module[\"_Cos\"]=function(){return(_Cos=Module[\"_Cos\"]=Module[\"asm\"][\"Cos\"]).apply(null,arguments)};var _CropAndResize=Module[\"_CropAndResize\"]=function(){return(_CropAndResize=Module[\"_CropAndResize\"]=Module[\"asm\"][\"CropAndResize\"]).apply(null,arguments)};var _Cumsum=Module[\"_Cumsum\"]=function(){return(_Cumsum=Module[\"_Cumsum\"]=Module[\"asm\"][\"Cumsum\"]).apply(null,arguments)};var _DepthToSpace=Module[\"_DepthToSpace\"]=function(){return(_DepthToSpace=Module[\"_DepthToSpace\"]=Module[\"asm\"][\"DepthToSpace\"]).apply(null,arguments)};var _DepthwiseConv2dNative=Module[\"_DepthwiseConv2dNative\"]=function(){return(_DepthwiseConv2dNative=Module[\"_DepthwiseConv2dNative\"]=Module[\"asm\"][\"DepthwiseConv2dNative\"]).apply(null,arguments)};var _Equal=Module[\"_Equal\"]=function(){return(_Equal=Module[\"_Equal\"]=Module[\"asm\"][\"Equal\"]).apply(null,arguments)};var _Exp=Module[\"_Exp\"]=function(){return(_Exp=Module[\"_Exp\"]=Module[\"asm\"][\"Exp\"]).apply(null,arguments)};var _FlipLeftRight=Module[\"_FlipLeftRight\"]=function(){return(_FlipLeftRight=Module[\"_FlipLeftRight\"]=Module[\"asm\"][\"FlipLeftRight\"]).apply(null,arguments)};var _Floor=Module[\"_Floor\"]=function(){return(_Floor=Module[\"_Floor\"]=Module[\"asm\"][\"Floor\"]).apply(null,arguments)};var _FloorDiv=Module[\"_FloorDiv\"]=function(){return(_FloorDiv=Module[\"_FloorDiv\"]=Module[\"asm\"][\"FloorDiv\"]).apply(null,arguments)};var _FusedBatchNorm=Module[\"_FusedBatchNorm\"]=function(){return(_FusedBatchNorm=Module[\"_FusedBatchNorm\"]=Module[\"asm\"][\"FusedBatchNorm\"]).apply(null,arguments)};var _FusedConv2D=Module[\"_FusedConv2D\"]=function(){return(_FusedConv2D=Module[\"_FusedConv2D\"]=Module[\"asm\"][\"FusedConv2D\"]).apply(null,arguments)};var _FusedDepthwiseConv2D=Module[\"_FusedDepthwiseConv2D\"]=function(){return(_FusedDepthwiseConv2D=Module[\"_FusedDepthwiseConv2D\"]=Module[\"asm\"][\"FusedDepthwiseConv2D\"]).apply(null,arguments)};var _Gather=Module[\"_Gather\"]=function(){return(_Gather=Module[\"_Gather\"]=Module[\"asm\"][\"Gather\"]).apply(null,arguments)};var _GatherNd=Module[\"_GatherNd\"]=function(){return(_GatherNd=Module[\"_GatherNd\"]=Module[\"asm\"][\"GatherNd\"]).apply(null,arguments)};var _Greater=Module[\"_Greater\"]=function(){return(_Greater=Module[\"_Greater\"]=Module[\"asm\"][\"Greater\"]).apply(null,arguments)};var _GreaterEqual=Module[\"_GreaterEqual\"]=function(){return(_GreaterEqual=Module[\"_GreaterEqual\"]=Module[\"asm\"][\"GreaterEqual\"]).apply(null,arguments)};var _LeakyRelu=Module[\"_LeakyRelu\"]=function(){return(_LeakyRelu=Module[\"_LeakyRelu\"]=Module[\"asm\"][\"LeakyRelu\"]).apply(null,arguments)};var _Less=Module[\"_Less\"]=function(){return(_Less=Module[\"_Less\"]=Module[\"asm\"][\"Less\"]).apply(null,arguments)};var _LessEqual=Module[\"_LessEqual\"]=function(){return(_LessEqual=Module[\"_LessEqual\"]=Module[\"asm\"][\"LessEqual\"]).apply(null,arguments)};var _Log=Module[\"_Log\"]=function(){return(_Log=Module[\"_Log\"]=Module[\"asm\"][\"Log\"]).apply(null,arguments)};var _LogicalAnd=Module[\"_LogicalAnd\"]=function(){return(_LogicalAnd=Module[\"_LogicalAnd\"]=Module[\"asm\"][\"LogicalAnd\"]).apply(null,arguments)};var _Max=Module[\"_Max\"]=function(){return(_Max=Module[\"_Max\"]=Module[\"asm\"][\"Max\"]).apply(null,arguments)};var _MaxPool=Module[\"_MaxPool\"]=function(){return(_MaxPool=Module[\"_MaxPool\"]=Module[\"asm\"][\"MaxPool\"]).apply(null,arguments)};var _Maximum=Module[\"_Maximum\"]=function(){return(_Maximum=Module[\"_Maximum\"]=Module[\"asm\"][\"Maximum\"]).apply(null,arguments)};var _Mean=Module[\"_Mean\"]=function(){return(_Mean=Module[\"_Mean\"]=Module[\"asm\"][\"Mean\"]).apply(null,arguments)};var _Min=Module[\"_Min\"]=function(){return(_Min=Module[\"_Min\"]=Module[\"asm\"][\"Min\"]).apply(null,arguments)};var _Minimum=Module[\"_Minimum\"]=function(){return(_Minimum=Module[\"_Minimum\"]=Module[\"asm\"][\"Minimum\"]).apply(null,arguments)};var _Multiply=Module[\"_Multiply\"]=function(){return(_Multiply=Module[\"_Multiply\"]=Module[\"asm\"][\"Multiply\"]).apply(null,arguments)};var _Neg=Module[\"_Neg\"]=function(){return(_Neg=Module[\"_Neg\"]=Module[\"asm\"][\"Neg\"]).apply(null,arguments)};var _NonMaxSuppressionV3=Module[\"_NonMaxSuppressionV3\"]=function(){return(_NonMaxSuppressionV3=Module[\"_NonMaxSuppressionV3\"]=Module[\"asm\"][\"NonMaxSuppressionV3\"]).apply(null,arguments)};var _NonMaxSuppressionV4=Module[\"_NonMaxSuppressionV4\"]=function(){return(_NonMaxSuppressionV4=Module[\"_NonMaxSuppressionV4\"]=Module[\"asm\"][\"NonMaxSuppressionV4\"]).apply(null,arguments)};var _NonMaxSuppressionV5=Module[\"_NonMaxSuppressionV5\"]=function(){return(_NonMaxSuppressionV5=Module[\"_NonMaxSuppressionV5\"]=Module[\"asm\"][\"NonMaxSuppressionV5\"]).apply(null,arguments)};var _NotEqual=Module[\"_NotEqual\"]=function(){return(_NotEqual=Module[\"_NotEqual\"]=Module[\"asm\"][\"NotEqual\"]).apply(null,arguments)};var _OneHot=Module[\"_OneHot\"]=function(){return(_OneHot=Module[\"_OneHot\"]=Module[\"asm\"][\"OneHot\"]).apply(null,arguments)};var _PadV2=Module[\"_PadV2\"]=function(){return(_PadV2=Module[\"_PadV2\"]=Module[\"asm\"][\"PadV2\"]).apply(null,arguments)};var _Pow=Module[\"_Pow\"]=function(){return(_Pow=Module[\"_Pow\"]=Module[\"asm\"][\"Pow\"]).apply(null,arguments)};var _Prelu=Module[\"_Prelu\"]=function(){return(_Prelu=Module[\"_Prelu\"]=Module[\"asm\"][\"Prelu\"]).apply(null,arguments)};var _Prod=Module[\"_Prod\"]=function(){return(_Prod=Module[\"_Prod\"]=Module[\"asm\"][\"Prod\"]).apply(null,arguments)};var _RealDiv=Module[\"_RealDiv\"]=function(){return(_RealDiv=Module[\"_RealDiv\"]=Module[\"asm\"][\"RealDiv\"]).apply(null,arguments)};var _Relu=Module[\"_Relu\"]=function(){return(_Relu=Module[\"_Relu\"]=Module[\"asm\"][\"Relu\"]).apply(null,arguments)};var _Relu6=Module[\"_Relu6\"]=function(){return(_Relu6=Module[\"_Relu6\"]=Module[\"asm\"][\"Relu6\"]).apply(null,arguments)};var _ResizeBilinear=Module[\"_ResizeBilinear\"]=function(){return(_ResizeBilinear=Module[\"_ResizeBilinear\"]=Module[\"asm\"][\"ResizeBilinear\"]).apply(null,arguments)};var _Reverse=Module[\"_Reverse\"]=function(){return(_Reverse=Module[\"_Reverse\"]=Module[\"asm\"][\"Reverse\"]).apply(null,arguments)};var _RotateWithOffset=Module[\"_RotateWithOffset\"]=function(){return(_RotateWithOffset=Module[\"_RotateWithOffset\"]=Module[\"asm\"][\"RotateWithOffset\"]).apply(null,arguments)};var _Round=Module[\"_Round\"]=function(){return(_Round=Module[\"_Round\"]=Module[\"asm\"][\"Round\"]).apply(null,arguments)};var _Rsqrt=Module[\"_Rsqrt\"]=function(){return(_Rsqrt=Module[\"_Rsqrt\"]=Module[\"asm\"][\"Rsqrt\"]).apply(null,arguments)};var _ScatterNd=Module[\"_ScatterNd\"]=function(){return(_ScatterNd=Module[\"_ScatterNd\"]=Module[\"asm\"][\"ScatterNd\"]).apply(null,arguments)};var _SelectV2=Module[\"_SelectV2\"]=function(){return(_SelectV2=Module[\"_SelectV2\"]=Module[\"asm\"][\"SelectV2\"]).apply(null,arguments)};var _Sigmoid=Module[\"_Sigmoid\"]=function(){return(_Sigmoid=Module[\"_Sigmoid\"]=Module[\"asm\"][\"Sigmoid\"]).apply(null,arguments)};var _Sin=Module[\"_Sin\"]=function(){return(_Sin=Module[\"_Sin\"]=Module[\"asm\"][\"Sin\"]).apply(null,arguments)};var _Softmax=Module[\"_Softmax\"]=function(){return(_Softmax=Module[\"_Softmax\"]=Module[\"asm\"][\"Softmax\"]).apply(null,arguments)};var _Sqrt=Module[\"_Sqrt\"]=function(){return(_Sqrt=Module[\"_Sqrt\"]=Module[\"asm\"][\"Sqrt\"]).apply(null,arguments)};var _Square=Module[\"_Square\"]=function(){return(_Square=Module[\"_Square\"]=Module[\"asm\"][\"Square\"]).apply(null,arguments)};var _SquaredDifference=Module[\"_SquaredDifference\"]=function(){return(_SquaredDifference=Module[\"_SquaredDifference\"]=Module[\"asm\"][\"SquaredDifference\"]).apply(null,arguments)};var _Step=Module[\"_Step\"]=function(){return(_Step=Module[\"_Step\"]=Module[\"asm\"][\"Step\"]).apply(null,arguments)};var _StridedSlice=Module[\"_StridedSlice\"]=function(){return(_StridedSlice=Module[\"_StridedSlice\"]=Module[\"asm\"][\"StridedSlice\"]).apply(null,arguments)};var _Sub=Module[\"_Sub\"]=function(){return(_Sub=Module[\"_Sub\"]=Module[\"asm\"][\"Sub\"]).apply(null,arguments)};var _Sum=Module[\"_Sum\"]=function(){return(_Sum=Module[\"_Sum\"]=Module[\"asm\"][\"Sum\"]).apply(null,arguments)};var _Tanh=Module[\"_Tanh\"]=function(){return(_Tanh=Module[\"_Tanh\"]=Module[\"asm\"][\"Tanh\"]).apply(null,arguments)};var _Tile=Module[\"_Tile\"]=function(){return(_Tile=Module[\"_Tile\"]=Module[\"asm\"][\"Tile\"]).apply(null,arguments)};var _TopK=Module[\"_TopK\"]=function(){return(_TopK=Module[\"_TopK\"]=Module[\"asm\"][\"TopK\"]).apply(null,arguments)};var _Transpose=Module[\"_Transpose\"]=function(){return(_Transpose=Module[\"_Transpose\"]=Module[\"asm\"][\"Transpose\"]).apply(null,arguments)};var __FusedMatMul=Module[\"__FusedMatMul\"]=function(){return(__FusedMatMul=Module[\"__FusedMatMul\"]=Module[\"asm\"][\"_FusedMatMul\"]).apply(null,arguments)};var _malloc=Module[\"_malloc\"]=function(){return(_malloc=Module[\"_malloc\"]=Module[\"asm\"][\"malloc\"]).apply(null,arguments)};var _free=Module[\"_free\"]=function(){return(_free=Module[\"_free\"]=Module[\"asm\"][\"free\"]).apply(null,arguments)};var __start=Module[\"__start\"]=function(){return(__start=Module[\"__start\"]=Module[\"asm\"][\"_start\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=function(){return(stackSave=Module[\"stackSave\"]=Module[\"asm\"][\"stackSave\"]).apply(null,arguments)};var stackAlloc=Module[\"stackAlloc\"]=function(){return(stackAlloc=Module[\"stackAlloc\"]=Module[\"asm\"][\"stackAlloc\"]).apply(null,arguments)};var stackRestore=Module[\"stackRestore\"]=function(){return(stackRestore=Module[\"stackRestore\"]=Module[\"asm\"][\"stackRestore\"]).apply(null,arguments)};Module[\"asm\"]=asm;Module[\"cwrap\"]=cwrap;var calledRun;Module[\"then\"]=function(func){if(calledRun){func(Module)}else{var old=Module[\"onRuntimeInitialized\"];Module[\"onRuntimeInitialized\"]=function(){if(old)old();func(Module)}}return Module};function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module[\"__start\"];try{entryFunction();var ret=0;exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e==\"unwind\"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e===\"object\"&&e.stack){toLog=[e,e.stack]}err(\"exception thrown: \"+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain(args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}quit_(status,new ExitStatus(status))}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;noExitRuntime=true;run();\n\n\n return WasmBackendModule\n}\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n module.exports = WasmBackendModule;\n else if (typeof define === 'function' && define['amd'])\n define([], function() { return WasmBackendModule; });\n else if (typeof exports === 'object')\n exports[\"WasmBackendModule\"] = WasmBackendModule;\n ", "// A port of an algorithm by Johannes Baag\u00F8e , 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baag\u00F8e \n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "// A Javascript implementaion of the \"xorshift7\" algorithm by\n// Fran\u00E7ois Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n", "// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n", "// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n", "/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n", "// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baag\u00F8e.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by Fran\u00E7ois Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n", "", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "export const wasmWorkerContents = 'var threadInfoStruct=0;var selfThreadId=0;var parentThreadId=0;var Module={};function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(\" \");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:text,threadId:selfThreadId})}var err=threadPrintErr;this.alert=threadAlert;Module[\"instantiateWasm\"]=function(info,receiveInstance){var instance=new WebAssembly.Instance(Module[\"wasmModule\"],info);Module[\"wasmModule\"]=null;receiveInstance(instance);return instance.exports};this.onmessage=function(e){try{if(e.data.cmd===\"load\"){Module[\"DYNAMIC_BASE\"]=e.data.DYNAMIC_BASE;Module[\"DYNAMICTOP_PTR\"]=e.data.DYNAMICTOP_PTR;Module[\"wasmModule\"]=e.data.wasmModule;Module[\"wasmMemory\"]=e.data.wasmMemory;Module[\"buffer\"]=Module[\"wasmMemory\"].buffer;Module[\"ENVIRONMENT_IS_PTHREAD\"]=true;if(typeof e.data.urlOrBlob===\"string\"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}Module=WasmBackendModuleThreadedSimd(Module);postMessage({\"cmd\":\"loaded\"})}else if(e.data.cmd===\"objectTransfer\"){Module[\"PThread\"].receiveObjectTransfer(e.data)}else if(e.data.cmd===\"run\"){Module[\"__performance_now_clock_drift\"]=performance.now()-e.data.time;threadInfoStruct=e.data.threadInfoStruct;Module[\"__register_pthread_ptr\"](threadInfoStruct,0,0);selfThreadId=e.data.selfThreadId;parentThreadId=e.data.parentThreadId;var max=e.data.stackBase;var top=e.data.stackBase+e.data.stackSize;Module[\"establishStackSpace\"](top,max);Module[\"_emscripten_tls_init\"]();Module[\"PThread\"].receiveObjectTransfer(e.data);Module[\"PThread\"].setThreadStatus(Module[\"_pthread_self\"](),1);try{var result=Module[\"dynCall_ii\"](e.data.start_routine,e.data.arg);if(!Module[\"getNoExitRuntime\"]())Module[\"PThread\"].threadExit(result)}catch(ex){if(ex===\"Canceled!\"){Module[\"PThread\"].threadCancel()}else if(ex!=\"unwind\"){Atomics.store(Module[\"HEAPU32\"],threadInfoStruct+4>>2,ex instanceof Module[\"ExitStatus\"]?ex.status:-2);Atomics.store(Module[\"HEAPU32\"],threadInfoStruct+0>>2,1);Module[\"_emscripten_futex_wake\"](threadInfoStruct+0,2147483647);if(!(ex instanceof Module[\"ExitStatus\"]))throw ex}}}else if(e.data.cmd===\"cancel\"){if(threadInfoStruct){Module[\"PThread\"].threadCancel()}}else if(e.data.target===\"setimmediate\"){}else if(e.data.cmd===\"processThreadQueue\"){if(threadInfoStruct){Module[\"_emscripten_current_thread_process_queued_calls\"]()}}else{err(\"worker.js received unknown command \"+e.data.cmd);err(e.data)}}catch(ex){err(\"worker.js onmessage() captured an uncaught exception: \"+ex);if(ex.stack)err(ex.stack);throw ex}};if(typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\"){self={location:{href:__filename}};var onmessage=this.onmessage;var nodeWorkerThreads=require(\"worker_threads\");Worker=nodeWorkerThreads.Worker;var parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",function(data){onmessage({data:data})});var nodeFS=require(\"fs\");var nodeRead=function(filename){return nodeFS.readFileSync(filename,\"utf8\")};function globalEval(x){global.require=require;global.Module=Module;eval.call(null,x)}importScripts=function(f){globalEval(nodeRead(f))};postMessage=function(msg){parentPort.postMessage(msg)};if(typeof performance===\"undefined\"){performance={now:function(){return Date.now()}}}}';", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "// wrapper to load tfjs in a single place so version can be changed quickly\n\n// simplified\n// { modules: 1061, moduleBytes: 3772720, outputBytes: 1531035 }\n\n// export * from '@tensorflow/tfjs/dist/index.js';\n// export * from '@tensorflow/tfjs-backend-wasm';\n\n// modular\n// { modules: 1064, moduleBytes: 3793219, outputBytes: 1535600 }\n\n// get versions of all packages.\nimport { version as tfjs } from '@tensorflow/tfjs/package.json';\nimport { version as versionCore } from '@tensorflow/tfjs-core/package.json';\nimport { version as versionData } from '@tensorflow/tfjs-data/package.json';\nimport { version as versionLayers } from '@tensorflow/tfjs-layers/package.json';\nimport { version as versionConverter } from '@tensorflow/tfjs-converter/package.json';\n// for backends, get version from source so it can register backend during import\nimport { version_cpu } from '@tensorflow/tfjs-backend-cpu/dist/index.js';\nimport { version_webgl } from '@tensorflow/tfjs-backend-webgl/dist/index.js';\nimport { version_wasm } from '@tensorflow/tfjs-backend-wasm/dist/index.js';\n\n// export all\nexport * from '@tensorflow/tfjs-core/dist/index.js';\nexport * from '@tensorflow/tfjs-layers/dist/index.js';\nexport * from '@tensorflow/tfjs-converter/dist/index.js';\nexport * as data from '@tensorflow/tfjs-data/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-cpu/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-webgl/dist/index.js';\nexport * from '@tensorflow/tfjs-backend-wasm/dist/index.js';\n\n// export versions\nexport const version = {\n tfjs,\n 'tfjs-core': versionCore,\n 'tfjs-data': versionData,\n 'tfjs-layers': versionLayers,\n 'tfjs-converter': versionConverter,\n 'tfjs-backend-cpu': version_cpu,\n 'tfjs-backend-webgl': version_webgl,\n 'tfjs-backend-wasm': version_wasm,\n};\n"], - "mappings": "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AW,EAAG,GAAc,YAC7C,EACF,GAAK,CAAC,OAAQ,CAAC,GAAU,UAAS,MAAO,CAAC,MAAO,aAC/C,EACF,GAAS,CAAC,OAAQ,CAAC,EAAG,EAAY,EAAG,GAAI,YACvC,EACF,GAAI,CAAC,OAAQ,CAAC,EAAG,GAAM,UAAS,MAAO,CAAC,KAAM,EAAG,SAAU,MAC/D,EAAI,KAAK,GACT,EAAc,KAAK,GACnB,EAAc,KAAK,GACnB,EAAc,KAAK,GACnB,EAAc,KAAK,GACnB,EAAc,KAAK,GAGrB,GAAM,GAAS,GAAK,CAAC,OAAQ,EAAK,UAAS,MAAO,CAAC,KAAM,KAEzD,SAAc,QAAQ,GAAK,EAAQ,8BAA8B,IAE1D,EAGF,GAAM,IAAyC,CACpD,WAAY,GACZ,YAAa,MACb,WAAY,ICrFd,AAgLA,GAAM,IAAgC,CACpC,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GAC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8B,IACtD,EAGF,GAAM,IAAyC,CACpD,WAAY,GACZ,YAAa,QACb,WAAY,IChHd,AA4KA,GAAM,IAAgC,CACpC,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGF,OAAW,KAAgB,IACzB,GAAe,GCxUjB,ACAA,AAkBA,GAAY,IAAZ,AAAA,UAAY,GACV,EAAA,EAAA,QAAA,GAAA,UACA,EAAA,EAAA,MAAA,GAAA,QACA,EAAA,EAAA,KAAA,GAAA,OACA,EAAA,EAAA,OAAA,GAAA,SACA,EAAA,EAAA,UAAA,GAAA,cALU,IAAA,IAAQ,KASpB,GAAY,IAAZ,AAAA,UAAY,GACV,EAAA,EAAA,OAAA,GAAA,SACA,EAAA,EAAA,KAAA,GAAA,OACA,EAAA,EAAA,MAAA,GAAA,QACA,EAAA,EAAA,MAAA,GAAA,QACA,EAAA,EAAA,UAAA,GAAA,cALU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,GAAM,GAA2B,EAC3B,CAAC,QAAQ,EACf,MAAO,CAAC,MAAO,IAAM,GAAM,EAAI,MC1BnC,AA8BO,GAAM,IAA2C,CACtD,WAAY,GACZ,aAAc,CAAC,cACf,SAAU,CAAC,EAAY,KACrB,GAAM,CAAC,GAAc,EAKrB,MAAO,CAAC,EAHK,IACJ,GAAoB,EAAI,MAMrC,YAA+C,EAAM,GAInD,GAAM,GAAqB,GAAQ,EAAS,GAAU,IAChD,EAAW,GAAO,EAAG,GACvB,EAAa,GAAa,EAAS,GAAO,EAAG,UAC3C,EAAW,EAAS,KAAO,EAAW,KAC5C,OAAS,GAAI,EAAG,EAAI,EAAU,EAAE,EAC9B,EAAa,GAAW,EAAY,EAAI,GAE1C,EAAa,GAAW,EAAY,GAAK,EAAS,MAAO,SACzD,GAAM,GAAY,GAAU,GAC5B,MAAO,IAAM,EAAY,EAAU,GCxDrC,AAsBO,GAAM,IAAkC,CAC7C,WAAY,GACZ,SAAU,AAAC,GACF,EAAC,EAAG,IAAM,GAAU,MCzB/B,AAwHA,GAAM,IAA4B,CAChC,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGF,OAAW,KAAkB,IAC3B,GAAiB,GCpOnB,kFCAA,AAaA,GAAI,IAKE,cACJ,MAAI,KAAY,MACd,IAAW,KAAU,WAEhB,GAcH,cACJ,MAAO,eCrCT,oBAu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", + "sources": ["../src/tfjs/tf-node-gpu.ts"], + "sourcesContent": ["export * from '@tensorflow/tfjs-node-gpu';\n"], + "mappings": ";;;;;;;qdAAA,WAAA,UAAc", "names": [] } diff --git a/dist/tfjs.esm.json b/dist/tfjs.esm.json index 57f4f8c7..6347fe5f 100644 --- a/dist/tfjs.esm.json +++ b/dist/tfjs.esm.json @@ -1,25476 +1,8 @@ { "inputs": { - "node_modules/@tensorflow/tfjs/package.json": { - "bytes": 5093, + "src/tfjs/tf-node-gpu.ts": { + "bytes": 43, "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/package.json": { - "bytes": 5342, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-data/package.json": { - "bytes": 4171, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-layers/package.json": { - "bytes": 3919, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/package.json": { - "bytes": 4746, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/backend.js": { - "bytes": 3401, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/util_base.js": { - "bytes": 20096, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/environment.js": { - "bytes": 5556, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util_base.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/global_util.js": { - "bytes": 2316, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js": { - "bytes": 5914, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js": { - "bytes": 4943, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/global_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/util.js": { - "bytes": 3793, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util_base.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util_base.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/profiler.js": { - "bytes": 4164, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/tape.js": { - "bytes": 6245, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/tensor_format.js": { - "bytes": 6412, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/tensor.js": { - "bytes": 13373, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/global_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_format.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/types.js": { - "bytes": 2833, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js": { - "bytes": 2692, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/types.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/engine.js": { - "bytes": 42541, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/global_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/profiler.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/device_util.js": { - "bytes": 3385, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/flags.js": { - "bytes": 2541, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/device_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js": { - "bytes": 4589, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js": { - "bytes": 2225, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/complex.js": { - "bytes": 2044, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js": { - "bytes": 2782, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor.js": { - "bytes": 1847, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/types.js": { - "bytes": 1039, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js": { - "bytes": 17504, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js": { - "bytes": 3367, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js": { - "bytes": 14300, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/flags.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js": { - "bytes": 12540, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/flags.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/model_management.js": { - "bytes": 11433, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/platforms/platform_browser.js": { - "bytes": 2092, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/flags.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/model_management.js", - "kind": "import-statement" - } - ] - }, - "empty:/home/vlado/dev/human/node_modules/node-fetch/browser.js": { - "bytes": 0, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/platforms/platform_node.js": { - "bytes": 2554, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "empty:/home/vlado/dev/human/node_modules/node-fetch/browser.js", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js": { - "bytes": 1840, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js": { - "bytes": 1769, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/clone.js": { - "bytes": 1463, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/print.js": { - "bytes": 1188, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js": { - "bytes": 1333, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/flags.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/platforms/platform_browser.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/platforms/platform_node.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/clone.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/print.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/browser_files.js": { - "bytes": 14793, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/flags.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/progress.js": { - "bytes": 2613, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js": { - "bytes": 8924, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/progress.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/http.js": { - "bytes": 14085, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/passthrough.js": { - "bytes": 3915, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/io/io.js": { - "bytes": 1714, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/browser_files.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/http.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/passthrough.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/model_management.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js": { - "bytes": 1886, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/one_hot.js": { - "bytes": 2063, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js": { - "bytes": 2318, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/confusion_matrix.js": { - "bytes": 3705, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/one_hot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/math.js": { - "bytes": 871, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/confusion_matrix.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor3d.js": { - "bytes": 2284, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/browser.js": { - "bytes": 8954, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor3d.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd_util.js": { - "bytes": 2129, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd_util.js": { - "bytes": 4154, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice_util.js": { - "bytes": 13296, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/serialization.js": { - "bytes": 3947, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/test_util.js": { - "bytes": 4999, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/version.js": { - "bytes": 175, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/globals.js": { - "bytes": 12108, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/add.js": { - "bytes": 1780, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/floorDiv.js": { - "bytes": 1896, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/div.js": { - "bytes": 2026, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/floorDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js": { - "bytes": 1935, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/abs.js": { - "bytes": 1491, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/acos.js": { - "bytes": 1342, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/acosh.js": { - "bytes": 1381, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/add_n.js": { - "bytes": 2176, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/all.js": { - "bytes": 2111, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/any.js": { - "bytes": 2152, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/arg_max.js": { - "bytes": 1713, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/arg_min.js": { - "bytes": 1713, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/asin.js": { - "bytes": 1342, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/asinh.js": { - "bytes": 1376, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/atan.js": { - "bytes": 1345, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/atan2.js": { - "bytes": 1638, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/atanh.js": { - "bytes": 1378, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js": { - "bytes": 16739, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js": { - "bytes": 2074, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool.js": { - "bytes": 3356, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d.js": { - "bytes": 3888, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js": { - "bytes": 2817, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/clone.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js": { - "bytes": 1360, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js": { - "bytes": 2430, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tanh.js": { - "bytes": 1359, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/basic_lstm_cell.js": { - "bytes": 2762, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tanh.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js": { - "bytes": 4007, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm_util.js": { - "bytes": 457, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js": { - "bytes": 3361, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm2d.js": { - "bytes": 2015, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm3d.js": { - "bytes": 2015, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm4d.js": { - "bytes": 2015, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/bincount.js": { - "bytes": 2417, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_to.js": { - "bytes": 2955, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/clone.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ceil.js": { - "bytes": 1345, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/clip_by_value.js": { - "bytes": 1831, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_1d.js": { - "bytes": 536, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_2d.js": { - "bytes": 930, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_3d.js": { - "bytes": 1075, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_4d.js": { - "bytes": 451, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js": { - "bytes": 4324, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv1d.js": { - "bytes": 3539, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_input.js": { - "bytes": 4192, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_transpose.js": { - "bytes": 1462, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_input.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d.js": { - "bytes": 4253, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_input.js": { - "bytes": 3535, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_transpose.js": { - "bytes": 1336, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_input.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/cos.js": { - "bytes": 1353, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/cosh.js": { - "bytes": 1355, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/cumsum.js": { - "bytes": 1946, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dense_bincount.js": { - "bytes": 2772, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/depth_to_space.js": { - "bytes": 3564, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js": { - "bytes": 4875, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/diag.js": { - "bytes": 1613, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dilation2d.js": { - "bytes": 3812, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js": { - "bytes": 2732, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/equal.js": { - "bytes": 1712, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/where.js": { - "bytes": 3076, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_to.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js": { - "bytes": 1397, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/div_no_nan.js": { - "bytes": 2232, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dot.js": { - "bytes": 2831, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/elu.js": { - "bytes": 1340, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/erf.js": { - "bytes": 1606, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js": { - "bytes": 1337, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js": { - "bytes": 1765, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/expm1.js": { - "bytes": 1372, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tile.js": { - "bytes": 2115, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/eye.js": { - "bytes": 2756, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tile.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fill.js": { - "bytes": 1343, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/floor.js": { - "bytes": 1354, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/gather.js": { - "bytes": 2144, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js": { - "bytes": 1729, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js": { - "bytes": 1776, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/imag.js": { - "bytes": 1539, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/is_finite.js": { - "bytes": 1374, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/is_inf.js": { - "bytes": 1365, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/is_nan.js": { - "bytes": 1348, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/leaky_relu.js": { - "bytes": 1664, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/less.js": { - "bytes": 1699, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js": { - "bytes": 1749, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/linspace.js": { - "bytes": 1383, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization.js": { - "bytes": 2639, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log.js": { - "bytes": 1347, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log1p.js": { - "bytes": 1385, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients.js": { - "bytes": 12386, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js": { - "bytes": 1315, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/softplus.js": { - "bytes": 1393, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log_sigmoid.js": { - "bytes": 2133, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/softplus.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max.js": { - "bytes": 2078, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js": { - "bytes": 1811, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js": { - "bytes": 2273, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log_softmax.js": { - "bytes": 3330, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js": { - "bytes": 3147, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log_sum_exp.js": { - "bytes": 2650, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js": { - "bytes": 1754, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js": { - "bytes": 1402, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/logical_or.js": { - "bytes": 1741, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/logical_xor.js": { - "bytes": 1820, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_or.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool.js": { - "bytes": 3641, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d.js": { - "bytes": 3821, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_with_argmax.js": { - "bytes": 3212, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js": { - "bytes": 2220, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mean.js": { - "bytes": 2061, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/min.js": { - "bytes": 2085, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/minimum.js": { - "bytes": 2217, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mirror_pad.js": { - "bytes": 3397, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mod.js": { - "bytes": 1932, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/square.js": { - "bytes": 1317, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/moments.js": { - "bytes": 2212, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mean.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/multi_rnn_cell.js": { - "bytes": 1344, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/multinomial.js": { - "bytes": 2853, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/not_equal.js": { - "bytes": 1737, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js": { - "bytes": 1579, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/complex.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ones.js": { - "bytes": 1569, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ones_like.js": { - "bytes": 1366, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/outer_product.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js": { - "bytes": 2106, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad1d.js": { - "bytes": 446, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad2d.js": { - "bytes": 513, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad3d.js": { - "bytes": 541, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad4d.js": { - "bytes": 577, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js": { - "bytes": 4237, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pool.js": { - "bytes": 6517, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js": { - "bytes": 2151, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/prelu.js": { - "bytes": 1577, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/prod.js": { - "bytes": 2360, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/rand.js": { - "bytes": 1827, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/alea.js": { - "bytes": 3243, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor128.js": { - "bytes": 1748, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorwow.js": { - "bytes": 1919, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorshift7.js": { - "bytes": 2418, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor4096.js": { - "bytes": 4559, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/tychei.js": { - "bytes": 2525, - "imports": [] - }, - "empty:crypto": { - "bytes": 0, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/seedrandom.js": { - "bytes": 8358, - "imports": [ - { - "path": "empty:crypto", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/index.js": { - "bytes": 2110, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/alea.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor128.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorwow.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorshift7.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor4096.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/tychei.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/seedrandom.js", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js": { - "bytes": 7411, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/test_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/random_gamma.js": { - "bytes": 1968, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/random_normal.js": { - "bytes": 1829, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/random_uniform.js": { - "bytes": 1945, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/range.js": { - "bytes": 1645, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/real.js": { - "bytes": 1526, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reciprocal.js": { - "bytes": 1378, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/relu.js": { - "bytes": 1400, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/relu6.js": { - "bytes": 1419, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js": { - "bytes": 1941, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_1d.js": { - "bytes": 1222, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_2d.js": { - "bytes": 1374, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_3d.js": { - "bytes": 1374, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_4d.js": { - "bytes": 1374, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/round.js": { - "bytes": 1390, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/rsqrt.js": { - "bytes": 1385, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js": { - "bytes": 1849, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/selu.js": { - "bytes": 1380, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/separable_conv2d.js": { - "bytes": 4906, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/setdiff1d_async.js": { - "bytes": 3036, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sign.js": { - "bytes": 1351, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sin.js": { - "bytes": 1348, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sinh.js": { - "bytes": 1355, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice1d.js": { - "bytes": 1298, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice2d.js": { - "bytes": 1294, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice3d.js": { - "bytes": 1294, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice4d.js": { - "bytes": 1294, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/softmax.js": { - "bytes": 1948, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/fft.js": { - "bytes": 1623, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/ifft.js": { - "bytes": 1649, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/irfft.js": { - "bytes": 3062, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/ifft.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/split.js": { - "bytes": 2418, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/rfft.js": { - "bytes": 3487, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/split.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/fft.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js": { - "bytes": 1355, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/squared_difference.js": { - "bytes": 2078, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js": { - "bytes": 1556, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/stack.js": { - "bytes": 1880, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/step.js": { - "bytes": 1467, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/strided_slice.js": { - "bytes": 3026, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tan.js": { - "bytes": 1353, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js": { - "bytes": 1677, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor2d.js": { - "bytes": 2273, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor4d.js": { - "bytes": 2297, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor5d.js": { - "bytes": 2352, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor6d.js": { - "bytes": 2402, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/topk.js": { - "bytes": 2433, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/truncated_normal.js": { - "bytes": 2085, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/unique.js": { - "bytes": 2939, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/unsorted_segment_sum.js": { - "bytes": 2138, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js": { - "bytes": 1726, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/variable.js": { - "bytes": 1416, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js": { - "bytes": 1383, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/where_async.js": { - "bytes": 1983, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/boolean_mask.js": { - "bytes": 2988, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/gather.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where_async.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/norm.js": { - "bytes": 4758, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/moving_average.js": { - "bytes": 2944, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd.js": { - "bytes": 2252, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sparse_to_dense_util.js": { - "bytes": 1784, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sparse_to_dense.js": { - "bytes": 3246, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sparse_to_dense_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd.js": { - "bytes": 2704, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dropout_util.js": { - "bytes": 1630, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dropout.js": { - "bytes": 2566, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/dropout_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/floor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/random_uniform.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal_ops_util.js": { - "bytes": 1331, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/in_top_k.js": { - "bytes": 3685, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_filter.js": { - "bytes": 3772, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js": { - "bytes": 2554, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/elu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/leaky_relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/relu6.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/step.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused/conv2d.js": { - "bytes": 8918, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_filter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_input.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_filter.js": { - "bytes": 1666, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_input.js": { - "bytes": 1739, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused/depthwise_conv2d.js": { - "bytes": 9364, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_filter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_input.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused/mat_mul.js": { - "bytes": 7331, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused_ops.js": { - "bytes": 927, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused/conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused/depthwise_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused/mat_mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal/hamming_window.js": { - "bytes": 1265, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal/hann_window.js": { - "bytes": 1245, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal_ops_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal/frame.js": { - "bytes": 2278, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor2d.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal/stft.js": { - "bytes": 2183, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal_ops_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/rfft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal/frame.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal/hann_window.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/crop_and_resize.js": { - "bytes": 3821, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/flip_left_right.js": { - "bytes": 1642, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/rotate_with_offset.js": { - "bytes": 2329, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js": { - "bytes": 2005, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression.js": { - "bytes": 2618, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js": { - "bytes": 3592, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js": { - "bytes": 7522, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_async.js": { - "bytes": 3166, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score.js": { - "bytes": 3530, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score_async.js": { - "bytes": 3969, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded.js": { - "bytes": 3362, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded_async.js": { - "bytes": 3669, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_bilinear.js": { - "bytes": 3163, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_nearest_neighbor.js": { - "bytes": 3421, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/band_part.js": { - "bytes": 4035, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/range.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/stack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/gram_schmidt.js": { - "bytes": 3609, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/norm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/split.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/stack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/qr.js": { - "bytes": 7131, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/clone.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/eye.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/norm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/stack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js": { - "bytes": 1048, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js": { - "bytes": 2354, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mean.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/not_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ones.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/absolute_difference.js": { - "bytes": 2347, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/cosine_distance.js": { - "bytes": 1803, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/hinge_loss.js": { - "bytes": 1751, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/huber_loss.js": { - "bytes": 2736, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/minimum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/log_loss.js": { - "bytes": 2660, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/mean_squared_error.js": { - "bytes": 2334, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/squared_difference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/sigmoid_cross_entropy.js": { - "bytes": 4662, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log1p.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/softmax_cross_entropy.js": { - "bytes": 5765, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log_sum_exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js": { - "bytes": 10612, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/acos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/acosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add_n.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/all.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/any.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/arg_max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/arg_min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/asin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/asinh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/atan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/atan2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/atanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/basic_lstm_cell.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm4d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/bincount.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_to.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ceil.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/clip_by_value.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/clone.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat_1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat_2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat_3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat_4d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cumsum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/dense_bincount.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depth_to_space.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/diag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/dilation2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div_no_nan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/dot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/elu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/erf.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/expm1.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/eye.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/floor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/floorDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/gather.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/is_finite.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/is_inf.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/is_nan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/leaky_relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/linspace.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log1p.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log_sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log_softmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log_sum_exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_or.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_xor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_with_argmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mean.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/minimum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mirror_pad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/moments.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/multi_rnn_cell.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/multinomial.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/not_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/one_hot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ones.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ones_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/outer_product.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad4d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/print.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/prod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/rand.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/random_gamma.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/random_normal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/random_uniform.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/range.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reciprocal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/relu6.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_4d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/round.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/rsqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/selu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/separable_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/setdiff1d_async.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sign.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sinh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice4d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/softmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/softplus.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/fft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/ifft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/irfft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/rfft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/split.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/squared_difference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/stack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/step.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/strided_slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor4d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor5d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tensor6d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tile.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/topk.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/truncated_normal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unique.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unsorted_segment_sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/variable.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where_async.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/boolean_mask.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/norm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/moving_average.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sparse_to_dense.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/dropout.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal_ops_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/in_top_k.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/rfft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/fft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/ifft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/irfft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused_ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal/hamming_window.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal/hann_window.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal/frame.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/signal/stft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/crop_and_resize.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/flip_left_right.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/rotate_with_offset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_async.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score_async.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded_async.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_bilinear.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_nearest_neighbor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/band_part.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/gram_schmidt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/qr.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/absolute_difference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/cosine_distance.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/hinge_loss.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/huber_loss.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/log_loss.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/mean_squared_error.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/sigmoid_cross_entropy.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/losses/softmax_cross_entropy.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js": { - "bytes": 4784, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/adadelta_optimizer.js": { - "bytes": 5112, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/adagrad_optimizer.js": { - "bytes": 3907, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/adam_optimizer.js": { - "bytes": 6232, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/adamax_optimizer.js": { - "bytes": 5248, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/sgd_optimizer.js": { - "bytes": 2904, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/momentum_optimizer.js": { - "bytes": 4192, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/sgd_optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/rmsprop_optimizer.js": { - "bytes": 7635, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer_constructors.js": { - "bytes": 7386, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adadelta_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adagrad_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adam_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adamax_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/momentum_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/rmsprop_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/sgd_optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/train.js": { - "bytes": 1795, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adadelta_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adagrad_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adam_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adamax_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/momentum_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer_constructors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/rmsprop_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/sgd_optimizer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/browser_util.js": { - "bytes": 1434, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_util.js": { - "bytes": 1810, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reduce_util.js": { - "bytes": 1124, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/rotate_util.js": { - "bytes": 1049, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/array_ops_util.js": { - "bytes": 5089, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/selu_util.js": { - "bytes": 867, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/erf_util.js": { - "bytes": 948, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/log.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js": { - "bytes": 4593, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/split_util.js": { - "bytes": 1513, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/segment_util.js": { - "bytes": 3269, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reduce_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js": { - "bytes": 1981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reduce_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/types.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/rotate_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/array_ops_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/selu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/erf_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/split_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/segment_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/kernel_impls.js": { - "bytes": 905, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/base.js": { - "bytes": 3187, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/io/io.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/math.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/browser.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/test_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adadelta_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adagrad_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adam_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/adamax_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/momentum_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/rmsprop_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/optimizers/sgd_optimizer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/types.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/train.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/globals.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/environment.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/browser_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/device_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/kernel_impls.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/backends/backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/index.js": { - "bytes": 875, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/base.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js": { - "bytes": 1098, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/backend_cpu.js": { - "bytes": 6098, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Abs.js": { - "bytes": 1512, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js": { - "bytes": 2503, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js": { - "bytes": 1658, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/zeros_impl.js": { - "bytes": 1432, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js": { - "bytes": 1093, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js": { - "bytes": 1410, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js": { - "bytes": 3227, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/zeros_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js": { - "bytes": 6778, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js": { - "bytes": 1328, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount_impl.js": { - "bytes": 2352, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js": { - "bytes": 1153, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js": { - "bytes": 2971, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Ceil.js": { - "bytes": 1132, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat_impl.js": { - "bytes": 1874, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Exp.js": { - "bytes": 1122, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Expm1.js": { - "bytes": 1142, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Floor.js": { - "bytes": 1142, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2_impl.js": { - "bytes": 1413, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Greater.js": { - "bytes": 1200, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Less.js": { - "bytes": 1173, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace_impl.js": { - "bytes": 1083, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log.js": { - "bytes": 1122, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max_impl.js": { - "bytes": 1270, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Maximum.js": { - "bytes": 1189, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Minimum.js": { - "bytes": 1189, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js": { - "bytes": 1455, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Neg.js": { - "bytes": 1441, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NotEqual.js": { - "bytes": 1211, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose_impl.js": { - "bytes": 1530, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js": { - "bytes": 1589, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prod.js": { - "bytes": 2774, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range_impl.js": { - "bytes": 1591, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Rsqrt.js": { - "bytes": 1145, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js": { - "bytes": 2497, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SquaredDifference.js": { - "bytes": 1296, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice_impl.js": { - "bytes": 1236, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js": { - "bytes": 1348, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile_impl.js": { - "bytes": 1536, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK_impl.js": { - "bytes": 2221, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique_impl.js": { - "bytes": 5755, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js": { - "bytes": 2262, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Ceil.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Expm1.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Floor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Less.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Minimum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NotEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Rsqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SquaredDifference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/version.js": { - "bytes": 175, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/base.js": { - "bytes": 1227, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/backend_cpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/backend_cpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/version.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Elu.js": { - "bytes": 1011, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LeakyRelu.js": { - "bytes": 1481, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prelu.js": { - "bytes": 1524, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu.js": { - "bytes": 1000, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu6.js": { - "bytes": 1020, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fused_utils.js": { - "bytes": 1833, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Elu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LeakyRelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu6.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js": { - "bytes": 1782, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchMatMul.js": { - "bytes": 5645, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/_FusedMatMul.js": { - "bytes": 1950, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fused_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchMatMul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acos.js": { - "bytes": 998, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acosh.js": { - "bytes": 1006, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AddN.js": { - "bytes": 1503, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/All.js": { - "bytes": 2687, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Any.js": { - "bytes": 2699, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMax.js": { - "bytes": 2530, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMin.js": { - "bytes": 2530, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asin.js": { - "bytes": 998, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asinh.js": { - "bytes": 1006, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan.js": { - "bytes": 998, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan2.js": { - "bytes": 1168, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atanh.js": { - "bytes": 1006, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js": { - "bytes": 15245, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool.js": { - "bytes": 2119, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3D.js": { - "bytes": 1607, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3DGrad.js": { - "bytes": 4723, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPoolGrad.js": { - "bytes": 3578, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchNorm.js": { - "bytes": 2977, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchToSpaceND.js": { - "bytes": 2437, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount.js": { - "bytes": 1365, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Clip.js": { - "bytes": 1199, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ComplexAbs.js": { - "bytes": 1620, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js": { - "bytes": 1410, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat.js": { - "bytes": 4037, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2D.js": { - "bytes": 4471, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropFilter.js": { - "bytes": 3715, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropInput.js": { - "bytes": 4597, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3D.js": { - "bytes": 4502, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropFilterV2.js": { - "bytes": 4854, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropInputV2.js": { - "bytes": 4854, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cos.js": { - "bytes": 994, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cosh.js": { - "bytes": 998, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/CropAndResize.js": { - "bytes": 6502, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cumsum.js": { - "bytes": 2992, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DenseBincount.js": { - "bytes": 1912, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthToSpace.js": { - "bytes": 2616, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNative.js": { - "bytes": 4226, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js": { - "bytes": 3367, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropInput.js": { - "bytes": 4102, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Diag.js": { - "bytes": 1384, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2D.js": { - "bytes": 3944, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropFilter.js": { - "bytes": 4272, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropInput.js": { - "bytes": 4296, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/EluGrad.js": { - "bytes": 1578, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Equal.js": { - "bytes": 1184, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Erf.js": { - "bytes": 1415, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ExpandDims.js": { - "bytes": 1552, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RealDiv.js": { - "bytes": 1150, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fft_utils.js": { - "bytes": 11611, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RealDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FFT.js": { - "bytes": 1727, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fft_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Fill.js": { - "bytes": 1378, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FlipLeftRight.js": { - "bytes": 2834, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FloorDiv.js": { - "bytes": 1212, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedConv2D.js": { - "bytes": 1862, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fused_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2D.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedDepthwiseConv2D.js": { - "bytes": 1961, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fused_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNative.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherNd.js": { - "bytes": 2308, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2.js": { - "bytes": 2530, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GreaterEqual.js": { - "bytes": 1246, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IFFT.js": { - "bytes": 1732, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fft_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsFinite.js": { - "bytes": 1048, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsInf.js": { - "bytes": 1033, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsNaN.js": { - "bytes": 1024, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LessEqual.js": { - "bytes": 1219, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace.js": { - "bytes": 1184, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log1p.js": { - "bytes": 1006, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalAnd.js": { - "bytes": 1218, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalNot.js": { - "bytes": 1045, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalOr.js": { - "bytes": 1209, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRN.js": { - "bytes": 2083, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRNGrad.js": { - "bytes": 2327, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max.js": { - "bytes": 2563, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool.js": { - "bytes": 2119, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3D.js": { - "bytes": 1607, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3DGrad.js": { - "bytes": 5367, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolGrad.js": { - "bytes": 4110, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax_impl.js": { - "bytes": 1239, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax.js": { - "bytes": 1954, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sum.js": { - "bytes": 3116, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/zeros_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mean.js": { - "bytes": 1888, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RealDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Min.js": { - "bytes": 2729, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MirrorPad.js": { - "bytes": 2446, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mod.js": { - "bytes": 1318, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/alea.js": { - "bytes": 3243, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor128.js": { - "bytes": 1748, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorwow.js": { - "bytes": 1919, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorshift7.js": { - "bytes": 2418, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor4096.js": { - "bytes": 4559, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/tychei.js": { - "bytes": 2525, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/seedrandom.js": { - "bytes": 8358, - "imports": [ - { - "path": "empty:crypto", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/index.js": { - "bytes": 2110, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/alea.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor128.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorwow.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorshift7.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor4096.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/tychei.js", - "kind": "require-call" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/seedrandom.js", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softmax.js": { - "bytes": 2670, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RealDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multinomial.js": { - "bytes": 2786, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softmax.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV3.js": { - "bytes": 1684, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV4.js": { - "bytes": 1837, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV5.js": { - "bytes": 2041, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OneHot.js": { - "bytes": 1621, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ZerosLike.js": { - "bytes": 1974, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OnesLike.js": { - "bytes": 2007, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ZerosLike.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pack.js": { - "bytes": 1957, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ExpandDims.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/PadV2.js": { - "bytes": 2152, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pow.js": { - "bytes": 1131, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range.js": { - "bytes": 1166, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reciprocal.js": { - "bytes": 1033, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinear.js": { - "bytes": 4562, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinearGrad.js": { - "bytes": 4602, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighbor.js": { - "bytes": 3708, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighborGrad.js": { - "bytes": 5214, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reverse.js": { - "bytes": 1763, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RotateWithOffset.js": { - "bytes": 4033, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Round.js": { - "bytes": 1354, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Scatter_impl.js": { - "bytes": 2154, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ScatterNd.js": { - "bytes": 1604, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Scatter_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Select.js": { - "bytes": 1999, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Selu.js": { - "bytes": 1207, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sigmoid.js": { - "bytes": 1029, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sign.js": { - "bytes": 1113, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sin.js": { - "bytes": 990, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sinh.js": { - "bytes": 998, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softplus.js": { - "bytes": 1874, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SpaceToBatchND.js": { - "bytes": 2831, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/PadV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseToDense.js": { - "bytes": 1768, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Scatter_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SplitV.js": { - "bytes": 1607, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sqrt.js": { - "bytes": 998, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Square.js": { - "bytes": 1456, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Step.js": { - "bytes": 1133, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice.js": { - "bytes": 2477, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tan.js": { - "bytes": 990, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tanh.js": { - "bytes": 998, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile.js": { - "bytes": 1266, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK.js": { - "bytes": 1484, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique.js": { - "bytes": 1450, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unpack.js": { - "bytes": 1901, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/UnsortedSegmentSum.js": { - "bytes": 2923, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ExpandDims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/register_all_kernels.js": { - "bytes": 12571, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/_FusedMatMul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AddN.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/All.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Any.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asinh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3DGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPoolGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchMatMul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchNorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchToSpaceND.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Ceil.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Clip.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ComplexAbs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropFilter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropInput.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropFilterV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropInputV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/CropAndResize.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cumsum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DenseBincount.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthToSpace.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNative.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropInput.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Diag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropFilter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropInput.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Elu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/EluGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Erf.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ExpandDims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Expm1.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FFT.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FlipLeftRight.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Floor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FloorDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedConv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedDepthwiseConv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherNd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GreaterEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IFFT.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsFinite.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsInf.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsNaN.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LeakyRelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Less.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LessEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log1p.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalAnd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalNot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalOr.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRN.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRNGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3DGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mean.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Minimum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MirrorPad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multinomial.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV3.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV4.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV5.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NotEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OneHot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OnesLike.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/PadV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RealDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reciprocal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu6.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinear.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinearGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighbor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighborGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reverse.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RotateWithOffset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Round.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Rsqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ScatterNd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Select.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Selu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sign.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sinh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softplus.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SpaceToBatchND.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseToDense.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SplitV.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SquaredDifference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Step.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unpack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/UnsortedSegmentSum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ZerosLike.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/index.js": { - "bytes": 845, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/base.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/register_all_kernels.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/canvas_util.js": { - "bytes": 2962, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js": { - "bytes": 6526, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js": { - "bytes": 22338, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/canvas_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/flags_webgl.js": { - "bytes": 6399, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js": { - "bytes": 3604, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js": { - "bytes": 4007, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_gpu.js": { - "bytes": 1939, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_packed_gpu.js": { - "bytes": 1981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_gpu.js": { - "bytes": 1319, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_packed_gpu.js": { - "bytes": 1481, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_gpu.js": { - "bytes": 2068, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_packed_gpu.js": { - "bytes": 3424, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_util.js": { - "bytes": 9722, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_context.js": { - "bytes": 20008, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/canvas_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js": { - "bytes": 42762, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_math.js": { - "bytes": 6749, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js": { - "bytes": 2188, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js": { - "bytes": 1279, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/pack_gpu.js": { - "bytes": 3484, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/reshape_packed_gpu.js": { - "bytes": 2441, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/texture_manager.js": { - "bytes": 10014, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js": { - "bytes": 1623, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js": { - "bytes": 2076, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/unpack_gpu.js": { - "bytes": 1600, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/backend_webgl.js": { - "bytes": 37513, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/flags_webgl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/canvas_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_context.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_math.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pack_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/reshape_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/texture_manager.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unpack_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/version.js": { - "bytes": 175, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl.js": { - "bytes": 1300, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/backend_webgl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/canvas_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_context.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/base.js": { - "bytes": 1291, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/backend_webgl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js": { - "bytes": 1400, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js": { - "bytes": 3376, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js": { - "bytes": 2158, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LeakyRelu.js": { - "bytes": 1839, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prelu.js": { - "bytes": 1583, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js": { - "bytes": 7293, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LeakyRelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/mulmat_packed_gpu.js": { - "bytes": 3892, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_complex_gpu.js": { - "bytes": 1716, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multiply.js": { - "bytes": 3806, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_complex_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_complex_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reshape.js": { - "bytes": 1549, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/reshape_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js": { - "bytes": 1932, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/mean_gpu.js": { - "bytes": 3070, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/reduce_gpu.js": { - "bytes": 5367, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js": { - "bytes": 2410, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/mean_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/reduce_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_gpu.js": { - "bytes": 1842, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_packed_gpu.js": { - "bytes": 2399, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js": { - "bytes": 1272, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum_impl.js": { - "bytes": 2518, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum.js": { - "bytes": 1101, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js": { - "bytes": 1856, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul_impl.js": { - "bytes": 6611, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/mulmat_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multiply.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/_FusedMatMul.js": { - "bytes": 1394, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Abs.js": { - "bytes": 1835, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acos.js": { - "bytes": 1159, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acosh.js": { - "bytes": 1169, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Add.js": { - "bytes": 1200, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_gpu.js": { - "bytes": 1529, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_packed_gpu.js": { - "bytes": 1608, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AddN.js": { - "bytes": 2100, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/All.js": { - "bytes": 2462, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Any.js": { - "bytes": 2462, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_gpu.js": { - "bytes": 1856, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_packed_gpu.js": { - "bytes": 5806, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/arg_min_max.js": { - "bytes": 3614, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMax.js": { - "bytes": 1818, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/arg_min_max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMin.js": { - "bytes": 1818, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/arg_min_max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asin.js": { - "bytes": 1159, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asinh.js": { - "bytes": 1141, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan.js": { - "bytes": 1118, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan2.js": { - "bytes": 1357, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atanh.js": { - "bytes": 1194, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js": { - "bytes": 14900, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool.js": { - "bytes": 1941, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3D.js": { - "bytes": 1448, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/avg_pool_backprop_gpu.js": { - "bytes": 5906, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3DGrad.js": { - "bytes": 1513, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/avg_pool_backprop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPoolGrad.js": { - "bytes": 1542, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/avg_pool_backprop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul.js": { - "bytes": 1200, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_gpu.js": { - "bytes": 2116, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_packed_gpu.js": { - "bytes": 2153, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchNorm.js": { - "bytes": 2481, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_gpu.js": { - "bytes": 2599, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_packed_gpu.js": { - "bytes": 3373, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js": { - "bytes": 3833, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchToSpaceND.js": { - "bytes": 2612, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Bincount.js": { - "bytes": 1366, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NotEqual.js": { - "bytes": 1099, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js": { - "bytes": 1160, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/int.js": { - "bytes": 1075, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cast.js": { - "bytes": 2920, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NotEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/int.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Ceil.js": { - "bytes": 1146, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_gpu.js": { - "bytes": 1585, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_packed_gpu.js": { - "bytes": 1683, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ClipByValue.js": { - "bytes": 1509, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/complex_abs_gpu.js": { - "bytes": 1358, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ComplexAbs.js": { - "bytes": 1809, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/complex_abs_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_gpu.js": { - "bytes": 1993, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_packed_gpu.js": { - "bytes": 4445, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Imag.js": { - "bytes": 1160, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat_impl.js": { - "bytes": 5062, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat.js": { - "bytes": 1772, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu.js": { - "bytes": 11615, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/im2col_packed_gpu.js": { - "bytes": 3148, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D_impl.js": { - "bytes": 9845, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/im2col_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/mulmat_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D.js": { - "bytes": 2312, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu.js": { - "bytes": 9150, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropFilter.js": { - "bytes": 1597, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropInput.js": { - "bytes": 1586, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3D.js": { - "bytes": 1329, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropFilterV2.js": { - "bytes": 1452, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropInputV2.js": { - "bytes": 1452, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cos.js": { - "bytes": 1088, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cosh.js": { - "bytes": 1085, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/crop_and_resize_gpu.js": { - "bytes": 4536, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/CropAndResize.js": { - "bytes": 1373, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/crop_and_resize_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/cumsum_gpu.js": { - "bytes": 2522, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cumsum.js": { - "bytes": 3156, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/cumsum_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DenseBincount.js": { - "bytes": 1919, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/depth_to_space_gpu.js": { - "bytes": 2578, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthToSpace.js": { - "bytes": 1978, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/depth_to_space_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu_depthwise.js": { - "bytes": 4110, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_packed_gpu_depthwise.js": { - "bytes": 13245, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNative.js": { - "bytes": 2154, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu_depthwise.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_packed_gpu_depthwise.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu_depthwise.js": { - "bytes": 4214, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js": { - "bytes": 1617, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu_depthwise.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropInput.js": { - "bytes": 1622, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu_depthwise.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/diag_gpu.js": { - "bytes": 1076, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Diag.js": { - "bytes": 1550, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/diag_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/dilation_gpu.js": { - "bytes": 2261, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Dilation2D.js": { - "bytes": 1618, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/dilation_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Elu.js": { - "bytes": 1345, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/EluGrad.js": { - "bytes": 1599, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Equal.js": { - "bytes": 1157, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Erf.js": { - "bytes": 1600, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Exp.js": { - "bytes": 1141, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ExpandDims.js": { - "bytes": 1551, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Expm1.js": { - "bytes": 1162, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/fft_gpu.js": { - "bytes": 2483, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT_impl.js": { - "bytes": 2453, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/fft_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT.js": { - "bytes": 1069, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/fill_gpu.js": { - "bytes": 1362, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Fill.js": { - "bytes": 1576, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/fill_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/flip_left_right_gpu.js": { - "bytes": 1462, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FlipLeftRight.js": { - "bytes": 1250, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/flip_left_right_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Floor.js": { - "bytes": 1159, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FloorDiv.js": { - "bytes": 2123, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_gpu.js": { - "bytes": 1678, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_packed_gpu.js": { - "bytes": 2093, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels.js": { - "bytes": 2870, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedConv2D.js": { - "bytes": 3694, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedDepthwiseConv2D.js": { - "bytes": 3368, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu_depthwise.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_packed_gpu_depthwise.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_nd_gpu.js": { - "bytes": 961, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherNd.js": { - "bytes": 2073, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_nd_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_gpu.js": { - "bytes": 1729, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherV2.js": { - "bytes": 2943, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Greater.js": { - "bytes": 1286, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GreaterEqual.js": { - "bytes": 1254, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IFFT.js": { - "bytes": 1074, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsFinite.js": { - "bytes": 1113, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsInf.js": { - "bytes": 1075, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsNaN.js": { - "bytes": 1075, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Less.js": { - "bytes": 1247, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LessEqual.js": { - "bytes": 1223, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LinSpace.js": { - "bytes": 1275, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log.js": { - "bytes": 1463, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log1p.js": { - "bytes": 1055, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalAnd.js": { - "bytes": 1310, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalNot.js": { - "bytes": 1103, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalOr.js": { - "bytes": 1302, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_gpu.js": { - "bytes": 2121, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_packed_gpu.js": { - "bytes": 3901, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRN.js": { - "bytes": 1438, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_grad_gpu.js": { - "bytes": 2802, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRNGrad.js": { - "bytes": 1306, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_grad_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max_impl.js": { - "bytes": 1488, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max.js": { - "bytes": 3361, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Maximum.js": { - "bytes": 1548, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool.js": { - "bytes": 1939, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3D.js": { - "bytes": 1446, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/max_pool_backprop_gpu.js": { - "bytes": 6262, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3DGrad.js": { - "bytes": 1865, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/max_pool_backprop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolGrad.js": { - "bytes": 1949, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/max_pool_backprop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax_impl.js": { - "bytes": 1212, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax.js": { - "bytes": 1855, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean_impl.js": { - "bytes": 1493, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean.js": { - "bytes": 3117, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Min.js": { - "bytes": 2471, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Minimum.js": { - "bytes": 1548, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_gpu.js": { - "bytes": 2366, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_packed_gpu.js": { - "bytes": 4761, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MirrorPad.js": { - "bytes": 1449, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mod.js": { - "bytes": 1305, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/multinomial_gpu.js": { - "bytes": 1729, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RealDiv.js": { - "bytes": 1695, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sub.js": { - "bytes": 1180, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softmax.js": { - "bytes": 2372, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RealDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multinomial.js": { - "bytes": 1711, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/multinomial_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softmax.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Neg.js": { - "bytes": 1782, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV3.js": { - "bytes": 1721, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV4.js": { - "bytes": 1868, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV5.js": { - "bytes": 2069, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/onehot_gpu.js": { - "bytes": 1187, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OneHot.js": { - "bytes": 1717, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/onehot_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ZerosLike.js": { - "bytes": 1979, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OnesLike.js": { - "bytes": 2132, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ZerosLike.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pack.js": { - "bytes": 1959, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ExpandDims.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_gpu.js": { - "bytes": 2143, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_packed_gpu.js": { - "bytes": 2879, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/PadV2.js": { - "bytes": 1389, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pow.js": { - "bytes": 1985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prod.js": { - "bytes": 2926, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Range.js": { - "bytes": 1188, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reciprocal.js": { - "bytes": 1090, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu.js": { - "bytes": 1443, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu6.js": { - "bytes": 1478, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_gpu.js": { - "bytes": 3080, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_packed_gpu.js": { - "bytes": 5043, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinear.js": { - "bytes": 1638, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_packed_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_backprop_gpu.js": { - "bytes": 4957, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinearGrad.js": { - "bytes": 1347, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_backprop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_gpu.js": { - "bytes": 2721, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighbor.js": { - "bytes": 1459, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_backprop_gpu.js": { - "bytes": 4552, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighborGrad.js": { - "bytes": 1409, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_backprop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_gpu.js": { - "bytes": 1804, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_packed_gpu.js": { - "bytes": 3695, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reverse.js": { - "bytes": 1581, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_packed_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/rotate_gpu.js": { - "bytes": 2491, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RotateWithOffset.js": { - "bytes": 1328, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/rotate_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Round.js": { - "bytes": 1370, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Rsqrt.js": { - "bytes": 1140, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/scatter_gpu.js": { - "bytes": 2452, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ScatterNd.js": { - "bytes": 2330, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/scatter_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/select_gpu.js": { - "bytes": 2019, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Select.js": { - "bytes": 1243, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/select_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Selu.js": { - "bytes": 1316, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sigmoid.js": { - "bytes": 1086, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sign.js": { - "bytes": 1111, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sin.js": { - "bytes": 1088, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sinh.js": { - "bytes": 1084, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softplus.js": { - "bytes": 1398, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SpaceToBatchND.js": { - "bytes": 2637, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/PadV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseToDense.js": { - "bytes": 1815, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/scatter_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SplitV.js": { - "bytes": 1594, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sqrt.js": { - "bytes": 1041, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Square.js": { - "bytes": 1056, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SquaredDifference.js": { - "bytes": 1197, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Step.js": { - "bytes": 1247, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/strided_slice_gpu.js": { - "bytes": 1872, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StridedSlice.js": { - "bytes": 2890, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/strided_slice_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tan.js": { - "bytes": 1033, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tanh.js": { - "bytes": 1108, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/tile_gpu.js": { - "bytes": 1899, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tile.js": { - "bytes": 1724, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/tile_gpu.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/TopK.js": { - "bytes": 1415, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unique.js": { - "bytes": 1618, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unpack.js": { - "bytes": 1994, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/segment_gpu.js": { - "bytes": 4884, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/UnsortedSegmentSum.js": { - "bytes": 3728, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/segment_gpu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Range.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tile.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/register_all_kernels.js": { - "bytes": 12202, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/_FusedMatMul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AddN.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/All.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Any.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asinh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3DGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPoolGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchNorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchToSpaceND.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Bincount.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Ceil.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ClipByValue.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ComplexAbs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropFilter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropInput.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropFilterV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropInputV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/CropAndResize.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cumsum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DenseBincount.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthToSpace.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNative.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropInput.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Diag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Dilation2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Elu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/EluGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Erf.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ExpandDims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Expm1.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FlipLeftRight.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Floor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FloorDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedConv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedDepthwiseConv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherNd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GreaterEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IFFT.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Imag.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsFinite.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsInf.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsNaN.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LeakyRelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Less.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LessEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LinSpace.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log1p.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalAnd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalNot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalOr.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRN.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRNGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3DGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Minimum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MirrorPad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multinomial.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multiply.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV3.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV4.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV5.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NotEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OneHot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OnesLike.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/PadV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Range.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RealDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reciprocal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu6.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinear.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinearGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighbor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighborGrad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reverse.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RotateWithOffset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Round.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Rsqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ScatterNd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Select.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Selu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sign.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sinh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softplus.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SpaceToBatchND.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseToDense.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SplitV.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SquaredDifference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Step.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StridedSlice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tile.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/TopK.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unique.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unpack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/UnsortedSegmentSum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ZerosLike.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/index.js": { - "bytes": 845, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/base.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/register_all_kernels.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js": { - "bytes": 1617, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/_FusedMatMul.js": { - "bytes": 3163, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js": { - "bytes": 1517, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Abs.js": { - "bytes": 892, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js": { - "bytes": 3000, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Add.js": { - "bytes": 954, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/AddN.js": { - "bytes": 1663, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Identity.js": { - "bytes": 1179, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Transpose.js": { - "bytes": 3301, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/kernel_utils.js": { - "bytes": 2049, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ArgMax.js": { - "bytes": 2343, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/kernel_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/AvgPool.js": { - "bytes": 2795, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js": { - "bytes": 1385, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/BatchMatMul.js": { - "bytes": 4225, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cast.js": { - "bytes": 1171, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ClipByValue.js": { - "bytes": 1504, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernel_utils/shared.js": { - "bytes": 1290, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Concat.js": { - "bytes": 4118, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernel_utils/shared.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Conv2D.js": { - "bytes": 3095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Conv2DBackpropInput.js": { - "bytes": 3641, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cos.js": { - "bytes": 892, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/CropAndResize.js": { - "bytes": 2825, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cast.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cumsum.js": { - "bytes": 2755, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/DepthToSpace.js": { - "bytes": 2779, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/DepthwiseConv2dNative.js": { - "bytes": 3298, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Equal.js": { - "bytes": 971, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Exp.js": { - "bytes": 892, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ExpandDims.js": { - "bytes": 1554, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Fill.js": { - "bytes": 1111, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FlipLeftRight.js": { - "bytes": 1648, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Floor.js": { - "bytes": 900, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FloorDiv.js": { - "bytes": 975, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedBatchNorm.js": { - "bytes": 1989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedConv2D.js": { - "bytes": 4302, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedDepthwiseConv2D.js": { - "bytes": 4554, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GatherNd.js": { - "bytes": 2110, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GatherV2.js": { - "bytes": 3076, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Greater.js": { - "bytes": 979, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GreaterEqual.js": { - "bytes": 999, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LeakyRelu.js": { - "bytes": 1477, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Less.js": { - "bytes": 967, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LessEqual.js": { - "bytes": 987, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Log.js": { - "bytes": 892, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LogicalAnd.js": { - "bytes": 991, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Max.js": { - "bytes": 2444, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/kernel_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Maximum.js": { - "bytes": 971, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/MaxPool.js": { - "bytes": 2806, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Mean.js": { - "bytes": 3054, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/kernel_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Min.js": { - "bytes": 2551, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/kernel_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Minimum.js": { - "bytes": 971, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Multiply.js": { - "bytes": 974, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Neg.js": { - "bytes": 892, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppression_util.js": { - "bytes": 1321, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV3.js": { - "bytes": 2061, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppression_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV4.js": { - "bytes": 2197, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppression_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV5.js": { - "bytes": 2200, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppression_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NotEqual.js": { - "bytes": 983, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/OneHot.js": { - "bytes": 1583, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/OnesLike.js": { - "bytes": 1118, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Pack.js": { - "bytes": 1697, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ExpandDims.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/PadV2.js": { - "bytes": 2085, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Pow.js": { - "bytes": 955, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Prelu.js": { - "bytes": 1458, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Prod.js": { - "bytes": 2787, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/kernel_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Range.js": { - "bytes": 1274, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/RealDiv.js": { - "bytes": 970, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Relu.js": { - "bytes": 896, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Relu6.js": { - "bytes": 900, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ResizeBilinear.js": { - "bytes": 2396, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cast.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reverse.js": { - "bytes": 1965, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/RotateWithOffset.js": { - "bytes": 2323, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Round.js": { - "bytes": 900, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Rsqrt.js": { - "bytes": 900, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ScatterNd.js": { - "bytes": 2150, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Select.js": { - "bytes": 1767, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sigmoid.js": { - "bytes": 1440, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sin.js": { - "bytes": 892, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Slice.js": { - "bytes": 4226, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernel_utils/shared.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Softmax.js": { - "bytes": 1661, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/SplitV.js": { - "bytes": 1611, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sqrt.js": { - "bytes": 896, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Square.js": { - "bytes": 904, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/SquaredDifference.js": { - "bytes": 1010, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Step.js": { - "bytes": 1398, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/StridedSlice.js": { - "bytes": 4609, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sub.js": { - "bytes": 954, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sum.js": { - "bytes": 2667, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/kernel_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Tanh.js": { - "bytes": 896, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Tile.js": { - "bytes": 1865, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/TopK.js": { - "bytes": 1923, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Unpack.js": { - "bytes": 1768, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ZerosLike.js": { - "bytes": 1124, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/register_all_kernels.js": { - "bytes": 7372, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/_FusedMatMul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/AddN.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ArgMax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/AvgPool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/BatchMatMul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ClipByValue.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Conv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Conv2DBackpropInput.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/CropAndResize.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cumsum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/DepthToSpace.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/DepthwiseConv2dNative.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ExpandDims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Fill.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FlipLeftRight.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Floor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FloorDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedBatchNorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedConv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedDepthwiseConv2D.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GatherNd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GatherV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GreaterEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Identity.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LeakyRelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Less.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LessEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LogicalAnd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/MaxPool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Mean.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Minimum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Multiply.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV3.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV4.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV5.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NotEqual.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/OneHot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/OnesLike.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Pack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/PadV2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Prod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Range.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/RealDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Relu6.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ResizeBilinear.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reverse.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/RotateWithOffset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Round.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Rsqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ScatterNd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Select.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Softmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/SplitV.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/SquaredDifference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Step.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/StridedSlice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Tanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Tile.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/TopK.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Unpack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ZerosLike.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/flags_wasm.js": { - "bytes": 2231, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "empty:path": { - "bytes": 0, - "imports": [] - }, - "empty:worker_threads": { - "bytes": 0, - "imports": [] - }, - "empty:perf_hooks": { - "bytes": 0, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.js": { - "bytes": 74186, - "imports": [ - { - "path": "empty:path", - "kind": "require-call" - }, - { - "path": "empty:path", - "kind": "require-call" - }, - { - "path": "empty:worker_threads", - "kind": "require-call" - }, - { - "path": "empty:path", - "kind": "require-call" - }, - { - "path": "empty:perf_hooks", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.worker.js": { - "bytes": 3441, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm.js": { - "bytes": 28523, - "imports": [ - { - "path": "empty:path", - "kind": "require-call" - }, - { - "path": "empty:path", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/backend_wasm.js": { - "bytes": 13836, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/flags_wasm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.worker.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/version.js": { - "bytes": 175, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/base.js": { - "bytes": 1144, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/flags_wasm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/backend_wasm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/backend_wasm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/version.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/index.js": { - "bytes": 793, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/register_all_kernels.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/base.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/abs.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acos.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acosh.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/add.js": { - "bytes": 934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/all.js": { - "bytes": 960, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/all.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/any.js": { - "bytes": 960, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/any.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_max.js": { - "bytes": 957, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/arg_max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_min.js": { - "bytes": 957, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/arg_min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_scalar.js": { - "bytes": 1179, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_type.js": { - "bytes": 1162, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as1d.js": { - "bytes": 1063, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as2d.js": { - "bytes": 1185, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as3d.js": { - "bytes": 1239, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as4d.js": { - "bytes": 1304, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as5d.js": { - "bytes": 1371, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asin.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asinh.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan2.js": { - "bytes": 944, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/atan2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atanh.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/avg_pool.js": { - "bytes": 1052, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batch_to_space_nd.js": { - "bytes": 1027, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batchnorm.js": { - "bytes": 1054, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/broadcast_to.js": { - "bytes": 984, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_to.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cast.js": { - "bytes": 997, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ceil.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/clip_by_value.js": { - "bytes": 1033, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/concat.js": { - "bytes": 1028, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv1d.js": { - "bytes": 1063, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d_transpose.js": { - "bytes": 1110, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d.js": { - "bytes": 1067, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cos.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cosh.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cumsum.js": { - "bytes": 995, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cumsum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depth_to_space.js": { - "bytes": 1023, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depth_to_space.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depthwise_conv2d.js": { - "bytes": 1130, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dilation2d.js": { - "bytes": 1069, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/dilation2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div_no_nan.js": { - "bytes": 963, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div_no_nan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div.js": { - "bytes": 934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dot.js": { - "bytes": 934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/dot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/elu.js": { - "bytes": 930, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/elu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/equal.js": { - "bytes": 944, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/erf.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/exp.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expand_dims.js": { - "bytes": 977, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expm1.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/fft.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/flatten.js": { - "bytes": 1058, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floor.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floorDiv.js": { - "bytes": 959, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/floorDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/gather.js": { - "bytes": 973, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/gather.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater_equal.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater.js": { - "bytes": 954, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ifft.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/irfft.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_finite.js": { - "bytes": 1002, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_inf.js": { - "bytes": 990, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_nan.js": { - "bytes": 990, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/leaky_relu.js": { - "bytes": 974, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/leaky_relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less_equal.js": { - "bytes": 966, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less.js": { - "bytes": 939, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/local_response_normalization.js": { - "bytes": 1127, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sigmoid.js": { - "bytes": 1010, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_softmax.js": { - "bytes": 1020, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sum_exp.js": { - "bytes": 994, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log_sum_exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log1p.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_and.js": { - "bytes": 971, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_not.js": { - "bytes": 967, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_or.js": { - "bytes": 966, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_or.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_xor.js": { - "bytes": 971, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_xor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mat_mul.js": { - "bytes": 999, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max_pool.js": { - "bytes": 1052, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max.js": { - "bytes": 960, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/maximum.js": { - "bytes": 954, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mean.js": { - "bytes": 965, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mean.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/min.js": { - "bytes": 960, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/minimum.js": { - "bytes": 954, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/minimum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mirror_pad.js": { - "bytes": 992, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mirror_pad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mod.js": { - "bytes": 934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mul.js": { - "bytes": 934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/neg.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/norm.js": { - "bytes": 1025, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/not_equal.js": { - "bytes": 961, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/not_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/one_hot.js": { - "bytes": 1005, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/one_hot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ones_like.js": { - "bytes": 1002, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pad.js": { - "bytes": 978, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pool.js": { - "bytes": 1049, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pow.js": { - "bytes": 938, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prelu.js": { - "bytes": 952, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prod.js": { - "bytes": 965, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/prod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reciprocal.js": { - "bytes": 1009, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu.js": { - "bytes": 935, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu6.js": { - "bytes": 940, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/relu6.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape_as.js": { - "bytes": 1135, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape.js": { - "bytes": 962, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_bilinear.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_bilinear.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_nearest_neighbor.js": { - "bytes": 1132, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_nearest_neighbor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reverse.js": { - "bytes": 960, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rfft.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/round.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rsqrt.js": { - "bytes": 989, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/selu.js": { - "bytes": 935, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/selu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/separable_conv2d.js": { - "bytes": 1146, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/separable_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sigmoid.js": { - "bytes": 997, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sign.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sin.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sinh.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/slice.js": { - "bytes": 1013, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softmax.js": { - "bytes": 1005, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softplus.js": { - "bytes": 1001, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/space_to_batch_nd.js": { - "bytes": 1033, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/split.js": { - "bytes": 984, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/split.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sqrt.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/square.js": { - "bytes": 993, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squared_difference.js": { - "bytes": 1006, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/squared_difference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squeeze.js": { - "bytes": 960, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/stack.js": { - "bytes": 1054, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/stack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/step.js": { - "bytes": 997, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/strided_slice.js": { - "bytes": 1184, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sub.js": { - "bytes": 934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sum.js": { - "bytes": 960, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tan.js": { - "bytes": 981, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tanh.js": { - "bytes": 985, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tile.js": { - "bytes": 945, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tile.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_bool.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_float.js": { - "bytes": 1103, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_int.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/topk.js": { - "bytes": 955, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/topk.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/transpose.js": { - "bytes": 970, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unique.js": { - "bytes": 955, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unique.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unsorted_segment_sum.js": { - "bytes": 1073, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unsorted_segment_sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unstack.js": { - "bytes": 960, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/where.js": { - "bytes": 966, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/zeros_like.js": { - "bytes": 1006, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/register_all_chained_ops.js": { - "bytes": 3456, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/abs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/all.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/any.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_type.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as3d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as4d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as5d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asinh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan2.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/avg_pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batch_to_space_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batchnorm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/broadcast_to.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ceil.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/clip_by_value.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/concat.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv1d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d_transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cumsum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depth_to_space.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depthwise_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dilation2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div_no_nan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/elu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/erf.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expand_dims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expm1.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/fft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/flatten.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floorDiv.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/gather.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ifft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/irfft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_finite.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_inf.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_nan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/leaky_relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/local_response_normalization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_softmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sum_exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log1p.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_and.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_not.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_or.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_xor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mat_mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max_pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mean.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/min.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/minimum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mirror_pad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/norm.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/not_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/one_hot.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ones_like.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prelu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prod.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reciprocal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu6.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape_as.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_bilinear.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_nearest_neighbor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reverse.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rfft.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/round.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rsqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/selu.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/separable_conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sigmoid.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sign.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sin.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sinh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softmax.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softplus.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/space_to_batch_nd.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/split.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squared_difference.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squeeze.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/stack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/step.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/strided_slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tan.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tanh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tile.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_bool.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_float.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_int.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/topk.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unique.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unsorted_segment_sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unstack.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/step.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js": { - "bytes": 1390, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js": { - "bytes": 1278, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js": { - "bytes": 1766, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js": { - "bytes": 1031, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js": { - "bytes": 1023, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js": { - "bytes": 1023, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js": { - "bytes": 1233, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js": { - "bytes": 1326, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js": { - "bytes": 2069, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js": { - "bytes": 1143, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js": { - "bytes": 1195, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d_grad.js": { - "bytes": 3355, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js": { - "bytes": 1192, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d_grad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_grad.js": { - "bytes": 3017, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js": { - "bytes": 1123, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_grad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js": { - "bytes": 1813, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js": { - "bytes": 1092, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js": { - "bytes": 1689, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js": { - "bytes": 907, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js": { - "bytes": 1041, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js": { - "bytes": 1395, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js": { - "bytes": 968, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js": { - "bytes": 1293, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/split.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js": { - "bytes": 1671, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_filter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_input.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js": { - "bytes": 1439, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_filter.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_filter.js": { - "bytes": 3054, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js": { - "bytes": 1632, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_filter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_input.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js": { - "bytes": 1127, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sin.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sinh.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js": { - "bytes": 1480, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cumsum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js": { - "bytes": 2992, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_filter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_input.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js": { - "bytes": 1359, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js": { - "bytes": 1066, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js": { - "bytes": 1172, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js": { - "bytes": 998, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js": { - "bytes": 1058, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js": { - "bytes": 1043, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js": { - "bytes": 961, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js": { - "bytes": 2068, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js": { - "bytes": 3748, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/rsqrt.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/tile.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js": { - "bytes": 2934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unsorted_segment_sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js": { - "bytes": 1078, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js": { - "bytes": 968, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js": { - "bytes": 1081, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js": { - "bytes": 1069, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js": { - "bytes": 1069, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js": { - "bytes": 1295, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js": { - "bytes": 1046, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js": { - "bytes": 1049, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js": { - "bytes": 1377, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization_backprop.js": { - "bytes": 1225, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js": { - "bytes": 1242, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization_backprop.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js": { - "bytes": 1439, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js": { - "bytes": 1392, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js": { - "bytes": 1280, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d_grad.js": { - "bytes": 3879, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js": { - "bytes": 1225, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d_grad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_grad.js": { - "bytes": 3091, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js": { - "bytes": 1176, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_grad.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js": { - "bytes": 1811, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ones.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js": { - "bytes": 1342, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js": { - "bytes": 1280, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js": { - "bytes": 1265, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js": { - "bytes": 1894, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/floor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js": { - "bytes": 1896, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js": { - "bytes": 934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js": { - "bytes": 1052, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js": { - "bytes": 973, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js": { - "bytes": 1071, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js": { - "bytes": 1249, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js": { - "bytes": 2459, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/log.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js": { - "bytes": 1703, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js": { - "bytes": 2076, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js": { - "bytes": 1111, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js": { - "bytes": 1195, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/step.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/step.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js": { - "bytes": 1030, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js": { - "bytes": 1277, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js": { - "bytes": 1319, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/engine.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js": { - "bytes": 1109, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js": { - "bytes": 1069, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js": { - "bytes": 1129, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js": { - "bytes": 1446, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js": { - "bytes": 1666, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/selu_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js": { - "bytes": 1112, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js": { - "bytes": 957, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js": { - "bytes": 1088, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js": { - "bytes": 1095, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cosh.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js": { - "bytes": 1737, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js": { - "bytes": 1256, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js": { - "bytes": 1067, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js": { - "bytes": 1098, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js": { - "bytes": 1007, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js": { - "bytes": 1137, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js": { - "bytes": 1069, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js": { - "bytes": 1276, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js": { - "bytes": 1052, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js": { - "bytes": 1805, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js": { - "bytes": 1453, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ones.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js": { - "bytes": 1083, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/cos.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/div.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js": { - "bytes": 1140, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/square.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js": { - "bytes": 3235, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/add.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js": { - "bytes": 1191, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js": { - "bytes": 1049, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/stack.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js": { - "bytes": 2289, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/gather.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ones.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/where.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js": { - "bytes": 977, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/register_all_gradients.js": { - "bytes": 9512, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js": { - "bytes": 868, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/errors.js": { - "bytes": 2147, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js": { - "bytes": 17710, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/constraints.js": { - "bytes": 4756, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_constraints.js": { - "bytes": 1434, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/constraints.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/keras_format/common.js": { - "bytes": 725, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-layers/dist/common.js": { - "bytes": 3812, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/keras_format/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js": { - "bytes": 3576, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js": { - "bytes": 22373, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/keras_format/initializer_config.js": { - "bytes": 989, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-layers/dist/initializers.js": { - "bytes": 16324, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/keras_format/initializer_config.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_initializers.js": { - "bytes": 6333, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/backend/state.js": { - "bytes": 943, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js": { - "bytes": 2197, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/variable_utils.js": { - "bytes": 834, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-layers/dist/variables.js": { - "bytes": 10561, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/state.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js": { - "bytes": 48195, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/state.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/variable_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/variables.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js": { - "bytes": 4599, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/state.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/logs.js": { - "bytes": 1684, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js": { - "bytes": 16830, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/logs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js": { - "bytes": 1265, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/losses.js": { - "bytes": 9345, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/metrics.js": { - "bytes": 5481, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/losses.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/losses.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/losses.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/optimizers.js": { - "bytes": 1516, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/user_defined_metadata.js": { - "bytes": 4150, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/layer_utils.js": { - "bytes": 6924, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/variable_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/serialization_utils.js": { - "bytes": 4594, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/version.js": { - "bytes": 175, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/executor.js": { - "bytes": 16550, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/container.js": { - "bytes": 50723, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/state.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/serialization_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/variables.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/training_utils.js": { - "bytes": 6421, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/training_dataset.js": { - "bytes": 16648, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/logs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/training_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/training_tensors.js": { - "bytes": 18140, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/logs.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/training.js": { - "bytes": 71105, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/losses.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/metrics.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/optimizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/user_defined_metadata.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/layer_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/serialization_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/version.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/container.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/training_dataset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/training_tensors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/training_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/models.js": { - "bytes": 38442, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/state.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/training.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/serialization_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports.js": { - "bytes": 9603, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/training.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/models.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/activations.js": { - "bytes": 6280, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js": { - "bytes": 3423, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/advanced_activations.js": { - "bytes": 7480, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/activations.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/constraints.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/conv_utils.js": { - "bytes": 2570, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional.js": { - "bytes": 36500, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/activations.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/constraints.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/conv_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_depthwise.js": { - "bytes": 6317, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/constraints.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/conv_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/recurrent.js": { - "bytes": 58717, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/activations.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/constraints.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/variables.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_recurrent.js": { - "bytes": 15963, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/conv_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/recurrent.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/core.js": { - "bytes": 17087, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/activations.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/constraints.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/embeddings.js": { - "bytes": 6051, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/constraints.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/merge.js": { - "bytes": 35145, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/losses.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/noise.js": { - "bytes": 5527, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/normalization.js": { - "bytes": 17934, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/constraints.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/padding.js": { - "bytes": 7082, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/pooling.js": { - "bytes": 18271, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/conv_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/wrappers.js": { - "bytes": 19378, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/keras_format/common.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/recurrent.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_layers.js": { - "bytes": 54662, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/exports.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/advanced_activations.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_depthwise.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_recurrent.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/core.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/embeddings.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/merge.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/noise.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/normalization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/padding.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/pooling.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/recurrent.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/wrappers.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_metrics.js": { - "bytes": 8233, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/losses.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/metrics.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_models.js": { - "bytes": 367, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/models.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_regularizers.js": { - "bytes": 1315, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/callbacks.js": { - "bytes": 5457, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/training.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/errors.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/logs.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-layers/dist/index.js": { - "bytes": 1553, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/register_all_chained_ops.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/register_all_gradients.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/exports_constraints.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/exports_initializers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/exports_layers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/exports_metrics.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/exports_models.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/exports_regularizers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/callbacks.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/engine/training.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/exports.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/layers/recurrent.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/models.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/variables.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/version.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/data/compiled_api.js": { - "bytes": 3104, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/custom_op/register.js": { - "bytes": 2321, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js": { - "bytes": 5247, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/arithmetic.js": { - "bytes": 6259, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/basic_math.js": { - "bytes": 13688, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/control.js": { - "bytes": 12318, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/convolution.js": { - "bytes": 13326, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/creation.js": { - "bytes": 5989, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/dynamic.js": { - "bytes": 3703, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/evaluation.js": { - "bytes": 1466, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/graph.js": { - "bytes": 3589, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/hash_table.js": { - "bytes": 3450, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/image.js": { - "bytes": 2534, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/logical.js": { - "bytes": 4631, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/matrices.js": { - "bytes": 4421, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/normalization.js": { - "bytes": 4928, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/reduction.js": { - "bytes": 4459, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/slice_join.js": { - "bytes": 7304, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/spectral.js": { - "bytes": 1671, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/transformation.js": { - "bytes": 4411, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/operation_mapper.js": { - "bytes": 19017, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/data/compiled_api.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/custom_op/register.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/arithmetic.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/basic_math.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/control.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/convolution.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/creation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/dynamic.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/evaluation.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/graph.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/hash_table.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/image.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/logical.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/matrices.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/normalization.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/reduction.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/slice_join.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/spectral.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/transformation.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/custom_op/node_value_impl.js": { - "bytes": 3604, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/operation_mapper.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js": { - "bytes": 973, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/arithmetic_executor.js": { - "bytes": 3101, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/basic_math_executor.js": { - "bytes": 5820, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_utils.js": { - "bytes": 1473, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_array.js": { - "bytes": 10172, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_list.js": { - "bytes": 13319, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/control_executor.js": { - "bytes": 15597, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_array.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_list.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/convolution_executor.js": { - "bytes": 10307, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/creation_executor.js": { - "bytes": 4282, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/dynamic_executor.js": { - "bytes": 3446, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/evaluation_executor.js": { - "bytes": 1966, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/graph_executor.js": { - "bytes": 3301, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/hash_table.js": { - "bytes": 4644, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/hash_table_executor.js": { - "bytes": 2437, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/hash_table.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/image_executor.js": { - "bytes": 2762, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/logical_executor.js": { - "bytes": 2818, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/matrices_executor.js": { - "bytes": 3081, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/normalization_executor.js": { - "bytes": 2823, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/reduction_executor.js": { - "bytes": 4610, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/slice_join_executor.js": { - "bytes": 7123, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/spectral_executor.js": { - "bytes": 1576, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/transformation_executor.js": { - "bytes": 3483, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/ops/ops_for_converter.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/operation_executor.js": { - "bytes": 5144, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/custom_op/node_value_impl.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/custom_op/register.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/arithmetic_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/basic_math_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/control_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/convolution_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/creation_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/dynamic_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/evaluation_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/graph_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/hash_table_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/image_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/logical_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/matrices_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/normalization_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/reduction_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/slice_join_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/spectral_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/transformation_executor.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/execution_context.js": { - "bytes": 4710, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/model_analysis.js": { - "bytes": 5211, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/graph_executor.js": { - "bytes": 23876, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/operation_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/execution_context.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/model_analysis.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/resource_manager.js": { - "bytes": 1746, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.js": { - "bytes": 16253, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/operation_mapper.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/graph_executor.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/resource_manager.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-converter/dist/version.js": { - "bytes": 175, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-converter/dist/index.js": { - "bytes": 939, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/operations/custom_op/register.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/version.js", - "kind": "import-statement" - } - ] - }, - "node_modules/seedrandom/lib/alea.js": { - "bytes": 3238, - "imports": [] - }, - "node_modules/seedrandom/lib/xor128.js": { - "bytes": 1748, - "imports": [] - }, - "node_modules/seedrandom/lib/xorwow.js": { - "bytes": 1919, - "imports": [] - }, - "node_modules/seedrandom/lib/xorshift7.js": { - "bytes": 2418, - "imports": [] - }, - "node_modules/seedrandom/lib/xor4096.js": { - "bytes": 4559, - "imports": [] - }, - "node_modules/seedrandom/lib/tychei.js": { - "bytes": 2525, - "imports": [] - }, - "node_modules/seedrandom/seedrandom.js": { - "bytes": 8602, - "imports": [ - { - "path": "empty:crypto", - "kind": "require-call" - } - ] - }, - "node_modules/seedrandom/index.js": { - "bytes": 2110, - "imports": [ - { - "path": "node_modules/seedrandom/lib/alea.js", - "kind": "require-call" - }, - { - "path": "node_modules/seedrandom/lib/xor128.js", - "kind": "require-call" - }, - { - "path": "node_modules/seedrandom/lib/xorwow.js", - "kind": "require-call" - }, - { - "path": "node_modules/seedrandom/lib/xorshift7.js", - "kind": "require-call" - }, - { - "path": "node_modules/seedrandom/lib/xor4096.js", - "kind": "require-call" - }, - { - "path": "node_modules/seedrandom/lib/tychei.js", - "kind": "require-call" - }, - { - "path": "node_modules/seedrandom/seedrandom.js", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/util/deep_map.js": { - "bytes": 9229, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/util/deep_clone.js": { - "bytes": 1247, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/deep_map.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/util/ring_buffer.js": { - "bytes": 5166, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-data/dist/util/growing_ring_buffer.js": { - "bytes": 1916, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/ring_buffer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js": { - "bytes": 39500, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/seedrandom/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/deep_clone.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/deep_map.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/growing_ring_buffer.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/ring_buffer.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/dataset.js": { - "bytes": 25380, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/seedrandom/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/deep_map.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/datasets/text_line_dataset.js": { - "bytes": 1618, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-data/dist/dataset.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/datasets/csv_dataset.js": { - "bytes": 16838, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/dataset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/datasets/text_line_dataset.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/microphone_iterator.js": { - "bytes": 8149, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/webcam_iterator.js": { - "bytes": 7903, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/datasource.js": { - "bytes": 1196, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/string_iterator.js": { - "bytes": 3914, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js", - "kind": "import-statement" - } - ] - }, - "empty:/home/vlado/dev/human/node_modules/string_decoder/lib/string_decoder.js": { - "bytes": 0, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/byte_chunk_iterator.js": { - "bytes": 4634, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/string_iterator.js", - "kind": "import-statement" - }, - { - "path": "empty:/home/vlado/dev/human/node_modules/string_decoder/lib/string_decoder.js", - "kind": "require-call" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/file_chunk_iterator.js": { - "bytes": 4215, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/byte_chunk_iterator.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/url_chunk_iterator.js": { - "bytes": 2158, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/file_chunk_iterator.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/util/source_util.js": { - "bytes": 983, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-data/dist/sources/file_data_source.js": { - "bytes": 1979, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/datasource.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/file_chunk_iterator.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/source_util.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/sources/url_data_source.js": { - "bytes": 2026, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-data/dist/datasource.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/url_chunk_iterator.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/util/source_util.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/sources/file_data_source.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/readers.js": { - "bytes": 8952, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-data/dist/dataset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/datasets/csv_dataset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/microphone_iterator.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/iterators/webcam_iterator.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/sources/url_data_source.js", - "kind": "import-statement" - } - ] - }, - "node_modules/@tensorflow/tfjs-data/dist/version.js": { - "bytes": 175, - "imports": [] - }, - "node_modules/@tensorflow/tfjs-data/dist/index.js": { - "bytes": 1145, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs-data/dist/dataset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/datasets/csv_dataset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/datasets/text_line_dataset.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/readers.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/sources/file_data_source.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/sources/url_data_source.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/version.js", - "kind": "import-statement" - } - ] - }, - "src/tfjs/tf-browser.ts": { - "bytes": 1784, - "imports": [ - { - "path": "node_modules/@tensorflow/tfjs/package.json", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/package.json", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/package.json", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/package.json", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/package.json", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-core/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-layers/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-converter/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-data/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-cpu/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-webgl/dist/index.js", - "kind": "import-statement" - }, - { - "path": "node_modules/@tensorflow/tfjs-backend-wasm/dist/index.js", - "kind": "import-statement" - } - ] } }, "outputs": { @@ -25478,4268 +10,17 @@ "imports": [], "exports": [], "inputs": {}, - "bytes": 1206940 + "bytes": 189 }, "dist/tfjs.esm.js": { "imports": [], - "exports": [ - "Abs", - "Acos", - "Acosh", - "AdadeltaOptimizer", - "AdagradOptimizer", - "AdamOptimizer", - "AdamaxOptimizer", - "Add", - "AddN", - "All", - "Any", - "ArgMax", - "ArgMin", - "Asin", - "Asinh", - "Atan", - "Atan2", - "Atanh", - "AvgPool", - "AvgPool3D", - "AvgPool3DGrad", - "AvgPoolGrad", - "BackendWasm", - "BatchMatMul", - "BatchToSpaceND", - "Bincount", - "BroadcastTo", - "Callback", - "CallbackList", - "Cast", - "Ceil", - "ClipByValue", - "Complex", - "ComplexAbs", - "Concat", - "Conv2D", - "Conv2DBackpropFilter", - "Conv2DBackpropInput", - "Conv3D", - "Conv3DBackpropFilterV2", - "Conv3DBackpropInputV2", - "Cos", - "Cosh", - "CropAndResize", - "Cumsum", - "CustomCallback", - "DataStorage", - "DenseBincount", - "DepthToSpace", - "DepthwiseConv2dNative", - "DepthwiseConv2dNativeBackpropFilter", - "DepthwiseConv2dNativeBackpropInput", - "Diag", - "Dilation2D", - "Dilation2DBackpropFilter", - "Dilation2DBackpropInput", - "ENV", - "EarlyStopping", - "Elu", - "EluGrad", - "Environment", - "Equal", - "Erf", - "Exp", - "ExpandDims", - "Expm1", - "FFT", - "Fill", - "FlipLeftRight", - "Floor", - "FloorDiv", - "FromPixels", - "FusedBatchNorm", - "FusedConv2D", - "FusedDepthwiseConv2D", - "GPGPUContext", - "GatherNd", - "GatherV2", - "GraphModel", - "Greater", - "GreaterEqual", - "History", - "IFFT", - "Identity", - "Imag", - "InputSpec", - "IsFinite", - "IsInf", - "IsNan", - "KernelBackend", - "LRN", - "LRNGrad", - "LayerVariable", - "LayersModel", - "LeakyRelu", - "Less", - "LessEqual", - "LinSpace", - "Log", - "Log1p", - "LogSoftmax", - "LogicalAnd", - "LogicalNot", - "LogicalOr", - "MathBackendCPU", - "MathBackendWebGL", - "Max", - "MaxPool", - "MaxPool3D", - "MaxPool3DGrad", - "MaxPoolGrad", - "MaxPoolWithArgmax", - "Maximum", - "Mean", - "Min", - "Minimum", - "MirrorPad", - "Mod", - "MomentumOptimizer", - "Multinomial", - "Multiply", - "Neg", - "NonMaxSuppressionV3", - "NonMaxSuppressionV4", - "NonMaxSuppressionV5", - "NotEqual", - "OP_SCOPE_SUFFIX", - "OneHot", - "OnesLike", - "Optimizer", - "Pack", - "PadV2", - "Pool", - "Pow", - "Prelu", - "Prod", - "RMSPropOptimizer", - "RNN", - "Range", - "Rank", - "Real", - "RealDiv", - "Reciprocal", - "Reduction", - "Relu", - "Relu6", - "Reshape", - "ResizeBilinear", - "ResizeBilinearGrad", - "ResizeNearestNeighbor", - "ResizeNearestNeighborGrad", - "Reverse", - "RotateWithOffset", - "Round", - "Rsqrt", - "SGDOptimizer", - "ScatterNd", - "Select", - "Selu", - "Sequential", - "Sigmoid", - "Sign", - "Sin", - "Sinh", - "Slice", - "Softmax", - "Softplus", - "SpaceToBatchND", - "SparseToDense", - "SplitV", - "Sqrt", - "Square", - "SquaredDifference", - "Step", - "StridedSlice", - "Sub", - "Sum", - "SymbolicTensor", - "Tan", - "Tanh", - "Tensor", - "TensorBuffer", - "Tile", - "TopK", - "Transpose", - "Unique", - "Unpack", - "UnsortedSegmentSum", - "Variable", - "ZerosLike", - "_FusedMatMul", - "abs", - "acos", - "acosh", - "add", - "addN", - "all", - "any", - "argMax", - "argMin", - "asin", - "asinh", - "atan", - "atan2", - "atanh", - "avgPool", - "avgPool3d", - "backend", - "backend_util", - "basicLSTMCell", - "batchNorm", - "batchNorm2d", - "batchNorm3d", - "batchNorm4d", - "batchToSpaceND", - "bincount", - "booleanMaskAsync", - "broadcastTo", - "browser", - "buffer", - "callbacks", - "cast", - "ceil", - "clipByValue", - "clone", - "complex", - "concat", - "concat1d", - "concat2d", - "concat3d", - "concat4d", - "constraints", - "conv1d", - "conv2d", - "conv2dTranspose", - "conv3d", - "conv3dTranspose", - "copyRegisteredKernels", - "cos", - "cosh", - "cosineWindow", - "cumsum", - "customGrad", - "data", - "denseBincount", - "deprecationWarn", - "depthToSpace", - "depthwiseConv2d", - "deregisterOp", - "device_util", - "diag", - "dilation2d", - "disableDeprecationWarnings", - "dispose", - "disposeVariables", - "div", - "divNoNan", - "dot", - "dropout", - "elu", - "enableDebugMode", - "enableProdMode", - "enclosingPowerOfTwo", - "engine", - "env", - "equal", - "erf", - "exp", - "expandDims", - "expm1", - "eye", - "fft", - "fill", - "findBackend", - "findBackendFactory", - "floor", - "floorDiv", - "forceHalfFloat", - "fused", - "gather", - "gatherND", - "gather_util", - "getBackend", - "getGradient", - "getKernel", - "getKernelsForBackend", - "gpgpu_util", - "grad", - "grads", - "greater", - "greaterEqual", - "ifft", - "imag", - "image", - "inTopKAsync", - "initializers", - "input", - "io", - "irfft", - "isFinite", - "isInf", - "isNaN", - "keep", - "kernel_impls", - "layers", - "leakyRelu", - "less", - "lessEqual", - "linalg", - "linspace", - "loadGraphModel", - "loadLayersModel", - "localResponseNormalization", - "log", - "log1p", - "logSigmoid", - "logSoftmax", - "logSumExp", - "logicalAnd", - "logicalNot", - "logicalOr", - "logicalXor", - "losses", - "matMul", - "math", - "max", - "maxPool", - "maxPool3d", - "maxPoolWithArgmax", - "maximum", - "mean", - "memory", - "metrics", - "min", - "minimum", - "mirrorPad", - "mod", - "model", - "models", - "moments", - "movingAverage", - "mul", - "multiRNNCell", - "multinomial", - "neg", - "nextFrame", - "norm", - "notEqual", - "oneHot", - "ones", - "onesLike", - "op", - "outerProduct", - "pad", - "pad1d", - "pad2d", - "pad3d", - "pad4d", - "pool", - "pow", - "prelu", - "print", - "prod", - "profile", - "rand", - "randomGamma", - "randomNormal", - "randomUniform", - "range", - "ready", - "real", - "reciprocal", - "registerBackend", - "registerCallbackConstructor", - "registerGradient", - "registerKernel", - "registerOp", - "regularizers", - "relu", - "relu6", - "removeBackend", - "reshape", - "reverse", - "reverse1d", - "reverse2d", - "reverse3d", - "reverse4d", - "rfft", - "round", - "rsqrt", - "scalar", - "scatterND", - "scatter_util", - "selu", - "separableConv2d", - "sequential", - "serialization", - "setBackend", - "setPlatform", - "setWasmPath", - "setWasmPaths", - "setWebGLContext", - "setdiff1dAsync", - "shared", - "sigmoid", - "sign", - "signal", - "sin", - "sinh", - "slice", - "slice1d", - "slice2d", - "slice3d", - "slice4d", - "slice_util", - "softmax", - "softplus", - "spaceToBatchND", - "sparseToDense", - "spectral", - "split", - "sqrt", - "square", - "squaredDifference", - "squeeze", - "stack", - "step", - "stridedSlice", - "sub", - "sum", - "sumOutType", - "tan", - "tanh", - "tensor", - "tensor1d", - "tensor2d", - "tensor3d", - "tensor4d", - "tensor5d", - "tensor6d", - "tensor_util", - "test_util", - "tidy", - "tile", - "time", - "topk", - "train", - "transpose", - "truncatedNormal", - "unique", - "unregisterGradient", - "unregisterKernel", - "unsortedSegmentSum", - "unstack", - "upcastType", - "util", - "valueAndGrad", - "valueAndGrads", - "variable", - "variableGrads", - "version", - "version_converter", - "version_core", - "version_cpu", - "version_layers", - "version_wasm", - "version_webgl", - "webgl", - "webgl_util", - "where", - "whereAsync", - "zeros", - "zerosLike" - ], + "exports": [], "inputs": { - "empty:/home/vlado/dev/human/node_modules/node-fetch/browser.js": { - "bytesInOutput": 18 - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/alea.js": { - "bytesInOutput": 995 - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor128.js": { - "bytesInOutput": 760 - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorwow.js": { - "bytesInOutput": 850 - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xorshift7.js": { - "bytesInOutput": 1006 - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/xor4096.js": { - "bytesInOutput": 1169 - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/lib/tychei.js": { - "bytesInOutput": 885 - }, - "empty:crypto": { - "bytesInOutput": 18 - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/seedrandom.js": { - "bytesInOutput": 1620 - }, - "node_modules/@tensorflow/tfjs-core/node_modules/seedrandom/index.js": { - "bytesInOutput": 177 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/alea.js": { - "bytesInOutput": 995 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor128.js": { - "bytesInOutput": 760 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorwow.js": { - "bytesInOutput": 850 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xorshift7.js": { - "bytesInOutput": 1006 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/xor4096.js": { - "bytesInOutput": 1169 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/lib/tychei.js": { - "bytesInOutput": 885 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/seedrandom.js": { - "bytesInOutput": 1620 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/node_modules/seedrandom/index.js": { - "bytesInOutput": 177 - }, - "empty:path": { - "bytesInOutput": 18 - }, - "empty:worker_threads": { - "bytesInOutput": 18 - }, - "empty:perf_hooks": { - "bytesInOutput": 18 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.js": { - "bytesInOutput": 45591 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm.js": { - "bytesInOutput": 18078 - }, - "node_modules/seedrandom/lib/alea.js": { - "bytesInOutput": 992 - }, - "node_modules/seedrandom/lib/xor128.js": { - "bytesInOutput": 760 - }, - "node_modules/seedrandom/lib/xorwow.js": { - "bytesInOutput": 850 - }, - "node_modules/seedrandom/lib/xorshift7.js": { - "bytesInOutput": 1006 - }, - "node_modules/seedrandom/lib/xor4096.js": { - "bytesInOutput": 1169 - }, - "node_modules/seedrandom/lib/tychei.js": { - "bytesInOutput": 885 - }, - "node_modules/seedrandom/seedrandom.js": { - "bytesInOutput": 1646 - }, - "node_modules/seedrandom/index.js": { - "bytesInOutput": 189 - }, - "empty:/home/vlado/dev/human/node_modules/string_decoder/lib/string_decoder.js": { - "bytesInOutput": 18 - }, - "node_modules/@tensorflow/tfjs/package.json": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-core/package.json": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-data/package.json": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-layers/package.json": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-converter/package.json": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/backend.js": { - "bytesInOutput": 956 - }, - "node_modules/@tensorflow/tfjs-core/dist/util_base.js": { - "bytesInOutput": 6291 - }, - "node_modules/@tensorflow/tfjs-core/dist/environment.js": { - "bytesInOutput": 2118 - }, - "node_modules/@tensorflow/tfjs-core/dist/global_util.js": { - "bytesInOutput": 462 - }, - "node_modules/@tensorflow/tfjs-core/dist/kernel_names.js": { - "bytesInOutput": 2294 - }, - "node_modules/@tensorflow/tfjs-core/dist/kernel_registry.js": { - "bytesInOutput": 946 - }, - "node_modules/@tensorflow/tfjs-core/dist/util.js": { - "bytesInOutput": 1966 - }, - "node_modules/@tensorflow/tfjs-core/dist/profiler.js": { - "bytesInOutput": 1214 - }, - "node_modules/@tensorflow/tfjs-core/dist/tape.js": { - "bytesInOutput": 1538 - }, - "node_modules/@tensorflow/tfjs-core/dist/tensor_format.js": { - "bytesInOutput": 1811 - }, - "node_modules/@tensorflow/tfjs-core/dist/tensor.js": { - "bytesInOutput": 3947 - }, - "node_modules/@tensorflow/tfjs-core/dist/tensor_util.js": { - "bytesInOutput": 657 - }, - "node_modules/@tensorflow/tfjs-core/dist/types.js": { - "bytesInOutput": 802 - }, - "node_modules/@tensorflow/tfjs-core/dist/engine.js": { - "bytesInOutput": 15293 - }, - "node_modules/@tensorflow/tfjs-core/dist/device_util.js": { - "bytesInOutput": 2280 - }, - "node_modules/@tensorflow/tfjs-core/dist/flags.js": { - "bytesInOutput": 819 - }, - "node_modules/@tensorflow/tfjs-core/dist/tensor_util_env.js": { - "bytesInOutput": 1700 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/operation.js": { - "bytesInOutput": 515 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/complex.js": { - "bytesInOutput": 247 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor_ops_util.js": { - "bytesInOutput": 828 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor.js": { - "bytesInOutput": 52 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/types.js": { - "bytesInOutput": 73 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/io_utils.js": { - "bytesInOutput": 5274 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/router_registry.js": { - "bytesInOutput": 686 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/indexed_db.js": { - "bytesInOutput": 3447 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/local_storage.js": { - "bytesInOutput": 4305 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/model_management.js": { - "bytesInOutput": 1951 - }, - "node_modules/@tensorflow/tfjs-core/dist/platforms/platform_browser.js": { - "bytesInOutput": 497 - }, - "node_modules/@tensorflow/tfjs-core/dist/platforms/platform_node.js": { - "bytesInOutput": 563 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/buffer.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/cast.js": { - "bytesInOutput": 304 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/clone.js": { - "bytesInOutput": 109 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/print.js": { - "bytesInOutput": 47 - }, - "node_modules/@tensorflow/tfjs-core/dist/base_side_effects.js": { - "bytesInOutput": 57 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/io.js": { - "bytesInOutput": 463 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/browser_files.js": { - "bytesInOutput": 3912 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/progress.js": { - "bytesInOutput": 563 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/weights_loader.js": { - "bytesInOutput": 1497 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/http.js": { - "bytesInOutput": 4112 - }, - "node_modules/@tensorflow/tfjs-core/dist/io/passthrough.js": { - "bytesInOutput": 872 - }, - "node_modules/@tensorflow/tfjs-core/dist/math.js": { - "bytesInOutput": 42 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mat_mul.js": { - "bytesInOutput": 181 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/one_hot.js": { - "bytesInOutput": 233 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/transpose.js": { - "bytesInOutput": 407 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/confusion_matrix.js": { - "bytesInOutput": 740 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/browser.js": { - "bytesInOutput": 2908 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor3d.js": { - "bytesInOutput": 380 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd_util.js": { - "bytesInOutput": 890 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd_util.js": { - "bytesInOutput": 1764 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice_util.js": { - "bytesInOutput": 3874 - }, - "node_modules/@tensorflow/tfjs-core/dist/serialization.js": { - "bytesInOutput": 734 - }, - "node_modules/@tensorflow/tfjs-core/dist/test_util.js": { - "bytesInOutput": 1852 - }, - "node_modules/@tensorflow/tfjs-core/dist/version.js": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-core/dist/globals.js": { - "bytesInOutput": 970 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/add.js": { - "bytesInOutput": 129 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/floorDiv.js": { - "bytesInOutput": 145 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/div.js": { - "bytesInOutput": 192 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mul.js": { - "bytesInOutput": 129 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/abs.js": { - "bytesInOutput": 162 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/acos.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/acosh.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/add_n.js": { - "bytesInOutput": 521 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/all.js": { - "bytesInOutput": 128 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/any.js": { - "bytesInOutput": 128 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/arg_max.js": { - "bytesInOutput": 108 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/arg_min.js": { - "bytesInOutput": 108 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/asin.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/asinh.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/atan.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/atan2.js": { - "bytesInOutput": 136 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/atanh.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv_util.js": { - "bytesInOutput": 4584 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reshape.js": { - "bytesInOutput": 128 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool.js": { - "bytesInOutput": 621 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d.js": { - "bytesInOutput": 657 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat.js": { - "bytesInOutput": 398 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sigmoid.js": { - "bytesInOutput": 93 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice.js": { - "bytesInOutput": 206 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tanh.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/basic_lstm_cell.js": { - "bytesInOutput": 451 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batch_to_space_nd.js": { - "bytesInOutput": 536 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm_util.js": { - "bytesInOutput": 180 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm.js": { - "bytesInOutput": 671 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm2d.js": { - "bytesInOutput": 784 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm3d.js": { - "bytesInOutput": 784 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/batchnorm4d.js": { - "bytesInOutput": 784 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/bincount.js": { - "bytesInOutput": 474 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_to.js": { - "bytesInOutput": 662 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ceil.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/clip_by_value.js": { - "bytesInOutput": 231 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_1d.js": { - "bytesInOutput": 55 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_2d.js": { - "bytesInOutput": 57 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_3d.js": { - "bytesInOutput": 57 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_4d.js": { - "bytesInOutput": 57 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d.js": { - "bytesInOutput": 885 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv1d.js": { - "bytesInOutput": 986 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_input.js": { - "bytesInOutput": 1133 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_transpose.js": { - "bytesInOutput": 154 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d.js": { - "bytesInOutput": 854 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_input.js": { - "bytesInOutput": 957 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_transpose.js": { - "bytesInOutput": 143 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/cos.js": { - "bytesInOutput": 85 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/cosh.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/cumsum.js": { - "bytesInOutput": 140 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dense_bincount.js": { - "bytesInOutput": 610 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/depth_to_space.js": { - "bytesInOutput": 676 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d.js": { - "bytesInOutput": 838 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/diag.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dilation2d.js": { - "bytesInOutput": 618 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/broadcast_util.js": { - "bytesInOutput": 609 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/equal.js": { - "bytesInOutput": 156 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/where.js": { - "bytesInOutput": 371 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/zeros_like.js": { - "bytesInOutput": 97 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/div_no_nan.js": { - "bytesInOutput": 143 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dot.js": { - "bytesInOutput": 712 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/elu.js": { - "bytesInOutput": 85 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/erf.js": { - "bytesInOutput": 222 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/exp.js": { - "bytesInOutput": 85 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/expand_dims.js": { - "bytesInOutput": 201 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/expm1.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tile.js": { - "bytesInOutput": 233 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/eye.js": { - "bytesInOutput": 446 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fill.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/floor.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/gather.js": { - "bytesInOutput": 174 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/greater.js": { - "bytesInOutput": 162 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/greater_equal.js": { - "bytesInOutput": 177 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/imag.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/is_finite.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/is_inf.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/is_nan.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/leaky_relu.js": { - "bytesInOutput": 116 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/less.js": { - "bytesInOutput": 153 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/less_equal.js": { - "bytesInOutput": 168 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/linspace.js": { - "bytesInOutput": 144 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization.js": { - "bytesInOutput": 559 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log.js": { - "bytesInOutput": 85 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log1p.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients.js": { - "bytesInOutput": 3002 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/neg.js": { - "bytesInOutput": 85 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/softplus.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log_sigmoid.js": { - "bytesInOutput": 138 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max.js": { - "bytesInOutput": 133 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sub.js": { - "bytesInOutput": 130 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sum.js": { - "bytesInOutput": 165 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log_softmax.js": { - "bytesInOutput": 424 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/axis_util.js": { - "bytesInOutput": 787 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/log_sum_exp.js": { - "bytesInOutput": 214 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/logical_and.js": { - "bytesInOutput": 171 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/logical_not.js": { - "bytesInOutput": 106 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/logical_or.js": { - "bytesInOutput": 168 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/logical_xor.js": { - "bytesInOutput": 161 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool.js": { - "bytesInOutput": 595 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d.js": { - "bytesInOutput": 639 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_with_argmax.js": { - "bytesInOutput": 209 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/maximum.js": { - "bytesInOutput": 214 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mean.js": { - "bytesInOutput": 123 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/min.js": { - "bytesInOutput": 121 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/minimum.js": { - "bytesInOutput": 214 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mirror_pad.js": { - "bytesInOutput": 755 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/mod.js": { - "bytesInOutput": 130 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/square.js": { - "bytesInOutput": 104 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/moments.js": { - "bytesInOutput": 210 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/multi_rnn_cell.js": { - "bytesInOutput": 313 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/multinomial.js": { - "bytesInOutput": 414 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/not_equal.js": { - "bytesInOutput": 165 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/zeros.js": { - "bytesInOutput": 147 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ones.js": { - "bytesInOutput": 147 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ones_like.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/outer_product.js": { - "bytesInOutput": 268 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad.js": { - "bytesInOutput": 216 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad1d.js": { - "bytesInOutput": 133 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad2d.js": { - "bytesInOutput": 170 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad3d.js": { - "bytesInOutput": 187 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pad4d.js": { - "bytesInOutput": 204 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/space_to_batch_nd.js": { - "bytesInOutput": 558 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pool.js": { - "bytesInOutput": 983 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/pow.js": { - "bytesInOutput": 135 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/prelu.js": { - "bytesInOutput": 126 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/prod.js": { - "bytesInOutput": 167 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/rand.js": { - "bytesInOutput": 289 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/rand_util.js": { - "bytesInOutput": 1914 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/random_gamma.js": { - "bytesInOutput": 289 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/random_normal.js": { - "bytesInOutput": 240 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/random_uniform.js": { - "bytesInOutput": 182 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/range.js": { - "bytesInOutput": 154 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/real.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reciprocal.js": { - "bytesInOutput": 99 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/relu.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/relu6.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse.js": { - "bytesInOutput": 108 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_1d.js": { - "bytesInOutput": 162 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_2d.js": { - "bytesInOutput": 164 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_3d.js": { - "bytesInOutput": 164 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reverse_4d.js": { - "bytesInOutput": 164 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/round.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/rsqrt.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/scalar.js": { - "bytesInOutput": 340 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/selu.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/separable_conv2d.js": { - "bytesInOutput": 1183 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/setdiff1d_async.js": { - "bytesInOutput": 585 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sign.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sin.js": { - "bytesInOutput": 85 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sinh.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice1d.js": { - "bytesInOutput": 174 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice2d.js": { - "bytesInOutput": 170 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice3d.js": { - "bytesInOutput": 170 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/slice4d.js": { - "bytesInOutput": 170 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/softmax.js": { - "bytesInOutput": 290 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/fft.js": { - "bytesInOutput": 177 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/ifft.js": { - "bytesInOutput": 179 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/irfft.js": { - "bytesInOutput": 416 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/split.js": { - "bytesInOutput": 126 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/spectral/rfft.js": { - "bytesInOutput": 593 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sqrt.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/squared_difference.js": { - "bytesInOutput": 199 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/squeeze.js": { - "bytesInOutput": 101 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/stack.js": { - "bytesInOutput": 264 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/step.js": { - "bytesInOutput": 105 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/strided_slice.js": { - "bytesInOutput": 227 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tan.js": { - "bytesInOutput": 85 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor1d.js": { - "bytesInOutput": 145 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor2d.js": { - "bytesInOutput": 381 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor4d.js": { - "bytesInOutput": 381 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor5d.js": { - "bytesInOutput": 383 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/tensor6d.js": { - "bytesInOutput": 391 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/topk.js": { - "bytesInOutput": 362 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/truncated_normal.js": { - "bytesInOutput": 250 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/unique.js": { - "bytesInOutput": 217 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/unsorted_segment_sum.js": { - "bytesInOutput": 257 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/unstack.js": { - "bytesInOutput": 250 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/variable.js": { - "bytesInOutput": 55 - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/where_impl.js": { - "bytesInOutput": 227 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/where_async.js": { - "bytesInOutput": 135 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/boolean_mask.js": { - "bytesInOutput": 497 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/ops.js": { - "bytesInOutput": 576 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/norm.js": { - "bytesInOutput": 889 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/moving_average.js": { - "bytesInOutput": 385 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/scatter_nd.js": { - "bytesInOutput": 192 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sparse_to_dense_util.js": { - "bytesInOutput": 648 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/sparse_to_dense.js": { - "bytesInOutput": 299 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/gather_nd.js": { - "bytesInOutput": 148 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dropout_util.js": { - "bytesInOutput": 228 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/dropout.js": { - "bytesInOutput": 395 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal_ops_util.js": { - "bytesInOutput": 225 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/in_top_k.js": { - "bytesInOutput": 963 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused_ops.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv2d_backprop_filter.js": { - "bytesInOutput": 1004 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused_util.js": { - "bytesInOutput": 522 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused/conv2d.js": { - "bytesInOutput": 1946 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_filter.js": { - "bytesInOutput": 325 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/depthwise_conv2d_native_backprop_input.js": { - "bytesInOutput": 318 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused/depthwise_conv2d.js": { - "bytesInOutput": 1969 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/fused/mat_mul.js": { - "bytesInOutput": 1805 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal/hamming_window.js": { - "bytesInOutput": 66 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal/hann_window.js": { - "bytesInOutput": 61 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal/frame.js": { - "bytesInOutput": 242 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/signal/stft.js": { - "bytesInOutput": 173 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/crop_and_resize.js": { - "bytesInOutput": 891 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/flip_left_right.js": { - "bytesInOutput": 223 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/rotate_with_offset.js": { - "bytesInOutput": 277 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/nonmax_util.js": { - "bytesInOutput": 645 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression.js": { - "bytesInOutput": 330 - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_util.js": { - "bytesInOutput": 270 - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/non_max_suppression_impl.js": { - "bytesInOutput": 1384 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_async.js": { - "bytesInOutput": 374 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score.js": { - "bytesInOutput": 425 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_with_score_async.js": { - "bytesInOutput": 455 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded.js": { - "bytesInOutput": 409 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/non_max_suppression_padded_async.js": { - "bytesInOutput": 432 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_bilinear.js": { - "bytesInOutput": 606 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/image/resize_nearest_neighbor.js": { - "bytesInOutput": 738 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/band_part.js": { - "bytesInOutput": 742 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/gram_schmidt.js": { - "bytesInOutput": 699 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/linalg/qr.js": { - "bytesInOutput": 1252 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/loss_ops_utils.js": { - "bytesInOutput": 145 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/compute_weighted_loss.js": { - "bytesInOutput": 547 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/absolute_difference.js": { - "bytesInOutput": 308 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/cosine_distance.js": { - "bytesInOutput": 308 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/hinge_loss.js": { - "bytesInOutput": 299 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/huber_loss.js": { - "bytesInOutput": 323 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/log_loss.js": { - "bytesInOutput": 324 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/mean_squared_error.js": { - "bytesInOutput": 294 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/sigmoid_cross_entropy.js": { - "bytesInOutput": 621 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/losses/softmax_cross_entropy.js": { - "bytesInOutput": 829 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer.js": { - "bytesInOutput": 1029 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/adadelta_optimizer.js": { - "bytesInOutput": 1726 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/adagrad_optimizer.js": { - "bytesInOutput": 1243 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/adam_optimizer.js": { - "bytesInOutput": 2253 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/adamax_optimizer.js": { - "bytesInOutput": 1872 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/sgd_optimizer.js": { - "bytesInOutput": 774 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/momentum_optimizer.js": { - "bytesInOutput": 1257 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/rmsprop_optimizer.js": { - "bytesInOutput": 2725 - }, - "node_modules/@tensorflow/tfjs-core/dist/optimizers/optimizer_constructors.js": { - "bytesInOutput": 389 - }, - "node_modules/@tensorflow/tfjs-core/dist/train.js": { - "bytesInOutput": 130 - }, - "node_modules/@tensorflow/tfjs-core/dist/browser_util.js": { - "bytesInOutput": 181 - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/backend_util.js": { - "bytesInOutput": 1675 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/concat_util.js": { - "bytesInOutput": 544 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/reduce_util.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/rotate_util.js": { - "bytesInOutput": 99 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/array_ops_util.js": { - "bytesInOutput": 794 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/selu_util.js": { - "bytesInOutput": 48 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/erf_util.js": { - "bytesInOutput": 91 - }, - "node_modules/@tensorflow/tfjs-core/dist/log.js": { - "bytesInOutput": 121 - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/complex_util.js": { - "bytesInOutput": 1172 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/split_util.js": { - "bytesInOutput": 474 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/segment_util.js": { - "bytesInOutput": 1124 - }, - "node_modules/@tensorflow/tfjs-core/dist/backends/kernel_impls.js": { - "bytesInOutput": 129 - }, - "node_modules/@tensorflow/tfjs-core/dist/index.js": { - "bytesInOutput": 0 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/cpu_util.js": { - "bytesInOutput": 166 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/backend_cpu.js": { - "bytesInOutput": 2391 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/shared.js": { - "bytesInOutput": 588 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Abs.js": { - "bytesInOutput": 337 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_impl.js": { - "bytesInOutput": 579 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Complex.js": { - "bytesInOutput": 355 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/zeros_impl.js": { - "bytesInOutput": 220 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Identity.js": { - "bytesInOutput": 176 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Real.js": { - "bytesInOutput": 228 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cast.js": { - "bytesInOutput": 1026 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/binary_utils.js": { - "bytesInOutput": 1950 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Add.js": { - "bytesInOutput": 129 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount_impl.js": { - "bytesInOutput": 498 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_impl.js": { - "bytesInOutput": 126 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/unary_utils.js": { - "bytesInOutput": 648 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Ceil.js": { - "bytesInOutput": 91 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat_impl.js": { - "bytesInOutput": 368 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Exp.js": { - "bytesInOutput": 90 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Expm1.js": { - "bytesInOutput": 92 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Floor.js": { - "bytesInOutput": 92 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2_impl.js": { - "bytesInOutput": 203 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Greater.js": { - "bytesInOutput": 102 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Less.js": { - "bytesInOutput": 102 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace_impl.js": { - "bytesInOutput": 131 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log.js": { - "bytesInOutput": 90 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max_impl.js": { - "bytesInOutput": 180 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Maximum.js": { - "bytesInOutput": 96 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Minimum.js": { - "bytesInOutput": 96 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multiply.js": { - "bytesInOutput": 137 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Neg.js": { - "bytesInOutput": 288 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NotEqual.js": { - "bytesInOutput": 104 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose_impl.js": { - "bytesInOutput": 306 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Transpose.js": { - "bytesInOutput": 343 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prod.js": { - "bytesInOutput": 815 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range_impl.js": { - "bytesInOutput": 240 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Rsqrt.js": { - "bytesInOutput": 93 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Slice.js": { - "bytesInOutput": 728 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SquaredDifference.js": { - "bytesInOutput": 105 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice_impl.js": { - "bytesInOutput": 191 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sub.js": { - "bytesInOutput": 129 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile_impl.js": { - "bytesInOutput": 289 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK_impl.js": { - "bytesInOutput": 450 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique_impl.js": { - "bytesInOutput": 687 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/version.js": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/base.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/index.js": { - "bytesInOutput": 0 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Elu.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LeakyRelu.js": { - "bytesInOutput": 341 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Prelu.js": { - "bytesInOutput": 297 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu.js": { - "bytesInOutput": 82 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Relu6.js": { - "bytesInOutput": 94 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fused_utils.js": { - "bytesInOutput": 436 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reshape.js": { - "bytesInOutput": 585 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchMatMul.js": { - "bytesInOutput": 1845 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/_FusedMatMul.js": { - "bytesInOutput": 436 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acos.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Acosh.js": { - "bytesInOutput": 82 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AddN.js": { - "bytesInOutput": 323 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/All.js": { - "bytesInOutput": 849 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Any.js": { - "bytesInOutput": 849 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMax.js": { - "bytesInOutput": 746 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ArgMin.js": { - "bytesInOutput": 746 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asin.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Asinh.js": { - "bytesInOutput": 82 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atan2.js": { - "bytesInOutput": 98 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Atanh.js": { - "bytesInOutput": 82 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/pool_utils.js": { - "bytesInOutput": 3613 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool.js": { - "bytesInOutput": 649 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3D.js": { - "bytesInOutput": 381 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPool3DGrad.js": { - "bytesInOutput": 1144 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/AvgPoolGrad.js": { - "bytesInOutput": 915 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchNorm.js": { - "bytesInOutput": 1068 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/BatchToSpaceND.js": { - "bytesInOutput": 665 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Bincount.js": { - "bytesInOutput": 260 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Clip.js": { - "bytesInOutput": 155 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ComplexAbs.js": { - "bytesInOutput": 385 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Imag.js": { - "bytesInOutput": 228 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Concat.js": { - "bytesInOutput": 1239 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2D.js": { - "bytesInOutput": 1283 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropFilter.js": { - "bytesInOutput": 1105 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv2DBackpropInput.js": { - "bytesInOutput": 1359 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3D.js": { - "bytesInOutput": 1303 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropFilterV2.js": { - "bytesInOutput": 1366 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Conv3DBackpropInputV2.js": { - "bytesInOutput": 1375 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cos.js": { - "bytesInOutput": 80 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cosh.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/CropAndResize.js": { - "bytesInOutput": 1619 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Cumsum.js": { - "bytesInOutput": 959 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DenseBincount.js": { - "bytesInOutput": 538 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthToSpace.js": { - "bytesInOutput": 685 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNative.js": { - "bytesInOutput": 1315 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js": { - "bytesInOutput": 1036 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/DepthwiseConv2dNativeBackpropInput.js": { - "bytesInOutput": 1199 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Diag.js": { - "bytesInOutput": 307 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2D.js": { - "bytesInOutput": 1096 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropFilter.js": { - "bytesInOutput": 1167 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Dilation2DBackpropInput.js": { - "bytesInOutput": 1184 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/EluGrad.js": { - "bytesInOutput": 353 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Equal.js": { - "bytesInOutput": 104 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Erf.js": { - "bytesInOutput": 248 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ExpandDims.js": { - "bytesInOutput": 321 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RealDiv.js": { - "bytesInOutput": 86 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/utils/fft_utils.js": { - "bytesInOutput": 4287 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FFT.js": { - "bytesInOutput": 365 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Fill.js": { - "bytesInOutput": 258 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FlipLeftRight.js": { - "bytesInOutput": 511 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FloorDiv.js": { - "bytesInOutput": 111 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedConv2D.js": { - "bytesInOutput": 511 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/FusedDepthwiseConv2D.js": { - "bytesInOutput": 511 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherNd.js": { - "bytesInOutput": 605 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GatherV2.js": { - "bytesInOutput": 698 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/GreaterEqual.js": { - "bytesInOutput": 103 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IFFT.js": { - "bytesInOutput": 365 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsFinite.js": { - "bytesInOutput": 98 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsInf.js": { - "bytesInOutput": 102 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/IsNaN.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LessEqual.js": { - "bytesInOutput": 103 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LinSpace.js": { - "bytesInOutput": 180 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Log1p.js": { - "bytesInOutput": 82 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalAnd.js": { - "bytesInOutput": 99 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalNot.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LogicalOr.js": { - "bytesInOutput": 99 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRN.js": { - "bytesInOutput": 488 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/LRNGrad.js": { - "bytesInOutput": 599 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Max.js": { - "bytesInOutput": 624 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool.js": { - "bytesInOutput": 649 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3D.js": { - "bytesInOutput": 381 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPool3DGrad.js": { - "bytesInOutput": 1192 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolGrad.js": { - "bytesInOutput": 1064 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax_impl.js": { - "bytesInOutput": 116 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MaxPoolWithArgmax.js": { - "bytesInOutput": 447 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sum.js": { - "bytesInOutput": 955 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mean.js": { - "bytesInOutput": 536 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Min.js": { - "bytesInOutput": 853 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/MirrorPad.js": { - "bytesInOutput": 679 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Mod.js": { - "bytesInOutput": 132 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Multinomial.js": { - "bytesInOutput": 687 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softmax.js": { - "bytesInOutput": 899 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV3.js": { - "bytesInOutput": 397 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV4.js": { - "bytesInOutput": 491 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/NonMaxSuppressionV5.js": { - "bytesInOutput": 516 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OneHot.js": { - "bytesInOutput": 368 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ZerosLike.js": { - "bytesInOutput": 615 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/OnesLike.js": { - "bytesInOutput": 614 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pack.js": { - "bytesInOutput": 598 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/PadV2.js": { - "bytesInOutput": 580 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Pow.js": { - "bytesInOutput": 96 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Range.js": { - "bytesInOutput": 183 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reciprocal.js": { - "bytesInOutput": 72 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinear.js": { - "bytesInOutput": 926 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeBilinearGrad.js": { - "bytesInOutput": 854 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighbor.js": { - "bytesInOutput": 771 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ResizeNearestNeighborGrad.js": { - "bytesInOutput": 1041 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Reverse.js": { - "bytesInOutput": 454 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/RotateWithOffset.js": { - "bytesInOutput": 746 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Round.js": { - "bytesInOutput": 151 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Scatter_impl.js": { - "bytesInOutput": 405 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/ScatterNd.js": { - "bytesInOutput": 338 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Select.js": { - "bytesInOutput": 516 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Selu.js": { - "bytesInOutput": 134 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sigmoid.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sign.js": { - "bytesInOutput": 83 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sin.js": { - "bytesInOutput": 80 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sinh.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Softplus.js": { - "bytesInOutput": 185 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SpaceToBatchND.js": { - "bytesInOutput": 714 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SparseToDense.js": { - "bytesInOutput": 403 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/SplitV.js": { - "bytesInOutput": 370 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Sqrt.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Square.js": { - "bytesInOutput": 289 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Step.js": { - "bytesInOutput": 116 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/StridedSlice.js": { - "bytesInOutput": 803 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tan.js": { - "bytesInOutput": 80 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tanh.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Tile.js": { - "bytesInOutput": 214 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/TopK.js": { - "bytesInOutput": 302 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unique.js": { - "bytesInOutput": 314 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/Unpack.js": { - "bytesInOutput": 512 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/kernels/UnsortedSegmentSum.js": { - "bytesInOutput": 754 - }, - "node_modules/@tensorflow/tfjs-backend-cpu/dist/register_all_kernels.js": { - "bytesInOutput": 490 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl_util.js": { - "bytesInOutput": 10161 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/canvas_util.js": { - "bytesInOutput": 1106 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/tex_util.js": { - "bytesInOutput": 1292 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/flags_webgl.js": { - "bytesInOutput": 2228 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/glsl_version.js": { - "bytesInOutput": 1626 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler_util.js": { - "bytesInOutput": 1318 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_gpu.js": { - "bytesInOutput": 724 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/decode_matrix_packed_gpu.js": { - "bytesInOutput": 754 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_gpu.js": { - "bytesInOutput": 253 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_float_packed_gpu.js": { - "bytesInOutput": 375 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_gpu.js": { - "bytesInOutput": 885 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/encode_matrix_packed_gpu.js": { - "bytesInOutput": 1439 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_util.js": { - "bytesInOutput": 4105 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_context.js": { - "bytesInOutput": 8972 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/shader_compiler.js": { - "bytesInOutput": 23775 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gpgpu_math.js": { - "bytesInOutput": 2637 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/shared.js": { - "bytesInOutput": 412 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/packing_util.js": { - "bytesInOutput": 221 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/pack_gpu.js": { - "bytesInOutput": 1366 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/reshape_packed_gpu.js": { - "bytesInOutput": 1056 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/texture_manager.js": { - "bytesInOutput": 3665 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_gpu.js": { - "bytesInOutput": 501 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/unaryop_packed_gpu.js": { - "bytesInOutput": 1132 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/unpack_gpu.js": { - "bytesInOutput": 388 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/backend_webgl.js": { - "bytesInOutput": 14380 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/version.js": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/webgl.js": { - "bytesInOutput": 53 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/base.js": { - "bytesInOutput": 68 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/index.js": { - "bytesInOutput": 0 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_gpu.js": { - "bytesInOutput": 413 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_packed_gpu.js": { - "bytesInOutput": 1491 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Identity.js": { - "bytesInOutput": 178 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Complex.js": { - "bytesInOutput": 398 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LeakyRelu.js": { - "bytesInOutput": 542 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prelu.js": { - "bytesInOutput": 425 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/kernel_funcs_utils.js": { - "bytesInOutput": 2028 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/mulmat_packed_gpu.js": { - "bytesInOutput": 1738 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/binaryop_complex_gpu.js": { - "bytesInOutput": 642 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multiply.js": { - "bytesInOutput": 1233 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reshape.js": { - "bytesInOutput": 222 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reshape.js": { - "bytesInOutput": 559 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/mean_gpu.js": { - "bytesInOutput": 1623 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/reduce_gpu.js": { - "bytesInOutput": 2949 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/reduce.js": { - "bytesInOutput": 638 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_gpu.js": { - "bytesInOutput": 538 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/transpose_packed_gpu.js": { - "bytesInOutput": 899 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose_impl.js": { - "bytesInOutput": 144 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum_impl.js": { - "bytesInOutput": 600 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sum.js": { - "bytesInOutput": 155 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Transpose.js": { - "bytesInOutput": 405 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul_impl.js": { - "bytesInOutput": 1978 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/_FusedMatMul.js": { - "bytesInOutput": 329 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Abs.js": { - "bytesInOutput": 402 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acos.js": { - "bytesInOutput": 148 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Acosh.js": { - "bytesInOutput": 150 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Add.js": { - "bytesInOutput": 153 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_gpu.js": { - "bytesInOutput": 391 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/addn_packed_gpu.js": { - "bytesInOutput": 431 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AddN.js": { - "bytesInOutput": 518 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/All.js": { - "bytesInOutput": 758 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Any.js": { - "bytesInOutput": 758 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_gpu.js": { - "bytesInOutput": 821 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/argminmax_packed_gpu.js": { - "bytesInOutput": 3185 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/arg_min_max.js": { - "bytesInOutput": 1118 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMax.js": { - "bytesInOutput": 462 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ArgMin.js": { - "bytesInOutput": 462 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asin.js": { - "bytesInOutput": 148 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Asinh.js": { - "bytesInOutput": 122 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan.js": { - "bytesInOutput": 107 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atan2.js": { - "bytesInOutput": 254 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Atanh.js": { - "bytesInOutput": 175 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/pool_gpu.js": { - "bytesInOutput": 10264 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool.js": { - "bytesInOutput": 563 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3D.js": { - "bytesInOutput": 294 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/avg_pool_backprop_gpu.js": { - "bytesInOutput": 3558 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPool3DGrad.js": { - "bytesInOutput": 281 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/AvgPoolGrad.js": { - "bytesInOutput": 278 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchMatMul.js": { - "bytesInOutput": 205 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_gpu.js": { - "bytesInOutput": 794 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/batchnorm_packed_gpu.js": { - "bytesInOutput": 803 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchNorm.js": { - "bytesInOutput": 828 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_gpu.js": { - "bytesInOutput": 934 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/slice_packed_gpu.js": { - "bytesInOutput": 1481 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Slice.js": { - "bytesInOutput": 1127 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/BatchToSpaceND.js": { - "bytesInOutput": 717 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Bincount.js": { - "bytesInOutput": 248 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NotEqual.js": { - "bytesInOutput": 119 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Real.js": { - "bytesInOutput": 196 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernel_utils/int.js": { - "bytesInOutput": 160 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cast.js": { - "bytesInOutput": 909 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Ceil.js": { - "bytesInOutput": 136 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_gpu.js": { - "bytesInOutput": 580 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/clip_packed_gpu.js": { - "bytesInOutput": 639 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ClipByValue.js": { - "bytesInOutput": 291 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/complex_abs_gpu.js": { - "bytesInOutput": 538 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ComplexAbs.js": { - "bytesInOutput": 328 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_gpu.js": { - "bytesInOutput": 639 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/concat_packed_gpu.js": { - "bytesInOutput": 1568 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Imag.js": { - "bytesInOutput": 196 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat_impl.js": { - "bytesInOutput": 1445 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Concat.js": { - "bytesInOutput": 433 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu.js": { - "bytesInOutput": 7879 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/im2col_packed_gpu.js": { - "bytesInOutput": 1645 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D_impl.js": { - "bytesInOutput": 2528 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2D.js": { - "bytesInOutput": 752 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu.js": { - "bytesInOutput": 6539 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropFilter.js": { - "bytesInOutput": 317 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv2DBackpropInput.js": { - "bytesInOutput": 321 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3D.js": { - "bytesInOutput": 256 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropFilterV2.js": { - "bytesInOutput": 248 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Conv3DBackpropInputV2.js": { - "bytesInOutput": 252 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cos.js": { - "bytesInOutput": 106 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cosh.js": { - "bytesInOutput": 143 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/crop_and_resize_gpu.js": { - "bytesInOutput": 2552 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/CropAndResize.js": { - "bytesInOutput": 251 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/cumsum_gpu.js": { - "bytesInOutput": 1196 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Cumsum.js": { - "bytesInOutput": 912 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DenseBincount.js": { - "bytesInOutput": 526 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/depth_to_space_gpu.js": { - "bytesInOutput": 1148 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthToSpace.js": { - "bytesInOutput": 452 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_gpu_depthwise.js": { - "bytesInOutput": 2100 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_packed_gpu_depthwise.js": { - "bytesInOutput": 6440 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNative.js": { - "bytesInOutput": 566 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/conv_backprop_gpu_depthwise.js": { - "bytesInOutput": 2653 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropFilter.js": { - "bytesInOutput": 283 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/DepthwiseConv2dNativeBackpropInput.js": { - "bytesInOutput": 287 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/diag_gpu.js": { - "bytesInOutput": 268 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Diag.js": { - "bytesInOutput": 381 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/dilation_gpu.js": { - "bytesInOutput": 1295 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Dilation2D.js": { - "bytesInOutput": 368 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Elu.js": { - "bytesInOutput": 392 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/EluGrad.js": { - "bytesInOutput": 428 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Equal.js": { - "bytesInOutput": 173 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Erf.js": { - "bytesInOutput": 586 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Exp.js": { - "bytesInOutput": 135 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ExpandDims.js": { - "bytesInOutput": 323 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Expm1.js": { - "bytesInOutput": 141 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/fft_gpu.js": { - "bytesInOutput": 1296 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT_impl.js": { - "bytesInOutput": 710 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FFT.js": { - "bytesInOutput": 128 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/fill_gpu.js": { - "bytesInOutput": 397 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Fill.js": { - "bytesInOutput": 341 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/flip_left_right_gpu.js": { - "bytesInOutput": 566 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FlipLeftRight.js": { - "bytesInOutput": 157 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Floor.js": { - "bytesInOutput": 137 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FloorDiv.js": { - "bytesInOutput": 852 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_gpu.js": { - "bytesInOutput": 708 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels_utils/from_pixels_packed_gpu.js": { - "bytesInOutput": 1080 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FromPixels.js": { - "bytesInOutput": 818 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedConv2D.js": { - "bytesInOutput": 1155 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/FusedDepthwiseConv2D.js": { - "bytesInOutput": 895 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_nd_gpu.js": { - "bytesInOutput": 590 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherNd.js": { - "bytesInOutput": 528 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/gather_gpu.js": { - "bytesInOutput": 437 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GatherV2.js": { - "bytesInOutput": 908 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Greater.js": { - "bytesInOutput": 195 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/GreaterEqual.js": { - "bytesInOutput": 184 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IFFT.js": { - "bytesInOutput": 128 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsFinite.js": { - "bytesInOutput": 135 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsInf.js": { - "bytesInOutput": 121 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/IsNaN.js": { - "bytesInOutput": 121 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Less.js": { - "bytesInOutput": 192 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LessEqual.js": { - "bytesInOutput": 181 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LinSpace.js": { - "bytesInOutput": 182 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log.js": { - "bytesInOutput": 440 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Log1p.js": { - "bytesInOutput": 105 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalAnd.js": { - "bytesInOutput": 260 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalNot.js": { - "bytesInOutput": 111 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LogicalOr.js": { - "bytesInOutput": 274 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_gpu.js": { - "bytesInOutput": 766 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_packed_gpu.js": { - "bytesInOutput": 2505 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRN.js": { - "bytesInOutput": 277 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/lrn_grad_gpu.js": { - "bytesInOutput": 1821 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/LRNGrad.js": { - "bytesInOutput": 226 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max_impl.js": { - "bytesInOutput": 276 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Max.js": { - "bytesInOutput": 882 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Maximum.js": { - "bytesInOutput": 275 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool.js": { - "bytesInOutput": 561 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3D.js": { - "bytesInOutput": 292 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/max_pool_backprop_gpu.js": { - "bytesInOutput": 4026 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPool3DGrad.js": { - "bytesInOutput": 378 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolGrad.js": { - "bytesInOutput": 408 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax_impl.js": { - "bytesInOutput": 162 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MaxPoolWithArgmax.js": { - "bytesInOutput": 498 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean_impl.js": { - "bytesInOutput": 279 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mean.js": { - "bytesInOutput": 728 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Min.js": { - "bytesInOutput": 771 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Minimum.js": { - "bytesInOutput": 275 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_gpu.js": { - "bytesInOutput": 1115 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/mirror_pad_packed_gpu.js": { - "bytesInOutput": 2012 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/MirrorPad.js": { - "bytesInOutput": 252 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Mod.js": { - "bytesInOutput": 251 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/multinomial_gpu.js": { - "bytesInOutput": 705 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RealDiv.js": { - "bytesInOutput": 465 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sub.js": { - "bytesInOutput": 153 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softmax.js": { - "bytesInOutput": 739 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Multinomial.js": { - "bytesInOutput": 377 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Neg.js": { - "bytesInOutput": 389 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV3.js": { - "bytesInOutput": 459 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV4.js": { - "bytesInOutput": 547 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/NonMaxSuppressionV5.js": { - "bytesInOutput": 569 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/onehot_gpu.js": { - "bytesInOutput": 329 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OneHot.js": { - "bytesInOutput": 422 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ZerosLike.js": { - "bytesInOutput": 552 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/OnesLike.js": { - "bytesInOutput": 616 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pack.js": { - "bytesInOutput": 600 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_gpu.js": { - "bytesInOutput": 933 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/pad_packed_gpu.js": { - "bytesInOutput": 1181 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/PadV2.js": { - "bytesInOutput": 263 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Pow.js": { - "bytesInOutput": 940 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Prod.js": { - "bytesInOutput": 909 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Range.js": { - "bytesInOutput": 178 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reciprocal.js": { - "bytesInOutput": 100 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu.js": { - "bytesInOutput": 404 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Relu6.js": { - "bytesInOutput": 429 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_gpu.js": { - "bytesInOutput": 1520 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_packed_gpu.js": { - "bytesInOutput": 3411 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinear.js": { - "bytesInOutput": 307 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_bilinear_backprop_gpu.js": { - "bytesInOutput": 2959 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeBilinearGrad.js": { - "bytesInOutput": 211 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_gpu.js": { - "bytesInOutput": 1026 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighbor.js": { - "bytesInOutput": 238 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/resize_nearest_neighbor_backprop_gpu.js": { - "bytesInOutput": 2470 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ResizeNearestNeighborGrad.js": { - "bytesInOutput": 211 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_gpu.js": { - "bytesInOutput": 585 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/reverse_packed_gpu.js": { - "bytesInOutput": 1562 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Reverse.js": { - "bytesInOutput": 342 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/rotate_gpu.js": { - "bytesInOutput": 1036 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/RotateWithOffset.js": { - "bytesInOutput": 206 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Round.js": { - "bytesInOutput": 420 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Rsqrt.js": { - "bytesInOutput": 124 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/scatter_gpu.js": { - "bytesInOutput": 918 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/ScatterNd.js": { - "bytesInOutput": 725 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/select_gpu.js": { - "bytesInOutput": 594 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Select.js": { - "bytesInOutput": 226 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Selu.js": { - "bytesInOutput": 338 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sigmoid.js": { - "bytesInOutput": 120 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sign.js": { - "bytesInOutput": 136 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sin.js": { - "bytesInOutput": 106 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sinh.js": { - "bytesInOutput": 142 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Softplus.js": { - "bytesInOutput": 424 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SpaceToBatchND.js": { - "bytesInOutput": 757 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SparseToDense.js": { - "bytesInOutput": 438 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SplitV.js": { - "bytesInOutput": 376 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Sqrt.js": { - "bytesInOutput": 100 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Square.js": { - "bytesInOutput": 98 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/SquaredDifference.js": { - "bytesInOutput": 129 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Step.js": { - "bytesInOutput": 227 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/strided_slice_gpu.js": { - "bytesInOutput": 497 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/StridedSlice.js": { - "bytesInOutput": 904 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tan.js": { - "bytesInOutput": 99 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tanh.js": { - "bytesInOutput": 166 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/tile_gpu.js": { - "bytesInOutput": 581 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Tile.js": { - "bytesInOutput": 349 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/TopK.js": { - "bytesInOutput": 280 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unique.js": { - "bytesInOutput": 396 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/Unpack.js": { - "bytesInOutput": 551 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/segment_gpu.js": { - "bytesInOutput": 3184 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/kernels/UnsortedSegmentSum.js": { - "bytesInOutput": 1095 - }, - "node_modules/@tensorflow/tfjs-backend-webgl/dist/register_all_kernels.js": { - "bytesInOutput": 487 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/types.js": { - "bytesInOutput": 300 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/_FusedMatMul.js": { - "bytesInOutput": 1193 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/unary_kernel.js": { - "bytesInOutput": 327 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Abs.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/binary_kernel.js": { - "bytesInOutput": 897 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Add.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/AddN.js": { - "bytesInOutput": 430 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Identity.js": { - "bytesInOutput": 199 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Transpose.js": { - "bytesInOutput": 992 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/kernel_utils.js": { - "bytesInOutput": 408 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ArgMax.js": { - "bytesInOutput": 567 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/AvgPool.js": { - "bytesInOutput": 1029 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reshape.js": { - "bytesInOutput": 363 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/BatchMatMul.js": { - "bytesInOutput": 1607 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cast.js": { - "bytesInOutput": 209 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ClipByValue.js": { - "bytesInOutput": 360 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Concat.js": { - "bytesInOutput": 1127 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Conv2D.js": { - "bytesInOutput": 1093 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Conv2DBackpropInput.js": { - "bytesInOutput": 1188 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cos.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/CropAndResize.js": { - "bytesInOutput": 846 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Cumsum.js": { - "bytesInOutput": 874 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/DepthToSpace.js": { - "bytesInOutput": 862 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/DepthwiseConv2dNative.js": { - "bytesInOutput": 1080 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Equal.js": { - "bytesInOutput": 30 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Exp.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ExpandDims.js": { - "bytesInOutput": 322 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Fill.js": { - "bytesInOutput": 181 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FlipLeftRight.js": { - "bytesInOutput": 362 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Floor.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FloorDiv.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedBatchNorm.js": { - "bytesInOutput": 605 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedConv2D.js": { - "bytesInOutput": 1611 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/FusedDepthwiseConv2D.js": { - "bytesInOutput": 1650 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GatherNd.js": { - "bytesInOutput": 539 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GatherV2.js": { - "bytesInOutput": 997 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Greater.js": { - "bytesInOutput": 30 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/GreaterEqual.js": { - "bytesInOutput": 30 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LeakyRelu.js": { - "bytesInOutput": 356 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Less.js": { - "bytesInOutput": 30 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LessEqual.js": { - "bytesInOutput": 30 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Log.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/LogicalAnd.js": { - "bytesInOutput": 30 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Max.js": { - "bytesInOutput": 712 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Maximum.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/MaxPool.js": { - "bytesInOutput": 938 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Mean.js": { - "bytesInOutput": 920 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Min.js": { - "bytesInOutput": 713 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Minimum.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Multiply.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Neg.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppression_util.js": { - "bytesInOutput": 185 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV3.js": { - "bytesInOutput": 512 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV4.js": { - "bytesInOutput": 566 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NonMaxSuppressionV5.js": { - "bytesInOutput": 565 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/NotEqual.js": { - "bytesInOutput": 30 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/OneHot.js": { - "bytesInOutput": 383 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/OnesLike.js": { - "bytesInOutput": 174 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Pack.js": { - "bytesInOutput": 514 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/PadV2.js": { - "bytesInOutput": 613 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Pow.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Prelu.js": { - "bytesInOutput": 348 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Prod.js": { - "bytesInOutput": 779 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Range.js": { - "bytesInOutput": 206 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/RealDiv.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Relu.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Relu6.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ResizeBilinear.js": { - "bytesInOutput": 678 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Reverse.js": { - "bytesInOutput": 610 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/RotateWithOffset.js": { - "bytesInOutput": 597 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Round.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Rsqrt.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ScatterNd.js": { - "bytesInOutput": 612 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Select.js": { - "bytesInOutput": 505 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sigmoid.js": { - "bytesInOutput": 329 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sin.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Slice.js": { - "bytesInOutput": 1262 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Softmax.js": { - "bytesInOutput": 405 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/SplitV.js": { - "bytesInOutput": 371 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sqrt.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Square.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/SquaredDifference.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Step.js": { - "bytesInOutput": 327 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/StridedSlice.js": { - "bytesInOutput": 1762 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sub.js": { - "bytesInOutput": 23 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Sum.js": { - "bytesInOutput": 755 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Tanh.js": { - "bytesInOutput": 14 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Tile.js": { - "bytesInOutput": 555 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/TopK.js": { - "bytesInOutput": 540 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/Unpack.js": { - "bytesInOutput": 478 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/kernels/ZerosLike.js": { - "bytesInOutput": 174 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/register_all_kernels.js": { - "bytesInOutput": 289 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/flags_wasm.js": { - "bytesInOutput": 484 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/backend_wasm.js": { - "bytesInOutput": 4480 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/wasm-out/tfjs-backend-wasm-threaded-simd.worker.js": { - "bytesInOutput": 3414 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/version.js": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/base.js": { - "bytesInOutput": 74 - }, - "node_modules/@tensorflow/tfjs-backend-wasm/dist/index.js": { - "bytesInOutput": 0 - }, - "src/tfjs/tf-browser.ts": { - "bytesInOutput": 154 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/abs.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acos.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/acosh.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/add.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/all.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/any.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_max.js": { - "bytesInOutput": 75 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/arg_min.js": { - "bytesInOutput": 75 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_scalar.js": { - "bytesInOutput": 135 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as_type.js": { - "bytesInOutput": 75 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as1d.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as2d.js": { - "bytesInOutput": 78 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as3d.js": { - "bytesInOutput": 82 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as4d.js": { - "bytesInOutput": 86 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/as5d.js": { - "bytesInOutput": 90 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asin.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/asinh.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atan2.js": { - "bytesInOutput": 74 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/atanh.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/avg_pool.js": { - "bytesInOutput": 88 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batch_to_space_nd.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/batchnorm.js": { - "bytesInOutput": 94 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/broadcast_to.js": { - "bytesInOutput": 80 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cast.js": { - "bytesInOutput": 73 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ceil.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/clip_by_value.js": { - "bytesInOutput": 84 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/concat.js": { - "bytesInOutput": 109 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv1d.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d_transpose.js": { - "bytesInOutput": 100 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/conv2d.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cos.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cosh.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/cumsum.js": { - "bytesInOutput": 83 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depth_to_space.js": { - "bytesInOutput": 85 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/depthwise_conv2d.js": { - "bytesInOutput": 104 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dilation2d.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div_no_nan.js": { - "bytesInOutput": 77 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/div.js": { - "bytesInOutput": 72 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/dot.js": { - "bytesInOutput": 72 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/elu.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/equal.js": { - "bytesInOutput": 74 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/erf.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/exp.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expand_dims.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/expm1.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/fft.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/flatten.js": { - "bytesInOutput": 84 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floor.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/floorDiv.js": { - "bytesInOutput": 77 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/gather.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater_equal.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/greater.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ifft.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/irfft.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_finite.js": { - "bytesInOutput": 74 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_inf.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/is_nan.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/leaky_relu.js": { - "bytesInOutput": 78 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less_equal.js": { - "bytesInOutput": 78 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/less.js": { - "bytesInOutput": 73 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/local_response_normalization.js": { - "bytesInOutput": 107 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sigmoid.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_softmax.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log_sum_exp.js": { - "bytesInOutput": 82 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/log1p.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_and.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_not.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_or.js": { - "bytesInOutput": 78 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/logical_xor.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mat_mul.js": { - "bytesInOutput": 83 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max_pool.js": { - "bytesInOutput": 88 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/max.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/maximum.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mean.js": { - "bytesInOutput": 77 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/min.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/minimum.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mirror_pad.js": { - "bytesInOutput": 82 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mod.js": { - "bytesInOutput": 72 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/mul.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/neg.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/norm.js": { - "bytesInOutput": 81 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/not_equal.js": { - "bytesInOutput": 77 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/one_hot.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/ones_like.js": { - "bytesInOutput": 74 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pad.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pool.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/pow.js": { - "bytesInOutput": 72 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prelu.js": { - "bytesInOutput": 74 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/prod.js": { - "bytesInOutput": 77 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reciprocal.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/relu6.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape_as.js": { - "bytesInOutput": 83 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reshape.js": { - "bytesInOutput": 75 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_bilinear.js": { - "bytesInOutput": 91 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/resize_nearest_neighbor.js": { - "bytesInOutput": 98 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/reverse.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rfft.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/round.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/rsqrt.js": { - "bytesInOutput": 71 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/selu.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/separable_conv2d.js": { - "bytesInOutput": 104 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sigmoid.js": { - "bytesInOutput": 73 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sign.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sin.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sinh.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/slice.js": { - "bytesInOutput": 78 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softmax.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/softplus.js": { - "bytesInOutput": 74 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/space_to_batch_nd.js": { - "bytesInOutput": 87 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/split.js": { - "bytesInOutput": 78 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sqrt.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/square.js": { - "bytesInOutput": 72 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squared_difference.js": { - "bytesInOutput": 86 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/squeeze.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/stack.js": { - "bytesInOutput": 116 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/step.js": { - "bytesInOutput": 73 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/strided_slice.js": { - "bytesInOutput": 109 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sub.js": { - "bytesInOutput": 72 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/sum.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tan.js": { - "bytesInOutput": 69 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tanh.js": { - "bytesInOutput": 70 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/tile.js": { - "bytesInOutput": 73 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_bool.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_float.js": { - "bytesInOutput": 83 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/to_int.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/topk.js": { - "bytesInOutput": 77 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/transpose.js": { - "bytesInOutput": 78 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unique.js": { - "bytesInOutput": 75 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unsorted_segment_sum.js": { - "bytesInOutput": 91 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/unstack.js": { - "bytesInOutput": 76 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/where.js": { - "bytesInOutput": 78 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/zeros_like.js": { - "bytesInOutput": 75 - }, - "node_modules/@tensorflow/tfjs-core/dist/public/chained_ops/register_all_chained_ops.js": { - "bytesInOutput": 0 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Abs_grad.js": { - "bytesInOutput": 111 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Acos_grad.js": { - "bytesInOutput": 148 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Acosh_grad.js": { - "bytesInOutput": 136 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Add_grad.js": { - "bytesInOutput": 257 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/AddN_grad.js": { - "bytesInOutput": 115 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMax_grad.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ArgMin_grad.js": { - "bytesInOutput": 89 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Asin_grad.js": { - "bytesInOutput": 123 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Asinh_grad.js": { - "bytesInOutput": 139 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Atan2_grad.js": { - "bytesInOutput": 317 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Atan_grad.js": { - "bytesInOutput": 114 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Atanh_grad.js": { - "bytesInOutput": 119 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_3d_grad.js": { - "bytesInOutput": 713 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool3D_grad.js": { - "bytesInOutput": 152 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/avg_pool_grad.js": { - "bytesInOutput": 621 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/AvgPool_grad.js": { - "bytesInOutput": 132 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/BatchMatMul_grad.js": { - "bytesInOutput": 300 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/BatchToSpaceND_grad.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/BroadcastTo_grad.js": { - "bytesInOutput": 312 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Cast_grad.js": { - "bytesInOutput": 55 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Ceil_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ClipByValue_grad.js": { - "bytesInOutput": 151 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ComplexAbs_grad.js": { - "bytesInOutput": 63 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Concat_grad.js": { - "bytesInOutput": 165 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2D_grad.js": { - "bytesInOutput": 328 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv2DBackpropInput_grad.js": { - "bytesInOutput": 202 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/conv3d_backprop_filter.js": { - "bytesInOutput": 822 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Conv3D_grad.js": { - "bytesInOutput": 313 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Cos_grad.js": { - "bytesInOutput": 112 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Cosh_grad.js": { - "bytesInOutput": 108 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Cumsum_grad.js": { - "bytesInOutput": 186 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/DepthwiseConv2dNative_grad.js": { - "bytesInOutput": 1012 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Dilation2D_grad.js": { - "bytesInOutput": 191 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Elu_grad.js": { - "bytesInOutput": 114 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Erf_grad.js": { - "bytesInOutput": 130 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Exp_grad.js": { - "bytesInOutput": 90 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ExpandDims_grad.js": { - "bytesInOutput": 104 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Expm1_grad.js": { - "bytesInOutput": 94 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Floor_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/FloorDiv_grad.js": { - "bytesInOutput": 327 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/FusedBatchNorm_grad.js": { - "bytesInOutput": 711 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/GatherV2_grad.js": { - "bytesInOutput": 541 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/GreaterEqual_grad.js": { - "bytesInOutput": 107 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Identity_grad.js": { - "bytesInOutput": 61 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/IsFinite_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/IsInf_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/IsNan_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/LeakyRelu_grad.js": { - "bytesInOutput": 122 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Log1p_grad.js": { - "bytesInOutput": 96 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Log_grad.js": { - "bytesInOutput": 105 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/LogSoftmax_grad.js": { - "bytesInOutput": 164 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/local_response_normalization_backprop.js": { - "bytesInOutput": 175 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/LRN_grad.js": { - "bytesInOutput": 164 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/min_max_grad_util.js": { - "bytesInOutput": 137 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Max_grad.js": { - "bytesInOutput": 176 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Maximum_grad.js": { - "bytesInOutput": 149 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_3d_grad.js": { - "bytesInOutput": 905 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool3D_grad.js": { - "bytesInOutput": 175 - }, - "node_modules/@tensorflow/tfjs-core/dist/ops/max_pool_grad.js": { - "bytesInOutput": 632 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/MaxPool_grad.js": { - "bytesInOutput": 155 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Mean_grad.js": { - "bytesInOutput": 239 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Min_grad.js": { - "bytesInOutput": 158 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Minimum_grad.js": { - "bytesInOutput": 149 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/MirrorPad_grad.js": { - "bytesInOutput": 135 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Mod_grad.js": { - "bytesInOutput": 262 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Multiply_grad.js": { - "bytesInOutput": 285 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Neg_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/OneHot_grad.js": { - "bytesInOutput": 119 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/OnesLike_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Pack_grad.js": { - "bytesInOutput": 103 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/PadV2_grad.js": { - "bytesInOutput": 135 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Pow_grad.js": { - "bytesInOutput": 370 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Prelu_grad.js": { - "bytesInOutput": 221 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/RealDiv_grad.js": { - "bytesInOutput": 327 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Reciprocal_grad.js": { - "bytesInOutput": 99 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Relu6_grad.js": { - "bytesInOutput": 123 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Relu_grad.js": { - "bytesInOutput": 108 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Reshape_grad.js": { - "bytesInOutput": 96 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeBilinear_grad.js": { - "bytesInOutput": 133 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ResizeNearestNeighbor_grad.js": { - "bytesInOutput": 133 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Reverse_grad.js": { - "bytesInOutput": 95 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Round_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Rsqrt_grad.js": { - "bytesInOutput": 108 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Select_grad.js": { - "bytesInOutput": 173 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Selu_grad.js": { - "bytesInOutput": 179 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sigmoid_grad.js": { - "bytesInOutput": 105 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sign_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sin_grad.js": { - "bytesInOutput": 108 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sinh_grad.js": { - "bytesInOutput": 108 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Slice_grad.js": { - "bytesInOutput": 198 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Softmax_grad.js": { - "bytesInOutput": 137 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Softplus_grad.js": { - "bytesInOutput": 94 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/SpaceToBatchND_grad.js": { - "bytesInOutput": 98 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/SplitV_grad.js": { - "bytesInOutput": 79 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sqrt_grad.js": { - "bytesInOutput": 114 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Square_grad.js": { - "bytesInOutput": 109 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/SquaredDifference_grad.js": { - "bytesInOutput": 139 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Step_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sub_grad.js": { - "bytesInOutput": 261 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Sum_grad.js": { - "bytesInOutput": 193 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Tan_grad.js": { - "bytesInOutput": 99 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Tanh_grad.js": { - "bytesInOutput": 104 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Tile_grad.js": { - "bytesInOutput": 831 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Transpose_grad.js": { - "bytesInOutput": 92 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/Unpack_grad.js": { - "bytesInOutput": 88 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/UnsortedSegmentSum_grad.js": { - "bytesInOutput": 271 - }, - "node_modules/@tensorflow/tfjs-core/dist/gradients/ZerosLike_grad.js": { - "bytesInOutput": 51 - }, - "node_modules/@tensorflow/tfjs-core/dist/register_all_gradients.js": { - "bytesInOutput": 343 - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_constraints.js": { - "bytesInOutput": 206 - }, - "node_modules/@tensorflow/tfjs-layers/dist/backend/common.js": { - "bytesInOutput": 96 - }, - "node_modules/@tensorflow/tfjs-layers/dist/errors.js": { - "bytesInOutput": 542 - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/generic_utils.js": { - "bytesInOutput": 3474 - }, - "node_modules/@tensorflow/tfjs-layers/dist/constraints.js": { - "bytesInOutput": 1841 - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_initializers.js": { - "bytesInOutput": 766 - }, - "node_modules/@tensorflow/tfjs-layers/dist/keras_format/common.js": { - "bytesInOutput": 144 - }, - "node_modules/@tensorflow/tfjs-layers/dist/common.js": { - "bytesInOutput": 706 - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/math_utils.js": { - "bytesInOutput": 441 - }, - "node_modules/@tensorflow/tfjs-layers/dist/backend/tfjs_backend.js": { - "bytesInOutput": 4919 - }, - "node_modules/@tensorflow/tfjs-layers/dist/keras_format/initializer_config.js": { - "bytesInOutput": 77 - }, - "node_modules/@tensorflow/tfjs-layers/dist/initializers.js": { - "bytesInOutput": 6267 - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_layers.js": { - "bytesInOutput": 3586 - }, - "node_modules/@tensorflow/tfjs-layers/dist/backend/state.js": { - "bytesInOutput": 117 - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/types_utils.js": { - "bytesInOutput": 430 - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/variable_utils.js": { - "bytesInOutput": 101 - }, - "node_modules/@tensorflow/tfjs-layers/dist/variables.js": { - "bytesInOutput": 1018 - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/topology.js": { - "bytesInOutput": 11560 - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/input_layer.js": { - "bytesInOutput": 1960 - }, - "node_modules/@tensorflow/tfjs-layers/dist/logs.js": { - "bytesInOutput": 332 - }, - "node_modules/@tensorflow/tfjs-layers/dist/base_callbacks.js": { - "bytesInOutput": 4775 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/serialization.js": { - "bytesInOutput": 91 - }, - "node_modules/@tensorflow/tfjs-layers/dist/losses.js": { - "bytesInOutput": 2411 - }, - "node_modules/@tensorflow/tfjs-layers/dist/metrics.js": { - "bytesInOutput": 1426 - }, - "node_modules/@tensorflow/tfjs-layers/dist/optimizers.js": { - "bytesInOutput": 393 - }, - "node_modules/@tensorflow/tfjs-layers/dist/user_defined_metadata.js": { - "bytesInOutput": 842 - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/layer_utils.js": { - "bytesInOutput": 1880 - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/serialization_utils.js": { - "bytesInOutput": 885 - }, - "node_modules/@tensorflow/tfjs-layers/dist/version.js": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/executor.js": { - "bytesInOutput": 3705 - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/container.js": { - "bytesInOutput": 12541 - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/training_utils.js": { - "bytesInOutput": 1678 - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/training_dataset.js": { - "bytesInOutput": 5966 - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/training_tensors.js": { - "bytesInOutput": 3802 - }, - "node_modules/@tensorflow/tfjs-layers/dist/engine/training.js": { - "bytesInOutput": 16837 - }, - "node_modules/@tensorflow/tfjs-layers/dist/models.js": { - "bytesInOutput": 7760 - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports.js": { - "bytesInOutput": 193 - }, - "node_modules/@tensorflow/tfjs-layers/dist/activations.js": { - "bytesInOutput": 1600 - }, - "node_modules/@tensorflow/tfjs-layers/dist/regularizers.js": { - "bytesInOutput": 1066 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/advanced_activations.js": { - "bytesInOutput": 3222 - }, - "node_modules/@tensorflow/tfjs-layers/dist/utils/conv_utils.js": { - "bytesInOutput": 660 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional.js": { - "bytesInOutput": 15979 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_depthwise.js": { - "bytesInOutput": 2350 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/recurrent.js": { - "bytesInOutput": 21973 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/convolutional_recurrent.js": { - "bytesInOutput": 6609 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/core.js": { - "bytesInOutput": 7021 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/embeddings.js": { - "bytesInOutput": 2137 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/merge.js": { - "bytesInOutput": 8255 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/noise.js": { - "bytesInOutput": 1536 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/normalization.js": { - "bytesInOutput": 5936 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/padding.js": { - "bytesInOutput": 2180 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/pooling.js": { - "bytesInOutput": 6848 - }, - "node_modules/@tensorflow/tfjs-layers/dist/layers/wrappers.js": { - "bytesInOutput": 6222 - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_metrics.js": { - "bytesInOutput": 852 - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_models.js": { - "bytesInOutput": 40 - }, - "node_modules/@tensorflow/tfjs-layers/dist/exports_regularizers.js": { - "bytesInOutput": 145 - }, - "node_modules/@tensorflow/tfjs-layers/dist/index.js": { - "bytesInOutput": 0 - }, - "node_modules/@tensorflow/tfjs-layers/dist/callbacks.js": { - "bytesInOutput": 1697 - }, - "node_modules/@tensorflow/tfjs-converter/dist/data/compiled_api.js": { - "bytesInOutput": 1173 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/custom_op/register.js": { - "bytesInOutput": 164 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/utils.js": { - "bytesInOutput": 1145 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/arithmetic.js": { - "bytesInOutput": 2910 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/basic_math.js": { - "bytesInOutput": 6656 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/control.js": { - "bytesInOutput": 7161 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/convolution.js": { - "bytesInOutput": 6591 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/creation.js": { - "bytesInOutput": 2757 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/dynamic.js": { - "bytesInOutput": 1658 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/evaluation.js": { - "bytesInOutput": 417 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/graph.js": { - "bytesInOutput": 1593 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/hash_table.js": { - "bytesInOutput": 1838 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/image.js": { - "bytesInOutput": 1013 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/logical.js": { - "bytesInOutput": 2060 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/matrices.js": { - "bytesInOutput": 1713 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/normalization.js": { - "bytesInOutput": 2073 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/reduction.js": { - "bytesInOutput": 2120 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/slice_join.js": { - "bytesInOutput": 3409 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/spectral.js": { - "bytesInOutput": 478 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/op_list/transformation.js": { - "bytesInOutput": 1958 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/operation_mapper.js": { - "bytesInOutput": 6219 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/custom_op/node_value_impl.js": { - "bytesInOutput": 970 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/arithmetic_executor.js": { - "bytesInOutput": 751 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/basic_math_executor.js": { - "bytesInOutput": 1762 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_utils.js": { - "bytesInOutput": 214 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_array.js": { - "bytesInOutput": 4188 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/tensor_list.js": { - "bytesInOutput": 4531 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/control_executor.js": { - "bytesInOutput": 4753 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/convolution_executor.js": { - "bytesInOutput": 3336 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/creation_executor.js": { - "bytesInOutput": 1047 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/dynamic_executor.js": { - "bytesInOutput": 1136 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/evaluation_executor.js": { - "bytesInOutput": 361 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/graph_executor.js": { - "bytesInOutput": 993 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/hash_table.js": { - "bytesInOutput": 1161 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/hash_table_executor.js": { - "bytesInOutput": 587 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/image_executor.js": { - "bytesInOutput": 635 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/logical_executor.js": { - "bytesInOutput": 649 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/matrices_executor.js": { - "bytesInOutput": 831 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/normalization_executor.js": { - "bytesInOutput": 704 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/reduction_executor.js": { - "bytesInOutput": 1139 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/slice_join_executor.js": { - "bytesInOutput": 1817 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/spectral_executor.js": { - "bytesInOutput": 240 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/executors/transformation_executor.js": { - "bytesInOutput": 875 - }, - "node_modules/@tensorflow/tfjs-converter/dist/operations/operation_executor.js": { - "bytesInOutput": 1110 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/execution_context.js": { - "bytesInOutput": 2061 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/model_analysis.js": { - "bytesInOutput": 1429 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/graph_executor.js": { - "bytesInOutput": 7656 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/resource_manager.js": { - "bytesInOutput": 506 - }, - "node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.js": { - "bytesInOutput": 3715 - }, - "node_modules/@tensorflow/tfjs-converter/dist/index.js": { - "bytesInOutput": 0 - }, - "node_modules/@tensorflow/tfjs-converter/dist/version.js": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-data/dist/index.js": { - "bytesInOutput": 234 - }, - "node_modules/@tensorflow/tfjs-data/dist/dataset.js": { - "bytesInOutput": 3474 - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/lazy_iterator.js": { - "bytesInOutput": 8089 - }, - "node_modules/@tensorflow/tfjs-data/dist/util/deep_map.js": { - "bytesInOutput": 1591 - }, - "node_modules/@tensorflow/tfjs-data/dist/util/deep_clone.js": { - "bytesInOutput": 151 - }, - "node_modules/@tensorflow/tfjs-data/dist/util/ring_buffer.js": { - "bytesInOutput": 1497 - }, - "node_modules/@tensorflow/tfjs-data/dist/util/growing_ring_buffer.js": { - "bytesInOutput": 428 - }, - "node_modules/@tensorflow/tfjs-data/dist/datasets/text_line_dataset.js": { - "bytesInOutput": 187 - }, - "node_modules/@tensorflow/tfjs-data/dist/datasets/csv_dataset.js": { - "bytesInOutput": 3822 - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/microphone_iterator.js": { - "bytesInOutput": 3488 - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/webcam_iterator.js": { - "bytesInOutput": 2989 - }, - "node_modules/@tensorflow/tfjs-data/dist/datasource.js": { - "bytesInOutput": 15 - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/string_iterator.js": { - "bytesInOutput": 688 - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/byte_chunk_iterator.js": { - "bytesInOutput": 671 - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/file_chunk_iterator.js": { - "bytesInOutput": 989 - }, - "node_modules/@tensorflow/tfjs-data/dist/iterators/url_chunk_iterator.js": { - "bytesInOutput": 383 - }, - "node_modules/@tensorflow/tfjs-data/dist/util/source_util.js": { - "bytesInOutput": 68 - }, - "node_modules/@tensorflow/tfjs-data/dist/sources/file_data_source.js": { - "bytesInOutput": 245 - }, - "node_modules/@tensorflow/tfjs-data/dist/sources/url_data_source.js": { - "bytesInOutput": 196 - }, - "node_modules/@tensorflow/tfjs-data/dist/readers.js": { - "bytesInOutput": 259 - }, - "node_modules/@tensorflow/tfjs-data/dist/version.js": { - "bytesInOutput": 15 + "src/tfjs/tf-node-gpu.ts": { + "bytesInOutput": 62 } }, - "bytes": 1071825 + "bytes": 690 } } } diff --git a/wiki b/wiki index d365c4e4..aa8ee9c5 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit d365c4e487508181811ea7ff1a26d682ef6896b7 +Subproject commit aa8ee9c5f64aed1d16bb9e5a8435bb0a538e0372