diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dd095d..03185d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ ## Changelog -### **HEAD -> master** 2022/08/24 mandic00@live.com +### **HEAD -> master** 2022/09/04 mandic00@live.com ### **1.7.3** 2022/08/24 mandic00@live.com diff --git a/demo/node-face-compare.js b/demo/node-face-compare.js new file mode 100644 index 0000000..550d163 --- /dev/null +++ b/demo/node-face-compare.js @@ -0,0 +1,35 @@ +/** + * FaceAPI demo that loads two images and finds similarity most prominant face in each image + */ + +const fs = require('fs'); +const tf = require('@tensorflow/tfjs-node'); +const faceapi = require('../dist/face-api.node'); + +let optionsSSDMobileNet; + +const getDescriptors = async (imageFile) => { + const buffer = fs.readFileSync(imageFile); + const tensor = tf.node.decodeImage(buffer, 3); + const faces = await faceapi.detectAllFaces(tensor, optionsSSDMobileNet) + .withFaceLandmarks() + .withFaceDescriptors(); + tf.dispose(tensor); + return faces.map((face) => face.descriptor); +}; + +const main = async (file1, file2) => { + console.log('input images:', file1, file2); // eslint-disable-line no-console + await tf.ready(); + await faceapi.nets.ssdMobilenetv1.loadFromDisk('model'); + optionsSSDMobileNet = new faceapi.SsdMobilenetv1Options({ minConfidence: 0.5, maxResults: 1 }); + await faceapi.nets.faceLandmark68Net.loadFromDisk('model'); + await faceapi.nets.faceRecognitionNet.loadFromDisk('model'); + const desc1 = await getDescriptors(file1); + const desc2 = await getDescriptors(file2); + const distance = faceapi.euclideanDistance(desc1[0], desc2[0]); // only compare first found face in each image + console.log('distance between most prominant detected faces:', distance); // eslint-disable-line no-console + console.log('similarity between most prominant detected faces:', 1 - distance); // eslint-disable-line no-console +}; + +main('demo/sample1.jpg', 'demo/sample2.jpg'); diff --git a/dist/face-api.esm-nobundle.js b/dist/face-api.esm-nobundle.js index 2613ae9..ecbf24e 100644 --- a/dist/face-api.esm-nobundle.js +++ b/dist/face-api.esm-nobundle.js @@ -4,4 +4,4 @@ author: ' */ -var lr=Object.defineProperty;var ho=Object.getOwnPropertyDescriptor;var bo=Object.getOwnPropertyNames;var go=Object.prototype.hasOwnProperty;var xo=(o=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(o,{get:(t,e)=>(typeof require!="undefined"?require:t)[e]}):o)(function(o){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var Ve=(o,t)=>{for(var e in t)lr(o,e,{get:t[e],enumerable:!0})},fr=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of bo(t))!go.call(o,a)&&a!==e&&lr(o,a,{get:()=>t[a],enumerable:!(r=ho(t,a))||r.enumerable});return o},v=(o,t,e)=>(fr(o,t,"default"),e&&fr(e,t,"default"));var n={};Ve(n,{version:()=>Eo});v(n,fn);v(n,ln);v(n,dn);import*as fn from"@tensorflow/tfjs/dist/index.js";import*as ln from"@tensorflow/tfjs-backend-webgl/dist/index.js";import*as dn from"@tensorflow/tfjs-backend-wasm/dist/index.js";var vo="3.20.0",yo="3.20.0",_o="3.20.0",To="3.20.0",Po="3.20.0",wo="3.20.0",Fo="3.20.0",Do="3.20.0",Eo={tfjs:vo,"tfjs-core":yo,"tfjs-data":_o,"tfjs-layers":To,"tfjs-converter":Po,"tfjs-backend-cpu":wo,"tfjs-backend-webgl":Fo,"tfjs-backend-wasm":Do};var Ar={};Ve(Ar,{AnchorPosition:()=>Ke,DrawBox:()=>ee,DrawBoxOptions:()=>de,DrawFaceLandmarks:()=>De,DrawFaceLandmarksOptions:()=>Fe,DrawTextField:()=>et,DrawTextFieldOptions:()=>kt,drawContour:()=>Z,drawDetections:()=>Ao,drawFaceExpressions:()=>Wo,drawFaceLandmarks:()=>Bo});function Z(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:a},s)=>{let i=t[s];o.moveTo(i.x,i.y),o.lineTo(r,a)}),e){let r=t[t.length-1],a=t[0];if(!r||!a)return;o.moveTo(r.x,r.y),o.lineTo(a.x,a.y)}o.stroke()}var dr={};Ve(dr,{computeReshapedDimensions:()=>je,getCenterPoint:()=>yt,isDimensions:()=>ue,isEven:()=>pe,isFloat:()=>Ge,isTensor:()=>xt,isTensor1D:()=>Mo,isTensor2D:()=>Ye,isTensor3D:()=>K,isTensor4D:()=>R,isValidNumber:()=>G,isValidProbablitiy:()=>It,range:()=>U,round:()=>vt});var S=class{constructor(t,e){if(!G(t)||!G(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new S(1/this.width,1/this.height)}};function xt(o,t){return o instanceof n.Tensor&&o.shape.length===t}function Mo(o){return xt(o,1)}function Ye(o){return xt(o,2)}function K(o){return xt(o,3)}function R(o){return xt(o,4)}function Ge(o){return o%1!==0}function pe(o){return o%2===0}function vt(o,t=2){let e=10**t;return Math.floor(o*e)/e}function ue(o){return o&&o.width&&o.height}function je({width:o,height:t},e){let r=e/Math.max(t,o);return new S(Math.round(o*r),Math.round(t*r))}function yt(o){return o.reduce((t,e)=>t.add(e),new b(0,0)).div(new b(o.length,o.length))}function U(o,t,e){return Array(o).fill(0).map((r,a)=>t+a*e)}function G(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function It(o){return G(o)&&o>=0&&o<=1}var b=class{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new b(this.x+t.x,this.y+t.y)}sub(t){return new b(this.x-t.x,this.y-t.y)}mul(t){return new b(this.x*t.x,this.y*t.y)}div(t){return new b(this.x/t.x,this.y/t.y)}abs(){return new b(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new b(Math.floor(this.x),Math.floor(this.y))}};var w=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(G)}static assertIsValidBox(t,e,r=!1){if(!w.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},a=[r.left,r.top,r.right,r.bottom].every(G),s=[r.x,r.y,r.width,r.height].every(G);if(!s&&!a)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[i,c,m,p]=s?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];w.assertIsValidBox({x:i,y:c,width:m,height:p},"Box.constructor",e),this._x=i,this._y=c,this._width=m,this._height=p}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new b(this.left,this.top)}get topRight(){return new b(this.right,this.top)}get bottomLeft(){return new b(this.left,this.bottom)}get bottomRight(){return new b(this.right,this.bottom)}round(){let[t,e,r,a]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new w({x:t,y:e,width:r,height:a})}floor(){let[t,e,r,a]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new w({x:t,y:e,width:r,height:a})}toSquare(){let{x:t,y:e,width:r,height:a}=this,s=Math.abs(r-a);return re&&(c=-f+e+r,f=e),l>t&&(m=-l+t+a,l=t),p<1&&(m=2-p,p=1),u<1&&(m=2-u,u=1),{dy:i,edy:m,dx:s,edx:c,y:u,ey:l,x:p,ex:f,w:r,h:a}}calibrate(t){return new w({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Nt=class extends w{constructor(t,e,r,a,s=!1){super({left:t,top:e,right:r,bottom:a},s)}};var ct=class{constructor(t,e,r,a,s){this._imageDims=new S(s.width,s.height),this._score=t,this._classScore=e,this._className=r,this._box=new w(a).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new w(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new ct(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var E=class extends ct{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:a,imageDims:s}=super.forSize(t,e);return new E(r,a,s)}};function hr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),a=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),s=r*a;return e?s/(o.area+t.area-s):s/Math.min(o.area,t.area)}function br(o){let t=o.map(c=>c.x),e=o.map(c=>c.y),r=t.reduce((c,m)=>mmcc({score:i,boxIndex:c})).sort((i,c)=>i.score-c.score).map(i=>i.boxIndex),s=[];for(;a.length>0;){let i=a.pop();s.push(i);let c=a,m=[];for(let p=0;pm[u]<=e)}return s}function X(o,t){return n.tidy(()=>{let[e,r,a]=t,s=n.fill([...o.shape.slice(0,3),1],e,"float32"),i=n.fill([...o.shape.slice(0,3),1],r,"float32"),c=n.fill([...o.shape.slice(0,3),1],a,"float32"),m=n.concat([s,i,c],3);return n.sub(o,m)})}function xr(o,t=!1){return n.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let a=Math.abs(e-r),s=Math.round(a*(t?.5:1)),i=e>r?2:1,c=l=>{let d=o.shape.slice();return d[i]=l,n.fill(d,0,"float32")},m=c(s),p=a-m.shape[i],f=[t&&p?c(p):null,o,m].filter(l=>!!l).map(l=>n.cast(l,"float32"));return n.concat(f,i)})}function Hn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),a=t[e];t[e]=t[r],t[r]=a}return t}function fe(o){return 1/(1+Math.exp(-o))}function Vn(o){return Math.log(o/(1-o))}var St=class extends w{constructor(t,e,r,a,s=!1){super({x:t,y:e,width:r,height:a},s)}};var Co=.5,Io=.43,No=.45,$=class{constructor(t,e,r=new b(0,0)){let{width:a,height:s}=e;this._imgDims=new S(a,s),this._shift=r,this._positions=t.map(i=>i.mul(new b(a,s)).add(r))}get shift(){return new b(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new b(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new b(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let s=t instanceof E?t.box.floor():new w(t);return this.shiftBy(s.x,s.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:a}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(a)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,a]=t,s=f=>a.sub(f).magnitude(),i=(s(e)+s(r))/2,c=Math.floor(i/No),m=yt(t),p=Math.floor(Math.max(0,m.x-Co*c)),u=Math.floor(Math.max(0,m.y-Io*c));return new St(p,u,Math.min(c,this.imageWidth+p),Math.min(c,this.imageHeight+u))}alignMinBbox(t){let e=br(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var vr=class extends ${getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],yt([t[3],t[4]])]}};var Lt=class extends ${getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(yt)}};var Kt=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${vt(this.distance)})`:""}`}};var Qt=class extends w{constructor(e,r){super(e);this._label=r}static assertIsValidLabeledBox(e,r){if(w.assertIsValidBox(e,r),!G(e.label))throw new Error(`${r} - expected property label (${e.label}) to be a number`)}get label(){return this._label}};var Q=class{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new Q(t.label,e)}};var yr=class extends Qt{constructor(e,r,a,s){super(e,r);this._score=a,this._classScore=s}static assertIsValidPredictedBox(e,r){if(Qt.assertIsValidLabeledBox(e,r),!It(e.score)||!It(e.classScore))throw new Error(`${r} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function tt(o){return o.detection instanceof E}function At(o,t){return{...o,...{detection:t}}}function Ue(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function te(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function le(o){let t="";if(!o&&te())try{o=xo("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((a,s)=>{o.readFile(r,(i,c)=>i?s(i):a(c))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Xe(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},a=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,c=le();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:a,createVideoElement:s,fetch:i,...c}}function Je(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var C;function So(){if(!C)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return C}function qe(o){C=o}function Ze(){return Je()?qe(Ue()):te()?qe(Xe()):null}function Lo(o){if(C||Ze(),!C)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=C.Canvas,Image:e=C.Image}=o;C.Canvas=t,C.Image=e,C.createCanvasElement=o.createCanvasElement||(()=>new t),C.createImageElement=o.createImageElement||(()=>new e),C.ImageData=o.ImageData||C.ImageData,C.Video=o.Video||C.Video,C.fetch=o.fetch||C.fetch,C.readFile=o.readFile||C.readFile}var T={getEnv:So,setEnv:qe,initialize:Ze,createBrowserEnv:Ue,createFileSystem:le,createNodejsEnv:Xe,monkeyPatch:Lo,isBrowser:Je,isNodejs:te};Ze();function Wt(o){return!T.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function k(o){let{Canvas:t,CanvasRenderingContext2D:e}=T.getEnv();if(o instanceof e)return o;let r=Wt(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let a=r.getContext("2d");if(!a)throw new Error("resolveContext2d - canvas 2d context is null");return a}var Ke=(a=>(a.TOP_LEFT="TOP_LEFT",a.TOP_RIGHT="TOP_RIGHT",a.BOTTOM_LEFT="BOTTOM_LEFT",a.BOTTOM_RIGHT="BOTTOM_RIGHT",a))(Ke||{}),kt=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:a,fontSize:s,fontStyle:i,padding:c}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=a||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=c||4}},et=class{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof et?t.text:t,this.anchor=e,this.options=new kt(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,a)=>r{let g=m+f.x,_=m+f.y+(d+1)*i;r.fillText(l,g,_)})}};var de=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:a,drawLabelOptions:s}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=a;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new kt({...i,...s})}},ee=class{constructor(t,e={}){this.box=new w(t),this.options=new de(e)}draw(t){let e=k(t),{boxColor:r,lineWidth:a}=this.options,{x:s,y:i,width:c,height:m}=this.box;e.strokeStyle=r,e.lineWidth=a,e.strokeRect(s,i,c,m);let{label:p}=this.options;p&&new et([p],{x:s-a/2,y:i},this.options.drawLabelOptions).draw(t)}};function Ao(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let a=r instanceof E?r.score:tt(r)?r.detection.score:void 0,s=r instanceof E?r.box:tt(r)?r.detection.box:new w(r),i=a?`${vt(a)}`:void 0;new ee(s,{label:i}).draw(o)})}function he(o){let{Image:t,Video:e}=T.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function _r(o){return new Promise((t,e)=>{(o instanceof T.getEnv().Canvas||he(o))&&t(null);function r(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",a),s.currentTarget.removeEventListener("error",r),e(s))}function a(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",a),s.currentTarget.removeEventListener("error",r),t(s))}o.addEventListener("load",a),o.addEventListener("error",r)})}function Tr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let a=T.getEnv().createImageElement();a.onload=()=>t(a),a.onerror=e,a.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Bt(o){let{Image:t,Video:e}=T.getEnv();return o instanceof t?new S(o.naturalWidth,o.naturalHeight):o instanceof e?new S(o.videoWidth,o.videoHeight):new S(o.width,o.height)}function Rt({width:o,height:t}){let{createCanvasElement:e}=T.getEnv(),r=e();return r.width=o,r.height=t,r}function be(o,t){let{ImageData:e}=T.getEnv();if(!(o instanceof e)&&!he(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:a}=t||Bt(o),s=Rt({width:r,height:a});return o instanceof e?k(s).putImageData(o,0,0):k(s).drawImage(o,0,0,r,a),s}async function Pr(o,t){let e=t||T.getEnv().createCanvasElement(),[r,a,s]=o.shape.slice(R(o)?1:0),i=n.tidy(()=>o.as3D(r,a,s).toInt());return await n.browser.toPixels(i,e),i.dispose(),e}function Qe(o){let{Image:t,Canvas:e,Video:r}=T.getEnv();return o instanceof t||o instanceof e||o instanceof r}function wr(o,t,e=!1){let{Image:r,Canvas:a}=T.getEnv();if(!(o instanceof r||o instanceof a))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Rt({width:1,height:1});let s=Bt(o),i=t/Math.max(s.height,s.width),c=i*s.width,m=i*s.height,p=Rt({width:t,height:t}),u=o instanceof a?o:be(o),f=Math.abs(c-m)/2,l=e&&c0&&u.height>0&&k(p).drawImage(u,l,d,c,m),p}var rt=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,a)=>{if(K(r)){this._imageTensors[a]=r,this._inputDimensions[a]=r.shape;return}if(R(r)){let i=r.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[a]=r,this._inputDimensions[a]=r.shape.slice(1);return}let s=r instanceof T.getEnv().Canvas?r:be(r);this._canvases[a]=s,this._inputDimensions[a]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return U(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return je({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,n.tidy(()=>{let r=U(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof n.Tensor){let c=R(i)?i:n.expandDims(i);return c=xr(c,e),(c.shape[1]!==t||c.shape[2]!==t)&&(c=n.image.resizeBilinear(c,[t,t],!1,!1)),c.as3D(t,t,3)}if(i instanceof T.getEnv().Canvas)return n.browser.fromPixels(wr(i,t,e));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return n.stack(r.map(s=>n.cast(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function M(o){if(o instanceof rt)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=a=>Array.isArray(o)?` at input index ${a}:`:"",r=t.map(Wt);return r.forEach((a,s)=>{if(!Qe(a)&&!K(a)&&!R(a))throw typeof t[s]=="string"?new Error(`toNetInput -${e(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${e(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(R(a)){let i=a.shape[0];if(i!==1)throw new Error(`toNetInput -${e(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(r.map(a=>Qe(a)&&_r(a))),new rt(r,Array.isArray(o))}async function re(o,t){let{Canvas:e}=T.getEnv(),r=o;if(!(o instanceof e)){let i=await M(o);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let c=i.getInput(0);r=c instanceof e?c:await Pr(c)}let a=k(r);return t.map(i=>i instanceof E?i.forSize(r.width,r.height).box.floor():i).map(i=>i.clipAtImageBorders(r.width,r.height)).map(({x:i,y:c,width:m,height:p})=>{let u=Rt({width:m,height:p});return m>0&&p>0&&k(u).putImageData(a.getImageData(i,c,m,p),0,0),u})}async function oe(o,t){if(!K(o)&&!R(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(R(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return n.tidy(()=>{let[e,r,a]=o.shape.slice(R(o)?1:0);return t.map(c=>c instanceof E?c.forSize(r,e).box:c).map(c=>c.clipAtImageBorders(r,e)).filter(c=>c.width>0&&c.height>0).map(({x:c,y:m,width:p,height:u})=>n.slice3d(o.as3D(e,r,a),[m,c,0],[u,p,a]))})}async function mt(o,t){let{fetch:e}=T.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function Mi(o){let t=await mt(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return Tr(e)}async function Fr(o){return(await mt(o)).json()}async function Li(o){return new Float32Array(await(await mt(o)).arrayBuffer())}function Dr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=T.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function $i(o){let t=await mt(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return Dr(e)}function ge(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let a=o.split("/").filter(c=>c),s=o.endsWith(".json")?a[a.length-1]:e,i=r+(o.endsWith(".json")?a.slice(0,a.length-1):a).join("/");return i=o.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function Er(o,t){let{manifestUri:e,modelBaseUri:r}=ge(o,t),a=await Fr(e);return n.io.loadWeights(a,r)}function ji(o,t,e=!1){let{width:r,height:a}=e?Bt(t):t;return o.width=r,o.height=a,{width:r,height:a}}var I=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:a}=this.traversePropertyPath(t);r[a].dispose(),r[a]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof n.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof n.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=n.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await Er(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=T.getEnv(),{manifestUri:r,modelBaseUri:a}=ge(t,this.getDefaultModelName()),s=p=>Promise.all(p.map(u=>e(u).then(f=>f.buffer))),i=n.io.weightsLoaderFactory(s),c=JSON.parse((await e(r)).toString()),m=await i(c,a);this.loadFromWeightMap(m)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:r,objProp:a}=e;if(!r||!a||!(r[a]instanceof n.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:a}}};function W(o,t,e){return n.tidy(()=>{let r=n.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=n.add(r,t.bias),r})}function xe(o,t,e=!1){return n.tidy(()=>{let r=n.relu(e?n.add(n.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):W(o,t.conv0,[2,2])),a=W(r,t.conv1,[1,1]),s=n.relu(n.add(r,a)),i=W(s,t.conv2,[1,1]);return n.relu(n.add(r,n.add(a,i)))})}function ne(o,t,e=!1,r=!0){return n.tidy(()=>{let a=n.relu(e?n.add(n.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):W(o,t.conv0,r?[2,2]:[1,1])),s=W(a,t.conv1,[1,1]),i=n.relu(n.add(a,s)),c=W(i,t.conv2,[1,1]),m=n.relu(n.add(a,n.add(s,c))),p=W(m,t.conv3,[1,1]);return n.relu(n.add(a,n.add(s,n.add(c,p))))})}function _t(o,t,e="same",r=!1){return n.tidy(()=>{let a=n.add(n.conv2d(o,t.filters,[1,1],e),t.bias);return r?n.relu(a):a})}function L(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}function $t(o,t){return(e,r,a,s)=>{let i=n.tensor4d(o(e*r*a*a),[a,a,e,r]),c=n.tensor1d(o(r));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:c}}}function ve(o,t){return(e,r,a)=>{let s=n.tensor2d(o(e*r),[e,r]),i=n.tensor1d(o(r));return t.push({paramPath:`${a}/weights`},{paramPath:`${a}/bias`}),{weights:s,bias:i}}}var ae=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function Ot(o,t){return(e,r,a)=>{let s=n.tensor4d(o(9*e),[3,3,e,1]),i=n.tensor4d(o(e*r),[1,1,e,r]),c=n.tensor1d(o(r));return t.push({paramPath:`${a}/depthwise_filter`},{paramPath:`${a}/pointwise_filter`},{paramPath:`${a}/bias`}),new ae(s,i,c)}}function Ht(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),a=o(`${t}/bias`,1);return new ae(e,r,a)}}function B(o,t){return(e,r,a)=>{let s=o[e];if(!xt(s,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${s}`);return t.push({originalPath:e,paramPath:a||e}),s}}function A(o){let t=o;function e(a){let s=t.slice(0,a);return t=t.slice(a),s}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function ye(o,t){let e=$t(o,t),r=Ot(o,t);function a(i,c,m,p=!1){let u=p?e(i,c,3,`${m}/conv0`):r(i,c,`${m}/conv0`),f=r(c,c,`${m}/conv1`),l=r(c,c,`${m}/conv2`);return{conv0:u,conv1:f,conv2:l}}function s(i,c,m,p=!1){let{conv0:u,conv1:f,conv2:l}=a(i,c,m,p),d=r(c,c,`${m}/conv3`);return{conv0:u,conv1:f,conv2:l,conv3:d}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:s}}function Mr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=A(o),{extractDenseBlock4Params:a}=ye(e,t),s=a(3,32,"dense0",!0),i=a(32,64,"dense1"),c=a(64,128,"dense2"),m=a(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:c,dense3:m}}}function _e(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function Te(o,t){let e=B(o,t),r=_e(e),a=Ht(e);function s(c,m=!1){let p=m?r(`${c}/conv0`):a(`${c}/conv0`),u=a(`${c}/conv1`),f=a(`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function i(c,m=!1){let p=m?r(`${c}/conv0`):a(`${c}/conv0`),u=a(`${c}/conv1`),f=a(`${c}/conv2`),l=a(`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function Cr(o){let t=[],{extractDenseBlock4Params:e}=Te(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return L(o,t),{params:r,paramMappings:t}}var zt=class extends I{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),s=X(r,[122.782,117.001,104.298]).div(255),i=ne(s,e.dense0,!0);return i=ne(i,e.dense1),i=ne(i,e.dense2),i=ne(i,e.dense3),i=n.avgPool(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await M(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Cr(t)}extractParams(t){return Mr(t)}};function se(o,t){return n.tidy(()=>n.add(n.matMul(o,t.weights),t.bias))}function Ir(o,t,e){let r=[],{extractWeights:a,getRemainingWeights:s}=A(o),c=ve(a,r)(t,e,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:r,params:{fc:c}}}function Nr(o){let t=[],e=B(o,t);function r(s){let i=e(`${s}/weights`,2),c=e(`${s}/bias`,1);return{weights:i,bias:c}}let a={fc:r("fc")};return L(o,t),{params:a,paramMappings:t}}function Pe(o){let t={},e={};return Object.keys(o).forEach(r=>{let a=r.startsWith("fc")?e:t;a[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var Vt=class extends I{constructor(e,r){super(e);this._faceFeatureExtractor=r}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return n.tidy(()=>{let a=e instanceof rt?this.faceFeatureExtractor.forwardInput(e):e;return se(a.as2D(a.shape[0],-1),r.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:a}=this.extractClassifierParams(e);this._params=r,this._paramMappings=a}extractClassifierParams(e){return Ir(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:a}=Pe(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Nr(a)}extractParams(e){let r=this.getClassifierChannelsIn(),a=this.getClassifierChannelsOut(),s=a*r+a,i=e.slice(0,e.length-s),c=e.slice(e.length-s);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(c)}};var Sr=["neutral","happy","sad","angry","fearful","disgusted","surprised"],pt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);Sr.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return Sr.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var we=class extends Vt{constructor(t=new zt){super("FaceExpressionNet",t)}forwardInput(t){return n.tidy(()=>n.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await M(t))}async predictExpressions(t){let e=await M(t),r=await this.forwardInput(e),a=await Promise.all(n.unstack(r).map(async i=>{let c=i.dataSync();return i.dispose(),c}));r.dispose();let s=a.map(i=>new pt(i));return e.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function Lr(o){return o.expressions instanceof pt}function tr(o,t){return{...o,...{expressions:t}}}function Wo(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof pt?s:Lr(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let m=i.asSortedArray().filter(f=>f.probability>e),p=tt(s)?s.detection.box.bottomLeft:r||new b(0,0);new et(m.map(f=>`${f.expression} (${vt(f.probability)})`),p).draw(o)})}function Yt(o){return tt(o)&&o.landmarks instanceof $&&o.unshiftedLandmarks instanceof $&&o.alignedRect instanceof E}function ko(o){let t=(c,m,p,u)=>Math.atan2(u-m,p-c)%Math.PI,e=c=>c*180/Math.PI,r={roll:void 0,pitch:void 0,yaw:void 0};if(!o||!o._positions||o._positions.length!==68)return r;let a=o._positions;r.roll=-t(a[36]._x,a[36]._y,a[45]._x,a[45]._y),r.pitch=t(0,Math.abs(a[0]._x-a[30]._x)/a[30]._x,Math.PI,Math.abs(a[16]._x-a[30]._x)/a[30]._x);let s=a.reduce((c,m)=>cc>m._y?c:m._y,-1/0);return r.yaw=Math.PI*(o._imgDims._height/(i-s)/1.4-1),r}function ie(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),a=r.align(),{imageDims:s}=o.detection,i=new E(o.detection.score,a.rescale(s.reverse()),s),c=ko(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:i,angle:c}}}var Fe=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:a,lineColor:s,pointSize:i,pointColor:c}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=a||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=c||"rgba(255, 0, 255, 1)"}},De=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new Fe(e)}draw(t){let e=k(t),{drawLines:r,drawPoints:a,lineWidth:s,lineColor:i,pointSize:c,pointColor:m}=this.options;if(r&&this.faceLandmarks instanceof Lt&&(e.strokeStyle=i,e.lineWidth=s,Z(e,this.faceLandmarks.getJawOutline()),Z(e,this.faceLandmarks.getLeftEyeBrow()),Z(e,this.faceLandmarks.getRightEyeBrow()),Z(e,this.faceLandmarks.getNose()),Z(e,this.faceLandmarks.getLeftEye(),!0),Z(e,this.faceLandmarks.getRightEye(),!0),Z(e,this.faceLandmarks.getMouth(),!0)),a){e.strokeStyle=m,e.fillStyle=m;let p=u=>{e.beginPath(),e.arc(u.x,u.y,c,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(p)}}};function Bo(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let a=r instanceof $?r:Yt(r)?r.landmarks:void 0;if(!a)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new De(a).draw(o)})}var Wr="1.7.3";function Oo(o,t){let e=$t(o,t),r=Ot(o,t);function a(i,c,m){let p=r(i,c,`${m}/separable_conv0`),u=r(c,c,`${m}/separable_conv1`),f=e(i,c,1,`${m}/expansion_conv`);return{separable_conv0:p,separable_conv1:u,expansion_conv:f}}function s(i,c){let m=r(i,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=r(i,i,`${c}/separable_conv2`);return{separable_conv0:m,separable_conv1:p,separable_conv2:u}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:a,extractMainBlockParams:s}}function kr(o,t){let e=[],{extractWeights:r,getRemainingWeights:a}=A(o),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:c,extractMainBlockParams:m}=Oo(r,e),p=s(3,32,3,"entry_flow/conv_in"),u=c(32,64,"entry_flow/reduction_block_0"),f=c(64,128,"entry_flow/reduction_block_1"),l={conv_in:p,reduction_block_0:u,reduction_block_1:f},d={};U(t,0,1).forEach(h=>{d[`main_block_${h}`]=m(128,`middle_flow/main_block_${h}`)});let g=c(128,256,"exit_flow/reduction_block"),_=i(256,512,"exit_flow/separable_conv"),F={reduction_block:g,separable_conv:_};if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:e,params:{entry_flow:l,middle_flow:d,exit_flow:F}}}function Ho(o,t){let e=B(o,t),r=_e(e),a=Ht(e);function s(c){let m=a(`${c}/separable_conv0`),p=a(`${c}/separable_conv1`),u=r(`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function i(c){let m=a(`${c}/separable_conv0`),p=a(`${c}/separable_conv1`),u=a(`${c}/separable_conv2`);return{separable_conv0:m,separable_conv1:p,separable_conv2:u}}return{extractConvParams:r,extractSeparableConvParams:a,extractReductionBlockParams:s,extractMainBlockParams:i}}function Br(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:a,extractReductionBlockParams:s,extractMainBlockParams:i}=Ho(o,e),c=r("entry_flow/conv_in"),m=s("entry_flow/reduction_block_0"),p=s("entry_flow/reduction_block_1"),u={conv_in:c,reduction_block_0:m,reduction_block_1:p},f={};U(t,0,1).forEach(_=>{f[`main_block_${_}`]=i(`middle_flow/main_block_${_}`)});let l=s("exit_flow/reduction_block"),d=a("exit_flow/separable_conv"),g={reduction_block:l,separable_conv:d};return L(o,e),{params:{entry_flow:u,middle_flow:f,exit_flow:g},paramMappings:e}}function Rr(o,t,e){return n.add(n.conv2d(o,t.filters,e,"same"),t.bias)}function er(o,t,e=!0){let r=e?n.relu(o):o;return r=W(r,t.separable_conv0,[1,1]),r=W(n.relu(r),t.separable_conv1,[1,1]),r=n.maxPool(r,[3,3],[2,2],"same"),r=n.add(r,Rr(o,t.expansion_conv,[2,2])),r}function zo(o,t){let e=W(n.relu(o),t.separable_conv0,[1,1]);return e=W(n.relu(e),t.separable_conv1,[1,1]),e=W(n.relu(e),t.separable_conv2,[1,1]),e=n.add(e,o),e}var Ee=class extends I{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){let{params:r}=this;if(!r)throw new Error("TinyXception - load model before inference");return n.tidy(()=>{let a=n.cast(e.toBatchTensor(112,!0),"float32"),i=X(a,[122.782,117.001,104.298]).div(255),c=n.relu(Rr(i,r.entry_flow.conv_in,[2,2]));return c=er(c,r.entry_flow.reduction_block_0,!1),c=er(c,r.entry_flow.reduction_block_1),U(this._numMainBlocks,0,1).forEach(m=>{c=zo(c,r.middle_flow[`main_block_${m}`])}),c=er(c,r.exit_flow.reduction_block),c=n.relu(W(c,r.exit_flow.separable_conv,[1,1])),c})}async forward(e){return this.forwardInput(await M(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(e){return Br(e,this._numMainBlocks)}extractParams(e){return kr(e,this._numMainBlocks)}};function $r(o){let t=[],{extractWeights:e,getRemainingWeights:r}=A(o),a=ve(e,t),s=a(512,1,"fc/age"),i=a(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function Or(o){let t=[],e=B(o,t);function r(s){let i=e(`${s}/weights`,2),c=e(`${s}/bias`,1);return{weights:i,bias:c}}let a={fc:{age:r("fc/age"),gender:r("fc/gender")}};return L(o,t),{params:a,paramMappings:t}}var rr=(e=>(e.FEMALE="female",e.MALE="male",e))(rr||{});var Me=class extends I{constructor(e=new Ee(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return n.tidy(()=>{let a=e instanceof rt?this.faceFeatureExtractor.forwardInput(e):e,s=n.avgPool(a,[7,7],[2,2],"valid").as2D(a.shape[0],-1),i=se(s,r.fc.age).as1D(),c=se(s,r.fc.gender);return{age:i,gender:c}})}forwardInput(e){return n.tidy(()=>{let{age:r,gender:a}=this.runNet(e);return{age:r,gender:n.softmax(a)}})}async forward(e){return this.forwardInput(await M(e))}async predictAgeAndGender(e){let r=await M(e),a=await this.forwardInput(r),s=n.unstack(a.age),i=n.unstack(a.gender),c=s.map((p,u)=>({ageTensor:p,genderTensor:i[u]})),m=await Promise.all(c.map(async({ageTensor:p,genderTensor:u})=>{let f=p.dataSync()[0],l=u.dataSync()[0],d=l>.5,g=d?"male":"female",_=d?l:1-l;return p.dispose(),u.dispose(),{age:f,gender:g,genderProbability:_}}));return a.age.dispose(),a.gender.dispose(),r.isBatchInput?m:m[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:a}=this.extractClassifierParams(e);this._params=r,this._paramMappings=a}extractClassifierParams(e){return $r(e)}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:a}=Pe(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Or(a)}extractParams(e){let a=e.slice(0,e.length-1539),s=e.slice(e.length-1539);return this.faceFeatureExtractor.extractWeights(a),this.extractClassifierParams(s)}};var Gt=class extends Vt{postProcess(t,e,r){let a=r.map(({width:i,height:c})=>{let m=e/Math.max(c,i);return{width:i*m,height:c*m}}),s=a.length;return n.tidy(()=>{let i=(f,l)=>n.stack([n.fill([68],f,"float32"),n.fill([68],l,"float32")],1).as2D(1,136).as1D(),c=(f,l)=>{let{width:d,height:g}=a[f];return l(d,g)?Math.abs(d-g)/2:0},m=f=>c(f,(l,d)=>lc(f,(l,d)=>di(m(l),p(l))))).div(n.stack(Array.from(Array(s),(f,l)=>i(a[l].width,a[l].height))))})}forwardInput(t){return n.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,a])=>({height:r,width:a})))})}async forward(t){return this.forwardInput(await M(t))}async detectLandmarks(t){let e=await M(t),r=n.tidy(()=>n.unstack(this.forwardInput(e))),a=await Promise.all(r.map(async(s,i)=>{let c=Array.from(s.dataSync()),m=c.filter((u,f)=>pe(f)),p=c.filter((u,f)=>!pe(f));return new Lt(Array(68).fill(0).map((u,f)=>new b(m[f],p[f])),{height:e.getInputHeight(i),width:e.getInputWidth(i)})}));return r.forEach(s=>s.dispose()),e.isBatchInput?a:a[0]}getClassifierChannelsOut(){return 136}};var jt=class extends Gt{constructor(t=new zt){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function Hr(o){let t=[],{extractDenseBlock3Params:e}=Te(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return L(o,t),{params:r,paramMappings:t}}function zr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=A(o),{extractDenseBlock3Params:a}=ye(e,t),s=a(3,32,"dense0",!0),i=a(32,64,"dense1"),c=a(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:c}}}var Ce=class extends I{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),s=X(r,[122.782,117.001,104.298]).div(255),i=xe(s,e.dense0,!0);return i=xe(i,e.dense1),i=xe(i,e.dense2),i=n.avgPool(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await M(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Hr(t)}extractParams(t){return zr(t)}};var Ie=class extends Gt{constructor(t=new Ce){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var Vr=class extends jt{};function Yr(o,t){return n.add(n.mul(o,t.weights),t.biases)}function or(o,t,e,r,a="same"){let{filters:s,bias:i}=t.conv,c=n.conv2d(o,s,e,a);return c=n.add(c,i),c=Yr(c,t.scale),r?n.relu(c):c}function Gr(o,t){return or(o,t,[1,1],!0)}function nr(o,t){return or(o,t,[1,1],!1)}function Ne(o,t){return or(o,t,[2,2],!0,"valid")}function Vo(o,t){function e(c,m,p){let u=o(c),f=u.length/(m*p*p);if(Ge(f))throw new Error(`depth has to be an integer: ${f}, weights.length: ${u.length}, numFilters: ${m}, filterSize: ${p}`);return n.tidy(()=>n.transpose(n.tensor4d(u,[m,f,p,p]),[2,3,1,0]))}function r(c,m,p,u){let f=e(c,m,p),l=n.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/bias`}),{filters:f,bias:l}}function a(c,m){let p=n.tensor1d(o(c)),u=n.tensor1d(o(c));return t.push({paramPath:`${m}/weights`},{paramPath:`${m}/biases`}),{weights:p,biases:u}}function s(c,m,p,u){let f=r(c,m,p,`${u}/conv`),l=a(m,`${u}/scale`);return{conv:f,scale:l}}function i(c,m,p,u,f=!1){let l=s((f?.5:1)*c,m,p,`${u}/conv1`),d=s(c,m,p,`${u}/conv2`);return{conv1:l,conv2:d}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function jr(o){let{extractWeights:t,getRemainingWeights:e}=A(o),r=[],{extractConvLayerParams:a,extractResidualLayerParams:s}=Vo(t,r),i=a(4704,32,7,"conv32_down"),c=s(9216,32,3,"conv32_1"),m=s(9216,32,3,"conv32_2"),p=s(9216,32,3,"conv32_3"),u=s(36864,64,3,"conv64_down",!0),f=s(36864,64,3,"conv64_1"),l=s(36864,64,3,"conv64_2"),d=s(36864,64,3,"conv64_3"),g=s(147456,128,3,"conv128_down",!0),_=s(147456,128,3,"conv128_1"),F=s(147456,128,3,"conv128_2"),h=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),D=s(589824,256,3,"conv256_down_out"),N=n.tidy(()=>n.transpose(n.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:i,conv32_1:c,conv32_2:m,conv32_3:p,conv64_down:u,conv64_1:f,conv64_2:l,conv64_3:d,conv128_down:g,conv128_1:_,conv128_2:F,conv256_down:h,conv256_1:y,conv256_2:x,conv256_down_out:D,fc:N},paramMappings:r}}function Yo(o,t){let e=B(o,t);function r(i){let c=e(`${i}/scale/weights`,1),m=e(`${i}/scale/biases`,1);return{weights:c,biases:m}}function a(i){let c=e(`${i}/conv/filters`,4),m=e(`${i}/conv/bias`,1),p=r(i);return{conv:{filters:c,bias:m},scale:p}}function s(i){return{conv1:a(`${i}/conv1`),conv2:a(`${i}/conv2`)}}return{extractConvLayerParams:a,extractResidualLayerParams:s}}function Ur(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Yo(o,t),a=e("conv32_down"),s=r("conv32_1"),i=r("conv32_2"),c=r("conv32_3"),m=r("conv64_down"),p=r("conv64_1"),u=r("conv64_2"),f=r("conv64_3"),l=r("conv128_down"),d=r("conv128_1"),g=r("conv128_2"),_=r("conv256_down"),F=r("conv256_1"),h=r("conv256_2"),y=r("conv256_down_out"),{fc:x}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Ye(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let D={conv32_down:a,conv32_1:s,conv32_2:i,conv32_3:c,conv64_down:m,conv64_1:p,conv64_2:u,conv64_3:f,conv128_down:l,conv128_1:d,conv128_2:g,conv256_down:_,conv256_1:F,conv256_2:h,conv256_down_out:y,fc:x};return L(o,t),{params:D,paramMappings:t}}function j(o,t){let e=Gr(o,t.conv1);return e=nr(e,t.conv2),e=n.add(e,o),e=n.relu(e),e}function ce(o,t){let e=Ne(o,t.conv1);e=nr(e,t.conv2);let r=n.avgPool(o,2,2,"valid"),a=n.zeros(r.shape),s=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let c=[...e.shape];c[1]=1;let m=n.zeros(c);e=n.concat([e,m],1);let p=[...e.shape];p[2]=1;let u=n.zeros(p);e=n.concat([e,u],2)}return r=s?n.concat([r,a],3):r,e=n.add(r,e),e=n.relu(e),e}var Ut=class extends I{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(150,!0),"float32"),s=X(r,[122.782,117.001,104.298]).div(255),i=Ne(s,e.conv32_down);i=n.maxPool(i,3,2,"valid"),i=j(i,e.conv32_1),i=j(i,e.conv32_2),i=j(i,e.conv32_3),i=ce(i,e.conv64_down),i=j(i,e.conv64_1),i=j(i,e.conv64_2),i=j(i,e.conv64_3),i=ce(i,e.conv128_down),i=j(i,e.conv128_1),i=j(i,e.conv128_2),i=ce(i,e.conv256_down),i=j(i,e.conv256_1),i=j(i,e.conv256_2),i=ce(i,e.conv256_down_out);let c=i.mean([1,2]);return n.matMul(c,e.fc)})}async forward(t){return this.forwardInput(await M(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let e=await M(t),r=n.tidy(()=>n.unstack(this.forwardInput(e))),a=await Promise.all(r.map(i=>i.data()));return r.forEach(i=>i.dispose()),e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return Ur(t)}extractParams(t){return jr(t)}};function vf(o){let t=new Ut;return t.extractWeights(o),t}function ar(o,t){return{...o,...{descriptor:t}}}function Pf(o){return typeof o.age=="number"}function sr(o,t){return{...o,...{age:t}}}function Ef(o){return(o.gender==="male"||o.gender==="female")&&It(o.genderProbability)}function ir(o,t,e){return{...o,...{gender:t,genderProbability:e}}}function Go(o,t){function e(m,p){let u=n.tensor4d(o(9*m),[3,3,m,1]),f=n.tensor1d(o(m)),l=n.tensor1d(o(m)),d=n.tensor1d(o(m)),g=n.tensor1d(o(m));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/batch_norm_scale`},{paramPath:`${p}/batch_norm_offset`},{paramPath:`${p}/batch_norm_mean`},{paramPath:`${p}/batch_norm_variance`}),{filters:u,batch_norm_scale:f,batch_norm_offset:l,batch_norm_mean:d,batch_norm_variance:g}}function r(m,p,u,f,l){let d=n.tensor4d(o(m*p*u*u),[u,u,m,p]),g=n.tensor1d(o(p));return t.push({paramPath:`${f}/filters`},{paramPath:`${f}/${l?"batch_norm_offset":"bias"}`}),{filters:d,bias:g}}function a(m,p,u,f){let{filters:l,bias:d}=r(m,p,u,f,!0);return{filters:l,batch_norm_offset:d}}function s(m,p,u){let f=e(m,`${u}/depthwise_conv`),l=a(m,p,1,`${u}/pointwise_conv`);return{depthwise_conv:f,pointwise_conv:l}}function i(){let m=a(3,32,3,"mobilenetv1/conv_0"),p=s(32,64,"mobilenetv1/conv_1"),u=s(64,128,"mobilenetv1/conv_2"),f=s(128,128,"mobilenetv1/conv_3"),l=s(128,256,"mobilenetv1/conv_4"),d=s(256,256,"mobilenetv1/conv_5"),g=s(256,512,"mobilenetv1/conv_6"),_=s(512,512,"mobilenetv1/conv_7"),F=s(512,512,"mobilenetv1/conv_8"),h=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),D=s(512,1024,"mobilenetv1/conv_12"),N=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:m,conv_1:p,conv_2:u,conv_3:f,conv_4:l,conv_5:d,conv_6:g,conv_7:_,conv_8:F,conv_9:h,conv_10:y,conv_11:x,conv_12:D,conv_13:N}}function c(){let m=a(1024,256,1,"prediction_layer/conv_0"),p=a(256,512,3,"prediction_layer/conv_1"),u=a(512,128,1,"prediction_layer/conv_2"),f=a(128,256,3,"prediction_layer/conv_3"),l=a(256,128,1,"prediction_layer/conv_4"),d=a(128,256,3,"prediction_layer/conv_5"),g=a(256,64,1,"prediction_layer/conv_6"),_=a(64,128,3,"prediction_layer/conv_7"),F=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),h=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),D=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),N=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),Y=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),q=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),O=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),at=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),st=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),it=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:m,conv_1:p,conv_2:u,conv_3:f,conv_4:l,conv_5:d,conv_6:g,conv_7:_,box_predictor_0:{box_encoding_predictor:F,class_predictor:h},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:D,class_predictor:N},box_predictor_3:{box_encoding_predictor:Y,class_predictor:q},box_predictor_4:{box_encoding_predictor:O,class_predictor:at},box_predictor_5:{box_encoding_predictor:st,class_predictor:it}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:c}}function Xr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=A(o),{extractMobilenetV1Params:a,extractPredictionLayerParams:s}=Go(e,t),i=a(),c=s(),p={extra_dim:n.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:i,prediction_layer:c,output_layer:p},paramMappings:t}}function jo(o,t){let e=B(o,t);function r(p,u,f){let l=e(`${p}/Conv2d_${u}_pointwise/weights`,4,`${f}/filters`),d=e(`${p}/Conv2d_${u}_pointwise/convolution_bn_offset`,1,`${f}/batch_norm_offset`);return{filters:l,batch_norm_offset:d}}function a(p){let u=`mobilenetv1/conv_${p}`,f=`MobilenetV1/Conv2d_${p}_depthwise`,l=`${u}/depthwise_conv`,d=`${u}/pointwise_conv`,g=e(`${f}/depthwise_weights`,4,`${l}/filters`),_=e(`${f}/BatchNorm/gamma`,1,`${l}/batch_norm_scale`),F=e(`${f}/BatchNorm/beta`,1,`${l}/batch_norm_offset`),h=e(`${f}/BatchNorm/moving_mean`,1,`${l}/batch_norm_mean`),y=e(`${f}/BatchNorm/moving_variance`,1,`${l}/batch_norm_variance`);return{depthwise_conv:{filters:g,batch_norm_scale:_,batch_norm_offset:F,batch_norm_mean:h,batch_norm_variance:y},pointwise_conv:r("MobilenetV1",p,d)}}function s(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:a(1),conv_2:a(2),conv_3:a(3),conv_4:a(4),conv_5:a(5),conv_6:a(6),conv_7:a(7),conv_8:a(8),conv_9:a(9),conv_10:a(10),conv_11:a(11),conv_12:a(12),conv_13:a(13)}}function i(p,u){let f=e(`${p}/weights`,4,`${u}/filters`),l=e(`${p}/biases`,1,`${u}/bias`);return{filters:f,bias:l}}function c(p){let u=i(`Prediction/BoxPredictor_${p}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${p}/box_encoding_predictor`),f=i(`Prediction/BoxPredictor_${p}/ClassPredictor`,`prediction_layer/box_predictor_${p}/class_predictor`);return{box_encoding_predictor:u,class_predictor:f}}function m(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:c(0),box_predictor_1:c(1),box_predictor_2:c(2),box_predictor_3:c(3),box_predictor_4:c(4),box_predictor_5:c(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:m}}function Jr(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=jo(o,t),a=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!K(a))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${a}`);let s={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:a}};return L(o,t),{params:s,paramMappings:t}}function H(o,t,e){return n.tidy(()=>{let r=n.conv2d(o,t.filters,e,"same");return r=n.add(r,t.batch_norm_offset),n.clipByValue(r,0,6)})}var Uo=.0010000000474974513;function Xo(o,t,e){return n.tidy(()=>{let r=n.depthwiseConv2d(o,t.filters,e,"same");return r=n.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Uo),n.clipByValue(r,0,6)})}function Jo(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function qr(o,t){return n.tidy(()=>{let e,r=H(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let c=i+1,m=Jo(c);r=Xo(r,s.depthwise_conv,m),r=H(r,s.pointwise_conv,[1,1]),c===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function qo(o,t,e){let r=o.arraySync(),a=Math.min(r[t][0],r[t][2]),s=Math.min(r[t][1],r[t][3]),i=Math.max(r[t][0],r[t][2]),c=Math.max(r[t][1],r[t][3]),m=Math.min(r[e][0],r[e][2]),p=Math.min(r[e][1],r[e][3]),u=Math.max(r[e][0],r[e][2]),f=Math.max(r[e][1],r[e][3]),l=(i-a)*(c-s),d=(u-m)*(f-p);if(l<=0||d<=0)return 0;let g=Math.max(a,m),_=Math.max(s,p),F=Math.min(i,u),h=Math.min(c,f),y=Math.max(F-g,0)*Math.max(h-_,0);return y/(l+d-y)}function Zr(o,t,e,r,a){let s=o.shape[0],i=Math.min(e,s),c=t.map((u,f)=>({score:u,boxIndex:f})).filter(u=>u.score>a).sort((u,f)=>f.score-u.score),m=u=>u<=r?1:0,p=[];return c.forEach(u=>{if(p.length>=i)return;let f=u.score;for(let l=p.length-1;l>=0;--l){let d=qo(o,u.boxIndex,p[l]);if(d!==0&&(u.score*=m(d),u.score<=a))break}f===u.score&&p.push(u.boxIndex)}),p}function Zo(o){let t=n.unstack(n.transpose(o,[1,0])),e=[n.sub(t[2],t[0]),n.sub(t[3],t[1])],r=[n.add(t[0],n.div(e[0],2)),n.add(t[1],n.div(e[1],2))];return{sizes:e,centers:r}}function Ko(o,t){let{sizes:e,centers:r}=Zo(o),a=n.unstack(n.transpose(t,[1,0])),s=n.div(n.mul(n.exp(n.div(a[2],5)),e[0]),2),i=n.add(n.mul(n.div(a[0],10),e[0]),r[0]),c=n.div(n.mul(n.exp(n.div(a[3],5)),e[1]),2),m=n.add(n.mul(n.div(a[1],10),e[1]),r[1]);return n.transpose(n.stack([n.sub(i,s),n.sub(m,c),n.add(i,s),n.add(m,c)]),[1,0])}function Kr(o,t,e){return n.tidy(()=>{let r=o.shape[0],a=Ko(n.reshape(n.tile(e.extra_dim,[r,1,1]),[-1,4]),n.reshape(o,[-1,4]));a=n.reshape(a,[r,a.shape[0]/r,4]);let s=n.sigmoid(n.slice(t,[0,0,1],[-1,-1,-1])),i=n.slice(s,[0,0,0],[-1,-1,1]);i=n.reshape(i,[r,i.shape[1]]);let c=n.unstack(a),m=n.unstack(i);return{boxes:c,scores:m}})}function Tt(o,t){return n.tidy(()=>{let e=o.shape[0],r=n.reshape(_t(o,t.box_encoding_predictor),[e,-1,1,4]),a=n.reshape(_t(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:a}})}function Qr(o,t,e){return n.tidy(()=>{let r=H(o,e.conv_0,[1,1]),a=H(r,e.conv_1,[2,2]),s=H(a,e.conv_2,[1,1]),i=H(s,e.conv_3,[2,2]),c=H(i,e.conv_4,[1,1]),m=H(c,e.conv_5,[2,2]),p=H(m,e.conv_6,[1,1]),u=H(p,e.conv_7,[2,2]),f=Tt(t,e.box_predictor_0),l=Tt(o,e.box_predictor_1),d=Tt(a,e.box_predictor_2),g=Tt(i,e.box_predictor_3),_=Tt(m,e.box_predictor_4),F=Tt(u,e.box_predictor_5),h=n.concat([f.boxPredictionEncoding,l.boxPredictionEncoding,d.boxPredictionEncoding,g.boxPredictionEncoding,_.boxPredictionEncoding,F.boxPredictionEncoding],1),y=n.concat([f.classPrediction,l.classPrediction,d.classPrediction,g.classPrediction,_.classPrediction,F.classPrediction],1);return{boxPredictions:h,classPredictions:y}})}var z=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var Pt=class extends I{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(512,!1),"float32"),a=n.sub(n.div(r,127.5),1),s=qr(a,e.mobilenetv1),{boxPredictions:i,classPredictions:c}=Qr(s.out,s.conv11,e.prediction_layer);return Kr(i,c,e.output_layer)})}async forward(t){return this.forwardInput(await M(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:a}=new z(e),s=await M(t),{boxes:i,scores:c}=this.forwardInput(s),m=i[0],p=c[0];for(let x=1;x{let[D,N]=[Math.max(0,h[x][0]),Math.min(1,h[x][2])].map(O=>O*F),[Y,q]=[Math.max(0,h[x][1]),Math.min(1,h[x][3])].map(O=>O*_);return new E(u[x],new St(Y,D,q-Y,N-D),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return m.dispose(),p.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Jr(t)}extractParams(t){return Xr(t)}};function Qo(o){let t=new Pt;return t.extractWeights(o),t}function vl(o){return Qo(o)}var to=class extends Pt{};var eo=.4,ro=[new b(.738768,.874946),new b(2.42204,2.65704),new b(4.30971,7.04493),new b(10.246,4.59428),new b(12.6868,11.8741)],oo=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],no=[117.001,114.697,97.404],ao="tiny_yolov2_model",so="tiny_yolov2_separable_conv_model";var Se=o=>typeof o=="number";function io(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Se(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Se(t.x)&&Se(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Se)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}function Xt(o){return n.tidy(()=>{let t=n.mul(o,n.scalar(.10000000149011612));return n.add(n.relu(n.sub(o,t)),t)})}function ot(o,t){return n.tidy(()=>{let e=n.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=n.conv2d(e,t.conv.filters,[1,1],"valid"),e=n.sub(e,t.bn.sub),e=n.mul(e,t.bn.truediv),e=n.add(e,t.conv.bias),Xt(e)})}function nt(o,t){return n.tidy(()=>{let e=n.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=n.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=n.add(e,t.bias),Xt(e)})}function tn(o,t){let e=$t(o,t);function r(i,c){let m=n.tensor1d(o(i)),p=n.tensor1d(o(i));return t.push({paramPath:`${c}/sub`},{paramPath:`${c}/truediv`}),{sub:m,truediv:p}}function a(i,c,m){let p=e(i,c,3,`${m}/conv`),u=r(c,`${m}/bn`);return{conv:p,bn:u}}let s=Ot(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}}function co(o,t,e,r){let{extractWeights:a,getRemainingWeights:s}=A(o),i=[],{extractConvParams:c,extractConvWithBatchNormParams:m,extractSeparableConvParams:p}=tn(a,i),u;if(t.withSeparableConvs){let[f,l,d,g,_,F,h,y,x]=r,D=t.isFirstLayerConv2d?c(f,l,3,"conv0"):p(f,l,"conv0"),N=p(l,d,"conv1"),Y=p(d,g,"conv2"),q=p(g,_,"conv3"),O=p(_,F,"conv4"),at=p(F,h,"conv5"),st=y?p(h,y,"conv6"):void 0,it=x?p(y,x,"conv7"):void 0,gt=c(x||y||h,5*e,1,"conv8");u={conv0:D,conv1:N,conv2:Y,conv3:q,conv4:O,conv5:at,conv6:st,conv7:it,conv8:gt}}else{let[f,l,d,g,_,F,h,y,x]=r,D=m(f,l,"conv0"),N=m(l,d,"conv1"),Y=m(d,g,"conv2"),q=m(g,_,"conv3"),O=m(_,F,"conv4"),at=m(F,h,"conv5"),st=m(h,y,"conv6"),it=m(y,x,"conv7"),gt=c(x,5*e,1,"conv8");u={conv0:D,conv1:N,conv2:Y,conv3:q,conv4:O,conv5:at,conv6:st,conv7:it,conv8:gt}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:u,paramMappings:i}}function en(o,t){let e=B(o,t);function r(c){let m=e(`${c}/sub`,1),p=e(`${c}/truediv`,1);return{sub:m,truediv:p}}function a(c){let m=e(`${c}/filters`,4),p=e(`${c}/bias`,1);return{filters:m,bias:p}}function s(c){let m=a(`${c}/conv`),p=r(`${c}/bn`);return{conv:m,bn:p}}let i=Ht(e);return{extractConvParams:a,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function mo(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}=en(o,e),i;if(t.withSeparableConvs){let c=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?r("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:c>7?s("conv6"):void 0,conv7:c>8?s("conv7"):void 0,conv8:r("conv8")}}else i={conv0:a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:a("conv6"),conv7:a("conv7"),conv8:r("conv8")};return L(o,e),{params:i,paramMappings:e}}var J=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var cr=class extends I{constructor(e){super("TinyYolov2");io(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,r){let a=ot(e,r.conv0);return a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv1),a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv2),a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv3),a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv4),a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv5),a=n.maxPool(a,[2,2],[1,1],"same"),a=ot(a,r.conv6),a=ot(a,r.conv7),_t(a,r.conv8,"valid",!1)}runMobilenet(e,r){let a=this.config.isFirstLayerConv2d?Xt(_t(e,r.conv0,"valid",!1)):nt(e,r.conv0);return a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv1),a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv2),a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv3),a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv4),a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv5),a=n.maxPool(a,[2,2],[1,1],"same"),a=r.conv6?nt(a,r.conv6):a,a=r.conv7?nt(a,r.conv7):a,_t(a,r.conv8,"valid",!1)}forwardInput(e,r){let{params:a}=this;if(!a)throw new Error("TinyYolov2 - load model before inference");return n.tidy(()=>{let s=n.cast(e.toBatchTensor(r,!1),"float32");return s=this.config.meanRgb?X(s,this.config.meanRgb):s,s=s.div(255),this.config.withSeparableConvs?this.runMobilenet(s,a):this.runTinyYolov2(s,a)})}async forward(e,r){return this.forwardInput(await M(e),r)}async detect(e,r={}){let{inputSize:a,scoreThreshold:s}=new J(r),i=await M(e),c=await this.forwardInput(i,a),m=n.tidy(()=>n.unstack(c)[0].expandDims()),p={width:i.getInputWidth(0),height:i.getInputHeight(0)},u=await this.extractBoxes(m,i.getReshapedInputDimensions(0),s);c.dispose(),m.dispose();let f=u.map(h=>h.box),l=u.map(h=>h.score),d=u.map(h=>h.classScore),g=u.map(h=>this.config.classes[h.label]);return gr(f.map(h=>h.rescale(a)),l,this.config.iouThreshold,!0).map(h=>new ct(l[h],d[h],g[h],f[h],p))}getDefaultModelName(){return""}extractParamsFromWeightMap(e){return mo(e,this.config)}extractParams(e){let r=this.config.filterSizes||cr.DEFAULT_FILTER_SIZES,a=r?r.length:void 0;if(a!==7&&a!==8&&a!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${a} filterSizes in config`);return co(e,this.config,this.boxEncodingSize,r)}async extractBoxes(e,r,a){let{width:s,height:i}=r,c=Math.max(s,i),m=c/s,p=c/i,u=e.shape[1],f=this.config.anchors.length,[l,d,g]=n.tidy(()=>{let y=e.reshape([u,u,f,this.boxEncodingSize]),x=y.slice([0,0,0,0],[u,u,f,4]),D=y.slice([0,0,0,4],[u,u,f,1]),N=this.withClassScores?n.softmax(y.slice([0,0,0,5],[u,u,f,this.config.classes.length]),3):n.scalar(0);return[x,D,N]}),_=[],F=await d.array(),h=await l.array();for(let y=0;ya){let Y=(x+fe(h[y][x][D][0]))/u*m,q=(y+fe(h[y][x][D][1]))/u*p,O=Math.exp(h[y][x][D][2])*this.config.anchors[D].x/u*m,at=Math.exp(h[y][x][D][3])*this.config.anchors[D].y/u*p,st=Y-O/2,it=q-at/2,gt={row:y,col:x,anchor:D},{classScore:pr,label:ur}=this.withClassScores?await this.extractPredictedClass(g,gt):{classScore:1,label:0};_.push({box:new Nt(st,it,st+O,it+at),score:N,classScore:N*pr,label:ur,...gt})}}return l.dispose(),d.dispose(),g.dispose(),_}async extractPredictedClass(e,r){let{row:a,col:s,anchor:i}=r,c=await e.array();return Array(this.config.classes.length).fill(0).map((m,p)=>c[a][s][i][p]).map((m,p)=>({classScore:m,label:p})).reduce((m,p)=>m.classScore>p.classScore?m:p)}},wt=cr;wt.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Jt=class extends wt{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:eo,classes:["face"],...t?{anchors:oo,meanRgb:no}:{anchors:ro,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(a=>new E(a.score,a.relativeBox,{width:a.imageWidth,height:a.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?so:ao}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function pd(o,t=!0){let e=new Jt(t);return e.extractWeights(o),e}var Le=class extends J{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var V=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function Ft(o,t,e,r,a=({alignedRect:s})=>s){let s=o.map(m=>Yt(m)?a(m):m.detection),i=r||(t instanceof n.Tensor?await oe(t,s):await re(t,s)),c=await e(i);return i.forEach(m=>m instanceof n.Tensor&&m.dispose()),c}async function qt(o,t,e,r,a){return Ft([o],t,async s=>e(s[0]),r,a)}var po=.4,uo=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],fo=[117.001,114.697,97.404];var Zt=class extends wt{constructor(){let t={withSeparableConvs:!0,iouThreshold:po,classes:["face"],anchors:uo,meanRgb:fo,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(a=>new E(a.score,a.relativeBox,{width:a.imageWidth,height:a.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var P={ssdMobilenetv1:new Pt,tinyFaceDetector:new Zt,tinyYolov2:new Jt,faceLandmark68Net:new jt,faceLandmark68TinyNet:new Ie,faceRecognitionNet:new Ut,faceExpressionNet:new we,ageGenderNet:new Me},rn=(o,t)=>P.ssdMobilenetv1.locateFaces(o,t),Od=(o,t)=>P.tinyFaceDetector.locateFaces(o,t),Hd=(o,t)=>P.tinyYolov2.locateFaces(o,t),on=o=>P.faceLandmark68Net.detectLandmarks(o),zd=o=>P.faceLandmark68TinyNet.detectLandmarks(o),Vd=o=>P.faceRecognitionNet.computeFaceDescriptor(o),Yd=o=>P.faceExpressionNet.predictExpressions(o),Gd=o=>P.ageGenderNet.predictAgeAndGender(o),nn=o=>P.ssdMobilenetv1.load(o),jd=o=>P.tinyFaceDetector.load(o),Ud=o=>P.tinyYolov2.load(o),Xd=o=>P.faceLandmark68Net.load(o),Jd=o=>P.faceLandmark68TinyNet.load(o),qd=o=>P.faceRecognitionNet.load(o),Zd=o=>P.faceExpressionNet.load(o),Kd=o=>P.ageGenderNet.load(o),Qd=nn,th=rn,eh=on;var Ae=class extends V{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.extractedFaces=a}},Dt=class extends Ae{async run(){let t=await this.parentTask,e=await Ft(t,this.input,async r=>Promise.all(r.map(a=>P.faceExpressionNet.predictExpressions(a))),this.extractedFaces);return t.map((r,a)=>tr(r,e[a]))}withAgeAndGender(){return new Mt(this,this.input)}},Et=class extends Ae{async run(){let t=await this.parentTask;if(!t)return;let e=await qt(t,this.input,r=>P.faceExpressionNet.predictExpressions(r),this.extractedFaces);return tr(t,e)}withAgeAndGender(){return new Ct(this,this.input)}},ut=class extends Dt{withAgeAndGender(){return new lt(this,this.input)}withFaceDescriptors(){return new ht(this,this.input)}},ft=class extends Et{withAgeAndGender(){return new dt(this,this.input)}withFaceDescriptor(){return new bt(this,this.input)}};var We=class extends V{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.extractedFaces=a}},Mt=class extends We{async run(){let t=await this.parentTask,e=await Ft(t,this.input,async r=>Promise.all(r.map(a=>P.ageGenderNet.predictAgeAndGender(a))),this.extractedFaces);return t.map((r,a)=>{let{age:s,gender:i,genderProbability:c}=e[a];return sr(ir(r,i,c),s)})}withFaceExpressions(){return new Dt(this,this.input)}},Ct=class extends We{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:a}=await qt(t,this.input,s=>P.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return sr(ir(t,r,a),e)}withFaceExpressions(){return new Et(this,this.input)}},lt=class extends Mt{withFaceExpressions(){return new ut(this,this.input)}withFaceDescriptors(){return new ht(this,this.input)}},dt=class extends Ct{withFaceExpressions(){return new ft(this,this.input)}withFaceDescriptor(){return new bt(this,this.input)}};var ke=class extends V{constructor(e,r){super();this.parentTask=e;this.input=r}},ht=class extends ke{async run(){let t=await this.parentTask;return(await Ft(t,this.input,r=>Promise.all(r.map(a=>P.faceRecognitionNet.computeFaceDescriptor(a))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,a)=>ar(t[a],r))}withFaceExpressions(){return new ut(this,this.input)}withAgeAndGender(){return new lt(this,this.input)}},bt=class extends ke{async run(){let t=await this.parentTask;if(!t)return;let e=await qt(t,this.input,r=>P.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return ar(t,e)}withFaceExpressions(){return new ft(this,this.input)}withAgeAndGender(){return new dt(this,this.input)}};var Be=class extends V{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=a}get landmarkNet(){return this.useTinyLandmarkNet?P.faceLandmark68TinyNet:P.faceLandmark68Net}},Re=class extends Be{async run(){let t=await this.parentTask,e=t.map(i=>i.detection),r=this.input instanceof n.Tensor?await oe(this.input,e):await re(this.input,e),a=await Promise.all(r.map(i=>this.landmarkNet.detectLandmarks(i)));return r.forEach(i=>i instanceof n.Tensor&&i.dispose()),t.filter((i,c)=>a[c]).map((i,c)=>ie(i,a[c]))}withFaceExpressions(){return new ut(this,this.input)}withAgeAndGender(){return new lt(this,this.input)}withFaceDescriptors(){return new ht(this,this.input)}},$e=class extends Be{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof n.Tensor?await oe(this.input,[e]):await re(this.input,[e]),a=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(s=>s instanceof n.Tensor&&s.dispose()),ie(t,a)}withFaceExpressions(){return new ft(this,this.input)}withAgeAndGender(){return new dt(this,this.input)}withFaceDescriptor(){return new bt(this,this.input)}};var Oe=class extends V{constructor(e,r=new z){super();this.input=e;this.options=r}},me=class extends Oe{async run(){let{input:t,options:e}=this,r;if(e instanceof Le)r=P.tinyFaceDetector.locateFaces(t,e);else if(e instanceof z)r=P.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof J)r=P.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(a=>At({},a)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new Re(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new Dt(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Mt(this.runAndExtendWithFaceDetections(),this.input)}},He=class extends Oe{async run(){let t=await new me(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?At({},e):void 0)})}withFaceLandmarks(t=!1){return new $e(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new Et(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Ct(this.runAndExtendWithFaceDetection(),this.input)}};function Kh(o,t=new z){return new He(o,t)}function mr(o,t=new z){return new me(o,t)}async function an(o,t){return mr(o,new z(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function nb(o,t={}){return mr(o,new J(t)).withFaceLandmarks().withFaceDescriptors()}var ab=an;function lo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((a,s)=>a-r[s]).reduce((a,s)=>a+s**2,0))}var ze=class{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let a=1,s=()=>`person ${a++}`;this._labeledDescriptors=r.map(i=>{if(i instanceof Q)return i;if(i instanceof Float32Array)return new Q(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new Q(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>lo(r,t)).reduce((r,a)=>r+a,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new Kt(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>Q.fromJSON(r));return new ze(e,t.distanceThreshold)}};function Pb(o){let t=new Zt;return t.extractWeights(o),t}function sn(o,t){let{width:e,height:r}=new S(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(a=>sn(a,{width:e,height:r}));if(Yt(o)){let a=o.detection.forSize(e,r),s=o.unshiftedLandmarks.forSize(a.box.width,a.box.height);return ie(At(o,a),s)}return tt(o)?At(o,o.detection.forSize(e,r)):o instanceof $||o instanceof E?o.forSize(e,r):o}var Ab=Wr;export{Me as AgeGenderNet,Nt as BoundingBox,w as Box,V as ComposableTask,ht as ComputeAllFaceDescriptorsTask,ke as ComputeFaceDescriptorsTaskBase,bt as ComputeSingleFaceDescriptorTask,Re as DetectAllFaceLandmarksTask,me as DetectAllFacesTask,Be as DetectFaceLandmarksTaskBase,Oe as DetectFacesTaskBase,$e as DetectSingleFaceLandmarksTask,He as DetectSingleFaceTask,S as Dimensions,Sr as FACE_EXPRESSION_LABELS,E as FaceDetection,to as FaceDetectionNet,we as FaceExpressionNet,pt as FaceExpressions,jt as FaceLandmark68Net,Ie as FaceLandmark68TinyNet,Vr as FaceLandmarkNet,$ as FaceLandmarks,vr as FaceLandmarks5,Lt as FaceLandmarks68,Kt as FaceMatch,ze as FaceMatcher,Ut as FaceRecognitionNet,rr as Gender,Qt as LabeledBox,Q as LabeledFaceDescriptors,rt as NetInput,I as NeuralNetwork,ct as ObjectDetection,b as Point,yr as PredictedBox,St as Rect,Pt as SsdMobilenetv1,z as SsdMobilenetv1Options,Zt as TinyFaceDetector,Le as TinyFaceDetectorOptions,Jt as TinyYolov2,J as TinyYolov2Options,ab as allFaces,an as allFacesSsdMobilenetv1,nb as allFacesTinyYolov2,_r as awaitMediaLoaded,Tr as bufferToImage,Vd as computeFaceDescriptor,Rt as createCanvas,be as createCanvasFromMedia,vl as createFaceDetectionNet,vf as createFaceRecognitionNet,Qo as createSsdMobilenetv1,Pb as createTinyFaceDetector,pd as createTinyYolov2,mr as detectAllFaces,on as detectFaceLandmarks,zd as detectFaceLandmarksTiny,eh as detectLandmarks,Kh as detectSingleFace,Ar as draw,T as env,lo as euclideanDistance,sr as extendWithAge,ar as extendWithFaceDescriptor,At as extendWithFaceDetection,tr as extendWithFaceExpressions,ie as extendWithFaceLandmarks,ir as extendWithGender,oe as extractFaceTensors,re as extractFaces,Mi as fetchImage,Fr as fetchJson,Li as fetchNetWeights,mt as fetchOrThrow,$i as fetchVideo,k as getContext2dOrThrow,Bt as getMediaDimensions,Pr as imageTensorToCanvas,wr as imageToSquare,Vn as inverseSigmoid,hr as iou,Qe as isMediaElement,he as isMediaLoaded,Pf as isWithAge,tt as isWithFaceDetection,Lr as isWithFaceExpressions,Yt as isWithFaceLandmarks,Ef as isWithGender,Kd as loadAgeGenderModel,Qd as loadFaceDetectionModel,Zd as loadFaceExpressionModel,Xd as loadFaceLandmarkModel,Jd as loadFaceLandmarkTinyModel,qd as loadFaceRecognitionModel,nn as loadSsdMobilenetv1Model,jd as loadTinyFaceDetectorModel,Ud as loadTinyYolov2Model,Er as loadWeightMap,th as locateFaces,ji as matchDimensions,br as minBbox,P as nets,gr as nonMaxSuppression,X as normalize,xr as padToSquare,Gd as predictAgeAndGender,Yd as recognizeFaceExpressions,sn as resizeResults,Wt as resolveInput,Hn as shuffleArray,fe as sigmoid,rn as ssdMobilenetv1,n as tf,Od as tinyFaceDetector,Hd as tinyYolov2,M as toNetInput,dr as utils,io as validateConfig,Ab as version}; +var lr=Object.defineProperty;var ho=Object.getOwnPropertyDescriptor;var bo=Object.getOwnPropertyNames;var go=Object.prototype.hasOwnProperty;var xo=(o=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(o,{get:(t,e)=>(typeof require!="undefined"?require:t)[e]}):o)(function(o){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var Ve=(o,t)=>{for(var e in t)lr(o,e,{get:t[e],enumerable:!0})},fr=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of bo(t))!go.call(o,a)&&a!==e&&lr(o,a,{get:()=>t[a],enumerable:!(r=ho(t,a))||r.enumerable});return o},v=(o,t,e)=>(fr(o,t,"default"),e&&fr(e,t,"default"));var n={};Ve(n,{version:()=>Eo});v(n,fn);v(n,ln);v(n,dn);import*as fn from"@tensorflow/tfjs/dist/index.js";import*as ln from"@tensorflow/tfjs-backend-webgl/dist/index.js";import*as dn from"@tensorflow/tfjs-backend-wasm/dist/index.js";var vo="3.20.0",yo="3.20.0",_o="3.20.0",To="3.20.0",Po="3.20.0",wo="3.20.0",Fo="3.20.0",Do="3.20.0",Eo={tfjs:vo,"tfjs-core":yo,"tfjs-data":_o,"tfjs-layers":To,"tfjs-converter":Po,"tfjs-backend-cpu":wo,"tfjs-backend-webgl":Fo,"tfjs-backend-wasm":Do};var Ar={};Ve(Ar,{AnchorPosition:()=>Ke,DrawBox:()=>ee,DrawBoxOptions:()=>de,DrawFaceLandmarks:()=>De,DrawFaceLandmarksOptions:()=>Fe,DrawTextField:()=>et,DrawTextFieldOptions:()=>kt,drawContour:()=>Z,drawDetections:()=>Ao,drawFaceExpressions:()=>Wo,drawFaceLandmarks:()=>Bo});function Z(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:a},s)=>{let i=t[s];o.moveTo(i.x,i.y),o.lineTo(r,a)}),e){let r=t[t.length-1],a=t[0];if(!r||!a)return;o.moveTo(r.x,r.y),o.lineTo(a.x,a.y)}o.stroke()}var dr={};Ve(dr,{computeReshapedDimensions:()=>je,getCenterPoint:()=>yt,isDimensions:()=>ue,isEven:()=>pe,isFloat:()=>Ge,isTensor:()=>xt,isTensor1D:()=>Mo,isTensor2D:()=>Ye,isTensor3D:()=>K,isTensor4D:()=>R,isValidNumber:()=>G,isValidProbablitiy:()=>It,range:()=>U,round:()=>vt});var S=class{constructor(t,e){if(!G(t)||!G(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new S(1/this.width,1/this.height)}};function xt(o,t){return o instanceof n.Tensor&&o.shape.length===t}function Mo(o){return xt(o,1)}function Ye(o){return xt(o,2)}function K(o){return xt(o,3)}function R(o){return xt(o,4)}function Ge(o){return o%1!==0}function pe(o){return o%2===0}function vt(o,t=2){let e=10**t;return Math.floor(o*e)/e}function ue(o){return o&&o.width&&o.height}function je({width:o,height:t},e){let r=e/Math.max(t,o);return new S(Math.round(o*r),Math.round(t*r))}function yt(o){return o.reduce((t,e)=>t.add(e),new b(0,0)).div(new b(o.length,o.length))}function U(o,t,e){return Array(o).fill(0).map((r,a)=>t+a*e)}function G(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function It(o){return G(o)&&o>=0&&o<=1}var b=class{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new b(this.x+t.x,this.y+t.y)}sub(t){return new b(this.x-t.x,this.y-t.y)}mul(t){return new b(this.x*t.x,this.y*t.y)}div(t){return new b(this.x/t.x,this.y/t.y)}abs(){return new b(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new b(Math.floor(this.x),Math.floor(this.y))}};var w=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(G)}static assertIsValidBox(t,e,r=!1){if(!w.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},a=[r.left,r.top,r.right,r.bottom].every(G),s=[r.x,r.y,r.width,r.height].every(G);if(!s&&!a)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[i,c,m,p]=s?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];w.assertIsValidBox({x:i,y:c,width:m,height:p},"Box.constructor",e),this._x=i,this._y=c,this._width=m,this._height=p}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new b(this.left,this.top)}get topRight(){return new b(this.right,this.top)}get bottomLeft(){return new b(this.left,this.bottom)}get bottomRight(){return new b(this.right,this.bottom)}round(){let[t,e,r,a]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new w({x:t,y:e,width:r,height:a})}floor(){let[t,e,r,a]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new w({x:t,y:e,width:r,height:a})}toSquare(){let{x:t,y:e,width:r,height:a}=this,s=Math.abs(r-a);return re&&(c=-f+e+r,f=e),l>t&&(m=-l+t+a,l=t),p<1&&(m=2-p,p=1),u<1&&(m=2-u,u=1),{dy:i,edy:m,dx:s,edx:c,y:u,ey:l,x:p,ex:f,w:r,h:a}}calibrate(t){return new w({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Nt=class extends w{constructor(t,e,r,a,s=!1){super({left:t,top:e,right:r,bottom:a},s)}};var ct=class{constructor(t,e,r,a,s){this._imageDims=new S(s.width,s.height),this._score=t,this._classScore=e,this._className=r,this._box=new w(a).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new w(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new ct(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var E=class extends ct{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:a,imageDims:s}=super.forSize(t,e);return new E(r,a,s)}};function hr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),a=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),s=r*a;return e?s/(o.area+t.area-s):s/Math.min(o.area,t.area)}function br(o){let t=o.map(c=>c.x),e=o.map(c=>c.y),r=t.reduce((c,m)=>mmcc({score:i,boxIndex:c})).sort((i,c)=>i.score-c.score).map(i=>i.boxIndex),s=[];for(;a.length>0;){let i=a.pop();s.push(i);let c=a,m=[];for(let p=0;pm[u]<=e)}return s}function X(o,t){return n.tidy(()=>{let[e,r,a]=t,s=n.fill([...o.shape.slice(0,3),1],e,"float32"),i=n.fill([...o.shape.slice(0,3),1],r,"float32"),c=n.fill([...o.shape.slice(0,3),1],a,"float32"),m=n.concat([s,i,c],3);return n.sub(o,m)})}function xr(o,t=!1){return n.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let a=Math.abs(e-r),s=Math.round(a*(t?.5:1)),i=e>r?2:1,c=l=>{let d=o.shape.slice();return d[i]=l,n.fill(d,0,"float32")},m=c(s),p=a-m.shape[i],f=[t&&p?c(p):null,o,m].filter(l=>!!l).map(l=>n.cast(l,"float32"));return n.concat(f,i)})}function Hn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),a=t[e];t[e]=t[r],t[r]=a}return t}function fe(o){return 1/(1+Math.exp(-o))}function Vn(o){return Math.log(o/(1-o))}var St=class extends w{constructor(t,e,r,a,s=!1){super({x:t,y:e,width:r,height:a},s)}};var Co=.5,Io=.43,No=.45,$=class{constructor(t,e,r=new b(0,0)){let{width:a,height:s}=e;this._imgDims=new S(a,s),this._shift=r,this._positions=t.map(i=>i.mul(new b(a,s)).add(r))}get shift(){return new b(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new b(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new b(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let s=t instanceof E?t.box.floor():new w(t);return this.shiftBy(s.x,s.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:a}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(a)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,a]=t,s=f=>a.sub(f).magnitude(),i=(s(e)+s(r))/2,c=Math.floor(i/No),m=yt(t),p=Math.floor(Math.max(0,m.x-Co*c)),u=Math.floor(Math.max(0,m.y-Io*c));return new St(p,u,Math.min(c,this.imageWidth+p),Math.min(c,this.imageHeight+u))}alignMinBbox(t){let e=br(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var vr=class extends ${getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],yt([t[3],t[4]])]}};var Lt=class extends ${getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(yt)}};var Kt=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${vt(this.distance)})`:""}`}};var Qt=class extends w{constructor(e,r){super(e);this._label=r}static assertIsValidLabeledBox(e,r){if(w.assertIsValidBox(e,r),!G(e.label))throw new Error(`${r} - expected property label (${e.label}) to be a number`)}get label(){return this._label}};var Q=class{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new Q(t.label,e)}};var yr=class extends Qt{constructor(e,r,a,s){super(e,r);this._score=a,this._classScore=s}static assertIsValidPredictedBox(e,r){if(Qt.assertIsValidLabeledBox(e,r),!It(e.score)||!It(e.classScore))throw new Error(`${r} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function tt(o){return o.detection instanceof E}function At(o,t){return{...o,...{detection:t}}}function Ue(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function te(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function le(o){let t="";if(!o&&te())try{o=xo("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((a,s)=>{o.readFile(r,(i,c)=>i?s(i):a(c))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Xe(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},a=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,c=le();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:a,createVideoElement:s,fetch:i,...c}}function Je(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var C;function So(){if(!C)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return C}function qe(o){C=o}function Ze(){return Je()?qe(Ue()):te()?qe(Xe()):null}function Lo(o){if(C||Ze(),!C)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=C.Canvas,Image:e=C.Image}=o;C.Canvas=t,C.Image=e,C.createCanvasElement=o.createCanvasElement||(()=>new t),C.createImageElement=o.createImageElement||(()=>new e),C.ImageData=o.ImageData||C.ImageData,C.Video=o.Video||C.Video,C.fetch=o.fetch||C.fetch,C.readFile=o.readFile||C.readFile}var T={getEnv:So,setEnv:qe,initialize:Ze,createBrowserEnv:Ue,createFileSystem:le,createNodejsEnv:Xe,monkeyPatch:Lo,isBrowser:Je,isNodejs:te};Ze();function Wt(o){return!T.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function k(o){let{Canvas:t,CanvasRenderingContext2D:e}=T.getEnv();if(o instanceof e)return o;let r=Wt(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let a=r.getContext("2d");if(!a)throw new Error("resolveContext2d - canvas 2d context is null");return a}var Ke=(a=>(a.TOP_LEFT="TOP_LEFT",a.TOP_RIGHT="TOP_RIGHT",a.BOTTOM_LEFT="BOTTOM_LEFT",a.BOTTOM_RIGHT="BOTTOM_RIGHT",a))(Ke||{}),kt=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:a,fontSize:s,fontStyle:i,padding:c}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=a||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=c||4}},et=class{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof et?t.text:t,this.anchor=e,this.options=new kt(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,a)=>r{let g=m+f.x,_=m+f.y+(d+1)*i;r.fillText(l,g,_)})}};var de=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:a,drawLabelOptions:s}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=a;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new kt({...i,...s})}},ee=class{constructor(t,e={}){this.box=new w(t),this.options=new de(e)}draw(t){let e=k(t),{boxColor:r,lineWidth:a}=this.options,{x:s,y:i,width:c,height:m}=this.box;e.strokeStyle=r,e.lineWidth=a,e.strokeRect(s,i,c,m);let{label:p}=this.options;p&&new et([p],{x:s-a/2,y:i},this.options.drawLabelOptions).draw(t)}};function Ao(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let a=r instanceof E?r.score:tt(r)?r.detection.score:void 0,s=r instanceof E?r.box:tt(r)?r.detection.box:new w(r),i=a?`${vt(a)}`:void 0;new ee(s,{label:i}).draw(o)})}function he(o){let{Image:t,Video:e}=T.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function _r(o){return new Promise((t,e)=>{(o instanceof T.getEnv().Canvas||he(o))&&t(null);function r(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",a),s.currentTarget.removeEventListener("error",r),e(s))}function a(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",a),s.currentTarget.removeEventListener("error",r),t(s))}o.addEventListener("load",a),o.addEventListener("error",r)})}function Tr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let a=T.getEnv().createImageElement();a.onload=()=>t(a),a.onerror=e,a.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Bt(o){let{Image:t,Video:e}=T.getEnv();return o instanceof t?new S(o.naturalWidth,o.naturalHeight):o instanceof e?new S(o.videoWidth,o.videoHeight):new S(o.width,o.height)}function Rt({width:o,height:t}){let{createCanvasElement:e}=T.getEnv(),r=e();return r.width=o,r.height=t,r}function be(o,t){let{ImageData:e}=T.getEnv();if(!(o instanceof e)&&!he(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:a}=t||Bt(o),s=Rt({width:r,height:a});return o instanceof e?k(s).putImageData(o,0,0):k(s).drawImage(o,0,0,r,a),s}async function Pr(o,t){let e=t||T.getEnv().createCanvasElement(),[r,a,s]=o.shape.slice(R(o)?1:0),i=n.tidy(()=>o.as3D(r,a,s).toInt());return await n.browser.toPixels(i,e),i.dispose(),e}function Qe(o){let{Image:t,Canvas:e,Video:r}=T.getEnv();return o instanceof t||o instanceof e||o instanceof r}function wr(o,t,e=!1){let{Image:r,Canvas:a}=T.getEnv();if(!(o instanceof r||o instanceof a))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Rt({width:1,height:1});let s=Bt(o),i=t/Math.max(s.height,s.width),c=i*s.width,m=i*s.height,p=Rt({width:t,height:t}),u=o instanceof a?o:be(o),f=Math.abs(c-m)/2,l=e&&c0&&u.height>0&&k(p).drawImage(u,l,d,c,m),p}var rt=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,a)=>{if(K(r)){this._imageTensors[a]=r,this._inputDimensions[a]=r.shape;return}if(R(r)){let i=r.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[a]=r,this._inputDimensions[a]=r.shape.slice(1);return}let s=r instanceof T.getEnv().Canvas?r:be(r);this._canvases[a]=s,this._inputDimensions[a]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return U(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return je({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,n.tidy(()=>{let r=U(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof n.Tensor){let c=R(i)?i:n.expandDims(i);return c=xr(c,e),(c.shape[1]!==t||c.shape[2]!==t)&&(c=n.image.resizeBilinear(c,[t,t],!1,!1)),c.as3D(t,t,3)}if(i instanceof T.getEnv().Canvas)return n.browser.fromPixels(wr(i,t,e));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return n.stack(r.map(s=>n.cast(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function M(o){if(o instanceof rt)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=a=>Array.isArray(o)?` at input index ${a}:`:"",r=t.map(Wt);return r.forEach((a,s)=>{if(!Qe(a)&&!K(a)&&!R(a))throw typeof t[s]=="string"?new Error(`toNetInput -${e(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${e(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(R(a)){let i=a.shape[0];if(i!==1)throw new Error(`toNetInput -${e(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(r.map(a=>Qe(a)&&_r(a))),new rt(r,Array.isArray(o))}async function re(o,t){let{Canvas:e}=T.getEnv(),r=o;if(!(o instanceof e)){let i=await M(o);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let c=i.getInput(0);r=c instanceof e?c:await Pr(c)}let a=k(r);return t.map(i=>i instanceof E?i.forSize(r.width,r.height).box.floor():i).map(i=>i.clipAtImageBorders(r.width,r.height)).map(({x:i,y:c,width:m,height:p})=>{let u=Rt({width:m,height:p});return m>0&&p>0&&k(u).putImageData(a.getImageData(i,c,m,p),0,0),u})}async function oe(o,t){if(!K(o)&&!R(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(R(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return n.tidy(()=>{let[e,r,a]=o.shape.slice(R(o)?1:0);return t.map(c=>c instanceof E?c.forSize(r,e).box:c).map(c=>c.clipAtImageBorders(r,e)).filter(c=>c.width>0&&c.height>0).map(({x:c,y:m,width:p,height:u})=>n.slice3d(o.as3D(e,r,a),[m,c,0],[u,p,a]))})}async function mt(o,t){let{fetch:e}=T.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function Mi(o){let t=await mt(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return Tr(e)}async function Fr(o){return(await mt(o)).json()}async function Li(o){return new Float32Array(await(await mt(o)).arrayBuffer())}function Dr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=T.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function $i(o){let t=await mt(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return Dr(e)}function ge(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let a=o.split("/").filter(c=>c),s=o.endsWith(".json")?a[a.length-1]:e,i=r+(o.endsWith(".json")?a.slice(0,a.length-1):a).join("/");return i=o.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function Er(o,t){let{manifestUri:e,modelBaseUri:r}=ge(o,t),a=await Fr(e);return n.io.loadWeights(a,r)}function ji(o,t,e=!1){let{width:r,height:a}=e?Bt(t):t;return o.width=r,o.height=a,{width:r,height:a}}var I=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:a}=this.traversePropertyPath(t);r[a].dispose(),r[a]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof n.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof n.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=n.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await Er(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=T.getEnv(),{manifestUri:r,modelBaseUri:a}=ge(t,this.getDefaultModelName()),s=p=>Promise.all(p.map(u=>e(u).then(f=>f.buffer))),i=n.io.weightsLoaderFactory(s),c=JSON.parse((await e(r)).toString()),m=await i(c,a);this.loadFromWeightMap(m)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:r,objProp:a}=e;if(!r||!a||!(r[a]instanceof n.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:a}}};function W(o,t,e){return n.tidy(()=>{let r=n.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=n.add(r,t.bias),r})}function xe(o,t,e=!1){return n.tidy(()=>{let r=n.relu(e?n.add(n.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):W(o,t.conv0,[2,2])),a=W(r,t.conv1,[1,1]),s=n.relu(n.add(r,a)),i=W(s,t.conv2,[1,1]);return n.relu(n.add(r,n.add(a,i)))})}function ne(o,t,e=!1,r=!0){return n.tidy(()=>{let a=n.relu(e?n.add(n.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):W(o,t.conv0,r?[2,2]:[1,1])),s=W(a,t.conv1,[1,1]),i=n.relu(n.add(a,s)),c=W(i,t.conv2,[1,1]),m=n.relu(n.add(a,n.add(s,c))),p=W(m,t.conv3,[1,1]);return n.relu(n.add(a,n.add(s,n.add(c,p))))})}function _t(o,t,e="same",r=!1){return n.tidy(()=>{let a=n.add(n.conv2d(o,t.filters,[1,1],e),t.bias);return r?n.relu(a):a})}function L(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}function $t(o,t){return(e,r,a,s)=>{let i=n.tensor4d(o(e*r*a*a),[a,a,e,r]),c=n.tensor1d(o(r));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:c}}}function ve(o,t){return(e,r,a)=>{let s=n.tensor2d(o(e*r),[e,r]),i=n.tensor1d(o(r));return t.push({paramPath:`${a}/weights`},{paramPath:`${a}/bias`}),{weights:s,bias:i}}}var ae=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function Ot(o,t){return(e,r,a)=>{let s=n.tensor4d(o(9*e),[3,3,e,1]),i=n.tensor4d(o(e*r),[1,1,e,r]),c=n.tensor1d(o(r));return t.push({paramPath:`${a}/depthwise_filter`},{paramPath:`${a}/pointwise_filter`},{paramPath:`${a}/bias`}),new ae(s,i,c)}}function Ht(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),a=o(`${t}/bias`,1);return new ae(e,r,a)}}function B(o,t){return(e,r,a)=>{let s=o[e];if(!xt(s,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${s}`);return t.push({originalPath:e,paramPath:a||e}),s}}function A(o){let t=o;function e(a){let s=t.slice(0,a);return t=t.slice(a),s}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function ye(o,t){let e=$t(o,t),r=Ot(o,t);function a(i,c,m,p=!1){let u=p?e(i,c,3,`${m}/conv0`):r(i,c,`${m}/conv0`),f=r(c,c,`${m}/conv1`),l=r(c,c,`${m}/conv2`);return{conv0:u,conv1:f,conv2:l}}function s(i,c,m,p=!1){let{conv0:u,conv1:f,conv2:l}=a(i,c,m,p),d=r(c,c,`${m}/conv3`);return{conv0:u,conv1:f,conv2:l,conv3:d}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:s}}function Mr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=A(o),{extractDenseBlock4Params:a}=ye(e,t),s=a(3,32,"dense0",!0),i=a(32,64,"dense1"),c=a(64,128,"dense2"),m=a(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:c,dense3:m}}}function _e(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function Te(o,t){let e=B(o,t),r=_e(e),a=Ht(e);function s(c,m=!1){let p=m?r(`${c}/conv0`):a(`${c}/conv0`),u=a(`${c}/conv1`),f=a(`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function i(c,m=!1){let p=m?r(`${c}/conv0`):a(`${c}/conv0`),u=a(`${c}/conv1`),f=a(`${c}/conv2`),l=a(`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function Cr(o){let t=[],{extractDenseBlock4Params:e}=Te(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return L(o,t),{params:r,paramMappings:t}}var zt=class extends I{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),s=X(r,[122.782,117.001,104.298]).div(255),i=ne(s,e.dense0,!0);return i=ne(i,e.dense1),i=ne(i,e.dense2),i=ne(i,e.dense3),i=n.avgPool(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await M(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Cr(t)}extractParams(t){return Mr(t)}};function se(o,t){return n.tidy(()=>n.add(n.matMul(o,t.weights),t.bias))}function Ir(o,t,e){let r=[],{extractWeights:a,getRemainingWeights:s}=A(o),c=ve(a,r)(t,e,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:r,params:{fc:c}}}function Nr(o){let t=[],e=B(o,t);function r(s){let i=e(`${s}/weights`,2),c=e(`${s}/bias`,1);return{weights:i,bias:c}}let a={fc:r("fc")};return L(o,t),{params:a,paramMappings:t}}function Pe(o){let t={},e={};return Object.keys(o).forEach(r=>{let a=r.startsWith("fc")?e:t;a[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var Vt=class extends I{constructor(e,r){super(e);this._faceFeatureExtractor=r}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return n.tidy(()=>{let a=e instanceof rt?this.faceFeatureExtractor.forwardInput(e):e;return se(a.as2D(a.shape[0],-1),r.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:a}=this.extractClassifierParams(e);this._params=r,this._paramMappings=a}extractClassifierParams(e){return Ir(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:a}=Pe(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Nr(a)}extractParams(e){let r=this.getClassifierChannelsIn(),a=this.getClassifierChannelsOut(),s=a*r+a,i=e.slice(0,e.length-s),c=e.slice(e.length-s);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(c)}};var Sr=["neutral","happy","sad","angry","fearful","disgusted","surprised"],pt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);Sr.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return Sr.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var we=class extends Vt{constructor(t=new zt){super("FaceExpressionNet",t)}forwardInput(t){return n.tidy(()=>n.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await M(t))}async predictExpressions(t){let e=await M(t),r=await this.forwardInput(e),a=await Promise.all(n.unstack(r).map(async i=>{let c=i.dataSync();return i.dispose(),c}));r.dispose();let s=a.map(i=>new pt(i));return e.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function Lr(o){return o.expressions instanceof pt}function tr(o,t){return{...o,...{expressions:t}}}function Wo(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof pt?s:Lr(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let m=i.asSortedArray().filter(f=>f.probability>e),p=tt(s)?s.detection.box.bottomLeft:r||new b(0,0);new et(m.map(f=>`${f.expression} (${vt(f.probability)})`),p).draw(o)})}function Yt(o){return tt(o)&&o.landmarks instanceof $&&o.unshiftedLandmarks instanceof $&&o.alignedRect instanceof E}function ko(o){let t=(c,m,p,u)=>Math.atan2(u-m,p-c)%Math.PI,e=c=>c*180/Math.PI,r={roll:void 0,pitch:void 0,yaw:void 0};if(!o||!o._positions||o._positions.length!==68)return r;let a=o._positions;r.roll=-t(a[36]._x,a[36]._y,a[45]._x,a[45]._y),r.pitch=t(0,Math.abs(a[0]._x-a[30]._x)/a[30]._x,Math.PI,Math.abs(a[16]._x-a[30]._x)/a[30]._x);let s=a.reduce((c,m)=>cc>m._y?c:m._y,-1/0);return r.yaw=Math.PI*(o._imgDims._height/(i-s)/1.4-1),r}function ie(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),a=r.align(),{imageDims:s}=o.detection,i=new E(o.detection.score,a.rescale(s.reverse()),s),c=ko(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:i,angle:c}}}var Fe=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:a,lineColor:s,pointSize:i,pointColor:c}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=a||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=c||"rgba(255, 0, 255, 1)"}},De=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new Fe(e)}draw(t){let e=k(t),{drawLines:r,drawPoints:a,lineWidth:s,lineColor:i,pointSize:c,pointColor:m}=this.options;if(r&&this.faceLandmarks instanceof Lt&&(e.strokeStyle=i,e.lineWidth=s,Z(e,this.faceLandmarks.getJawOutline()),Z(e,this.faceLandmarks.getLeftEyeBrow()),Z(e,this.faceLandmarks.getRightEyeBrow()),Z(e,this.faceLandmarks.getNose()),Z(e,this.faceLandmarks.getLeftEye(),!0),Z(e,this.faceLandmarks.getRightEye(),!0),Z(e,this.faceLandmarks.getMouth(),!0)),a){e.strokeStyle=m,e.fillStyle=m;let p=u=>{e.beginPath(),e.arc(u.x,u.y,c,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(p)}}};function Bo(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let a=r instanceof $?r:Yt(r)?r.landmarks:void 0;if(!a)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new De(a).draw(o)})}var Wr="1.7.3";function Oo(o,t){let e=$t(o,t),r=Ot(o,t);function a(i,c,m){let p=r(i,c,`${m}/separable_conv0`),u=r(c,c,`${m}/separable_conv1`),f=e(i,c,1,`${m}/expansion_conv`);return{separable_conv0:p,separable_conv1:u,expansion_conv:f}}function s(i,c){let m=r(i,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=r(i,i,`${c}/separable_conv2`);return{separable_conv0:m,separable_conv1:p,separable_conv2:u}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:a,extractMainBlockParams:s}}function kr(o,t){let e=[],{extractWeights:r,getRemainingWeights:a}=A(o),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:c,extractMainBlockParams:m}=Oo(r,e),p=s(3,32,3,"entry_flow/conv_in"),u=c(32,64,"entry_flow/reduction_block_0"),f=c(64,128,"entry_flow/reduction_block_1"),l={conv_in:p,reduction_block_0:u,reduction_block_1:f},d={};U(t,0,1).forEach(h=>{d[`main_block_${h}`]=m(128,`middle_flow/main_block_${h}`)});let g=c(128,256,"exit_flow/reduction_block"),_=i(256,512,"exit_flow/separable_conv"),F={reduction_block:g,separable_conv:_};if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:e,params:{entry_flow:l,middle_flow:d,exit_flow:F}}}function Ho(o,t){let e=B(o,t),r=_e(e),a=Ht(e);function s(c){let m=a(`${c}/separable_conv0`),p=a(`${c}/separable_conv1`),u=r(`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function i(c){let m=a(`${c}/separable_conv0`),p=a(`${c}/separable_conv1`),u=a(`${c}/separable_conv2`);return{separable_conv0:m,separable_conv1:p,separable_conv2:u}}return{extractConvParams:r,extractSeparableConvParams:a,extractReductionBlockParams:s,extractMainBlockParams:i}}function Br(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:a,extractReductionBlockParams:s,extractMainBlockParams:i}=Ho(o,e),c=r("entry_flow/conv_in"),m=s("entry_flow/reduction_block_0"),p=s("entry_flow/reduction_block_1"),u={conv_in:c,reduction_block_0:m,reduction_block_1:p},f={};U(t,0,1).forEach(_=>{f[`main_block_${_}`]=i(`middle_flow/main_block_${_}`)});let l=s("exit_flow/reduction_block"),d=a("exit_flow/separable_conv"),g={reduction_block:l,separable_conv:d};return L(o,e),{params:{entry_flow:u,middle_flow:f,exit_flow:g},paramMappings:e}}function Rr(o,t,e){return n.add(n.conv2d(o,t.filters,e,"same"),t.bias)}function er(o,t,e=!0){let r=e?n.relu(o):o;return r=W(r,t.separable_conv0,[1,1]),r=W(n.relu(r),t.separable_conv1,[1,1]),r=n.maxPool(r,[3,3],[2,2],"same"),r=n.add(r,Rr(o,t.expansion_conv,[2,2])),r}function zo(o,t){let e=W(n.relu(o),t.separable_conv0,[1,1]);return e=W(n.relu(e),t.separable_conv1,[1,1]),e=W(n.relu(e),t.separable_conv2,[1,1]),e=n.add(e,o),e}var Ee=class extends I{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){let{params:r}=this;if(!r)throw new Error("TinyXception - load model before inference");return n.tidy(()=>{let a=n.cast(e.toBatchTensor(112,!0),"float32"),i=X(a,[122.782,117.001,104.298]).div(255),c=n.relu(Rr(i,r.entry_flow.conv_in,[2,2]));return c=er(c,r.entry_flow.reduction_block_0,!1),c=er(c,r.entry_flow.reduction_block_1),U(this._numMainBlocks,0,1).forEach(m=>{c=zo(c,r.middle_flow[`main_block_${m}`])}),c=er(c,r.exit_flow.reduction_block),c=n.relu(W(c,r.exit_flow.separable_conv,[1,1])),c})}async forward(e){return this.forwardInput(await M(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(e){return Br(e,this._numMainBlocks)}extractParams(e){return kr(e,this._numMainBlocks)}};function $r(o){let t=[],{extractWeights:e,getRemainingWeights:r}=A(o),a=ve(e,t),s=a(512,1,"fc/age"),i=a(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function Or(o){let t=[],e=B(o,t);function r(s){let i=e(`${s}/weights`,2),c=e(`${s}/bias`,1);return{weights:i,bias:c}}let a={fc:{age:r("fc/age"),gender:r("fc/gender")}};return L(o,t),{params:a,paramMappings:t}}var rr=(e=>(e.FEMALE="female",e.MALE="male",e))(rr||{});var Me=class extends I{constructor(e=new Ee(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return n.tidy(()=>{let a=e instanceof rt?this.faceFeatureExtractor.forwardInput(e):e,s=n.avgPool(a,[7,7],[2,2],"valid").as2D(a.shape[0],-1),i=se(s,r.fc.age).as1D(),c=se(s,r.fc.gender);return{age:i,gender:c}})}forwardInput(e){return n.tidy(()=>{let{age:r,gender:a}=this.runNet(e);return{age:r,gender:n.softmax(a)}})}async forward(e){return this.forwardInput(await M(e))}async predictAgeAndGender(e){let r=await M(e),a=await this.forwardInput(r),s=n.unstack(a.age),i=n.unstack(a.gender),c=s.map((p,u)=>({ageTensor:p,genderTensor:i[u]})),m=await Promise.all(c.map(async({ageTensor:p,genderTensor:u})=>{let f=p.dataSync()[0],l=u.dataSync()[0],d=l>.5,g=d?"male":"female",_=d?l:1-l;return p.dispose(),u.dispose(),{age:f,gender:g,genderProbability:_}}));return a.age.dispose(),a.gender.dispose(),r.isBatchInput?m:m[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:a}=this.extractClassifierParams(e);this._params=r,this._paramMappings=a}extractClassifierParams(e){return $r(e)}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:a}=Pe(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Or(a)}extractParams(e){let a=e.slice(0,e.length-1539),s=e.slice(e.length-1539);return this.faceFeatureExtractor.extractWeights(a),this.extractClassifierParams(s)}};var Gt=class extends Vt{postProcess(t,e,r){let a=r.map(({width:i,height:c})=>{let m=e/Math.max(c,i);return{width:i*m,height:c*m}}),s=a.length;return n.tidy(()=>{let i=(f,l)=>n.stack([n.fill([68],f,"float32"),n.fill([68],l,"float32")],1).as2D(1,136).as1D(),c=(f,l)=>{let{width:d,height:g}=a[f];return l(d,g)?Math.abs(d-g)/2:0},m=f=>c(f,(l,d)=>lc(f,(l,d)=>di(m(l),p(l))))).div(n.stack(Array.from(Array(s),(f,l)=>i(a[l].width,a[l].height))))})}forwardInput(t){return n.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,a])=>({height:r,width:a})))})}async forward(t){return this.forwardInput(await M(t))}async detectLandmarks(t){let e=await M(t),r=n.tidy(()=>n.unstack(this.forwardInput(e))),a=await Promise.all(r.map(async(s,i)=>{let c=Array.from(s.dataSync()),m=c.filter((u,f)=>pe(f)),p=c.filter((u,f)=>!pe(f));return new Lt(Array(68).fill(0).map((u,f)=>new b(m[f],p[f])),{height:e.getInputHeight(i),width:e.getInputWidth(i)})}));return r.forEach(s=>s.dispose()),e.isBatchInput?a:a[0]}getClassifierChannelsOut(){return 136}};var jt=class extends Gt{constructor(t=new zt){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function Hr(o){let t=[],{extractDenseBlock3Params:e}=Te(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return L(o,t),{params:r,paramMappings:t}}function zr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=A(o),{extractDenseBlock3Params:a}=ye(e,t),s=a(3,32,"dense0",!0),i=a(32,64,"dense1"),c=a(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:c}}}var Ce=class extends I{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(112,!0),"float32"),s=X(r,[122.782,117.001,104.298]).div(255),i=xe(s,e.dense0,!0);return i=xe(i,e.dense1),i=xe(i,e.dense2),i=n.avgPool(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await M(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Hr(t)}extractParams(t){return zr(t)}};var Ie=class extends Gt{constructor(t=new Ce){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var Vr=class extends jt{};function Yr(o,t){return n.add(n.mul(o,t.weights),t.biases)}function or(o,t,e,r,a="same"){let{filters:s,bias:i}=t.conv,c=n.conv2d(o,s,e,a);return c=n.add(c,i),c=Yr(c,t.scale),r?n.relu(c):c}function Gr(o,t){return or(o,t,[1,1],!0)}function nr(o,t){return or(o,t,[1,1],!1)}function Ne(o,t){return or(o,t,[2,2],!0,"valid")}function Vo(o,t){function e(c,m,p){let u=o(c),f=u.length/(m*p*p);if(Ge(f))throw new Error(`depth has to be an integer: ${f}, weights.length: ${u.length}, numFilters: ${m}, filterSize: ${p}`);return n.tidy(()=>n.transpose(n.tensor4d(u,[m,f,p,p]),[2,3,1,0]))}function r(c,m,p,u){let f=e(c,m,p),l=n.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/bias`}),{filters:f,bias:l}}function a(c,m){let p=n.tensor1d(o(c)),u=n.tensor1d(o(c));return t.push({paramPath:`${m}/weights`},{paramPath:`${m}/biases`}),{weights:p,biases:u}}function s(c,m,p,u){let f=r(c,m,p,`${u}/conv`),l=a(m,`${u}/scale`);return{conv:f,scale:l}}function i(c,m,p,u,f=!1){let l=s((f?.5:1)*c,m,p,`${u}/conv1`),d=s(c,m,p,`${u}/conv2`);return{conv1:l,conv2:d}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function jr(o){let{extractWeights:t,getRemainingWeights:e}=A(o),r=[],{extractConvLayerParams:a,extractResidualLayerParams:s}=Vo(t,r),i=a(4704,32,7,"conv32_down"),c=s(9216,32,3,"conv32_1"),m=s(9216,32,3,"conv32_2"),p=s(9216,32,3,"conv32_3"),u=s(36864,64,3,"conv64_down",!0),f=s(36864,64,3,"conv64_1"),l=s(36864,64,3,"conv64_2"),d=s(36864,64,3,"conv64_3"),g=s(147456,128,3,"conv128_down",!0),_=s(147456,128,3,"conv128_1"),F=s(147456,128,3,"conv128_2"),h=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),D=s(589824,256,3,"conv256_down_out"),N=n.tidy(()=>n.transpose(n.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:i,conv32_1:c,conv32_2:m,conv32_3:p,conv64_down:u,conv64_1:f,conv64_2:l,conv64_3:d,conv128_down:g,conv128_1:_,conv128_2:F,conv256_down:h,conv256_1:y,conv256_2:x,conv256_down_out:D,fc:N},paramMappings:r}}function Yo(o,t){let e=B(o,t);function r(i){let c=e(`${i}/scale/weights`,1),m=e(`${i}/scale/biases`,1);return{weights:c,biases:m}}function a(i){let c=e(`${i}/conv/filters`,4),m=e(`${i}/conv/bias`,1),p=r(i);return{conv:{filters:c,bias:m},scale:p}}function s(i){return{conv1:a(`${i}/conv1`),conv2:a(`${i}/conv2`)}}return{extractConvLayerParams:a,extractResidualLayerParams:s}}function Ur(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Yo(o,t),a=e("conv32_down"),s=r("conv32_1"),i=r("conv32_2"),c=r("conv32_3"),m=r("conv64_down"),p=r("conv64_1"),u=r("conv64_2"),f=r("conv64_3"),l=r("conv128_down"),d=r("conv128_1"),g=r("conv128_2"),_=r("conv256_down"),F=r("conv256_1"),h=r("conv256_2"),y=r("conv256_down_out"),{fc:x}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Ye(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let D={conv32_down:a,conv32_1:s,conv32_2:i,conv32_3:c,conv64_down:m,conv64_1:p,conv64_2:u,conv64_3:f,conv128_down:l,conv128_1:d,conv128_2:g,conv256_down:_,conv256_1:F,conv256_2:h,conv256_down_out:y,fc:x};return L(o,t),{params:D,paramMappings:t}}function j(o,t){let e=Gr(o,t.conv1);return e=nr(e,t.conv2),e=n.add(e,o),e=n.relu(e),e}function ce(o,t){let e=Ne(o,t.conv1);e=nr(e,t.conv2);let r=n.avgPool(o,2,2,"valid"),a=n.zeros(r.shape),s=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let c=[...e.shape];c[1]=1;let m=n.zeros(c);e=n.concat([e,m],1);let p=[...e.shape];p[2]=1;let u=n.zeros(p);e=n.concat([e,u],2)}return r=s?n.concat([r,a],3):r,e=n.add(r,e),e=n.relu(e),e}var Ut=class extends I{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(150,!0),"float32"),s=X(r,[122.782,117.001,104.298]).div(255),i=Ne(s,e.conv32_down);i=n.maxPool(i,3,2,"valid"),i=j(i,e.conv32_1),i=j(i,e.conv32_2),i=j(i,e.conv32_3),i=ce(i,e.conv64_down),i=j(i,e.conv64_1),i=j(i,e.conv64_2),i=j(i,e.conv64_3),i=ce(i,e.conv128_down),i=j(i,e.conv128_1),i=j(i,e.conv128_2),i=ce(i,e.conv256_down),i=j(i,e.conv256_1),i=j(i,e.conv256_2),i=ce(i,e.conv256_down_out);let c=i.mean([1,2]);return n.matMul(c,e.fc)})}async forward(t){return this.forwardInput(await M(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let e=await M(t),r=n.tidy(()=>n.unstack(this.forwardInput(e))),a=await Promise.all(r.map(i=>i.data()));return r.forEach(i=>i.dispose()),e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return Ur(t)}extractParams(t){return jr(t)}};function vf(o){let t=new Ut;return t.extractWeights(o),t}function ar(o,t){return{...o,...{descriptor:t}}}function Pf(o){return typeof o.age=="number"}function sr(o,t){return{...o,...{age:t}}}function Ef(o){return(o.gender==="male"||o.gender==="female")&&It(o.genderProbability)}function ir(o,t,e){return{...o,...{gender:t,genderProbability:e}}}function Go(o,t){function e(m,p){let u=n.tensor4d(o(9*m),[3,3,m,1]),f=n.tensor1d(o(m)),l=n.tensor1d(o(m)),d=n.tensor1d(o(m)),g=n.tensor1d(o(m));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/batch_norm_scale`},{paramPath:`${p}/batch_norm_offset`},{paramPath:`${p}/batch_norm_mean`},{paramPath:`${p}/batch_norm_variance`}),{filters:u,batch_norm_scale:f,batch_norm_offset:l,batch_norm_mean:d,batch_norm_variance:g}}function r(m,p,u,f,l){let d=n.tensor4d(o(m*p*u*u),[u,u,m,p]),g=n.tensor1d(o(p));return t.push({paramPath:`${f}/filters`},{paramPath:`${f}/${l?"batch_norm_offset":"bias"}`}),{filters:d,bias:g}}function a(m,p,u,f){let{filters:l,bias:d}=r(m,p,u,f,!0);return{filters:l,batch_norm_offset:d}}function s(m,p,u){let f=e(m,`${u}/depthwise_conv`),l=a(m,p,1,`${u}/pointwise_conv`);return{depthwise_conv:f,pointwise_conv:l}}function i(){let m=a(3,32,3,"mobilenetv1/conv_0"),p=s(32,64,"mobilenetv1/conv_1"),u=s(64,128,"mobilenetv1/conv_2"),f=s(128,128,"mobilenetv1/conv_3"),l=s(128,256,"mobilenetv1/conv_4"),d=s(256,256,"mobilenetv1/conv_5"),g=s(256,512,"mobilenetv1/conv_6"),_=s(512,512,"mobilenetv1/conv_7"),F=s(512,512,"mobilenetv1/conv_8"),h=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),D=s(512,1024,"mobilenetv1/conv_12"),N=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:m,conv_1:p,conv_2:u,conv_3:f,conv_4:l,conv_5:d,conv_6:g,conv_7:_,conv_8:F,conv_9:h,conv_10:y,conv_11:x,conv_12:D,conv_13:N}}function c(){let m=a(1024,256,1,"prediction_layer/conv_0"),p=a(256,512,3,"prediction_layer/conv_1"),u=a(512,128,1,"prediction_layer/conv_2"),f=a(128,256,3,"prediction_layer/conv_3"),l=a(256,128,1,"prediction_layer/conv_4"),d=a(128,256,3,"prediction_layer/conv_5"),g=a(256,64,1,"prediction_layer/conv_6"),_=a(64,128,3,"prediction_layer/conv_7"),F=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),h=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),D=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),N=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),Y=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),q=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),O=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),at=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),st=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),it=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:m,conv_1:p,conv_2:u,conv_3:f,conv_4:l,conv_5:d,conv_6:g,conv_7:_,box_predictor_0:{box_encoding_predictor:F,class_predictor:h},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:D,class_predictor:N},box_predictor_3:{box_encoding_predictor:Y,class_predictor:q},box_predictor_4:{box_encoding_predictor:O,class_predictor:at},box_predictor_5:{box_encoding_predictor:st,class_predictor:it}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:c}}function Xr(o){let t=[],{extractWeights:e,getRemainingWeights:r}=A(o),{extractMobilenetV1Params:a,extractPredictionLayerParams:s}=Go(e,t),i=a(),c=s(),p={extra_dim:n.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:i,prediction_layer:c,output_layer:p},paramMappings:t}}function jo(o,t){let e=B(o,t);function r(p,u,f){let l=e(`${p}/Conv2d_${u}_pointwise/weights`,4,`${f}/filters`),d=e(`${p}/Conv2d_${u}_pointwise/convolution_bn_offset`,1,`${f}/batch_norm_offset`);return{filters:l,batch_norm_offset:d}}function a(p){let u=`mobilenetv1/conv_${p}`,f=`MobilenetV1/Conv2d_${p}_depthwise`,l=`${u}/depthwise_conv`,d=`${u}/pointwise_conv`,g=e(`${f}/depthwise_weights`,4,`${l}/filters`),_=e(`${f}/BatchNorm/gamma`,1,`${l}/batch_norm_scale`),F=e(`${f}/BatchNorm/beta`,1,`${l}/batch_norm_offset`),h=e(`${f}/BatchNorm/moving_mean`,1,`${l}/batch_norm_mean`),y=e(`${f}/BatchNorm/moving_variance`,1,`${l}/batch_norm_variance`);return{depthwise_conv:{filters:g,batch_norm_scale:_,batch_norm_offset:F,batch_norm_mean:h,batch_norm_variance:y},pointwise_conv:r("MobilenetV1",p,d)}}function s(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:a(1),conv_2:a(2),conv_3:a(3),conv_4:a(4),conv_5:a(5),conv_6:a(6),conv_7:a(7),conv_8:a(8),conv_9:a(9),conv_10:a(10),conv_11:a(11),conv_12:a(12),conv_13:a(13)}}function i(p,u){let f=e(`${p}/weights`,4,`${u}/filters`),l=e(`${p}/biases`,1,`${u}/bias`);return{filters:f,bias:l}}function c(p){let u=i(`Prediction/BoxPredictor_${p}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${p}/box_encoding_predictor`),f=i(`Prediction/BoxPredictor_${p}/ClassPredictor`,`prediction_layer/box_predictor_${p}/class_predictor`);return{box_encoding_predictor:u,class_predictor:f}}function m(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:c(0),box_predictor_1:c(1),box_predictor_2:c(2),box_predictor_3:c(3),box_predictor_4:c(4),box_predictor_5:c(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:m}}function Jr(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=jo(o,t),a=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!K(a))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${a}`);let s={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:a}};return L(o,t),{params:s,paramMappings:t}}function H(o,t,e){return n.tidy(()=>{let r=n.conv2d(o,t.filters,e,"same");return r=n.add(r,t.batch_norm_offset),n.clipByValue(r,0,6)})}var Uo=.0010000000474974513;function Xo(o,t,e){return n.tidy(()=>{let r=n.depthwiseConv2d(o,t.filters,e,"same");return r=n.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Uo),n.clipByValue(r,0,6)})}function Jo(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function qr(o,t){return n.tidy(()=>{let e,r=H(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let c=i+1,m=Jo(c);r=Xo(r,s.depthwise_conv,m),r=H(r,s.pointwise_conv,[1,1]),c===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function qo(o,t,e){let r=o.arraySync(),a=Math.min(r[t][0],r[t][2]),s=Math.min(r[t][1],r[t][3]),i=Math.max(r[t][0],r[t][2]),c=Math.max(r[t][1],r[t][3]),m=Math.min(r[e][0],r[e][2]),p=Math.min(r[e][1],r[e][3]),u=Math.max(r[e][0],r[e][2]),f=Math.max(r[e][1],r[e][3]),l=(i-a)*(c-s),d=(u-m)*(f-p);if(l<=0||d<=0)return 0;let g=Math.max(a,m),_=Math.max(s,p),F=Math.min(i,u),h=Math.min(c,f),y=Math.max(F-g,0)*Math.max(h-_,0);return y/(l+d-y)}function Zr(o,t,e,r,a){let s=o.shape[0],i=Math.min(e,s),c=t.map((u,f)=>({score:u,boxIndex:f})).filter(u=>u.score>a).sort((u,f)=>f.score-u.score),m=u=>u<=r?1:0,p=[];return c.forEach(u=>{if(p.length>=i)return;let f=u.score;for(let l=p.length-1;l>=0;--l){let d=qo(o,u.boxIndex,p[l]);if(d!==0&&(u.score*=m(d),u.score<=a))break}f===u.score&&p.push(u.boxIndex)}),p}function Zo(o){let t=n.unstack(n.transpose(o,[1,0])),e=[n.sub(t[2],t[0]),n.sub(t[3],t[1])],r=[n.add(t[0],n.div(e[0],2)),n.add(t[1],n.div(e[1],2))];return{sizes:e,centers:r}}function Ko(o,t){let{sizes:e,centers:r}=Zo(o),a=n.unstack(n.transpose(t,[1,0])),s=n.div(n.mul(n.exp(n.div(a[2],5)),e[0]),2),i=n.add(n.mul(n.div(a[0],10),e[0]),r[0]),c=n.div(n.mul(n.exp(n.div(a[3],5)),e[1]),2),m=n.add(n.mul(n.div(a[1],10),e[1]),r[1]);return n.transpose(n.stack([n.sub(i,s),n.sub(m,c),n.add(i,s),n.add(m,c)]),[1,0])}function Kr(o,t,e){return n.tidy(()=>{let r=o.shape[0],a=Ko(n.reshape(n.tile(e.extra_dim,[r,1,1]),[-1,4]),n.reshape(o,[-1,4]));a=n.reshape(a,[r,a.shape[0]/r,4]);let s=n.sigmoid(n.slice(t,[0,0,1],[-1,-1,-1])),i=n.slice(s,[0,0,0],[-1,-1,1]);i=n.reshape(i,[r,i.shape[1]]);let c=n.unstack(a),m=n.unstack(i);return{boxes:c,scores:m}})}function Tt(o,t){return n.tidy(()=>{let e=o.shape[0],r=n.reshape(_t(o,t.box_encoding_predictor),[e,-1,1,4]),a=n.reshape(_t(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:a}})}function Qr(o,t,e){return n.tidy(()=>{let r=H(o,e.conv_0,[1,1]),a=H(r,e.conv_1,[2,2]),s=H(a,e.conv_2,[1,1]),i=H(s,e.conv_3,[2,2]),c=H(i,e.conv_4,[1,1]),m=H(c,e.conv_5,[2,2]),p=H(m,e.conv_6,[1,1]),u=H(p,e.conv_7,[2,2]),f=Tt(t,e.box_predictor_0),l=Tt(o,e.box_predictor_1),d=Tt(a,e.box_predictor_2),g=Tt(i,e.box_predictor_3),_=Tt(m,e.box_predictor_4),F=Tt(u,e.box_predictor_5),h=n.concat([f.boxPredictionEncoding,l.boxPredictionEncoding,d.boxPredictionEncoding,g.boxPredictionEncoding,_.boxPredictionEncoding,F.boxPredictionEncoding],1),y=n.concat([f.classPrediction,l.classPrediction,d.classPrediction,g.classPrediction,_.classPrediction,F.classPrediction],1);return{boxPredictions:h,classPredictions:y}})}var z=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var Pt=class extends I{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return n.tidy(()=>{let r=n.cast(t.toBatchTensor(512,!1),"float32"),a=n.sub(n.div(r,127.5),1),s=qr(a,e.mobilenetv1),{boxPredictions:i,classPredictions:c}=Qr(s.out,s.conv11,e.prediction_layer);return Kr(i,c,e.output_layer)})}async forward(t){return this.forwardInput(await M(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:a}=new z(e),s=await M(t),{boxes:i,scores:c}=this.forwardInput(s),m=i[0],p=c[0];for(let x=1;x{let[D,N]=[Math.max(0,h[x][0]),Math.min(1,h[x][2])].map(O=>O*F),[Y,q]=[Math.max(0,h[x][1]),Math.min(1,h[x][3])].map(O=>O*_);return new E(u[x],new St(Y,D,q-Y,N-D),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return m.dispose(),p.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Jr(t)}extractParams(t){return Xr(t)}};function Qo(o){let t=new Pt;return t.extractWeights(o),t}function vl(o){return Qo(o)}var to=class extends Pt{};var eo=.4,ro=[new b(.738768,.874946),new b(2.42204,2.65704),new b(4.30971,7.04493),new b(10.246,4.59428),new b(12.6868,11.8741)],oo=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],no=[117.001,114.697,97.404],ao="tiny_yolov2_model",so="tiny_yolov2_separable_conv_model";var Se=o=>typeof o=="number";function io(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Se(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Se(t.x)&&Se(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Se)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}function Xt(o){return n.tidy(()=>{let t=n.mul(o,n.scalar(.10000000149011612));return n.add(n.relu(n.sub(o,t)),t)})}function ot(o,t){return n.tidy(()=>{let e=n.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=n.conv2d(e,t.conv.filters,[1,1],"valid"),e=n.sub(e,t.bn.sub),e=n.mul(e,t.bn.truediv),e=n.add(e,t.conv.bias),Xt(e)})}function nt(o,t){return n.tidy(()=>{let e=n.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=n.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=n.add(e,t.bias),Xt(e)})}function tn(o,t){let e=$t(o,t);function r(i,c){let m=n.tensor1d(o(i)),p=n.tensor1d(o(i));return t.push({paramPath:`${c}/sub`},{paramPath:`${c}/truediv`}),{sub:m,truediv:p}}function a(i,c,m){let p=e(i,c,3,`${m}/conv`),u=r(c,`${m}/bn`);return{conv:p,bn:u}}let s=Ot(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}}function co(o,t,e,r){let{extractWeights:a,getRemainingWeights:s}=A(o),i=[],{extractConvParams:c,extractConvWithBatchNormParams:m,extractSeparableConvParams:p}=tn(a,i),u;if(t.withSeparableConvs){let[f,l,d,g,_,F,h,y,x]=r,D=t.isFirstLayerConv2d?c(f,l,3,"conv0"):p(f,l,"conv0"),N=p(l,d,"conv1"),Y=p(d,g,"conv2"),q=p(g,_,"conv3"),O=p(_,F,"conv4"),at=p(F,h,"conv5"),st=y?p(h,y,"conv6"):void 0,it=x?p(y,x,"conv7"):void 0,gt=c(x||y||h,5*e,1,"conv8");u={conv0:D,conv1:N,conv2:Y,conv3:q,conv4:O,conv5:at,conv6:st,conv7:it,conv8:gt}}else{let[f,l,d,g,_,F,h,y,x]=r,D=m(f,l,"conv0"),N=m(l,d,"conv1"),Y=m(d,g,"conv2"),q=m(g,_,"conv3"),O=m(_,F,"conv4"),at=m(F,h,"conv5"),st=m(h,y,"conv6"),it=m(y,x,"conv7"),gt=c(x,5*e,1,"conv8");u={conv0:D,conv1:N,conv2:Y,conv3:q,conv4:O,conv5:at,conv6:st,conv7:it,conv8:gt}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:u,paramMappings:i}}function en(o,t){let e=B(o,t);function r(c){let m=e(`${c}/sub`,1),p=e(`${c}/truediv`,1);return{sub:m,truediv:p}}function a(c){let m=e(`${c}/filters`,4),p=e(`${c}/bias`,1);return{filters:m,bias:p}}function s(c){let m=a(`${c}/conv`),p=r(`${c}/bn`);return{conv:m,bn:p}}let i=Ht(e);return{extractConvParams:a,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function mo(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}=en(o,e),i;if(t.withSeparableConvs){let c=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?r("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:c>7?s("conv6"):void 0,conv7:c>8?s("conv7"):void 0,conv8:r("conv8")}}else i={conv0:a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:a("conv6"),conv7:a("conv7"),conv8:r("conv8")};return L(o,e),{params:i,paramMappings:e}}var J=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var cr=class extends I{constructor(e){super("TinyYolov2");io(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,r){let a=ot(e,r.conv0);return a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv1),a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv2),a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv3),a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv4),a=n.maxPool(a,[2,2],[2,2],"same"),a=ot(a,r.conv5),a=n.maxPool(a,[2,2],[1,1],"same"),a=ot(a,r.conv6),a=ot(a,r.conv7),_t(a,r.conv8,"valid",!1)}runMobilenet(e,r){let a=this.config.isFirstLayerConv2d?Xt(_t(e,r.conv0,"valid",!1)):nt(e,r.conv0);return a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv1),a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv2),a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv3),a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv4),a=n.maxPool(a,[2,2],[2,2],"same"),a=nt(a,r.conv5),a=n.maxPool(a,[2,2],[1,1],"same"),a=r.conv6?nt(a,r.conv6):a,a=r.conv7?nt(a,r.conv7):a,_t(a,r.conv8,"valid",!1)}forwardInput(e,r){let{params:a}=this;if(!a)throw new Error("TinyYolov2 - load model before inference");return n.tidy(()=>{let s=n.cast(e.toBatchTensor(r,!1),"float32");return s=this.config.meanRgb?X(s,this.config.meanRgb):s,s=s.div(255),this.config.withSeparableConvs?this.runMobilenet(s,a):this.runTinyYolov2(s,a)})}async forward(e,r){return this.forwardInput(await M(e),r)}async detect(e,r={}){let{inputSize:a,scoreThreshold:s}=new J(r),i=await M(e),c=await this.forwardInput(i,a),m=n.tidy(()=>n.unstack(c)[0].expandDims()),p={width:i.getInputWidth(0),height:i.getInputHeight(0)},u=await this.extractBoxes(m,i.getReshapedInputDimensions(0),s);c.dispose(),m.dispose();let f=u.map(h=>h.box),l=u.map(h=>h.score),d=u.map(h=>h.classScore),g=u.map(h=>this.config.classes[h.label]);return gr(f.map(h=>h.rescale(a)),l,this.config.iouThreshold,!0).map(h=>new ct(l[h],d[h],g[h],f[h],p))}getDefaultModelName(){return""}extractParamsFromWeightMap(e){return mo(e,this.config)}extractParams(e){let r=this.config.filterSizes||cr.DEFAULT_FILTER_SIZES,a=r?r.length:void 0;if(a!==7&&a!==8&&a!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${a} filterSizes in config`);return co(e,this.config,this.boxEncodingSize,r)}async extractBoxes(e,r,a){let{width:s,height:i}=r,c=Math.max(s,i),m=c/s,p=c/i,u=e.shape[1],f=this.config.anchors.length,[l,d,g]=n.tidy(()=>{let y=e.reshape([u,u,f,this.boxEncodingSize]),x=y.slice([0,0,0,0],[u,u,f,4]),D=y.slice([0,0,0,4],[u,u,f,1]),N=this.withClassScores?n.softmax(y.slice([0,0,0,5],[u,u,f,this.config.classes.length]),3):n.scalar(0);return[x,D,N]}),_=[],F=await d.array(),h=await l.array();for(let y=0;ya){let Y=(x+fe(h[y][x][D][0]))/u*m,q=(y+fe(h[y][x][D][1]))/u*p,O=Math.exp(h[y][x][D][2])*this.config.anchors[D].x/u*m,at=Math.exp(h[y][x][D][3])*this.config.anchors[D].y/u*p,st=Y-O/2,it=q-at/2,gt={row:y,col:x,anchor:D},{classScore:pr,label:ur}=this.withClassScores?await this.extractPredictedClass(g,gt):{classScore:1,label:0};_.push({box:new Nt(st,it,st+O,it+at),score:N,classScore:N*pr,label:ur,...gt})}}return l.dispose(),d.dispose(),g.dispose(),_}async extractPredictedClass(e,r){let{row:a,col:s,anchor:i}=r,c=await e.array();return Array(this.config.classes.length).fill(0).map((m,p)=>c[a][s][i][p]).map((m,p)=>({classScore:m,label:p})).reduce((m,p)=>m.classScore>p.classScore?m:p)}},wt=cr;wt.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Jt=class extends wt{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:eo,classes:["face"],...t?{anchors:oo,meanRgb:no}:{anchors:ro,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(a=>new E(a.score,a.relativeBox,{width:a.imageWidth,height:a.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?so:ao}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function pd(o,t=!0){let e=new Jt(t);return e.extractWeights(o),e}var Le=class extends J{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var V=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function Ft(o,t,e,r,a=({alignedRect:s})=>s){let s=o.map(m=>Yt(m)?a(m):m.detection),i=r||(t instanceof n.Tensor?await oe(t,s):await re(t,s)),c=await e(i);return i.forEach(m=>m instanceof n.Tensor&&m.dispose()),c}async function qt(o,t,e,r,a){return Ft([o],t,async s=>e(s[0]),r,a)}var po=.4,uo=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],fo=[117.001,114.697,97.404];var Zt=class extends wt{constructor(){let t={withSeparableConvs:!0,iouThreshold:po,classes:["face"],anchors:uo,meanRgb:fo,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(a=>new E(a.score,a.relativeBox,{width:a.imageWidth,height:a.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var P={ssdMobilenetv1:new Pt,tinyFaceDetector:new Zt,tinyYolov2:new Jt,faceLandmark68Net:new jt,faceLandmark68TinyNet:new Ie,faceRecognitionNet:new Ut,faceExpressionNet:new we,ageGenderNet:new Me},rn=(o,t)=>P.ssdMobilenetv1.locateFaces(o,t),Od=(o,t)=>P.tinyFaceDetector.locateFaces(o,t),Hd=(o,t)=>P.tinyYolov2.locateFaces(o,t),on=o=>P.faceLandmark68Net.detectLandmarks(o),zd=o=>P.faceLandmark68TinyNet.detectLandmarks(o),Vd=o=>P.faceRecognitionNet.computeFaceDescriptor(o),Yd=o=>P.faceExpressionNet.predictExpressions(o),Gd=o=>P.ageGenderNet.predictAgeAndGender(o),nn=o=>P.ssdMobilenetv1.load(o),jd=o=>P.tinyFaceDetector.load(o),Ud=o=>P.tinyYolov2.load(o),Xd=o=>P.faceLandmark68Net.load(o),Jd=o=>P.faceLandmark68TinyNet.load(o),qd=o=>P.faceRecognitionNet.load(o),Zd=o=>P.faceExpressionNet.load(o),Kd=o=>P.ageGenderNet.load(o),Qd=nn,th=rn,eh=on;var Ae=class extends V{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.extractedFaces=a}},Dt=class extends Ae{async run(){let t=await this.parentTask,e=await Ft(t,this.input,async r=>Promise.all(r.map(a=>P.faceExpressionNet.predictExpressions(a))),this.extractedFaces);return t.map((r,a)=>tr(r,e[a]))}withAgeAndGender(){return new Mt(this,this.input)}},Et=class extends Ae{async run(){let t=await this.parentTask;if(!t)return;let e=await qt(t,this.input,r=>P.faceExpressionNet.predictExpressions(r),this.extractedFaces);return tr(t,e)}withAgeAndGender(){return new Ct(this,this.input)}},ut=class extends Dt{withAgeAndGender(){return new lt(this,this.input)}withFaceDescriptors(){return new ht(this,this.input)}},ft=class extends Et{withAgeAndGender(){return new dt(this,this.input)}withFaceDescriptor(){return new bt(this,this.input)}};var We=class extends V{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.extractedFaces=a}},Mt=class extends We{async run(){let t=await this.parentTask,e=await Ft(t,this.input,async r=>Promise.all(r.map(a=>P.ageGenderNet.predictAgeAndGender(a))),this.extractedFaces);return t.map((r,a)=>{let{age:s,gender:i,genderProbability:c}=e[a];return sr(ir(r,i,c),s)})}withFaceExpressions(){return new Dt(this,this.input)}},Ct=class extends We{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:a}=await qt(t,this.input,s=>P.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return sr(ir(t,r,a),e)}withFaceExpressions(){return new Et(this,this.input)}},lt=class extends Mt{withFaceExpressions(){return new ut(this,this.input)}withFaceDescriptors(){return new ht(this,this.input)}},dt=class extends Ct{withFaceExpressions(){return new ft(this,this.input)}withFaceDescriptor(){return new bt(this,this.input)}};var ke=class extends V{constructor(e,r){super();this.parentTask=e;this.input=r}},ht=class extends ke{async run(){let t=await this.parentTask;return(await Ft(t,this.input,r=>Promise.all(r.map(a=>P.faceRecognitionNet.computeFaceDescriptor(a))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,a)=>ar(t[a],r))}withFaceExpressions(){return new ut(this,this.input)}withAgeAndGender(){return new lt(this,this.input)}},bt=class extends ke{async run(){let t=await this.parentTask;if(!t)return;let e=await qt(t,this.input,r=>P.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return ar(t,e)}withFaceExpressions(){return new ft(this,this.input)}withAgeAndGender(){return new dt(this,this.input)}};var Be=class extends V{constructor(e,r,a){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=a}get landmarkNet(){return this.useTinyLandmarkNet?P.faceLandmark68TinyNet:P.faceLandmark68Net}},Re=class extends Be{async run(){let t=await this.parentTask,e=t.map(i=>i.detection),r=this.input instanceof n.Tensor?await oe(this.input,e):await re(this.input,e),a=await Promise.all(r.map(i=>this.landmarkNet.detectLandmarks(i)));return r.forEach(i=>i instanceof n.Tensor&&i.dispose()),t.filter((i,c)=>a[c]).map((i,c)=>ie(i,a[c]))}withFaceExpressions(){return new ut(this,this.input)}withAgeAndGender(){return new lt(this,this.input)}withFaceDescriptors(){return new ht(this,this.input)}},$e=class extends Be{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof n.Tensor?await oe(this.input,[e]):await re(this.input,[e]),a=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(s=>s instanceof n.Tensor&&s.dispose()),ie(t,a)}withFaceExpressions(){return new ft(this,this.input)}withAgeAndGender(){return new dt(this,this.input)}withFaceDescriptor(){return new bt(this,this.input)}};var Oe=class extends V{constructor(e,r=new z){super();this.input=e;this.options=r}},me=class extends Oe{async run(){let{input:t,options:e}=this,r;if(e instanceof Le)r=P.tinyFaceDetector.locateFaces(t,e);else if(e instanceof z)r=P.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof J)r=P.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(a=>At({},a)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new Re(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new Dt(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Mt(this.runAndExtendWithFaceDetections(),this.input)}},He=class extends Oe{async run(){let t=await new me(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?At({},e):void 0)})}withFaceLandmarks(t=!1){return new $e(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new Et(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Ct(this.runAndExtendWithFaceDetection(),this.input)}};function Kh(o,t=new z){return new He(o,t)}function mr(o,t=new z){return new me(o,t)}async function an(o,t){return mr(o,new z(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function nb(o,t={}){return mr(o,new J(t)).withFaceLandmarks().withFaceDescriptors()}var ab=an;function lo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((a,s)=>a-r[s]).reduce((a,s)=>a+s*s,0))}var ze=class{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let a=1,s=()=>`person ${a++}`;this._labeledDescriptors=r.map(i=>{if(i instanceof Q)return i;if(i instanceof Float32Array)return new Q(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new Q(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>lo(r,t)).reduce((r,a)=>r+a,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new Kt(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>Q.fromJSON(r));return new ze(e,t.distanceThreshold)}};function Pb(o){let t=new Zt;return t.extractWeights(o),t}function sn(o,t){let{width:e,height:r}=new S(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(a=>sn(a,{width:e,height:r}));if(Yt(o)){let a=o.detection.forSize(e,r),s=o.unshiftedLandmarks.forSize(a.box.width,a.box.height);return ie(At(o,a),s)}return tt(o)?At(o,o.detection.forSize(e,r)):o instanceof $||o instanceof E?o.forSize(e,r):o}var Ab=Wr;export{Me as AgeGenderNet,Nt as BoundingBox,w as Box,V as ComposableTask,ht as ComputeAllFaceDescriptorsTask,ke as ComputeFaceDescriptorsTaskBase,bt as ComputeSingleFaceDescriptorTask,Re as DetectAllFaceLandmarksTask,me as DetectAllFacesTask,Be as DetectFaceLandmarksTaskBase,Oe as DetectFacesTaskBase,$e as DetectSingleFaceLandmarksTask,He as DetectSingleFaceTask,S as Dimensions,Sr as FACE_EXPRESSION_LABELS,E as FaceDetection,to as FaceDetectionNet,we as FaceExpressionNet,pt as FaceExpressions,jt as FaceLandmark68Net,Ie as FaceLandmark68TinyNet,Vr as FaceLandmarkNet,$ as FaceLandmarks,vr as FaceLandmarks5,Lt as FaceLandmarks68,Kt as FaceMatch,ze as FaceMatcher,Ut as FaceRecognitionNet,rr as Gender,Qt as LabeledBox,Q as LabeledFaceDescriptors,rt as NetInput,I as NeuralNetwork,ct as ObjectDetection,b as Point,yr as PredictedBox,St as Rect,Pt as SsdMobilenetv1,z as SsdMobilenetv1Options,Zt as TinyFaceDetector,Le as TinyFaceDetectorOptions,Jt as TinyYolov2,J as TinyYolov2Options,ab as allFaces,an as allFacesSsdMobilenetv1,nb as allFacesTinyYolov2,_r as awaitMediaLoaded,Tr as bufferToImage,Vd as computeFaceDescriptor,Rt as createCanvas,be as createCanvasFromMedia,vl as createFaceDetectionNet,vf as createFaceRecognitionNet,Qo as createSsdMobilenetv1,Pb as createTinyFaceDetector,pd as createTinyYolov2,mr as detectAllFaces,on as detectFaceLandmarks,zd as detectFaceLandmarksTiny,eh as detectLandmarks,Kh as detectSingleFace,Ar as draw,T as env,lo as euclideanDistance,sr as extendWithAge,ar as extendWithFaceDescriptor,At as extendWithFaceDetection,tr as extendWithFaceExpressions,ie as extendWithFaceLandmarks,ir as extendWithGender,oe as extractFaceTensors,re as extractFaces,Mi as fetchImage,Fr as fetchJson,Li as fetchNetWeights,mt as fetchOrThrow,$i as fetchVideo,k as getContext2dOrThrow,Bt as getMediaDimensions,Pr as imageTensorToCanvas,wr as imageToSquare,Vn as inverseSigmoid,hr as iou,Qe as isMediaElement,he as isMediaLoaded,Pf as isWithAge,tt as isWithFaceDetection,Lr as isWithFaceExpressions,Yt as isWithFaceLandmarks,Ef as isWithGender,Kd as loadAgeGenderModel,Qd as loadFaceDetectionModel,Zd as loadFaceExpressionModel,Xd as loadFaceLandmarkModel,Jd as loadFaceLandmarkTinyModel,qd as loadFaceRecognitionModel,nn as loadSsdMobilenetv1Model,jd as loadTinyFaceDetectorModel,Ud as loadTinyYolov2Model,Er as loadWeightMap,th as locateFaces,ji as matchDimensions,br as minBbox,P as nets,gr as nonMaxSuppression,X as normalize,xr as padToSquare,Gd as predictAgeAndGender,Yd as recognizeFaceExpressions,sn as resizeResults,Wt as resolveInput,Hn as shuffleArray,fe as sigmoid,rn as ssdMobilenetv1,n as tf,Od as tinyFaceDetector,Hd as tinyYolov2,M as toNetInput,dr as utils,io as validateConfig,Ab as version}; diff --git a/dist/face-api.esm.js b/dist/face-api.esm.js index 199a6aa..d7d74c6 100644 --- a/dist/face-api.esm.js +++ b/dist/face-api.esm.js @@ -4884,5 +4884,5 @@ return a / b;`,One=` } `}};function $se(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,segmentIds:s}=t,{numSegments:i}=a,o=r.shape.length,l=[],u=0,p=C.getAxesPermutation([u],o),d=r;p!=null&&(d=Nn({inputs:{x:r},backend:n,attrs:{perm:p}}),l.push(d),u=C.getInnerMostAxes(1,o)[0]);let c=C.segment_util.computeOutShape(d.shape,u,i),h=v.sizeFromShape([d.shape[u]]),m=he({inputs:{x:d},backend:n,attrs:{shape:[-1,h]}});l.push(m);let f=Km(r.dtype),g=(w,I,N,_,$)=>{let A=w.shape[0],M=w.shape[1],D=C.segment_util.segOpComputeOptimalWindowSize(M,$),T={windowSize:D,inSize:M,batchSize:A,numSegments:$},P=new Ese(T,I),U=n.compileAndRun(P,[w,N],_);if(l.push(U),U.shape[1]===$)return U;let j=TE({backend:n,attrs:{start:0,stop:$,step:1,dtype:"float32"}}),q=NE({inputs:{x:j},backend:n,attrs:{reps:[M/D]}});return l.push(j),l.push(q),g(U,I,q,_,$)},b=g(m,"unsortedSegmentSum",s,f,i),y=he({inputs:{x:b},backend:n,attrs:{shape:c}}),x=y;if(p!=null){l.push(y);let w=C.getUndoAxesPermutation(p);x=Nn({inputs:{x},backend:n,attrs:{perm:w}})}return l.forEach(w=>n.disposeIntermediateTensorInfo(w)),x}var Ase={kernelName:Mc,backendName:"webgl",kernelFunc:$se},Fse=[AJ,DJ,PJ,zJ,BJ,GJ,jJ,KJ,JJ,e9,a9,i9,u9,h9,g9,y9,v9,T9,N9,_9,F9,z9,B9,U9,X9,Z9,tQ,dJ,rQ,uQ,hQ,xQ,wQ,IQ,SQ,CQ,$Q,DQ,PQ,LQ,WQ,VQ,HQ,qQ,ZQ,QQ,nee,see,oee,cee,fee,xee,kee,See,Nee,_ee,$ee,Fee,Ree,Pee,Wee,Uee,jee,Kee,Zee,ete,rte,lte,cJ,pte,oQ,hte,gte,xte,mJ,Ite,Cte,Ete,Dte,Pte,Wte,Ute,qte,Zte,ene,nne,ine,lne,pne,mne,gne,yne,vne,kne,Nne,$ne,Rne,Vne,xJ,jne,Xne,Jne,tae,H9,rae,iae,lae,cae,fae,gJ,bae,xae,vae,j9,Lne,Iae,Cae,Aae,wJ,Mae,Lae,Vae,Hae,Xae,Zae,ere,are,sre,lre,cre,mre,yre,wre,Tre,Cre,O9,Wne,$re,Fre,Rre,Pre,Lre,Wre,Vre,Gre,jre,Xre,Zre,Qre,nse,rse,ise,lse,zne,_J,cse,mse,bse,wse,Tse,EJ,Nse,_se,Ase,sae];for(let e of Fse)Pc(e);var At;(function(e){e[e.float32=0]="float32",e[e.int32=1]="int32",e[e.bool=2]="bool",e[e.string=3]="string",e[e.complex64=4]="complex64"})(At||(At={}));var bc;(function(e){e[e.linear=0]="linear",e[e.relu=1]="relu",e[e.relu6=2]="relu6",e[e.prelu=3]="prelu",e[e.leakyrelu=4]="leakyrelu",e[e.sigmoid=5]="sigmoid",e[e.elu=6]="elu"})(bc||(bc={}));var CE;function Dse(e){CE=e.wasm.cwrap(oi,null,["number","array","number","number","array","number","number","number","number","number","number","number","number"])}function Rse(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s,bias:i,preluActivationWeights:o}=t;if(r.dtype!=="float32"||s.dtype!=="float32")throw new Error("_FusedMatMul for non non-float32 tensors not yet supported.");let{transposeA:l,transposeB:u,activation:p,leakyreluAlpha:d}=a,c=n.dataIdMap.get(r.dataId).id,h=n.dataIdMap.get(s.dataId).id,m=0;if(i!=null){let $=n.dataIdMap.get(i.dataId);if($.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${$.shape.length}.`);m=$.id}let f=o==null?0:n.dataIdMap.get(o.dataId).id,g=bc[p];if(g==null)throw new Error(`${p} activation not yet supported for FusedConv2D in the wasm backend.`);let b=l?r.shape[2]:r.shape[1],y=u?s.shape[1]:s.shape[2],x=Mu.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)),w=n.makeOutput([...x,b,y],r.dtype),I=n.dataIdMap.get(w.dataId).id,N=new Uint8Array(new Int32Array(r.shape).buffer),_=new Uint8Array(new Int32Array(s.shape).buffer);return CE(c,N,r.shape.length,h,_,s.shape.length,l,u,g,m,f,d||0,I),w}var Mse={kernelName:oi,backendName:"wasm",setupFunc:Dse,kernelFunc:Rse};function rn(e,t){let n;function a(s){n=s.wasm.cwrap(e,null,["number","number","number"])}function r(s){let{backend:i,inputs:{x:o}}=s,l=i.dataIdMap.get(o.dataId).id,u=i.makeOutput(o.shape,t||o.dtype),p=i.dataIdMap.get(u.dataId).id;return v.sizeFromShape(u.shape)===0||n(l,At[o.dtype],p),u}return{kernelName:e,backendName:"wasm",setupFunc:a,kernelFunc:r}}var Pse=rn(Al);function cn(e,t,n){let a;function r(i){a=i.wasm.cwrap(e,null,["number","array","number","number","array","number","number","number"])}function s(i){let{backend:o,inputs:l}=i,{a:u,b:p}=l,d=o.dataIdMap.get(u.dataId).id,c=o.dataIdMap.get(p.dataId).id,h=n!=null?n:u.dtype,m=C.assertAndGetBroadcastShape(u.shape,p.shape),f=o.makeOutput(m,h);if(v.sizeFromShape(m)===0)return f;let g=new Uint8Array(new Int32Array(u.shape).buffer),b=new Uint8Array(new Int32Array(p.shape).buffer),y=o.dataIdMap.get(f.dataId).id;return a(d,g,u.shape.length,c,b,p.shape.length,At[u.dtype],y),f}return{kernelName:e,backendName:"wasm",setupFunc:r,kernelFunc:s}}var Ose=!0,Lse=cn(ms,Ose),_E;function zse(e){_E=e.wasm.cwrap(Ii,null,["array","number","number","number"])}function Wse(e){let{inputs:t,backend:n}=e,a=n.makeOutput(t[0].shape,t[0].dtype);if(v.sizeFromShape(a.shape)===0)return a;let r=t.map(o=>n.dataIdMap.get(o.dataId).id),s=new Uint8Array(new Int32Array(r).buffer),i=n.dataIdMap.get(a.dataId).id;return _E(s,r.length,At[a.dtype],i),a}var Bse={kernelName:Ii,backendName:"wasm",setupFunc:zse,kernelFunc:Wse};function ig(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype),r=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(a).set(r),a}var Vse={kernelName:Vi,backendName:"wasm",kernelFunc:ig},EE;function Use(e){EE=e.wasm.cwrap(_r,null,["number","array","number","number","number","array","number"])}function cs(e){let{inputs:t,backend:n,attrs:a}=e,[r,s]=Hse(t.x.shape,a.perm),i=!0;for(let m=0;m=r&&(s===-1||a[s]>a[i])&&(s=i);a[s]=r}return[n,a]}var jse={kernelName:_r,backendName:"wasm",kernelFunc:cs,setupFunc:Use};function _s(e,t,n){let a=e.shape,r=e.shape.length,s=v.parseAxisParam(t,a),i=s,o=C.getAxesPermutation(i,r),l=null,u=!1;if(o!=null){let p=new Array(r);for(let c=0;c`new shape: ${i}, old shape: ${a.shape}. New shape and old shape must have the same number of elements.`),e.backend.incRef(a.dataId),{dataId:a.dataId,shape:i,dtype:a.dtype}}var sie={kernelName:yu,backendName:"wasm",kernelFunc:Un},RE;function iie(e){RE=e.wasm.cwrap(Ni,null,["number","array","number","number","array","number","number","number","number"])}function oie(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s}=t,{transposeA:i,transposeB:o}=a;if(r.dtype!=="float32"||s.dtype!=="float32")throw new Error("BatchMatMul for non non-float32 tensors not yet supported.");let l=r.shape.length,u=s.shape.length,p=i?r.shape[l-2]:r.shape[l-1],d=o?s.shape[u-1]:s.shape[u-2],c=i?r.shape[l-1]:r.shape[l-2],h=o?s.shape[u-2]:s.shape[u-1],m=r.shape.slice(0,-2),f=s.shape.slice(0,-2),g=v.sizeFromShape(m),b=v.sizeFromShape(f),y=Mu.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)).concat([c,h]);v.assert(p===d,()=>`Error in matMul: inner shapes (${p}) and (${d}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${i} and transposeB=${o} must match.`);let x=i?[g,p,c]:[g,c,p],w=o?[b,h,d]:[b,d,h],I=Un({inputs:{x:r},backend:n,attrs:{shape:x}}),N=Un({inputs:{x:s},backend:n,attrs:{shape:w}}),_=n.dataIdMap.get(I.dataId).id,$=n.dataIdMap.get(N.dataId).id,A=i?I.shape[2]:I.shape[1],M=o?N.shape[1]:N.shape[2],D=Math.max(g,b),T=n.makeOutput([D,A,M],I.dtype),P=n.dataIdMap.get(T.dataId).id,U=new Uint8Array(new Int32Array(I.shape).buffer),j=new Uint8Array(new Int32Array(N.shape).buffer);return RE(_,U,I.shape.length,$,j,N.shape.length,i,o,P),n.disposeData(I.dataId),n.disposeData(N.dataId),T.shape=y,T}var lie={kernelName:Ni,backendName:"wasm",setupFunc:iie,kernelFunc:oie};function wi(e){let{inputs:{x:t},attrs:{begin:n,size:a},backend:r}=e,[s,i]=qt.parseSliceParams(t,n,a),o=qt.isSliceContinous(t.shape,s,i),l=r.readSync(t.dataId),u=r.makeOutput(i,t.dtype),p=v.computeStrides(t.shape),d=r.dataIdMap.get(u.dataId);if(o){let m=qt.computeFlatOffset(s,p);return t.dtype==="string"?d.stringBytes=l.slice(m,m+v.sizeFromShape(i)):r.typedArrayFromHeap(u).set(l.subarray(m,m+v.sizeFromShape(i))),u}if(t.dtype==="string"){let m=sm(l,s,i,t.shape,t.dtype);return d.stringBytes=m,u}let c=r.typedArrayFromHeap(u),h=t.shape.length;if(h===2)uie(l,p[0],c,s,i);else if(h===3)pie(l,p[0],p[1],c,s,i);else if(h===4)cie(l,p[0],p[1],p[2],c,s,i);else{let m=sm(l,s,i,t.shape,t.dtype);c.set(m)}return u}function uie(e,t,n,a,r){let s=0,i=a[0],o=a[1],l=i+r[0];for(let u=i;ub*y),l=C.getReshaped(r.shape,s,o),u=C.getPermuted(l.length,s.length),p=C.getReshapedPermuted(r.shape,s,o),d=C.getSliceBeginCoords(i,s.length),c=C.getSliceSize(p,i,s.length),h=Un({inputs:{x:r},backend:n,attrs:{shape:l}}),m=cs({inputs:{x:h},backend:n,attrs:{perm:u}}),f=Un({inputs:{x:m},backend:n,attrs:{shape:p}}),g=wi({inputs:{x:f},backend:n,attrs:{begin:d,size:c}});return n.disposeData(h.dataId),n.disposeData(m.dataId),n.disposeData(h.dataId),g}var mie={kernelName:Bl,backendName:"wasm",kernelFunc:hie};function tp(e){let{inputs:{x:t},attrs:{dtype:n},backend:a}=e,r=a.makeOutput(t.shape,n),s=a.typedArrayFromHeap(t);return a.typedArrayFromHeap(r).set(s),r}var fie={kernelName:Ci,backendName:"wasm",kernelFunc:tp},gie=rn(_i),ME;function bie(e){ME=e.wasm.cwrap(fs,null,["number","number","number","number"])}function yie(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{clipValueMin:s,clipValueMax:i}=a,o=n.dataIdMap.get(r.dataId).id,l=n.makeOutput(r.shape,r.dtype),u=n.dataIdMap.get(l.dataId).id;return ME(o,s,i,u),l}var xie={kernelName:fs,backendName:"wasm",setupFunc:bie,kernelFunc:yie};function PE(e){let{inputs:t,backend:n}=e,a=v.parseAxisParam(e.attrs.axis,t[0].shape)[0],r=C.computeOutShape(t.map(h=>h.shape),a),s=t.filter(h=>v.sizeFromShape(h.shape)>0);if(s.length===1)return ig({inputs:{x:s[0]},backend:n});let i=n.makeOutput(r,t[0].dtype);if(v.sizeFromShape(r)===0)return i;let o=s.map(h=>h.shape);if(C.assertParamsConsistent(o,a),s[0].dtype==="string"){let h=s.map(x=>{let w=v.sizeFromShape(x.shape.slice(a));return Un({inputs:{x},backend:n,attrs:{shape:[-1,w]}})}),m=h.map(x=>({vals:n.readSync(x.dataId),shape:x.shape}));r=C.computeOutShape(h.map(x=>x.shape),1);let f=h[0].shape[0]===1,g=G0(m,r,t[0].dtype,f),b=C.computeOutShape(s.map(x=>x.shape),a);i.shape=b;let y=n.dataIdMap.get(i.dataId);return y.stringBytes=C.fromStringArrayToUint8(g),h.forEach(x=>n.disposeData(x.dataId)),i}let l=v.sizeFromShape(s[0].shape.slice(0,a)),u=0,p=s.map(h=>{let m=v.sizeFromShape(h.shape.slice(a));return u+=m,m}),d=s.map(h=>n.typedArrayFromHeap(h)),c=n.typedArrayFromHeap(i);for(let h=0;h`cumprod does not support ${r.dtype} tensors in the WASM backend`);let u=C.getAxesPermutation([s],l),p=r;u!==null&&(p=cs({inputs:{x:r},attrs:{perm:u},backend:n}));let d=C.getInnerMostAxes(1,l)[0];C.assertAxesAreInnerMostDims("cumprod",[d],l);let c=n.makeOutput(p.shape,p.dtype),h=p.shape[d],m=n.dataIdMap.get(p.dataId).id,f=n.dataIdMap.get(c.dataId).id;WE(m,i?1:0,o?1:0,h,f,At[r.dtype]);let g=c;if(u!==null){let b=C.getUndoAxesPermutation(u);g=cs({inputs:{x:c},attrs:{perm:b},backend:n}),n.disposeData(p.dataId),n.disposeData(c.dataId)}return g}var Rie={kernelName:Ul,backendName:"wasm",setupFunc:Fie,kernelFunc:Die},BE;function Mie(e){BE=e.wasm.cwrap(Di,null,["number","number","number","number","number","number"])}function Pie(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{axis:s,exclusive:i,reverse:o}=a,l=r.shape.length;v.assert(r.dtype==="float32"||r.dtype==="int32",()=>`cumsum does not support ${r.dtype} tensors in the WASM backend`);let u=C.getAxesPermutation([s],l),p=r;u!==null&&(p=cs({inputs:{x:r},attrs:{perm:u},backend:n}));let d=C.getInnerMostAxes(1,l)[0];C.assertAxesAreInnerMostDims("cumsum",[d],l);let c=n.makeOutput(p.shape,p.dtype),h=p.shape[d],m=n.dataIdMap.get(p.dataId).id,f=n.dataIdMap.get(c.dataId).id;BE(m,i?1:0,o?1:0,h,f,At[r.dtype]);let g=c;if(u!==null){let b=C.getUndoAxesPermutation(u);g=cs({inputs:{x:c},attrs:{perm:b},backend:n}),n.disposeData(p.dataId),n.disposeData(c.dataId)}return g}var Oie={kernelName:Di,backendName:"wasm",setupFunc:Mie,kernelFunc:Pie},VE;function Lie(e){VE=e.wasm.cwrap(Hl,null,["number","number","number","array","number","array","array","number","number"])}function zie(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{blockSize:s,dataFormat:i}=a,o=r.shape[0],l=i==="NHWC"?r.shape[1]:r.shape[2],u=i==="NHWC"?r.shape[2]:r.shape[3],p=i==="NHWC"?r.shape[3]:r.shape[1],d=l*s,c=u*s,h=p/(s*s),m=i==="NHWC"?[o,d,c,h]:[o,h,d,c],f=t.makeOutput(m,"float32"),g=t.dataIdMap.get(r.dataId).id,b=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(m).buffer),x=new Uint8Array(new Int32Array(v.computeStrides(m)).buffer),w=t.dataIdMap.get(f.dataId).id;return VE(g,s,i==="NHWC"?1:0,b,r.shape.length-1,y,x,m.length,w),f}var Wie={kernelName:Hl,backendName:"wasm",setupFunc:Lie,kernelFunc:zie},UE;function Bie(e){UE=e.wasm.cwrap(Ri,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Vie(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s}=t,i=a.dataIdMap.get(r.dataId).id,o=a.dataIdMap.get(s.dataId).id,{strides:l,dilations:u,pad:p,dimRoundingMode:d}=n,c=u==null?[1,1]:u,h=C.computeConv2DInfo(r.shape,s.shape,l,c,p,d,!0),m=h.filterHeight,f=h.filterWidth,g=h.padInfo.top,b=h.padInfo.right,y=h.padInfo.bottom,x=h.padInfo.left,w=h.dilationHeight,I=h.dilationWidth,N=h.strideHeight,_=h.strideWidth,$=h.inChannels,A=h.outChannels,M=h.padInfo.type==="SAME"?1:0;if(h.dataFormat!=="channelsLast")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${h.dataFormat}'. Please use 'channelsLast'.`);let D=a.makeOutput(h.outShape,"float32"),T=a.dataIdMap.get(D.dataId).id;return UE(i,r.shape[0],r.shape[1],r.shape[2],o,m,f,g,b,y,x,M,w,I,N,_,$,A,T),D}var Uie={kernelName:Ri,backendName:"wasm",setupFunc:Bie,kernelFunc:Vie},Gie=rn(Pi),Hie=!1,jie=cn(ql,Hie,"bool"),qie=rn(Oi,"float32");function Fx(e){let{inputs:t,attrs:n,backend:a}=e,{input:r}=t,{dim:s}=n,i=r.shape.length,o=r.shape.slice(),l=s;return s<0&&(v.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),l=i+s+1),o.splice(l,0,1),Un({inputs:{x:r},backend:a,attrs:{shape:o}})}var Kie={kernelName:Kl,backendName:"wasm",kernelFunc:Fx};function GE(e){let{attrs:{shape:t,value:n,dtype:a},backend:r}=e,s=r.makeOutput(t,a);return r.typedArrayFromHeap(s).fill(n),s}var Xie={kernelName:Tc,backendName:"wasm",kernelFunc:GE},HE;function Yie(e){HE=e.wasm.cwrap(Yl,null,["number","number","number","number","number","number"])}function Zie(e){let{inputs:t,backend:n}=e,{image:a}=t,r=n.makeOutput(a.shape,a.dtype),s=n.dataIdMap.get(a.dataId).id,i=n.dataIdMap.get(r.dataId).id,[o,l,u,p]=a.shape;return HE(s,o,l,u,p,i),r}var Jie={kernelName:Yl,backendName:"wasm",kernelFunc:Zie,setupFunc:Yie},Qie=rn(Li),eoe=!1,toe=cn(zi,eoe),jE;function noe(e){jE=e.wasm.cwrap(Wi,null,["number","number","number","number","number","number","number"])}function aoe(e){let{backend:t,inputs:n,attrs:a}=e,{varianceEpsilon:r}=a,{x:s,mean:i,variance:o,offset:l,scale:u}=n,p=t.dataIdMap.get(s.dataId).id,d=t.dataIdMap.get(i.dataId).id,c=t.dataIdMap.get(o.dataId).id,h=l!=null?t.dataIdMap.get(l.dataId).id:0,m=u!=null?t.dataIdMap.get(u.dataId).id:0,f=t.makeOutput(s.shape,s.dtype);if(v.sizeFromShape(s.shape)===0)return f;let g=t.dataIdMap.get(f.dataId).id;return jE(p,d,c,h,m,r,g),f}var roe={kernelName:Wi,backendName:"wasm",setupFunc:noe,kernelFunc:aoe},qE;function soe(e){qE=e.wasm.cwrap(li,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 ioe(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:p,dataFormat:d,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=n,f=C.computeConv2DInfo(r.shape,s.shape,l,p,u,c),g=bc[h];if(g==null)throw new Error(`${h} activation not yet supported for FusedConv2D in the wasm backend.`);let b=a.dataIdMap.get(r.dataId).id,y=a.dataIdMap.get(s.dataId).id,x=f.outChannels,w=0;if(i!=null){let ae=a.dataIdMap.get(i.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]!==x)throw new Error(`FusedConv2D bias shape (${ae.shape}) does not match the number of output channels (${x})`);w=ae.id}let I=f.filterHeight,N=f.filterWidth,_=f.padInfo.top,$=f.padInfo.right,A=f.padInfo.bottom,M=f.padInfo.left,D=f.dilationHeight,T=f.dilationWidth,P=f.strideHeight,U=f.strideWidth,j=f.inChannels,q=f.padInfo.type==="SAME"?1:0,K=f.batchSize,Y=f.inHeight,te=f.inWidth;if(d!=="NHWC")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let re=a.makeOutput(f.outShape,"float32"),J=a.dataIdMap.get(re.dataId).id,ie=o==null?0:a.dataIdMap.get(o.dataId).id;return qE(b,K,Y,te,y,I,N,w,_,$,A,M,q,D,T,P,U,j,x,g,ie,m||0,J),re}var ooe={kernelName:li,backendName:"wasm",setupFunc:soe,kernelFunc:ioe},KE;function loe(e){KE=e.wasm.cwrap(ui,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 uoe(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:p,dataFormat:d,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=n,f=C.computeConv2DInfo(r.shape,s.shape,l,p,u,c,!0),g=bc[h];if(g==null)throw new Error(`${h} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let b=a.dataIdMap.get(r.dataId).id,y=a.dataIdMap.get(s.dataId).id,x=f.outChannels,w=0;if(i!=null){let ae=a.dataIdMap.get(i.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]!==x)throw new Error(`FusedDepthwiseConv2D bias shape (${ae.shape}) does not match the number of output channels (${x})`);w=ae.id}let I=f.filterHeight,N=f.filterWidth,_=f.padInfo.top,$=f.padInfo.right,A=f.padInfo.bottom,M=f.padInfo.left,D=f.dilationHeight,T=f.dilationWidth,P=f.strideHeight,U=f.strideWidth,j=f.inChannels,q=f.padInfo.type==="SAME"?1:0,K=f.batchSize,Y=f.inHeight,te=f.inWidth;if(d!=="NHWC")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let re=a.makeOutput(f.outShape,"float32"),J=a.dataIdMap.get(re.dataId).id,ie=o==null?0:a.dataIdMap.get(o.dataId).id;return KE(b,K,Y,te,y,I,N,w,_,$,A,M,q,D,T,P,U,j,x,g,ie,m||0,J),re}var poe={kernelName:ui,backendName:"wasm",setupFunc:loe,kernelFunc:uoe},XE;function coe(e){XE=e.wasm.cwrap(Jl,null,["number","number","number","number","number","number","array","number"])}function doe(e){let{backend:t,inputs:n}=e,{params:a,indices:r}=n,[s,i,o,l]=Qx.prepareAndValidate(a,r),u=t.makeOutput(s,a.dtype);if(i===0)return u;let p=r.shape,d=p[p.length-1],c=t.dataIdMap.get(a.dataId).id,h=t.dataIdMap.get(r.dataId).id,m=new Uint8Array(new Int32Array(l).buffer),f=t.dataIdMap.get(u.dataId).id;return XE(c,At[a.dtype],h,i,d,o,m,f),u}var hoe={kernelName:Jl,backendName:"wasm",setupFunc:coe,kernelFunc:doe},YE;function moe(e){YE=e.wasm.cwrap("Gather",null,["number","number","array","number","number","number","array","number"])}function foe(e){let{backend:t,inputs:n,attrs:a}=e,{x:r,indices:s}=n,{axis:i,batchDims:o}=a,l=v.parseAxisParam(i,r.shape)[0],u=t.readSync(s.dataId),p=r.shape[l];for(let _=0;_=0,()=>`GatherV2: the index value ${$} is not in [0, ${p-1}]`)}let d=C.segment_util.collectGatherOpShapeInfo(r,s,l,o),c=Un({inputs:{x:r},attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]},backend:t}),h=v.sizeFromShape(s.shape),m=Un({inputs:{x:s},attrs:{shape:[d.batchSize,h/d.batchSize]},backend:t}),f=[d.batchSize,d.outerSize,h/d.batchSize,d.sliceSize],g=t.makeOutput(f,r.dtype);if(v.sizeFromShape(r.shape)===0)return g;let b=c.shape.length-1,y=t.dataIdMap.get(c.dataId).id,x=t.dataIdMap.get(m.dataId).id,w=t.dataIdMap.get(g.dataId).id,I=new Uint8Array(new Int32Array(v.computeStrides(c.shape)).buffer),N=new Uint8Array(new Int32Array(v.computeStrides(f)).buffer);return YE(y,At[r.dtype],I,b,x,d.batchSize,N,w),t.disposeData(c.dataId),t.disposeData(m.dataId),g.shape=d.outputShape,g}var goe={kernelName:Zl,backendName:"wasm",setupFunc:moe,kernelFunc:foe},boe=!1,yoe=cn(Ql,boe,"bool"),xoe=!1,voe=cn(Bi,xoe,"bool"),ZE;function woe(e){ZE=e.wasm.cwrap(Ui,null,["number","number","number","number"])}function koe(e){let{inputs:{x:t},attrs:{alpha:n},backend:a}=e,r=a.dataIdMap.get(t.dataId).id,s=a.makeOutput(t.shape,"float32");if(v.sizeFromShape(t.shape)!==0){let i=a.dataIdMap.get(s.dataId).id;ZE(r,At[t.dtype],n,i)}return s}var Ioe={kernelName:Ui,backendName:"wasm",setupFunc:woe,kernelFunc:koe},Toe=!1,Soe=cn(au,Toe,"bool"),Noe=!1,Coe=cn(ru,Noe,"bool"),_oe=rn(Gi),Eoe=!1,$oe=cn(iu,Eoe,"bool"),Aoe=rn(ou),Foe=!1,Doe=cn(lu,Foe,"bool"),Roe=!1,Moe=cn(qI,Roe,"bool"),JE;function Poe(e){JE=e.wasm.cwrap(Hi,null,["number","number","number","number"])}function Ooe(e){let{backend:t,inputs:n,attrs:a}=e,{reductionIndices:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=i,{transposed:u,axes:p,originalAxes:d,inputWasTransposed:c}=_s(i,r,t);if(c){let y=t.dataIdMap.get(u.dataId).id;l=u,o=y}let h=l.shape.length;C.assertAxesAreInnerMostDims("max",p,h);let[m,f]=C.computeOutAndReduceShapes(l.shape,p),g=v.sizeFromShape(f),b=t.makeOutput(m,i.dtype);if(v.sizeFromShape(l.shape)!==0){let y=t.dataIdMap.get(b.dataId).id;JE(o,At[i.dtype],g,y)}if(c&&t.disposeData(u.dataId),s){let y=C.expandShapeToKeepDim(b.shape,d);b.shape=y}return b}var Loe={kernelName:Hi,backendName:"wasm",setupFunc:Poe,kernelFunc:Ooe},zoe=!1,Woe=cn(ji,zoe),QE;function Boe(e){QE=e.wasm.cwrap(qi,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Voe(e){let{inputs:t,attrs:n,backend:a}=e,r=t.x,s=a.dataIdMap.get(r.dataId).id;v.assert(r.dtype==="float32",()=>`Error in MaxPool: only float32 input is supported. Got ${r.dtype}.`);let{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=n,p=C.computePool2DInfo(r.shape,i,o,1,l,u),d=p.filterHeight,c=p.filterWidth,h=p.padInfo.top,m=p.padInfo.right,f=p.padInfo.bottom,g=p.padInfo.left,b=p.dilationHeight,y=p.dilationWidth,x=p.strideHeight,w=p.strideWidth,I=p.inChannels,N=p.outChannels;if(p.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${p.dataFormat}'. Please use 'channelsLast'.`);let _=a.makeOutput(p.outShape,"float32"),$=a.dataIdMap.get(_.dataId).id;return QE(s,r.shape[0],r.shape[1],r.shape[2],d,c,h,m,f,g,b,y,x,w,I,N,$),_}var Uoe={kernelName:qi,backendName:"wasm",setupFunc:Boe,kernelFunc:Voe},e$;function Goe(e){e$=e.wasm.cwrap(Ki,null,["number, number, number"])}function Hoe(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=_s(i,r,t),m=d;if(h){let w=t.dataIdMap.get(p.dataId).id;w!==o&&(u=p,l=w,m=C.getInnerMostAxes(m.length,u.shape.length))}C.assertAxesAreInnerMostDims("mean",m,u.shape.length);let[f,g]=C.computeOutAndReduceShapes(u.shape,m),b=v.sizeFromShape(g),y=u;u.dtype!=="float32"&&(y=tp({backend:t,inputs:{x:u},attrs:{dtype:"float32"}}),l=t.dataIdMap.get(y.dataId).id);let x=t.makeOutput(f,"float32");if(v.sizeFromShape(u.shape)!==0){let w=t.dataIdMap.get(x.dataId).id;e$(l,b,w)}if(h&&t.disposeData(p.dataId),s){let w=C.expandShapeToKeepDim(x.shape,c);x.shape=w}return u.dtype!=="float32"&&t.disposeData(y.dataId),x}var joe={kernelName:Ki,backendName:"wasm",setupFunc:Goe,kernelFunc:Hoe},t$;function qoe(e){t$=e.wasm.cwrap(Xi,null,["number","number","number","number"])}function Koe(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=_s(i,r,t);if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x)}let m=u.shape.length;C.assertAxesAreInnerMostDims("min",d,m);let[f,g]=C.computeOutAndReduceShapes(u.shape,d),b=v.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(v.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;t$(l,At[i.dtype],b,x)}if(h&&t.disposeData(p.dataId),s){let x=C.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Xoe={kernelName:Xi,backendName:"wasm",setupFunc:qoe,kernelFunc:Koe},Yoe=!1,Zoe=cn(Yi,Yoe),Dx;(function(e){e[e.reflect=0]="reflect",e[e.symmetric=1]="symmetric"})(Dx||(Dx={}));var n$;function Joe(e){n$=e.wasm.cwrap(Zi,null,["number","array","number","number","array","array","number","number"])}function Qoe(e){let{inputs:{x:t},backend:n,attrs:{paddings:a,mode:r}}=e,s=a.map((m,f)=>m[0]+t.shape[f]+m[1]),i=n.dataIdMap.get(t.dataId).id,o=n.makeOutput(s,t.dtype),l=n.dataIdMap.get(o.dataId).id,u=new Uint8Array(new Int32Array(t.shape).buffer),p=a.map(m=>m[0]),d=a.map(m=>m[1]),c=new Uint8Array(new Int32Array(p).buffer),h=new Uint8Array(new Int32Array(d).buffer);return n$(i,u,t.shape.length,At[t.dtype],c,h,Dx[r],l),o}var ele={kernelName:Zi,backendName:"wasm",kernelFunc:Qoe,setupFunc:Joe},tle=!0,nle=cn(Ji,tle),ale=rn(pu);function f1(e,t){let n=new Int32Array(e.wasm.HEAPU8.buffer,t,4),a=n[0],r=n[1],s=n[2],i=n[3];return e.wasm._free(t),{pSelectedIndices:a,selectedSize:r,pSelectedScores:s,pValidOutputs:i}}var a$;function rle(e){a$=e.wasm.cwrap(du,"number",["number","number","number","number","number"])}function sle(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i}=a,{boxes:o,scores:l}=n,u=t.dataIdMap.get(o.dataId).id,p=t.dataIdMap.get(l.dataId).id,d=a$(u,p,s,r,i),{pSelectedIndices:c,selectedSize:h,pSelectedScores:m,pValidOutputs:f}=f1(t,d);return t.wasm._free(m),t.wasm._free(f),t.makeOutput([h],"int32",c)}var ile={kernelName:du,backendName:"wasm",setupFunc:rle,kernelFunc:sle},r$;function ole(e){r$=e.wasm.cwrap(hu,"number",["number","number","number","number","number","bool"])}function lle(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i,padToMaxOutputSize:o}=a,{boxes:l,scores:u}=n,p=t.dataIdMap.get(l.dataId).id,d=t.dataIdMap.get(u.dataId).id,c=r$(p,d,s,r,i,o),{pSelectedIndices:h,selectedSize:m,pSelectedScores:f,pValidOutputs:g}=f1(t,c);t.wasm._free(f);let b=t.makeOutput([m],"int32",h),y=t.makeOutput([],"int32",g);return[b,y]}var ule={kernelName:hu,backendName:"wasm",setupFunc:ole,kernelFunc:lle},s$;function ple(e){s$=e.wasm.cwrap(mu,"number",["number","number","number","number","number","number"])}function cle(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i,softNmsSigma:o}=a,{boxes:l,scores:u}=n,p=t.dataIdMap.get(l.dataId).id,d=t.dataIdMap.get(u.dataId).id,c=s$(p,d,s,r,i,o),{pSelectedIndices:h,selectedSize:m,pSelectedScores:f,pValidOutputs:g}=f1(t,c);t.wasm._free(g);let b=t.makeOutput([m],"int32",h),y=t.makeOutput([m],"float32",f);return[b,y]}var dle={kernelName:mu,backendName:"wasm",setupFunc:ple,kernelFunc:cle},hle=!1,mle=cn(cu,hle,"bool"),i$;function fle(e){i$=e.wasm.cwrap(Qi,null,["number","number","number","number","number"])}function gle(e){let{inputs:t,backend:n,attrs:a}=e,{indices:r}=t,{dtype:s,depth:i,onValue:o,offValue:l}=a,u=n.makeOutput([...r.shape,i],s),p=n.dataIdMap.get(u.dataId).id,d=n.dataIdMap.get(r.dataId).id;return i$(d,i,o,l,p),u}var ble={kernelName:Qi,backendName:"wasm",setupFunc:fle,kernelFunc:gle};function yle(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(1),a}var xle={kernelName:fu,backendName:"wasm",kernelFunc:yle};function vle(e){let{inputs:t,backend:n,attrs:a}=e,{axis:r}=a;if(t.length===1)return Fx({inputs:{input:t[0]},backend:n,attrs:{dim:r}});let s=t[0].shape,i=t[0].dtype;t.forEach(p=>{v.assertShapesMatch(s,p.shape,"All tensors passed to stack must have matching shapes"),v.assert(i===p.dtype,()=>"All tensors passed to stack must have matching dtypes")});let o=[],l=t.map(p=>{let d=Fx({inputs:{input:p},backend:n,attrs:{dim:r}});return o.push(d),d}),u=PE({inputs:l,backend:n,attrs:{axis:r}});return o.forEach(p=>n.disposeData(p.dataId)),u}var wle={kernelName:gu,backendName:"wasm",kernelFunc:vle},o$;function kle(e){o$=e.wasm.cwrap(eo,null,["number","array","number","number","array","array","number","number"])}function Ile(e){let{inputs:{x:t},backend:n,attrs:{paddings:a,constantValue:r}}=e,s=a.map((m,f)=>m[0]+t.shape[f]+m[1]);if(v.sizeFromShape(t.shape)===0)return GE({backend:n,attrs:{shape:s,value:r,dtype:t.dtype}});let i=n.dataIdMap.get(t.dataId).id,o=n.makeOutput(s,t.dtype),l=n.dataIdMap.get(o.dataId).id,u=new Uint8Array(new Int32Array(t.shape).buffer),p=a.map(m=>m[0]),d=a.map(m=>m[1]),c=new Uint8Array(new Int32Array(p).buffer),h=new Uint8Array(new Int32Array(d).buffer);return o$(i,u,t.shape.length,At[t.dtype],c,h,r,l),o}var l$={kernelName:eo,backendName:"wasm",kernelFunc:Ile,setupFunc:kle},Tle=!1,Sle=cn(to,Tle),u$;function Nle(e){u$=e.wasm.cwrap(no,null,["number","number","number"])}function Cle(e){let{inputs:t,backend:n}=e,{x:a,alpha:r}=t,s=n.dataIdMap.get(a.dataId).id,i=n.dataIdMap.get(r.dataId).id,o=s,l=a,u=l;l.dtype!=="float32"&&(u=tp({backend:n,inputs:{x:a},attrs:{dtype:"float32"}}),o=n.dataIdMap.get(u.dataId).id);let p=n.makeOutput(a.shape,"float32"),d=n.dataIdMap.get(p.dataId).id;return u$(o,i,d),l.dtype!=="float32"&&n.disposeData(u.dataId),p}var _le={kernelName:no,backendName:"wasm",setupFunc:Nle,kernelFunc:Cle},p$;function Ele(e){p$=e.wasm.cwrap(ao,null,["number","number","number","number"])}function $le(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=_s(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=C.getInnerMostAxes(m.length,u.shape.length))}C.assertAxesAreInnerMostDims("prod",m,u.shape.length);let[f,g]=C.computeOutAndReduceShapes(u.shape,m),b=v.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(v.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;p$(l,b,At[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=C.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Ale={kernelName:ao,backendName:"wasm",setupFunc:Ele,kernelFunc:$le},Fle=e=>{let{backend:t,attrs:n}=e,{start:a,stop:r,step:s,dtype:i}=n,o=q0(a,r,s,i),l=t.makeOutput([o.length],i);return t.typedArrayFromHeap(l).set(o),l},Dle={kernelName:Cc,backendName:"wasm",kernelFunc:Fle},Rle=!0,Mle=cn(Mi,Rle),Ple=rn(ro),Ole=rn(oo),c$;function Lle(e){c$=e.wasm.cwrap(io,null,["number","number","number","number","number","number","number","number","number","number"])}function zle(e){let{backend:t,inputs:n,attrs:a}=e,{images:r}=n,{alignCorners:s,halfPixelCenters:i,size:o}=a,[l,u]=o,[p,d,c,h]=r.shape,m=[p,l,u,h],f=t.dataIdMap.get(r.dataId),g;f.dtype!=="float32"&&(g=tp({backend:t,inputs:{x:r},attrs:{dtype:"float32"}}),f=t.dataIdMap.get(g.dataId));let b=f.id,y=t.makeOutput(m,"float32");if(v.sizeFromShape(r.shape)===0)return y;let x=t.dataIdMap.get(y.dataId).id;return c$(b,p,d,c,h,l,u,s?1:0,i?1:0,x),g!=null&&t.disposeData(g.dataId),y}var Wle={kernelName:io,backendName:"wasm",setupFunc:Lle,kernelFunc:zle},d$;function Ble(e){d$=e.wasm.cwrap(so,null,["number","number","number","number","number","number","number","number","number","number"])}function Vle(e){let{backend:t,inputs:n,attrs:a}=e,{images:r}=n,{alignCorners:s,halfPixelCenters:i,size:o}=a,[l,u]=o,[p,d,c,h]=r.shape,m=[p,l,u,h],f=t.makeOutput(m,"float32");if(v.sizeFromShape(r.shape)===0)return f;let g=t.dataIdMap.get(r.dataId),b;g.dtype!=="float32"&&(b=tp({backend:t,inputs:{x:r},attrs:{dtype:"float32"}}),g=t.dataIdMap.get(b.dataId));let y=g.id,x=t.dataIdMap.get(f.dataId).id;return d$(y,p,d,c,h,l,u,s?1:0,i?1:0,x),b!=null&&t.disposeData(b.dataId),f}var Ule={kernelName:so,backendName:"wasm",setupFunc:Ble,kernelFunc:Vle},h$;function Gle(e){h$=e.wasm.cwrap(lo,null,["number","array","number","array","number","number"])}function Hle(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{dims:s}=a,i=v.parseAxisParam(s,r.shape);if(r.shape.length===0)return ig({inputs:{x:r},backend:n});let o=n.makeOutput(r.shape,r.dtype),l=n.dataIdMap.get(r.dataId).id,u=n.dataIdMap.get(o.dataId).id,p=new Uint8Array(new Int32Array(i).buffer),d=new Uint8Array(new Int32Array(r.shape).buffer);h$(l,p,i.length,d,r.shape.length,u);let c=Un({inputs:{x:o},attrs:{shape:r.shape},backend:n});return n.disposeData(o.dataId),c}var jle={kernelName:lo,backendName:"wasm",kernelFunc:Hle,setupFunc:Gle},m$;function qle(e){m$=e.wasm.cwrap(Ru,null,["number","number","number","number","number","number","number","number","array","number","number"])}function Kle(e){let{inputs:t,backend:n,attrs:a}=e,{image:r}=t,{radians:s,fillValue:i,center:o}=a,l=n.makeOutput(r.shape,r.dtype),u=n.dataIdMap.get(r.dataId).id,p=n.dataIdMap.get(l.dataId).id,[d,c,h,m]=r.shape,[f,g]=C.getImageCenter(o,c,h),b=i===0,y=255,x=typeof i=="number"?[i,i,i,b?0:y]:[...i,y],w=new Uint8Array(new Int32Array(x).buffer);return m$(u,d,c,h,m,s,f,g,w,x.length,p),l}var Xle={kernelName:Ru,backendName:"wasm",kernelFunc:Kle,setupFunc:qle},Yle=rn(uo),Zle=rn(po),f$;function Jle(e){f$=e.wasm.cwrap(xu,null,["number","number","number","number","number","number","array","number","number"])}function Qle(e){let{backend:t,inputs:n,attrs:a}=e,{indices:r,updates:s}=n,{shape:i}=a,o=t.makeOutput(i,s.dtype);if(v.sizeFromShape(i)===0)return o;let{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=ev.calculateShapes(s,r,i),h=t.dataIdMap.get(r.dataId).id,m=t.dataIdMap.get(s.dataId).id,f=new Uint8Array(new Int32Array(d).buffer),g=t.dataIdMap.get(o.dataId).id;return f$(h,m,At[s.dtype],l,u,p,f,c,g),o}var eue={kernelName:xu,backendName:"wasm",setupFunc:Jle,kernelFunc:Qle},g$;function tue(e){g$=e.wasm.cwrap("SelectV2",null,["number","number","number","number","number"])}function nue(e){let{inputs:t,backend:n}=e,{condition:a,t:r,e:s}=t,i=n.dataIdMap.get(a.dataId).id,o=n.dataIdMap.get(r.dataId).id,l=n.dataIdMap.get(s.dataId).id,u=n.makeOutput(r.shape,r.dtype),p=n.dataIdMap.get(u.dataId).id,d=a.shape.length,c=r.shape.length,h=d===0||d>1||c===1?1:v.sizeFromShape(r.shape.slice(1));return g$(i,o,l,h,p),u}var aue={kernelName:vu,backendName:"wasm",kernelFunc:nue,setupFunc:tue},b$;function rue(e){b$=e.wasm.cwrap(ho,null,["number","number"])}function sue(e){let{backend:t,inputs:{x:n}}=e,a=t.dataIdMap.get(n.dataId).id,r=t.makeOutput(n.shape,n.dtype),s=t.dataIdMap.get(r.dataId).id;return v.sizeFromShape(r.shape)===0||b$(a,s),r}var iue={kernelName:"Sigmoid",backendName:"wasm",setupFunc:rue,kernelFunc:sue},oue=rn(co),y$;function lue(e){y$=e.wasm.cwrap(go,null,["number","number","number","number"])}function uue(e){let{backend:t,inputs:{logits:n},attrs:{dim:a}}=e,r=t.dataIdMap.get(n.dataId).id,s=t.makeOutput(n.shape,n.dtype),i=t.dataIdMap.get(s.dataId).id,o=n.shape[a],l=v.sizeFromShape(n.shape)/o;return v.sizeFromShape(s.shape)===0||y$(r,i,o,l),s}var pue={kernelName:go,backendName:"wasm",setupFunc:lue,kernelFunc:uue};function cue(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{blockShape:s,paddings:i}=a,o=v.sizeFromShape(s),l=[[0,0]];l.push(...i);for(let g=1+s.length;g0?l+1:0;if(u<0)throw new Error(C.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=r.shape.slice();p[0]=u;let d=n.dataIdMap.get(r.dataId).id,c=n.dataIdMap.get(s.dataId).id,h=n.dataIdMap.get(i.dataId).id,m=n.makeOutput(p,r.dtype),f=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],"int32"),b=n.dataIdMap.get(g.dataId).id;w$(d,At[r.dtype],r.shape[0],c,h,f,b,t,0);let y=n.readSync(g.dataId),x;switch(y[0]){case 0:{x=C.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{x=C.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:x=C.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(y[1],y[2]);break;case 3:x=C.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(y[1],y[2],y[3]);break;default:x=""}if(n.disposeData(g.dataId),x)throw n.disposeData(m.dataId),new Error(x);return m}function xue(e){return I$(e,!0)}var vue={kernelName:Ec,backendName:"wasm",setupFunc:k$,kernelFunc:xue};function wue(e){return I$(e,!1)}var kue={kernelName:$c,backendName:"wasm",setupFunc:k$,kernelFunc:wue};function Iue(e){let{inputs:t,attrs:n,backend:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=n,o=v.parseAxisParam(i,r.shape)[0],l=C.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=wi({inputs:{x:r},attrs:{begin:u,size:c},backend:a});return u[o]+=d,h})}var Tue={kernelName:Cu,backendName:"wasm",kernelFunc:Iue},Sue=rn(mo),Nue=rn(Ac),Cue=!0,_ue=cn(bo,Cue),T$;function Eue(e){T$=e.wasm.cwrap(bs,null,["number","number","number","number"])}function $ue(e){let{backend:t,inputs:n,attrs:a}=e,{alpha:r}=a,{x:s}=n,i=t.dataIdMap.get(s.dataId).id,o=t.makeOutput(s.shape,s.dtype),l=t.dataIdMap.get(o.dataId).id;return T$(i,r,At[s.dtype],l),o}var Aue={kernelName:bs,backendName:"wasm",setupFunc:Eue,kernelFunc:$ue},S$;function Fue(e){S$=e.wasm.cwrap(Eu,null,["number","array","number","array","array","array","array","array","number","number"])}function Due(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:b,begin:y,end:x,strides:w}=qt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=Un({inputs:{x:r},backend:t,attrs:{shape:m}});else if(g||b){v.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);let N=qt.computeOutShape(y,x,w),_=wi({inputs:{x:r},backend:t,attrs:{begin:y,size:N}});I=Un({inputs:{x:_},backend:t,attrs:{shape:m}}),t.disposeData(_.dataId)}else{let N=t.makeOutput(h,"float32"),_=t.dataIdMap.get(r.dataId).id,$=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),A=new Uint8Array(new Int32Array(y).buffer),M=new Uint8Array(new Int32Array(x).buffer),D=new Uint8Array(new Int32Array(w).buffer),T=new Uint8Array(new Int32Array(h).buffer),P=new Uint8Array(new Int32Array(v.computeStrides(h)).buffer),U=t.dataIdMap.get(N.dataId).id;S$(_,$,r.shape.length,A,M,D,T,P,h.length,U),I=Un({inputs:{x:N},backend:t,attrs:{shape:m}}),t.disposeData(N.dataId)}return I}var Rue={kernelName:Eu,backendName:"wasm",setupFunc:Fue,kernelFunc:Due};function Mue(e){let{backend:t,inputs:n,attrs:a}=e,{data:r,dataSplits:s}=n,{separator:i,nGramWidths:o,leftPad:l,rightPad:u,padWidth:p,preserveShortSequences:d}=a,c=t.readSync(r.dataId),h=t.readSync(s.dataId),[m,f]=X0(c,h,i,o,l,u,p,d),g=t.makeOutput([m.length],"string"),b=t.dataIdMap.get(g.dataId);b.stringBytes=m;let y=t.makeOutput(s.shape,"int32");return t.typedArrayFromHeap(y).set(f),[g,y]}var Pue={kernelName:Fc,backendName:"wasm",kernelFunc:Mue};function Oue(e){let{backend:t,inputs:n,attrs:a}=e,{input:r,delimiter:s}=n,{skipEmpty:i}=a,o=t.readSync(r.dataId),l=t.readSync(s.dataId),[u,p,d]=Y0(o,l[0],i),c=p.length,h=t.makeOutput([c,2],"int32");t.typedArrayFromHeap(h).set(u);let m=t.makeOutput([c],"string"),f=t.dataIdMap.get(m.dataId);f.stringBytes=p;let g=t.makeOutput([2],"int32");return t.typedArrayFromHeap(g).set(d),[h,m,g]}var Lue={kernelName:Dc,backendName:"wasm",kernelFunc:Oue};function zue(e){let{backend:t,inputs:n,attrs:a}=e,{input:r}=n,{numBuckets:s}=a,i=t.readSync(r.dataId),o=Z0(i,s),l=t.makeOutput(r.shape,"int32");return t.typedArrayFromHeap(l).set(o),l}var Wue={kernelName:Rc,backendName:"wasm",kernelFunc:zue},Bue=!0,Vue=cn(yo,Bue),N$;function Uue(e){N$=e.wasm.cwrap(fo,null,["number","number","number","number"])}function Gue(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=_s(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=C.getInnerMostAxes(m.length,u.shape.length))}C.assertAxesAreInnerMostDims("sum",m,u.shape.length);let[f,g]=C.computeOutAndReduceShapes(u.shape,m),b=v.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(v.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;N$(l,b,At[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=C.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Hue={kernelName:fo,backendName:"wasm",setupFunc:Uue,kernelFunc:Gue},jue=rn(xo),que=rn(vo),C$;function Kue(e){C$=e.wasm.cwrap(gs,null,["number","array","number","array","number","number"])}function Xue(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,s=n.dataIdMap.get(r.dataId).id,{reps:i}=a,o=new Array(r.shape.length);for(let c=0;c{let{x:a}=e,{k:r,sorted:s}=n,i=t.dataIdMap.get(a.dataId).id,o=new Uint8Array(new Int32Array(a.shape).buffer),l=a.shape.slice();l[l.length-1]=r;let u=t.makeOutput(l,a.dtype),p=t.dataIdMap.get(u.dataId).id,d=t.makeOutput(l,"int32"),c=t.dataIdMap.get(d.dataId).id;return _$(i,o,a.shape.length,At[a.dtype],r,s,p,c),[u,d]},Que={kernelName:$u,backendName:"wasm",setupFunc:Zue,kernelFunc:Jue},E$;function epe(e){E$=e.wasm.cwrap(Au,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function tpe(e){let{backend:t,inputs:n,attrs:a}=e,{image:r,transforms:s}=n,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=a,[p,d,c,h]=r.shape,[m,f]=u!=null?u:[d,c],g=[p,m,f,h],b=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(v.computeStrides(g)).buffer),x=t.makeOutput(g,r.dtype),w=t.dataIdMap.get(x.dataId).id,I=t.dataIdMap.get(r.dataId).id,N=t.dataIdMap.get(s.dataId).id,_=i==="nearest"?1:2,$;switch(o){case"constant":$=1;break;case"reflect":$=2;break;case"wrap":$=3;break;case"nearest":$=4;break;default:$=1;break}return E$(I,N,s.shape[0]>1,p,m,f,h,c,d,b,r.shape.length-1,y,g.length-1,_,$,l,w),x}var npe={kernelName:Au,backendName:"wasm",setupFunc:epe,kernelFunc:tpe};function ape(e){let{inputs:t,backend:n,attrs:a}=e,{value:r}=t,{axis:s}=a;s<0&&(s+=r.shape.length);let i=r.shape[s],o=r.shape.length,l=new Array(o-1),u=0;for(let h=0;h({dataId:h,dtype:m,shape:l}))}var rpe={kernelName:Fu,backendName:"wasm",kernelFunc:ape};function spe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(0),a}var ipe={kernelName:Du,backendName:"wasm",kernelFunc:spe},ope=[Mse,Pse,Lse,Bse,Xse,Jse,tie,rie,lie,mie,fie,gie,xie,vie,Iie,Nie,Cie,_ie,Aie,Rie,Oie,Wie,Uie,Gie,jie,qie,Kie,Xie,Jie,Qie,toe,roe,ooe,poe,hoe,goe,yoe,voe,Vse,Ioe,Soe,Coe,_oe,$oe,Aoe,Doe,Moe,Loe,Woe,Uoe,joe,Xoe,Zoe,ele,nle,ale,ile,ule,dle,mle,ble,xle,wle,l$,Sle,_le,Ale,Dle,Mle,Ple,Ole,sie,Wle,Ule,jle,Xle,Yle,Zle,eue,aue,iue,oue,die,pue,due,fue,yue,vue,kue,Tue,Sue,Nue,_ue,Aue,Rue,Pue,Lue,Wue,Vue,Hue,jue,que,Yue,Que,npe,jse,rpe,ipe];for(let e of ope)Pc(e);var Rx=X();Rx.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])));Rx.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(Rx.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(e){return!1}});var EI=ds(qF()),lpe=ds(KF()),$I=ds(XF()),AI=EI.default||EI,upe=$I.default||$I,$$=class extends yc{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(A$),Mx=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new mm(this,rr())}write(e,t,n){let a={id:this.dataIdNextNumber++};return this.move(a,e,t,n,1),a}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=v.now();return e(),{kernelMs:v.now()-t}}move(e,t,n,a,r){let s=this.dataIdNextNumber++;if(a==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:a,memoryOffset:null,refCount:r});return}let i=v.sizeFromShape(n),o=i*v.bytesPerElement(a),l=this.wasm._malloc(o);this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:a,refCount:r}),this.wasm.tfjs.registerTensor(s,i,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,o),l)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:a,dtype:r,shape:s,stringBytes:i}=this.dataIdMap.get(e);if(r==="string")return(t==null||t===0)&&(n==null||n>=i.length)?i:i.slice(t,n);t=t||0,n=n||v.sizeFromShape(s);let o=v.bytesPerElement(r),l=this.wasm.HEAPU8.slice(a+t*o,a+n*o);return dpe(l.buffer,r)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n){let a;if(n==null)a=this.write(null,e,t);else{let r=this.dataIdNextNumber++;a={id:r},this.dataIdMap.set(a,{id:r,memoryOffset:n,shape:e,dtype:t,refCount:1});let s=v.sizeFromShape(e);this.wasm.tfjs.registerTensor(r,s,n)}return{dataId:a,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let a=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(n),s=v.sizeFromShape(e);switch(t){case"float32":return new Float32Array(a,r,s);case"int32":return new Int32Array(a,r,s);case"bool":return new Uint8Array(a,r,s);default:throw new Error(`Unknown dtype ${t}`)}}};function ppe(e){return(t,n)=>(v.fetch(e,{credentials:"same-origin"}).then(a=>{a.ok||t.env.a(`failed to load wasm binary file at '${e}'`),a.arrayBuffer().then(r=>{WebAssembly.instantiate(r,t).then(s=>{n(s.instance,s.module)})})}),{})}function FI(e,t,n){if(dm!=null)return dm;let a="tfjs-backend-wasm.wasm";return e&&t?a="tfjs-backend-wasm-threaded-simd.wasm":e&&(a="tfjs-backend-wasm-simd.wasm"),Qp!=null&&Qp[a]!=null?Qp[a]:n+a}async function cpe(){let[e,t]=await Promise.all([X().getAsync("WASM_HAS_SIMD_SUPPORT"),X().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((n,a)=>{let r={};r.locateFile=(o,l)=>{if(o.endsWith(".worker.js")){let u=lpe.wasmWorkerContents.replace(/\n/g,"\\n"),p=new Blob([u],{type:"application/javascript"});return URL.createObjectURL(p)}return o.endsWith(".wasm")?FI(e,t,Yp!=null?Yp:l):l+o},g1&&(r.instantiateWasm=ppe(FI(e,t,Yp!=null?Yp:"")));let s=!1;r.onAbort=()=>{s||ec||(ec=!0,a({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"}))};let i;t&&e&&dm==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+AI.toString()],{type:"text/javascript"}),i=AI(r)):i=upe(r),i.then(o=>{s=!0,ec=!1;let l=null;o.tfjs={init:o.cwrap("init",null,[]),initWithThreadsCount:o.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:o.cwrap("get_threads_count","number",[]),registerTensor:o.cwrap("register_tensor",null,["number","number","number"]),disposeData:o.cwrap("dispose_data",l,["number"]),dispose:o.cwrap("dispose",l,[])},n({wasm:o})}).catch(a)})}function dpe(e,t){switch(t){case"float32":return new Float32Array(e);case"int32":return new Int32Array(e);case"bool":return new Uint8Array(e);default:throw new Error(`Unknown dtype ${t}`)}}var hpe=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],dm=null,Yp=null,Qp={},ec=!1,g1=!1;function mpe(e,t=!1){if(Jx("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),ec)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");dm=e,g1=t}function fpe(e,t=!1){if(ec)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e=="string")Yp=e;else{Qp=e;let n=hpe.filter(a=>Qp[a]==null);if(n.length>0)throw new Error(`There were no entries found for the following binaries: ${n.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.`)}g1=t}var A$=-1,Mx=-1;function gpe(e){A$=e}function bpe(){if(Mx===-1)throw new Error("WASM backend not initialized.");return Mx}var ype="3.20.0",xpe=2;Xm("wasm",async()=>{let{wasm:e}=await cpe();return new $$(e)},xpe);var vpe="3.20.0",wpe="3.20.0",kpe="3.20.0",Ipe="3.20.0",Tpe="3.20.0",Spe="3.20.0",Npe="3.20.0",Cpe="3.20.0",_pe={tfjs:vpe,"tfjs-core":wpe,"tfjs-data":kpe,"tfjs-layers":Ipe,"tfjs-converter":Tpe,"tfjs-backend-cpu":Spe,"tfjs-backend-webgl":Npe,"tfjs-backend-wasm":Cpe};var J$={};wy(J$,{AnchorPosition:()=>S1,DrawBox:()=>kd,DrawBoxOptions:()=>cg,DrawFaceLandmarks:()=>Ig,DrawFaceLandmarksOptions:()=>kg,DrawTextField:()=>zr,DrawTextFieldOptions:()=>lp,drawContour:()=>Mr,drawDetections:()=>Mpe,drawFaceExpressions:()=>Ppe,drawFaceLandmarks:()=>Lpe});function Mr(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:a,y:r},s)=>{let i=t[s];e.moveTo(i.x,i.y),e.lineTo(a,r)}),n){let a=t[t.length-1],r=t[0];if(!a||!r)return;e.moveTo(a.x,a.y),e.lineTo(r.x,r.y)}e.stroke()}var F$={};wy(F$,{computeReshapedDimensions:()=>x1,getCenterPoint:()=>Do,isDimensions:()=>lg,isEven:()=>og,isFloat:()=>y1,isTensor:()=>Ao,isTensor1D:()=>Epe,isTensor2D:()=>b1,isTensor3D:()=>Pr,isTensor4D:()=>xa,isValidNumber:()=>tr,isValidProbablitiy:()=>np,range:()=>yr,round:()=>Fo});var Fn=class{constructor(t,n){if(!tr(t)||!tr(n))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:n})}`);this._width=t,this._height=n}get width(){return this._width}get height(){return this._height}reverse(){return new Fn(1/this.width,1/this.height)}};function Ao(e,t){return e instanceof $e&&e.shape.length===t}function Epe(e){return Ao(e,1)}function b1(e){return Ao(e,2)}function Pr(e){return Ao(e,3)}function xa(e){return Ao(e,4)}function y1(e){return e%1!==0}function og(e){return e%2===0}function Fo(e,t=2){let n=10**t;return Math.floor(e*n)/n}function lg(e){return e&&e.width&&e.height}function x1({width:e,height:t},n){let a=n/Math.max(t,e);return new Fn(Math.round(e*a),Math.round(t*a))}function Do(e){return e.reduce((t,n)=>t.add(n),new Oe(0,0)).div(new Oe(e.length,e.length))}function yr(e,t,n){return Array(e).fill(0).map((a,r)=>t+r*n)}function tr(e){return!!e&&e!==1/0&&e!==-1/0&&!Number.isNaN(e)||e===0}function np(e){return tr(e)&&e>=0&&e<=1}var Oe=class{constructor(t,n){this._x=t,this._y=n}get x(){return this._x}get y(){return this._y}add(t){return new Oe(this.x+t.x,this.y+t.y)}sub(t){return new Oe(this.x-t.x,this.y-t.y)}mul(t){return new Oe(this.x*t.x,this.y*t.y)}div(t){return new Oe(this.x/t.x,this.y/t.y)}abs(){return new Oe(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new Oe(Math.floor(this.x),Math.floor(this.y))}};var ct=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(tr)}static assertIsValidBox(t,n,a=!1){if(!ct.isRect(t))throw new Error(`${n} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!a&&(t.width<0||t.height<0))throw new Error(`${n} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,n=!0){let a=t||{},r=[a.left,a.top,a.right,a.bottom].every(tr),s=[a.x,a.y,a.width,a.height].every(tr);if(!s&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(a)}`);let[i,o,l,u]=s?[a.x,a.y,a.width,a.height]:[a.left,a.top,a.right-a.left,a.bottom-a.top];ct.assertIsValidBox({x:i,y:o,width:l,height:u},"Box.constructor",n),this._x=i,this._y=o,this._width=l,this._height=u}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new Oe(this.left,this.top)}get topRight(){return new Oe(this.right,this.top)}get bottomLeft(){return new Oe(this.left,this.bottom)}get bottomRight(){return new Oe(this.right,this.bottom)}round(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new ct({x:t,y:n,width:a,height:r})}floor(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new ct({x:t,y:n,width:a,height:r})}toSquare(){let{x:t,y:n,width:a,height:r}=this,s=Math.abs(a-r);return an&&(o=-d+n+a,d=n),c>t&&(l=-c+t+r,c=t),u<1&&(l=2-u,u=1),p<1&&(l=2-p,p=1),{dy:i,edy:l,dx:s,edx:o,y:p,ey:c,x:u,ex:d,w:a,h:r}}calibrate(t){return new ct({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var ap=class extends ct{constructor(t,n,a,r,s=!1){super({left:t,top:n,right:a,bottom:r},s)}};var Es=class{constructor(t,n,a,r,s){this._imageDims=new Fn(s.width,s.height),this._score=t,this._classScore=n,this._className=a,this._box=new ct(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new ct(this._box).rescale(this.imageDims.reverse())}forSize(t,n){return new Es(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:n})}};var wt=class extends Es{constructor(t,n,a){super(t,t,"",n,a)}forSize(t,n){let{score:a,relativeBox:r,imageDims:s}=super.forSize(t,n);return new wt(a,r,s)}};function D$(e,t,n=!0){let a=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),s=a*r;return n?s/(e.area+t.area-s):s/Math.min(e.area,t.area)}function R$(e){let t=e.map(o=>o.x),n=e.map(o=>o.y),a=t.reduce((o,l)=>lloo({score:i,boxIndex:o})).sort((i,o)=>i.score-o.score).map(i=>i.boxIndex),s=[];for(;r.length>0;){let i=r.pop();s.push(i);let o=r,l=[];for(let u=0;ul[p]<=n)}return s}function xr(e,t){return O(()=>{let[n,a,r]=t,s=En([...e.shape.slice(0,3),1],n,"float32"),i=En([...e.shape.slice(0,3),1],a,"float32"),o=En([...e.shape.slice(0,3),1],r,"float32"),l=Qe([s,i,o],3);return ce(e,l)})}function P$(e,t=!1){return O(()=>{let[n,a]=e.shape.slice(1);if(n===a)return e;let r=Math.abs(n-a),s=Math.round(r*(t?.5:1)),i=n>a?2:1,o=c=>{let h=e.shape.slice();return h[i]=c,En(h,0,"float32")},l=o(s),u=r-l.shape[i],d=[t&&u?o(u):null,e,l].filter(c=>!!c).map(c=>le(c,"float32"));return Qe(d,i)})}function Nbe(e){let t=e.slice();for(let n=t.length-1;n>0;n--){let a=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[a],t[a]=r}return t}function ug(e){return 1/(1+Math.exp(-e))}function _be(e){return Math.log(e/(1-e))}var rp=class extends ct{constructor(t,n,a,r,s=!1){super({x:t,y:n,width:a,height:r},s)}};var $pe=.5,Ape=.43,Fpe=.45,va=class{constructor(t,n,a=new Oe(0,0)){let{width:r,height:s}=n;this._imgDims=new Fn(r,s),this._shift=a,this._positions=t.map(i=>i.mul(new Oe(r,s)).add(a))}get shift(){return new Oe(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new Oe(this.imageWidth,this.imageHeight)))}forSize(t,n){return new this.constructor(this.relativePositions,{width:t,height:n})}shiftBy(t,n){return new this.constructor(this.relativePositions,this._imgDims,new Oe(t,n))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,n={}){if(t){let s=t instanceof wt?t.box.floor():new ct(t);return this.shiftBy(s.x,s.y).align(null,n)}let{useDlibAlignment:a,minBoxPadding:r}={useDlibAlignment:!1,minBoxPadding:.2,...n};return a?this.alignDlib():this.alignMinBbox(r)}alignDlib(){let t=this.getRefPointsForAlignment(),[n,a,r]=t,s=d=>r.sub(d).magnitude(),i=(s(n)+s(a))/2,o=Math.floor(i/Fpe),l=Do(t),u=Math.floor(Math.max(0,l.x-$pe*o)),p=Math.floor(Math.max(0,l.y-Ape*o));return new rp(u,p,Math.min(o,this.imageWidth+u),Math.min(o,this.imageHeight+p))}alignMinBbox(t){let n=R$(this.positions);return n.pad(n.width*t,n.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var O$=class extends va{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],Do([t[3],t[4]])]}};var sp=class extends va{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(Do)}};var xd=class{constructor(t,n){this._label=t,this._distance=n}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Fo(this.distance)})`:""}`}};var vd=class extends ct{constructor(n,a){super(n);this._label=a}static assertIsValidLabeledBox(n,a){if(ct.assertIsValidBox(n,a),!tr(n.label))throw new Error(`${a} - expected property label (${n.label}) to be a number`)}get label(){return this._label}};var Or=class{constructor(t,n){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(n)||n.some(a=>!(a instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=n}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let n=t.descriptors.map(a=>new Float32Array(a));return new Or(t.label,n)}};var L$=class extends vd{constructor(n,a,r,s){super(n,a);this._score=r,this._classScore=s}static assertIsValidPredictedBox(n,a){if(vd.assertIsValidLabeledBox(n,a),!np(n.score)||!np(n.classScore))throw new Error(`${a} - expected properties score (${n.score}) and (${n.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function Lr(e){return e.detection instanceof wt}function ip(e,t){return{...e,...{detection:t}}}function v1(){let e=window.fetch;if(!e)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:e,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function wd(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function pg(e){let t="";if(!e&&wd())try{e=NF("fs")}catch(a){t=a.toString()}return{readFile:e?a=>new Promise((r,s)=>{e.readFile(a,(i,o)=>i?s(i):r(o))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function w1(){let e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=global.Video||global.HTMLVideoElement,a=()=>{if(e)return new e;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(n)return new n;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,o=pg();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:a,createImageElement:r,createVideoElement:s,fetch:i,...o}}function k1(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var sn;function Dpe(){if(!sn)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return sn}function I1(e){sn=e}function T1(){return k1()?I1(v1()):wd()?I1(w1()):null}function Rpe(e){if(sn||T1(),!sn)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=sn.Canvas,Image:n=sn.Image}=e;sn.Canvas=t,sn.Image=n,sn.createCanvasElement=e.createCanvasElement||(()=>new t),sn.createImageElement=e.createImageElement||(()=>new n),sn.ImageData=e.ImageData||sn.ImageData,sn.Video=e.Video||sn.Video,sn.fetch=e.fetch||sn.fetch,sn.readFile=e.readFile||sn.readFile}var at={getEnv:Dpe,setEnv:I1,initialize:T1,createBrowserEnv:v1,createFileSystem:pg,createNodejsEnv:w1,monkeyPatch:Rpe,isBrowser:k1,isNodejs:wd};T1();function op(e){return!at.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function aa(e){let{Canvas:t,CanvasRenderingContext2D:n}=at.getEnv();if(e instanceof n)return e;let a=op(e);if(!(a instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let r=a.getContext("2d");if(!r)throw new Error("resolveContext2d - canvas 2d context is null");return r}var S1=(r=>(r.TOP_LEFT="TOP_LEFT",r.TOP_RIGHT="TOP_RIGHT",r.BOTTOM_LEFT="BOTTOM_LEFT",r.BOTTOM_RIGHT="BOTTOM_RIGHT",r))(S1||{}),lp=class{constructor(t={}){let{anchorPosition:n,backgroundColor:a,fontColor:r,fontSize:s,fontStyle:i,padding:o}=t;this.anchorPosition=n||"TOP_LEFT",this.backgroundColor=a||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=o||4}},zr=class{constructor(t,n,a={}){this.text=typeof t=="string"?[t]:t instanceof zr?t.text:t,this.anchor=n,this.options=new lp(a)}measureWidth(t){let{padding:n}=this.options;return this.text.map(a=>t.measureText(a).width).reduce((a,r)=>a{let m=l+d.x,f=l+d.y+(h+1)*i;a.fillText(c,m,f)})}};var cg=class{constructor(t={}){let{boxColor:n,lineWidth:a,label:r,drawLabelOptions:s}=t;this.boxColor=n||"rgba(0, 0, 255, 1)",this.lineWidth=a||2,this.label=r;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new lp({...i,...s})}},kd=class{constructor(t,n={}){this.box=new ct(t),this.options=new cg(n)}draw(t){let n=aa(t),{boxColor:a,lineWidth:r}=this.options,{x:s,y:i,width:o,height:l}=this.box;n.strokeStyle=a,n.lineWidth=r,n.strokeRect(s,i,o,l);let{label:u}=this.options;u&&new zr([u],{x:s-r/2,y:i},this.options.drawLabelOptions).draw(t)}};function Mpe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof wt?a.score:Lr(a)?a.detection.score:void 0,s=a instanceof wt?a.box:Lr(a)?a.detection.box:new ct(a),i=r?`${Fo(r)}`:void 0;new kd(s,{label:i}).draw(e)})}function dg(e){let{Image:t,Video:n}=at.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function z$(e){return new Promise((t,n)=>{(e instanceof at.getEnv().Canvas||dg(e))&&t(null);function a(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),n(s))}function r(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),t(s))}e.addEventListener("load",r),e.addEventListener("error",a)})}function W$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToImage - expected buf to be of type: Blob"));let a=new FileReader;a.onload=()=>{typeof a.result!="string"&&n(new Error("bufferToImage - expected reader.result to be a string, in onload"));let r=at.getEnv().createImageElement();r.onload=()=>t(r),r.onerror=n,r.src=a.result},a.onerror=n,a.readAsDataURL(e)})}function up(e){let{Image:t,Video:n}=at.getEnv();return e instanceof t?new Fn(e.naturalWidth,e.naturalHeight):e instanceof n?new Fn(e.videoWidth,e.videoHeight):new Fn(e.width,e.height)}function pp({width:e,height:t}){let{createCanvasElement:n}=at.getEnv(),a=n();return a.width=e,a.height=t,a}function hg(e,t){let{ImageData:n}=at.getEnv();if(!(e instanceof n)&&!dg(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:a,height:r}=t||up(e),s=pp({width:a,height:r});return e instanceof n?aa(s).putImageData(e,0,0):aa(s).drawImage(e,0,0,a,r),s}async function B$(e,t){let n=t||at.getEnv().createCanvasElement(),[a,r,s]=e.shape.slice(xa(e)?1:0),i=O(()=>e.as3D(a,r,s).toInt());return await wo.toPixels(i,n),i.dispose(),n}function N1(e){let{Image:t,Canvas:n,Video:a}=at.getEnv();return e instanceof t||e instanceof n||e instanceof a}function V$(e,t,n=!1){let{Image:a,Canvas:r}=at.getEnv();if(!(e instanceof a||e instanceof r))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return pp({width:1,height:1});let s=up(e),i=t/Math.max(s.height,s.width),o=i*s.width,l=i*s.height,u=pp({width:t,height:t}),p=e instanceof r?e:hg(e),d=Math.abs(o-l)/2,c=n&&o0&&p.height>0&&aa(u).drawImage(p,c,h,o,l),u}var Wr=class{constructor(t,n=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=n,this._batchSize=t.length,t.forEach((a,r)=>{if(Pr(a)){this._imageTensors[r]=a,this._inputDimensions[r]=a.shape;return}if(xa(a)){let i=a.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=a,this._inputDimensions[r]=a.shape.slice(1);return}let s=a instanceof at.getEnv().Canvas?a:hg(a);this._canvases[r]=s,this._inputDimensions[r]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return yr(this.batchSize,0,1).map((t,n)=>this.getReshapedInputDimensions(n))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let n=this.getInputWidth(t),a=this.getInputHeight(t);return x1({width:n,height:a},this.inputSize)}toBatchTensor(t,n=!0){return this._inputSize=t,O(()=>{let a=yr(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof $e){let o=xa(i)?i:mn(i);return o=P$(o,n),(o.shape[1]!==t||o.shape[2]!==t)&&(o=Nr.resizeBilinear(o,[t,t],!1,!1)),o.as3D(t,t,3)}if(i instanceof at.getEnv().Canvas)return wo.fromPixels(V$(i,t,n));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return Rt(a.map(s=>le(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function kt(e){if(e instanceof Wr)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");let n=r=>Array.isArray(e)?` at input index ${r}:`:"",a=t.map(op);return a.forEach((r,s)=>{if(!N1(r)&&!Pr(r)&&!xa(r))throw typeof t[s]=="string"?new Error(`toNetInput -${n(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${n(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(xa(r)){let i=r.shape[0];if(i!==1)throw new Error(`toNetInput -${n(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(a.map(r=>N1(r)&&z$(r))),new Wr(a,Array.isArray(e))}async function Id(e,t){let{Canvas:n}=at.getEnv(),a=e;if(!(e instanceof n)){let i=await kt(e);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let o=i.getInput(0);a=o instanceof n?o:await B$(o)}let r=aa(a);return t.map(i=>i instanceof wt?i.forSize(a.width,a.height).box.floor():i).map(i=>i.clipAtImageBorders(a.width,a.height)).map(({x:i,y:o,width:l,height:u})=>{let p=pp({width:l,height:u});return l>0&&u>0&&aa(p).putImageData(r.getImageData(i,o,l,u),0,0),p})}async function Td(e,t){if(!Pr(e)&&!xa(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(xa(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return O(()=>{let[n,a,r]=e.shape.slice(xa(e)?1:0);return t.map(o=>o instanceof wt?o.forSize(a,n).box:o).map(o=>o.clipAtImageBorders(a,n)).filter(o=>o.width>0&&o.height>0).map(({x:o,y:l,width:u,height:p})=>Io(e.as3D(n,a,r),[l,o,0],[p,u,r]))})}async function $s(e,t){let{fetch:n}=at.getEnv(),a=await n(e,t);if(!(a.status<400))throw new Error(`failed to fetch: (${a.status}) ${a.statusText}, from url: ${a.url}`);return a}async function hve(e){let t=await $s(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return W$(n)}async function U$(e){return(await $s(e)).json()}async function yve(e){return new Float32Array(await(await $s(e)).arrayBuffer())}function G$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToVideo - expected buf to be of type: Blob"));let a=at.getEnv().createVideoElement();a.oncanplay=()=>t(a),a.onerror=n,a.playsInline=!0,a.muted=!0,a.src=URL.createObjectURL(e),a.play()})}async function Tve(e){let t=await $s(e),n=await t.blob();if(!n.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${n.type}, for url: ${t.url}`);return G$(n)}function mg(e,t){let n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};let a=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(a,"");let r=e.split("/").filter(o=>o),s=e.endsWith(".json")?r[r.length-1]:n,i=a+(e.endsWith(".json")?r.slice(0,r.length-1):r).join("/");return i=e.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function H$(e,t){let{manifestUri:n,modelBaseUri:a}=mg(e,t),r=await U$(n);return Sn.loadWeights(r,a)}function Ave(e,t,n=!1){let{width:a,height:r}=n?up(t):t;return e.width=a,e.height=r,{width:a,height:r}}var dn=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:n,objProp:a}=this.traversePropertyPath(t);return n[a]}reassignParamFromPath(t,n){let{obj:a,objProp:r}=this.traversePropertyPath(t);a[r].dispose(),a[r]=n}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof rs)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof rs))}variable(){this.getFrozenParams().forEach(({path:t,tensor:n})=>{this.reassignParamFromPath(t,n.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:n})=>{let a=Bn(n.dataSync());n.dispose(),this.reassignParamFromPath(t,a)})}dispose(t=!0){this.getParamList().forEach(n=>{if(t&&n.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${n.path}`);n.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,n)=>t.concat(n)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let n=await H$(t,this.getDefaultModelName());this.loadFromWeightMap(n)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:n}=at.getEnv(),{manifestUri:a,modelBaseUri:r}=mg(t,this.getDefaultModelName()),s=u=>Promise.all(u.map(p=>n(p).then(d=>d.buffer))),i=Sn.weightsLoaderFactory(s),o=JSON.parse((await n(a)).toString()),l=await i(o,r);this.loadFromWeightMap(l)}loadFromWeightMap(t){let{paramMappings:n,params:a}=this.extractParamsFromWeightMap(t);this._paramMappings=n,this._params=a}extractWeights(t){let{paramMappings:n,params:a}=this.extractParams(t);this._paramMappings=n,this._params=a}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let n=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:a,objProp:r}=n;if(!a||!r||!(a[r]instanceof $e))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:a,objProp:r}}};function Kn(e,t,n){return O(()=>{let a=Ts(e,t.depthwise_filter,t.pointwise_filter,n,"same");return a=Q(a,t.bias),a})}function fg(e,t,n=!1){return O(()=>{let a=Xe(n?Q(Dt(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):Kn(e,t.conv0,[2,2])),r=Kn(a,t.conv1,[1,1]),s=Xe(Q(a,r)),i=Kn(s,t.conv2,[1,1]);return Xe(Q(a,Q(r,i)))})}function Sd(e,t,n=!1,a=!0){return O(()=>{let r=Xe(n?Q(Dt(e,t.conv0.filters,a?[2,2]:[1,1],"same"),t.conv0.bias):Kn(e,t.conv0,a?[2,2]:[1,1])),s=Kn(r,t.conv1,[1,1]),i=Xe(Q(r,s)),o=Kn(i,t.conv2,[1,1]),l=Xe(Q(r,Q(s,o))),u=Kn(l,t.conv3,[1,1]);return Xe(Q(r,Q(s,Q(o,u))))})}function Ro(e,t,n="same",a=!1){return O(()=>{let r=Q(Dt(e,t.filters,[1,1],n),t.bias);return a?Xe(r):r})}function Dn(e,t){Object.keys(e).forEach(n=>{t.some(a=>a.originalPath===n)||e[n].dispose()})}function cp(e,t){return(n,a,r,s)=>{let i=$a(e(n*a*r*r),[r,r,n,a]),o=Ke(e(a));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:o}}}function gg(e,t){return(n,a,r)=>{let s=Ca(e(n*a),[n,a]),i=Ke(e(a));return t.push({paramPath:`${r}/weights`},{paramPath:`${r}/bias`}),{weights:s,bias:i}}}var Nd=class{constructor(t,n,a){this.depthwise_filter=t;this.pointwise_filter=n;this.bias=a}};function dp(e,t){return(n,a,r)=>{let s=$a(e(9*n),[3,3,n,1]),i=$a(e(n*a),[1,1,n,a]),o=Ke(e(a));return t.push({paramPath:`${r}/depthwise_filter`},{paramPath:`${r}/pointwise_filter`},{paramPath:`${r}/bias`}),new Nd(s,i,o)}}function hp(e){return t=>{let n=e(`${t}/depthwise_filter`,4),a=e(`${t}/pointwise_filter`,4),r=e(`${t}/bias`,1);return new Nd(n,a,r)}}function ra(e,t){return(n,a,r)=>{let s=e[n];if(!Ao(s,a))throw new Error(`expected weightMap[${n}] to be a Tensor${a}D, instead have ${s}`);return t.push({originalPath:n,paramPath:r||n}),s}}function Rn(e){let t=e;function n(r){let s=t.slice(0,r);return t=t.slice(r),s}function a(){return t}return{extractWeights:n,getRemainingWeights:a}}function bg(e,t){let n=cp(e,t),a=dp(e,t);function r(i,o,l,u=!1){let p=u?n(i,o,3,`${l}/conv0`):a(i,o,`${l}/conv0`),d=a(o,o,`${l}/conv1`),c=a(o,o,`${l}/conv2`);return{conv0:p,conv1:d,conv2:c}}function s(i,o,l,u=!1){let{conv0:p,conv1:d,conv2:c}=r(i,o,l,u),h=a(o,o,`${l}/conv3`);return{conv0:p,conv1:d,conv2:c,conv3:h}}return{extractDenseBlock3Params:r,extractDenseBlock4Params:s}}function j$(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractDenseBlock4Params:r}=bg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2"),l=r(128,256,"dense3");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o,dense3:l}}}function yg(e){return t=>{let n=e(`${t}/filters`,4),a=e(`${t}/bias`,1);return{filters:n,bias:a}}}function xg(e,t){let n=ra(e,t),a=yg(n),r=hp(n);function s(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`);return{conv0:u,conv1:p,conv2:d}}function i(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`),c=r(`${o}/conv3`);return{conv0:u,conv1:p,conv2:d,conv3:c}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function q$(e){let t=[],{extractDenseBlock4Params:n}=xg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return Dn(e,t),{params:a,paramMappings:t}}var mp=class extends dn{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceFeatureExtractor - load model before inference");return O(()=>{let a=le(t.toBatchTensor(112,!0),"float32"),s=xr(a,[122.782,117.001,104.298]).div(255),i=Sd(s,n.dense0,!0);return i=Sd(i,n.dense1),i=Sd(i,n.dense2),i=Sd(i,n.dense3),i=ga(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await kt(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return q$(t)}extractParams(t){return j$(t)}};function Cd(e,t){return O(()=>Q(Re(e,t.weights),t.bias))}function K$(e,t,n){let a=[],{extractWeights:r,getRemainingWeights:s}=Rn(e),o=gg(r,a)(t,n,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:a,params:{fc:o}}}function X$(e){let t=[],n=ra(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:a("fc")};return Dn(e,t),{params:r,paramMappings:t}}function vg(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=a.startsWith("fc")?n:t;r[a]=e[a]}),{featureExtractorMap:t,classifierMap:n}}var fp=class extends dn{constructor(n,a){super(n);this._faceFeatureExtractor=a}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(n){let{params:a}=this;if(!a)throw new Error(`${this._name} - load model before inference`);return O(()=>{let r=n instanceof Wr?this.faceFeatureExtractor.forwardInput(n):n;return Cd(r.as2D(r.shape[0],-1),a.fc)})}dispose(n=!0){this.faceFeatureExtractor.dispose(n),super.dispose(n)}loadClassifierParams(n){let{params:a,paramMappings:r}=this.extractClassifierParams(n);this._params=a,this._paramMappings=r}extractClassifierParams(n){return K$(n,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(n){let{featureExtractorMap:a,classifierMap:r}=vg(n);return this.faceFeatureExtractor.loadFromWeightMap(a),X$(r)}extractParams(n){let a=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),s=r*a+r,i=n.slice(0,n.length-s),o=n.slice(n.length-s);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(o)}};var Y$=["neutral","happy","sad","angry","fearful","disgusted","surprised"],As=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);Y$.forEach((n,a)=>{this[n]=t[a]})}asSortedArray(){return Y$.map(t=>({expression:t,probability:this[t]})).sort((t,n)=>n.probability-t.probability)}};var wg=class extends fp{constructor(t=new mp){super("FaceExpressionNet",t)}forwardInput(t){return O(()=>Qa(this.runNet(t)))}async forward(t){return this.forwardInput(await kt(t))}async predictExpressions(t){let n=await kt(t),a=await this.forwardInput(n),r=await Promise.all(mt(a).map(async i=>{let o=i.dataSync();return i.dispose(),o}));a.dispose();let s=r.map(i=>new As(i));return n.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function Z$(e){return e.expressions instanceof As}function C1(e,t){return{...e,...{expressions:t}}}function Ppe(e,t,n=.1,a){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof As?s:Z$(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let l=i.asSortedArray().filter(d=>d.probability>n),u=Lr(s)?s.detection.box.bottomLeft:a||new Oe(0,0);new zr(l.map(d=>`${d.expression} (${Fo(d.probability)})`),u).draw(e)})}function gp(e){return Lr(e)&&e.landmarks instanceof va&&e.unshiftedLandmarks instanceof va&&e.alignedRect instanceof wt}function Ope(e){let t=(o,l,u,p)=>Math.atan2(p-l,u-o)%Math.PI,n=o=>o*180/Math.PI,a={roll:void 0,pitch:void 0,yaw:void 0};if(!e||!e._positions||e._positions.length!==68)return a;let r=e._positions;a.roll=-t(r[36]._x,r[36]._y,r[45]._x,r[45]._y),a.pitch=t(0,Math.abs(r[0]._x-r[30]._x)/r[30]._x,Math.PI,Math.abs(r[16]._x-r[30]._x)/r[30]._x);let s=r.reduce((o,l)=>oo>l._y?o:l._y,-1/0);return a.yaw=Math.PI*(e._imgDims._height/(i-s)/1.4-1),a}function _d(e,t){let{box:n}=e.detection,a=t.shiftBy(n.x,n.y),r=a.align(),{imageDims:s}=e.detection,i=new wt(e.detection.score,r.rescale(s.reverse()),s),o=Ope(t);return{...e,...{landmarks:a,unshiftedLandmarks:t,alignedRect:i,angle:o}}}var kg=class{constructor(t={}){let{drawLines:n=!0,drawPoints:a=!0,lineWidth:r,lineColor:s,pointSize:i,pointColor:o}=t;this.drawLines=n,this.drawPoints=a,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=o||"rgba(255, 0, 255, 1)"}},Ig=class{constructor(t,n={}){this.faceLandmarks=t,this.options=new kg(n)}draw(t){let n=aa(t),{drawLines:a,drawPoints:r,lineWidth:s,lineColor:i,pointSize:o,pointColor:l}=this.options;if(a&&this.faceLandmarks instanceof sp&&(n.strokeStyle=i,n.lineWidth=s,Mr(n,this.faceLandmarks.getJawOutline()),Mr(n,this.faceLandmarks.getLeftEyeBrow()),Mr(n,this.faceLandmarks.getRightEyeBrow()),Mr(n,this.faceLandmarks.getNose()),Mr(n,this.faceLandmarks.getLeftEye(),!0),Mr(n,this.faceLandmarks.getRightEye(),!0),Mr(n,this.faceLandmarks.getMouth(),!0)),r){n.strokeStyle=l,n.fillStyle=l;let u=p=>{n.beginPath(),n.arc(p.x,p.y,o,0,2*Math.PI),n.fill()};this.faceLandmarks.positions.forEach(u)}}};function Lpe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof va?a:gp(a)?a.landmarks:void 0;if(!r)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new Ig(r).draw(e)})}var Q$="1.7.3";function Bpe(e,t){let n=cp(e,t),a=dp(e,t);function r(i,o,l){let u=a(i,o,`${l}/separable_conv0`),p=a(o,o,`${l}/separable_conv1`),d=n(i,o,1,`${l}/expansion_conv`);return{separable_conv0:u,separable_conv1:p,expansion_conv:d}}function s(i,o){let l=a(i,i,`${o}/separable_conv0`),u=a(i,i,`${o}/separable_conv1`),p=a(i,i,`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:n,extractSeparableConvParams:a,extractReductionBlockParams:r,extractMainBlockParams:s}}function eA(e,t){let n=[],{extractWeights:a,getRemainingWeights:r}=Rn(e),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:l}=Bpe(a,n),u=s(3,32,3,"entry_flow/conv_in"),p=o(32,64,"entry_flow/reduction_block_0"),d=o(64,128,"entry_flow/reduction_block_1"),c={conv_in:u,reduction_block_0:p,reduction_block_1:d},h={};yr(t,0,1).forEach(b=>{h[`main_block_${b}`]=l(128,`middle_flow/main_block_${b}`)});let m=o(128,256,"exit_flow/reduction_block"),f=i(256,512,"exit_flow/separable_conv"),g={reduction_block:m,separable_conv:f};if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:n,params:{entry_flow:c,middle_flow:h,exit_flow:g}}}function Vpe(e,t){let n=ra(e,t),a=yg(n),r=hp(n);function s(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=a(`${o}/expansion_conv`);return{separable_conv0:l,separable_conv1:u,expansion_conv:p}}function i(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=r(`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}}function tA(e,t){let n=[],{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}=Vpe(e,n),o=a("entry_flow/conv_in"),l=s("entry_flow/reduction_block_0"),u=s("entry_flow/reduction_block_1"),p={conv_in:o,reduction_block_0:l,reduction_block_1:u},d={};yr(t,0,1).forEach(f=>{d[`main_block_${f}`]=i(`middle_flow/main_block_${f}`)});let c=s("exit_flow/reduction_block"),h=r("exit_flow/separable_conv"),m={reduction_block:c,separable_conv:h};return Dn(e,n),{params:{entry_flow:p,middle_flow:d,exit_flow:m},paramMappings:n}}function nA(e,t,n){return Q(Dt(e,t.filters,n,"same"),t.bias)}function _1(e,t,n=!0){let a=n?Xe(e):e;return a=Kn(a,t.separable_conv0,[1,1]),a=Kn(Xe(a),t.separable_conv1,[1,1]),a=Mt(a,[3,3],[2,2],"same"),a=Q(a,nA(e,t.expansion_conv,[2,2])),a}function Upe(e,t){let n=Kn(Xe(e),t.separable_conv0,[1,1]);return n=Kn(Xe(n),t.separable_conv1,[1,1]),n=Kn(Xe(n),t.separable_conv2,[1,1]),n=Q(n,e),n}var Tg=class extends dn{constructor(n){super("TinyXception");this._numMainBlocks=n}forwardInput(n){let{params:a}=this;if(!a)throw new Error("TinyXception - load model before inference");return O(()=>{let r=le(n.toBatchTensor(112,!0),"float32"),i=xr(r,[122.782,117.001,104.298]).div(255),o=Xe(nA(i,a.entry_flow.conv_in,[2,2]));return o=_1(o,a.entry_flow.reduction_block_0,!1),o=_1(o,a.entry_flow.reduction_block_1),yr(this._numMainBlocks,0,1).forEach(l=>{o=Upe(o,a.middle_flow[`main_block_${l}`])}),o=_1(o,a.exit_flow.reduction_block),o=Xe(Kn(o,a.exit_flow.separable_conv,[1,1])),o})}async forward(n){return this.forwardInput(await kt(n))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(n){return tA(n,this._numMainBlocks)}extractParams(n){return eA(n,this._numMainBlocks)}};function aA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),r=gg(n,t),s=r(512,1,"fc/age"),i=r(512,2,"fc/gender");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function rA(e){let t=[],n=ra(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:{age:a("fc/age"),gender:a("fc/gender")}};return Dn(e,t),{params:r,paramMappings:t}}var E1=(n=>(n.FEMALE="female",n.MALE="male",n))(E1||{});var Sg=class extends dn{constructor(n=new Tg(2)){super("AgeGenderNet");this._faceFeatureExtractor=n}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(n){let{params:a}=this;if(!a)throw new Error(`${this._name} - load model before inference`);return O(()=>{let r=n instanceof Wr?this.faceFeatureExtractor.forwardInput(n):n,s=ga(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),i=Cd(s,a.fc.age).as1D(),o=Cd(s,a.fc.gender);return{age:i,gender:o}})}forwardInput(n){return O(()=>{let{age:a,gender:r}=this.runNet(n);return{age:a,gender:Qa(r)}})}async forward(n){return this.forwardInput(await kt(n))}async predictAgeAndGender(n){let a=await kt(n),r=await this.forwardInput(a),s=mt(r.age),i=mt(r.gender),o=s.map((u,p)=>({ageTensor:u,genderTensor:i[p]})),l=await Promise.all(o.map(async({ageTensor:u,genderTensor:p})=>{let d=u.dataSync()[0],c=p.dataSync()[0],h=c>.5,m=h?"male":"female",f=h?c:1-c;return u.dispose(),p.dispose(),{age:d,gender:m,genderProbability:f}}));return r.age.dispose(),r.gender.dispose(),a.isBatchInput?l:l[0]}getDefaultModelName(){return"age_gender_model"}dispose(n=!0){this.faceFeatureExtractor.dispose(n),super.dispose(n)}loadClassifierParams(n){let{params:a,paramMappings:r}=this.extractClassifierParams(n);this._params=a,this._paramMappings=r}extractClassifierParams(n){return aA(n)}extractParamsFromWeightMap(n){let{featureExtractorMap:a,classifierMap:r}=vg(n);return this.faceFeatureExtractor.loadFromWeightMap(a),rA(r)}extractParams(n){let r=n.slice(0,n.length-1539),s=n.slice(n.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(s)}};var bp=class extends fp{postProcess(t,n,a){let r=a.map(({width:i,height:o})=>{let l=n/Math.max(o,i);return{width:i*l,height:o*l}}),s=r.length;return O(()=>{let i=(d,c)=>Rt([En([68],d,"float32"),En([68],c,"float32")],1).as2D(1,136).as1D(),o=(d,c)=>{let{width:h,height:m}=r[d];return c(h,m)?Math.abs(h-m)/2:0},l=d=>o(d,(c,h)=>co(d,(c,h)=>hi(l(c),u(c))))).div(Rt(Array.from(Array(s),(d,c)=>i(r[c].width,r[c].height))))})}forwardInput(t){return O(()=>{let n=this.runNet(t);return this.postProcess(n,t.inputSize,t.inputDimensions.map(([a,r])=>({height:a,width:r})))})}async forward(t){return this.forwardInput(await kt(t))}async detectLandmarks(t){let n=await kt(t),a=O(()=>mt(this.forwardInput(n))),r=await Promise.all(a.map(async(s,i)=>{let o=Array.from(s.dataSync()),l=o.filter((p,d)=>og(d)),u=o.filter((p,d)=>!og(d));return new sp(Array(68).fill(0).map((p,d)=>new Oe(l[d],u[d])),{height:n.getInputHeight(i),width:n.getInputWidth(i)})}));return a.forEach(s=>s.dispose()),n.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}};var yp=class extends bp{constructor(t=new mp){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function sA(e){let t=[],{extractDenseBlock3Params:n}=xg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return Dn(e,t),{params:a,paramMappings:t}}function iA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractDenseBlock3Params:r}=bg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o}}}var Ng=class extends dn{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyFaceFeatureExtractor - load model before inference");return O(()=>{let a=le(t.toBatchTensor(112,!0),"float32"),s=xr(a,[122.782,117.001,104.298]).div(255),i=fg(s,n.dense0,!0);return i=fg(i,n.dense1),i=fg(i,n.dense2),i=ga(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await kt(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return sA(t)}extractParams(t){return iA(t)}};var Cg=class extends bp{constructor(t=new Ng){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var oA=class extends yp{};function lA(e,t){return Q(W(e,t.weights),t.biases)}function $1(e,t,n,a,r="same"){let{filters:s,bias:i}=t.conv,o=Dt(e,s,n,r);return o=Q(o,i),o=lA(o,t.scale),a?Xe(o):o}function uA(e,t){return $1(e,t,[1,1],!0)}function A1(e,t){return $1(e,t,[1,1],!1)}function _g(e,t){return $1(e,t,[2,2],!0,"valid")}function Gpe(e,t){function n(o,l,u){let p=e(o),d=p.length/(l*u*u);if(y1(d))throw new Error(`depth has to be an integer: ${d}, weights.length: ${p.length}, numFilters: ${l}, filterSize: ${u}`);return O(()=>Ae($a(p,[l,d,u,u]),[2,3,1,0]))}function a(o,l,u,p){let d=n(o,l,u),c=Ke(e(l));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:d,bias:c}}function r(o,l){let u=Ke(e(o)),p=Ke(e(o));return t.push({paramPath:`${l}/weights`},{paramPath:`${l}/biases`}),{weights:u,biases:p}}function s(o,l,u,p){let d=a(o,l,u,`${p}/conv`),c=r(l,`${p}/scale`);return{conv:d,scale:c}}function i(o,l,u,p,d=!1){let c=s((d?.5:1)*o,l,u,`${p}/conv1`),h=s(o,l,u,`${p}/conv2`);return{conv1:c,conv2:h}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function pA(e){let{extractWeights:t,getRemainingWeights:n}=Rn(e),a=[],{extractConvLayerParams:r,extractResidualLayerParams:s}=Gpe(t,a),i=r(4704,32,7,"conv32_down"),o=s(9216,32,3,"conv32_1"),l=s(9216,32,3,"conv32_2"),u=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),d=s(36864,64,3,"conv64_1"),c=s(36864,64,3,"conv64_2"),h=s(36864,64,3,"conv64_3"),m=s(147456,128,3,"conv128_down",!0),f=s(147456,128,3,"conv128_1"),g=s(147456,128,3,"conv128_2"),b=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),w=s(589824,256,3,"conv256_down_out"),I=O(()=>Ae(Ca(t(256*128),[128,256]),[1,0]));if(a.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{params:{conv32_down:i,conv32_1:o,conv32_2:l,conv32_3:u,conv64_down:p,conv64_1:d,conv64_2:c,conv64_3:h,conv128_down:m,conv128_1:f,conv128_2:g,conv256_down:b,conv256_1:y,conv256_2:x,conv256_down_out:w,fc:I},paramMappings:a}}function Hpe(e,t){let n=ra(e,t);function a(i){let o=n(`${i}/scale/weights`,1),l=n(`${i}/scale/biases`,1);return{weights:o,biases:l}}function r(i){let o=n(`${i}/conv/filters`,4),l=n(`${i}/conv/bias`,1),u=a(i);return{conv:{filters:o,bias:l},scale:u}}function s(i){return{conv1:r(`${i}/conv1`),conv2:r(`${i}/conv2`)}}return{extractConvLayerParams:r,extractResidualLayerParams:s}}function cA(e){let t=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=Hpe(e,t),r=n("conv32_down"),s=a("conv32_1"),i=a("conv32_2"),o=a("conv32_3"),l=a("conv64_down"),u=a("conv64_1"),p=a("conv64_2"),d=a("conv64_3"),c=a("conv128_down"),h=a("conv128_1"),m=a("conv128_2"),f=a("conv256_down"),g=a("conv256_1"),b=a("conv256_2"),y=a("conv256_down_out"),{fc:x}=e;if(t.push({originalPath:"fc",paramPath:"fc"}),!b1(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let w={conv32_down:r,conv32_1:s,conv32_2:i,conv32_3:o,conv64_down:l,conv64_1:u,conv64_2:p,conv64_3:d,conv128_down:c,conv128_1:h,conv128_2:m,conv256_down:f,conv256_1:g,conv256_2:b,conv256_down_out:y,fc:x};return Dn(e,t),{params:w,paramMappings:t}}function nr(e,t){let n=uA(e,t.conv1);return n=A1(n,t.conv2),n=Q(n,e),n=Xe(n),n}function Ed(e,t){let n=_g(e,t.conv1);n=A1(n,t.conv2);let a=ga(e,2,2,"valid"),r=It(a.shape),s=a.shape[3]!==n.shape[3];if(a.shape[1]!==n.shape[1]||a.shape[2]!==n.shape[2]){let o=[...n.shape];o[1]=1;let l=It(o);n=Qe([n,l],1);let u=[...n.shape];u[2]=1;let p=It(u);n=Qe([n,p],2)}return a=s?Qe([a,r],3):a,n=Q(a,n),n=Xe(n),n}var xp=class extends dn{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceRecognitionNet - load model before inference");return O(()=>{let a=le(t.toBatchTensor(150,!0),"float32"),s=xr(a,[122.782,117.001,104.298]).div(255),i=_g(s,n.conv32_down);i=Mt(i,3,2,"valid"),i=nr(i,n.conv32_1),i=nr(i,n.conv32_2),i=nr(i,n.conv32_3),i=Ed(i,n.conv64_down),i=nr(i,n.conv64_1),i=nr(i,n.conv64_2),i=nr(i,n.conv64_3),i=Ed(i,n.conv128_down),i=nr(i,n.conv128_1),i=nr(i,n.conv128_2),i=Ed(i,n.conv256_down),i=nr(i,n.conv256_1),i=nr(i,n.conv256_2),i=Ed(i,n.conv256_down_out);let o=i.mean([1,2]);return Re(o,n.fc)})}async forward(t){return this.forwardInput(await kt(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let n=await kt(t),a=O(()=>mt(this.forwardInput(n))),r=await Promise.all(a.map(i=>i.data()));return a.forEach(i=>i.dispose()),n.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return cA(t)}extractParams(t){return pA(t)}};function aIe(e){let t=new xp;return t.extractWeights(e),t}function F1(e,t){return{...e,...{descriptor:t}}}function oIe(e){return typeof e.age=="number"}function D1(e,t){return{...e,...{age:t}}}function cIe(e){return(e.gender==="male"||e.gender==="female")&&np(e.genderProbability)}function R1(e,t,n){return{...e,...{gender:t,genderProbability:n}}}function jpe(e,t){function n(l,u){let p=$a(e(9*l),[3,3,l,1]),d=Ke(e(l)),c=Ke(e(l)),h=Ke(e(l)),m=Ke(e(l));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/batch_norm_scale`},{paramPath:`${u}/batch_norm_offset`},{paramPath:`${u}/batch_norm_mean`},{paramPath:`${u}/batch_norm_variance`}),{filters:p,batch_norm_scale:d,batch_norm_offset:c,batch_norm_mean:h,batch_norm_variance:m}}function a(l,u,p,d,c){let h=$a(e(l*u*p*p),[p,p,l,u]),m=Ke(e(u));return t.push({paramPath:`${d}/filters`},{paramPath:`${d}/${c?"batch_norm_offset":"bias"}`}),{filters:h,bias:m}}function r(l,u,p,d){let{filters:c,bias:h}=a(l,u,p,d,!0);return{filters:c,batch_norm_offset:h}}function s(l,u,p){let d=n(l,`${p}/depthwise_conv`),c=r(l,u,1,`${p}/pointwise_conv`);return{depthwise_conv:d,pointwise_conv:c}}function i(){let l=r(3,32,3,"mobilenetv1/conv_0"),u=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),d=s(128,128,"mobilenetv1/conv_3"),c=s(128,256,"mobilenetv1/conv_4"),h=s(256,256,"mobilenetv1/conv_5"),m=s(256,512,"mobilenetv1/conv_6"),f=s(512,512,"mobilenetv1/conv_7"),g=s(512,512,"mobilenetv1/conv_8"),b=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),w=s(512,1024,"mobilenetv1/conv_12"),I=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,conv_8:g,conv_9:b,conv_10:y,conv_11:x,conv_12:w,conv_13:I}}function o(){let l=r(1024,256,1,"prediction_layer/conv_0"),u=r(256,512,3,"prediction_layer/conv_1"),p=r(512,128,1,"prediction_layer/conv_2"),d=r(128,256,3,"prediction_layer/conv_3"),c=r(256,128,1,"prediction_layer/conv_4"),h=r(128,256,3,"prediction_layer/conv_5"),m=r(256,64,1,"prediction_layer/conv_6"),f=r(64,128,3,"prediction_layer/conv_7"),g=a(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),b=a(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=a(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=a(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),w=a(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),I=a(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),N=a(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),_=a(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),$=a(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),A=a(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),M=a(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),D=a(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,box_predictor_0:{box_encoding_predictor:g,class_predictor:b},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:w,class_predictor:I},box_predictor_3:{box_encoding_predictor:N,class_predictor:_},box_predictor_4:{box_encoding_predictor:$,class_predictor:A},box_predictor_5:{box_encoding_predictor:M,class_predictor:D}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:o}}function dA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractMobilenetV1Params:r,extractPredictionLayerParams:s}=jpe(n,t),i=r(),o=s(),u={extra_dim:Vc(n(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:{mobilenetv1:i,prediction_layer:o,output_layer:u},paramMappings:t}}function qpe(e,t){let n=ra(e,t);function a(u,p,d){let c=n(`${u}/Conv2d_${p}_pointwise/weights`,4,`${d}/filters`),h=n(`${u}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${d}/batch_norm_offset`);return{filters:c,batch_norm_offset:h}}function r(u){let p=`mobilenetv1/conv_${u}`,d=`MobilenetV1/Conv2d_${u}_depthwise`,c=`${p}/depthwise_conv`,h=`${p}/pointwise_conv`,m=n(`${d}/depthwise_weights`,4,`${c}/filters`),f=n(`${d}/BatchNorm/gamma`,1,`${c}/batch_norm_scale`),g=n(`${d}/BatchNorm/beta`,1,`${c}/batch_norm_offset`),b=n(`${d}/BatchNorm/moving_mean`,1,`${c}/batch_norm_mean`),y=n(`${d}/BatchNorm/moving_variance`,1,`${c}/batch_norm_variance`);return{depthwise_conv:{filters:m,batch_norm_scale:f,batch_norm_offset:g,batch_norm_mean:b,batch_norm_variance:y},pointwise_conv:a("MobilenetV1",u,h)}}function s(){return{conv_0:a("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:r(1),conv_2:r(2),conv_3:r(3),conv_4:r(4),conv_5:r(5),conv_6:r(6),conv_7:r(7),conv_8:r(8),conv_9:r(9),conv_10:r(10),conv_11:r(11),conv_12:r(12),conv_13:r(13)}}function i(u,p){let d=n(`${u}/weights`,4,`${p}/filters`),c=n(`${u}/biases`,1,`${p}/bias`);return{filters:d,bias:c}}function o(u){let p=i(`Prediction/BoxPredictor_${u}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${u}/box_encoding_predictor`),d=i(`Prediction/BoxPredictor_${u}/ClassPredictor`,`prediction_layer/box_predictor_${u}/class_predictor`);return{box_encoding_predictor:p,class_predictor:d}}function l(){return{conv_0:a("Prediction",0,"prediction_layer/conv_0"),conv_1:a("Prediction",1,"prediction_layer/conv_1"),conv_2:a("Prediction",2,"prediction_layer/conv_2"),conv_3:a("Prediction",3,"prediction_layer/conv_3"),conv_4:a("Prediction",4,"prediction_layer/conv_4"),conv_5:a("Prediction",5,"prediction_layer/conv_5"),conv_6:a("Prediction",6,"prediction_layer/conv_6"),conv_7:a("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:o(0),box_predictor_1:o(1),box_predictor_2:o(2),box_predictor_3:o(3),box_predictor_4:o(4),box_predictor_5:o(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:l}}function hA(e){let t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=qpe(e,t),r=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!Pr(r))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${r}`);let s={mobilenetv1:n(),prediction_layer:a(),output_layer:{extra_dim:r}};return Dn(e,t),{params:s,paramMappings:t}}function Da(e,t,n){return O(()=>{let a=Dt(e,t.filters,n,"same");return a=Q(a,t.batch_norm_offset),tn(a,0,6)})}var Kpe=.0010000000474974513;function Xpe(e,t,n){return O(()=>{let a=ws(e,t.filters,n,"same");return a=vs(a,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Kpe),tn(a,0,6)})}function Ype(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function mA(e,t){return O(()=>{let n,a=Da(e,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let o=i+1,l=Ype(o);a=Xpe(a,s.depthwise_conv,l),a=Da(a,s.pointwise_conv,[1,1]),o===11&&(n=a)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:a,conv11:n}})}function Zpe(e,t,n){let a=e.arraySync(),r=Math.min(a[t][0],a[t][2]),s=Math.min(a[t][1],a[t][3]),i=Math.max(a[t][0],a[t][2]),o=Math.max(a[t][1],a[t][3]),l=Math.min(a[n][0],a[n][2]),u=Math.min(a[n][1],a[n][3]),p=Math.max(a[n][0],a[n][2]),d=Math.max(a[n][1],a[n][3]),c=(i-r)*(o-s),h=(p-l)*(d-u);if(c<=0||h<=0)return 0;let m=Math.max(r,l),f=Math.max(s,u),g=Math.min(i,p),b=Math.min(o,d),y=Math.max(g-m,0)*Math.max(b-f,0);return y/(c+h-y)}function fA(e,t,n,a,r){let s=e.shape[0],i=Math.min(n,s),o=t.map((p,d)=>({score:p,boxIndex:d})).filter(p=>p.score>r).sort((p,d)=>d.score-p.score),l=p=>p<=a?1:0,u=[];return o.forEach(p=>{if(u.length>=i)return;let d=p.score;for(let c=u.length-1;c>=0;--c){let h=Zpe(e,p.boxIndex,u[c]);if(h!==0&&(p.score*=l(h),p.score<=r))break}d===p.score&&u.push(p.boxIndex)}),u}function Jpe(e){let t=mt(Ae(e,[1,0])),n=[ce(t[2],t[0]),ce(t[3],t[1])],a=[Q(t[0],fe(n[0],2)),Q(t[1],fe(n[1],2))];return{sizes:n,centers:a}}function Qpe(e,t){let{sizes:n,centers:a}=Jpe(e),r=mt(Ae(t,[1,0])),s=fe(W(gn(fe(r[2],5)),n[0]),2),i=Q(W(fe(r[0],10),n[0]),a[0]),o=fe(W(gn(fe(r[3],5)),n[1]),2),l=Q(W(fe(r[1],10),n[1]),a[1]);return Ae(Rt([ce(i,s),ce(l,o),Q(i,s),Q(l,o)]),[1,0])}function gA(e,t,n){return O(()=>{let a=e.shape[0],r=Qpe(B(Wn(n.extra_dim,[a,1,1]),[-1,4]),B(e,[-1,4]));r=B(r,[a,r.shape[0]/a,4]);let s=da(He(t,[0,0,1],[-1,-1,-1])),i=He(s,[0,0,0],[-1,-1,1]);i=B(i,[a,i.shape[1]]);let o=mt(r),l=mt(i);return{boxes:o,scores:l}})}function Mo(e,t){return O(()=>{let n=e.shape[0],a=B(Ro(e,t.box_encoding_predictor),[n,-1,1,4]),r=B(Ro(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:a,classPrediction:r}})}function bA(e,t,n){return O(()=>{let a=Da(e,n.conv_0,[1,1]),r=Da(a,n.conv_1,[2,2]),s=Da(r,n.conv_2,[1,1]),i=Da(s,n.conv_3,[2,2]),o=Da(i,n.conv_4,[1,1]),l=Da(o,n.conv_5,[2,2]),u=Da(l,n.conv_6,[1,1]),p=Da(u,n.conv_7,[2,2]),d=Mo(t,n.box_predictor_0),c=Mo(e,n.box_predictor_1),h=Mo(r,n.box_predictor_2),m=Mo(i,n.box_predictor_3),f=Mo(l,n.box_predictor_4),g=Mo(p,n.box_predictor_5),b=Qe([d.boxPredictionEncoding,c.boxPredictionEncoding,h.boxPredictionEncoding,m.boxPredictionEncoding,f.boxPredictionEncoding,g.boxPredictionEncoding],1),y=Qe([d.classPrediction,c.classPrediction,h.classPrediction,m.classPrediction,f.classPrediction,g.classPrediction],1);return{boxPredictions:b,classPredictions:y}})}var Ra=class{constructor({minConfidence:t,maxResults:n}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=n||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var Po=class extends dn{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("SsdMobilenetv1 - load model before inference");return O(()=>{let a=le(t.toBatchTensor(512,!1),"float32"),r=ce(fe(a,127.5),1),s=mA(r,n.mobilenetv1),{boxPredictions:i,classPredictions:o}=bA(s.out,s.conv11,n.prediction_layer);return gA(i,o,n.output_layer)})}async forward(t){return this.forwardInput(await kt(t))}async locateFaces(t,n={}){let{maxResults:a,minConfidence:r}=new Ra(n),s=await kt(t),{boxes:i,scores:o}=this.forwardInput(s),l=i[0],u=o[0];for(let x=1;x{let[w,I]=[Math.max(0,b[x][0]),Math.min(1,b[x][2])].map($=>$*g),[N,_]=[Math.max(0,b[x][1]),Math.min(1,b[x][3])].map($=>$*f);return new wt(p[x],new rp(N,w,_-N,I-w),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return l.dispose(),u.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return hA(t)}extractParams(t){return dA(t)}};function ece(e){let t=new Po;return t.extractWeights(e),t}function aTe(e){return ece(e)}var yA=class extends Po{};var xA=.4,vA=[new Oe(.738768,.874946),new Oe(2.42204,2.65704),new Oe(4.30971,7.04493),new Oe(10.246,4.59428),new Oe(12.6868,11.8741)],wA=[new Oe(1.603231,2.094468),new Oe(6.041143,7.080126),new Oe(2.882459,3.518061),new Oe(4.266906,5.178857),new Oe(9.041765,10.66308)],kA=[117.001,114.697,97.404],IA="tiny_yolov2_model",TA="tiny_yolov2_separable_conv_model";var Eg=e=>typeof e=="number";function SA(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!Eg(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>Eg(t.x)&&Eg(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(Eg)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function vp(e){return O(()=>{let t=W(e,ke(.10000000149011612));return Q(Xe(ce(e,t)),t)})}function Br(e,t){return O(()=>{let n=ba(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Dt(n,t.conv.filters,[1,1],"valid"),n=ce(n,t.bn.sub),n=W(n,t.bn.truediv),n=Q(n,t.conv.bias),vp(n)})}function Vr(e,t){return O(()=>{let n=ba(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Ts(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=Q(n,t.bias),vp(n)})}function tce(e,t){let n=cp(e,t);function a(i,o){let l=Ke(e(i)),u=Ke(e(i));return t.push({paramPath:`${o}/sub`},{paramPath:`${o}/truediv`}),{sub:l,truediv:u}}function r(i,o,l){let u=n(i,o,3,`${l}/conv`),p=a(o,`${l}/bn`);return{conv:u,bn:p}}let s=dp(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}}function NA(e,t,n,a){let{extractWeights:r,getRemainingWeights:s}=Rn(e),i=[],{extractConvParams:o,extractConvWithBatchNormParams:l,extractSeparableConvParams:u}=tce(r,i),p;if(t.withSeparableConvs){let[d,c,h,m,f,g,b,y,x]=a,w=t.isFirstLayerConv2d?o(d,c,3,"conv0"):u(d,c,"conv0"),I=u(c,h,"conv1"),N=u(h,m,"conv2"),_=u(m,f,"conv3"),$=u(f,g,"conv4"),A=u(g,b,"conv5"),M=y?u(b,y,"conv6"):void 0,D=x?u(y,x,"conv7"):void 0,T=o(x||y||b,5*n,1,"conv8");p={conv0:w,conv1:I,conv2:N,conv3:_,conv4:$,conv5:A,conv6:M,conv7:D,conv8:T}}else{let[d,c,h,m,f,g,b,y,x]=a,w=l(d,c,"conv0"),I=l(c,h,"conv1"),N=l(h,m,"conv2"),_=l(m,f,"conv3"),$=l(f,g,"conv4"),A=l(g,b,"conv5"),M=l(b,y,"conv6"),D=l(y,x,"conv7"),T=o(x,5*n,1,"conv8");p={conv0:w,conv1:I,conv2:N,conv3:_,conv4:$,conv5:A,conv6:M,conv7:D,conv8:T}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:i}}function nce(e,t){let n=ra(e,t);function a(o){let l=n(`${o}/sub`,1),u=n(`${o}/truediv`,1);return{sub:l,truediv:u}}function r(o){let l=n(`${o}/filters`,4),u=n(`${o}/bias`,1);return{filters:l,bias:u}}function s(o){let l=r(`${o}/conv`),u=a(`${o}/bn`);return{conv:l,bn:u}}let i=hp(n);return{extractConvParams:r,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function CA(e,t){let n=[],{extractConvParams:a,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}=nce(e,n),i;if(t.withSeparableConvs){let o=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?a("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:o>7?s("conv6"):void 0,conv7:o>8?s("conv7"):void 0,conv8:a("conv8")}}else i={conv0:r("conv0"),conv1:r("conv1"),conv2:r("conv2"),conv3:r("conv3"),conv4:r("conv4"),conv5:r("conv5"),conv6:r("conv6"),conv7:r("conv7"),conv8:a("conv8")};return Dn(e,n),{params:i,paramMappings:n}}var vr=class{constructor({inputSize:t,scoreThreshold:n}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=n||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var M1=class extends dn{constructor(n){super("TinyYolov2");SA(n),this._config=n}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(n,a){let r=Br(n,a.conv0);return r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv1),r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv2),r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv3),r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv4),r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv5),r=Mt(r,[2,2],[1,1],"same"),r=Br(r,a.conv6),r=Br(r,a.conv7),Ro(r,a.conv8,"valid",!1)}runMobilenet(n,a){let r=this.config.isFirstLayerConv2d?vp(Ro(n,a.conv0,"valid",!1)):Vr(n,a.conv0);return r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv1),r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv2),r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv3),r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv4),r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv5),r=Mt(r,[2,2],[1,1],"same"),r=a.conv6?Vr(r,a.conv6):r,r=a.conv7?Vr(r,a.conv7):r,Ro(r,a.conv8,"valid",!1)}forwardInput(n,a){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return O(()=>{let s=le(n.toBatchTensor(a,!1),"float32");return s=this.config.meanRgb?xr(s,this.config.meanRgb):s,s=s.div(255),this.config.withSeparableConvs?this.runMobilenet(s,r):this.runTinyYolov2(s,r)})}async forward(n,a){return this.forwardInput(await kt(n),a)}async detect(n,a={}){let{inputSize:r,scoreThreshold:s}=new vr(a),i=await kt(n),o=await this.forwardInput(i,r),l=O(()=>mt(o)[0].expandDims()),u={width:i.getInputWidth(0),height:i.getInputHeight(0)},p=await this.extractBoxes(l,i.getReshapedInputDimensions(0),s);o.dispose(),l.dispose();let d=p.map(b=>b.box),c=p.map(b=>b.score),h=p.map(b=>b.classScore),m=p.map(b=>this.config.classes[b.label]);return M$(d.map(b=>b.rescale(r)),c,this.config.iouThreshold,!0).map(b=>new Es(c[b],h[b],m[b],d[b],u))}getDefaultModelName(){return""}extractParamsFromWeightMap(n){return CA(n,this.config)}extractParams(n){let a=this.config.filterSizes||M1.DEFAULT_FILTER_SIZES,r=a?a.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return NA(n,this.config,this.boxEncodingSize,a)}async extractBoxes(n,a,r){let{width:s,height:i}=a,o=Math.max(s,i),l=o/s,u=o/i,p=n.shape[1],d=this.config.anchors.length,[c,h,m]=O(()=>{let y=n.reshape([p,p,d,this.boxEncodingSize]),x=y.slice([0,0,0,0],[p,p,d,4]),w=y.slice([0,0,0,4],[p,p,d,1]),I=this.withClassScores?Qa(y.slice([0,0,0,5],[p,p,d,this.config.classes.length]),3):ke(0);return[x,w,I]}),f=[],g=await h.array(),b=await c.array();for(let y=0;yr){let N=(x+ug(b[y][x][w][0]))/p*l,_=(y+ug(b[y][x][w][1]))/p*u,$=Math.exp(b[y][x][w][2])*this.config.anchors[w].x/p*l,A=Math.exp(b[y][x][w][3])*this.config.anchors[w].y/p*u,M=N-$/2,D=_-A/2,T={row:y,col:x,anchor:w},{classScore:P,label:U}=this.withClassScores?await this.extractPredictedClass(m,T):{classScore:1,label:0};f.push({box:new ap(M,D,M+$,D+A),score:I,classScore:I*P,label:U,...T})}}return c.dispose(),h.dispose(),m.dispose(),f}async extractPredictedClass(n,a){let{row:r,col:s,anchor:i}=a,o=await n.array();return Array(this.config.classes.length).fill(0).map((l,u)=>o[r][s][i][u]).map((l,u)=>({classScore:l,label:u})).reduce((l,u)=>l.classScore>u.classScore?l:u)}},Oo=M1;Oo.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var wp=class extends Oo{constructor(t=!0){let n={withSeparableConvs:t,iouThreshold:xA,classes:["face"],...t?{anchors:wA,meanRgb:kA}:{anchors:vA,withClassScores:!0}};super(n)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new wt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?TA:IA}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function KTe(e,t=!0){let n=new wp(t);return n.extractWeights(e),n}var $g=class extends vr{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var Ma=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function Lo(e,t,n,a,r=({alignedRect:s})=>s){let s=e.map(l=>gp(l)?r(l):l.detection),i=a||(t instanceof $e?await Td(t,s):await Id(t,s)),o=await n(i);return i.forEach(l=>l instanceof $e&&l.dispose()),o}async function kp(e,t,n,a,r){return Lo([e],t,async s=>n(s[0]),a,r)}var _A=.4,EA=[new Oe(1.603231,2.094468),new Oe(6.041143,7.080126),new Oe(2.882459,3.518061),new Oe(4.266906,5.178857),new Oe(9.041765,10.66308)],$A=[117.001,114.697,97.404];var Ip=class extends Oo{constructor(){let t={withSeparableConvs:!0,iouThreshold:_A,classes:["face"],anchors:EA,meanRgb:$A,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new wt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var rt={ssdMobilenetv1:new Po,tinyFaceDetector:new Ip,tinyYolov2:new wp,faceLandmark68Net:new yp,faceLandmark68TinyNet:new Cg,faceRecognitionNet:new xp,faceExpressionNet:new wg,ageGenderNet:new Sg},ace=(e,t)=>rt.ssdMobilenetv1.locateFaces(e,t),TSe=(e,t)=>rt.tinyFaceDetector.locateFaces(e,t),SSe=(e,t)=>rt.tinyYolov2.locateFaces(e,t),rce=e=>rt.faceLandmark68Net.detectLandmarks(e),NSe=e=>rt.faceLandmark68TinyNet.detectLandmarks(e),CSe=e=>rt.faceRecognitionNet.computeFaceDescriptor(e),_Se=e=>rt.faceExpressionNet.predictExpressions(e),ESe=e=>rt.ageGenderNet.predictAgeAndGender(e),sce=e=>rt.ssdMobilenetv1.load(e),$Se=e=>rt.tinyFaceDetector.load(e),ASe=e=>rt.tinyYolov2.load(e),FSe=e=>rt.faceLandmark68Net.load(e),DSe=e=>rt.faceLandmark68TinyNet.load(e),RSe=e=>rt.faceRecognitionNet.load(e),MSe=e=>rt.faceExpressionNet.load(e),PSe=e=>rt.ageGenderNet.load(e),OSe=sce,LSe=ace,zSe=rce;var Ag=class extends Ma{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},zo=class extends Ag{async run(){let t=await this.parentTask,n=await Lo(t,this.input,async a=>Promise.all(a.map(r=>rt.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return t.map((a,r)=>C1(a,n[r]))}withAgeAndGender(){return new Bo(this,this.input)}},Wo=class extends Ag{async run(){let t=await this.parentTask;if(!t)return;let n=await kp(t,this.input,a=>rt.faceExpressionNet.predictExpressions(a),this.extractedFaces);return C1(t,n)}withAgeAndGender(){return new Vo(this,this.input)}},Fs=class extends zo{withAgeAndGender(){return new Rs(this,this.input)}withFaceDescriptors(){return new Ps(this,this.input)}},Ds=class extends Wo{withAgeAndGender(){return new Ms(this,this.input)}withFaceDescriptor(){return new Os(this,this.input)}};var Fg=class extends Ma{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Bo=class extends Fg{async run(){let t=await this.parentTask,n=await Lo(t,this.input,async a=>Promise.all(a.map(r=>rt.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return t.map((a,r)=>{let{age:s,gender:i,genderProbability:o}=n[r];return D1(R1(a,i,o),s)})}withFaceExpressions(){return new zo(this,this.input)}},Vo=class extends Fg{async run(){let t=await this.parentTask;if(!t)return;let{age:n,gender:a,genderProbability:r}=await kp(t,this.input,s=>rt.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return D1(R1(t,a,r),n)}withFaceExpressions(){return new Wo(this,this.input)}},Rs=class extends Bo{withFaceExpressions(){return new Fs(this,this.input)}withFaceDescriptors(){return new Ps(this,this.input)}},Ms=class extends Vo{withFaceExpressions(){return new Ds(this,this.input)}withFaceDescriptor(){return new Os(this,this.input)}};var Dg=class extends Ma{constructor(n,a){super();this.parentTask=n;this.input=a}},Ps=class extends Dg{async run(){let t=await this.parentTask;return(await Lo(t,this.input,a=>Promise.all(a.map(r=>rt.faceRecognitionNet.computeFaceDescriptor(r))),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}))).map((a,r)=>F1(t[r],a))}withFaceExpressions(){return new Fs(this,this.input)}withAgeAndGender(){return new Rs(this,this.input)}},Os=class extends Dg{async run(){let t=await this.parentTask;if(!t)return;let n=await kp(t,this.input,a=>rt.faceRecognitionNet.computeFaceDescriptor(a),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}));return F1(t,n)}withFaceExpressions(){return new Ds(this,this.input)}withAgeAndGender(){return new Ms(this,this.input)}};var Rg=class extends Ma{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.useTinyLandmarkNet=r}get landmarkNet(){return this.useTinyLandmarkNet?rt.faceLandmark68TinyNet:rt.faceLandmark68Net}},Mg=class extends Rg{async run(){let t=await this.parentTask,n=t.map(i=>i.detection),a=this.input instanceof $e?await Td(this.input,n):await Id(this.input,n),r=await Promise.all(a.map(i=>this.landmarkNet.detectLandmarks(i)));return a.forEach(i=>i instanceof $e&&i.dispose()),t.filter((i,o)=>r[o]).map((i,o)=>_d(i,r[o]))}withFaceExpressions(){return new Fs(this,this.input)}withAgeAndGender(){return new Rs(this,this.input)}withFaceDescriptors(){return new Ps(this,this.input)}},Pg=class extends Rg{async run(){let t=await this.parentTask;if(!t)return;let{detection:n}=t,a=this.input instanceof $e?await Td(this.input,[n]):await Id(this.input,[n]),r=await this.landmarkNet.detectLandmarks(a[0]);return a.forEach(s=>s instanceof $e&&s.dispose()),_d(t,r)}withFaceExpressions(){return new Ds(this,this.input)}withAgeAndGender(){return new Ms(this,this.input)}withFaceDescriptor(){return new Os(this,this.input)}};var Og=class extends Ma{constructor(n,a=new Ra){super();this.input=n;this.options=a}},$d=class extends Og{async run(){let{input:t,options:n}=this,a;if(n instanceof $g)a=rt.tinyFaceDetector.locateFaces(t,n);else if(n instanceof Ra)a=rt.ssdMobilenetv1.locateFaces(t,n);else if(n instanceof vr)a=rt.tinyYolov2.locateFaces(t,n);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return a}runAndExtendWithFaceDetections(){return new Promise((t,n)=>{this.run().then(a=>t(a.map(r=>ip({},r)))).catch(a=>n(a))})}withFaceLandmarks(t=!1){return new Mg(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new zo(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Bo(this.runAndExtendWithFaceDetections(),this.input)}},Lg=class extends Og{async run(){let t=await new $d(this.input,this.options),n=t[0];return t.forEach(a=>{a.score>n.score&&(n=a)}),n}runAndExtendWithFaceDetection(){return new Promise(async t=>{let n=await this.run();t(n?ip({},n):void 0)})}withFaceLandmarks(t=!1){return new Pg(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new Wo(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Vo(this.runAndExtendWithFaceDetection(),this.input)}};function PNe(e,t=new Ra){return new Lg(e,t)}function P1(e,t=new Ra){return new $d(e,t)}async function ice(e,t){return P1(e,new Ra(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function VNe(e,t={}){return P1(e,new vr(t)).withFaceLandmarks().withFaceDescriptors()}var UNe=ice;function AA(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let n=Array.from(e),a=Array.from(t);return Math.sqrt(n.map((r,s)=>r-a[s]).reduce((r,s)=>r+s**2,0))}var zg=class{constructor(t,n=.6){this._distanceThreshold=n;let a=Array.isArray(t)?t:[t];if(!a.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1,s=()=>`person ${r++}`;this._labeledDescriptors=a.map(i=>{if(i instanceof Or)return i;if(i instanceof Float32Array)return new Or(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new Or(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,n){return n.map(a=>AA(a,t)).reduce((a,r)=>a+r,0)/(n.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:n,label:a})=>new xd(a,this.computeMeanDistance(t,n))).reduce((n,a)=>n.distancet.toJSON())}}static fromJSON(t){let n=t.labeledDescriptors.map(a=>Or.fromJSON(a));return new zg(n,t.distanceThreshold)}};function o2e(e){let t=new Ip;return t.extractWeights(e),t}function oce(e,t){let{width:n,height:a}=new Fn(t.width,t.height);if(n<=0||a<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:a})}`);if(Array.isArray(e))return e.map(r=>oce(r,{width:n,height:a}));if(gp(e)){let r=e.detection.forSize(n,a),s=e.unshiftedLandmarks.forSize(r.box.width,r.box.height);return _d(ip(e,r),s)}return Lr(e)?ip(e,e.detection.forSize(n,a)):e instanceof va||e instanceof wt?e.forSize(n,a):e}var y2e=Q$;export{Sg as AgeGenderNet,ap as BoundingBox,ct as Box,Ma as ComposableTask,Ps as ComputeAllFaceDescriptorsTask,Dg as ComputeFaceDescriptorsTaskBase,Os as ComputeSingleFaceDescriptorTask,Mg as DetectAllFaceLandmarksTask,$d as DetectAllFacesTask,Rg as DetectFaceLandmarksTaskBase,Og as DetectFacesTaskBase,Pg as DetectSingleFaceLandmarksTask,Lg as DetectSingleFaceTask,Fn as Dimensions,Y$ as FACE_EXPRESSION_LABELS,wt as FaceDetection,yA as FaceDetectionNet,wg as FaceExpressionNet,As as FaceExpressions,yp as FaceLandmark68Net,Cg as FaceLandmark68TinyNet,oA as FaceLandmarkNet,va as FaceLandmarks,O$ as FaceLandmarks5,sp as FaceLandmarks68,xd as FaceMatch,zg as FaceMatcher,xp as FaceRecognitionNet,E1 as Gender,vd as LabeledBox,Or as LabeledFaceDescriptors,Wr as NetInput,dn as NeuralNetwork,Es as ObjectDetection,Oe as Point,L$ as PredictedBox,rp as Rect,Po as SsdMobilenetv1,Ra as SsdMobilenetv1Options,Ip as TinyFaceDetector,$g as TinyFaceDetectorOptions,wp as TinyYolov2,vr as TinyYolov2Options,UNe as allFaces,ice as allFacesSsdMobilenetv1,VNe as allFacesTinyYolov2,z$ as awaitMediaLoaded,W$ as bufferToImage,CSe as computeFaceDescriptor,pp as createCanvas,hg as createCanvasFromMedia,aTe as createFaceDetectionNet,aIe as createFaceRecognitionNet,ece as createSsdMobilenetv1,o2e as createTinyFaceDetector,KTe as createTinyYolov2,P1 as detectAllFaces,rce as detectFaceLandmarks,NSe as detectFaceLandmarksTiny,zSe as detectLandmarks,PNe as detectSingleFace,J$ as draw,at as env,AA as euclideanDistance,D1 as extendWithAge,F1 as extendWithFaceDescriptor,ip as extendWithFaceDetection,C1 as extendWithFaceExpressions,_d as extendWithFaceLandmarks,R1 as extendWithGender,Td as extractFaceTensors,Id as extractFaces,hve as fetchImage,U$ as fetchJson,yve as fetchNetWeights,$s as fetchOrThrow,Tve as fetchVideo,aa as getContext2dOrThrow,up as getMediaDimensions,B$ as imageTensorToCanvas,V$ as imageToSquare,_be as inverseSigmoid,D$ as iou,N1 as isMediaElement,dg as isMediaLoaded,oIe as isWithAge,Lr as isWithFaceDetection,Z$ as isWithFaceExpressions,gp as isWithFaceLandmarks,cIe as isWithGender,PSe as loadAgeGenderModel,OSe as loadFaceDetectionModel,MSe as loadFaceExpressionModel,FSe as loadFaceLandmarkModel,DSe as loadFaceLandmarkTinyModel,RSe as loadFaceRecognitionModel,sce as loadSsdMobilenetv1Model,$Se as loadTinyFaceDetectorModel,ASe as loadTinyYolov2Model,H$ as loadWeightMap,LSe as locateFaces,Ave as matchDimensions,R$ as minBbox,rt as nets,M$ as nonMaxSuppression,xr as normalize,P$ as padToSquare,ESe as predictAgeAndGender,_Se as recognizeFaceExpressions,oce as resizeResults,op as resolveInput,Nbe as shuffleArray,ug as sigmoid,ace as ssdMobilenetv1,We as tf,TSe as tinyFaceDetector,SSe as tinyYolov2,kt as toNetInput,F$ as utils,SA as validateConfig,y2e as version}; + ${r.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=t.dataIdMap.get(a.dataId).id,o=t.dataIdMap.get(r.dataId).id,l=t.dataIdMap.get(s.dataId).id,u=a.shape[0],p=v.sizeFromShape(s.shape),d=t.makeOutput([u,p],a.dtype),c=t.dataIdMap.get(d.dataId).id,h=t.makeOutput([p],s.dtype),m=t.dataIdMap.get(h.dataId).id,f=t.makeOutput([3],"int32"),g=t.dataIdMap.get(f.dataId).id;v$(i,o,l,u,c,m,g);let b=t.readSync(f.dataId),y;switch(b[0]){case 0:{y=C.getSparseReshapeMultipleNegativeOneOutputDimErrorMessage(b[1],b[2]);break}case 1:{y=C.getSparseReshapeNegativeOutputDimErrorMessage(b[1],b[2]);break}case 2:y=C.getSparseReshapeEmptyTensorZeroOutputDimErrorMessage();break;case 3:{let x=Array.from(t.readSync(r.dataId)),w=Array.from(t.readSync(h.dataId));y=C.getSparseReshapeInputOutputMultipleErrorMessage(x,w);break}case 4:{let x=Array.from(t.readSync(r.dataId)),w=Array.from(t.readSync(h.dataId));y=C.getSparseReshapeInputOutputMismatchErrorMessage(x,w);break}default:y=""}if(t.disposeData(f.dataId),y)throw t.disposeData(d.dataId),t.disposeData(h.dataId),new Error(y);return[d,h]}var yue={kernelName:_u,backendName:"wasm",setupFunc:gue,kernelFunc:bue},w$;function k$(e){w$=e.wasm.cwrap("SparseSegmentReduction",null,["number","number","number","number","number","number","number","number","number"])}function I$(e,t){let{backend:n,inputs:a}=e,{data:r,indices:s,segmentIds:i}=a,o=s.shape[0],l=n.readSync(i.dataId,o-1,o)[0],u=o>0?l+1:0;if(u<0)throw new Error(C.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=r.shape.slice();p[0]=u;let d=n.dataIdMap.get(r.dataId).id,c=n.dataIdMap.get(s.dataId).id,h=n.dataIdMap.get(i.dataId).id,m=n.makeOutput(p,r.dtype),f=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],"int32"),b=n.dataIdMap.get(g.dataId).id;w$(d,At[r.dtype],r.shape[0],c,h,f,b,t,0);let y=n.readSync(g.dataId),x;switch(y[0]){case 0:{x=C.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{x=C.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:x=C.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(y[1],y[2]);break;case 3:x=C.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(y[1],y[2],y[3]);break;default:x=""}if(n.disposeData(g.dataId),x)throw n.disposeData(m.dataId),new Error(x);return m}function xue(e){return I$(e,!0)}var vue={kernelName:Ec,backendName:"wasm",setupFunc:k$,kernelFunc:xue};function wue(e){return I$(e,!1)}var kue={kernelName:$c,backendName:"wasm",setupFunc:k$,kernelFunc:wue};function Iue(e){let{inputs:t,attrs:n,backend:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=n,o=v.parseAxisParam(i,r.shape)[0],l=C.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=wi({inputs:{x:r},attrs:{begin:u,size:c},backend:a});return u[o]+=d,h})}var Tue={kernelName:Cu,backendName:"wasm",kernelFunc:Iue},Sue=rn(mo),Nue=rn(Ac),Cue=!0,_ue=cn(bo,Cue),T$;function Eue(e){T$=e.wasm.cwrap(bs,null,["number","number","number","number"])}function $ue(e){let{backend:t,inputs:n,attrs:a}=e,{alpha:r}=a,{x:s}=n,i=t.dataIdMap.get(s.dataId).id,o=t.makeOutput(s.shape,s.dtype),l=t.dataIdMap.get(o.dataId).id;return T$(i,r,At[s.dtype],l),o}var Aue={kernelName:bs,backendName:"wasm",setupFunc:Eue,kernelFunc:$ue},S$;function Fue(e){S$=e.wasm.cwrap(Eu,null,["number","array","number","array","array","array","array","array","number","number"])}function Due(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:b,begin:y,end:x,strides:w}=qt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=Un({inputs:{x:r},backend:t,attrs:{shape:m}});else if(g||b){v.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);let N=qt.computeOutShape(y,x,w),_=wi({inputs:{x:r},backend:t,attrs:{begin:y,size:N}});I=Un({inputs:{x:_},backend:t,attrs:{shape:m}}),t.disposeData(_.dataId)}else{let N=t.makeOutput(h,"float32"),_=t.dataIdMap.get(r.dataId).id,$=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),A=new Uint8Array(new Int32Array(y).buffer),M=new Uint8Array(new Int32Array(x).buffer),D=new Uint8Array(new Int32Array(w).buffer),T=new Uint8Array(new Int32Array(h).buffer),P=new Uint8Array(new Int32Array(v.computeStrides(h)).buffer),U=t.dataIdMap.get(N.dataId).id;S$(_,$,r.shape.length,A,M,D,T,P,h.length,U),I=Un({inputs:{x:N},backend:t,attrs:{shape:m}}),t.disposeData(N.dataId)}return I}var Rue={kernelName:Eu,backendName:"wasm",setupFunc:Fue,kernelFunc:Due};function Mue(e){let{backend:t,inputs:n,attrs:a}=e,{data:r,dataSplits:s}=n,{separator:i,nGramWidths:o,leftPad:l,rightPad:u,padWidth:p,preserveShortSequences:d}=a,c=t.readSync(r.dataId),h=t.readSync(s.dataId),[m,f]=X0(c,h,i,o,l,u,p,d),g=t.makeOutput([m.length],"string"),b=t.dataIdMap.get(g.dataId);b.stringBytes=m;let y=t.makeOutput(s.shape,"int32");return t.typedArrayFromHeap(y).set(f),[g,y]}var Pue={kernelName:Fc,backendName:"wasm",kernelFunc:Mue};function Oue(e){let{backend:t,inputs:n,attrs:a}=e,{input:r,delimiter:s}=n,{skipEmpty:i}=a,o=t.readSync(r.dataId),l=t.readSync(s.dataId),[u,p,d]=Y0(o,l[0],i),c=p.length,h=t.makeOutput([c,2],"int32");t.typedArrayFromHeap(h).set(u);let m=t.makeOutput([c],"string"),f=t.dataIdMap.get(m.dataId);f.stringBytes=p;let g=t.makeOutput([2],"int32");return t.typedArrayFromHeap(g).set(d),[h,m,g]}var Lue={kernelName:Dc,backendName:"wasm",kernelFunc:Oue};function zue(e){let{backend:t,inputs:n,attrs:a}=e,{input:r}=n,{numBuckets:s}=a,i=t.readSync(r.dataId),o=Z0(i,s),l=t.makeOutput(r.shape,"int32");return t.typedArrayFromHeap(l).set(o),l}var Wue={kernelName:Rc,backendName:"wasm",kernelFunc:zue},Bue=!0,Vue=cn(yo,Bue),N$;function Uue(e){N$=e.wasm.cwrap(fo,null,["number","number","number","number"])}function Gue(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=_s(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=C.getInnerMostAxes(m.length,u.shape.length))}C.assertAxesAreInnerMostDims("sum",m,u.shape.length);let[f,g]=C.computeOutAndReduceShapes(u.shape,m),b=v.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(v.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;N$(l,b,At[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=C.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Hue={kernelName:fo,backendName:"wasm",setupFunc:Uue,kernelFunc:Gue},jue=rn(xo),que=rn(vo),C$;function Kue(e){C$=e.wasm.cwrap(gs,null,["number","array","number","array","number","number"])}function Xue(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,s=n.dataIdMap.get(r.dataId).id,{reps:i}=a,o=new Array(r.shape.length);for(let c=0;c{let{x:a}=e,{k:r,sorted:s}=n,i=t.dataIdMap.get(a.dataId).id,o=new Uint8Array(new Int32Array(a.shape).buffer),l=a.shape.slice();l[l.length-1]=r;let u=t.makeOutput(l,a.dtype),p=t.dataIdMap.get(u.dataId).id,d=t.makeOutput(l,"int32"),c=t.dataIdMap.get(d.dataId).id;return _$(i,o,a.shape.length,At[a.dtype],r,s,p,c),[u,d]},Que={kernelName:$u,backendName:"wasm",setupFunc:Zue,kernelFunc:Jue},E$;function epe(e){E$=e.wasm.cwrap(Au,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function tpe(e){let{backend:t,inputs:n,attrs:a}=e,{image:r,transforms:s}=n,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=a,[p,d,c,h]=r.shape,[m,f]=u!=null?u:[d,c],g=[p,m,f,h],b=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(v.computeStrides(g)).buffer),x=t.makeOutput(g,r.dtype),w=t.dataIdMap.get(x.dataId).id,I=t.dataIdMap.get(r.dataId).id,N=t.dataIdMap.get(s.dataId).id,_=i==="nearest"?1:2,$;switch(o){case"constant":$=1;break;case"reflect":$=2;break;case"wrap":$=3;break;case"nearest":$=4;break;default:$=1;break}return E$(I,N,s.shape[0]>1,p,m,f,h,c,d,b,r.shape.length-1,y,g.length-1,_,$,l,w),x}var npe={kernelName:Au,backendName:"wasm",setupFunc:epe,kernelFunc:tpe};function ape(e){let{inputs:t,backend:n,attrs:a}=e,{value:r}=t,{axis:s}=a;s<0&&(s+=r.shape.length);let i=r.shape[s],o=r.shape.length,l=new Array(o-1),u=0;for(let h=0;h({dataId:h,dtype:m,shape:l}))}var rpe={kernelName:Fu,backendName:"wasm",kernelFunc:ape};function spe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(0),a}var ipe={kernelName:Du,backendName:"wasm",kernelFunc:spe},ope=[Mse,Pse,Lse,Bse,Xse,Jse,tie,rie,lie,mie,fie,gie,xie,vie,Iie,Nie,Cie,_ie,Aie,Rie,Oie,Wie,Uie,Gie,jie,qie,Kie,Xie,Jie,Qie,toe,roe,ooe,poe,hoe,goe,yoe,voe,Vse,Ioe,Soe,Coe,_oe,$oe,Aoe,Doe,Moe,Loe,Woe,Uoe,joe,Xoe,Zoe,ele,nle,ale,ile,ule,dle,mle,ble,xle,wle,l$,Sle,_le,Ale,Dle,Mle,Ple,Ole,sie,Wle,Ule,jle,Xle,Yle,Zle,eue,aue,iue,oue,die,pue,due,fue,yue,vue,kue,Tue,Sue,Nue,_ue,Aue,Rue,Pue,Lue,Wue,Vue,Hue,jue,que,Yue,Que,npe,jse,rpe,ipe];for(let e of ope)Pc(e);var Rx=X();Rx.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])));Rx.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(Rx.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(e){return!1}});var EI=ds(qF()),lpe=ds(KF()),$I=ds(XF()),AI=EI.default||EI,upe=$I.default||$I,$$=class extends yc{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(A$),Mx=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new mm(this,rr())}write(e,t,n){let a={id:this.dataIdNextNumber++};return this.move(a,e,t,n,1),a}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=v.now();return e(),{kernelMs:v.now()-t}}move(e,t,n,a,r){let s=this.dataIdNextNumber++;if(a==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:a,memoryOffset:null,refCount:r});return}let i=v.sizeFromShape(n),o=i*v.bytesPerElement(a),l=this.wasm._malloc(o);this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:a,refCount:r}),this.wasm.tfjs.registerTensor(s,i,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,o),l)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:a,dtype:r,shape:s,stringBytes:i}=this.dataIdMap.get(e);if(r==="string")return(t==null||t===0)&&(n==null||n>=i.length)?i:i.slice(t,n);t=t||0,n=n||v.sizeFromShape(s);let o=v.bytesPerElement(r),l=this.wasm.HEAPU8.slice(a+t*o,a+n*o);return dpe(l.buffer,r)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n){let a;if(n==null)a=this.write(null,e,t);else{let r=this.dataIdNextNumber++;a={id:r},this.dataIdMap.set(a,{id:r,memoryOffset:n,shape:e,dtype:t,refCount:1});let s=v.sizeFromShape(e);this.wasm.tfjs.registerTensor(r,s,n)}return{dataId:a,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let a=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(n),s=v.sizeFromShape(e);switch(t){case"float32":return new Float32Array(a,r,s);case"int32":return new Int32Array(a,r,s);case"bool":return new Uint8Array(a,r,s);default:throw new Error(`Unknown dtype ${t}`)}}};function ppe(e){return(t,n)=>(v.fetch(e,{credentials:"same-origin"}).then(a=>{a.ok||t.env.a(`failed to load wasm binary file at '${e}'`),a.arrayBuffer().then(r=>{WebAssembly.instantiate(r,t).then(s=>{n(s.instance,s.module)})})}),{})}function FI(e,t,n){if(dm!=null)return dm;let a="tfjs-backend-wasm.wasm";return e&&t?a="tfjs-backend-wasm-threaded-simd.wasm":e&&(a="tfjs-backend-wasm-simd.wasm"),Qp!=null&&Qp[a]!=null?Qp[a]:n+a}async function cpe(){let[e,t]=await Promise.all([X().getAsync("WASM_HAS_SIMD_SUPPORT"),X().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((n,a)=>{let r={};r.locateFile=(o,l)=>{if(o.endsWith(".worker.js")){let u=lpe.wasmWorkerContents.replace(/\n/g,"\\n"),p=new Blob([u],{type:"application/javascript"});return URL.createObjectURL(p)}return o.endsWith(".wasm")?FI(e,t,Yp!=null?Yp:l):l+o},g1&&(r.instantiateWasm=ppe(FI(e,t,Yp!=null?Yp:"")));let s=!1;r.onAbort=()=>{s||ec||(ec=!0,a({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"}))};let i;t&&e&&dm==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+AI.toString()],{type:"text/javascript"}),i=AI(r)):i=upe(r),i.then(o=>{s=!0,ec=!1;let l=null;o.tfjs={init:o.cwrap("init",null,[]),initWithThreadsCount:o.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:o.cwrap("get_threads_count","number",[]),registerTensor:o.cwrap("register_tensor",null,["number","number","number"]),disposeData:o.cwrap("dispose_data",l,["number"]),dispose:o.cwrap("dispose",l,[])},n({wasm:o})}).catch(a)})}function dpe(e,t){switch(t){case"float32":return new Float32Array(e);case"int32":return new Int32Array(e);case"bool":return new Uint8Array(e);default:throw new Error(`Unknown dtype ${t}`)}}var hpe=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],dm=null,Yp=null,Qp={},ec=!1,g1=!1;function mpe(e,t=!1){if(Jx("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),ec)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");dm=e,g1=t}function fpe(e,t=!1){if(ec)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e=="string")Yp=e;else{Qp=e;let n=hpe.filter(a=>Qp[a]==null);if(n.length>0)throw new Error(`There were no entries found for the following binaries: ${n.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.`)}g1=t}var A$=-1,Mx=-1;function gpe(e){A$=e}function bpe(){if(Mx===-1)throw new Error("WASM backend not initialized.");return Mx}var ype="3.20.0",xpe=2;Xm("wasm",async()=>{let{wasm:e}=await cpe();return new $$(e)},xpe);var vpe="3.20.0",wpe="3.20.0",kpe="3.20.0",Ipe="3.20.0",Tpe="3.20.0",Spe="3.20.0",Npe="3.20.0",Cpe="3.20.0",_pe={tfjs:vpe,"tfjs-core":wpe,"tfjs-data":kpe,"tfjs-layers":Ipe,"tfjs-converter":Tpe,"tfjs-backend-cpu":Spe,"tfjs-backend-webgl":Npe,"tfjs-backend-wasm":Cpe};var J$={};wy(J$,{AnchorPosition:()=>S1,DrawBox:()=>kd,DrawBoxOptions:()=>cg,DrawFaceLandmarks:()=>Ig,DrawFaceLandmarksOptions:()=>kg,DrawTextField:()=>zr,DrawTextFieldOptions:()=>lp,drawContour:()=>Mr,drawDetections:()=>Mpe,drawFaceExpressions:()=>Ppe,drawFaceLandmarks:()=>Lpe});function Mr(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:a,y:r},s)=>{let i=t[s];e.moveTo(i.x,i.y),e.lineTo(a,r)}),n){let a=t[t.length-1],r=t[0];if(!a||!r)return;e.moveTo(a.x,a.y),e.lineTo(r.x,r.y)}e.stroke()}var F$={};wy(F$,{computeReshapedDimensions:()=>x1,getCenterPoint:()=>Do,isDimensions:()=>lg,isEven:()=>og,isFloat:()=>y1,isTensor:()=>Ao,isTensor1D:()=>Epe,isTensor2D:()=>b1,isTensor3D:()=>Pr,isTensor4D:()=>xa,isValidNumber:()=>tr,isValidProbablitiy:()=>np,range:()=>yr,round:()=>Fo});var Fn=class{constructor(t,n){if(!tr(t)||!tr(n))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:n})}`);this._width=t,this._height=n}get width(){return this._width}get height(){return this._height}reverse(){return new Fn(1/this.width,1/this.height)}};function Ao(e,t){return e instanceof $e&&e.shape.length===t}function Epe(e){return Ao(e,1)}function b1(e){return Ao(e,2)}function Pr(e){return Ao(e,3)}function xa(e){return Ao(e,4)}function y1(e){return e%1!==0}function og(e){return e%2===0}function Fo(e,t=2){let n=10**t;return Math.floor(e*n)/n}function lg(e){return e&&e.width&&e.height}function x1({width:e,height:t},n){let a=n/Math.max(t,e);return new Fn(Math.round(e*a),Math.round(t*a))}function Do(e){return e.reduce((t,n)=>t.add(n),new Oe(0,0)).div(new Oe(e.length,e.length))}function yr(e,t,n){return Array(e).fill(0).map((a,r)=>t+r*n)}function tr(e){return!!e&&e!==1/0&&e!==-1/0&&!Number.isNaN(e)||e===0}function np(e){return tr(e)&&e>=0&&e<=1}var Oe=class{constructor(t,n){this._x=t,this._y=n}get x(){return this._x}get y(){return this._y}add(t){return new Oe(this.x+t.x,this.y+t.y)}sub(t){return new Oe(this.x-t.x,this.y-t.y)}mul(t){return new Oe(this.x*t.x,this.y*t.y)}div(t){return new Oe(this.x/t.x,this.y/t.y)}abs(){return new Oe(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new Oe(Math.floor(this.x),Math.floor(this.y))}};var ct=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(tr)}static assertIsValidBox(t,n,a=!1){if(!ct.isRect(t))throw new Error(`${n} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!a&&(t.width<0||t.height<0))throw new Error(`${n} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,n=!0){let a=t||{},r=[a.left,a.top,a.right,a.bottom].every(tr),s=[a.x,a.y,a.width,a.height].every(tr);if(!s&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(a)}`);let[i,o,l,u]=s?[a.x,a.y,a.width,a.height]:[a.left,a.top,a.right-a.left,a.bottom-a.top];ct.assertIsValidBox({x:i,y:o,width:l,height:u},"Box.constructor",n),this._x=i,this._y=o,this._width=l,this._height=u}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new Oe(this.left,this.top)}get topRight(){return new Oe(this.right,this.top)}get bottomLeft(){return new Oe(this.left,this.bottom)}get bottomRight(){return new Oe(this.right,this.bottom)}round(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new ct({x:t,y:n,width:a,height:r})}floor(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new ct({x:t,y:n,width:a,height:r})}toSquare(){let{x:t,y:n,width:a,height:r}=this,s=Math.abs(a-r);return an&&(o=-d+n+a,d=n),c>t&&(l=-c+t+r,c=t),u<1&&(l=2-u,u=1),p<1&&(l=2-p,p=1),{dy:i,edy:l,dx:s,edx:o,y:p,ey:c,x:u,ex:d,w:a,h:r}}calibrate(t){return new ct({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var ap=class extends ct{constructor(t,n,a,r,s=!1){super({left:t,top:n,right:a,bottom:r},s)}};var Es=class{constructor(t,n,a,r,s){this._imageDims=new Fn(s.width,s.height),this._score=t,this._classScore=n,this._className=a,this._box=new ct(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new ct(this._box).rescale(this.imageDims.reverse())}forSize(t,n){return new Es(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:n})}};var wt=class extends Es{constructor(t,n,a){super(t,t,"",n,a)}forSize(t,n){let{score:a,relativeBox:r,imageDims:s}=super.forSize(t,n);return new wt(a,r,s)}};function D$(e,t,n=!0){let a=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),s=a*r;return n?s/(e.area+t.area-s):s/Math.min(e.area,t.area)}function R$(e){let t=e.map(o=>o.x),n=e.map(o=>o.y),a=t.reduce((o,l)=>lloo({score:i,boxIndex:o})).sort((i,o)=>i.score-o.score).map(i=>i.boxIndex),s=[];for(;r.length>0;){let i=r.pop();s.push(i);let o=r,l=[];for(let u=0;ul[p]<=n)}return s}function xr(e,t){return O(()=>{let[n,a,r]=t,s=En([...e.shape.slice(0,3),1],n,"float32"),i=En([...e.shape.slice(0,3),1],a,"float32"),o=En([...e.shape.slice(0,3),1],r,"float32"),l=Qe([s,i,o],3);return ce(e,l)})}function P$(e,t=!1){return O(()=>{let[n,a]=e.shape.slice(1);if(n===a)return e;let r=Math.abs(n-a),s=Math.round(r*(t?.5:1)),i=n>a?2:1,o=c=>{let h=e.shape.slice();return h[i]=c,En(h,0,"float32")},l=o(s),u=r-l.shape[i],d=[t&&u?o(u):null,e,l].filter(c=>!!c).map(c=>le(c,"float32"));return Qe(d,i)})}function Nbe(e){let t=e.slice();for(let n=t.length-1;n>0;n--){let a=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[a],t[a]=r}return t}function ug(e){return 1/(1+Math.exp(-e))}function _be(e){return Math.log(e/(1-e))}var rp=class extends ct{constructor(t,n,a,r,s=!1){super({x:t,y:n,width:a,height:r},s)}};var $pe=.5,Ape=.43,Fpe=.45,va=class{constructor(t,n,a=new Oe(0,0)){let{width:r,height:s}=n;this._imgDims=new Fn(r,s),this._shift=a,this._positions=t.map(i=>i.mul(new Oe(r,s)).add(a))}get shift(){return new Oe(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new Oe(this.imageWidth,this.imageHeight)))}forSize(t,n){return new this.constructor(this.relativePositions,{width:t,height:n})}shiftBy(t,n){return new this.constructor(this.relativePositions,this._imgDims,new Oe(t,n))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,n={}){if(t){let s=t instanceof wt?t.box.floor():new ct(t);return this.shiftBy(s.x,s.y).align(null,n)}let{useDlibAlignment:a,minBoxPadding:r}={useDlibAlignment:!1,minBoxPadding:.2,...n};return a?this.alignDlib():this.alignMinBbox(r)}alignDlib(){let t=this.getRefPointsForAlignment(),[n,a,r]=t,s=d=>r.sub(d).magnitude(),i=(s(n)+s(a))/2,o=Math.floor(i/Fpe),l=Do(t),u=Math.floor(Math.max(0,l.x-$pe*o)),p=Math.floor(Math.max(0,l.y-Ape*o));return new rp(u,p,Math.min(o,this.imageWidth+u),Math.min(o,this.imageHeight+p))}alignMinBbox(t){let n=R$(this.positions);return n.pad(n.width*t,n.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var O$=class extends va{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],Do([t[3],t[4]])]}};var sp=class extends va{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(Do)}};var xd=class{constructor(t,n){this._label=t,this._distance=n}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Fo(this.distance)})`:""}`}};var vd=class extends ct{constructor(n,a){super(n);this._label=a}static assertIsValidLabeledBox(n,a){if(ct.assertIsValidBox(n,a),!tr(n.label))throw new Error(`${a} - expected property label (${n.label}) to be a number`)}get label(){return this._label}};var Or=class{constructor(t,n){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(n)||n.some(a=>!(a instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=n}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let n=t.descriptors.map(a=>new Float32Array(a));return new Or(t.label,n)}};var L$=class extends vd{constructor(n,a,r,s){super(n,a);this._score=r,this._classScore=s}static assertIsValidPredictedBox(n,a){if(vd.assertIsValidLabeledBox(n,a),!np(n.score)||!np(n.classScore))throw new Error(`${a} - expected properties score (${n.score}) and (${n.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function Lr(e){return e.detection instanceof wt}function ip(e,t){return{...e,...{detection:t}}}function v1(){let e=window.fetch;if(!e)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:e,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function wd(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function pg(e){let t="";if(!e&&wd())try{e=NF("fs")}catch(a){t=a.toString()}return{readFile:e?a=>new Promise((r,s)=>{e.readFile(a,(i,o)=>i?s(i):r(o))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function w1(){let e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=global.Video||global.HTMLVideoElement,a=()=>{if(e)return new e;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(n)return new n;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,o=pg();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:a,createImageElement:r,createVideoElement:s,fetch:i,...o}}function k1(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var sn;function Dpe(){if(!sn)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return sn}function I1(e){sn=e}function T1(){return k1()?I1(v1()):wd()?I1(w1()):null}function Rpe(e){if(sn||T1(),!sn)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=sn.Canvas,Image:n=sn.Image}=e;sn.Canvas=t,sn.Image=n,sn.createCanvasElement=e.createCanvasElement||(()=>new t),sn.createImageElement=e.createImageElement||(()=>new n),sn.ImageData=e.ImageData||sn.ImageData,sn.Video=e.Video||sn.Video,sn.fetch=e.fetch||sn.fetch,sn.readFile=e.readFile||sn.readFile}var at={getEnv:Dpe,setEnv:I1,initialize:T1,createBrowserEnv:v1,createFileSystem:pg,createNodejsEnv:w1,monkeyPatch:Rpe,isBrowser:k1,isNodejs:wd};T1();function op(e){return!at.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function aa(e){let{Canvas:t,CanvasRenderingContext2D:n}=at.getEnv();if(e instanceof n)return e;let a=op(e);if(!(a instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let r=a.getContext("2d");if(!r)throw new Error("resolveContext2d - canvas 2d context is null");return r}var S1=(r=>(r.TOP_LEFT="TOP_LEFT",r.TOP_RIGHT="TOP_RIGHT",r.BOTTOM_LEFT="BOTTOM_LEFT",r.BOTTOM_RIGHT="BOTTOM_RIGHT",r))(S1||{}),lp=class{constructor(t={}){let{anchorPosition:n,backgroundColor:a,fontColor:r,fontSize:s,fontStyle:i,padding:o}=t;this.anchorPosition=n||"TOP_LEFT",this.backgroundColor=a||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=o||4}},zr=class{constructor(t,n,a={}){this.text=typeof t=="string"?[t]:t instanceof zr?t.text:t,this.anchor=n,this.options=new lp(a)}measureWidth(t){let{padding:n}=this.options;return this.text.map(a=>t.measureText(a).width).reduce((a,r)=>a{let m=l+d.x,f=l+d.y+(h+1)*i;a.fillText(c,m,f)})}};var cg=class{constructor(t={}){let{boxColor:n,lineWidth:a,label:r,drawLabelOptions:s}=t;this.boxColor=n||"rgba(0, 0, 255, 1)",this.lineWidth=a||2,this.label=r;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new lp({...i,...s})}},kd=class{constructor(t,n={}){this.box=new ct(t),this.options=new cg(n)}draw(t){let n=aa(t),{boxColor:a,lineWidth:r}=this.options,{x:s,y:i,width:o,height:l}=this.box;n.strokeStyle=a,n.lineWidth=r,n.strokeRect(s,i,o,l);let{label:u}=this.options;u&&new zr([u],{x:s-r/2,y:i},this.options.drawLabelOptions).draw(t)}};function Mpe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof wt?a.score:Lr(a)?a.detection.score:void 0,s=a instanceof wt?a.box:Lr(a)?a.detection.box:new ct(a),i=r?`${Fo(r)}`:void 0;new kd(s,{label:i}).draw(e)})}function dg(e){let{Image:t,Video:n}=at.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function z$(e){return new Promise((t,n)=>{(e instanceof at.getEnv().Canvas||dg(e))&&t(null);function a(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),n(s))}function r(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),t(s))}e.addEventListener("load",r),e.addEventListener("error",a)})}function W$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToImage - expected buf to be of type: Blob"));let a=new FileReader;a.onload=()=>{typeof a.result!="string"&&n(new Error("bufferToImage - expected reader.result to be a string, in onload"));let r=at.getEnv().createImageElement();r.onload=()=>t(r),r.onerror=n,r.src=a.result},a.onerror=n,a.readAsDataURL(e)})}function up(e){let{Image:t,Video:n}=at.getEnv();return e instanceof t?new Fn(e.naturalWidth,e.naturalHeight):e instanceof n?new Fn(e.videoWidth,e.videoHeight):new Fn(e.width,e.height)}function pp({width:e,height:t}){let{createCanvasElement:n}=at.getEnv(),a=n();return a.width=e,a.height=t,a}function hg(e,t){let{ImageData:n}=at.getEnv();if(!(e instanceof n)&&!dg(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:a,height:r}=t||up(e),s=pp({width:a,height:r});return e instanceof n?aa(s).putImageData(e,0,0):aa(s).drawImage(e,0,0,a,r),s}async function B$(e,t){let n=t||at.getEnv().createCanvasElement(),[a,r,s]=e.shape.slice(xa(e)?1:0),i=O(()=>e.as3D(a,r,s).toInt());return await wo.toPixels(i,n),i.dispose(),n}function N1(e){let{Image:t,Canvas:n,Video:a}=at.getEnv();return e instanceof t||e instanceof n||e instanceof a}function V$(e,t,n=!1){let{Image:a,Canvas:r}=at.getEnv();if(!(e instanceof a||e instanceof r))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return pp({width:1,height:1});let s=up(e),i=t/Math.max(s.height,s.width),o=i*s.width,l=i*s.height,u=pp({width:t,height:t}),p=e instanceof r?e:hg(e),d=Math.abs(o-l)/2,c=n&&o0&&p.height>0&&aa(u).drawImage(p,c,h,o,l),u}var Wr=class{constructor(t,n=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=n,this._batchSize=t.length,t.forEach((a,r)=>{if(Pr(a)){this._imageTensors[r]=a,this._inputDimensions[r]=a.shape;return}if(xa(a)){let i=a.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=a,this._inputDimensions[r]=a.shape.slice(1);return}let s=a instanceof at.getEnv().Canvas?a:hg(a);this._canvases[r]=s,this._inputDimensions[r]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return yr(this.batchSize,0,1).map((t,n)=>this.getReshapedInputDimensions(n))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let n=this.getInputWidth(t),a=this.getInputHeight(t);return x1({width:n,height:a},this.inputSize)}toBatchTensor(t,n=!0){return this._inputSize=t,O(()=>{let a=yr(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof $e){let o=xa(i)?i:mn(i);return o=P$(o,n),(o.shape[1]!==t||o.shape[2]!==t)&&(o=Nr.resizeBilinear(o,[t,t],!1,!1)),o.as3D(t,t,3)}if(i instanceof at.getEnv().Canvas)return wo.fromPixels(V$(i,t,n));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return Rt(a.map(s=>le(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function kt(e){if(e instanceof Wr)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");let n=r=>Array.isArray(e)?` at input index ${r}:`:"",a=t.map(op);return a.forEach((r,s)=>{if(!N1(r)&&!Pr(r)&&!xa(r))throw typeof t[s]=="string"?new Error(`toNetInput -${n(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${n(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(xa(r)){let i=r.shape[0];if(i!==1)throw new Error(`toNetInput -${n(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(a.map(r=>N1(r)&&z$(r))),new Wr(a,Array.isArray(e))}async function Id(e,t){let{Canvas:n}=at.getEnv(),a=e;if(!(e instanceof n)){let i=await kt(e);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let o=i.getInput(0);a=o instanceof n?o:await B$(o)}let r=aa(a);return t.map(i=>i instanceof wt?i.forSize(a.width,a.height).box.floor():i).map(i=>i.clipAtImageBorders(a.width,a.height)).map(({x:i,y:o,width:l,height:u})=>{let p=pp({width:l,height:u});return l>0&&u>0&&aa(p).putImageData(r.getImageData(i,o,l,u),0,0),p})}async function Td(e,t){if(!Pr(e)&&!xa(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(xa(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return O(()=>{let[n,a,r]=e.shape.slice(xa(e)?1:0);return t.map(o=>o instanceof wt?o.forSize(a,n).box:o).map(o=>o.clipAtImageBorders(a,n)).filter(o=>o.width>0&&o.height>0).map(({x:o,y:l,width:u,height:p})=>Io(e.as3D(n,a,r),[l,o,0],[p,u,r]))})}async function $s(e,t){let{fetch:n}=at.getEnv(),a=await n(e,t);if(!(a.status<400))throw new Error(`failed to fetch: (${a.status}) ${a.statusText}, from url: ${a.url}`);return a}async function hve(e){let t=await $s(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return W$(n)}async function U$(e){return(await $s(e)).json()}async function yve(e){return new Float32Array(await(await $s(e)).arrayBuffer())}function G$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToVideo - expected buf to be of type: Blob"));let a=at.getEnv().createVideoElement();a.oncanplay=()=>t(a),a.onerror=n,a.playsInline=!0,a.muted=!0,a.src=URL.createObjectURL(e),a.play()})}async function Tve(e){let t=await $s(e),n=await t.blob();if(!n.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${n.type}, for url: ${t.url}`);return G$(n)}function mg(e,t){let n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};let a=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(a,"");let r=e.split("/").filter(o=>o),s=e.endsWith(".json")?r[r.length-1]:n,i=a+(e.endsWith(".json")?r.slice(0,r.length-1):r).join("/");return i=e.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function H$(e,t){let{manifestUri:n,modelBaseUri:a}=mg(e,t),r=await U$(n);return Sn.loadWeights(r,a)}function Ave(e,t,n=!1){let{width:a,height:r}=n?up(t):t;return e.width=a,e.height=r,{width:a,height:r}}var dn=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:n,objProp:a}=this.traversePropertyPath(t);return n[a]}reassignParamFromPath(t,n){let{obj:a,objProp:r}=this.traversePropertyPath(t);a[r].dispose(),a[r]=n}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof rs)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof rs))}variable(){this.getFrozenParams().forEach(({path:t,tensor:n})=>{this.reassignParamFromPath(t,n.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:n})=>{let a=Bn(n.dataSync());n.dispose(),this.reassignParamFromPath(t,a)})}dispose(t=!0){this.getParamList().forEach(n=>{if(t&&n.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${n.path}`);n.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,n)=>t.concat(n)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let n=await H$(t,this.getDefaultModelName());this.loadFromWeightMap(n)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:n}=at.getEnv(),{manifestUri:a,modelBaseUri:r}=mg(t,this.getDefaultModelName()),s=u=>Promise.all(u.map(p=>n(p).then(d=>d.buffer))),i=Sn.weightsLoaderFactory(s),o=JSON.parse((await n(a)).toString()),l=await i(o,r);this.loadFromWeightMap(l)}loadFromWeightMap(t){let{paramMappings:n,params:a}=this.extractParamsFromWeightMap(t);this._paramMappings=n,this._params=a}extractWeights(t){let{paramMappings:n,params:a}=this.extractParams(t);this._paramMappings=n,this._params=a}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let n=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:a,objProp:r}=n;if(!a||!r||!(a[r]instanceof $e))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:a,objProp:r}}};function Kn(e,t,n){return O(()=>{let a=Ts(e,t.depthwise_filter,t.pointwise_filter,n,"same");return a=Q(a,t.bias),a})}function fg(e,t,n=!1){return O(()=>{let a=Xe(n?Q(Dt(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):Kn(e,t.conv0,[2,2])),r=Kn(a,t.conv1,[1,1]),s=Xe(Q(a,r)),i=Kn(s,t.conv2,[1,1]);return Xe(Q(a,Q(r,i)))})}function Sd(e,t,n=!1,a=!0){return O(()=>{let r=Xe(n?Q(Dt(e,t.conv0.filters,a?[2,2]:[1,1],"same"),t.conv0.bias):Kn(e,t.conv0,a?[2,2]:[1,1])),s=Kn(r,t.conv1,[1,1]),i=Xe(Q(r,s)),o=Kn(i,t.conv2,[1,1]),l=Xe(Q(r,Q(s,o))),u=Kn(l,t.conv3,[1,1]);return Xe(Q(r,Q(s,Q(o,u))))})}function Ro(e,t,n="same",a=!1){return O(()=>{let r=Q(Dt(e,t.filters,[1,1],n),t.bias);return a?Xe(r):r})}function Dn(e,t){Object.keys(e).forEach(n=>{t.some(a=>a.originalPath===n)||e[n].dispose()})}function cp(e,t){return(n,a,r,s)=>{let i=$a(e(n*a*r*r),[r,r,n,a]),o=Ke(e(a));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:o}}}function gg(e,t){return(n,a,r)=>{let s=Ca(e(n*a),[n,a]),i=Ke(e(a));return t.push({paramPath:`${r}/weights`},{paramPath:`${r}/bias`}),{weights:s,bias:i}}}var Nd=class{constructor(t,n,a){this.depthwise_filter=t;this.pointwise_filter=n;this.bias=a}};function dp(e,t){return(n,a,r)=>{let s=$a(e(9*n),[3,3,n,1]),i=$a(e(n*a),[1,1,n,a]),o=Ke(e(a));return t.push({paramPath:`${r}/depthwise_filter`},{paramPath:`${r}/pointwise_filter`},{paramPath:`${r}/bias`}),new Nd(s,i,o)}}function hp(e){return t=>{let n=e(`${t}/depthwise_filter`,4),a=e(`${t}/pointwise_filter`,4),r=e(`${t}/bias`,1);return new Nd(n,a,r)}}function ra(e,t){return(n,a,r)=>{let s=e[n];if(!Ao(s,a))throw new Error(`expected weightMap[${n}] to be a Tensor${a}D, instead have ${s}`);return t.push({originalPath:n,paramPath:r||n}),s}}function Rn(e){let t=e;function n(r){let s=t.slice(0,r);return t=t.slice(r),s}function a(){return t}return{extractWeights:n,getRemainingWeights:a}}function bg(e,t){let n=cp(e,t),a=dp(e,t);function r(i,o,l,u=!1){let p=u?n(i,o,3,`${l}/conv0`):a(i,o,`${l}/conv0`),d=a(o,o,`${l}/conv1`),c=a(o,o,`${l}/conv2`);return{conv0:p,conv1:d,conv2:c}}function s(i,o,l,u=!1){let{conv0:p,conv1:d,conv2:c}=r(i,o,l,u),h=a(o,o,`${l}/conv3`);return{conv0:p,conv1:d,conv2:c,conv3:h}}return{extractDenseBlock3Params:r,extractDenseBlock4Params:s}}function j$(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractDenseBlock4Params:r}=bg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2"),l=r(128,256,"dense3");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o,dense3:l}}}function yg(e){return t=>{let n=e(`${t}/filters`,4),a=e(`${t}/bias`,1);return{filters:n,bias:a}}}function xg(e,t){let n=ra(e,t),a=yg(n),r=hp(n);function s(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`);return{conv0:u,conv1:p,conv2:d}}function i(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`),c=r(`${o}/conv3`);return{conv0:u,conv1:p,conv2:d,conv3:c}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function q$(e){let t=[],{extractDenseBlock4Params:n}=xg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return Dn(e,t),{params:a,paramMappings:t}}var mp=class extends dn{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceFeatureExtractor - load model before inference");return O(()=>{let a=le(t.toBatchTensor(112,!0),"float32"),s=xr(a,[122.782,117.001,104.298]).div(255),i=Sd(s,n.dense0,!0);return i=Sd(i,n.dense1),i=Sd(i,n.dense2),i=Sd(i,n.dense3),i=ga(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await kt(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return q$(t)}extractParams(t){return j$(t)}};function Cd(e,t){return O(()=>Q(Re(e,t.weights),t.bias))}function K$(e,t,n){let a=[],{extractWeights:r,getRemainingWeights:s}=Rn(e),o=gg(r,a)(t,n,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:a,params:{fc:o}}}function X$(e){let t=[],n=ra(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:a("fc")};return Dn(e,t),{params:r,paramMappings:t}}function vg(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=a.startsWith("fc")?n:t;r[a]=e[a]}),{featureExtractorMap:t,classifierMap:n}}var fp=class extends dn{constructor(n,a){super(n);this._faceFeatureExtractor=a}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(n){let{params:a}=this;if(!a)throw new Error(`${this._name} - load model before inference`);return O(()=>{let r=n instanceof Wr?this.faceFeatureExtractor.forwardInput(n):n;return Cd(r.as2D(r.shape[0],-1),a.fc)})}dispose(n=!0){this.faceFeatureExtractor.dispose(n),super.dispose(n)}loadClassifierParams(n){let{params:a,paramMappings:r}=this.extractClassifierParams(n);this._params=a,this._paramMappings=r}extractClassifierParams(n){return K$(n,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(n){let{featureExtractorMap:a,classifierMap:r}=vg(n);return this.faceFeatureExtractor.loadFromWeightMap(a),X$(r)}extractParams(n){let a=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),s=r*a+r,i=n.slice(0,n.length-s),o=n.slice(n.length-s);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(o)}};var Y$=["neutral","happy","sad","angry","fearful","disgusted","surprised"],As=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);Y$.forEach((n,a)=>{this[n]=t[a]})}asSortedArray(){return Y$.map(t=>({expression:t,probability:this[t]})).sort((t,n)=>n.probability-t.probability)}};var wg=class extends fp{constructor(t=new mp){super("FaceExpressionNet",t)}forwardInput(t){return O(()=>Qa(this.runNet(t)))}async forward(t){return this.forwardInput(await kt(t))}async predictExpressions(t){let n=await kt(t),a=await this.forwardInput(n),r=await Promise.all(mt(a).map(async i=>{let o=i.dataSync();return i.dispose(),o}));a.dispose();let s=r.map(i=>new As(i));return n.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function Z$(e){return e.expressions instanceof As}function C1(e,t){return{...e,...{expressions:t}}}function Ppe(e,t,n=.1,a){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof As?s:Z$(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let l=i.asSortedArray().filter(d=>d.probability>n),u=Lr(s)?s.detection.box.bottomLeft:a||new Oe(0,0);new zr(l.map(d=>`${d.expression} (${Fo(d.probability)})`),u).draw(e)})}function gp(e){return Lr(e)&&e.landmarks instanceof va&&e.unshiftedLandmarks instanceof va&&e.alignedRect instanceof wt}function Ope(e){let t=(o,l,u,p)=>Math.atan2(p-l,u-o)%Math.PI,n=o=>o*180/Math.PI,a={roll:void 0,pitch:void 0,yaw:void 0};if(!e||!e._positions||e._positions.length!==68)return a;let r=e._positions;a.roll=-t(r[36]._x,r[36]._y,r[45]._x,r[45]._y),a.pitch=t(0,Math.abs(r[0]._x-r[30]._x)/r[30]._x,Math.PI,Math.abs(r[16]._x-r[30]._x)/r[30]._x);let s=r.reduce((o,l)=>oo>l._y?o:l._y,-1/0);return a.yaw=Math.PI*(e._imgDims._height/(i-s)/1.4-1),a}function _d(e,t){let{box:n}=e.detection,a=t.shiftBy(n.x,n.y),r=a.align(),{imageDims:s}=e.detection,i=new wt(e.detection.score,r.rescale(s.reverse()),s),o=Ope(t);return{...e,...{landmarks:a,unshiftedLandmarks:t,alignedRect:i,angle:o}}}var kg=class{constructor(t={}){let{drawLines:n=!0,drawPoints:a=!0,lineWidth:r,lineColor:s,pointSize:i,pointColor:o}=t;this.drawLines=n,this.drawPoints=a,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=o||"rgba(255, 0, 255, 1)"}},Ig=class{constructor(t,n={}){this.faceLandmarks=t,this.options=new kg(n)}draw(t){let n=aa(t),{drawLines:a,drawPoints:r,lineWidth:s,lineColor:i,pointSize:o,pointColor:l}=this.options;if(a&&this.faceLandmarks instanceof sp&&(n.strokeStyle=i,n.lineWidth=s,Mr(n,this.faceLandmarks.getJawOutline()),Mr(n,this.faceLandmarks.getLeftEyeBrow()),Mr(n,this.faceLandmarks.getRightEyeBrow()),Mr(n,this.faceLandmarks.getNose()),Mr(n,this.faceLandmarks.getLeftEye(),!0),Mr(n,this.faceLandmarks.getRightEye(),!0),Mr(n,this.faceLandmarks.getMouth(),!0)),r){n.strokeStyle=l,n.fillStyle=l;let u=p=>{n.beginPath(),n.arc(p.x,p.y,o,0,2*Math.PI),n.fill()};this.faceLandmarks.positions.forEach(u)}}};function Lpe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof va?a:gp(a)?a.landmarks:void 0;if(!r)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new Ig(r).draw(e)})}var Q$="1.7.3";function Bpe(e,t){let n=cp(e,t),a=dp(e,t);function r(i,o,l){let u=a(i,o,`${l}/separable_conv0`),p=a(o,o,`${l}/separable_conv1`),d=n(i,o,1,`${l}/expansion_conv`);return{separable_conv0:u,separable_conv1:p,expansion_conv:d}}function s(i,o){let l=a(i,i,`${o}/separable_conv0`),u=a(i,i,`${o}/separable_conv1`),p=a(i,i,`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:n,extractSeparableConvParams:a,extractReductionBlockParams:r,extractMainBlockParams:s}}function eA(e,t){let n=[],{extractWeights:a,getRemainingWeights:r}=Rn(e),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:l}=Bpe(a,n),u=s(3,32,3,"entry_flow/conv_in"),p=o(32,64,"entry_flow/reduction_block_0"),d=o(64,128,"entry_flow/reduction_block_1"),c={conv_in:u,reduction_block_0:p,reduction_block_1:d},h={};yr(t,0,1).forEach(b=>{h[`main_block_${b}`]=l(128,`middle_flow/main_block_${b}`)});let m=o(128,256,"exit_flow/reduction_block"),f=i(256,512,"exit_flow/separable_conv"),g={reduction_block:m,separable_conv:f};if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:n,params:{entry_flow:c,middle_flow:h,exit_flow:g}}}function Vpe(e,t){let n=ra(e,t),a=yg(n),r=hp(n);function s(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=a(`${o}/expansion_conv`);return{separable_conv0:l,separable_conv1:u,expansion_conv:p}}function i(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=r(`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}}function tA(e,t){let n=[],{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}=Vpe(e,n),o=a("entry_flow/conv_in"),l=s("entry_flow/reduction_block_0"),u=s("entry_flow/reduction_block_1"),p={conv_in:o,reduction_block_0:l,reduction_block_1:u},d={};yr(t,0,1).forEach(f=>{d[`main_block_${f}`]=i(`middle_flow/main_block_${f}`)});let c=s("exit_flow/reduction_block"),h=r("exit_flow/separable_conv"),m={reduction_block:c,separable_conv:h};return Dn(e,n),{params:{entry_flow:p,middle_flow:d,exit_flow:m},paramMappings:n}}function nA(e,t,n){return Q(Dt(e,t.filters,n,"same"),t.bias)}function _1(e,t,n=!0){let a=n?Xe(e):e;return a=Kn(a,t.separable_conv0,[1,1]),a=Kn(Xe(a),t.separable_conv1,[1,1]),a=Mt(a,[3,3],[2,2],"same"),a=Q(a,nA(e,t.expansion_conv,[2,2])),a}function Upe(e,t){let n=Kn(Xe(e),t.separable_conv0,[1,1]);return n=Kn(Xe(n),t.separable_conv1,[1,1]),n=Kn(Xe(n),t.separable_conv2,[1,1]),n=Q(n,e),n}var Tg=class extends dn{constructor(n){super("TinyXception");this._numMainBlocks=n}forwardInput(n){let{params:a}=this;if(!a)throw new Error("TinyXception - load model before inference");return O(()=>{let r=le(n.toBatchTensor(112,!0),"float32"),i=xr(r,[122.782,117.001,104.298]).div(255),o=Xe(nA(i,a.entry_flow.conv_in,[2,2]));return o=_1(o,a.entry_flow.reduction_block_0,!1),o=_1(o,a.entry_flow.reduction_block_1),yr(this._numMainBlocks,0,1).forEach(l=>{o=Upe(o,a.middle_flow[`main_block_${l}`])}),o=_1(o,a.exit_flow.reduction_block),o=Xe(Kn(o,a.exit_flow.separable_conv,[1,1])),o})}async forward(n){return this.forwardInput(await kt(n))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(n){return tA(n,this._numMainBlocks)}extractParams(n){return eA(n,this._numMainBlocks)}};function aA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),r=gg(n,t),s=r(512,1,"fc/age"),i=r(512,2,"fc/gender");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function rA(e){let t=[],n=ra(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:{age:a("fc/age"),gender:a("fc/gender")}};return Dn(e,t),{params:r,paramMappings:t}}var E1=(n=>(n.FEMALE="female",n.MALE="male",n))(E1||{});var Sg=class extends dn{constructor(n=new Tg(2)){super("AgeGenderNet");this._faceFeatureExtractor=n}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(n){let{params:a}=this;if(!a)throw new Error(`${this._name} - load model before inference`);return O(()=>{let r=n instanceof Wr?this.faceFeatureExtractor.forwardInput(n):n,s=ga(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),i=Cd(s,a.fc.age).as1D(),o=Cd(s,a.fc.gender);return{age:i,gender:o}})}forwardInput(n){return O(()=>{let{age:a,gender:r}=this.runNet(n);return{age:a,gender:Qa(r)}})}async forward(n){return this.forwardInput(await kt(n))}async predictAgeAndGender(n){let a=await kt(n),r=await this.forwardInput(a),s=mt(r.age),i=mt(r.gender),o=s.map((u,p)=>({ageTensor:u,genderTensor:i[p]})),l=await Promise.all(o.map(async({ageTensor:u,genderTensor:p})=>{let d=u.dataSync()[0],c=p.dataSync()[0],h=c>.5,m=h?"male":"female",f=h?c:1-c;return u.dispose(),p.dispose(),{age:d,gender:m,genderProbability:f}}));return r.age.dispose(),r.gender.dispose(),a.isBatchInput?l:l[0]}getDefaultModelName(){return"age_gender_model"}dispose(n=!0){this.faceFeatureExtractor.dispose(n),super.dispose(n)}loadClassifierParams(n){let{params:a,paramMappings:r}=this.extractClassifierParams(n);this._params=a,this._paramMappings=r}extractClassifierParams(n){return aA(n)}extractParamsFromWeightMap(n){let{featureExtractorMap:a,classifierMap:r}=vg(n);return this.faceFeatureExtractor.loadFromWeightMap(a),rA(r)}extractParams(n){let r=n.slice(0,n.length-1539),s=n.slice(n.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(s)}};var bp=class extends fp{postProcess(t,n,a){let r=a.map(({width:i,height:o})=>{let l=n/Math.max(o,i);return{width:i*l,height:o*l}}),s=r.length;return O(()=>{let i=(d,c)=>Rt([En([68],d,"float32"),En([68],c,"float32")],1).as2D(1,136).as1D(),o=(d,c)=>{let{width:h,height:m}=r[d];return c(h,m)?Math.abs(h-m)/2:0},l=d=>o(d,(c,h)=>co(d,(c,h)=>hi(l(c),u(c))))).div(Rt(Array.from(Array(s),(d,c)=>i(r[c].width,r[c].height))))})}forwardInput(t){return O(()=>{let n=this.runNet(t);return this.postProcess(n,t.inputSize,t.inputDimensions.map(([a,r])=>({height:a,width:r})))})}async forward(t){return this.forwardInput(await kt(t))}async detectLandmarks(t){let n=await kt(t),a=O(()=>mt(this.forwardInput(n))),r=await Promise.all(a.map(async(s,i)=>{let o=Array.from(s.dataSync()),l=o.filter((p,d)=>og(d)),u=o.filter((p,d)=>!og(d));return new sp(Array(68).fill(0).map((p,d)=>new Oe(l[d],u[d])),{height:n.getInputHeight(i),width:n.getInputWidth(i)})}));return a.forEach(s=>s.dispose()),n.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}};var yp=class extends bp{constructor(t=new mp){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function sA(e){let t=[],{extractDenseBlock3Params:n}=xg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return Dn(e,t),{params:a,paramMappings:t}}function iA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractDenseBlock3Params:r}=bg(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o}}}var Ng=class extends dn{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyFaceFeatureExtractor - load model before inference");return O(()=>{let a=le(t.toBatchTensor(112,!0),"float32"),s=xr(a,[122.782,117.001,104.298]).div(255),i=fg(s,n.dense0,!0);return i=fg(i,n.dense1),i=fg(i,n.dense2),i=ga(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await kt(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return sA(t)}extractParams(t){return iA(t)}};var Cg=class extends bp{constructor(t=new Ng){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var oA=class extends yp{};function lA(e,t){return Q(W(e,t.weights),t.biases)}function $1(e,t,n,a,r="same"){let{filters:s,bias:i}=t.conv,o=Dt(e,s,n,r);return o=Q(o,i),o=lA(o,t.scale),a?Xe(o):o}function uA(e,t){return $1(e,t,[1,1],!0)}function A1(e,t){return $1(e,t,[1,1],!1)}function _g(e,t){return $1(e,t,[2,2],!0,"valid")}function Gpe(e,t){function n(o,l,u){let p=e(o),d=p.length/(l*u*u);if(y1(d))throw new Error(`depth has to be an integer: ${d}, weights.length: ${p.length}, numFilters: ${l}, filterSize: ${u}`);return O(()=>Ae($a(p,[l,d,u,u]),[2,3,1,0]))}function a(o,l,u,p){let d=n(o,l,u),c=Ke(e(l));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:d,bias:c}}function r(o,l){let u=Ke(e(o)),p=Ke(e(o));return t.push({paramPath:`${l}/weights`},{paramPath:`${l}/biases`}),{weights:u,biases:p}}function s(o,l,u,p){let d=a(o,l,u,`${p}/conv`),c=r(l,`${p}/scale`);return{conv:d,scale:c}}function i(o,l,u,p,d=!1){let c=s((d?.5:1)*o,l,u,`${p}/conv1`),h=s(o,l,u,`${p}/conv2`);return{conv1:c,conv2:h}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function pA(e){let{extractWeights:t,getRemainingWeights:n}=Rn(e),a=[],{extractConvLayerParams:r,extractResidualLayerParams:s}=Gpe(t,a),i=r(4704,32,7,"conv32_down"),o=s(9216,32,3,"conv32_1"),l=s(9216,32,3,"conv32_2"),u=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),d=s(36864,64,3,"conv64_1"),c=s(36864,64,3,"conv64_2"),h=s(36864,64,3,"conv64_3"),m=s(147456,128,3,"conv128_down",!0),f=s(147456,128,3,"conv128_1"),g=s(147456,128,3,"conv128_2"),b=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),w=s(589824,256,3,"conv256_down_out"),I=O(()=>Ae(Ca(t(256*128),[128,256]),[1,0]));if(a.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{params:{conv32_down:i,conv32_1:o,conv32_2:l,conv32_3:u,conv64_down:p,conv64_1:d,conv64_2:c,conv64_3:h,conv128_down:m,conv128_1:f,conv128_2:g,conv256_down:b,conv256_1:y,conv256_2:x,conv256_down_out:w,fc:I},paramMappings:a}}function Hpe(e,t){let n=ra(e,t);function a(i){let o=n(`${i}/scale/weights`,1),l=n(`${i}/scale/biases`,1);return{weights:o,biases:l}}function r(i){let o=n(`${i}/conv/filters`,4),l=n(`${i}/conv/bias`,1),u=a(i);return{conv:{filters:o,bias:l},scale:u}}function s(i){return{conv1:r(`${i}/conv1`),conv2:r(`${i}/conv2`)}}return{extractConvLayerParams:r,extractResidualLayerParams:s}}function cA(e){let t=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=Hpe(e,t),r=n("conv32_down"),s=a("conv32_1"),i=a("conv32_2"),o=a("conv32_3"),l=a("conv64_down"),u=a("conv64_1"),p=a("conv64_2"),d=a("conv64_3"),c=a("conv128_down"),h=a("conv128_1"),m=a("conv128_2"),f=a("conv256_down"),g=a("conv256_1"),b=a("conv256_2"),y=a("conv256_down_out"),{fc:x}=e;if(t.push({originalPath:"fc",paramPath:"fc"}),!b1(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let w={conv32_down:r,conv32_1:s,conv32_2:i,conv32_3:o,conv64_down:l,conv64_1:u,conv64_2:p,conv64_3:d,conv128_down:c,conv128_1:h,conv128_2:m,conv256_down:f,conv256_1:g,conv256_2:b,conv256_down_out:y,fc:x};return Dn(e,t),{params:w,paramMappings:t}}function nr(e,t){let n=uA(e,t.conv1);return n=A1(n,t.conv2),n=Q(n,e),n=Xe(n),n}function Ed(e,t){let n=_g(e,t.conv1);n=A1(n,t.conv2);let a=ga(e,2,2,"valid"),r=It(a.shape),s=a.shape[3]!==n.shape[3];if(a.shape[1]!==n.shape[1]||a.shape[2]!==n.shape[2]){let o=[...n.shape];o[1]=1;let l=It(o);n=Qe([n,l],1);let u=[...n.shape];u[2]=1;let p=It(u);n=Qe([n,p],2)}return a=s?Qe([a,r],3):a,n=Q(a,n),n=Xe(n),n}var xp=class extends dn{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceRecognitionNet - load model before inference");return O(()=>{let a=le(t.toBatchTensor(150,!0),"float32"),s=xr(a,[122.782,117.001,104.298]).div(255),i=_g(s,n.conv32_down);i=Mt(i,3,2,"valid"),i=nr(i,n.conv32_1),i=nr(i,n.conv32_2),i=nr(i,n.conv32_3),i=Ed(i,n.conv64_down),i=nr(i,n.conv64_1),i=nr(i,n.conv64_2),i=nr(i,n.conv64_3),i=Ed(i,n.conv128_down),i=nr(i,n.conv128_1),i=nr(i,n.conv128_2),i=Ed(i,n.conv256_down),i=nr(i,n.conv256_1),i=nr(i,n.conv256_2),i=Ed(i,n.conv256_down_out);let o=i.mean([1,2]);return Re(o,n.fc)})}async forward(t){return this.forwardInput(await kt(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let n=await kt(t),a=O(()=>mt(this.forwardInput(n))),r=await Promise.all(a.map(i=>i.data()));return a.forEach(i=>i.dispose()),n.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return cA(t)}extractParams(t){return pA(t)}};function aIe(e){let t=new xp;return t.extractWeights(e),t}function F1(e,t){return{...e,...{descriptor:t}}}function oIe(e){return typeof e.age=="number"}function D1(e,t){return{...e,...{age:t}}}function cIe(e){return(e.gender==="male"||e.gender==="female")&&np(e.genderProbability)}function R1(e,t,n){return{...e,...{gender:t,genderProbability:n}}}function jpe(e,t){function n(l,u){let p=$a(e(9*l),[3,3,l,1]),d=Ke(e(l)),c=Ke(e(l)),h=Ke(e(l)),m=Ke(e(l));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/batch_norm_scale`},{paramPath:`${u}/batch_norm_offset`},{paramPath:`${u}/batch_norm_mean`},{paramPath:`${u}/batch_norm_variance`}),{filters:p,batch_norm_scale:d,batch_norm_offset:c,batch_norm_mean:h,batch_norm_variance:m}}function a(l,u,p,d,c){let h=$a(e(l*u*p*p),[p,p,l,u]),m=Ke(e(u));return t.push({paramPath:`${d}/filters`},{paramPath:`${d}/${c?"batch_norm_offset":"bias"}`}),{filters:h,bias:m}}function r(l,u,p,d){let{filters:c,bias:h}=a(l,u,p,d,!0);return{filters:c,batch_norm_offset:h}}function s(l,u,p){let d=n(l,`${p}/depthwise_conv`),c=r(l,u,1,`${p}/pointwise_conv`);return{depthwise_conv:d,pointwise_conv:c}}function i(){let l=r(3,32,3,"mobilenetv1/conv_0"),u=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),d=s(128,128,"mobilenetv1/conv_3"),c=s(128,256,"mobilenetv1/conv_4"),h=s(256,256,"mobilenetv1/conv_5"),m=s(256,512,"mobilenetv1/conv_6"),f=s(512,512,"mobilenetv1/conv_7"),g=s(512,512,"mobilenetv1/conv_8"),b=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),w=s(512,1024,"mobilenetv1/conv_12"),I=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,conv_8:g,conv_9:b,conv_10:y,conv_11:x,conv_12:w,conv_13:I}}function o(){let l=r(1024,256,1,"prediction_layer/conv_0"),u=r(256,512,3,"prediction_layer/conv_1"),p=r(512,128,1,"prediction_layer/conv_2"),d=r(128,256,3,"prediction_layer/conv_3"),c=r(256,128,1,"prediction_layer/conv_4"),h=r(128,256,3,"prediction_layer/conv_5"),m=r(256,64,1,"prediction_layer/conv_6"),f=r(64,128,3,"prediction_layer/conv_7"),g=a(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),b=a(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=a(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=a(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),w=a(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),I=a(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),N=a(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),_=a(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),$=a(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),A=a(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),M=a(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),D=a(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,box_predictor_0:{box_encoding_predictor:g,class_predictor:b},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:w,class_predictor:I},box_predictor_3:{box_encoding_predictor:N,class_predictor:_},box_predictor_4:{box_encoding_predictor:$,class_predictor:A},box_predictor_5:{box_encoding_predictor:M,class_predictor:D}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:o}}function dA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractMobilenetV1Params:r,extractPredictionLayerParams:s}=jpe(n,t),i=r(),o=s(),u={extra_dim:Vc(n(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:{mobilenetv1:i,prediction_layer:o,output_layer:u},paramMappings:t}}function qpe(e,t){let n=ra(e,t);function a(u,p,d){let c=n(`${u}/Conv2d_${p}_pointwise/weights`,4,`${d}/filters`),h=n(`${u}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${d}/batch_norm_offset`);return{filters:c,batch_norm_offset:h}}function r(u){let p=`mobilenetv1/conv_${u}`,d=`MobilenetV1/Conv2d_${u}_depthwise`,c=`${p}/depthwise_conv`,h=`${p}/pointwise_conv`,m=n(`${d}/depthwise_weights`,4,`${c}/filters`),f=n(`${d}/BatchNorm/gamma`,1,`${c}/batch_norm_scale`),g=n(`${d}/BatchNorm/beta`,1,`${c}/batch_norm_offset`),b=n(`${d}/BatchNorm/moving_mean`,1,`${c}/batch_norm_mean`),y=n(`${d}/BatchNorm/moving_variance`,1,`${c}/batch_norm_variance`);return{depthwise_conv:{filters:m,batch_norm_scale:f,batch_norm_offset:g,batch_norm_mean:b,batch_norm_variance:y},pointwise_conv:a("MobilenetV1",u,h)}}function s(){return{conv_0:a("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:r(1),conv_2:r(2),conv_3:r(3),conv_4:r(4),conv_5:r(5),conv_6:r(6),conv_7:r(7),conv_8:r(8),conv_9:r(9),conv_10:r(10),conv_11:r(11),conv_12:r(12),conv_13:r(13)}}function i(u,p){let d=n(`${u}/weights`,4,`${p}/filters`),c=n(`${u}/biases`,1,`${p}/bias`);return{filters:d,bias:c}}function o(u){let p=i(`Prediction/BoxPredictor_${u}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${u}/box_encoding_predictor`),d=i(`Prediction/BoxPredictor_${u}/ClassPredictor`,`prediction_layer/box_predictor_${u}/class_predictor`);return{box_encoding_predictor:p,class_predictor:d}}function l(){return{conv_0:a("Prediction",0,"prediction_layer/conv_0"),conv_1:a("Prediction",1,"prediction_layer/conv_1"),conv_2:a("Prediction",2,"prediction_layer/conv_2"),conv_3:a("Prediction",3,"prediction_layer/conv_3"),conv_4:a("Prediction",4,"prediction_layer/conv_4"),conv_5:a("Prediction",5,"prediction_layer/conv_5"),conv_6:a("Prediction",6,"prediction_layer/conv_6"),conv_7:a("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:o(0),box_predictor_1:o(1),box_predictor_2:o(2),box_predictor_3:o(3),box_predictor_4:o(4),box_predictor_5:o(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:l}}function hA(e){let t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=qpe(e,t),r=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!Pr(r))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${r}`);let s={mobilenetv1:n(),prediction_layer:a(),output_layer:{extra_dim:r}};return Dn(e,t),{params:s,paramMappings:t}}function Da(e,t,n){return O(()=>{let a=Dt(e,t.filters,n,"same");return a=Q(a,t.batch_norm_offset),tn(a,0,6)})}var Kpe=.0010000000474974513;function Xpe(e,t,n){return O(()=>{let a=ws(e,t.filters,n,"same");return a=vs(a,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Kpe),tn(a,0,6)})}function Ype(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function mA(e,t){return O(()=>{let n,a=Da(e,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let o=i+1,l=Ype(o);a=Xpe(a,s.depthwise_conv,l),a=Da(a,s.pointwise_conv,[1,1]),o===11&&(n=a)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:a,conv11:n}})}function Zpe(e,t,n){let a=e.arraySync(),r=Math.min(a[t][0],a[t][2]),s=Math.min(a[t][1],a[t][3]),i=Math.max(a[t][0],a[t][2]),o=Math.max(a[t][1],a[t][3]),l=Math.min(a[n][0],a[n][2]),u=Math.min(a[n][1],a[n][3]),p=Math.max(a[n][0],a[n][2]),d=Math.max(a[n][1],a[n][3]),c=(i-r)*(o-s),h=(p-l)*(d-u);if(c<=0||h<=0)return 0;let m=Math.max(r,l),f=Math.max(s,u),g=Math.min(i,p),b=Math.min(o,d),y=Math.max(g-m,0)*Math.max(b-f,0);return y/(c+h-y)}function fA(e,t,n,a,r){let s=e.shape[0],i=Math.min(n,s),o=t.map((p,d)=>({score:p,boxIndex:d})).filter(p=>p.score>r).sort((p,d)=>d.score-p.score),l=p=>p<=a?1:0,u=[];return o.forEach(p=>{if(u.length>=i)return;let d=p.score;for(let c=u.length-1;c>=0;--c){let h=Zpe(e,p.boxIndex,u[c]);if(h!==0&&(p.score*=l(h),p.score<=r))break}d===p.score&&u.push(p.boxIndex)}),u}function Jpe(e){let t=mt(Ae(e,[1,0])),n=[ce(t[2],t[0]),ce(t[3],t[1])],a=[Q(t[0],fe(n[0],2)),Q(t[1],fe(n[1],2))];return{sizes:n,centers:a}}function Qpe(e,t){let{sizes:n,centers:a}=Jpe(e),r=mt(Ae(t,[1,0])),s=fe(W(gn(fe(r[2],5)),n[0]),2),i=Q(W(fe(r[0],10),n[0]),a[0]),o=fe(W(gn(fe(r[3],5)),n[1]),2),l=Q(W(fe(r[1],10),n[1]),a[1]);return Ae(Rt([ce(i,s),ce(l,o),Q(i,s),Q(l,o)]),[1,0])}function gA(e,t,n){return O(()=>{let a=e.shape[0],r=Qpe(B(Wn(n.extra_dim,[a,1,1]),[-1,4]),B(e,[-1,4]));r=B(r,[a,r.shape[0]/a,4]);let s=da(He(t,[0,0,1],[-1,-1,-1])),i=He(s,[0,0,0],[-1,-1,1]);i=B(i,[a,i.shape[1]]);let o=mt(r),l=mt(i);return{boxes:o,scores:l}})}function Mo(e,t){return O(()=>{let n=e.shape[0],a=B(Ro(e,t.box_encoding_predictor),[n,-1,1,4]),r=B(Ro(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:a,classPrediction:r}})}function bA(e,t,n){return O(()=>{let a=Da(e,n.conv_0,[1,1]),r=Da(a,n.conv_1,[2,2]),s=Da(r,n.conv_2,[1,1]),i=Da(s,n.conv_3,[2,2]),o=Da(i,n.conv_4,[1,1]),l=Da(o,n.conv_5,[2,2]),u=Da(l,n.conv_6,[1,1]),p=Da(u,n.conv_7,[2,2]),d=Mo(t,n.box_predictor_0),c=Mo(e,n.box_predictor_1),h=Mo(r,n.box_predictor_2),m=Mo(i,n.box_predictor_3),f=Mo(l,n.box_predictor_4),g=Mo(p,n.box_predictor_5),b=Qe([d.boxPredictionEncoding,c.boxPredictionEncoding,h.boxPredictionEncoding,m.boxPredictionEncoding,f.boxPredictionEncoding,g.boxPredictionEncoding],1),y=Qe([d.classPrediction,c.classPrediction,h.classPrediction,m.classPrediction,f.classPrediction,g.classPrediction],1);return{boxPredictions:b,classPredictions:y}})}var Ra=class{constructor({minConfidence:t,maxResults:n}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=n||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var Po=class extends dn{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("SsdMobilenetv1 - load model before inference");return O(()=>{let a=le(t.toBatchTensor(512,!1),"float32"),r=ce(fe(a,127.5),1),s=mA(r,n.mobilenetv1),{boxPredictions:i,classPredictions:o}=bA(s.out,s.conv11,n.prediction_layer);return gA(i,o,n.output_layer)})}async forward(t){return this.forwardInput(await kt(t))}async locateFaces(t,n={}){let{maxResults:a,minConfidence:r}=new Ra(n),s=await kt(t),{boxes:i,scores:o}=this.forwardInput(s),l=i[0],u=o[0];for(let x=1;x{let[w,I]=[Math.max(0,b[x][0]),Math.min(1,b[x][2])].map($=>$*g),[N,_]=[Math.max(0,b[x][1]),Math.min(1,b[x][3])].map($=>$*f);return new wt(p[x],new rp(N,w,_-N,I-w),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return l.dispose(),u.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return hA(t)}extractParams(t){return dA(t)}};function ece(e){let t=new Po;return t.extractWeights(e),t}function aTe(e){return ece(e)}var yA=class extends Po{};var xA=.4,vA=[new Oe(.738768,.874946),new Oe(2.42204,2.65704),new Oe(4.30971,7.04493),new Oe(10.246,4.59428),new Oe(12.6868,11.8741)],wA=[new Oe(1.603231,2.094468),new Oe(6.041143,7.080126),new Oe(2.882459,3.518061),new Oe(4.266906,5.178857),new Oe(9.041765,10.66308)],kA=[117.001,114.697,97.404],IA="tiny_yolov2_model",TA="tiny_yolov2_separable_conv_model";var Eg=e=>typeof e=="number";function SA(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!Eg(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>Eg(t.x)&&Eg(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(Eg)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function vp(e){return O(()=>{let t=W(e,ke(.10000000149011612));return Q(Xe(ce(e,t)),t)})}function Br(e,t){return O(()=>{let n=ba(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Dt(n,t.conv.filters,[1,1],"valid"),n=ce(n,t.bn.sub),n=W(n,t.bn.truediv),n=Q(n,t.conv.bias),vp(n)})}function Vr(e,t){return O(()=>{let n=ba(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Ts(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=Q(n,t.bias),vp(n)})}function tce(e,t){let n=cp(e,t);function a(i,o){let l=Ke(e(i)),u=Ke(e(i));return t.push({paramPath:`${o}/sub`},{paramPath:`${o}/truediv`}),{sub:l,truediv:u}}function r(i,o,l){let u=n(i,o,3,`${l}/conv`),p=a(o,`${l}/bn`);return{conv:u,bn:p}}let s=dp(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}}function NA(e,t,n,a){let{extractWeights:r,getRemainingWeights:s}=Rn(e),i=[],{extractConvParams:o,extractConvWithBatchNormParams:l,extractSeparableConvParams:u}=tce(r,i),p;if(t.withSeparableConvs){let[d,c,h,m,f,g,b,y,x]=a,w=t.isFirstLayerConv2d?o(d,c,3,"conv0"):u(d,c,"conv0"),I=u(c,h,"conv1"),N=u(h,m,"conv2"),_=u(m,f,"conv3"),$=u(f,g,"conv4"),A=u(g,b,"conv5"),M=y?u(b,y,"conv6"):void 0,D=x?u(y,x,"conv7"):void 0,T=o(x||y||b,5*n,1,"conv8");p={conv0:w,conv1:I,conv2:N,conv3:_,conv4:$,conv5:A,conv6:M,conv7:D,conv8:T}}else{let[d,c,h,m,f,g,b,y,x]=a,w=l(d,c,"conv0"),I=l(c,h,"conv1"),N=l(h,m,"conv2"),_=l(m,f,"conv3"),$=l(f,g,"conv4"),A=l(g,b,"conv5"),M=l(b,y,"conv6"),D=l(y,x,"conv7"),T=o(x,5*n,1,"conv8");p={conv0:w,conv1:I,conv2:N,conv3:_,conv4:$,conv5:A,conv6:M,conv7:D,conv8:T}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:i}}function nce(e,t){let n=ra(e,t);function a(o){let l=n(`${o}/sub`,1),u=n(`${o}/truediv`,1);return{sub:l,truediv:u}}function r(o){let l=n(`${o}/filters`,4),u=n(`${o}/bias`,1);return{filters:l,bias:u}}function s(o){let l=r(`${o}/conv`),u=a(`${o}/bn`);return{conv:l,bn:u}}let i=hp(n);return{extractConvParams:r,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function CA(e,t){let n=[],{extractConvParams:a,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}=nce(e,n),i;if(t.withSeparableConvs){let o=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?a("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:o>7?s("conv6"):void 0,conv7:o>8?s("conv7"):void 0,conv8:a("conv8")}}else i={conv0:r("conv0"),conv1:r("conv1"),conv2:r("conv2"),conv3:r("conv3"),conv4:r("conv4"),conv5:r("conv5"),conv6:r("conv6"),conv7:r("conv7"),conv8:a("conv8")};return Dn(e,n),{params:i,paramMappings:n}}var vr=class{constructor({inputSize:t,scoreThreshold:n}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=n||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var M1=class extends dn{constructor(n){super("TinyYolov2");SA(n),this._config=n}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(n,a){let r=Br(n,a.conv0);return r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv1),r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv2),r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv3),r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv4),r=Mt(r,[2,2],[2,2],"same"),r=Br(r,a.conv5),r=Mt(r,[2,2],[1,1],"same"),r=Br(r,a.conv6),r=Br(r,a.conv7),Ro(r,a.conv8,"valid",!1)}runMobilenet(n,a){let r=this.config.isFirstLayerConv2d?vp(Ro(n,a.conv0,"valid",!1)):Vr(n,a.conv0);return r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv1),r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv2),r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv3),r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv4),r=Mt(r,[2,2],[2,2],"same"),r=Vr(r,a.conv5),r=Mt(r,[2,2],[1,1],"same"),r=a.conv6?Vr(r,a.conv6):r,r=a.conv7?Vr(r,a.conv7):r,Ro(r,a.conv8,"valid",!1)}forwardInput(n,a){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return O(()=>{let s=le(n.toBatchTensor(a,!1),"float32");return s=this.config.meanRgb?xr(s,this.config.meanRgb):s,s=s.div(255),this.config.withSeparableConvs?this.runMobilenet(s,r):this.runTinyYolov2(s,r)})}async forward(n,a){return this.forwardInput(await kt(n),a)}async detect(n,a={}){let{inputSize:r,scoreThreshold:s}=new vr(a),i=await kt(n),o=await this.forwardInput(i,r),l=O(()=>mt(o)[0].expandDims()),u={width:i.getInputWidth(0),height:i.getInputHeight(0)},p=await this.extractBoxes(l,i.getReshapedInputDimensions(0),s);o.dispose(),l.dispose();let d=p.map(b=>b.box),c=p.map(b=>b.score),h=p.map(b=>b.classScore),m=p.map(b=>this.config.classes[b.label]);return M$(d.map(b=>b.rescale(r)),c,this.config.iouThreshold,!0).map(b=>new Es(c[b],h[b],m[b],d[b],u))}getDefaultModelName(){return""}extractParamsFromWeightMap(n){return CA(n,this.config)}extractParams(n){let a=this.config.filterSizes||M1.DEFAULT_FILTER_SIZES,r=a?a.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return NA(n,this.config,this.boxEncodingSize,a)}async extractBoxes(n,a,r){let{width:s,height:i}=a,o=Math.max(s,i),l=o/s,u=o/i,p=n.shape[1],d=this.config.anchors.length,[c,h,m]=O(()=>{let y=n.reshape([p,p,d,this.boxEncodingSize]),x=y.slice([0,0,0,0],[p,p,d,4]),w=y.slice([0,0,0,4],[p,p,d,1]),I=this.withClassScores?Qa(y.slice([0,0,0,5],[p,p,d,this.config.classes.length]),3):ke(0);return[x,w,I]}),f=[],g=await h.array(),b=await c.array();for(let y=0;yr){let N=(x+ug(b[y][x][w][0]))/p*l,_=(y+ug(b[y][x][w][1]))/p*u,$=Math.exp(b[y][x][w][2])*this.config.anchors[w].x/p*l,A=Math.exp(b[y][x][w][3])*this.config.anchors[w].y/p*u,M=N-$/2,D=_-A/2,T={row:y,col:x,anchor:w},{classScore:P,label:U}=this.withClassScores?await this.extractPredictedClass(m,T):{classScore:1,label:0};f.push({box:new ap(M,D,M+$,D+A),score:I,classScore:I*P,label:U,...T})}}return c.dispose(),h.dispose(),m.dispose(),f}async extractPredictedClass(n,a){let{row:r,col:s,anchor:i}=a,o=await n.array();return Array(this.config.classes.length).fill(0).map((l,u)=>o[r][s][i][u]).map((l,u)=>({classScore:l,label:u})).reduce((l,u)=>l.classScore>u.classScore?l:u)}},Oo=M1;Oo.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var wp=class extends Oo{constructor(t=!0){let n={withSeparableConvs:t,iouThreshold:xA,classes:["face"],...t?{anchors:wA,meanRgb:kA}:{anchors:vA,withClassScores:!0}};super(n)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new wt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?TA:IA}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function KTe(e,t=!0){let n=new wp(t);return n.extractWeights(e),n}var $g=class extends vr{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var Ma=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function Lo(e,t,n,a,r=({alignedRect:s})=>s){let s=e.map(l=>gp(l)?r(l):l.detection),i=a||(t instanceof $e?await Td(t,s):await Id(t,s)),o=await n(i);return i.forEach(l=>l instanceof $e&&l.dispose()),o}async function kp(e,t,n,a,r){return Lo([e],t,async s=>n(s[0]),a,r)}var _A=.4,EA=[new Oe(1.603231,2.094468),new Oe(6.041143,7.080126),new Oe(2.882459,3.518061),new Oe(4.266906,5.178857),new Oe(9.041765,10.66308)],$A=[117.001,114.697,97.404];var Ip=class extends Oo{constructor(){let t={withSeparableConvs:!0,iouThreshold:_A,classes:["face"],anchors:EA,meanRgb:$A,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new wt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var rt={ssdMobilenetv1:new Po,tinyFaceDetector:new Ip,tinyYolov2:new wp,faceLandmark68Net:new yp,faceLandmark68TinyNet:new Cg,faceRecognitionNet:new xp,faceExpressionNet:new wg,ageGenderNet:new Sg},ace=(e,t)=>rt.ssdMobilenetv1.locateFaces(e,t),TSe=(e,t)=>rt.tinyFaceDetector.locateFaces(e,t),SSe=(e,t)=>rt.tinyYolov2.locateFaces(e,t),rce=e=>rt.faceLandmark68Net.detectLandmarks(e),NSe=e=>rt.faceLandmark68TinyNet.detectLandmarks(e),CSe=e=>rt.faceRecognitionNet.computeFaceDescriptor(e),_Se=e=>rt.faceExpressionNet.predictExpressions(e),ESe=e=>rt.ageGenderNet.predictAgeAndGender(e),sce=e=>rt.ssdMobilenetv1.load(e),$Se=e=>rt.tinyFaceDetector.load(e),ASe=e=>rt.tinyYolov2.load(e),FSe=e=>rt.faceLandmark68Net.load(e),DSe=e=>rt.faceLandmark68TinyNet.load(e),RSe=e=>rt.faceRecognitionNet.load(e),MSe=e=>rt.faceExpressionNet.load(e),PSe=e=>rt.ageGenderNet.load(e),OSe=sce,LSe=ace,zSe=rce;var Ag=class extends Ma{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},zo=class extends Ag{async run(){let t=await this.parentTask,n=await Lo(t,this.input,async a=>Promise.all(a.map(r=>rt.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return t.map((a,r)=>C1(a,n[r]))}withAgeAndGender(){return new Bo(this,this.input)}},Wo=class extends Ag{async run(){let t=await this.parentTask;if(!t)return;let n=await kp(t,this.input,a=>rt.faceExpressionNet.predictExpressions(a),this.extractedFaces);return C1(t,n)}withAgeAndGender(){return new Vo(this,this.input)}},Fs=class extends zo{withAgeAndGender(){return new Rs(this,this.input)}withFaceDescriptors(){return new Ps(this,this.input)}},Ds=class extends Wo{withAgeAndGender(){return new Ms(this,this.input)}withFaceDescriptor(){return new Os(this,this.input)}};var Fg=class extends Ma{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Bo=class extends Fg{async run(){let t=await this.parentTask,n=await Lo(t,this.input,async a=>Promise.all(a.map(r=>rt.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return t.map((a,r)=>{let{age:s,gender:i,genderProbability:o}=n[r];return D1(R1(a,i,o),s)})}withFaceExpressions(){return new zo(this,this.input)}},Vo=class extends Fg{async run(){let t=await this.parentTask;if(!t)return;let{age:n,gender:a,genderProbability:r}=await kp(t,this.input,s=>rt.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return D1(R1(t,a,r),n)}withFaceExpressions(){return new Wo(this,this.input)}},Rs=class extends Bo{withFaceExpressions(){return new Fs(this,this.input)}withFaceDescriptors(){return new Ps(this,this.input)}},Ms=class extends Vo{withFaceExpressions(){return new Ds(this,this.input)}withFaceDescriptor(){return new Os(this,this.input)}};var Dg=class extends Ma{constructor(n,a){super();this.parentTask=n;this.input=a}},Ps=class extends Dg{async run(){let t=await this.parentTask;return(await Lo(t,this.input,a=>Promise.all(a.map(r=>rt.faceRecognitionNet.computeFaceDescriptor(r))),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}))).map((a,r)=>F1(t[r],a))}withFaceExpressions(){return new Fs(this,this.input)}withAgeAndGender(){return new Rs(this,this.input)}},Os=class extends Dg{async run(){let t=await this.parentTask;if(!t)return;let n=await kp(t,this.input,a=>rt.faceRecognitionNet.computeFaceDescriptor(a),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}));return F1(t,n)}withFaceExpressions(){return new Ds(this,this.input)}withAgeAndGender(){return new Ms(this,this.input)}};var Rg=class extends Ma{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.useTinyLandmarkNet=r}get landmarkNet(){return this.useTinyLandmarkNet?rt.faceLandmark68TinyNet:rt.faceLandmark68Net}},Mg=class extends Rg{async run(){let t=await this.parentTask,n=t.map(i=>i.detection),a=this.input instanceof $e?await Td(this.input,n):await Id(this.input,n),r=await Promise.all(a.map(i=>this.landmarkNet.detectLandmarks(i)));return a.forEach(i=>i instanceof $e&&i.dispose()),t.filter((i,o)=>r[o]).map((i,o)=>_d(i,r[o]))}withFaceExpressions(){return new Fs(this,this.input)}withAgeAndGender(){return new Rs(this,this.input)}withFaceDescriptors(){return new Ps(this,this.input)}},Pg=class extends Rg{async run(){let t=await this.parentTask;if(!t)return;let{detection:n}=t,a=this.input instanceof $e?await Td(this.input,[n]):await Id(this.input,[n]),r=await this.landmarkNet.detectLandmarks(a[0]);return a.forEach(s=>s instanceof $e&&s.dispose()),_d(t,r)}withFaceExpressions(){return new Ds(this,this.input)}withAgeAndGender(){return new Ms(this,this.input)}withFaceDescriptor(){return new Os(this,this.input)}};var Og=class extends Ma{constructor(n,a=new Ra){super();this.input=n;this.options=a}},$d=class extends Og{async run(){let{input:t,options:n}=this,a;if(n instanceof $g)a=rt.tinyFaceDetector.locateFaces(t,n);else if(n instanceof Ra)a=rt.ssdMobilenetv1.locateFaces(t,n);else if(n instanceof vr)a=rt.tinyYolov2.locateFaces(t,n);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return a}runAndExtendWithFaceDetections(){return new Promise((t,n)=>{this.run().then(a=>t(a.map(r=>ip({},r)))).catch(a=>n(a))})}withFaceLandmarks(t=!1){return new Mg(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new zo(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Bo(this.runAndExtendWithFaceDetections(),this.input)}},Lg=class extends Og{async run(){let t=await new $d(this.input,this.options),n=t[0];return t.forEach(a=>{a.score>n.score&&(n=a)}),n}runAndExtendWithFaceDetection(){return new Promise(async t=>{let n=await this.run();t(n?ip({},n):void 0)})}withFaceLandmarks(t=!1){return new Pg(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new Wo(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new Vo(this.runAndExtendWithFaceDetection(),this.input)}};function PNe(e,t=new Ra){return new Lg(e,t)}function P1(e,t=new Ra){return new $d(e,t)}async function ice(e,t){return P1(e,new Ra(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function VNe(e,t={}){return P1(e,new vr(t)).withFaceLandmarks().withFaceDescriptors()}var UNe=ice;function AA(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let n=Array.from(e),a=Array.from(t);return Math.sqrt(n.map((r,s)=>r-a[s]).reduce((r,s)=>r+s*s,0))}var zg=class{constructor(t,n=.6){this._distanceThreshold=n;let a=Array.isArray(t)?t:[t];if(!a.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1,s=()=>`person ${r++}`;this._labeledDescriptors=a.map(i=>{if(i instanceof Or)return i;if(i instanceof Float32Array)return new Or(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new Or(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,n){return n.map(a=>AA(a,t)).reduce((a,r)=>a+r,0)/(n.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:n,label:a})=>new xd(a,this.computeMeanDistance(t,n))).reduce((n,a)=>n.distancet.toJSON())}}static fromJSON(t){let n=t.labeledDescriptors.map(a=>Or.fromJSON(a));return new zg(n,t.distanceThreshold)}};function o2e(e){let t=new Ip;return t.extractWeights(e),t}function oce(e,t){let{width:n,height:a}=new Fn(t.width,t.height);if(n<=0||a<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:a})}`);if(Array.isArray(e))return e.map(r=>oce(r,{width:n,height:a}));if(gp(e)){let r=e.detection.forSize(n,a),s=e.unshiftedLandmarks.forSize(r.box.width,r.box.height);return _d(ip(e,r),s)}return Lr(e)?ip(e,e.detection.forSize(n,a)):e instanceof va||e instanceof wt?e.forSize(n,a):e}var y2e=Q$;export{Sg as AgeGenderNet,ap as BoundingBox,ct as Box,Ma as ComposableTask,Ps as ComputeAllFaceDescriptorsTask,Dg as ComputeFaceDescriptorsTaskBase,Os as ComputeSingleFaceDescriptorTask,Mg as DetectAllFaceLandmarksTask,$d as DetectAllFacesTask,Rg as DetectFaceLandmarksTaskBase,Og as DetectFacesTaskBase,Pg as DetectSingleFaceLandmarksTask,Lg as DetectSingleFaceTask,Fn as Dimensions,Y$ as FACE_EXPRESSION_LABELS,wt as FaceDetection,yA as FaceDetectionNet,wg as FaceExpressionNet,As as FaceExpressions,yp as FaceLandmark68Net,Cg as FaceLandmark68TinyNet,oA as FaceLandmarkNet,va as FaceLandmarks,O$ as FaceLandmarks5,sp as FaceLandmarks68,xd as FaceMatch,zg as FaceMatcher,xp as FaceRecognitionNet,E1 as Gender,vd as LabeledBox,Or as LabeledFaceDescriptors,Wr as NetInput,dn as NeuralNetwork,Es as ObjectDetection,Oe as Point,L$ as PredictedBox,rp as Rect,Po as SsdMobilenetv1,Ra as SsdMobilenetv1Options,Ip as TinyFaceDetector,$g as TinyFaceDetectorOptions,wp as TinyYolov2,vr as TinyYolov2Options,UNe as allFaces,ice as allFacesSsdMobilenetv1,VNe as allFacesTinyYolov2,z$ as awaitMediaLoaded,W$ as bufferToImage,CSe as computeFaceDescriptor,pp as createCanvas,hg as createCanvasFromMedia,aTe as createFaceDetectionNet,aIe as createFaceRecognitionNet,ece as createSsdMobilenetv1,o2e as createTinyFaceDetector,KTe as createTinyYolov2,P1 as detectAllFaces,rce as detectFaceLandmarks,NSe as detectFaceLandmarksTiny,zSe as detectLandmarks,PNe as detectSingleFace,J$ as draw,at as env,AA as euclideanDistance,D1 as extendWithAge,F1 as extendWithFaceDescriptor,ip as extendWithFaceDetection,C1 as extendWithFaceExpressions,_d as extendWithFaceLandmarks,R1 as extendWithGender,Td as extractFaceTensors,Id as extractFaces,hve as fetchImage,U$ as fetchJson,yve as fetchNetWeights,$s as fetchOrThrow,Tve as fetchVideo,aa as getContext2dOrThrow,up as getMediaDimensions,B$ as imageTensorToCanvas,V$ as imageToSquare,_be as inverseSigmoid,D$ as iou,N1 as isMediaElement,dg as isMediaLoaded,oIe as isWithAge,Lr as isWithFaceDetection,Z$ as isWithFaceExpressions,gp as isWithFaceLandmarks,cIe as isWithGender,PSe as loadAgeGenderModel,OSe as loadFaceDetectionModel,MSe as loadFaceExpressionModel,FSe as loadFaceLandmarkModel,DSe as loadFaceLandmarkTinyModel,RSe as loadFaceRecognitionModel,sce as loadSsdMobilenetv1Model,$Se as loadTinyFaceDetectorModel,ASe as loadTinyYolov2Model,H$ as loadWeightMap,LSe as locateFaces,Ave as matchDimensions,R$ as minBbox,rt as nets,M$ as nonMaxSuppression,xr as normalize,P$ as padToSquare,ESe as predictAgeAndGender,_Se as recognizeFaceExpressions,oce as resizeResults,op as resolveInput,Nbe as shuffleArray,ug as sigmoid,ace as ssdMobilenetv1,We as tf,TSe as tinyFaceDetector,SSe as tinyYolov2,kt as toNetInput,F$ as utils,SA as validateConfig,y2e as version}; //# sourceMappingURL=face-api.esm.js.map diff --git a/dist/face-api.esm.js.map b/dist/face-api.esm.js.map index 7a4f298..d1c9f8c 100644 --- a/dist/face-api.esm.js.map +++ b/dist/face-api.esm.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["tfjs.esm.js", "../src/draw/index.ts", "../src/draw/drawContour.ts", "../src/utils/index.ts", "../src/classes/Dimensions.ts", "../src/classes/Point.ts", "../src/classes/Box.ts", "../src/classes/BoundingBox.ts", "../src/classes/ObjectDetection.ts", "../src/classes/FaceDetection.ts", "../src/ops/iou.ts", "../src/ops/minBbox.ts", "../src/ops/nonMaxSuppression.ts", "../src/ops/normalize.ts", "../src/ops/padToSquare.ts", "../src/ops/shuffleArray.ts", "../src/ops/index.ts", "../src/classes/Rect.ts", "../src/classes/FaceLandmarks.ts", "../src/classes/FaceLandmarks5.ts", "../src/classes/FaceLandmarks68.ts", "../src/classes/FaceMatch.ts", "../src/classes/LabeledBox.ts", "../src/classes/LabeledFaceDescriptors.ts", "../src/classes/PredictedBox.ts", "../src/factories/WithFaceDetection.ts", "../src/env/createBrowserEnv.ts", "../src/env/isNodejs.ts", "../src/env/createFileSystem.ts", "../src/env/createNodejsEnv.ts", "../src/env/isBrowser.ts", "../src/env/index.ts", "../src/dom/resolveInput.ts", "../src/dom/getContext2dOrThrow.ts", "../src/draw/DrawTextField.ts", "../src/draw/DrawBox.ts", "../src/draw/drawDetections.ts", "../src/dom/isMediaLoaded.ts", "../src/dom/awaitMediaLoaded.ts", "../src/dom/bufferToImage.ts", "../src/dom/getMediaDimensions.ts", "../src/dom/createCanvas.ts", "../src/dom/imageTensorToCanvas.ts", "../src/dom/isMediaElement.ts", "../src/dom/imageToSquare.ts", "../src/dom/NetInput.ts", "../src/dom/toNetInput.ts", "../src/dom/extractFaces.ts", "../src/dom/extractFaceTensors.ts", "../src/dom/fetchOrThrow.ts", "../src/dom/fetchImage.ts", "../src/dom/fetchJson.ts", "../src/dom/fetchNetWeights.ts", "../src/dom/bufferToVideo.ts", "../src/dom/fetchVideo.ts", "../src/common/getModelUris.ts", "../src/dom/loadWeightMap.ts", "../src/dom/matchDimensions.ts", "../src/NeuralNetwork.ts", "../src/common/depthwiseSeparableConv.ts", "../src/faceFeatureExtractor/denseBlock.ts", "../src/common/convLayer.ts", "../src/common/disposeUnusedWeightTensors.ts", "../src/common/extractConvParamsFactory.ts", "../src/common/extractFCParamsFactory.ts", "../src/common/types.ts", "../src/common/extractSeparableConvParamsFactory.ts", "../src/common/extractWeightEntryFactory.ts", "../src/common/extractWeightsFactory.ts", "../src/faceFeatureExtractor/extractorsFactory.ts", "../src/faceFeatureExtractor/extractParams.ts", "../src/common/loadConvParamsFactory.ts", "../src/faceFeatureExtractor/loadParamsFactory.ts", "../src/faceFeatureExtractor/extractParamsFromWeightMap.ts", "../src/faceFeatureExtractor/FaceFeatureExtractor.ts", "../src/common/fullyConnectedLayer.ts", "../src/faceProcessor/extractParams.ts", "../src/faceProcessor/extractParamsFromWeightMap.ts", "../src/faceProcessor/util.ts", "../src/faceProcessor/FaceProcessor.ts", "../src/faceExpressionNet/FaceExpressions.ts", "../src/faceExpressionNet/FaceExpressionNet.ts", "../src/factories/WithFaceExpressions.ts", "../src/draw/drawFaceExpressions.ts", "../src/factories/WithFaceLandmarks.ts", "../src/draw/DrawFaceLandmarks.ts", "../src/xception/extractParams.ts", "../src/xception/extractParamsFromWeightMap.ts", "../src/xception/TinyXception.ts", "../src/ageGenderNet/extractParams.ts", "../src/ageGenderNet/extractParamsFromWeightMap.ts", "../src/ageGenderNet/types.ts", "../src/ageGenderNet/AgeGenderNet.ts", "../src/faceLandmarkNet/FaceLandmark68NetBase.ts", "../src/faceLandmarkNet/FaceLandmark68Net.ts", "../src/faceFeatureExtractor/extractParamsFromWeightMapTiny.ts", "../src/faceFeatureExtractor/extractParamsTiny.ts", "../src/faceFeatureExtractor/TinyFaceFeatureExtractor.ts", "../src/faceLandmarkNet/FaceLandmark68TinyNet.ts", "../src/faceLandmarkNet/index.ts", "../src/faceRecognitionNet/scaleLayer.ts", "../src/faceRecognitionNet/convLayer.ts", "../src/faceRecognitionNet/extractParams.ts", "../src/faceRecognitionNet/extractParamsFromWeightMap.ts", "../src/faceRecognitionNet/residualLayer.ts", "../src/faceRecognitionNet/FaceRecognitionNet.ts", "../src/faceRecognitionNet/index.ts", "../src/factories/WithFaceDescriptor.ts", "../src/factories/WithAge.ts", "../src/factories/WithGender.ts", "../src/ssdMobilenetv1/extractParams.ts", "../src/ssdMobilenetv1/extractParamsFromWeightMap.ts", "../src/ssdMobilenetv1/pointwiseConvLayer.ts", "../src/ssdMobilenetv1/mobileNetV1.ts", "../src/ssdMobilenetv1/nonMaxSuppression.ts", "../src/ssdMobilenetv1/outputLayer.ts", "../src/ssdMobilenetv1/boxPredictionLayer.ts", "../src/ssdMobilenetv1/predictionLayer.ts", "../src/ssdMobilenetv1/SsdMobilenetv1Options.ts", "../src/ssdMobilenetv1/SsdMobilenetv1.ts", "../src/ssdMobilenetv1/index.ts", "../src/tinyYolov2/const.ts", "../src/tinyYolov2/config.ts", "../src/tinyYolov2/leaky.ts", "../src/tinyYolov2/convWithBatchNorm.ts", "../src/tinyYolov2/depthwiseSeparableConv.ts", "../src/tinyYolov2/extractParams.ts", "../src/tinyYolov2/extractParamsFromWeightMap.ts", "../src/tinyYolov2/TinyYolov2Options.ts", "../src/tinyYolov2/TinyYolov2Base.ts", "../src/tinyYolov2/TinyYolov2.ts", "../src/tinyYolov2/index.ts", "../src/tinyFaceDetector/TinyFaceDetectorOptions.ts", "../src/globalApi/ComposableTask.ts", "../src/globalApi/extractFacesAndComputeResults.ts", "../src/tinyFaceDetector/const.ts", "../src/tinyFaceDetector/TinyFaceDetector.ts", "../src/globalApi/nets.ts", "../src/globalApi/PredictFaceExpressionsTask.ts", "../src/globalApi/PredictAgeAndGenderTask.ts", "../src/globalApi/ComputeFaceDescriptorsTasks.ts", "../src/globalApi/DetectFaceLandmarksTasks.ts", "../src/globalApi/DetectFacesTasks.ts", "../src/globalApi/detectFaces.ts", "../src/globalApi/allFaces.ts", "../src/euclideanDistance.ts", "../src/globalApi/FaceMatcher.ts", "../src/tinyFaceDetector/index.ts", "../src/resizeResults.ts", "../src/index.ts"], - "sourcesContent": ["/*\n Face-API\n homepage: \n author: '\n*/\n\nvar ZU=Object.create;var p0=Object.defineProperty;var JU=Object.getOwnPropertyDescriptor;var QU=Object.getOwnPropertyNames;var t4=Object.getPrototypeOf,e4=Object.prototype.hasOwnProperty;var gr=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),jt=(r,t)=>{for(var e in t)p0(r,e,{get:t[e],enumerable:!0})},r4=(r,t,e,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of QU(t))!e4.call(r,o)&&o!==e&&p0(r,o,{get:()=>t[o],enumerable:!(n=JU(t,o))||n.enumerable});return r};var Tl=(r,t,e)=>(e=r!=null?ZU(t4(r)):{},r4(t||!r||!r.__esModule?p0(e,\"default\",{value:r,enumerable:!0}):e,r));var V1=gr((Flt,B1)=>{B1.exports=Ke;var po=null;try{po=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(r){}function Ke(r,t,e){this.low=r|0,this.high=t|0,this.unsigned=!!e}Ke.prototype.__isLong__;Object.defineProperty(Ke.prototype,\"__isLong__\",{value:!0});function On(r){return(r&&r.__isLong__)===!0}Ke.isLong=On;var $1={},D1={};function Hu(r,t){var e,n,o;return t?(r>>>=0,(o=0<=r&&r<256)&&(n=D1[r],n)?n:(e=je(r,(r|0)<0?-1:0,!0),o&&(D1[r]=e),e)):(r|=0,(o=-128<=r&&r<128)&&(n=$1[r],n)?n:(e=je(r,r<0?-1:0,!1),o&&($1[r]=e),e))}Ke.fromInt=Hu;function mo(r,t){if(isNaN(r))return t?Uu:fo;if(t){if(r<0)return Uu;if(r>=P1)return z1}else{if(r<=-F1)return Fn;if(r+1>=F1)return M1}return r<0?mo(-r,t).neg():je(r%tm|0,r/tm|0,t)}Ke.fromNumber=mo;function je(r,t,e){return new Ke(r,t,e)}Ke.fromBits=je;var ex=Math.pow;function S0(r,t,e){if(r.length===0)throw Error(\"empty string\");if(r===\"NaN\"||r===\"Infinity\"||r===\"+Infinity\"||r===\"-Infinity\")return fo;if(typeof t==\"number\"?(e=t,t=!1):t=!!t,e=e||10,e<2||360)throw Error(\"interior hyphen\");if(n===0)return S0(r.substring(1),t,e).neg();for(var o=mo(ex(e,8)),s=fo,i=0;i>>0:this.low};yt.toNumber=function(){return this.unsigned?(this.high>>>0)*tm+(this.low>>>0):this.high*tm+(this.low>>>0)};yt.toString=function(t){if(t=t||10,t<2||36>>0,c=l.toString(t);if(i=u,i.isZero())return c+a;for(;c.length<6;)c=\"0\"+c;a=\"\"+c+a}};yt.getHighBits=function(){return this.high};yt.getHighBitsUnsigned=function(){return this.high>>>0};yt.getLowBits=function(){return this.low};yt.getLowBitsUnsigned=function(){return this.low>>>0};yt.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Fn)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,e=31;e>0&&(t&1<=0};yt.isOdd=function(){return(this.low&1)===1};yt.isEven=function(){return(this.low&1)===0};yt.equals=function(t){return On(t)||(t=Ws(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};yt.eq=yt.equals;yt.notEquals=function(t){return!this.eq(t)};yt.neq=yt.notEquals;yt.ne=yt.notEquals;yt.lessThan=function(t){return this.comp(t)<0};yt.lt=yt.lessThan;yt.lessThanOrEqual=function(t){return this.comp(t)<=0};yt.lte=yt.lessThanOrEqual;yt.le=yt.lessThanOrEqual;yt.greaterThan=function(t){return this.comp(t)>0};yt.gt=yt.greaterThan;yt.greaterThanOrEqual=function(t){return this.comp(t)>=0};yt.gte=yt.greaterThanOrEqual;yt.ge=yt.greaterThanOrEqual;yt.compare=function(t){if(On(t)||(t=Ws(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};yt.comp=yt.compare;yt.negate=function(){return!this.unsigned&&this.eq(Fn)?Fn:this.not().add(Qp)};yt.neg=yt.negate;yt.add=function(t){On(t)||(t=Ws(t));var e=this.high>>>16,n=this.high&65535,o=this.low>>>16,s=this.low&65535,i=t.high>>>16,a=t.high&65535,u=t.low>>>16,l=t.low&65535,c=0,p=0,m=0,f=0;return f+=s+l,m+=f>>>16,f&=65535,m+=o+u,p+=m>>>16,m&=65535,p+=n+a,c+=p>>>16,p&=65535,c+=e+i,c&=65535,je(m<<16|f,c<<16|p,this.unsigned)};yt.subtract=function(t){return On(t)||(t=Ws(t)),this.add(t.neg())};yt.sub=yt.subtract;yt.multiply=function(t){if(this.isZero())return fo;if(On(t)||(t=Ws(t)),po){var e=po.mul(this.low,this.high,t.low,t.high);return je(e,po.get_high(),this.unsigned)}if(t.isZero())return fo;if(this.eq(Fn))return t.isOdd()?Fn:fo;if(t.eq(Fn))return this.isOdd()?Fn:fo;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(O1)&&t.lt(O1))return mo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,o=this.high&65535,s=this.low>>>16,i=this.low&65535,a=t.high>>>16,u=t.high&65535,l=t.low>>>16,c=t.low&65535,p=0,m=0,f=0,d=0;return d+=i*c,f+=d>>>16,d&=65535,f+=s*c,m+=f>>>16,f&=65535,f+=i*l,m+=f>>>16,f&=65535,m+=o*c,p+=m>>>16,m&=65535,m+=s*l,p+=m>>>16,m&=65535,m+=i*u,p+=m>>>16,m&=65535,p+=n*c+o*l+s*u+i*a,p&=65535,je(f<<16|d,p<<16|m,this.unsigned)};yt.mul=yt.multiply;yt.divide=function(t){if(On(t)||(t=Ws(t)),t.isZero())throw Error(\"division by zero\");if(po){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var e=(this.unsigned?po.div_u:po.div_s)(this.low,this.high,t.low,t.high);return je(e,po.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Uu:fo;var n,o,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Uu;if(t.gt(this.shru(1)))return L1;s=Uu}else{if(this.eq(Fn)){if(t.eq(Qp)||t.eq(I0))return Fn;if(t.eq(Fn))return Qp;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(fo)?t.isNegative()?Qp:I0:(o=this.sub(t.mul(n)),s=n.add(o.div(t)),s)}else if(t.eq(Fn))return this.unsigned?Uu:fo;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=fo}for(o=this;o.gte(t);){n=Math.max(1,Math.floor(o.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),u=a<=48?1:ex(2,a-48),l=mo(n),c=l.mul(t);c.isNegative()||c.gt(o);)n-=u,l=mo(n,this.unsigned),c=l.mul(t);l.isZero()&&(l=Qp),s=s.add(l),o=o.sub(c)}return s};yt.div=yt.divide;yt.modulo=function(t){if(On(t)||(t=Ws(t)),po){var e=(this.unsigned?po.rem_u:po.rem_s)(this.low,this.high,t.low,t.high);return je(e,po.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};yt.mod=yt.modulo;yt.rem=yt.modulo;yt.not=function(){return je(~this.low,~this.high,this.unsigned)};yt.and=function(t){return On(t)||(t=Ws(t)),je(this.low&t.low,this.high&t.high,this.unsigned)};yt.or=function(t){return On(t)||(t=Ws(t)),je(this.low|t.low,this.high|t.high,this.unsigned)};yt.xor=function(t){return On(t)||(t=Ws(t)),je(this.low^t.low,this.high^t.high,this.unsigned)};yt.shiftLeft=function(t){return On(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?je(this.low<>>32-t,this.unsigned):je(0,this.low<>>t|this.high<<32-t,this.high>>t,this.unsigned):je(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};yt.shr=yt.shiftRight;yt.shiftRightUnsigned=function(t){if(On(t)&&(t=t.toInt()),t&=63,t===0)return this;var e=this.high;if(t<32){var n=this.low;return je(n>>>t|e<<32-t,e>>>t,this.unsigned)}else return t===32?je(e,0,this.unsigned):je(e>>>t-32,0,this.unsigned)};yt.shru=yt.shiftRightUnsigned;yt.shr_u=yt.shiftRightUnsigned;yt.toSigned=function(){return this.unsigned?je(this.low,this.high,!1):this};yt.toUnsigned=function(){return this.unsigned?this:je(this.low,this.high,!0)};yt.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};yt.toBytesLE=function(){var t=this.high,e=this.low;return[e&255,e>>>8&255,e>>>16&255,e>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};yt.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,e>>>24,e>>>16&255,e>>>8&255,e&255]};Ke.fromBytes=function(t,e,n){return n?Ke.fromBytesLE(t,e):Ke.fromBytesBE(t,e)};Ke.fromBytesLE=function(t,e){return new Ke(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)};Ke.fromBytesBE=function(t,e){return new Ke(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}});var C_=gr(()=>{});var v_=gr(()=>{});var IE=gr((vE,fS)=>{(function(r,t,e){function n(a){var u=this,l=i();u.next=function(){var c=2091639*u.s0+u.c*23283064365386963e-26;return u.s0=u.s1,u.s1=u.s2,u.s2=c-(u.c=c|0)},u.c=1,u.s0=l(\" \"),u.s1=l(\" \"),u.s2=l(\" \"),u.s0-=l(a),u.s0<0&&(u.s0+=1),u.s1-=l(a),u.s1<0&&(u.s1+=1),u.s2-=l(a),u.s2<0&&(u.s2+=1),l=null}function o(a,u){return u.c=a.c,u.s0=a.s0,u.s1=a.s1,u.s2=a.s2,u}function s(a,u){var l=new n(a),c=u&&u.state,p=l.next;return p.int32=function(){return l.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,c&&(typeof c==\"object\"&&o(c,l),p.state=function(){return o(l,{})}),p}function i(){var a=4022871197,u=function(l){l=String(l);for(var c=0;c>>0,p-=a,p*=a,a=p>>>0,p-=a,a+=p*4294967296}return(a>>>0)*23283064365386963e-26};return u}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.alea=s})(vE,typeof fS==\"object\"&&fS,typeof define==\"function\"&&define)});var TE=gr((SE,dS)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.x=0,a.y=0,a.z=0,a.w=0,a.next=function(){var c=a.x^a.x<<11;return a.x=a.y,a.y=a.z,a.z=a.w,a.w^=a.w>>>19^c^c>>>8},i===(i|0)?a.x=i:u+=i;for(var l=0;l>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xor128=s})(SE,typeof dS==\"object\"&&dS,typeof define==\"function\"&&define)});var kE=gr((NE,hS)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.next=function(){var c=a.x^a.x>>>2;return a.x=a.y,a.y=a.z,a.z=a.w,a.w=a.v,(a.d=a.d+362437|0)+(a.v=a.v^a.v<<4^(c^c<<1))|0},a.x=0,a.y=0,a.z=0,a.w=0,a.v=0,i===(i|0)?a.x=i:u+=i;for(var l=0;l>>4),a.next()}function o(i,a){return a.x=i.x,a.y=i.y,a.z=i.z,a.w=i.w,a.v=i.v,a.d=i.d,a}function s(i,a){var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xorwow=s})(NE,typeof hS==\"object\"&&hS,typeof define==\"function\"&&define)});var EE=gr((_E,gS)=>{(function(r,t,e){function n(i){var a=this;a.next=function(){var l=a.x,c=a.i,p,m,f;return p=l[c],p^=p>>>7,m=p^p<<24,p=l[c+1&7],m^=p^p>>>10,p=l[c+3&7],m^=p^p>>>3,p=l[c+4&7],m^=p^p<<7,p=l[c+7&7],p=p^p<<13,m^=p^p<<9,l[c]=m,a.i=c+1&7,m};function u(l,c){var p,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=\"\"+c,p=0;p0;--p)l.next()}u(a,i)}function o(i,a){return a.x=i.x.slice(),a.i=i.i,a}function s(i,a){i==null&&(i=+new Date);var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(l.x&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xorshift7=s})(_E,typeof gS==\"object\"&&gS,typeof define==\"function\"&&define)});var $E=gr((AE,xS)=>{(function(r,t,e){function n(i){var a=this;a.next=function(){var l=a.w,c=a.X,p=a.i,m,f;return a.w=l=l+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,a.i=p,f+(l^l>>>16)|0};function u(l,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;l.w=h,l.X=g,l.i=f}u(a,i)}function o(i,a){return a.i=i.i,a.w=i.w,a.X=i.X.slice(),a}function s(i,a){i==null&&(i=+new Date);var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(l.X&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xor4096=s})(AE,typeof xS==\"object\"&&xS,typeof define==\"function\"&&define)});var RE=gr((DE,yS)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.next=function(){var c=a.b,p=a.c,m=a.d,f=a.a;return c=c<<25^c>>>7^p,p=p-m|0,m=m<<24^m>>>8^f,f=f-c|0,a.b=c=c<<20^c>>>12^p,a.c=p=p-m|0,a.d=m<<16^p>>>16^f,a.a=f-c|0},a.a=0,a.b=0,a.c=-1640531527,a.d=1367130551,i===Math.floor(i)?(a.a=i/4294967296|0,a.b=i|0):u+=i;for(var l=0;l>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.tychei=s})(DE,typeof yS==\"object\"&&yS,typeof define==\"function\"&&define)});var FE=gr(()=>{});var PE=gr((OE,cy)=>{(function(r,t,e){var n=256,o=6,s=52,i=\"random\",a=e.pow(n,o),u=e.pow(2,s),l=u*2,c=n-1,p;function m(w,C,T){var E=[];C=C==!0?{entropy:!0}:C||{};var $=g(h(C.entropy?[w,b(t)]:w==null?x():w,3),E),D=new f(E),P=function(){for(var M=D.g(o),W=a,H=0;M=l;)M/=2,W/=2,H>>>=1;return(M+H)/W};return P.int32=function(){return D.g(4)|0},P.quick=function(){return D.g(4)/4294967296},P.double=P,g(b(D.S),t),(C.pass||T||function(M,W,H,q){return q&&(q.S&&d(q,D),M.state=function(){return d(D,{})}),H?(e[i]=M,W):M})(P,$,\"global\"in C?C.global:this==e,C.state)}function f(w){var C,T=w.length,E=this,$=0,D=E.i=E.j=0,P=E.S=[];for(T||(w=[T++]);${var Tj=IE(),Nj=TE(),kj=kE(),_j=EE(),Ej=$E(),Aj=RE(),sc=PE();sc.alea=Tj;sc.xor128=Nj;sc.xorwow=kj;sc.xorshift7=_j;sc.xor4096=Ej;sc.tychei=Aj;LE.exports=sc});var kT=gr(()=>{});var pw=gr(()=>{});var hg=gr(()=>{});var qW=gr(()=>{});var KW=gr(()=>{});var jW=gr(()=>{});var XW=gr((kv,qk)=>{var Hk=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(t){t=t||{};function e(){return Ft.buffer!=dr&&zo(Ft.buffer),op}function n(){return Ft.buffer!=dr&&zo(Ft.buffer),sp}function o(){return Ft.buffer!=dr&&zo(Ft.buffer),Vd}function s(){return Ft.buffer!=dr&&zo(Ft.buffer),wg}function i(){return Ft.buffer!=dr&&zo(Ft.buffer),Cg}function a(){return Ft.buffer!=dr&&zo(Ft.buffer),vg}function u(){return Ft.buffer!=dr&&zo(Ft.buffer),Ig}var l=typeof t!=\"undefined\"?t:{},c,p;l.ready=new Promise(function(k,R){c=k,p=R});var m;typeof process!=\"undefined\"&&process.listeners&&(m={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var f=Object.assign({},l),d=[],h=\"./this.program\",g=(k,R)=>{throw R},x=typeof window==\"object\",b=typeof importScripts==\"function\",w=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",C=l.ENVIRONMENT_IS_PTHREAD||!1,T=\"\";function E(k){return l.locateFile?l.locateFile(k,T):T+k}var $,D,P,M;function W(k){if(k instanceof Zd)return;K(\"exiting due to exception: \"+k)}var H,q,X;if(w){b?T=hg().dirname(T)+\"/\":T=__dirname+\"/\",X=()=>{q||(H=pw(),q=hg())},$=function(V,Y){return X(),V=q.normalize(V),H.readFileSync(V,Y?void 0:\"utf8\")},P=R=>{var V=$(R,!0);return V.buffer||(V=new Uint8Array(V)),V},D=(R,V,Y)=>{X(),R=q.normalize(R),H.readFile(R,function(ht,wt){ht?Y(ht):V(wt.buffer)})},process.argv.length>1&&(h=process.argv[1].replace(/\\\\/g,\"/\")),d=process.argv.slice(2),process.on(\"uncaughtException\",function(R){if(!(R instanceof Zd))throw R}),process.on(\"unhandledRejection\",function(R){throw R}),g=(R,V)=>{if(Pu())throw process.exitCode=R,V;W(V),process.exit(R)},l.inspect=function(){return\"[Emscripten Module object]\"};let k;try{k=qW()}catch(R){throw console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?'),R}global.Worker=k.Worker}else(x||b)&&(b?T=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(T=document.currentScript.src),typeof r!=\"undefined\"&&r&&(T=r),T.indexOf(\"blob:\")!==0?T=T.substr(0,T.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):T=\"\",w||($=k=>{var R=new XMLHttpRequest;return R.open(\"GET\",k,!1),R.send(null),R.responseText},b&&(P=k=>{var R=new XMLHttpRequest;return R.open(\"GET\",k,!1),R.responseType=\"arraybuffer\",R.send(null),new Uint8Array(R.response)}),D=(k,R,V)=>{var Y=new XMLHttpRequest;Y.open(\"GET\",k,!0),Y.responseType=\"arraybuffer\",Y.onload=()=>{if(Y.status==200||Y.status==0&&Y.response){R(Y.response);return}V()},Y.onerror=V,Y.send(null)}),M=k=>document.title=k);w&&typeof performance==\"undefined\"&&(global.performance=KW().performance);var j=console.log.bind(console),Z=console.warn.bind(console);w&&(X(),j=k=>H.writeSync(1,k+`\n`),Z=k=>H.writeSync(2,k+`\n`));var et=l.print||j,K=l.printErr||Z;Object.assign(l,f),f=null,l.arguments&&(d=l.arguments),l.thisProgram&&(h=l.thisProgram),l.quit&&(g=l.quit);var ot=4;function st(k){st.shown||(st.shown={}),st.shown[k]||(st.shown[k]=1,K(k))}function it(k,R){if(typeof WebAssembly.Function==\"function\"){for(var V={i:\"i32\",j:\"i64\",f:\"f32\",d:\"f64\"},Y={parameters:[],results:R[0]==\"v\"?[]:[V[R[0]]]},ht=1;ht{bt=k},At=Atomics.load,Rt=Atomics.store,qt=Atomics.compareExchange,Kt;l.wasmBinary&&(Kt=l.wasmBinary);var me=l.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&ap(\"no native wasm support detected\");var Ft,Ae,Ie=!1,le;function qe(k,R){k||ap(R)}function Re(k){var R=l[\"_\"+k];return R}function Jr(k,R,V,Y,ht){var wt={string:function(Dn){var xp=0;if(Dn!=null&&Dn!==0){var b1=(Dn.length<<2)+1;xp=gp(b1),$n(Dn,xp,b1)}return xp},array:function(Dn){var xp=gp(Dn.length);return Cl(Dn,xp),xp}};function kt(Dn){return R===\"string\"?qr(Dn):R===\"boolean\"?Boolean(Dn):Dn}var Vt=Re(k),nr=[],Wo=0;if(Y)for(var Uo=0;Uo(V.buffer instanceof SharedArrayBuffer&&(V=new Uint8Array(V)),R.decode.call(R,V))}var Qr=typeof TextDecoder!=\"undefined\"?new Or(\"utf8\"):void 0;function tn(k,R,V){for(var Y=R+V,ht=R;k[ht]&&!(ht>=Y);)++ht;if(ht-R>16&&k.subarray&&Qr)return Qr.decode(k.subarray(R,ht));for(var wt=\"\";R>10,56320|Wo&1023)}}return wt}function qr(k,R){return k?tn(n(),k,R):\"\"}function so(k,R,V,Y){if(!(Y>0))return 0;for(var ht=V,wt=V+Y-1,kt=0;kt=55296&&Vt<=57343){var nr=k.charCodeAt(++kt);Vt=65536+((Vt&1023)<<10)|nr&1023}if(Vt<=127){if(V>=wt)break;R[V++]=Vt}else if(Vt<=2047){if(V+1>=wt)break;R[V++]=192|Vt>>6,R[V++]=128|Vt&63}else if(Vt<=65535){if(V+2>=wt)break;R[V++]=224|Vt>>12,R[V++]=128|Vt>>6&63,R[V++]=128|Vt&63}else{if(V+3>=wt)break;R[V++]=240|Vt>>18,R[V++]=128|Vt>>12&63,R[V++]=128|Vt>>6&63,R[V++]=128|Vt&63}}return R[V]=0,V-ht}function $n(k,R,V){return so(k,n(),R,V)}function Mo(k){for(var R=0,V=0;V=55296&&Y<=57343&&(Y=65536+((Y&1023)<<10)|k.charCodeAt(++V)&1023),Y<=127?++R:Y<=2047?R+=2:Y<=65535?R+=3:R+=4}return R}var io=typeof TextDecoder!=\"undefined\"?new Or(\"utf-16le\"):void 0;function Cl(k,R){e().set(k,R)}function Fu(k,R,V){for(var Y=0;Y>0]=k.charCodeAt(Y);V||(e()[R>>0]=0)}function np(k,R){return k%R>0&&(k+=R-k%R),k}var dr,op,sp,Vd,wg,Cg,Qk,vg,Ig;C&&(dr=l.buffer);function zo(k){dr=k,l.HEAP8=op=new Int8Array(k),l.HEAP16=Vd=new Int16Array(k),l.HEAP32=Cg=new Int32Array(k),l.HEAPU8=sp=new Uint8Array(k),l.HEAPU16=wg=new Uint16Array(k),l.HEAPU32=Qk=new Uint32Array(k),l.HEAPF32=vg=new Float32Array(k),l.HEAPF64=Ig=new Float64Array(k)}var Sg=l.INITIAL_MEMORY||16777216;if(C)Ft=l.wasmMemory,dr=l.buffer;else if(l.wasmMemory)Ft=l.wasmMemory;else if(Ft=new WebAssembly.Memory({initial:Sg/65536,maximum:32768,shared:!0}),!(Ft.buffer instanceof SharedArrayBuffer))throw K(\"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\"),w&&console.log(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)\"),Error(\"bad memory\");Ft&&(dr=Ft.buffer),Sg=dr.byteLength,zo(dr);var Hn,ip=[],vl=[],Av=[],Tg=[],Ou=!1,$v=!1,Ng=0;function Pu(){return me||Ng>0}function en(){if(l.preRun)for(typeof l.preRun==\"function\"&&(l.preRun=[l.preRun]);l.preRun.length;)t1(l.preRun.shift());Ag(ip)}function Gd(){Ou=!0,!C&&Ag(vl)}function Dv(){C||(Ut.terminateAllThreads(),$v=!0)}function Rv(){if(!C){if(l.postRun)for(typeof l.postRun==\"function\"&&(l.postRun=[l.postRun]);l.postRun.length;)Wd(l.postRun.shift());Ag(Tg)}}function t1(k){ip.unshift(k)}function e1(k){vl.unshift(k)}function Wd(k){Tg.unshift(k)}var Il=0,kg=null,Bo=null;function Ud(k){Il++,l.monitorRunDependencies&&l.monitorRunDependencies(Il)}function r1(k){if(Il--,l.monitorRunDependencies&&l.monitorRunDependencies(Il),Il==0&&(kg!==null&&(clearInterval(kg),kg=null),Bo)){var R=Bo;Bo=null,R()}}l.preloadedImages={},l.preloadedAudios={};function ap(k){C?postMessage({cmd:\"onAbort\",arg:k}):l.onAbort&&l.onAbort(k),k=\"Aborted(\"+k+\")\",K(k),Ie=!0,le=1,k+=\". Build with -s ASSERTIONS=1 for more info.\";var R=new WebAssembly.RuntimeError(k);throw p(R),R}var Fv=\"data:application/octet-stream;base64,\";function Hd(k){return k.startsWith(Fv)}function _g(k){return k.startsWith(\"file://\")}var rn;rn=\"tfjs-backend-wasm-threaded-simd.wasm\",Hd(rn)||(rn=E(rn));function Eg(k){try{if(k==rn&&Kt)return new Uint8Array(Kt);if(P)return P(k);throw\"both async and sync fetching of the wasm failed\"}catch(R){ap(R)}}function lp(){if(!Kt&&(x||b)){if(typeof fetch==\"function\"&&!_g(rn))return fetch(rn,{credentials:\"same-origin\"}).then(function(k){if(!k.ok)throw\"failed to load wasm binary file at '\"+rn+\"'\";return k.arrayBuffer()}).catch(function(){return Eg(rn)});if(D)return new Promise(function(k,R){D(rn,function(V){k(new Uint8Array(V))},R)})}return Promise.resolve().then(function(){return Eg(rn)})}function Ov(){var k={env:Gg,wasi_snapshot_preview1:Gg};function R(kt,Vt){var nr=kt.exports;if(l.asm=nr,Gv(l.asm.emscripten_tls_init),Hn=l.asm.__indirect_function_table,e1(l.asm.__wasm_call_ctors),Ae=Vt,!C){var Wo=Ut.unusedWorkers.length;Ut.unusedWorkers.forEach(function(Uo){Ut.loadWasmModuleToWorker(Uo,function(){--Wo||r1(\"wasm-instantiate\")})})}}C||Ud(\"wasm-instantiate\");function V(kt){R(kt.instance,kt.module)}function Y(kt){return lp().then(function(Vt){return WebAssembly.instantiate(Vt,k)}).then(function(Vt){return Vt}).then(kt,function(Vt){K(\"failed to asynchronously prepare wasm: \"+Vt),ap(Vt)})}function ht(){return!Kt&&typeof WebAssembly.instantiateStreaming==\"function\"&&!Hd(rn)&&!_g(rn)&&typeof fetch==\"function\"?fetch(rn,{credentials:\"same-origin\"}).then(function(kt){var Vt=WebAssembly.instantiateStreaming(kt,k);return Vt.then(V,function(nr){return K(\"wasm streaming compile failed: \"+nr),K(\"falling back to ArrayBuffer instantiation\"),Y(V)})}):Y(V)}if(l.instantiateWasm)try{var wt=l.instantiateWasm(k,R);return wt}catch(kt){return K(\"Module.instantiateWasm callback failed with error: \"+kt),!1}return ht().catch(p),{}}var n1,o1,Pv={};function Ag(k){for(;k.length>0;){var R=k.shift();if(typeof R==\"function\"){R(l);continue}var V=R.func;typeof V==\"number\"?R.arg===void 0?cp(V)():cp(V)(R.arg):V(R.arg===void 0?null:R.arg)}}function up(k){var R=u0(),V=k();return Kg(R),V}function oU(k){return k}function s1(k){var R=/\\b_Z[\\w\\d_]+/g;return k.replace(R,function(V){var Y=V;return V===Y?V:Y+\" [\"+V+\"]\"})}function Lv(k){i()[k>>2]=0;var R=Ut.pthreads[k];delete Ut.pthreads[k],R.worker.terminate(),l0(k),Ut.runningWorkers.splice(Ut.runningWorkers.indexOf(R.worker),1),R.worker.pthread=void 0}function Mv(k){var R=Ut.pthreads[k];R.worker.postMessage({cmd:\"cancel\"})}function $g(k){var R=Ut.pthreads[k];if(R){i()[k>>2]=0;var V=R.worker;Ut.returnWorkerToPool(V)}}function Dg(k){KU(k)}function zv(k){if(k instanceof Zd||k==\"unwind\")return le;g(1,k)}var Ut={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],init:function(){C?Ut.initWorker():Ut.initMainThread()},initMainThread:function(){for(var k=8,R=0;R>2]=0;try{k()}finally{i()[y1>>2]=1}},receiveObjectTransfer:function(k){},threadInit:function(){for(var k in Ut.tlsInitFunctions)Ut.tlsInitFunctions[k]()},loadWasmModuleToWorker:function(k,R){k.onmessage=V=>{var Y=V.data,ht=Y.cmd;if(k.pthread&&(Ut.currentProxiedOperationCallerThread=k.pthread.threadInfoStruct),Y.targetThread&&Y.targetThread!=qg()){var wt=Ut.pthreads[Y.targetThread];wt?wt.worker.postMessage(Y,Y.transferList):K('Internal error! Worker sent a message \"'+ht+'\" to target pthread '+Y.targetThread+\", but that thread no longer exists!\"),Ut.currentProxiedOperationCallerThread=void 0;return}ht===\"processQueuedMainThreadWork\"?f1():ht===\"spawnThread\"?Fg(Y):ht===\"cleanupThread\"?$g(Y.thread):ht===\"killThread\"?Lv(Y.thread):ht===\"cancelThread\"?Mv(Y.thread):ht===\"loaded\"?(k.loaded=!0,R&&R(k),k.runPthread&&(k.runPthread(),delete k.runPthread)):ht===\"print\"?et(\"Thread \"+Y.threadId+\": \"+Y.text):ht===\"printErr\"?K(\"Thread \"+Y.threadId+\": \"+Y.text):ht===\"alert\"?alert(\"Thread \"+Y.threadId+\": \"+Y.text):Y.target===\"setimmediate\"?k.postMessage(Y):ht===\"onAbort\"?l.onAbort&&l.onAbort(Y.arg):K(\"worker sent an unknown command \"+ht),Ut.currentProxiedOperationCallerThread=void 0},k.onerror=V=>{var Y=\"worker sent an error!\";throw K(Y+\" \"+V.filename+\":\"+V.lineno+\": \"+V.message),V},w&&(k.on(\"message\",function(V){k.onmessage({data:V})}),k.on(\"error\",function(V){k.onerror(V)}),k.on(\"detachedExit\",function(){})),k.postMessage({cmd:\"load\",urlOrBlob:l.mainScriptUrlOrBlob||r,wasmMemory:Ft,wasmModule:Ae})},allocateUnusedWorker:function(){var k=E(\"tfjs-backend-wasm-threaded-simd.worker.js\");Ut.unusedWorkers.push(new Worker(k))},getNewWorker:function(){return Ut.unusedWorkers.length==0&&(Ut.allocateUnusedWorker(),Ut.loadWasmModuleToWorker(Ut.unusedWorkers[0])),Ut.unusedWorkers.pop()}};function Bv(){var k=qg(),R=i()[k+44>>2],V=i()[k+48>>2],Y=R-V;x1(R,Y),Kg(R)}l.establishStackSpace=Bv;function Rg(k){if(C)return zu(1,0,k);try{Dg(k)}catch(R){zv(R)}}var Lu=[];function cp(k){var R=Lu[k];return R||(k>=Lu.length&&(Lu.length=k+1),Lu[k]=R=Hn.get(k)),R}function Vv(k,R){return cp(k)(R)}l.invokeEntryPoint=Vv;function i1(){var k=new Error;if(!k.stack){try{throw new Error}catch(R){k=R}if(!k.stack)return\"(no stack trace available)\"}return k.stack.toString()}function Gv(k,R,V){Ut.tlsInitFunctions.push(k)}function a1(k,R){Hn.set(k,R),Lu[k]=R}var Mu;w?Mu=()=>{var k=process.hrtime();return k[0]*1e3+k[1]/1e6}:C?Mu=()=>performance.now()-l.__performance_now_clock_drift:Mu=()=>performance.now();var Wv=!0;function Uv(k){return i()[m1()>>2]=k,k}function Hv(k,R){var V;if(k===0)V=Date.now();else if((k===1||k===4)&&Wv)V=Mu();else return Uv(28),-1;return i()[R>>2]=V/1e3|0,i()[R+4>>2]=V%1e3*1e3*1e3|0,0}function qv(k,R){return Hv(k,R)}function Kv(k){d1(k,!b,1,!x),Ut.threadInit()}function jv(k){C?postMessage({cmd:\"cleanupThread\",thread:k}):$g(k)}function Fg(k){var R=Ut.getNewWorker();if(!R)return 6;Ut.runningWorkers.push(R);var V=Ut.pthreads[k.pthread_ptr]={worker:R,threadInfoStruct:k.pthread_ptr};R.pthread=V;var Y={cmd:\"run\",start_routine:k.startRoutine,arg:k.arg,threadInfoStruct:k.pthread_ptr};return R.runPthread=()=>{Y.time=performance.now(),R.postMessage(Y,k.transferList)},R.loaded&&(R.runPthread(),delete R.runPthread),0}function Xv(k,R,V,Y){if(typeof SharedArrayBuffer==\"undefined\")return K(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var ht=[],wt=0;if(C&&(ht.length===0||wt))return h1(687865856,k,R,V,Y);if(wt)return wt;var kt={startRoutine:V,pthread_ptr:k,arg:Y,transferList:ht};return C?(kt.cmd=\"spawnThread\",postMessage(kt,ht),0):Fg(kt)}function Yv(){return 2097152}function Zv(k,R){if(k==R)postMessage({cmd:\"processQueuedMainThreadWork\"});else if(C)postMessage({targetThread:k,cmd:\"processThreadQueue\"});else{var V=Ut.pthreads[k],Y=V&&V.worker;if(!Y)return;Y.postMessage({cmd:\"processThreadQueue\"})}return 1}function Jv(){ap(\"\")}function Qv(){w||b||st(\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\")}function Og(){return 2147483648}function tI(k,R,V){n().copyWithin(k,R,R+V)}function eI(){return w?jW().cpus().length:navigator.hardwareConcurrency}function zu(k,R){var V=arguments.length-2,Y=arguments;return up(function(){for(var ht=V,wt=gp(ht*8),kt=wt>>3,Vt=0;Vt>3,ht=0;ht>>16),zo(Ft.buffer),1}catch(R){}}function oI(k){var R=n().length;if(k=k>>>0,k<=R)return!1;var V=Og();if(k>V)return!1;for(var Y=1;Y<=4;Y*=2){var ht=R*(1+.2/Y);ht=Math.min(ht,k+100663296);var wt=Math.min(V,np(Math.max(k,ht),65536)),kt=nI(wt);if(kt)return!0}return!1}var ne={inEventHandler:0,removeAllEventListeners:function(){for(var k=ne.eventHandlers.length-1;k>=0;--k)ne._removeHandler(k);ne.eventHandlers=[],ne.deferredCalls=[]},registerRemoveEventListeners:function(){ne.removeEventListenersRegistered||(Av.push(ne.removeAllEventListeners),ne.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(k,R,V){function Y(kt,Vt){if(kt.length!=Vt.length)return!1;for(var nr in kt)if(kt[nr]!=Vt[nr])return!1;return!0}for(var ht in ne.deferredCalls){var wt=ne.deferredCalls[ht];if(wt.targetFunction==k&&Y(wt.argsList,V))return}ne.deferredCalls.push({targetFunction:k,precedence:R,argsList:V}),ne.deferredCalls.sort(function(kt,Vt){return kt.precedence>2]=V,i()[wt+4>>2]=Y,i()[wt+8>>2]=ht,a0(k,637534208,R,Y,wt)})},getTargetThreadForEventCallback:function(k){switch(k){case 1:return 0;case 2:return Ut.currentProxiedOperationCallerThread;default:return k}},getNodeNameForTarget:function(k){return k?k==window?\"#window\":k==screen?\"#screen\":k&&k.nodeName?k.nodeName:\"\":\"\"},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function sI(k){var R=Mo(k)+1,V=i0(R);return $n(k,V,R),V}function iI(k,R,V,Y){up(function(){var ht=gp(12),wt=0;R&&(wt=sI(R)),i()[ht>>2]=wt,i()[ht+4>>2]=V,i()[ht+8>>2]=Y,a0(k,657457152,0,wt,ht)})}function aI(k,R,V,Y){R=R?qr(R):\"\",iI(k,R,V,Y)}function lI(k){return k>2?qr(k):k}var uI=[0,typeof document!=\"undefined\"?document:0,typeof window!=\"undefined\"?window:0];function cI(k){k=lI(k);var R=uI[k]||(typeof document!=\"undefined\"?document.querySelector(k):void 0);return R}function Kd(k){return cI(k)}function Pg(k,R,V){var Y=Kd(k);if(!Y)return-4;if(Y.canvasSharedPtr&&(i()[Y.canvasSharedPtr>>2]=R,i()[Y.canvasSharedPtr+4>>2]=V),Y.offscreenCanvas||!Y.controlTransferredOffscreen){Y.offscreenCanvas&&(Y=Y.offscreenCanvas);var ht=!1;if(Y.GLctxObject&&Y.GLctxObject.GLctx){var wt=Y.GLctxObject.GLctx.getParameter(2978);ht=wt[0]===0&&wt[1]===0&&wt[2]===Y.width&&wt[3]===Y.height}Y.width=R,Y.height=V,ht&&Y.GLctxObject.GLctx.viewport(0,0,R,V)}else if(Y.canvasSharedPtr){var kt=i()[Y.canvasSharedPtr+8>>2];return aI(kt,k,R,V),1}else return-4;return 0}function Lg(k,R,V){return C?zu(2,1,k,R,V):Pg(k,R,V)}function pI(k,R,V){var Y=Kd(k);return Y?Pg(k,R,V):Lg(k,R,V)}function mI(){throw\"unwind\"}function fI(k){var R=k.getExtension(\"ANGLE_instanced_arrays\");if(R)return k.vertexAttribDivisor=function(V,Y){R.vertexAttribDivisorANGLE(V,Y)},k.drawArraysInstanced=function(V,Y,ht,wt){R.drawArraysInstancedANGLE(V,Y,ht,wt)},k.drawElementsInstanced=function(V,Y,ht,wt,kt){R.drawElementsInstancedANGLE(V,Y,ht,wt,kt)},1}function dI(k){var R=k.getExtension(\"OES_vertex_array_object\");if(R)return k.createVertexArray=function(){return R.createVertexArrayOES()},k.deleteVertexArray=function(V){R.deleteVertexArrayOES(V)},k.bindVertexArray=function(V){R.bindVertexArrayOES(V)},k.isVertexArray=function(V){return R.isVertexArrayOES(V)},1}function hI(k){var R=k.getExtension(\"WEBGL_draw_buffers\");if(R)return k.drawBuffers=function(V,Y){R.drawBuffersWEBGL(V,Y)},1}function gI(k){return!!(k.multiDrawWebgl=k.getExtension(\"WEBGL_multi_draw\"))}var rr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function(R){rr.lastError||(rr.lastError=R)},getNewId:function(k){for(var R=rr.counter++,V=k.length;V>2]:-1;ht+=qr(i()[V+wt*4>>2],kt<0?void 0:kt)}return ht},createContext:function(k,R){k.getContextSafariWebGL2Fixed||(k.getContextSafariWebGL2Fixed=k.getContext,k.getContext=function(ht,wt){var kt=k.getContextSafariWebGL2Fixed(ht,wt);return ht==\"webgl\"==kt instanceof WebGLRenderingContext?kt:null});var V=k.getContext(\"webgl\",R);if(!V)return 0;var Y=rr.registerContext(V,R);return Y},registerContext:function(k,R){var V=i0(8);i()[V+4>>2]=qg();var Y={handle:V,attributes:R,version:R.majorVersion,GLctx:k};return k.canvas&&(k.canvas.GLctxObject=Y),rr.contexts[V]=Y,(typeof R.enableExtensionsByDefault==\"undefined\"||R.enableExtensionsByDefault)&&rr.initExtensions(Y),V},makeContextCurrent:function(k){return rr.currentContext=rr.contexts[k],l.ctx=Vg=rr.currentContext&&rr.currentContext.GLctx,!(k&&!Vg)},getContext:function(k){return rr.contexts[k]},deleteContext:function(k){rr.currentContext===rr.contexts[k]&&(rr.currentContext=null),typeof ne==\"object\"&&ne.removeAllHandlersOnTarget(rr.contexts[k].GLctx.canvas),rr.contexts[k]&&rr.contexts[k].GLctx.canvas&&(rr.contexts[k].GLctx.canvas.GLctxObject=void 0),p1(rr.contexts[k].handle),rr.contexts[k]=null},initExtensions:function(k){if(k||(k=rr.currentContext),!k.initExtensionsDone){k.initExtensionsDone=!0;var R=k.GLctx;fI(R),dI(R),hI(R),R.disjointTimerQueryExt=R.getExtension(\"EXT_disjoint_timer_query\"),gI(R);var V=R.getSupportedExtensions()||[];V.forEach(function(Y){!Y.includes(\"lose_context\")&&!Y.includes(\"debug\")&&R.getExtension(Y)})}}},xI=[\"default\",\"low-power\",\"high-performance\"];function yI(k,R){var V=R>>2,Y=i()[V+6],ht={alpha:!!i()[V+0],depth:!!i()[V+1],stencil:!!i()[V+2],antialias:!!i()[V+3],premultipliedAlpha:!!i()[V+4],preserveDrawingBuffer:!!i()[V+5],powerPreference:xI[Y],failIfMajorPerformanceCaveat:!!i()[V+7],majorVersion:i()[V+8],minorVersion:i()[V+9],enableExtensionsByDefault:i()[V+10],explicitSwapControl:i()[V+11],proxyContextToMainThread:i()[V+12],renderViaOffscreenBackBuffer:i()[V+13]},wt=Kd(k);if(!wt||ht.explicitSwapControl)return 0;var kt=rr.createContext(wt,ht);return kt}function bI(k,R){return yI(k,R)}var pp={mappings:{},buffers:[null,[],[]],printChar:function(k,R){var V=pp.buffers[k];R===0||R===10?((k===1?et:K)(tn(V,0)),V.length=0):V.push(R)},varargs:void 0,get:function(){pp.varargs+=4;var k=i()[pp.varargs-4>>2];return k},getStr:function(k){var R=qr(k);return R},get64:function(k,R){return k}};function Mg(k){return C?zu(3,1,k):0}function zg(k,R,V,Y,ht){if(C)return zu(4,1,k,R,V,Y,ht)}function Bg(k,R,V,Y){if(C)return zu(5,1,k,R,V,Y);for(var ht=0,wt=0;wt>2],Vt=i()[R+4>>2];R+=8;for(var nr=0;nr>2]=ht,0}function wI(k){Tt(k)}Ut.init();var Vg,CI=[null,Rg,Lg,Mg,zg,Bg],l1=!1,Gg={__clock_gettime:qv,__emscripten_init_main_thread_js:Kv,__emscripten_thread_cleanup:jv,__pthread_create_js:Xv,_emscripten_default_pthread_stack_size:Yv,_emscripten_notify_thread_queue:Zv,abort:Jv,emscripten_check_blocking_allowed:Qv,emscripten_get_heap_max:Og,emscripten_get_now:Mu,emscripten_memcpy_big:tI,emscripten_num_logical_cores:eI,emscripten_receive_on_main_thread_js:rI,emscripten_resize_heap:oI,emscripten_set_canvas_element_size:pI,emscripten_unwind_to_js_event_loop:mI,emscripten_webgl_create_context:bI,exit:Dg,fd_close:Mg,fd_seek:zg,fd_write:Bg,memory:Ft||l.wasmMemory,setTempRet0:wI},u1=Ov(),vI=l.___wasm_call_ctors=function(){return(vI=l.___wasm_call_ctors=l.asm.__wasm_call_ctors).apply(null,arguments)},II=l._init=function(){return(II=l._init=l.asm.init).apply(null,arguments)},SI=l._init_with_threads_count=function(){return(SI=l._init_with_threads_count=l.asm.init_with_threads_count).apply(null,arguments)},TI=l._get_threads_count=function(){return(TI=l._get_threads_count=l.asm.get_threads_count).apply(null,arguments)},NI=l._register_tensor=function(){return(NI=l._register_tensor=l.asm.register_tensor).apply(null,arguments)},kI=l._dispose_data=function(){return(kI=l._dispose_data=l.asm.dispose_data).apply(null,arguments)},_I=l._dispose=function(){return(_I=l._dispose=l.asm.dispose).apply(null,arguments)},EI=l._Abs=function(){return(EI=l._Abs=l.asm.Abs).apply(null,arguments)},AI=l._Add=function(){return(AI=l._Add=l.asm.Add).apply(null,arguments)},$I=l._AddN=function(){return($I=l._AddN=l.asm.AddN).apply(null,arguments)},DI=l._All=function(){return(DI=l._All=l.asm.All).apply(null,arguments)},RI=l._Any=function(){return(RI=l._Any=l.asm.Any).apply(null,arguments)},FI=l._ArgMax=function(){return(FI=l._ArgMax=l.asm.ArgMax).apply(null,arguments)},OI=l._AvgPool=function(){return(OI=l._AvgPool=l.asm.AvgPool).apply(null,arguments)},PI=l._BatchMatMul=function(){return(PI=l._BatchMatMul=l.asm.BatchMatMul).apply(null,arguments)},LI=l._Ceil=function(){return(LI=l._Ceil=l.asm.Ceil).apply(null,arguments)},MI=l._ClipByValue=function(){return(MI=l._ClipByValue=l.asm.ClipByValue).apply(null,arguments)},zI=l._Conv2D=function(){return(zI=l._Conv2D=l.asm.Conv2D).apply(null,arguments)},BI=l._Conv2DBackpropInput=function(){return(BI=l._Conv2DBackpropInput=l.asm.Conv2DBackpropInput).apply(null,arguments)},VI=l._Cos=function(){return(VI=l._Cos=l.asm.Cos).apply(null,arguments)},GI=l._Cosh=function(){return(GI=l._Cosh=l.asm.Cosh).apply(null,arguments)},WI=l._CropAndResize=function(){return(WI=l._CropAndResize=l.asm.CropAndResize).apply(null,arguments)},UI=l._Cumprod=function(){return(UI=l._Cumprod=l.asm.Cumprod).apply(null,arguments)},HI=l._Cumsum=function(){return(HI=l._Cumsum=l.asm.Cumsum).apply(null,arguments)},qI=l._DepthToSpace=function(){return(qI=l._DepthToSpace=l.asm.DepthToSpace).apply(null,arguments)},KI=l._DepthwiseConv2dNative=function(){return(KI=l._DepthwiseConv2dNative=l.asm.DepthwiseConv2dNative).apply(null,arguments)},jI=l._Elu=function(){return(jI=l._Elu=l.asm.Elu).apply(null,arguments)},XI=l._Equal=function(){return(XI=l._Equal=l.asm.Equal).apply(null,arguments)},YI=l._Exp=function(){return(YI=l._Exp=l.asm.Exp).apply(null,arguments)},ZI=l._FlipLeftRight=function(){return(ZI=l._FlipLeftRight=l.asm.FlipLeftRight).apply(null,arguments)},JI=l._Floor=function(){return(JI=l._Floor=l.asm.Floor).apply(null,arguments)},QI=l._FloorDiv=function(){return(QI=l._FloorDiv=l.asm.FloorDiv).apply(null,arguments)},t0=l._FusedBatchNorm=function(){return(t0=l._FusedBatchNorm=l.asm.FusedBatchNorm).apply(null,arguments)},e0=l._FusedConv2D=function(){return(e0=l._FusedConv2D=l.asm.FusedConv2D).apply(null,arguments)},Wg=l._FusedDepthwiseConv2D=function(){return(Wg=l._FusedDepthwiseConv2D=l.asm.FusedDepthwiseConv2D).apply(null,arguments)},Ug=l._Gather=function(){return(Ug=l._Gather=l.asm.Gather).apply(null,arguments)},jd=l._GatherNd=function(){return(jd=l._GatherNd=l.asm.GatherNd).apply(null,arguments)},r0=l._Greater=function(){return(r0=l._Greater=l.asm.Greater).apply(null,arguments)},n0=l._GreaterEqual=function(){return(n0=l._GreaterEqual=l.asm.GreaterEqual).apply(null,arguments)},mp=l._LeakyRelu=function(){return(mp=l._LeakyRelu=l.asm.LeakyRelu).apply(null,arguments)},Xd=l._Less=function(){return(Xd=l._Less=l.asm.Less).apply(null,arguments)},Yd=l._LessEqual=function(){return(Yd=l._LessEqual=l.asm.LessEqual).apply(null,arguments)},c1=l._Log=function(){return(c1=l._Log=l.asm.Log).apply(null,arguments)},fp=l._LogicalAnd=function(){return(fp=l._LogicalAnd=l.asm.LogicalAnd).apply(null,arguments)},dp=l._LogicalNot=function(){return(dp=l._LogicalNot=l.asm.LogicalNot).apply(null,arguments)},o0=l._LogicalOr=function(){return(o0=l._LogicalOr=l.asm.LogicalOr).apply(null,arguments)},U=l._LogicalXor=function(){return(U=l._LogicalXor=l.asm.LogicalXor).apply(null,arguments)},Q=l._Max=function(){return(Q=l._Max=l.asm.Max).apply(null,arguments)},xt=l._MaxPool=function(){return(xt=l._MaxPool=l.asm.MaxPool).apply(null,arguments)},$t=l._Maximum=function(){return($t=l._Maximum=l.asm.Maximum).apply(null,arguments)},he=l._Mean=function(){return(he=l._Mean=l.asm.Mean).apply(null,arguments)},xe=l._Min=function(){return(xe=l._Min=l.asm.Min).apply(null,arguments)},oe=l._Minimum=function(){return(oe=l._Minimum=l.asm.Minimum).apply(null,arguments)},ee=l._MirrorPad=function(){return(ee=l._MirrorPad=l.asm.MirrorPad).apply(null,arguments)},hr=l._Multiply=function(){return(hr=l._Multiply=l.asm.Multiply).apply(null,arguments)},Vo=l._Neg=function(){return(Vo=l._Neg=l.asm.Neg).apply(null,arguments)},Go=l._NonMaxSuppressionV3=function(){return(Go=l._NonMaxSuppressionV3=l.asm.NonMaxSuppressionV3).apply(null,arguments)},hp=l._NonMaxSuppressionV4=function(){return(hp=l._NonMaxSuppressionV4=l.asm.NonMaxSuppressionV4).apply(null,arguments)},Bu=l._NonMaxSuppressionV5=function(){return(Bu=l._NonMaxSuppressionV5=l.asm.NonMaxSuppressionV5).apply(null,arguments)},s0=l._NotEqual=function(){return(s0=l._NotEqual=l.asm.NotEqual).apply(null,arguments)},nn=l._OneHot=function(){return(nn=l._OneHot=l.asm.OneHot).apply(null,arguments)},Sl=l._PadV2=function(){return(Sl=l._PadV2=l.asm.PadV2).apply(null,arguments)},Hg=l._Pow=function(){return(Hg=l._Pow=l.asm.Pow).apply(null,arguments)},sU=l._Prelu=function(){return(sU=l._Prelu=l.asm.Prelu).apply(null,arguments)},iU=l._Prod=function(){return(iU=l._Prod=l.asm.Prod).apply(null,arguments)},aU=l._RealDiv=function(){return(aU=l._RealDiv=l.asm.RealDiv).apply(null,arguments)},lU=l._Relu=function(){return(lU=l._Relu=l.asm.Relu).apply(null,arguments)},uU=l._Relu6=function(){return(uU=l._Relu6=l.asm.Relu6).apply(null,arguments)},cU=l._ResizeBilinear=function(){return(cU=l._ResizeBilinear=l.asm.ResizeBilinear).apply(null,arguments)},pU=l._ResizeNearestNeighbor=function(){return(pU=l._ResizeNearestNeighbor=l.asm.ResizeNearestNeighbor).apply(null,arguments)},mU=l._Reverse=function(){return(mU=l._Reverse=l.asm.Reverse).apply(null,arguments)},fU=l._RotateWithOffset=function(){return(fU=l._RotateWithOffset=l.asm.RotateWithOffset).apply(null,arguments)},dU=l._Round=function(){return(dU=l._Round=l.asm.Round).apply(null,arguments)},hU=l._Rsqrt=function(){return(hU=l._Rsqrt=l.asm.Rsqrt).apply(null,arguments)},gU=l._ScatterNd=function(){return(gU=l._ScatterNd=l.asm.ScatterNd).apply(null,arguments)},xU=l._SelectV2=function(){return(xU=l._SelectV2=l.asm.SelectV2).apply(null,arguments)},yU=l._Sigmoid=function(){return(yU=l._Sigmoid=l.asm.Sigmoid).apply(null,arguments)},bU=l._Sin=function(){return(bU=l._Sin=l.asm.Sin).apply(null,arguments)},wU=l._Softmax=function(){return(wU=l._Softmax=l.asm.Softmax).apply(null,arguments)},CU=l._SparseFillEmptyRows=function(){return(CU=l._SparseFillEmptyRows=l.asm.SparseFillEmptyRows).apply(null,arguments)},vU=l._SparseReshape=function(){return(vU=l._SparseReshape=l.asm.SparseReshape).apply(null,arguments)},IU=l._SparseSegmentReduction=function(){return(IU=l._SparseSegmentReduction=l.asm.SparseSegmentReduction).apply(null,arguments)},SU=l._Sqrt=function(){return(SU=l._Sqrt=l.asm.Sqrt).apply(null,arguments)},TU=l._Square=function(){return(TU=l._Square=l.asm.Square).apply(null,arguments)},NU=l._SquaredDifference=function(){return(NU=l._SquaredDifference=l.asm.SquaredDifference).apply(null,arguments)},kU=l._Step=function(){return(kU=l._Step=l.asm.Step).apply(null,arguments)},_U=l._StridedSlice=function(){return(_U=l._StridedSlice=l.asm.StridedSlice).apply(null,arguments)},EU=l._Sub=function(){return(EU=l._Sub=l.asm.Sub).apply(null,arguments)},AU=l._Sum=function(){return(AU=l._Sum=l.asm.Sum).apply(null,arguments)},$U=l._Tan=function(){return($U=l._Tan=l.asm.Tan).apply(null,arguments)},DU=l._Tanh=function(){return(DU=l._Tanh=l.asm.Tanh).apply(null,arguments)},RU=l._Tile=function(){return(RU=l._Tile=l.asm.Tile).apply(null,arguments)},FU=l._TopK=function(){return(FU=l._TopK=l.asm.TopK).apply(null,arguments)},OU=l._Transform=function(){return(OU=l._Transform=l.asm.Transform).apply(null,arguments)},PU=l._Transpose=function(){return(PU=l._Transpose=l.asm.Transpose).apply(null,arguments)},LU=l.__FusedMatMul=function(){return(LU=l.__FusedMatMul=l.asm._FusedMatMul).apply(null,arguments)},i0=l._malloc=function(){return(i0=l._malloc=l.asm.malloc).apply(null,arguments)},p1=l._free=function(){return(p1=l._free=l.asm.free).apply(null,arguments)},MU=l._emscripten_tls_init=function(){return(MU=l._emscripten_tls_init=l.asm.emscripten_tls_init).apply(null,arguments)},m1=l.___errno_location=function(){return(m1=l.___errno_location=l.asm.__errno_location).apply(null,arguments)},qg=l._pthread_self=function(){return(qg=l._pthread_self=l.asm.pthread_self).apply(null,arguments)},f1=l._emscripten_main_thread_process_queued_calls=function(){return(f1=l._emscripten_main_thread_process_queued_calls=l.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},zU=l.__emscripten_thread_crashed=function(){return(zU=l.__emscripten_thread_crashed=l.asm._emscripten_thread_crashed).apply(null,arguments)},d1=l.__emscripten_thread_init=function(){return(d1=l.__emscripten_thread_init=l.asm._emscripten_thread_init).apply(null,arguments)},BU=l._emscripten_current_thread_process_queued_calls=function(){return(BU=l._emscripten_current_thread_process_queued_calls=l.asm.emscripten_current_thread_process_queued_calls).apply(null,arguments)},VU=l._emscripten_main_browser_thread_id=function(){return(VU=l._emscripten_main_browser_thread_id=l.asm.emscripten_main_browser_thread_id).apply(null,arguments)},GU=l._emscripten_sync_run_in_main_thread_2=function(){return(GU=l._emscripten_sync_run_in_main_thread_2=l.asm.emscripten_sync_run_in_main_thread_2).apply(null,arguments)},h1=l._emscripten_sync_run_in_main_thread_4=function(){return(h1=l._emscripten_sync_run_in_main_thread_4=l.asm.emscripten_sync_run_in_main_thread_4).apply(null,arguments)},g1=l._emscripten_run_in_main_runtime_thread_js=function(){return(g1=l._emscripten_run_in_main_runtime_thread_js=l.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},a0=l._emscripten_dispatch_to_thread_=function(){return(a0=l._emscripten_dispatch_to_thread_=l.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},l0=l.__emscripten_thread_free_data=function(){return(l0=l.__emscripten_thread_free_data=l.asm._emscripten_thread_free_data).apply(null,arguments)},WU=l.__emscripten_thread_exit=function(){return(WU=l.__emscripten_thread_exit=l.asm._emscripten_thread_exit).apply(null,arguments)},UU=l._memalign=function(){return(UU=l._memalign=l.asm.memalign).apply(null,arguments)},x1=l._emscripten_stack_set_limits=function(){return(x1=l._emscripten_stack_set_limits=l.asm.emscripten_stack_set_limits).apply(null,arguments)},u0=l.stackSave=function(){return(u0=l.stackSave=l.asm.stackSave).apply(null,arguments)},Kg=l.stackRestore=function(){return(Kg=l.stackRestore=l.asm.stackRestore).apply(null,arguments)},gp=l.stackAlloc=function(){return(gp=l.stackAlloc=l.asm.stackAlloc).apply(null,arguments)},HU=l.dynCall_iijjiiii=function(){return(HU=l.dynCall_iijjiiii=l.asm.dynCall_iijjiiii).apply(null,arguments)},qU=l.dynCall_jiji=function(){return(qU=l.dynCall_jiji=l.asm.dynCall_jiji).apply(null,arguments)},y1=l.__emscripten_allow_main_runtime_queued_calls=21672;l.cwrap=Me,l.keepRuntimeAlive=Pu,l.PThread=Ut,l.PThread=Ut,l.wasmMemory=Ft,l.ExitStatus=Zd;var jg;function Zd(k){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+k+\")\",this.status=k}Bo=function k(){jg||c0(),jg||(Bo=k)};function c0(k){if(k=k||d,Il>0)return;if(C){c(l),Gd(),postMessage({cmd:\"loaded\"});return}if(en(),Il>0)return;function R(){jg||(jg=!0,l.calledRun=!0,!Ie&&(Gd(),c(l),l.onRuntimeInitialized&&l.onRuntimeInitialized(),Rv()))}l.setStatus?(l.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){l.setStatus(\"\")},1),R()},1)):R()}l.run=c0;function KU(k,R){if(le=k,!R&&C)throw Rg(k),\"unwind\";Pu()||Dv(),jU(k)}function jU(k){le=k,Pu()||(Ut.terminateAllThreads(),l.onExit&&l.onExit(k),Ie=!0),g(k,new Zd(k))}if(l.preInit)for(typeof l.preInit==\"function\"&&(l.preInit=[l.preInit]);l.preInit.length>0;)l.preInit.pop()();c0();var Xg;m&&(Xg={uncaughtException:process.listeners(\"uncaughtException\").filter(function(k){return!m.uncaughtException.indexOf(k)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(k){return!m.unhandledRejection.indexOf(k)>-1})});var Yg;if(typeof WasmBackendModule!=\"undefined\")Yg=WasmBackendModule;else if(typeof t!=\"undefined\")Yg=t;else throw new Error(\"Could not find wasm module in post.js\");if(Xg){var XU=Yg._dispose;Yg._dispose=function(){XU(),Xg.uncaughtException.forEach(function(k){process.removeListener(\"uncaughtException\",k)}),Xg.unhandledRejection.forEach(function(k){process.removeListener(\"unhandledRejection\",k)})}}return t.ready}})();typeof kv==\"object\"&&typeof qk==\"object\"?qk.exports=Hk:typeof define==\"function\"&&define.amd?define([],function(){return Hk}):typeof kv==\"object\"&&(kv.WasmBackendModuleThreadedSimd=Hk)});var ZW=gr((B5e,YW)=>{YW.exports.wasmWorkerContents=`\"use strict\";var Module={};var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\");var parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",function(data){onmessage({data:data})});var fs=require(\"fs\");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,\"utf8\"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+\"\n\");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:text,threadId:Module[\"_pthread_self\"]()})}var err=threadPrintErr;self.alert=threadAlert;Module[\"instantiateWasm\"]=((info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module[\"wasmModule\"],info);receiveInstance(instance);Module[\"wasmModule\"]=null;return instance.exports});self.onmessage=(e=>{try{if(e.data.cmd===\"load\"){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)}WasmBackendModuleThreadedSimd(Module).then(function(instance){Module=instance})}else if(e.data.cmd===\"run\"){Module[\"__performance_now_clock_drift\"]=performance.now()-e.data.time;Module[\"__emscripten_thread_init\"](e.data.threadInfoStruct,0,0,1);Module[\"establishStackSpace\"]();Module[\"PThread\"].receiveObjectTransfer(e.data);Module[\"PThread\"].threadInit();try{var result=Module[\"invokeEntryPoint\"](e.data.start_routine,e.data.arg);if(Module[\"keepRuntimeAlive\"]()){Module[\"PThread\"].setExitStatus(result)}else{Module[\"__emscripten_thread_exit\"](result)}}catch(ex){if(ex!=\"unwind\"){if(ex instanceof Module[\"ExitStatus\"]){if(Module[\"keepRuntimeAlive\"]()){}else{Module[\"__emscripten_thread_exit\"](ex.status)}}else{throw ex}}}}else if(e.data.cmd===\"cancel\"){if(Module[\"_pthread_self\"]()){Module[\"__emscripten_thread_exit\"](-1)}}else if(e.data.target===\"setimmediate\"){}else if(e.data.cmd===\"processThreadQueue\"){if(Module[\"_pthread_self\"]()){Module[\"_emscripten_current_thread_process_queued_calls\"]()}}else if(e.data.cmd===\"processProxyingQueue\"){if(Module[\"_pthread_self\"]()){Module[\"_emscripten_proxy_execute_queue\"](e.data.queue)}}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&&ex.stack)err(ex.stack);if(Module[\"__emscripten_thread_crashed\"]){Module[\"__emscripten_thread_crashed\"]()}throw ex}});`});var JW=gr((_v,jk)=>{var Kk=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(t){t=t||{};var e=typeof t!=\"undefined\"?t:{},n,o;e.ready=new Promise(function(U,Q){n=U,o=Q});var s;typeof process!=\"undefined\"&&process.listeners&&(s={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var i=Object.assign({},e),a=[],u=\"./this.program\",l=(U,Q)=>{throw Q},c=typeof window==\"object\",p=typeof importScripts==\"function\",m=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",f=\"\";function d(U){return e.locateFile?e.locateFile(U,f):f+U}var h,g,x,b;function w(U){if(U instanceof Xd)return;D(\"exiting due to exception: \"+U)}var C,T,E;m?(p?f=hg().dirname(f)+\"/\":f=__dirname+\"/\",E=()=>{T||(C=pw(),T=hg())},h=function(Q,xt){return E(),Q=T.normalize(Q),C.readFileSync(Q,xt?void 0:\"utf8\")},x=U=>{var Q=h(U,!0);return Q.buffer||(Q=new Uint8Array(Q)),Q},g=(U,Q,xt)=>{E(),U=T.normalize(U),C.readFile(U,function($t,he){$t?xt($t):Q(he.buffer)})},process.argv.length>1&&(u=process.argv[1].replace(/\\\\/g,\"/\")),a=process.argv.slice(2),process.on(\"uncaughtException\",function(U){if(!(U instanceof Xd))throw U}),process.on(\"unhandledRejection\",function(U){throw U}),l=(U,Q)=>{if(Vd())throw process.exitCode=U,Q;w(Q),process.exit(U)},e.inspect=function(){return\"[Emscripten Module object]\"}):(c||p)&&(p?f=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f.indexOf(\"blob:\")!==0?f=f.substr(0,f.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):f=\"\",h=U=>{var Q=new XMLHttpRequest;return Q.open(\"GET\",U,!1),Q.send(null),Q.responseText},p&&(x=U=>{var Q=new XMLHttpRequest;return Q.open(\"GET\",U,!1),Q.responseType=\"arraybuffer\",Q.send(null),new Uint8Array(Q.response)}),g=(U,Q,xt)=>{var $t=new XMLHttpRequest;$t.open(\"GET\",U,!0),$t.responseType=\"arraybuffer\",$t.onload=()=>{if($t.status==200||$t.status==0&&$t.response){Q($t.response);return}xt()},$t.onerror=xt,$t.send(null)},b=U=>document.title=U);var $=e.print||console.log.bind(console),D=e.printErr||console.warn.bind(console);Object.assign(e,i),i=null,e.arguments&&(a=e.arguments),e.thisProgram&&(u=e.thisProgram),e.quit&&(l=e.quit);var P=4;function M(U){M.shown||(M.shown={}),M.shown[U]||(M.shown[U]=1,D(U))}function W(U,Q){if(typeof WebAssembly.Function==\"function\"){for(var xt={i:\"i32\",j:\"i64\",f:\"f32\",d:\"f64\"},$t={parameters:[],results:Q[0]==\"v\"?[]:[xt[Q[0]]]},he=1;he{Z=U},K;e.wasmBinary&&(K=e.wasmBinary);var ot=e.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&Ou(\"no native wasm support detected\");var st,it=!1,pt;function at(U,Q){U||Ou(Q)}function gt(U){var Q=e[\"_\"+U];return Q}function dt(U,Q,xt,$t,he){var xe={string:function(nn){var Sl=0;if(nn!=null&&nn!==0){var Hg=(nn.length<<2)+1;Sl=jd(Hg),me(nn,Sl,Hg)}return Sl},array:function(nn){var Sl=jd(nn.length);return Ie(nn,Sl),Sl}};function oe(nn){return Q===\"string\"?qt(nn):Q===\"boolean\"?Boolean(nn):nn}var ee=gt(U),hr=[],Vo=0;if($t)for(var Go=0;Go<$t.length;Go++){var hp=xe[xt[Go]];hp?(Vo===0&&(Vo=Wg()),hr[Go]=hp($t[Go])):hr[Go]=$t[Go]}var Bu=ee.apply(null,hr);function s0(nn){return Vo!==0&&Ug(Vo),oe(nn)}return Bu=s0(Bu),Bu}function bt(U,Q,xt,$t){xt=xt||[];var he=xt.every(function(oe){return oe===\"number\"}),xe=Q!==\"string\";return xe&&he&&!$t?gt(U):function(){return dt(U,Q,xt,arguments,$t)}}var Tt=1,At=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function Rt(U,Q,xt){for(var $t=Q+xt,he=Q;U[he]&&!(he>=$t);)++he;if(he-Q>16&&U.subarray&&At)return At.decode(U.subarray(Q,he));for(var xe=\"\";Q>10,56320|Vo&1023)}}return xe}function qt(U,Q){return U?Rt(Me,U,Q):\"\"}function Kt(U,Q,xt,$t){if(!($t>0))return 0;for(var he=xt,xe=xt+$t-1,oe=0;oe=55296&&ee<=57343){var hr=U.charCodeAt(++oe);ee=65536+((ee&1023)<<10)|hr&1023}if(ee<=127){if(xt>=xe)break;Q[xt++]=ee}else if(ee<=2047){if(xt+1>=xe)break;Q[xt++]=192|ee>>6,Q[xt++]=128|ee&63}else if(ee<=65535){if(xt+2>=xe)break;Q[xt++]=224|ee>>12,Q[xt++]=128|ee>>6&63,Q[xt++]=128|ee&63}else{if(xt+3>=xe)break;Q[xt++]=240|ee>>18,Q[xt++]=128|ee>>12&63,Q[xt++]=128|ee>>6&63,Q[xt++]=128|ee&63}}return Q[xt]=0,xt-he}function me(U,Q,xt){return Kt(U,Me,Q,xt)}function Ft(U){for(var Q=0,xt=0;xt=55296&&$t<=57343&&($t=65536+(($t&1023)<<10)|U.charCodeAt(++xt)&1023),$t<=127?++Q:$t<=2047?Q+=2:$t<=65535?Q+=3:Q+=4}return Q}var Ae=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):void 0;function Ie(U,Q){Jr.set(U,Q)}function le(U,Q,xt){for(var $t=0;$t>0]=U.charCodeAt($t);xt||(Jr[Q>>0]=0)}function qe(U,Q){return U%Q>0&&(U+=Q-U%Q),U}var Re,Jr,Me,Lo,Or,Qr,tn,qr,so;function $n(U){Re=U,e.HEAP8=Jr=new Int8Array(U),e.HEAP16=Lo=new Int16Array(U),e.HEAP32=Qr=new Int32Array(U),e.HEAPU8=Me=new Uint8Array(U),e.HEAPU16=Or=new Uint16Array(U),e.HEAPU32=tn=new Uint32Array(U),e.HEAPF32=qr=new Float32Array(U),e.HEAPF64=so=new Float64Array(U)}var Mo=e.INITIAL_MEMORY||16777216,io,Cl=[],Fu=[],np=[],dr=!1,op=!1,sp=0;function Vd(){return ot||sp>0}function wg(){if(e.preRun)for(typeof e.preRun==\"function\"&&(e.preRun=[e.preRun]);e.preRun.length;)Ig(e.preRun.shift());Wd(Cl)}function Cg(){dr=!0,Wd(Fu)}function Qk(){op=!0}function vg(){if(e.postRun)for(typeof e.postRun==\"function\"&&(e.postRun=[e.postRun]);e.postRun.length;)Sg(e.postRun.shift());Wd(np)}function Ig(U){Cl.unshift(U)}function zo(U){Fu.unshift(U)}function Sg(U){np.unshift(U)}var Hn=0,ip=null,vl=null;function Av(U){Hn++,e.monitorRunDependencies&&e.monitorRunDependencies(Hn)}function Tg(U){if(Hn--,e.monitorRunDependencies&&e.monitorRunDependencies(Hn),Hn==0&&(ip!==null&&(clearInterval(ip),ip=null),vl)){var Q=vl;vl=null,Q()}}e.preloadedImages={},e.preloadedAudios={};function Ou(U){e.onAbort&&e.onAbort(U),U=\"Aborted(\"+U+\")\",D(U),it=!0,pt=1,U+=\". Build with -s ASSERTIONS=1 for more info.\";var Q=new WebAssembly.RuntimeError(U);throw o(Q),Q}var $v=\"data:application/octet-stream;base64,\";function Ng(U){return U.startsWith($v)}function Pu(U){return U.startsWith(\"file://\")}var en;en=\"tfjs-backend-wasm.wasm\",Ng(en)||(en=d(en));function Gd(U){try{if(U==en&&K)return new Uint8Array(K);if(x)return x(U);throw\"both async and sync fetching of the wasm failed\"}catch(Q){Ou(Q)}}function Dv(){if(!K&&(c||p)){if(typeof fetch==\"function\"&&!Pu(en))return fetch(en,{credentials:\"same-origin\"}).then(function(U){if(!U.ok)throw\"failed to load wasm binary file at '\"+en+\"'\";return U.arrayBuffer()}).catch(function(){return Gd(en)});if(g)return new Promise(function(U,Q){g(en,function(xt){U(new Uint8Array(xt))},Q)})}return Promise.resolve().then(function(){return Gd(en)})}function Rv(){var U={env:up,wasi_snapshot_preview1:up};function Q(oe,ee){var hr=oe.exports;e.asm=hr,st=e.asm.memory,$n(st.buffer),io=e.asm.__indirect_function_table,zo(e.asm.__wasm_call_ctors),Tg(\"wasm-instantiate\")}Av(\"wasm-instantiate\");function xt(oe){Q(oe.instance)}function $t(oe){return Dv().then(function(ee){return WebAssembly.instantiate(ee,U)}).then(function(ee){return ee}).then(oe,function(ee){D(\"failed to asynchronously prepare wasm: \"+ee),Ou(ee)})}function he(){return!K&&typeof WebAssembly.instantiateStreaming==\"function\"&&!Ng(en)&&!Pu(en)&&typeof fetch==\"function\"?fetch(en,{credentials:\"same-origin\"}).then(function(oe){var ee=WebAssembly.instantiateStreaming(oe,U);return ee.then(xt,function(hr){return D(\"wasm streaming compile failed: \"+hr),D(\"falling back to ArrayBuffer instantiation\"),$t(xt)})}):$t(xt)}if(e.instantiateWasm)try{var xe=e.instantiateWasm(U,Q);return xe}catch(oe){return D(\"Module.instantiateWasm callback failed with error: \"+oe),!1}return he().catch(o),{}}var t1,e1;function Wd(U){for(;U.length>0;){var Q=U.shift();if(typeof Q==\"function\"){Q(e);continue}var xt=Q.func;typeof xt==\"number\"?Q.arg===void 0?Ud(xt)():Ud(xt)(Q.arg):xt(Q.arg===void 0?null:Q.arg)}}function Il(U){return U}function kg(U){var Q=/\\b_Z[\\w\\d_]+/g;return U.replace(Q,function(xt){var $t=xt;return xt===$t?xt:$t+\" [\"+xt+\"]\"})}var Bo=[];function Ud(U){var Q=Bo[U];return Q||(U>=Bo.length&&(Bo.length=U+1),Bo[U]=Q=io.get(U)),Q}function r1(){var U=new Error;if(!U.stack){try{throw new Error}catch(Q){U=Q}if(!U.stack)return\"(no stack trace available)\"}return U.stack.toString()}function ap(U,Q){io.set(U,Q),Bo[U]=Q}function Fv(){Ou(\"\")}function Hd(){return 2147483648}function _g(U,Q,xt){Me.copyWithin(U,Q,Q+xt)}function rn(U){try{return st.grow(U-Re.byteLength+65535>>>16),$n(st.buffer),1}catch(Q){}}function Eg(U){var Q=Me.length;U=U>>>0;var xt=Hd();if(U>xt)return!1;for(var $t=1;$t<=4;$t*=2){var he=Q*(1+.2/$t);he=Math.min(he,U+100663296);var xe=Math.min(xt,qe(Math.max(U,he),65536)),oe=rn(xe);if(oe)return!0}return!1}var lp={mappings:{},buffers:[null,[],[]],printChar:function(U,Q){var xt=lp.buffers[U];Q===0||Q===10?((U===1?$:D)(Rt(xt,0)),xt.length=0):xt.push(Q)},varargs:void 0,get:function(){lp.varargs+=4;var U=Qr[lp.varargs-4>>2];return U},getStr:function(U){var Q=qt(U);return Q},get64:function(U,Q){return U}};function Ov(U){return 0}function n1(U,Q,xt,$t,he){}function o1(U,Q,xt,$t){for(var he=0,xe=0;xe>2],ee=Qr[Q+4>>2];Q+=8;for(var hr=0;hr>2]=he,0}function Pv(U){et(U)}var Ag=!1,up={abort:Fv,emscripten_get_heap_max:Hd,emscripten_memcpy_big:_g,emscripten_resize_heap:Eg,fd_close:Ov,fd_seek:n1,fd_write:o1,setTempRet0:Pv},oU=Rv(),s1=e.___wasm_call_ctors=function(){return(s1=e.___wasm_call_ctors=e.asm.__wasm_call_ctors).apply(null,arguments)},Lv=e._init=function(){return(Lv=e._init=e.asm.init).apply(null,arguments)},Mv=e._init_with_threads_count=function(){return(Mv=e._init_with_threads_count=e.asm.init_with_threads_count).apply(null,arguments)},$g=e._get_threads_count=function(){return($g=e._get_threads_count=e.asm.get_threads_count).apply(null,arguments)},Dg=e._register_tensor=function(){return(Dg=e._register_tensor=e.asm.register_tensor).apply(null,arguments)},zv=e._dispose_data=function(){return(zv=e._dispose_data=e.asm.dispose_data).apply(null,arguments)},Ut=e._dispose=function(){return(Ut=e._dispose=e.asm.dispose).apply(null,arguments)},Bv=e._Abs=function(){return(Bv=e._Abs=e.asm.Abs).apply(null,arguments)},Rg=e._Add=function(){return(Rg=e._Add=e.asm.Add).apply(null,arguments)},Lu=e._AddN=function(){return(Lu=e._AddN=e.asm.AddN).apply(null,arguments)},cp=e._All=function(){return(cp=e._All=e.asm.All).apply(null,arguments)},Vv=e._Any=function(){return(Vv=e._Any=e.asm.Any).apply(null,arguments)},i1=e._ArgMax=function(){return(i1=e._ArgMax=e.asm.ArgMax).apply(null,arguments)},Gv=e._AvgPool=function(){return(Gv=e._AvgPool=e.asm.AvgPool).apply(null,arguments)},a1=e._BatchMatMul=function(){return(a1=e._BatchMatMul=e.asm.BatchMatMul).apply(null,arguments)},Mu=e._Ceil=function(){return(Mu=e._Ceil=e.asm.Ceil).apply(null,arguments)},Wv=e._ClipByValue=function(){return(Wv=e._ClipByValue=e.asm.ClipByValue).apply(null,arguments)},Uv=e._Conv2D=function(){return(Uv=e._Conv2D=e.asm.Conv2D).apply(null,arguments)},Hv=e._Conv2DBackpropInput=function(){return(Hv=e._Conv2DBackpropInput=e.asm.Conv2DBackpropInput).apply(null,arguments)},qv=e._Cos=function(){return(qv=e._Cos=e.asm.Cos).apply(null,arguments)},Kv=e._Cosh=function(){return(Kv=e._Cosh=e.asm.Cosh).apply(null,arguments)},jv=e._CropAndResize=function(){return(jv=e._CropAndResize=e.asm.CropAndResize).apply(null,arguments)},Fg=e._Cumprod=function(){return(Fg=e._Cumprod=e.asm.Cumprod).apply(null,arguments)},Xv=e._Cumsum=function(){return(Xv=e._Cumsum=e.asm.Cumsum).apply(null,arguments)},Yv=e._DepthToSpace=function(){return(Yv=e._DepthToSpace=e.asm.DepthToSpace).apply(null,arguments)},Zv=e._DepthwiseConv2dNative=function(){return(Zv=e._DepthwiseConv2dNative=e.asm.DepthwiseConv2dNative).apply(null,arguments)},Jv=e._Elu=function(){return(Jv=e._Elu=e.asm.Elu).apply(null,arguments)},Qv=e._Equal=function(){return(Qv=e._Equal=e.asm.Equal).apply(null,arguments)},Og=e._Exp=function(){return(Og=e._Exp=e.asm.Exp).apply(null,arguments)},tI=e._FlipLeftRight=function(){return(tI=e._FlipLeftRight=e.asm.FlipLeftRight).apply(null,arguments)},eI=e._Floor=function(){return(eI=e._Floor=e.asm.Floor).apply(null,arguments)},zu=e._FloorDiv=function(){return(zu=e._FloorDiv=e.asm.FloorDiv).apply(null,arguments)},qd=e._FusedBatchNorm=function(){return(qd=e._FusedBatchNorm=e.asm.FusedBatchNorm).apply(null,arguments)},rI=e._FusedConv2D=function(){return(rI=e._FusedConv2D=e.asm.FusedConv2D).apply(null,arguments)},nI=e._FusedDepthwiseConv2D=function(){return(nI=e._FusedDepthwiseConv2D=e.asm.FusedDepthwiseConv2D).apply(null,arguments)},oI=e._Gather=function(){return(oI=e._Gather=e.asm.Gather).apply(null,arguments)},ne=e._GatherNd=function(){return(ne=e._GatherNd=e.asm.GatherNd).apply(null,arguments)},sI=e._Greater=function(){return(sI=e._Greater=e.asm.Greater).apply(null,arguments)},iI=e._GreaterEqual=function(){return(iI=e._GreaterEqual=e.asm.GreaterEqual).apply(null,arguments)},aI=e._LeakyRelu=function(){return(aI=e._LeakyRelu=e.asm.LeakyRelu).apply(null,arguments)},lI=e._Less=function(){return(lI=e._Less=e.asm.Less).apply(null,arguments)},uI=e._LessEqual=function(){return(uI=e._LessEqual=e.asm.LessEqual).apply(null,arguments)},cI=e._Log=function(){return(cI=e._Log=e.asm.Log).apply(null,arguments)},Kd=e._LogicalAnd=function(){return(Kd=e._LogicalAnd=e.asm.LogicalAnd).apply(null,arguments)},Pg=e._LogicalNot=function(){return(Pg=e._LogicalNot=e.asm.LogicalNot).apply(null,arguments)},Lg=e._LogicalOr=function(){return(Lg=e._LogicalOr=e.asm.LogicalOr).apply(null,arguments)},pI=e._LogicalXor=function(){return(pI=e._LogicalXor=e.asm.LogicalXor).apply(null,arguments)},mI=e._Max=function(){return(mI=e._Max=e.asm.Max).apply(null,arguments)},fI=e._MaxPool=function(){return(fI=e._MaxPool=e.asm.MaxPool).apply(null,arguments)},dI=e._Maximum=function(){return(dI=e._Maximum=e.asm.Maximum).apply(null,arguments)},hI=e._Mean=function(){return(hI=e._Mean=e.asm.Mean).apply(null,arguments)},gI=e._Min=function(){return(gI=e._Min=e.asm.Min).apply(null,arguments)},rr=e._Minimum=function(){return(rr=e._Minimum=e.asm.Minimum).apply(null,arguments)},xI=e._MirrorPad=function(){return(xI=e._MirrorPad=e.asm.MirrorPad).apply(null,arguments)},yI=e._Multiply=function(){return(yI=e._Multiply=e.asm.Multiply).apply(null,arguments)},bI=e._Neg=function(){return(bI=e._Neg=e.asm.Neg).apply(null,arguments)},pp=e._NonMaxSuppressionV3=function(){return(pp=e._NonMaxSuppressionV3=e.asm.NonMaxSuppressionV3).apply(null,arguments)},Mg=e._NonMaxSuppressionV4=function(){return(Mg=e._NonMaxSuppressionV4=e.asm.NonMaxSuppressionV4).apply(null,arguments)},zg=e._NonMaxSuppressionV5=function(){return(zg=e._NonMaxSuppressionV5=e.asm.NonMaxSuppressionV5).apply(null,arguments)},Bg=e._NotEqual=function(){return(Bg=e._NotEqual=e.asm.NotEqual).apply(null,arguments)},wI=e._OneHot=function(){return(wI=e._OneHot=e.asm.OneHot).apply(null,arguments)},Vg=e._PadV2=function(){return(Vg=e._PadV2=e.asm.PadV2).apply(null,arguments)},CI=e._Pow=function(){return(CI=e._Pow=e.asm.Pow).apply(null,arguments)},l1=e._Prelu=function(){return(l1=e._Prelu=e.asm.Prelu).apply(null,arguments)},Gg=e._Prod=function(){return(Gg=e._Prod=e.asm.Prod).apply(null,arguments)},u1=e._RealDiv=function(){return(u1=e._RealDiv=e.asm.RealDiv).apply(null,arguments)},vI=e._Relu=function(){return(vI=e._Relu=e.asm.Relu).apply(null,arguments)},II=e._Relu6=function(){return(II=e._Relu6=e.asm.Relu6).apply(null,arguments)},SI=e._ResizeBilinear=function(){return(SI=e._ResizeBilinear=e.asm.ResizeBilinear).apply(null,arguments)},TI=e._ResizeNearestNeighbor=function(){return(TI=e._ResizeNearestNeighbor=e.asm.ResizeNearestNeighbor).apply(null,arguments)},NI=e._Reverse=function(){return(NI=e._Reverse=e.asm.Reverse).apply(null,arguments)},kI=e._RotateWithOffset=function(){return(kI=e._RotateWithOffset=e.asm.RotateWithOffset).apply(null,arguments)},_I=e._Round=function(){return(_I=e._Round=e.asm.Round).apply(null,arguments)},EI=e._Rsqrt=function(){return(EI=e._Rsqrt=e.asm.Rsqrt).apply(null,arguments)},AI=e._ScatterNd=function(){return(AI=e._ScatterNd=e.asm.ScatterNd).apply(null,arguments)},$I=e._SelectV2=function(){return($I=e._SelectV2=e.asm.SelectV2).apply(null,arguments)},DI=e._Sigmoid=function(){return(DI=e._Sigmoid=e.asm.Sigmoid).apply(null,arguments)},RI=e._Sin=function(){return(RI=e._Sin=e.asm.Sin).apply(null,arguments)},FI=e._Softmax=function(){return(FI=e._Softmax=e.asm.Softmax).apply(null,arguments)},OI=e._SparseFillEmptyRows=function(){return(OI=e._SparseFillEmptyRows=e.asm.SparseFillEmptyRows).apply(null,arguments)},PI=e._SparseReshape=function(){return(PI=e._SparseReshape=e.asm.SparseReshape).apply(null,arguments)},LI=e._SparseSegmentReduction=function(){return(LI=e._SparseSegmentReduction=e.asm.SparseSegmentReduction).apply(null,arguments)},MI=e._Sqrt=function(){return(MI=e._Sqrt=e.asm.Sqrt).apply(null,arguments)},zI=e._Square=function(){return(zI=e._Square=e.asm.Square).apply(null,arguments)},BI=e._SquaredDifference=function(){return(BI=e._SquaredDifference=e.asm.SquaredDifference).apply(null,arguments)},VI=e._Step=function(){return(VI=e._Step=e.asm.Step).apply(null,arguments)},GI=e._StridedSlice=function(){return(GI=e._StridedSlice=e.asm.StridedSlice).apply(null,arguments)},WI=e._Sub=function(){return(WI=e._Sub=e.asm.Sub).apply(null,arguments)},UI=e._Sum=function(){return(UI=e._Sum=e.asm.Sum).apply(null,arguments)},HI=e._Tan=function(){return(HI=e._Tan=e.asm.Tan).apply(null,arguments)},qI=e._Tanh=function(){return(qI=e._Tanh=e.asm.Tanh).apply(null,arguments)},KI=e._Tile=function(){return(KI=e._Tile=e.asm.Tile).apply(null,arguments)},jI=e._TopK=function(){return(jI=e._TopK=e.asm.TopK).apply(null,arguments)},XI=e._Transform=function(){return(XI=e._Transform=e.asm.Transform).apply(null,arguments)},YI=e._Transpose=function(){return(YI=e._Transpose=e.asm.Transpose).apply(null,arguments)},ZI=e.__FusedMatMul=function(){return(ZI=e.__FusedMatMul=e.asm._FusedMatMul).apply(null,arguments)},JI=e._malloc=function(){return(JI=e._malloc=e.asm.malloc).apply(null,arguments)},QI=e._free=function(){return(QI=e._free=e.asm.free).apply(null,arguments)},t0=e.___errno_location=function(){return(t0=e.___errno_location=e.asm.__errno_location).apply(null,arguments)},e0=e._emscripten_main_thread_process_queued_calls=function(){return(e0=e._emscripten_main_thread_process_queued_calls=e.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Wg=e.stackSave=function(){return(Wg=e.stackSave=e.asm.stackSave).apply(null,arguments)},Ug=e.stackRestore=function(){return(Ug=e.stackRestore=e.asm.stackRestore).apply(null,arguments)},jd=e.stackAlloc=function(){return(jd=e.stackAlloc=e.asm.stackAlloc).apply(null,arguments)},r0=e.dynCall_iijjiiii=function(){return(r0=e.dynCall_iijjiiii=e.asm.dynCall_iijjiiii).apply(null,arguments)},n0=e.dynCall_jiji=function(){return(n0=e.dynCall_jiji=e.asm.dynCall_jiji).apply(null,arguments)};e.cwrap=bt;var mp;function Xd(U){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+U+\")\",this.status=U}vl=function U(){mp||Yd(),mp||(vl=U)};function Yd(U){if(U=U||a,Hn>0||(wg(),Hn>0))return;function Q(){mp||(mp=!0,e.calledRun=!0,!it&&(Cg(),n(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),vg()))}e.setStatus?(e.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){e.setStatus(\"\")},1),Q()},1)):Q()}e.run=Yd;function c1(U){pt=U,Vd()||(e.onExit&&e.onExit(U),it=!0),l(U,new Xd(U))}if(e.preInit)for(typeof e.preInit==\"function\"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();Yd();var fp;s&&(fp={uncaughtException:process.listeners(\"uncaughtException\").filter(function(U){return!s.uncaughtException.indexOf(U)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(U){return!s.unhandledRejection.indexOf(U)>-1})});var dp;if(typeof t!=\"undefined\")dp=t;else if(typeof WasmBackendModuleThreadedSimd!=\"undefined\")dp=WasmBackendModuleThreadedSimd;else throw new Error(\"Could not find wasm module in post.js\");if(fp){var o0=dp._dispose;dp._dispose=function(){o0(),fp.uncaughtException.forEach(function(U){process.removeListener(\"uncaughtException\",U)}),fp.unhandledRejection.forEach(function(U){process.removeListener(\"unhandledRejection\",U)})}}return t.ready}})();typeof _v==\"object\"&&typeof jk==\"object\"?jk.exports=Kk:typeof define==\"function\"&&define.amd?define([],function(){return Kk}):typeof _v==\"object\"&&(_v.WasmBackendModule=Kk)});var ra=class{constructor(t,e){this.backend=t,this.dataMover=e,this.data=new WeakMap,this.dataIdsCount=0}get(t){return this.data.has(t)||this.dataMover.moveData(this.backend,t),this.data.get(t)}set(t,e){this.dataIdsCount++,this.data.set(t,e)}has(t){return this.data.has(t)}delete(t){return this.dataIdsCount--,this.data.delete(t)}numDataIds(){return this.dataIdsCount}},Ho=class{refCount(t){return qn(\"refCount\")}incRef(t){return qn(\"incRef\")}timerAvailable(){return!0}time(t){return qn(\"time\")}read(t){return qn(\"read\")}readSync(t){return qn(\"readSync\")}readToGPU(t,e){return qn(\"readToGPU\")}numDataIds(){return qn(\"numDataIds\")}disposeData(t,e){return qn(\"disposeData\")}write(t,e,n){return qn(\"write\")}move(t,e,n,o,s){return qn(\"move\")}memory(){return qn(\"memory\")}floatPrecision(){return qn(\"floatPrecision\")}epsilon(){return this.floatPrecision()===32?1e-7:1e-4}dispose(){return qn(\"dispose\")}};function qn(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 w1(r){let t=r.length,e=0;for(;t>0;)e=Math.random()*t|0,t--,Jg(r,t,e)}function n4(r,t){if(r.length!==t.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${r.length}Second array length was ${t.length}`);let e=r.length,n=0;for(;e>0;)n=Math.random()*e|0,e--,Jg(r,e,n),Jg(t,e,n)}function yp(r,t,e){return Math.max(r,Math.min(t,e))}function o4(r){return r%2===0?r:r+1}function Jg(r,t,e){let n=r[t];r[t]=r[e],r[e]=n}function s4(r){let t=0;for(let e=0;ee+` Shapes ${r} and ${t} must match`)}function Kn(r){A(r!=null,()=>\"The input to the tensor constructor must be a non-null value.\")}function qo(r,t=[],e=!1){if(t==null&&(t=[]),Array.isArray(r)||xr(r)&&!e)for(let n=0;n0,e){return new Promise((n,o)=>{let s=0,i=()=>{if(r()){n();return}s++;let a=t(s);if(e!=null&&s>=e){o();return}setTimeout(i,a)};i()})}function f4(r,t){let e=1,n=-1;for(let s=0;s=0)e*=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(t>0&&t!==e)throw Error(`Size(${t}) must match the product of shape ${r}`);return r}if(e===0)throw Error(`Cannot infer the missing size in [${r}] when there are 0 elements`);if(t%e!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${e}`);let o=r.slice();return o[n]=t/e,o}function ur(r,t){let e=t.length;return r=r==null?t.map((n,o)=>o):[].concat(r),A(r.every(n=>n>=-e&&n`All values in axis param must be in range [-${e}, ${e}) but got axis ${r}`),A(r.every(n=>na(n)),()=>`All values in axis param must be integers but got axis ${r}`),r.map(n=>n<0?e+n:n)}function m0(r,t){let e=[],n=[],o=t!=null&&Array.isArray(t)&&t.length===0,s=t==null||o?null:ur(t,r).sort(),i=0;for(let a=0;aa)&&r[a]===1&&(e.push(r[a]),n.push(a)),s[i]<=a&&i++}r[a]!==1&&(e.push(r[a]),n.push(a))}return{newShape:e,keptDims:n}}function f0(r,t){let e=null;if(r==null||r===\"float32\")e=new Float32Array(t);else if(r===\"int32\")e=new Int32Array(t);else if(r===\"bool\")e=new Uint8Array(t);else throw new Error(`Unknown data type ${r}`);return e}function d0(r,t){let e=null;if(r==null||r===\"float32\")e=new Float32Array(t);else if(r===\"int32\")e=new Int32Array(t);else if(r===\"bool\")e=new Uint8Array(t);else if(r===\"string\")e=new Array(t);else throw new Error(`Unknown data type ${r}`);return e}function h0(r,t){for(let e=0;et+=e.length),t}function Ko(r){return typeof r==\"string\"||r instanceof String}function C1(r){return typeof r==\"boolean\"}function v1(r){return typeof r==\"number\"}function bp(r){return Array.isArray(r)?bp(r[0]):r instanceof Float32Array?\"float32\":r instanceof Int32Array||r instanceof Uint8Array||r instanceof Uint8ClampedArray?\"int32\":v1(r)?\"float32\":Ko(r)?\"string\":C1(r)?\"bool\":\"float32\"}function ui(r){return!!(r&&r.constructor&&r.call&&r.apply)}function wp(r,t){for(let e=t;e=0;--n)e[n]=e[n+1]*r[n+1];return e}function I1(r,t,e,n=!1){let o=new Array;if(t.length===1){let s=t[0]*(n?2:1);for(let i=0;iu*l)*(n?2:1);for(let u=0;uo*s)*(e?2:1);if(n===0)return[];if(n!==t.length)throw new Error(`[${r}] does not match the input size ${t.length}${e?\" for a complex tensor\":\"\"}.`);return I1(0,r,t,e)}function Qd(r,t){let e=Cp(r,t);for(let n=0;nn*o,1);if(t==null||t===\"float32\")return Vu(r,new Float32Array(e));if(t===\"int32\")return Vu(r,new Int32Array(e));if(t===\"bool\")return Vu(r,new Uint8Array(e));throw new Error(`Unknown data type ${t}`)}function th(r){r.forEach(t=>{A(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${r}].`)})}function g4(r,t,e){if(t===0)return 0;if(t===1)return r[0];let n=r[r.length-1];for(let o=0;o{let[o,s]=n.split(\":\");this.urlFlags[o]=C4(o,s)})}};function b4(r){let t={};return r.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(e,...n)=>(w4(t,n[0],n[1]),n.join(\"=\"))),t}function w4(r,t,e){r[decodeURIComponent(t)]=decodeURIComponent(e||\"\")}function C4(r,t){if(t=t.toLowerCase(),t===\"true\"||t===\"false\")return t===\"true\";if(`${+t}`===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${r}.`)}function B(){return y0}var y0=null;function T1(r){y0=r}var b0;function w0(){if(b0==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\");b0=r}return b0}function v4(){let r=w0();return r._tfGlobals==null&&(r._tfGlobals=new Map),r._tfGlobals}function nh(r,t){let e=v4();if(e.has(r))return e.get(r);{let n=t();return e.set(r,n),e.get(r)}}var pi=\"Abs\",oa=\"Acos\",sa=\"Acosh\",jn=\"Add\",jo=\"AddN\",ia=\"All\",aa=\"Any\",Xo=\"ArgMax\",Nl=\"ArgMin\",la=\"Asin\",ua=\"Asinh\",ca=\"Atan\",pa=\"Atanh\",ma=\"Atan2\",Yo=\"AvgPool\",vp=\"AvgPoolGrad\",kl=\"AvgPool3D\",Ip=\"AvgPool3DGrad\",Zo=\"BatchMatMul\",mi=\"BatchToSpaceND\",Sp=\"Bincount\",N1=\"BroadcastTo\",Tp=\"BroadcastArgs\",ao=\"Cast\",Jo=\"Ceil\",lo=\"ClipByValue\",Np=\"Complex\",_l=\"ComplexAbs\",fi=\"Concat\",Qo=\"Conv2D\",kp=\"Conv2DBackpropFilter\",ts=\"Conv2DBackpropInput\",El=\"Conv3D\",_p=\"Conv3DBackpropFilterV2\",Ep=\"Conv3DBackpropInputV2\",es=\"Cos\",rs=\"Cosh\",fa=\"Cumprod\",ns=\"Cumsum\",da=\"CropAndResize\",Ap=\"DenseBincount\",ha=\"DepthToSpace\",os=\"DepthwiseConv2dNative\",$p=\"DepthwiseConv2dNativeBackpropFilter\",Dp=\"DepthwiseConv2dNativeBackpropInput\",Rp=\"Diag\",Al=\"Dilation2D\",oh=\"Dilation2DBackpropInput\",sh=\"Dilation2DBackpropFilter\",ss=\"RealDiv\",Fp=\"Einsum\",is=\"Elu\",Op=\"EluGrad\",ga=\"Erf\",xa=\"Equal\",as=\"Exp\",di=\"ExpandDims\",ya=\"Expm1\",Pp=\"FFT\",$l=\"Fill\",ba=\"FlipLeftRight\",ls=\"Floor\",us=\"FloorDiv\",cs=\"FusedBatchNorm\",hi=\"GatherV2\",wa=\"GatherNd\",Ca=\"Greater\",ps=\"GreaterEqual\",uo=\"Identity\",Lp=\"IFFT\",Mp=\"Imag\",va=\"IsFinite\",Ia=\"IsInf\",Sa=\"IsNan\",ms=\"LeakyRelu\",Ta=\"Less\",Na=\"LessEqual\",zp=\"LinSpace\",fs=\"Log\",ka=\"Log1p\",_a=\"LogicalAnd\",Ea=\"LogicalNot\",Aa=\"LogicalOr\",k1=\"LogicalXor\",_1=\"LogSoftmax\",Ilt=\"LowerBound\",Dl=\"LRN\",Bp=\"LRNGrad\",ds=\"Max\",hs=\"Maximum\",gs=\"MaxPool\",Vp=\"MaxPoolGrad\",Rl=\"MaxPool3D\",Gp=\"MaxPool3DGrad\",Wp=\"MaxPoolWithArgmax\",xs=\"Mean\",ys=\"Min\",bs=\"Minimum\",ws=\"MirrorPad\",$a=\"Mod\",Up=\"Multinomial\",Cs=\"Multiply\",gi=\"Neg\",Da=\"NotEqual\",Ra=\"NonMaxSuppressionV3\",Fa=\"NonMaxSuppressionV4\",Oa=\"NonMaxSuppressionV5\",xi=\"OnesLike\",vs=\"OneHot\",yi=\"Pack\",Is=\"PadV2\",Slt=\"Pool\",Ss=\"Pow\",Ts=\"Prelu\",Ns=\"Prod\",Hp=\"RaggedTensorToTensor\",Fl=\"Range\",qp=\"Real\",Pa=\"Reciprocal\",ks=\"Relu\",bi=\"Reshape\",_s=\"ResizeNearestNeighbor\",Kp=\"ResizeNearestNeighborGrad\",Es=\"ResizeBilinear\",jp=\"ResizeBilinearGrad\",As=\"Relu6\",$s=\"Reverse\",Ds=\"Round\",Rs=\"Rsqrt\",La=\"ScatterNd\",Xp=\"SearchSorted\",wi=\"Select\",Ma=\"Selu\",Ci=\"Slice\",Fs=\"Sin\",za=\"Sinh\",Ba=\"Sign\",Os=\"Sigmoid\",Va=\"Softplus\",Ps=\"Sqrt\",Ls=\"Sum\",vi=\"SpaceToBatchND\",Ii=\"SplitV\",Ms=\"Softmax\",Ol=\"SparseFillEmptyRows\",Ga=\"SparseReshape\",Pl=\"SparseSegmentMean\",Ll=\"SparseSegmentSum\",Yp=\"SparseToDense\",zs=\"SquaredDifference\",Ml=\"Square\",Wa=\"StridedSlice\",zl=\"StringNGrams\",Bl=\"StringSplit\",Vl=\"StringToHashBucketFast\",Bs=\"Sub\",Vs=\"Tan\",Gs=\"Tanh\",Xn=\"Tile\",Ua=\"TopK\",Ha=\"Transform\",Yn=\"Transpose\",Zp=\"Unique\",Si=\"Unpack\",Gl=\"UnsortedSegmentSum\",Tlt=\"UpperBound\",Ti=\"ZerosLike\",co=\"Step\",ih=\"FromPixels\",qa=\"RotateWithOffset\",Ni=\"_FusedMatMul\",ki=\"FusedConv2D\",_i=\"FusedDepthwiseConv2D\";function Ei(...r){B().getBool(\"IS_TEST\")||B().getBool(\"PROD\")||console.warn(...r)}function I4(...r){B().getBool(\"IS_TEST\")||B().getBool(\"PROD\")||console.log(...r)}var Jp=nh(\"kernelRegistry\",()=>new Map),ah=nh(\"gradRegistry\",()=>new Map);function lh(r,t){let e=v0(r,t);return Jp.get(e)}function C0(r){return ah.get(r)}function tx(r){let t=Jp.entries(),e=[];for(;;){let{done:n,value:o}=t.next();if(n)break;let[s,i]=o,[a]=s.split(\"_\");a===r&&e.push(i)}return e}function Wu(r){let{kernelName:t,backendName:e}=r,n=v0(t,e);Jp.has(n)&&Ei(`The kernel '${t}' for backend '${e}' is already registered`),Jp.set(n,r)}function A1(r){let{kernelName:t}=r;ah.has(t)&&B().getBool(\"DEBUG\")&&Ei(`Overriding the gradient for '${t}'`),ah.set(t,r)}function Alt(r,t){let e=v0(r,t);if(!Jp.has(e))throw new Error(`The kernel '${r}' for backend '${t}' is not registered`);Jp.delete(e)}function $lt(r){if(!ah.has(r))throw new Error(`The gradient '${r}' for backend is not registered`);ah.delete(r)}function Dlt(r,t){tx(r).forEach(n=>{let o=Object.assign({},n,{backendName:t});Wu(o)})}function v0(r,t){return`${t}_${r}`}var y={};jt(y,{arraysEqual:()=>Rn,assert:()=>A,assertNonNegativeIntegerDimensions:()=>th,assertNonNull:()=>Kn,assertShapesMatch:()=>Fe,bytesFromStringArray:()=>x0,bytesPerElement:()=>Qg,checkConversionForErrors:()=>h0,clamp:()=>yp,computeStrides:()=>ci,createScalarValue:()=>A4,createShuffledIndices:()=>p4,decodeString:()=>rm,distSquared:()=>a4,encodeString:()=>Ul,fetch:()=>D4,fingerPrint64:()=>E4,flatten:()=>qo,getArrayFromDType:()=>d0,getTypedArrayFromDType:()=>f0,hasEncodingLoss:()=>d4,hexToLong:()=>uh,indexToLoc:()=>x4,inferDtype:()=>bp,inferFromImplicitShape:()=>f4,isBoolean:()=>C1,isFunction:()=>ui,isInt:()=>na,isNumber:()=>v1,isPromise:()=>eh,isScalarShape:()=>l4,isString:()=>Ko,isTypedArray:()=>xr,isValidDtype:()=>g0,locToIndex:()=>g4,makeOnesTypedArray:()=>Qd,makeZerosNestedTypedArray:()=>h4,makeZerosTypedArray:()=>Cp,nearestDivisor:()=>wp,nearestLargerEven:()=>o4,now:()=>ju,parseAxisParam:()=>ur,randUniform:()=>i4,repeatedTry:()=>m4,rightPad:()=>Gu,shuffle:()=>w1,shuffleCombo:()=>n4,sizeFromShape:()=>Qt,sizeToSquarishShape:()=>c4,squeezeShape:()=>m0,sum:()=>s4,swap:()=>Jg,tanh:()=>u4,toNestedArray:()=>Vu,toTypedArray:()=>em});var N0=Tl(V1());var Ku=N0.default||N0;function uh(r){return Ku.fromString(r,!0,16)}var W1=uh(\"c3a5c85c97cb3127\"),qu=uh(\"b492b66fbe98f273\"),on=uh(\"9ae16a3b2f90404f\");function T0(r){return r.xor(r.shru(47))}function U1(r,t,e){let n=r.slice(t,t+e);return Ku.fromBytes(Array.from(n),!0,!0)}function ze(r,t){return U1(r,t,8)}function G1(r,t){return U1(r,t,4)}function kr(r,t){return t===0?r:r.shru(t).or(r.shl(64-t))}function Wl(r,t,e=uh(\"9ddfea08eb382d69\")){let n=r.xor(t).mul(e);n=n.xor(n.shru(47));let o=t.xor(n).mul(e);return o=o.xor(o.shru(47)),o=o.mul(e),o}function T4(r,t,e,n,o,s){o=o.add(r),s=kr(s.add(o).add(n),21);let i=o;return o=o.add(t),o=o.add(e),s=s.add(kr(o,44)),[o.add(n),s.add(i)]}function rx(r,t,e,n){return T4(ze(r,t),ze(r,t+8),ze(r,t+16),ze(r,t+24),e,n)}function N4(r,t=r.length){if(t>=8){let e=on.add(t*2),n=ze(r,0).add(on),o=ze(r,t-8),s=kr(o,37).mul(e).add(n),i=kr(n,25).add(o).mul(e);return Wl(s,i,e)}if(t>=4){let e=on.add(t*2),n=G1(r,0);return Wl(n.shl(3).add(t),G1(r,t-4),e)}if(t>0){let e=r[0],n=r[t>>1],o=r[t-1],s=e+(n<<8),i=t+(o<<2);return T0(on.mul(s).xor(W1.mul(i))).mul(on)}return on}function k4(r,t=r.length){let e=on.add(t*2),n=ze(r,0).mul(qu),o=ze(r,8),s=ze(r,t-8).mul(e),i=ze(r,t-16).mul(on);return Wl(kr(n.add(o),43).add(kr(s,30)).add(i),n.add(kr(o.add(on),18)).add(s),e)}function _4(r,t=r.length){let e=on.add(t*2),n=ze(r,0).mul(on),o=ze(r,8),s=ze(r,t-8).mul(e),i=ze(r,t-16).mul(on),a=kr(n.add(o),43).add(kr(s,30)).add(i),u=Wl(a,n.add(kr(o.add(on),18)).add(s),e),l=ze(r,16).mul(e),c=ze(r,24),p=a.add(ze(r,t-32)).mul(e),m=u.add(ze(r,t-24)).mul(e);return Wl(kr(l.add(c),43).add(kr(p,30)).add(m),l.add(kr(c.add(n),18)).add(p),e)}function E4(r,t=r.length){let e=Ku.fromNumber(81,!0);if(t<=32)return t<=16?N4(r,t):k4(r,t);if(t<=64)return _4(r,t);let n=e,o=e.mul(qu).add(113),s=T0(o.mul(on).add(113)).mul(on),i=[Ku.UZERO,Ku.UZERO],a=[Ku.UZERO,Ku.UZERO];n=n.mul(on).add(ze(r,0));let u=0,l=(t-1>>6)*64,c=l+(t-1&63)-63;do n=kr(n.add(o).add(i[0]).add(ze(r,u+8)),37).mul(qu),o=kr(o.add(i[1]).add(ze(r,u+48)),42).mul(qu),n=n.xor(a[1]),o=o.add(i[0]).add(ze(r,u+40)),s=kr(s.add(a[0]),33).mul(qu),i=rx(r,u,i[1].mul(qu),n.add(a[0])),a=rx(r,u+32,s.add(a[1]),o.add(ze(r,u+16))),[s,n]=[n,s],u+=64;while(u!==l);let p=qu.add(s.and(255).shl(1));return u=c,a[0]=a[0].add(t-1&63),i[0]=i[0].add(a[0]),a[0]=a[0].add(i[0]),n=kr(n.add(o).add(i[0]).add(ze(r,u+8)),37).mul(p),o=kr(o.add(i[1]).add(ze(r,u+48)),42).mul(p),n=n.xor(a[1].mul(9)),o=o.add(i[0].mul(9).add(ze(r,u+40))),s=kr(s.add(a[0]),33).mul(p),i=rx(r,u,i[1].mul(p),n.add(a[0])),a=rx(r,u+32,s.add(a[1]),o.add(ze(r,u+16))),[s,n]=[n,s],Wl(Wl(i[0],a[0],p).add(T0(o).mul(W1)).add(s),Wl(i[1],a[1],p).add(n),p)}function A4(r,t){return t===\"string\"?Ul(r):em([r],t)}function $4(r,t){return r instanceof Float32Array&&t===\"float32\"||r instanceof Int32Array&&t===\"int32\"||r instanceof Uint8Array&&t===\"bool\"}function em(r,t){if(t===\"string\")throw new Error(\"Cannot convert a string[] to a TypedArray\");if(Array.isArray(r)&&(r=qo(r)),B().getBool(\"DEBUG\")&&h0(r,t),$4(r,t))return r;if(t==null||t===\"float32\"||t===\"complex64\")return new Float32Array(r);if(t===\"int32\")return new Int32Array(r);if(t===\"bool\"){let e=new Uint8Array(r.length);for(let n=0;n{o=n()},i,a=ju();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(s);else{s();for(let l of o)l.dataSync();i=Promise.resolve({kernelMs:ju()-a})}if(B().getBool(\"CHECK_COMPUTATION_FOR_ERRORS\"))for(let l=0;l{R4(p,c.dtype,t)})}return{kernelName:t,outputs:o,inputs:e,timeMs:i.then(l=>l.kernelMs),extraInfo:i.then(l=>l.getExtraProfileInfo!=null?l.getExtraProfileInfo():\"\")}}logKernelProfile(t){let{kernelName:e,outputs:n,timeMs:o,inputs:s,extraInfo:i}=t;n.forEach(a=>{Promise.all([a.data(),o,i]).then(u=>{this.logger.logKernelProfile(e,a,u[0],u[1],s,u[2])})})}};function R4(r,t,e){if(t!==\"float32\")return!1;for(let n=0;n0?h:\"\"} `}}console.log(`%c${u}\t%c${a}\t%c${l}D ${p}\t%c${c}\t%c${m}\t%c${i}`,\"font-weight:bold\",\"color:red\",\"color:blue\",\"color: orange\",\"color: green\",\"color: steelblue\")}};function H1(r,t,e){let n={},o={};for(let u=0;un[h.id]=!0),f=!0,o[l.id]=!0;break}if(f)break}}let s={};s[e.id]=!0;let i={};for(let u=r.length-1;u>=0;u--){let l=r[u],c=l.inputs;for(let p=0;p=0;o--){let s=t[o],i=[];if(s.outputs.forEach(u=>{let l=r[u.id];l!=null?i.push(l):i.push(null)}),s.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${s.kernelName}.`);let a=s.gradient(i);for(let u in s.inputs){if(!(u in a))throw new Error(`Cannot backprop through input ${u}. Available gradients found: ${Object.keys(a)}.`);let l=e(()=>a[u]());if(l.dtype!==\"float32\")throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input ${u} must have 'float32' dtype, but has '${l.dtype}'`);let c=s.inputs[u];if(!Rn(l.shape,c.shape))throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input '${u}' has shape '${l.shape}', which does not match the shape of the input '${c.shape}'`);if(r[c.id]==null)r[c.id]=l;else{let p=r[c.id];r[c.id]=n(p,l),p.dispose()}}}}var K1=20,ch=3,_0=7;function j1(r,t,e,n){let o=ci(t),s=F4(r,t,e,o),i=t.length,a=ox(r,t,e,o,s),u=[\"Tensor\"];return n&&(u.push(` dtype: ${e}`),u.push(` rank: ${i}`),u.push(` shape: [${t}]`),u.push(\" values:\")),u.push(a.map(l=>\" \"+l).join(`\n`)),u.join(`\n`)}function F4(r,t,e,n){let o=Qt(t),s=n[n.length-1],i=new Array(s).fill(0),a=t.length,u=e===\"complex64\"?mh(r):r;if(a>1)for(let l=0;lK1){let g=ch*i,x=Array.from(r.slice(0,g)),b=Array.from(r.slice((a-ch)*i,a*i));return e===\"complex64\"&&(x=mh(x),b=mh(b)),[\"[\"+x.map((w,C)=>ph(w,o[C],e)).join(\", \")+\", ..., \"+b.map((w,C)=>ph(w,o[a-ch+C],e)).join(\", \")+\"]\"]}let h=e===\"complex64\"?mh(r):Array.from(r);return[\"[\"+h.map((g,x)=>ph(g,o[x],e)).join(\", \")+\"]\"]}let l=t.slice(1),c=n.slice(1),p=n[0]*i,m=[];if(a>K1){for(let h=0;h`Length of values '${o}' does not match the size inferred by the shape '${this.size}'.`)}if(e===\"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||d0(e,this.size),this.strides=ci(t)}set(t,...e){e.length===0&&(e=[0]),A(e.length===this.rank,()=>`The number of provided coordinates (${e.length}) must match the rank (${this.rank})`);let n=this.locToIndex(e);this.values[n]=t}get(...t){t.length===0&&(t=[0]);let e=0;for(let o of t){if(o<0||o>=this.shape[e]){let s=`Requested out of range element at ${t}. Buffer shape=${this.shape}`;throw new Error(s)}e++}let n=t[t.length-1];for(let o=0;orm(n))}catch(n){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}}return t}dataToGPU(t){return this.throwIfDisposed(),Us().readToGPU(this.dataId,t)}dataSync(){this.throwIfDisposed();let t=Us().readSync(this.dataId);if(this.dtype===\"string\")try{return t.map(e=>rm(e))}catch(e){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}return t}async bytes(){this.throwIfDisposed();let t=await Us().read(this.dataId);return this.dtype===\"string\"?t:new Uint8Array(t.buffer)}dispose(){this.isDisposed||(Us().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error(\"Tensor is disposed.\")}print(t=!1){return nm.print(this,t)}clone(){return this.throwIfDisposed(),nm.clone(this)}toString(t=!1){let e=this.dataSync();return j1(e,this.shape,this.dtype,t)}cast(t){return this.throwIfDisposed(),nm.cast(this,t)}variable(t=!0,e,n){return this.throwIfDisposed(),Us().makeVariable(this,t,e,n)}};Object.defineProperty(Lt,Symbol.hasInstance,{value:r=>!!r&&r.data!=null&&r.dataSync!=null&&r.throwIfDisposed!=null});function L(){return nh(\"Tensor\",()=>Lt)}L();var Ka=class extends Lt{constructor(t,e,n,o){super(t.shape,t.dtype,t.dataId,o),this.trainable=e,this.name=n}assign(t){if(t.dtype!==this.dtype)throw new Error(`dtype of the new value (${t.dtype}) and previous value (${this.dtype}) must match`);if(!Rn(t.shape,this.shape))throw new Error(`shape of the new value (${t.shape}) and previous value (${this.shape}) must match`);Us().disposeTensor(this),this.dataId=t.dataId,Us().incRef(this,null)}dispose(){Us().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(Ka,Symbol.hasInstance,{value:r=>r instanceof Lt&&r.assign!=null&&r.assign instanceof Function});var ho={};jt(ho,{assertTypesMatch:()=>F0,getTensorsInContainer:()=>fh,isTensorInList:()=>L4,makeTypesMatch:()=>Xt});var E0;(function(r){r.R0=\"R0\",r.R1=\"R1\",r.R2=\"R2\",r.R3=\"R3\",r.R4=\"R4\",r.R5=\"R5\",r.R6=\"R6\"})(E0||(E0={}));var A0;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"int32\",r.complex64=\"complex64\"})(A0||(A0={}));var $0;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"bool\",r.complex64=\"complex64\"})($0||($0={}));var D0;(function(r){r.float32=\"float32\",r.int32=\"float32\",r.bool=\"float32\",r.complex64=\"complex64\"})(D0||(D0={}));var R0;(function(r){r.float32=\"complex64\",r.int32=\"complex64\",r.bool=\"complex64\",r.complex64=\"complex64\"})(R0||(R0={}));var P4={float32:D0,int32:A0,bool:$0,complex64:R0};function ir(r,t){if(r===\"string\"||t===\"string\"){if(r===\"string\"&&t===\"string\")return\"string\";throw new Error(`Can not upcast ${r} with ${t}`)}return P4[r][t]}function Xu(r){return ir(r,\"int32\")}function Xt(r,t){if(r.dtype===t.dtype)return[r,t];let e=ir(r.dtype,t.dtype);return[r.cast(e),t.cast(e)]}function F0(r,t){A(r.dtype===t.dtype,()=>`The dtypes of the first(${r.dtype}) and second(${t.dtype}) input must match`)}function L4(r,t){return t.some(e=>e.id===r.id)}function fh(r){let t=[];return Q1(r,t,new Set),t}function Q1(r,t,e){if(r==null)return;if(r instanceof Lt){t.push(r);return}if(!M4(r))return;let n=r;for(let o in n){let s=n[o];e.has(s)||(e.add(s),Q1(s,t,e))}}function M4(r){return Array.isArray(r)||typeof r==\"object\"}function O0(r){return r.kernelName!=null}var sx=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(t=>t.name)))}}}dispose(){for(let t in this.registeredVariables)this.registeredVariables[t].dispose()}},Hl=class{constructor(t){this.ENV=t,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new sx}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let t=this.getSortedBackends();for(let e=0;e{e.setupFunc!=null&&e.setupFunc(this.backendInstance)})}disposeRegisteredKernels(t){tx(t).forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[t])})}initializeBackend(t){let e=this.registryFactory[t];if(e==null)throw new Error(`Cannot initialize backend ${t}, no registration found.`);try{let n=e.factory();if(n&&!(n instanceof Ho)&&typeof n.then==\"function\"){let o=++this.pendingBackendInitId,s=n.then(i=>o(othis.registryFactory[e].priority-this.registryFactory[t].priority)}initializeBackendsAndReturnBest(){let t=this.getSortedBackends();for(let e=0;ethis.startScope(n),()=>this.endScope(o),()=>(o=e(),o instanceof Promise&&console.error(\"Cannot return a Promise inside of tidy.\"),o))}scopedRun(t,e,n){t();try{let o=n();return e(),o}catch(o){throw e(),o}}nextTensorId(){return Hl.nextTensorId++}nextVariableId(){return Hl.nextVariableId++}clone(t){let e=_.runKernel(uo,{x:t}),n={x:t},o=i=>({x:()=>{let a=\"float32\",u={x:i},l={dtype:a};return _.runKernel(ao,u,l)}}),s=[];return this.addTapeNode(this.state.activeScope.name,n,[e],o,s,{}),e}runKernel(t,e,n){if(this.backendName==null&&this.backend,!(lh(t,this.backendName)!=null))throw new Error(`Kernel '${t}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:t,inputs:e,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool(\"IS_TEST\")}checkKernelForMemLeak(t,e,n){let o=this.backend.numDataIds(),s=0;n.forEach(u=>{s+=u.dtype===\"complex64\"?3:1});let i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=o-e-s-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${t}'`)}runKernelFunc(t){let e,n=[],o=this.isTapeOn(),s=this.state.numBytes,i=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let a;this.backendName==null&&this.backend;let u,l=O0(t)?t.kernelName:this.state.activeScope!=null?this.state.activeScope.name:\"\";if(O0(t)){let{kernelName:d,inputs:h,attrs:g}=t;this.backendName==null&&this.backend;let x=lh(d,this.backendName);A(x!=null,()=>`Cannot find registered kernel '${d}' for backend '${this.backendName}'`),a=()=>{let b=this.backend.numDataIds();u=x.kernelFunc({inputs:h,attrs:g,backend:this.backend});let w=Array.isArray(u)?u:[u];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(d,b,w);let C=w.map(T=>T.rank!=null?T:this.makeTensorFromTensorInfo(T));if(o){let T=this.getTensorsForGradient(d,h,C);n=this.saveTensorsForBackwardMode(T)}return C}}else{let{forwardFunc:d}=t,h=g=>{!o||(n=g.map(x=>this.keep(this.clone(x))))};a=()=>{let g=this.backend.numDataIds();u=this.tidy(()=>d(this.backend,h));let x=Array.isArray(u)?u:[u];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,g,x),x}}let{inputs:c,attrs:p}=t,m=O0(t)?null:t.backwardsFunc,f;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool(\"DEBUG\")&&!this.state.profiling?e=a():(f=this.profiler.profileKernel(l,c,()=>a()),this.ENV.getBool(\"DEBUG\")&&this.profiler.logKernelProfile(f),e=f.outputs)}),o&&this.addTapeNode(l,c,e,m,n,p),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map(d=>c[d]!=null?c[d].shape:null),outputShapes:e.map(d=>d.shape),kernelTimeMs:f.timeMs,extraInfo:f.extraInfo}),Array.isArray(u)?e:e[0]}saveTensorsForBackwardMode(t){return t.map(n=>this.keep(this.clone(n)))}getTensorsForGradient(t,e,n){let o=C0(t);if(o!=null){let s=o.inputsToSave||[],i=o.outputsToSave||[],a;o.saveAllInputs?(A(Array.isArray(e),()=>\"saveAllInputs is true, expected inputs to be an array.\"),a=Object.keys(e).map(l=>e[l])):a=s.map(l=>e[l]);let u=n.filter((l,c)=>i[c]);return a.concat(u)}return[]}makeTensor(t,e,n,o){if(t==null)throw new Error(\"Values passed to engine.makeTensor() are null\");n=n||\"float32\",o=o||this.backend;let s=t;n===\"string\"&&Ko(t[0])&&(s=t.map(u=>Ul(u)));let i=o.write(s,e,n),a=new Lt(e,n,i,this.nextTensorId());if(this.trackTensor(a,o),n===\"string\"){let u=this.state.tensorInfo.get(i),l=x0(s);this.state.numBytes+=l-u.bytes,u.bytes=l}return a}makeTensorFromDataId(t,e,n,o){n=n||\"float32\";let s={dataId:t,shape:e,dtype:n};return this.makeTensorFromTensorInfo(s,o)}makeTensorFromTensorInfo(t,e){let{dataId:n,shape:o,dtype:s}=t,i=new Lt(o,s,n,this.nextTensorId());return this.trackTensor(i,e),i}makeVariable(t,e=!0,n,o){n=n||this.nextVariableId().toString(),o!=null&&o!==t.dtype&&(t=t.cast(o));let s=new Ka(t,e,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}trackTensor(t,e){this.state.numTensors++,t.dtype===\"string\"&&this.state.numStringTensors++;let n=0;t.dtype!==\"complex64\"&&t.dtype!==\"string\"&&(n=t.size*Qg(t.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(t.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(t.dataId,{backend:e||this.backend,dtype:t.dtype,shape:t.shape,bytes:n})),t instanceof Ka||this.track(t)}incRef(t,e){this.trackTensor(t,e),this.backend.incRef(t.dataId)}removeDataId(t,e){this.state.tensorInfo.has(t)&&this.state.tensorInfo.get(t).backend===e&&(this.state.tensorInfo.delete(t),this.state.numDataBuffers--)}disposeTensor(t){if(!this.state.tensorInfo.has(t.dataId))return;let e=this.state.tensorInfo.get(t.dataId);if(this.state.numTensors--,t.dtype===\"string\"&&(this.state.numStringTensors--,this.state.numBytes-=e.bytes),t.dtype!==\"complex64\"&&t.dtype!==\"string\"){let n=t.size*Qg(t.dtype);this.state.numBytes-=n}e.backend.disposeData(t.dataId)&&this.removeDataId(t.dataId,e.backend)}disposeVariables(){for(let t in this.state.registeredVariables){let e=this.state.registeredVariables[t];this.disposeVariable(e)}}disposeVariable(t){this.disposeTensor(t),this.state.registeredVariables[t.name]!=null&&delete this.state.registeredVariables[t.name]}memory(){let t=this.backend.memory();return t.numTensors=this.state.numTensors,t.numDataBuffers=this.state.numDataBuffers,t.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(t.unreliable=!0,t.reasons==null&&(t.reasons=[]),t.reasons.push(\"Memory usage by string tensors is approximate (2 bytes per character)\")),t}async profile(t){this.state.profiling=!0;let e=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await t(),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-e,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(t,e,n,o,s,i){let a={id:this.state.nextTapeNodeId++,kernelName:t,inputs:e,outputs:n,saved:s},u=C0(t);u!=null&&(o=u.gradFunc),o!=null&&(a.gradient=l=>(l=l.map((c,p)=>{if(c==null){let m=n[p],f=Cp(m.size,m.dtype);return this.makeTensor(f,m.shape,m.dtype)}return c}),o(l.length>1?l:l[0],s,i))),this.state.activeTape.push(a)}keep(t){return t.kept=!0,t}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(t){let e={track:[],name:\"unnamed scope\",id:this.state.nextScopeId++};t&&(e.name=t),this.state.scopeStack.push(e),this.state.activeScope=e}endScope(t){let e=fh(t),n=new Set(e.map(s=>s.id));for(let s=0;s{!s.kept&&s.scopeId===o.id&&this.track(s)})}gradients(t,e,n,o=!1){if(A(e.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\",t));A(s instanceof Lt,()=>\"The result y returned by f() must be a tensor.\");let i=H1(this.state.activeTape,e,s);if(!o&&i.length===0&&e.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 a={};a[s.id]=n==null?z4(s.shape):n,q1(a,i,l=>this.tidy(l),B4);let u=e.map(l=>a[l.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(l=>{for(let c of l.saved)c.dispose()}),this.state.activeTape=null),{value:s,grads:u}})}customGrad(t){return A(ui(t),()=>\"The f passed in customGrad(f) must be a function.\"),(...e)=>{A(e.every(a=>a instanceof Lt),()=>\"The args passed in customGrad(f)(x1, x2,...) must all be tensors\");let n,o={};e.forEach((a,u)=>{o[u]=a});let s=(a,u)=>(n=t(...e,u),A(n.value instanceof Lt,()=>\"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor\"),A(ui(n.gradFunc),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.\"),n.value),i=(a,u)=>{let l=n.gradFunc(a,u),c=Array.isArray(l)?l:[l];A(c.length===e.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 Lt),()=>\"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:i,inputs:o})}}readSync(t){return this.state.tensorInfo.get(t).backend.readSync(t)}read(t){return this.state.tensorInfo.get(t).backend.read(t)}readToGPU(t,e){return this.state.tensorInfo.get(t).backend.readToGPU(t,e)}async time(t){let e=ju(),n=await this.backend.time(t);return n.wallMs=ju()-e,n}track(t){return this.state.activeScope!=null&&(t.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(t)),t}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new sx;for(let t in this.registry)this.disposeRegisteredKernels(t),this.registry[t].dispose(),delete this.registry[t];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};Hl.nextTensorId=0;Hl.nextVariableId=0;function z4(r){let t=Qd(Qt(r),\"float32\");return _.makeTensor(t,r,\"float32\")}function P0(){let r=w0();if(r._tfengine==null){let t=new rh(r);r._tfengine=new Hl(t)}return T1(r._tfengine.ENV),Y1(()=>r._tfengine),r._tfengine}var _=P0();function B4(r,t){let e={a:r,b:t};return _.runKernel(jn,e)}var ql={};jt(ql,{isBrowser:()=>M0,isMobile:()=>W4,mockIsMobile:()=>G4});function V4(){return typeof navigator!=\"undefined\"&&navigator!=null}var L0;function G4(r){L0=r}function W4(r){if(L0!==void 0)return L0;if(r||V4()){if(r||(r=navigator),r.product===\"ReactNative\")return!0;let t=r.userAgent||r.vendor||(typeof window!=\"undefined\"?window.opera:\"\");if(!t){let e=r;return e.userAgentData&&e.userAgentData.mobile}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(t)||/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(t.substr(0,4))}return!1}function M0(){return typeof window!=\"undefined\"&&window.document!=null||typeof WorkerGlobalScope!=\"undefined\"}var Zn=B();Zn.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.\")});Zn.registerFlag(\"IS_BROWSER\",()=>M0());Zn.registerFlag(\"IS_NODE\",()=>typeof process!=\"undefined\"&&typeof process.versions!=\"undefined\"&&typeof process.versions.node!=\"undefined\");Zn.registerFlag(\"IS_CHROME\",()=>typeof navigator!=\"undefined\"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));Zn.registerFlag(\"PROD\",()=>!1);Zn.registerFlag(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\",()=>Zn.getBool(\"DEBUG\"));Zn.registerFlag(\"DEPRECATION_WARNINGS_ENABLED\",()=>!0);Zn.registerFlag(\"IS_TEST\",()=>!1);Zn.registerFlag(\"CHECK_COMPUTATION_FOR_ERRORS\",()=>!0);Zn.registerFlag(\"WRAP_TO_IMAGEBITMAP\",()=>!1);Zn.registerFlag(\"ENGINE_COMPILE_ONLY\",()=>!1);Zn.registerFlag(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\",()=>!1);function Pr(r,t){let e=r;if(xr(r))return t===\"string\"?[]:[r.length];if(!Array.isArray(r))return[];let n=[];for(;Array.isArray(e)||xr(e)&&t!==\"string\";)n.push(e.length),e=e[0];return Array.isArray(r)&&B().getBool(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\")&&e_(r,n,[]),n}function e_(r,t,e){if(e=e||[],!Array.isArray(r)&&!xr(r)){A(t.length===0,()=>`Element arr[${e.join(\"][\")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}A(t.length>0,()=>`Element arr[${e.join(\"][\")}] should be a primitive, but is an array of ${r.length} elements`),A(r.length===t[0],()=>`Element arr[${e.join(\"][\")}] should have ${t[0]} elements, but has ${r.length} elements`);let n=t.slice(1);for(let o=0;o=0&&(o=n),t_(n,o,t,e),r==null||!xr(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\"){let u=r==null?\"null\":r.constructor.name;throw new Error(`Argument '${t}' passed to '${e}' must be a Tensor or TensorLike, but got '${u}'`)}let s=Pr(r,o);!xr(r)&&!Array.isArray(r)&&(r=[r]);let a=o!==\"string\"?em(r,o):qo(r,[],!0);return _.makeTensor(a,s,o)}function ja(r,t,e,n=\"numeric\"){if(!Array.isArray(r))throw new Error(`Argument ${t} passed to ${e} must be a \\`Tensor[]\\` or \\`TensorLike[]\\``);return r.map((s,i)=>v(s,`${t}[${i}]`,e,n))}var z0=\"__op\";function N(r){let t=Object.keys(r);if(t.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let e=t[0],n=r[e];e.endsWith(\"_\")&&(e=e.substring(0,e.length-1)),e=e+z0;let o=(...s)=>{_.startScope(e);try{let i=n(...s);return eh(i)&&console.error(\"Cannot return a Promise inside of tidy.\"),_.endScope(i),i}catch(i){throw _.endScope(null),i}};return Object.defineProperty(o,\"name\",{value:e,configurable:!0}),o}function U4(r,t){let e=v(r,\"real\",\"complex\"),n=v(t,\"imag\",\"complex\");Fe(e.shape,n.shape,`real and imag shapes, ${e.shape} and ${n.shape}, must match in call to tf.complex().`);let o={real:e,imag:n};return _.runKernel(Np,o)}var Cn=N({complex_:U4});function sn(r,t,e,n){if(n==null&&(n=bp(r)),n===\"complex64\")throw new Error(\"Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).\");if(!xr(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(t!=null){th(t);let o=Qt(t),s=Qt(e);A(o===s,()=>`Based on the provided shape, [${t}], the tensor should have ${o} values but has ${s}`);for(let i=0;i`Error creating a new Tensor. Inferred shape (${e}) does not match the provided shape (${t}). `)}}return!xr(r)&&!Array.isArray(r)&&(r=[r]),t=t||e,r=n!==\"string\"?em(r,n):qo(r,[],!0),_.makeTensor(r,t,n)}function vr(r,t,e){let n=Pr(r,e);return sn(r,t,n,e)}var dh={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};var ix=4;async function n_(r,t){let e=[],n=[],o=Array.isArray(r)?r.map(i=>i.name):Object.keys(r);for(let i=0;i{let m=await u.bytes(),f=m.reduce((g,x)=>g+x.length,0)+ix*m.length,d=new Uint8Array(f),h=0;for(let g=0;g{if(t+=s.byteLength,e.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(t),o=0;return e.forEach(s=>{n.set(new Uint8Array(s.buffer),o),o+=s.byteLength}),n.buffer}var B0=typeof Buffer!=\"undefined\"&&(typeof Blob==\"undefined\"||typeof atob==\"undefined\"||typeof btoa==\"undefined\");function r_(r){return B0?Buffer.byteLength(r):new Blob([r]).size}function o_(r){if(B0)return Buffer.from(r).toString(\"base64\");let t=new Uint8Array(r),e=\"\";for(let n=0,o=t.length;n{t+=o.byteLength});let e=new Uint8Array(t),n=0;return r.forEach(o=>{e.set(new Uint8Array(o),n),n+=o.byteLength}),e.buffer}function V0(r){let t=\"/\";for(r=r.trim();r.endsWith(t);)r=r.slice(0,r.length-1);let e=r.split(t);return e[e.length-1]}function lx(r,t){let e={modelTopology:r.modelTopology,format:r.format,generatedBy:r.generatedBy,convertedBy:r.convertedBy,weightsManifest:t};return r.signature!=null&&(e.signature=r.signature),r.userDefinedMetadata!=null&&(e.userDefinedMetadata=r.userDefinedMetadata),r.modelInitializer!=null&&(e.modelInitializer=r.modelInitializer),r.trainingConfig!=null&&(e.trainingConfig=r.trainingConfig),e}async function sm(r,t){let e={modelTopology:r.modelTopology,format:r.format,generatedBy:r.generatedBy,convertedBy:r.convertedBy};if(r.trainingConfig!=null&&(e.trainingConfig=r.trainingConfig),r.weightsManifest!=null){let[n,o]=await t(r.weightsManifest);e.weightSpecs=n,e.weightData=o}return r.signature!=null&&(e.signature=r.signature),r.userDefinedMetadata!=null&&(e.userDefinedMetadata=r.userDefinedMetadata),r.modelInitializer!=null&&(e.modelInitializer=r.modelInitializer),e}function Ai(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:r_(JSON.stringify(r.modelTopology)),weightSpecsBytes:r.weightSpecs==null?0:r_(JSON.stringify(r.weightSpecs)),weightDataBytes:r.weightData==null?0:r.weightData.byteLength}}function q4(){let r=e=>{let n=e<<13,o=0;for(;(n&8388608)===0;)o-=8388608,n<<=1;return n&=-8388609,o+=947912704,n|o},t=new Uint32Array(2048);t[0]=0;for(let e=1;e<1024;e++)t[e]=r(e);for(let e=1024;e<2048;e++)t[e]=939524096+(e-1024<<13);return t}function K4(){let r=new Uint32Array(64);r[0]=0,r[31]=1199570944,r[32]=2147483648,r[63]=3347054592;for(let t=1;t<31;t++)r[t]=t<<23;for(let t=33;t<63;t++)r[t]=2147483648+(t-32<<23);return r}function j4(){let r=new Uint32Array(64);for(let t=0;t<64;t++)r[t]=1024;return r[0]=r[32]=0,r}function X4(){let r=q4(),t=K4(),e=j4();return n=>{let o=new ArrayBuffer(4*n.length),s=new Uint32Array(o);for(let i=0;i>10]+(a&1023)]+t[a>>10];s[i]=u}return new Float32Array(o)}}var Se=class{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return Se.instance==null&&(Se.instance=new Se),Se.instance}static registerSaveRouter(t){Se.getInstance().saveRouters.push(t)}static registerLoadRouter(t){Se.getInstance().loadRouters.push(t)}static getSaveHandlers(t){return Se.getHandlers(t,\"save\")}static getLoadHandlers(t,e){return Se.getHandlers(t,\"load\",e)}static getHandlers(t,e,n){let o=[];return(e===\"load\"?Se.getInstance().loadRouters:Se.getInstance().saveRouters).forEach(i=>{let a=i(t,n);a!==null&&o.push(a)}),o}},i_=r=>Se.registerSaveRouter(r),a_=r=>Se.registerLoadRouter(r),l_=r=>Se.getSaveHandlers(r),u_=(r,t)=>Se.getLoadHandlers(r,t);var G0=\"tensorflowjs\",W0=1,Yu=\"models_store\",Kl=\"model_info_store\";function c_(){if(!B().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,t=r.indexedDB||r.mozIndexedDB||r.webkitIndexedDB||r.msIndexedDB||r.shimIndexedDB;if(t==null)throw new Error(\"The current browser does not appear to support IndexedDB.\");return t}function U0(r){let t=r.result;t.createObjectStore(Yu,{keyPath:\"modelPath\"}),t.createObjectStore(Kl,{keyPath:\"modelPath\"})}var $i=class{constructor(t){if(this.indexedDB=c_(),t==null||!t)throw new Error(\"For IndexedDB, modelPath must not be null, undefined or empty.\");this.modelPath=t}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");return this.databaseAction(this.modelPath,t)}async load(){return this.databaseAction(this.modelPath)}databaseAction(t,e){return new Promise((n,o)=>{let s=this.indexedDB.open(G0,W0);s.onupgradeneeded=()=>U0(s),s.onsuccess=()=>{let i=s.result;if(e==null){let a=i.transaction(Yu,\"readonly\"),l=a.objectStore(Yu).get(this.modelPath);l.onsuccess=()=>{if(l.result==null)return i.close(),o(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));n(l.result.modelArtifacts)},l.onerror=c=>(i.close(),o(l.error)),a.oncomplete=()=>i.close()}else{let a=Ai(e),u=i.transaction(Kl,\"readwrite\"),l=u.objectStore(Kl),c=l.put({modelPath:this.modelPath,modelArtifactsInfo:a}),p;c.onsuccess=()=>{p=i.transaction(Yu,\"readwrite\");let f=p.objectStore(Yu).put({modelPath:this.modelPath,modelArtifacts:e,modelArtifactsInfo:a});f.onsuccess=()=>n({modelArtifactsInfo:a}),f.onerror=d=>{l=u.objectStore(Kl);let h=l.delete(this.modelPath);h.onsuccess=()=>(i.close(),o(f.error)),h.onerror=g=>(i.close(),o(f.error))}},c.onerror=m=>(i.close(),o(c.error)),u.oncomplete=()=>{p==null?i.close():p.oncomplete=()=>i.close()}}},s.onerror=i=>o(s.error)})}};$i.URL_SCHEME=\"indexeddb://\";var p_=r=>B().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith($i.URL_SCHEME)?Y4(r.slice($i.URL_SCHEME.length)):null;Se.registerSaveRouter(p_);Se.registerLoadRouter(p_);function Y4(r){return new $i(r)}function Z4(r){return r.startsWith($i.URL_SCHEME)?r.slice($i.URL_SCHEME.length):r}var ux=class{constructor(){this.indexedDB=c_()}async listModels(){return new Promise((t,e)=>{let n=this.indexedDB.open(G0,W0);n.onupgradeneeded=()=>U0(n),n.onsuccess=()=>{let o=n.result,s=o.transaction(Kl,\"readonly\"),a=s.objectStore(Kl).getAll();a.onsuccess=()=>{let u={};for(let l of a.result)u[l.modelPath]=l.modelArtifactsInfo;t(u)},a.onerror=u=>(o.close(),e(a.error)),s.oncomplete=()=>o.close()},n.onerror=o=>e(n.error)})}async removeModel(t){return t=Z4(t),new Promise((e,n)=>{let o=this.indexedDB.open(G0,W0);o.onupgradeneeded=()=>U0(o),o.onsuccess=()=>{let s=o.result,i=s.transaction(Kl,\"readwrite\"),a=i.objectStore(Kl),u=a.get(t),l;u.onsuccess=()=>{if(u.result==null)return s.close(),n(new Error(`Cannot find model with path '${t}' in IndexedDB.`));{let c=a.delete(t),p=()=>{l=s.transaction(Yu,\"readwrite\");let f=l.objectStore(Yu).delete(t);f.onsuccess=()=>e(u.result.modelArtifactsInfo),f.onerror=d=>n(u.error)};c.onsuccess=p,c.onerror=m=>(p(),s.close(),n(u.error))}},u.onerror=c=>(s.close(),n(u.error)),i.oncomplete=()=>{l==null?s.close():l.oncomplete=()=>s.close()}},o.onerror=s=>n(o.error)})}};var Xa=\"/\",im=\"tensorflowjs_models\",m_=\"info\",J4=\"model_topology\",Q4=\"weight_specs\",tH=\"weight_data\",eH=\"model_metadata\";function f_(r){return{info:[im,r,m_].join(Xa),topology:[im,r,J4].join(Xa),weightSpecs:[im,r,Q4].join(Xa),weightData:[im,r,tH].join(Xa),modelMetadata:[im,r,eH].join(Xa)}}function d_(r){for(let t of Object.values(r))window.localStorage.removeItem(t)}function rH(r){let t=r.split(Xa);if(t.length<3)throw new Error(`Invalid key format: ${r}`);return t.slice(1,t.length-1).join(Xa)}function nH(r){return r.startsWith(Di.URL_SCHEME)?r.slice(Di.URL_SCHEME.length):r}var Di=class{constructor(t){if(!B().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,t==null||!t)throw new Error(\"For local storage, modelPath must not be null, undefined or empty.\");this.modelPath=t,this.keys=f_(this.modelPath)}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");{let e=JSON.stringify(t.modelTopology),n=JSON.stringify(t.weightSpecs),o=Ai(t);try{this.LS.setItem(this.keys.info,JSON.stringify(o)),this.LS.setItem(this.keys.topology,e),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,o_(t.weightData));let s={format:t.format,generatedBy:t.generatedBy,convertedBy:t.convertedBy,signature:t.signature!=null?t.signature:void 0,userDefinedMetadata:t.userDefinedMetadata!=null?t.userDefinedMetadata:void 0,modelInitializer:t.modelInitializer!=null?t.modelInitializer:void 0,trainingConfig:t.trainingConfig!=null?t.trainingConfig:void 0};return this.LS.setItem(this.keys.modelMetadata,JSON.stringify(s)),{modelArtifactsInfo:o}}catch(s){throw d_(this.keys),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 t=JSON.parse(this.LS.getItem(this.keys.info));if(t==null)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if(t.modelTopologyType!==\"JSON\")throw new Error(\"BrowserLocalStorage does not support loading non-JSON model topology yet.\");let e={},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.`);e.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.`);e.weightSpecs=o;let s=this.LS.getItem(this.keys.modelMetadata);if(s!=null){let a=JSON.parse(s);e.format=a.format,e.generatedBy=a.generatedBy,e.convertedBy=a.convertedBy,a.signature!=null&&(e.signature=a.signature),a.userDefinedMetadata!=null&&(e.userDefinedMetadata=a.userDefinedMetadata),a.modelInitializer!=null&&(e.modelInitializer=a.modelInitializer),a.trainingConfig!=null&&(e.trainingConfig=a.trainingConfig)}let i=this.LS.getItem(this.keys.weightData);if(i==null)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return e.weightData=s_(i),e}};Di.URL_SCHEME=\"localstorage://\";var h_=r=>B().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Di.URL_SCHEME)?oH(r.slice(Di.URL_SCHEME.length)):null;Se.registerSaveRouter(h_);Se.registerLoadRouter(h_);function oH(r){return new Di(r)}var cx=class{constructor(){A(B().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 t={},e=im+Xa,n=Xa+m_;for(let o=0;o\"scheme must not be undefined or null.\"),t.endsWith(am)&&(t=t.slice(0,t.indexOf(am))),A(t.length>0,()=>\"scheme must not be an empty string.\");let n=_r.getInstance();A(n.managers[t]==null,()=>`A model store manager is already registered for scheme '${t}'.`),n.managers[t]=e}static getManager(t){let e=_r.getInstance().managers[t];if(e==null)throw new Error(`Cannot find model manager for scheme '${t}'`);return e}static getSchemes(){return Object.keys(_r.getInstance().managers)}};function px(r){if(r.indexOf(am)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${_r.getSchemes().join(\",\")}`);return{scheme:r.split(am)[0],path:r.split(am)[1]}}async function g_(r,t,e=!1){A(r!==t,()=>`Old path and new path are the same: '${r}'`);let n=Se.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=Se.getSaveHandlers(t);A(s.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),A(s.length<2,()=>`Copying failed because more than one (${n.length}) save handlers for destination URL ${t}.`);let i=s[0],a=px(r).scheme,u=px(r).path,l=a===px(r).scheme,c=await o.load();e&&l&&await _r.getManager(a).removeModel(u);let p=await i.save(c);return e&&!l&&await _r.getManager(a).removeModel(u),p.modelArtifactsInfo}async function x_(){let r=_r.getSchemes(),t={};for(let e of r){let n=await _r.getManager(e).listModels();for(let o in n){let s=e+am+o;t[s]=n[o]}}return t}async function y_(r){let t=px(r);return _r.getManager(t.scheme).removeModel(t.path)}async function b_(r,t){return g_(r,t,!1)}async function w_(r,t){return g_(r,t,!0)}var H0=class{fetch(t,e){return fetch(t,e)}now(){return performance.now()}encode(t,e){if(e!==\"utf-8\"&&e!==\"utf8\")throw new Error(`Browser's encoder only supports utf-8, but got ${e}`);return this.textEncoder==null&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(t)}decode(t,e){return new TextDecoder(e).decode(t)}};if(B().get(\"IS_BROWSER\")){B().setPlatform(\"browser\",new H0);try{_r.registerManager(Di.URL_SCHEME,new cx)}catch(r){}try{_r.registerManager($i.URL_SCHEME,new ux)}catch(r){}}var sH={importFetch:()=>C_()},q0;var K0=class{constructor(){this.util=v_(),this.textEncoder=new this.util.TextEncoder}fetch(t,e){return B().global.fetch!=null?B().global.fetch(t,e):(q0==null&&(q0=sH.importFetch()),q0(t,e))}now(){let t=process.hrtime();return t[0]*1e3+t[1]/1e6}encode(t,e){if(e!==\"utf-8\"&&e!==\"utf8\")throw new Error(`Node built-in encoder only supports utf-8, but got ${e}`);return this.textEncoder.encode(t)}decode(t,e){return t.length===0?\"\":new this.util.TextDecoder(e).decode(t)}};B().get(\"IS_NODE\")&&!B().get(\"IS_BROWSER\")&&B().setPlatform(\"node\",new K0);function vt(r,t=\"float32\",e){return t=t||\"float32\",th(r),new fe(r,t,e)}function iH(r,t){let e=v(r,\"x\",\"cast\");if(!g0(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t===\"string\"&&e.dtype!==\"string\"||t!==\"string\"&&e.dtype===\"string\")throw new Error(\"Only strings can be casted to strings\");let n={x:e},o={dtype:t};return _.runKernel(ao,n,o)}var tt=N({cast_:iH});function aH(r){let e={x:v(r,\"x\",\"clone\",\"string_or_numeric\")};return _.runKernel(uo,e)}var an=N({clone_:aH});function mx(r,t=!1){console.log(r.toString(t))}P0();var lH={buffer:vt,cast:tt,clone:an,print:mx};Z1(lH);var vn={};jt(vn,{browserFiles:()=>S_,browserHTTPRequest:()=>k_,concatenateArrayBuffers:()=>om,copyModel:()=>b_,decodeWeights:()=>ax,encodeWeights:()=>n_,fromMemory:()=>__,fromMemorySync:()=>Q0,getLoadHandlers:()=>u_,getModelArtifactsForJSON:()=>sm,getModelArtifactsInfoForJSON:()=>Ai,getSaveHandlers:()=>l_,http:()=>dx,isHTTPScheme:()=>fx,listModels:()=>x_,loadWeights:()=>T_,moveModel:()=>w_,registerLoadRouter:()=>a_,registerSaveRouter:()=>i_,removeModel:()=>y_,weightsLoaderFactory:()=>Z0,withSaveHandler:()=>E_,withSaveHandlerSync:()=>A_});var uH=\"model\",cH=\".json\",pH=\".weights.bin\";function I_(r){return new Promise(t=>setTimeout(t)).then(r)}var Ya=class{constructor(t){if(!B().getBool(\"IS_BROWSER\"))throw new Error(\"browserDownloads() cannot proceed because the current environment is not a browser.\");t.startsWith(Ya.URL_SCHEME)&&(t=t.slice(Ya.URL_SCHEME.length)),(t==null||t.length===0)&&(t=uH),this.modelJsonFileName=t+cH,this.weightDataFileName=t+pH}async save(t){if(typeof document==\"undefined\")throw new Error(\"Browser downloads are not supported in this environment since `document` is not present\");let e=window.URL.createObjectURL(new Blob([t.weightData],{type:\"application/octet-stream\"}));if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserDownloads.save() does not support saving model topology in binary formats yet.\");{let n=[{paths:[\"./\"+this.weightDataFileName],weights:t.weightSpecs}],o=lx(t,n),s=window.URL.createObjectURL(new Blob([JSON.stringify(o)],{type:\"application/json\"})),i=this.modelJsonAnchor==null?document.createElement(\"a\"):this.modelJsonAnchor;if(i.download=this.modelJsonFileName,i.href=s,await I_(()=>i.dispatchEvent(new MouseEvent(\"click\"))),t.weightData!=null){let a=this.weightDataAnchor==null?document.createElement(\"a\"):this.weightDataAnchor;a.download=this.weightDataFileName,a.href=e,await I_(()=>a.dispatchEvent(new MouseEvent(\"click\")))}return{modelArtifactsInfo:Ai(t)}}}};Ya.URL_SCHEME=\"downloads://\";var j0=class{constructor(t){if(t==null||t.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${t}`);this.jsonFile=t[0],this.weightsFiles=t.slice(1)}async load(){return new Promise((t,e)=>{let n=new FileReader;n.onload=o=>{let s=JSON.parse(o.target.result),i=s.modelTopology;if(i==null){e(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));return}if(s.weightsManifest==null){e(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));return}if(this.weightsFiles.length===0){t({modelTopology:i});return}let u=sm(s,l=>this.loadWeights(l));t(u)},n.onerror=o=>e(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),n.readAsText(this.jsonFile)})}loadWeights(t){let e=[],n=[];for(let i of t)e.push(...i.weights),n.push(...i.paths);let o=this.checkManifestAndWeightFiles(t),s=n.map(i=>this.loadWeightsFile(i,o[i]));return Promise.all(s).then(i=>[e,om(i)])}loadWeightsFile(t,e){return new Promise((n,o)=>{let s=new FileReader;s.onload=i=>{let a=i.target.result;n(a)},s.onerror=i=>o(`Failed to weights data from file of path '${t}'.`),s.readAsArrayBuffer(e)})}checkManifestAndWeightFiles(t){let e=[],n=this.weightsFiles.map(s=>V0(s.name)),o={};for(let s of t)s.paths.forEach(i=>{let a=V0(i);if(e.indexOf(a)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${a}'`);if(e.push(a),n.indexOf(a)===-1)throw new Error(`Weight file with basename '${a}' is not provided.`);o[i]=this.weightsFiles[n.indexOf(a)]});if(e.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${e.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return o}},mH=r=>B().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Ya.URL_SCHEME)?fH(r.slice(Ya.URL_SCHEME.length)):null;Se.registerSaveRouter(mH);function fH(r=\"model\"){return new Ya(r)}function S_(r){return new j0(r)}function X0(r,t,e,n){i(r),e=e==null?0:e,n=n==null?1:n,a(e,n);let o=0,s=u=>(u.then(l=>{let c=e+ ++o/r.length*(n-e);return t(c),l}),u);function i(u){A(u!=null&&Array.isArray(u)&&u.length>0,()=>\"promises must be a none empty array\")}function a(u,l){A(u>=0&&u<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${u}`),A(l>=0&&l<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${l}`),A(l>=u,()=>`startFraction must be no more than endFraction, but got startFraction ${u} and endFraction ${l}`)}return Promise.all(r.map(s))}async function Y0(r,t){t==null&&(t={});let e=t.fetchFunc==null?B().platform.fetch:t.fetchFunc,n=r.map(p=>e(p,t.requestInit,{isBinary:!0})),o=0,s=.5,a=(t.onProgress==null?await Promise.all(n):await X0(n,t.onProgress,o,s)).map(p=>p.arrayBuffer()),u=.5,l=1;return t.onProgress==null?await Promise.all(a):await X0(a,t.onProgress,u,l)}async function T_(r,t=\"\",e,n){return Z0(i=>Y0(i,{requestInit:n}))(r,t,e)}function Z0(r){return async(t,e=\"\",n)=>{let o=t.map(()=>!1),s={},i=n!=null?n.map(()=>!1):[],a=[];if(t.forEach((f,d)=>{let h=0;f.weights.forEach(g=>{let x=\"quantization\"in g?g.quantization.dtype:g.dtype,b=dh[x]*Qt(g.shape),w=()=>{o[d]=!0,s[d]==null&&(s[d]=[]),s[d].push({manifestEntry:g,groupOffset:h,sizeBytes:b})};n!=null?n.forEach((C,T)=>{C===g.name&&(w(),i[T]=!0)}):w(),a.push(g.name),h+=b})}),!i.every(f=>f)){let f=n.filter((d,h)=>!i[h]);throw new Error(`Could not find weights in manifest with names: ${f.join(\", \")}. \nManifest JSON has weights with names: ${a.join(\", \")}.`)}let u=o.reduce((f,d,h)=>(d&&f.push(h),f),[]),l=[];u.forEach(f=>{t[f].paths.forEach(d=>{let h=e+(e.endsWith(\"/\")?\"\":\"/\")+d;l.push(h)})});let c=await r(l),p={},m=0;return u.forEach(f=>{let d=t[f].paths.length,h=0;for(let C=0;C{let T=g.slice(C.groupOffset,C.groupOffset+C.sizeBytes),E=ax(T,[C.manifestEntry]);for(let $ in E)p[$]=E[$]}),m+=d}),p}}var dH=\"application/octet-stream\",hH=\"application/json\",hh=class{constructor(t,e){if(this.DEFAULT_METHOD=\"POST\",e==null&&(e={}),this.weightPathPrefix=e.weightPathPrefix,this.onProgress=e.onProgress,this.weightUrlConverter=e.weightUrlConverter,e.fetchFunc!=null?(A(typeof e.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=e.fetchFunc):this.fetch=B().platform.fetch,A(t!=null&&t.length>0,()=>\"URL path for http must not be null, undefined or empty.\"),Array.isArray(t)&&A(t.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${t.length}).`),this.path=t,e.requestInit!=null&&e.requestInit.body!=null)throw new Error(\"requestInit is expected to have no pre-existing body, but has one.\");this.requestInit=e.requestInit||{}}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.\");let e=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);e.body=new FormData;let n=[{paths:[\"./model.weights.bin\"],weights:t.weightSpecs}],o=lx(t,n);e.body.append(\"model.json\",new Blob([JSON.stringify(o)],{type:hH}),\"model.json\"),t.weightData!=null&&e.body.append(\"model.weights.bin\",new Blob([t.weightData],{type:dH}),\"model.weights.bin\");let s=await this.fetch(this.path,e);if(s.ok)return{modelArtifactsInfo:Ai(t),responses:[s]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${s.status}.`)}async load(){let t=await this.fetch(this.path,this.requestInit);if(!t.ok)throw new Error(`Request to ${this.path} failed with status code ${t.status}. Please verify this URL points to the model JSON of the model to load.`);let e;try{e=await t.json()}catch(s){let i=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(\".pb\")?i+=\" 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.\":i+=\" Please make sure the server is serving valid JSON for this request.\",new Error(i)}let n=e.modelTopology,o=e.weightsManifest;if(n==null&&o==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return sm(e,s=>this.loadWeights(s))}async loadWeights(t){let e=Array.isArray(this.path)?this.path[1]:this.path,[n,o]=gH(e),s=this.weightPathPrefix||n,i=[];for(let c of t)i.push(...c.weights);let a=[],u=[];for(let c of t)for(let p of c.paths)this.weightUrlConverter!=null?u.push(this.weightUrlConverter(p)):a.push(s+p+o);this.weightUrlConverter&&a.push(...await Promise.all(u));let l=await Y0(a,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[i,om(l)]}};hh.URL_SCHEME_REGEX=/^https?:\\/\\//;function gH(r){let t=r.lastIndexOf(\"/\"),e=r.lastIndexOf(\"?\"),n=r.substring(0,t),o=e>t?r.substring(e):\"\";return[n+\"/\",o]}function fx(r){return r.match(hh.URL_SCHEME_REGEX)!=null}var N_=(r,t)=>{if(typeof fetch==\"undefined\"&&(t==null||t.fetchFunc==null))return null;{let e=!0;if(Array.isArray(r)?e=r.every(n=>fx(n)):e=fx(r),e)return dx(r,t)}return null};Se.registerSaveRouter(N_);Se.registerLoadRouter(N_);function dx(r,t){return new hh(r,t)}function k_(r,t){return dx(r,t)}var gh=class{constructor(t){this.modelArtifacts=t}load(){return this.modelArtifacts}},hx=class{constructor(t){this.saveHandler=t}save(t){return this.saveHandler(t)}},J0=class{constructor(t){t.load&&(this.load=()=>Promise.resolve(t.load())),t.save&&(this.save=e=>Promise.resolve(t.save(e)))}};function __(r,t,e,n){let o=arguments;return new J0(Q0(...o))}function Q0(r,t,e,n){return arguments.length===1?r.modelTopology!=null||r.weightSpecs!=null?new gh(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 gh({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 gh({modelTopology:r,weightSpecs:t,weightData:e,trainingConfig:n}))}function E_(r){return new hx(r)}function A_(r){return new hx(r)}var R_={};jt(R_,{confusionMatrix:()=>D_});function xH(r,t,e=!1,n=!1){let o=v(r,\"a\",\"matMul\"),s=v(t,\"b\",\"matMul\");[o,s]=Xt(o,s);let i={a:o,b:s},a={transposeA:e,transposeB:n};return _.runKernel(Zo,i,a)}var Gt=N({matMul_:xH});function yH(r,t,e=1,n=0,o=\"int32\"){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);let i={indices:v(r,\"indices\",\"oneHot\",\"int32\")},a={dtype:o,depth:t,onValue:e,offValue:n};return _.runKernel(vs,i,a)}var Ri=N({oneHot_:yH});function wpt(){B().set(\"PROD\",!0)}function Cpt(){B().set(\"DEBUG\",!0)}function vpt(){B().set(\"DEPRECATION_WARNINGS_ENABLED\",!1),console.warn(\"TensorFlow.js deprecation warnings have been disabled.\")}function tS(r){B().getBool(\"DEPRECATION_WARNINGS_ENABLED\")&&console.warn(r+\" You can disable deprecation warnings with tf.disableDeprecationWarnings().\")}J1(tS);function Ipt(){_.disposeVariables()}function go(){return _}function xh(){return _.memory()}function Spt(r){return _.profile(r)}function G(r,t){return _.tidy(r,t)}function _t(r){fh(r).forEach(e=>e.dispose())}function Oe(r){return _.keep(r)}function Tpt(r){return _.time(r)}function bH(r){return _.setBackend(r)}function Npt(){return _.ready()}function kpt(){return _.backendName}function _pt(r){_.removeBackend(r)}function Ept(r){return _.findBackend(r)}function Apt(r){return _.findBackendFactory(r)}function lm(r,t,e=1){return _.registerBackend(r,t,e)}function $_(){return _.backend}function $pt(r,t){B().setPlatform(r,t)}function wH(r){let e={input:v(r,\"input\",\"imag\")};return _.runKernel(Mp,e)}var jl=N({imag_:wH});function CH(r){let e={x:v(r,\"x\",\"neg\")};return _.runKernel(gi,e)}var Yt=N({neg_:CH});function vH(r){let e={input:v(r,\"input\",\"real\")};return _.runKernel(qp,e)}var Za=N({real_:vH});function IH(r,t,e){let n=v(r,\"x\",\"transpose\");if(t==null&&(t=n.shape.map((i,a)=>a).reverse()),A(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(i=>{A(i>=0&&i`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();let o={x:n},s={perm:t};return n.dtype===\"complex64\"?G(()=>{let i=Za(n),a=jl(n);return i=_.runKernel(Yn,{x:i},s),a=_.runKernel(Yn,{x:a},s),e&&(a=Yt(a)),Cn(i,a)}):_.runKernel(Yn,o,s)}var Mt=N({transpose_:IH});function SH(r,t,e){let n=v(r,\"labels\",\"confusionMatrix\"),o=v(t,\"predictions\",\"confusionMatrix\");A(e==null||e>0&&Number.isInteger(e),()=>`If provided, numClasses must be a positive integer, but got ${e}`),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(e>0&&Number.isInteger(e),()=>`numClasses is required to be a positive integer, but got ${e}`);let s=Ri(tt(n,\"int32\"),e),i=Ri(tt(o,\"int32\"),e),a=Mt(s),u=Gt(a,i);return tt(u,\"int32\")}var D_=N({confusionMatrix_:SH});var Lr={};jt(Lr,{assertAndGetBroadcastShape:()=>zt,getBroadcastDims:()=>F_,getReductionAxes:()=>ye});function F_(r,t){let e=r.length,n=[];for(let o=0;o1&&i===1&&n.unshift(s)}return n}function ye(r,t){let e=[];for(let n=0;n1)&&e.unshift(s)}return e}function zt(r,t){let e=[],n=Math.max(r.length,t.length);for(let o=0;o$H,fromPixelsAsync:()=>EH,toPixels:()=>AH});function gx(r,t,e){if(Kn(r),t!=null&&t.length!==3)throw new Error(\"tensor3d() requires shape to have three numbers\");let n=Pr(r,e);if(n.length!==3&&n.length!==1)throw new Error(\"tensor3d() requires values to be number[][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor3d() requires shape to be provided when `values` are a flat array\");return sn(r,t,n,e)}var Zu;function O_(r,t=3){if(t>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 e=!1,n=!1,o=!1,s=!1,i=!1,a=!1;if(r.data instanceof Uint8Array)e=!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)i=!0;else if(typeof ImageBitmap!=\"undefined\"&&r instanceof ImageBitmap)a=!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(lh(ih,_.backendName)!=null){let d={pixels:r},h={numChannels:t};return _.runKernel(ih,d,h)}let[l,c]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],p;if(i)p=r.getContext(\"2d\").getImageData(0,0,l,c).data;else if(n||e)p=r.data;else if(s||o||a){if(Zu==null)if(typeof document==\"undefined\")if(typeof OffscreenCanvas!=\"undefined\"&&typeof OffscreenCanvasRenderingContext2D!=\"undefined\")Zu=new OffscreenCanvas(1,1).getContext(\"2d\");else throw new Error(\"Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.\");else Zu=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:!0});Zu.canvas.width=l,Zu.canvas.height=c,Zu.drawImage(r,0,0,l,c),p=Zu.getImageData(0,0,l,c).data}let m;if(t===4)m=new Int32Array(p);else{let d=l*c;m=new Int32Array(d*t);for(let h=0;h4||s===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${s}`);if(e.dtype!==\"float32\"&&e.dtype!==\"int32\")throw new Error(`Unsupported type for toPixels: ${e.dtype}. Please use float32 or int32 tensors.`);let i=await e.data(),a=e.dtype===\"float32\"?255:1,u=new Uint8ClampedArray(o*n*4);for(let l=0;l1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${f}.`)}else if(e.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*a,c[1]=f*a,c[2]=f*a):c[m]=f*a}let p=l*4;u[p+0]=Math.round(c[0]),u[p+1]=Math.round(c[1]),u[p+2]=Math.round(c[2]),u[p+3]=Math.round(c[3])}if(t!=null){t.width=o,t.height=n;let l=t.getContext(\"2d\"),c=new ImageData(u,o,n);l.putImageData(c,0,0)}return e!==r&&e.dispose(),u}var $H=N({fromPixels_:O_});var yx={};jt(yx,{prepareAndValidate:()=>P_});function P_(r,t){let e=r.shape.length,n=t.shape.length;if(e<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${e}.`);if(n<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${n}.`);if(t.dtype!==\"int32\")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[n-1]>e)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[n-1]} vs. ${e}`);if(Qt(r.shape)===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${r.shape}.`);let o=t.shape,s=o[o.length-1],i=1;for(let p=0;pp/l),1].slice(0,s);return[u,i,l,c]}var yh={};jt(yh,{calculateShapes:()=>L_,validateInput:()=>bx,validateUpdateShape:()=>eS});function eS(r,t,e){let n=t.rank>1?t.shape[t.rank-1]:1,o=t.rank>1?t.rank-1:1,s=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${e.shape}, indices.shape: ${t.shape}, shape: ${r}, sliceDim: ${n}, and batchDim: ${o}.`;if(e.rank1?t.shape[n-1]:1,s=e.length,i=1;for(let p=o;pRH,computeFlatOffset:()=>MH,computeOutShape:()=>OH,getNormalizedAxes:()=>PH,isSliceContinous:()=>LH,maskToAxes:()=>FH,parseSliceParams:()=>nS,sliceInfo:()=>zH,startForAxis:()=>H_,startIndicesWithElidedDims:()=>G_,stopForAxis:()=>q_,stopIndicesWithElidedDims:()=>W_,stridesForAxis:()=>U_,stridesWithElidedDims:()=>z_});var rS=-2,DH=-1;function RH(r,t,e){let n=r.shape.length;A(n===t.length,()=>`Error in slice${n}D: Length of begin ${t} must match the rank of the array (${n}).`),A(n===e.length,()=>`Error in slice${n}D: Length of size ${e} must match the rank of the array (${n}).`);for(let o=0;o`Error in slice${n}D: begin[${o}] + size[${o}] (${t[o]+e[o]}) would overflow input.shape[${o}] (${r.shape[o]})`)}function FH(r){let t=[],e=0;for(;r>0;)r&1&&t.push(e),r/=2,e++;return t}function OH(r,t,e){let n=[];for(let o=0;o0){let f=t[0],d=e+1;c=G_(i,f,d,n,r),p=W_(a,f,d,o,r),m=z_(s,f,d,r)}else for(let f=0;f-1)s[a]=0;else{let u=B_(t,e,a),l=n[u];r&1<-1)s[a]=Number.MAX_SAFE_INTEGER;else{let u=B_(t,e,a),l=n[u];r&1<0?i=Number.MIN_SAFE_INTEGER:i=Number.MAX_SAFE_INTEGER);let u=n[o];return i<0&&(i+=u),i=yp(0,i,u-1),i}function q_(r,t,e,n,o,s){let i=t[o],a=e[o]||1;(r&1<0?i=Number.MAX_SAFE_INTEGER:i=Number.MIN_SAFE_INTEGER);let u=n[o];return i<0&&(i+=u),a>0?i=yp(0,i,u):i=yp(-1,i,u-1),i}function LH(r,t,e){let n=e.length;for(let o=0;o1){n=o;break}for(let o=n+1;o0||e[o]!==r[o])return!1;return!0}function MH(r,t){let e=r.length>0?r[r.length-1]:1;for(let n=0;n{A(i!==-1,()=>\"slice() does not support negative begin indexing.\")});let s;return e==null?s=new Array(o).fill(-1):typeof e==\"number\"?s=[e,...new Array(o-1).fill(-1)]:e.lengthi>=0?i:(A(i===-1,()=>`Negative size values should be exactly -1 but got ${i} for the slice() size at index ${a}.`),r.shape[a]-n[a])),[n,s]}function zH(r,t,e,n,o,s,i,a,u){let l;if(n==null?(l=new Array(t.length),l.fill(1)):l=n,i!=null&&(i&i-1)!==0)throw new Error(\"Multiple ellipses in slice is not allowed.\");let c=!1,p={dims:l.length,numAddAxisAfterEllipsis:0,begin:t.slice(),end:e.slice(),strides:l.slice(),beginMask:o,endMask:s,ellipsisMask:i,newAxisMask:a,shrinkAxisMask:u};for(let w=0;w0?0:-1,m.strides[w]>0?T:T-1];if(C&&m.strides[w]<=0)throw Error(\"only stride 1 allowed on non-range indexing.\");h=h&&m.strides[w]===1;let D=!!(m.beginMask&1<=T)throw Error(`slice index ${m.begin[w]} of dimension ${w} out of bounds.`)}else m.begin[w]=M_(m.begin[w],0,m.strides[w],T,E,$),m.end[w]=M_(m.end[w],1,m.strides[w],T,E,$);let W=m.strides[w]===1&&m.begin[w]===0&&m.end[w]===T;f=f&&W,d=d&&(w===0&&m.strides[w]===1||W)}else f=f&&m.strides[w]===1&&D,d=d&&(w===0&&m.strides[w]===1||D);let P,M=!1;if(m.beginValid&&m.endValid?(P=m.end[w]-m.begin[w],M=!0):C?(P=1,M=!0):D&&T>=0&&(m.strides[w]<0?P=-T:P=T,M=!0),M){let W;P===0||P<0!=m.strides[w]<0?W=0:W=Math.trunc(P/m.strides[w])+(P%m.strides[w]!==0?1:0),g.push(W)}else g.push(-1)}for(let w=0;w=0?x.push(g[C]):C===rS&&x.push(1)}return{finalShapeSparse:x.filter((w,C)=>m.finalShapeGatherIndices[C]!==rS),finalShape:x,isIdentity:f,sliceDim0:d,isSimpleSlice:h,begin:m.begin,end:m.end,strides:m.strides}}function BH(r,t){t.beginMask=0,t.endMask=0,t.shrinkAxisMask=0;let e=0;t.beginValid=r.begin!=null,t.endValid=r.end!=null,t.begin=new Array(t.dims),t.end=new Array(t.dims),t.strides=new Array(t.dims),t.finalShapeGatherIndices=[],t.finalShapeGatherIndicesSparse=[],t.inputShapeGatherIndicesSparse=new Array(t.dims);for(let n=0;n0?s[t]:s[t+1&1];{let i=r<0?n+r:r;return is[1]?s[1]:i}}var rt={};jt(rt,{Serializable:()=>bh,SerializationMap:()=>Fi,registerClass:()=>In});var bh=class{getClassName(){return this.constructor.className}static fromConfig(t,e){return new t(e)}},Fi=class{constructor(){this.classNameMap={}}static getMap(){return Fi.instance==null&&(Fi.instance=new Fi),Fi.instance}static register(t){Fi.getMap().classNameMap[t.className]=[t,t.fromConfig]}};function In(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.\"),Fi.register(r)}var Y_={};jt(Y_,{TEST_EPSILON_FLOAT16:()=>K_,createVideoElement:()=>KH,encodeStrings:()=>X_,expectArrayBuffersEqual:()=>qH,expectArraysClose:()=>GH,expectArraysEqual:()=>UH,expectNumbersClose:()=>j_,expectPromiseToFail:()=>WH,expectValuesInRange:()=>HH,play:()=>jH,testEpsilon:()=>wx});var VH=.001,K_=.1;function GH(r,t,e){return e==null&&(e=wx()),oS(r,t,(n,o)=>sS(n,o,e))}function wx(){return _.backend.floatPrecision()===32?VH:K_}function oS(r,t,e){let n=!0;if((xr(r)||xr(t))&&(n=!1),xr(r)&&xr(t)&&(n=!0),n){let i=r.constructor.name,a=t.constructor.name;if(i!==a)throw new Error(`Arrays are of different type. Actual: ${i}. Expected: ${a}`)}if(Array.isArray(r)&&Array.isArray(t)){let i=Pr(r),a=Pr(t);if(!Rn(i,a))throw new Error(`Arrays have different shapes. Actual: [${i}]. Expected: [${a}]`)}let o=xr(r)?r:qo(r),s=xr(t)?t:qo(t);if(o.length!==s.length)throw new Error(`Arrays have different lengths actual: ${o.length} vs expected: ${s.length}.\nActual: ${o}.\nExpected: ${s}.`);for(let i=0;it.fail(),()=>t()),typeof expect!=\"undefined\"&&expect().nothing()}function UH(r,t){let e=typeof t==\"string\"||typeof t==\"number\"||typeof t==\"boolean\"?[t]:t;return Ko(r)||Ko(r[0])||Ko(t)||Ko(t[0])?oS(r,e,(n,o)=>n==o):oS(r,t,(n,o)=>sS(n,o,0))}function j_(r,t,e){if(e==null&&(e=wx()),!sS(r,t,e))throw new Error(`Numbers differ: actual === ${r}, expected === ${t}`);typeof expect!=\"undefined\"&&expect().nothing()}function sS(r,t,e){return!isFinite(r)&&!isFinite(t)?!0:!(isNaN(r)||isNaN(t)||Math.abs(r-t)>e)}function HH(r,t,e){for(let n=0;ne)throw new Error(`Value out of range:${r[n]} low: ${t}, high: ${e}`)}function qH(r,t){let e=new Float32Array(r),n=new Float32Array(t);if(e.length!==n.length)throw new Error(`Expected ArrayBuffer to be of length ${n.length}, but it was ${e.length}`);for(let o=0;o{t.addEventListener(\"loadeddata\",n=>e(t)),t.load()})}async function jH(r){await r.play(),\"requestVideoFrameCallback\"in r&&await new Promise(t=>{r.requestVideoFrameCallback(t)})}var Z_=\"3.20.0\";function XH(r,t){let e=v(r,\"a\",\"add\"),n=v(t,\"b\",\"add\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(jn,o)}var J=N({add_:XH});function YH(r,t){let e=v(r,\"a\",\"floorDiv\"),n=v(t,\"b\",\"floorDiv\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(us,o)}var um=N({floorDiv_:YH});function ZH(r,t){let e=v(r,\"a\",\"div\"),n=v(t,\"b\",\"div\");if([e,n]=Xt(e,n),e.dtype===\"int32\"&&n.dtype===\"int32\")return um(e,n);let o={a:e,b:n},s={};return _.runKernel(ss,o,s)}var ct=N({div_:ZH});function JH(r,t){let e=v(r,\"a\",\"mul\"),n=v(t,\"b\",\"mul\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(Cs,o)}var O=N({mul_:JH});function QH(r){let t=v(r,\"x\",\"abs\");if(t.dtype===\"complex64\"){let e={x:t};return _.runKernel(_l,e)}else{let e={x:t};return _.runKernel(pi,e)}}var $e=N({abs_:QH});function tq(r){let e={x:v(r,\"x\",\"acos\")};return _.runKernel(oa,e)}var Cx=N({acos_:tq});function eq(r){let e={x:v(r,\"x\",\"acosh\")};return _.runKernel(sa,e)}var vx=N({acosh_:eq});function rq(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 t=r.map((o,s)=>v(o,`tensors${s}`,\"addN\")),e=t[0];t.forEach(o=>{if(o.dtype!==e.dtype)throw new Error(\"All tensors passed to tf.addN() must have the same dtype\")}),t.forEach(o=>{if(!Rn(o.shape,e.shape))throw new Error(\"All tensors passed to tf.addN() must have the same shape\")});let n=t;return _.runKernel(jo,n)}var J_=N({addN_:rq});function nq(r,t=null,e=!1){let o={x:v(r,\"x\",\"all\",\"bool\")},s={axis:t,keepDims:e};return _.runKernel(ia,o,s)}var cm=N({all_:nq});function oq(r,t=null,e=!1){let o={x:v(r,\"x\",\"any\",\"bool\")},s={axis:t,keepDims:e};return _.runKernel(aa,o,s)}var Ju=N({any_:oq});function sq(r,t=0){let n={x:v(r,\"x\",\"argMax\")},o={axis:t};return _.runKernel(Xo,n,o)}var Oi=N({argMax_:sq});function iq(r,t=0){let n={x:v(r,\"x\",\"argMin\")},o={axis:t};return _.runKernel(Nl,n,o)}var Ix=N({argMin_:iq});function aq(r){let e={x:v(r,\"x\",\"asin\")};return _.runKernel(la,e)}var Sx=N({asin_:aq});function lq(r){let e={x:v(r,\"x\",\"asinh\")};return _.runKernel(ua,e)}var Tx=N({asinh_:lq});function uq(r){let e={x:v(r,\"x\",\"atan\")};return _.runKernel(ca,e)}var Nx=N({atan_:uq});function cq(r,t){let e=v(r,\"a\",\"atan2\"),n=v(t,\"b\",\"atan2\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(ma,o)}var kx=N({atan2_:cq});function pq(r){let e={x:v(r,\"x\",\"atanh\")};return _.runKernel(pa,e)}var _x=N({atanh_:pq});function mq(r,t,e,n,o=\"NHWC\",s){let i=r[3],a=[...t,i],u=tE(o);return tc(r,a,e,s,n,null,null,u)}function aS(r,t,e,n,o,s,i=\"channelsLast\"){let[a,u]=Ex(t),l;if(i===\"channelsLast\")l=[a,u,r[3],r[3]];else if(i===\"channelsFirst\")l=[a,u,r[1],r[1]];else throw new Error(`Unknown dataFormat ${i}`);return tc(r,l,e,n,o,s,!1,i)}function fq(r,t,e,n,o,s,i=\"NDHWC\"){let[a,u,l]=iS(t),c,p;if(i===\"NDHWC\")p=\"channelsLast\",c=[a,u,l,r[4],r[4]];else if(i===\"NCDHW\")p=\"channelsFirst\",c=[a,u,l,r[1],r[1]];else throw new Error(`Unknown dataFormat ${i}`);return Q_(r,c,e,n,o,!1,p,s)}function tc(r,t,e,n,o,s,i=!1,a=\"channelsLast\"){let[u,l,c,p]=[-1,-1,-1,-1];if(a===\"channelsLast\")[u,l,c,p]=r;else if(a===\"channelsFirst\")[u,p,l,c]=r;else throw new Error(`Unknown dataFormat ${a}`);let[m,f,,d]=t,[h,g]=Ex(e),[x,b]=Ex(n),w=pm(m,x),C=pm(f,b),{padInfo:T,outHeight:E,outWidth:$}=gq(o,l,c,h,g,w,C,s,a),D=i?d*p:d,P;return a===\"channelsFirst\"?P=[u,D,E,$]:a===\"channelsLast\"&&(P=[u,E,$,D]),{batchSize:u,dataFormat:a,inHeight:l,inWidth:c,inChannels:p,outHeight:E,outWidth:$,outChannels:D,padInfo:T,strideHeight:h,strideWidth:g,filterHeight:m,filterWidth:f,effectiveFilterHeight:w,effectiveFilterWidth:C,dilationHeight:x,dilationWidth:b,inShape:r,outShape:P,filterShape:t}}function Q_(r,t,e,n,o,s=!1,i=\"channelsLast\",a){let[u,l,c,p,m]=[-1,-1,-1,-1,-1];if(i===\"channelsLast\")[u,l,c,p,m]=r;else if(i===\"channelsFirst\")[u,m,l,c,p]=r;else throw new Error(`Unknown dataFormat ${i}`);let[f,d,h,,g]=t,[x,b,w]=iS(e),[C,T,E]=iS(n),$=pm(f,C),D=pm(d,T),P=pm(h,E),{padInfo:M,outDepth:W,outHeight:H,outWidth:q}=xq(o,l,c,p,x,b,w,$,D,P,a),X=s?g*m:g,j;return i===\"channelsFirst\"?j=[u,X,W,H,q]:i===\"channelsLast\"&&(j=[u,W,H,q,X]),{batchSize:u,dataFormat:i,inDepth:l,inHeight:c,inWidth:p,inChannels:m,outDepth:W,outHeight:H,outWidth:q,outChannels:X,padInfo:M,strideDepth:x,strideHeight:b,strideWidth:w,filterDepth:f,filterHeight:d,filterWidth:h,effectiveFilterDepth:$,effectiveFilterHeight:D,effectiveFilterWidth:P,dilationDepth:C,dilationHeight:T,dilationWidth:E,inShape:r,outShape:j,filterShape:t}}function dq(r,t,e,n,o){n==null&&(n=lS(r,t,e));let s=r[0],i=r[1],a=Qu((s-t+2*n)/e+1,o),u=Qu((i-t+2*n)/e+1,o);return[a,u]}function hq(r,t,e,n,o,s){o==null&&(o=lS(r,t,n));let i=r[0],a=r[1],u=r[2],l=Qu((i-t+2*o)/n+1,s),c=Qu((a-t+2*o)/n+1,s),p=Qu((u-t+2*o)/n+1,s);return[l,c,p,e]}function lS(r,t,e,n=1){let o=pm(t,n);return Math.floor((r[0]*(e-1)-e+o)/2)}function Ex(r){return typeof r==\"number\"?[r,r,r]:r.length===2?[r[0],r[1],1]:r}function iS(r){return typeof r==\"number\"?[r,r,r]:r}function pm(r,t){return t<=1?r:r+(r-1)*(t-1)}function gq(r,t,e,n,o,s,i,a,u){let l,c,p;if(typeof r==\"number\"){l={top:r,bottom:r,left:r,right:r,type:r===0?\"VALID\":\"NUMBER\"};let f=dq([t,e],s,n,r,a);c=f[0],p=f[1]}else if(r===\"same\"){c=Math.ceil(t/n),p=Math.ceil(e/o);let m=Math.max(0,(c-1)*n+s-t),f=Math.max(0,(p-1)*o+i-e),d=Math.floor(m/2),h=m-d,g=Math.floor(f/2),x=f-g;l={top:d,bottom:h,left:g,right:x,type:\"SAME\"}}else if(r===\"valid\")l={top:0,bottom:0,left:0,right:0,type:\"VALID\"},c=Math.ceil((t-s+1)/n),p=Math.ceil((e-i+1)/o);else if(typeof r==\"object\"){let m=u===\"channelsLast\"?r[1][0]:r[2][0],f=u===\"channelsLast\"?r[1][1]:r[2][1],d=u===\"channelsLast\"?r[2][0]:r[3][0],h=u===\"channelsLast\"?r[2][1]:r[3][1];l={top:m,bottom:f,left:d,right:h,type:m===0&&f===0&&d===0&&h===0?\"VALID\":\"EXPLICIT\"},c=Qu((t-s+m+f)/n+1,a),p=Qu((e-i+d+h)/o+1,a)}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:l,outHeight:c,outWidth:p}}function xq(r,t,e,n,o,s,i,a,u,l,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=hq([t,e,n,1],a,1,o,r,c);m=g[0],f=g[1],d=g[2]}else if(r===\"same\"){m=Math.ceil(t/o),f=Math.ceil(e/s),d=Math.ceil(n/i);let h=(m-1)*o+a-t,g=(f-1)*s+u-e,x=(d-1)*i+l-n,b=Math.floor(h/2),w=h-b,C=Math.floor(g/2),T=g-C,E=Math.floor(x/2),$=x-E;p={top:C,bottom:T,left:E,right:$,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((t-a+1)/o),f=Math.ceil((e-u+1)/s),d=Math.ceil((n-l+1)/i);else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:p,outDepth:m,outHeight:f,outWidth:d}}function Qu(r,t){if(!t)return Math.trunc(r);switch(t){case\"round\":return Math.round(r);case\"ceil\":return Math.ceil(r);case\"floor\":return Math.floor(r);default:throw new Error(`Unknown roundingMode ${t}`)}}function Jn(r){let[t,e,n]=Ex(r);return t===1&&e===1&&n===1}function Er(r,t){return Jn(r)||Jn(t)}function tE(r){if(r===\"NHWC\")return\"channelsLast\";if(r===\"NCHW\")return\"channelsFirst\";throw new Error(`Unknown dataFormat ${r}`)}function Te(r,t,e){if(e!=null){if(typeof t==\"string\")throw Error(`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${t}.`);if(typeof t==\"number\")A(na(t),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${t}.`);else if(typeof t==\"object\")t.forEach(n=>{n.forEach(o=>{A(na(o),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${o}.`)})});else throw Error(`Error in ${r}: Unknown padding parameter: ${t}`)}}function yq(r,t){let n={x:v(r,\"x\",\"reshape\",\"string_or_numeric\")},o={shape:t};return _.runKernel(bi,n,o)}var F=N({reshape_:yq});function bq(r,t,e,n,o){let s=v(r,\"x\",\"avgPool\",\"float32\"),i=1;A(Er(e,i),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${e} and dilations '${i}'`);let a=s,u=!1;s.rank===3&&(u=!0,a=F(s,[1,s.shape[0],s.shape[1],s.shape[2]])),A(a.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${a.rank}.`),Te(\"avgPool\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o},p=_.runKernel(Yo,l,c);return p=tt(p,s.dtype),u?F(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var Xl=N({avgPool_:bq});function wq(r,t,e,n,o,s=\"NDHWC\"){let i=v(r,\"x\",\"avgPool3d\",\"float32\"),a=i,u=!1;i.rank===4&&(u=!0,a=F(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),A(a.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${a.rank}.`),A(s===\"NDHWC\",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),Te(\"avgPool3d\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o,dataFormat:s},p=_.runKernel(kl,l,c);return p=tt(p,a.dtype),u?F(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var Ax=N({avgPool3d_:wq});function Cq(r,t=0){A(r.length>=1,()=>\"Pass at least one tensor to concat\");let e=ja(r,\"tensors\",\"concat\",\"string_or_numeric\");if(e[0].dtype===\"complex64\"&&e.forEach(s=>{if(s.dtype!==\"complex64\")throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${s.dtype}. `)}),e.length===1)return an(e[0]);let n=e,o={axis:t};return _.runKernel(fi,n,o)}var se=N({concat_:Cq});function vq(r){let e={x:v(r,\"x\",\"sigmoid\",\"float32\")};return _.runKernel(Os,e)}var Kr=N({sigmoid_:vq});function Iq(r,t,e){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:t,size:e};return _.runKernel(Ci,o,s)}var Ot=N({slice_:Iq});function Sq(r){let e={x:v(r,\"x\",\"tanh\",\"float32\")};return _.runKernel(Gs,e)}var Pi=N({tanh_:Sq});function Tq(r,t,e,n,o,s){let i=v(r,\"forgetBias\",\"basicLSTMCell\"),a=v(t,\"lstmKernel\",\"basicLSTMCell\"),u=v(e,\"lstmBias\",\"basicLSTMCell\"),l=v(n,\"data\",\"basicLSTMCell\"),c=v(o,\"c\",\"basicLSTMCell\"),p=v(s,\"h\",\"basicLSTMCell\"),m=se([l,p],1),f=Gt(m,a),d=J(f,u),h=d.shape[0],g=d.shape[1]/4,x=[h,g],b=Ot(d,[0,0],x),w=Ot(d,[0,g],x),C=Ot(d,[0,g*2],x),T=Ot(d,[0,g*3],x),E=J(O(Kr(b),Pi(w)),O(c,Kr(J(i,C)))),$=O(Pi(E),Kr(T));return[E,$]}var eE=N({basicLSTMCell_:Tq});function Nq(r,t,e){let n=v(r,\"x\",\"batchToSpaceND\"),o=t.reduce((a,u)=>a*u);A(n.rank>=1+t.length,()=>`input rank is ${n.rank} but should be > than blockShape.length ${t.length}`),A(e.length===t.length,()=>`crops.length is ${e.length} but should be equal to blockShape.length ${t.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 ${t.join(\" * \")} === ${o}`);let s={x:n},i={blockShape:t,crops:e};return _.runKernel(mi,s,i)}var Yl=N({batchToSpaceND_:Nq});function rE(r){let t;return r.rank===0||r.rank===1?t=F(r,[1,1,1,r.size]):r.rank===2?t=F(r,[1,1,r.shape[0],r.shape[1]]):r.rank===3?t=F(r,[1,r.shape[0],r.shape[1],r.shape[2]]):t=r,t}function kq(r,t,e,n,o,s){s==null&&(s=.001);let i=v(r,\"x\",\"batchNorm\"),a=v(t,\"mean\",\"batchNorm\"),u=v(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=v(o,\"scale\",\"batchNorm\"));let c;n!=null&&(c=v(n,\"offset\",\"batchNorm\")),A(a.rank===u.rank,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),A(c==null||a.rank===c.rank,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),A(l==null||a.rank===l.rank,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let m={x:rE(i),scale:l,offset:c,mean:a,variance:u},f={varianceEpsilon:s},d=_.runKernel(cs,m,f);return F(d,i.shape)}var Li=N({batchNorm_:kq});function _q(r,t,e,n,o,s){let i=v(r,\"x\",\"batchNorm\"),a=v(t,\"mean\",\"batchNorm\"),u=v(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=v(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=v(n,\"offset\",\"batchNorm\")),A(i.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${i.rank}.`),A(a.rank===2||a.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${a.rank}.`),A(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${u.rank}.`),l!=null&&A(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${l.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}.`),Li(i,a,u,c,l,s)}var $x=N({batchNorm2d_:_q});function Eq(r,t,e,n,o,s){let i=v(r,\"x\",\"batchNorm\"),a=v(t,\"mean\",\"batchNorm\"),u=v(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=v(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=v(n,\"offset\",\"batchNorm\")),A(i.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${i.rank}.`),A(a.rank===3||a.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${a.rank}.`),A(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${u.rank}.`),l!=null&&A(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${l.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}.`),Li(i,a,u,c,l,s)}var Dx=N({batchNorm3d_:Eq});function Aq(r,t,e,n,o,s){let i=v(r,\"x\",\"batchNorm\"),a=v(t,\"mean\",\"batchNorm\"),u=v(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=v(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=v(n,\"offset\",\"batchNorm\")),A(i.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${i.rank}.`),A(a.rank===4||a.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${a.rank}.`),A(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${u.rank}.`),l!=null&&A(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${l.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}.`),Li(i,a,u,c,l,s)}var Rx=N({batchNorm4d_:Aq});function $q(r,t,e){let n=v(r,\"x\",\"bincount\"),o=v(t,\"weights\",\"bincount\");A(n.dtype===\"int32\",()=>`Error in bincount: input dtype must be int32, but got ${n.dtype}`),A(e>=0,()=>`size must be non-negative, but got ${e}.`),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},i={size:e};return _.runKernel(Sp,s,i)}var Fx=N({bincount_:$q});function Dq(r,t){let e=v(r,\"s0\",\"broadcastArgs\",\"int32\"),n=v(t,\"s1\",\"broadcastArgs\",\"int32\");if(e.rank!==1)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${e.rank}`);if(n.rank!==1)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${n.rank}`);let o={s0:e,s1:n};return _.runKernel(Tp,o)}var nE=N({broadcastArgs_:Dq});function Rq(r,t){let e=v(r,\"broadcastTo\",\"x\"),n=e.shape;if(t.some(l=>!(l>0)||l%1!==0))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthe.rank){let l=e.shape.slice();for(;l.length=0;l--)if(o[l]===t[l])s[l]=1;else if(e.shape[l]!==1)throw new Error(`broadcastTo(): [${n}] cannot be broadcast to [${t}].`);if(s.map((l,c)=>l>1?c:-1).filter(l=>l>=0).length===0)return an(e);let a={x:e},u={reps:s};return _.runKernel(Xn,a,u)}var Mi=N({broadcastTo_:Rq});function Fq(r){let e={x:v(r,\"x\",\"ceil\",\"float32\")};return _.runKernel(Jo,e)}var Ox=N({ceil_:Fq});function Oq(r,t,e){let n=v(r,\"x\",\"clipByValue\");A(t<=e,()=>`Error in clip: min (${t}) must be less than or equal to max (${e}).`);let o={x:n},s={clipValueMin:t,clipValueMax:e};return _.runKernel(lo,o,s)}var Ir=N({clipByValue_:Oq});function Pq(r){return se(r,0)}var Px=N({concat1d_:Pq});function Lq(r,t){return se(r,t)}var Lx=N({concat2d_:Lq});function Mq(r,t){return se(r,t)}var Mx=N({concat3d_:Mq});function zq(r,t){return se(r,t)}var zx=N({concat4d_:zq});function Bq(r,t,e,n,o=\"NHWC\",s=[1,1],i){let a=v(r,\"x\",\"conv2d\",\"float32\"),u=v(t,\"filter\",\"conv2d\",\"float32\"),l=a,c=!1;a.rank===3&&(c=!0,l=F(a,[1,a.shape[0],a.shape[1],a.shape[2]])),A(l.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${l.rank}.`),A(u.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${u.rank}.`),Te(\"conv2d\",n,i);let p=o===\"NHWC\"?l.shape[3]:l.shape[1];A(p===u.shape[2],()=>`Error in conv2d: depth of input (${p}) must match input depth for filter ${u.shape[2]}.`),A(Er(e,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`);let m={x:l,filter:u},f={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i},d=_.runKernel(Qo,m,f);return c?F(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var Sn=N({conv2d_:Bq});function Vq(r,t,e,n,o=\"NWC\",s=1,i){let a=v(r,\"x\",\"conv1d\"),u=v(t,\"filter\",\"conv1d\"),l=a,c=!1;a.rank===2&&(c=!0,l=F(a,[1,a.shape[0],a.shape[1]])),A(l.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${l.rank}.`),A(u.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${u.rank}.`),Te(\"conv1d\",n,i),A(l.shape[2]===u.shape[1],()=>`Error in conv1d: depth of input (${l.shape[2]}) must match input depth for filter ${u.shape[1]}.`),A(Er(e,s),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${e} and dilation '${s}'`),A(o===\"NWC\",()=>`Error in conv1d: got dataFormat of ${o} but only NWC is currently supported.`);let p=F(u,[1,u.shape[0],u.shape[1],u.shape[2]]),m=F(l,[l.shape[0],1,l.shape[1],l.shape[2]]),g=Sn(m,p,[1,e],n,\"NHWC\",[1,s],i);return c?F(g,[g.shape[2],g.shape[3]]):F(g,[g.shape[0],g.shape[2],g.shape[3]])}var mm=N({conv1d_:Vq});function Gq(r,t,e,n,o,s=\"NHWC\",i){A(r.length===t.rank,()=>`Length of inShape (${r.length}) and rank of dy (${t.rank}) must match`);let a=r,u=t,l=!1;t.rank===3&&(l=!0,u=F(t,[1,t.shape[0],t.shape[1],t.shape[2]]),a=[1,r[0],r[1],r[2]]),A(a.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${a.length}.`),A(u.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${u.rank}`),A(e.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${e.rank}`);let c=s===\"NHWC\"?a[3]:a[1],p=s===\"NHWC\"?u.shape[3]:u.shape[1];A(c===e.shape[2],()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${e.shape[2]}.`),A(p===e.shape[3],()=>`Error in conv2dDerInput: depth of output (${p}) must match output depth for filter ${e.shape[3]}.`),Te(\"conv2dDerInput\",o,i);let m={dy:u,filter:e},f={strides:n,pad:o,dataFormat:s,dimRoundingMode:i,inputShape:a},d=_.runKernel(ts,m,f);return l?F(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var fm=N({conv2DBackpropInput_:Gq});function Wq(r,t,e,n,o,s){let i=v(r,\"x\",\"conv2dTranspose\"),a=v(t,\"filter\",\"conv2dTranspose\");return fm(e,i,a,n,o,\"NHWC\",s)}var dm=N({conv2dTranspose_:Wq});function Uq(r,t,e,n,o=\"NDHWC\",s=[1,1,1]){let i=v(r,\"x\",\"conv3d\"),a=v(t,\"filter\",\"conv3d\"),u=i,l=!1;i.rank===4&&(l=!0,u=F(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),A(u.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${u.rank}.`),A(a.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${a.rank}.`),A(u.shape[4]===a.shape[3],()=>`Error in conv3d: depth of input (${u.shape[4]}) must match input depth for filter ${a.shape[3]}.`),A(Er(e,s),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),A(o===\"NDHWC\",()=>`Error in conv3d: got dataFormat of ${o} but only NDHWC is currently supported.`);let c={x:u,filter:a},p={strides:e,pad:n,dataFormat:o,dilations:s},m=_.runKernel(El,c,p);return l?F(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Bx=N({conv3d_:Uq});function Hq(r,t,e,n,o){A(r.length===t.rank,()=>`Length of inShape (${r.length}) and rank of dy (${t.rank}) must match`);let s=r,i=t,a=!1;t.rank===4&&(a=!0,i=F(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),s=[1,r[0],r[1],r[2],r[3]]);let u=s[4],l=i.shape[4];A(s.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${s.length}.`),A(i.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${i.rank}`),A(e.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${e.rank}`),A(u===e.shape[3],()=>`Error in conv3dDerInput: depth of input (${u}) must match input depth for filter ${e.shape[3]}.`),A(l===e.shape[4],()=>`Error in conv3dDerInput: depth of output (${l}) must match output depth for filter ${e.shape[4]}.`);let c={dy:i,filter:e},p={pad:o,strides:n,inputShape:s},m=_.runKernel(Ep,c,p);return a?F(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Vx=N({conv3DBackpropInput_:Hq});function qq(r,t,e,n,o){let s=v(r,\"x\",\"conv3dTranspose\"),i=v(t,\"filter\",\"conv3dTranspose\");return Vx(e,s,i,n,o)}var Gx=N({conv3dTranspose_:qq});function Kq(r){let e={x:v(r,\"x\",\"cos\",\"float32\")};return _.runKernel(es,e)}var Zl=N({cos_:Kq});function jq(r){let e={x:v(r,\"x\",\"cosh\",\"float32\")};return _.runKernel(rs,e)}var hm=N({cosh_:jq});function Xq(r,t=0,e=!1,n=!1){let s={x:v(r,\"x\",\"cumprod\")},i={axis:t,exclusive:e,reverse:n};return _.runKernel(fa,s,i)}var ec=N({cumprod_:Xq});function Yq(r,t=0,e=!1,n=!1){let s={x:v(r,\"x\",\"cumsum\")},i={axis:t,exclusive:e,reverse:n};return _.runKernel(ns,s,i)}var gm=N({cumsum_:Yq});function Zq(r,t,e,n=!1){let o=v(r,\"x\",\"denseBincount\"),s=v(t,\"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(e>=0,()=>`size must be non-negative, but got ${e}.`),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 i={x:o,weights:s},a={size:e,binaryOutput:n};return _.runKernel(Ap,i,a)}var oE=N({denseBincount_:Zq});function Jq(r,t,e=\"NHWC\"){let n=v(r,\"x\",\"depthToSpace\",\"float32\"),o=e===\"NHWC\"?n.shape[1]:n.shape[2],s=e===\"NHWC\"?n.shape[2]:n.shape[3],i=e===\"NHWC\"?n.shape[3]:n.shape[1];A(t>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${t}`),A(o*t>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${o} and ${t} for depthToSpace with input shape\n ${n.shape}`),A(s*t>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${t} for depthToSpace with input shape\n ${n.shape}`),A(i%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${i} for depthToSpace with input shape ${n.shape}`);let a={x:n},u={blockSize:t,dataFormat:e};return _.runKernel(ha,a,u)}var Wx=N({depthToSpace_:Jq});function Qq(r,t,e,n,o=\"NHWC\",s=[1,1],i){let a=v(r,\"x\",\"depthwiseConv2d\",\"float32\"),u=v(t,\"filter\",\"depthwiseConv2d\",\"float32\"),l=a,c=!1;a.rank===3&&(c=!0,l=F(a,[1,a.shape[0],a.shape[1],a.shape[2]])),A(l.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${l.rank}.`),A(u.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${u.rank}.`);let p=o===\"NHWC\"?l.shape[3]:l.shape[1];A(p===u.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${p}) must match the inChannels dimension in filter ${u.shape[2]}.`),Te(\"depthwiseConv2d\",n,i);let m={x:l,filter:u},f={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i},d=_.runKernel(os,m,f);return c?F(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var zi=N({depthwiseConv2d_:Qq});function tK(r){let e={x:v(r,\"x\",\"diag\")};return _.runKernel(Rp,e)}var sE=N({diag_:tK});function eK(r,t,e,n,o=[1,1],s=\"NHWC\"){let i=v(r,\"x\",\"dilation2d\"),a=v(t,\"filter\",\"dilation2d\");A(i.rank===3||i.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${i.rank}.`),A(a.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${a.rank}.`),A(s===\"NHWC\",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${s}`);let u=i,l=!1;i.rank===3&&(u=F(i,[1,i.shape[0],i.shape[1],i.shape[2]]),l=!0);let c={x:u,filter:a},p={strides:e,pad:n,dilations:o},m=_.runKernel(Al,c,p);return l?F(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var Ux=N({dilation2d_:eK});function rK(r,t){let e=v(r,\"a\",\"equal\",\"string_or_numeric\"),n=v(t,\"b\",\"equal\",\"string_or_numeric\");[e,n]=Xt(e,n),zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(xa,o)}var Ar=N({equal_:rK});function nK(r,t,e){let n=v(t,\"a\",\"where\"),o=v(e,\"b\",\"where\"),s=v(r,\"condition\",\"where\",\"bool\"),i=zt(zt(s.shape,n.shape),o.shape),a=Mi(s,i),u=Mi(n,i),l=Mi(o,i),c={condition:a,t:u,e:l};return _.runKernel(wi,c)}var De=N({where_:nK});function oK(r){let e={x:v(r,\"x\",\"zerosLike\")};return _.runKernel(Ti,e)}var St=N({zerosLike_:oK});function sK(r,t){let e=v(r,\"a\",\"div\"),n=v(t,\"b\",\"div\");[e,n]=Xt(e,n);let o=ct(e,n),s=St(o),i=Ar(n,s);return De(i,s,o)}var Hx=N({divNoNan_:sK});function iK(r,t){let e=v(r,\"t1\",\"dot\"),n=v(t,\"t2\",\"dot\");A((e.rank===1||e.rank===2)&&(n.rank===1||n.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${e.rank} and ${n.rank}.`);let o=e.rank===1?e.size:e.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}.`),e.rank===1&&n.rank===1){let i=F(e,[1,-1]),a=F(n,[-1,1]),u=Gt(i,a);return F(u,[])}else if(e.rank===1&&n.rank===2){let i=F(e,[1,-1]),a=F(n,[n.shape[0],n.shape[1]]),u=Gt(i,a);return F(u,[u.size])}else if(e.rank===2&&n.rank===1){let i=F(n,[-1,1]),a=Gt(e,i);return F(a,[a.size])}else{let i=F(n,[n.shape[0],n.shape[1]]);return Gt(e,i)}}var qx=N({dot_:iK});function aK(r,...t){let e=t.map((o,s)=>v(o,`tensors${s}`,\"einsum\")),n={equation:r};return _.runKernel(Fp,e,n)}var iE=N({einsum_:aK});function lK(r){let e={x:v(r,\"x\",\"elu\",\"float32\")};return _.runKernel(is,e)}var Bi=N({elu_:lK});function uK(r){let t=v(r,\"x\",\"erf\");A(t.dtype===\"int32\"||t.dtype===\"float32\",()=>\"Input dtype must be `int32` or `float32`.\"),t.dtype===\"int32\"&&(t=tt(t,\"float32\"));let e={x:t};return _.runKernel(ga,e)}var Kx=N({erf_:uK});function uS(r,t){for(let e=0;er[s]);return[e,o]}function xo(r,t){let e=t.map(n=>1);return aE(r,e,t)}function cK(r,t,e){A(uS(t,e),()=>`${r} supports only inner-most axes for now. Got axes ${t} and rank-${e} input.`)}function pS(r,t){if(uS(r,t))return null;let e=[];for(let n=0;ne.push(n)),e}function wh(r){return r.map((t,e)=>[e,t]).sort((t,e)=>t[1]-e[1]).map(t=>t[0])}function pK(r,t){let e=[];for(let n=t-r;n\"Axis must be <= rank of the tensor\");let n={input:e},o={dim:t};return _.runKernel(di,n,o)}var yr=N({expandDims_:CK});function vK(r){let e={x:v(r,\"x\",\"expm1\")};return _.runKernel(ya,e)}var Xx=N({expm1_:vK});function IK(r,t){let e=v(r,\"x\",\"tile\",\"string_or_numeric\");A(e.rank===t.length,()=>`Error in transpose: rank of input ${e.rank} must match length of reps ${t}.`);let n={x:e},o={reps:t};return _.runKernel(Xn,n,o)}var $r=N({tile_:IK});function SK(r,t,e,n=\"float32\"){t==null&&(t=r);let o=vt([r,t],n),s=r<=t?r:t;for(let a=0;a`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${s.rank}.`),A(na(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let i=s,a=!1;s.rank===3&&(a=!0,i=F(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let u={x:i},l={depthRadius:t,bias:e,alpha:n,beta:o},c=_.runKernel(Dl,u,l);return a?F(c,[c.shape[1],c.shape[2],c.shape[3]]):c}var Qx=N({localResponseNormalization_:OK});function PK(r){let e={x:v(r,\"x\",\"log\",\"float32\")};return _.runKernel(fs,e)}var Sr=N({log_:PK});function LK(r){let e={x:v(r,\"x\",\"log1p\")};return _.runKernel(ka,e)}var Ql=N({log1p_:LK});function MK(r){return A(ui(r),()=>\"The f passed in grad(f) must be a function\"),(t,e)=>{let n=v(t,\"x\",\"tf.grad\",\"string_or_numeric\"),o=e!=null?v(e,\"dy\",\"tf.grad\"):null;return _.tidy(()=>{let{value:s,grads:i}=_.gradients(()=>r(n),[n],o);return o!=null&&Fe(s.shape,o.shape,\"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)\"),ey(i),i[0]})}}function zK(r){return A(ui(r),()=>\"The f passed in grads(f) must be a function\"),(t,e)=>{A(Array.isArray(t),()=>\"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s\");let n=ja(t,\"args\",\"tf.grads\",\"string_or_numeric\"),o=e!=null?v(e,\"dy\",\"tf.grads\"):null;return _.tidy(()=>{let{value:s,grads:i}=_.gradients(()=>r(...n),n,o);return o!=null&&Fe(s.shape,o.shape,\"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),ey(i),i})}}function BK(r){return A(ui(r),()=>\"The f passed in valueAndGrad(f) must be a function\"),(t,e)=>{A(t instanceof Lt,()=>\"The x passed in valueAndGrad(f)(x) must be a tensor\"),A(e==null||e instanceof Lt,()=>\"The dy passed in valueAndGrad(f)(x, dy) must be a tensor\");let{grads:n,value:o}=_.gradients(()=>r(t),[t],e);return ey(n),{grad:n[0],value:o}}}function VK(r){return A(ui(r),()=>\"The f passed in valueAndGrads(f) must be a function\"),(t,e)=>{A(Array.isArray(t)&&t.every(o=>o instanceof Lt),()=>\"The args passed in valueAndGrads(f)(args) must be array of tensors\"),A(e==null||e instanceof Lt,()=>\"The dy passed in valueAndGrads(f)(args, dy) must be a tensor\");let n=_.gradients(()=>r(...t),t,e);return e!=null&&Fe(n.value.shape,e.shape,\"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),ey(n.grads),n}}function ty(r,t){A(ui(r),()=>\"The f passed in variableGrads(f) must be a function\"),A(t==null||Array.isArray(t)&&t.every(l=>l instanceof Ka),()=>\"The varList passed in variableGrads(f, varList) must be an array of variables\");let e=t!=null;if(!e){t=[];for(let l in _.registeredVariables)t.push(_.registeredVariables[l])}let n=e?t.filter(l=>!l.trainable):null,o=t.length;t=t.filter(l=>l.trainable),A(t.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:i,grads:a}=_.gradients(r,t,null,s);A(a.some(l=>l!=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(i.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`);let u={};return t.forEach((l,c)=>{a[c]!=null&&(u[l.name]=a[c])}),n!=null&&n.forEach(l=>u[l.name]=null),{value:i,grads:u}}function un(r){return _.customGrad(r)}function ey(r){if(r.filter(e=>e==null).length>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.`)}function GK(r){let e={x:v(r,\"x\",\"softplus\")};return _.runKernel(Va,e)}var Hs=N({softplus_:GK});function WK(r){let t=v(r,\"x\",\"logSigmoid\");return un(n=>({value:Yt(Hs(Yt(n))),gradFunc:i=>O(i,Kr(Yt(n)))}))(t)}var ry=N({logSigmoid_:WK});function UK(r,t){let e=v(r,\"a\",\"sub\"),n=v(t,\"b\",\"sub\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(Bs,o)}var ut=N({sub_:UK});function HK(r,t=-1){let e=v(r,\"logits\",\"logSoftmax\");if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${e.rank} and axis was ${t}`);return un((o,s)=>{let a=Mr(o,t,!0),u=ut(o,a),l=ut(tt(u,\"float32\"),Sr(ft(or(u),t,!0)));return s([l]),{value:l,gradFunc:(p,m)=>{let[f]=m,d=!0,h=or(f);return ut(p,O(ft(p,t,d),h))}}})(e)}var ym=N({logSoftmax_:HK});function qK(r,t=null,e=!1){let n=v(r,\"x\",\"logSumExp\"),o=ur(t,n.shape),s=Mr(n,o,!0),i=ut(n,s),a=or(i),u=ft(a,o),l=Sr(u),c=J(F(s,l.shape),l);if(e){let p=xo(c.shape,o);return F(c,p)}return c}var bm=N({logSumExp_:qK});function KK(r,t){let e=v(r,\"a\",\"logicalAnd\",\"bool\"),n=v(t,\"b\",\"logicalAnd\",\"bool\");zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(_a,o)}var Dr=N({logicalAnd_:KK});function jK(r){let e={x:v(r,\"x\",\"logicalNot\",\"bool\")};return _.runKernel(Ea,e)}var tu=N({logicalNot_:jK});function XK(r,t){let e=v(r,\"a\",\"logicalOr\",\"bool\"),n=v(t,\"b\",\"logicalOr\",\"bool\");zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(Aa,o)}var wm=N({logicalOr_:XK});function YK(r,t){let e=v(r,\"a\",\"logicalXor\",\"bool\"),n=v(t,\"b\",\"logicalXor\",\"bool\");return zt(e.shape,n.shape),Dr(wm(r,t),tu(Dr(r,t)))}var ny=N({logicalXor_:YK});var oy=2147483648;function ZK(r,t,e=\"left\"){let n=v(r,\"sortedSequence\",\"searchSorted\"),o=v(t,\"values\",\"searchSorted\"),s=n.shape[n.shape.length-1],i=o.shape[o.shape.length-1],a=F(n,[-1,s]),u=F(o,[-1,i]);if(a.rank<2)throw new Error(\"Sorted input argument must be at least 2-dimensional\");if(a.shape[0]!==u.shape[0])throw new Error(\"Leading dimension of 'sortedSequence' and 'values' must match.\");if(Qt(u.shape)>=oy)throw new Error(`values tensor size must less than ${oy}`);if(a.shape[1]>=oy)throw new Error(`trailing dim_size must less than ${oy} for int32 output type, was ${a.shape[1]}`);let l={sortedSequence:a,values:u},c={side:e};return _.runKernel(Xp,l,c)}var Ch=N({searchSorted_:ZK});function cE(r,t){return Ch(r,t,\"left\")}function JK(r,t,e,n,o){let s=v(r,\"x\",\"maxPool\"),i=1,a=s,u=!1;s.rank===3&&(u=!0,a=F(s,[1,s.shape[0],s.shape[1],s.shape[2]])),A(a.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${a.rank}.`),A(Er(e,i),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${e} and dilations '${i}'`),Te(\"maxPool\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o},p=_.runKernel(gs,l,c);return u?F(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var eu=N({maxPool_:JK});function QK(r,t=[1,1,1],e,n,o,s=\"NDHWC\"){let i=v(r,\"x\",\"maxPool3d\"),a=i,u=!1;i.rank===4&&(u=!0,a=F(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),A(a.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${a.rank}.`),A(s===\"NDHWC\",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),Te(\"maxPool3d\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o,dataFormat:s},p=_.runKernel(Rl,l,c);return u?F(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var sy=N({maxPool3d_:QK});function tj(r,t,e,n,o=!1){let i={x:v(r,\"x\",\"maxPoolWithArgmax\")},a={filterSize:t,strides:e,pad:n,includeBatchInIndex:o},u=_.runKernel(Wp,i,a);return{result:u[0],indexes:u[1]}}var pE=N({maxPoolWithArgmax_:tj});function ej(r,t){let e=v(r,\"a\",\"maximum\"),n=v(t,\"b\",\"maximum\");[e,n]=Xt(e,n),e.dtype===\"bool\"&&(e=tt(e,\"int32\"),n=tt(n,\"int32\")),zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(hs,o)}var Tn=N({maximum_:ej});function rj(r,t=null,e=!1){let o={x:v(r,\"x\",\"mean\")},s={axis:t,keepDims:e};return _.runKernel(xs,o,s)}var ke=N({mean_:rj});function _e(r,t=\"float32\"){if(t===\"complex64\"){let n=_e(r,\"float32\"),o=_e(r,\"float32\");return Cn(n,o)}let e=Cp(Qt(r),t);return _.makeTensor(e,r,t)}function cr(r,t=\"float32\"){if(t===\"complex64\"){let n=cr(r,\"float32\"),o=_e(r,\"float32\");return Cn(n,o)}let e=Qd(Qt(r),t);return _.makeTensor(e,r,t)}function mE(r,t,{indexing:e=\"xy\"}={}){if(e!==\"xy\"&&e!==\"ij\")throw new TypeError(`${e} is not a valid third argument to meshgrid`);if(r===void 0)return[];let n=v(r,\"x\",\"meshgrid\",r instanceof Lt?r.dtype:\"float32\");if(t===void 0)return[n];let o=v(t,\"y\",\"meshgrid\",t instanceof Lt?t.dtype:\"float32\"),s=Qt(n.shape),i=Qt(o.shape);return e===\"xy\"?(n=F(n,[1,-1]),o=F(o,[-1,1]),[Gt(cr([i,1],n.dtype),n),Gt(o,cr([1,s],o.dtype))]):(n=F(n,[-1,1]),o=F(o,[1,-1]),[Gt(n,cr([1,i],n.dtype)),Gt(cr([s,1],o.dtype),o)])}function nj(r,t){let e=v(r,\"a\",\"minimum\"),n=v(t,\"b\",\"minimum\");[e,n]=Xt(e,n),e.dtype===\"bool\"&&(e=tt(e,\"int32\"),n=tt(n,\"int32\")),zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(bs,o)}var Ui=N({minimum_:nj});function oj(r,t,e){A(e===\"reflect\"||e===\"symmetric\",()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${e}.`);let n=v(r,\"x\",\"mirrorPad\");if(n.rank===0)throw new Error(\"mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad\");A(t.length===n.rank,()=>`Padding doesn't match input. Must be ${n.rank}. Got ${t.length}.`);let o=e===\"reflect\"?1:0;for(let a=0;a\"Invalid number of paddings. Must be length of 2 each.\"),A(t[a][0]>=0&&t[a][0]<=n.shape[a]-o&&t[a][1]>=0&&t[a][1]<=n.shape[a]-o,()=>`Padding in dimension ${a} cannot be greater than or equal to ${n.shape[a]-o} or less than 0 for input of shape ${n.shape}`);let s={paddings:t,mode:e},i={x:n};return _.runKernel(ws,i,s)}var iy=N({mirrorPad_:oj});function sj(r,t){let e=v(r,\"a\",\"mod\"),n=v(t,\"b\",\"mod\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel($a,o)}var ay=N({mod_:sj});function ij(r,t=null,e=!1){r=v(r,\"x\",\"moments\");let n=ur(t,r.shape),o=ke(r,n,e),s=o.shape;e||(s=xo(o.shape,n));let i=Ht(ut(tt(r,\"float32\"),F(o,s))),a=ke(i,n,e);return{mean:o,variance:a}}var oc=N({moments_:ij});function aj(r,t,e,n){let o=v(t,\"data\",\"multiRNNCell\"),s=ja(e,\"c\",\"multiRNNCell\"),i=ja(n,\"h\",\"multiRNNCell\"),a=o,u=[];for(let p=0;p2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${i}`);e=e||Math.random();let u={logits:i===1?F(o,[1,-1]):o},l={numSamples:t,seed:e,normalized:n},c=_.runKernel(Up,u,l);return i===1?F(c,[c.size]):c}var dE=N({multinomial_:lj});function uj(r,t){let e=v(r,\"a\",\"notEqual\",\"string_or_numeric\"),n=v(t,\"b\",\"notEqual\",\"string_or_numeric\");[e,n]=Xt(e,n),zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(Da,o)}var qs=N({notEqual_:uj});function cj(r){let e={x:v(r,\"x\",\"onesLike\")};return _.runKernel(xi,e)}var br=N({onesLike_:cj});function pj(r,t){let e=v(r,\"v1\",\"outerProduct\"),n=v(t,\"v2\",\"outerProduct\");A(e.rank===1&&n.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${e.rank} and ${n.rank}.`);let o=F(e,[-1,1]),s=F(n,[1,-1]);return Gt(o,s)}var hE=N({outerProduct_:pj});function mj(r,t,e=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:t,constantValue:e},s={x:n};return _.runKernel(Is,s,o)}var cn=N({pad_:mj});function fj(r,t,e=0){return A(t.length===2,()=>\"Invalid number of paddings. Must be length of 2.\"),cn(r,[t],e)}var gE=N({pad1d_:fj});function dj(r,t,e=0){return A(t.length===2&&t[0].length===2&&t[1].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),cn(r,t,e)}var xE=N({pad2d_:dj});function hj(r,t,e=0){return A(t.length===3&&t[0].length===2&&t[1].length===2&&t[2].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),cn(r,t,e)}var yE=N({pad3d_:hj});function gj(r,t,e=0){return A(t.length===4&&t[0].length===2&&t[1].length===2&&t[2].length===2&&t[3].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),cn(r,t,e)}var bE=N({pad4d_:gj});function xj(r,t,e){let n=v(r,\"x\",\"spaceToBatchND\");A(n.rank>=1+t.length,()=>`input rank ${n.rank} should be > than [blockShape] ${t.length}`),A(e.length===t.length,()=>`paddings.shape[0] ${e.length} must be equal to [blockShape] ${t.length}`),A(n.shape.reduce((i,a,u)=>u>0&&u<=t.length?i&&(a+e[u-1][0]+e[u-1][1])%t[u-1]===0:i,!0),()=>`input spatial dimensions ${n.shape.slice(1)} with paddings ${e.toString()} must be divisible by blockShapes ${t.toString()}`);let o={x:n},s={blockShape:t,paddings:e};return _.runKernel(vi,o,s)}var ru=N({spaceToBatchND_:xj});function yj(r,t,e,n,o,s,i){o==null&&(o=[1,1]),s==null&&(s=1),n===0&&(n=\"valid\");let a=v(r,\"x\",\"maxPool\"),u=a,l=!1;a.rank===3&&(l=!0,u=F(a,[1,a.shape[0],a.shape[1],a.shape[2]])),A(Er(s,o),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'`);let c=aS(u.shape,t,s,o,n),p=[c.dilationHeight,c.dilationWidth],m;n===\"same\"?m=wj([c.filterHeight,c.filterWidth],p):m=[[0,0],[0,0]];let f=p[0]===1&&p[1]===1,[d,h]=bj([c.inHeight,c.inWidth],p,m),g=f?n:\"valid\",x=f?u:ru(u,p,d),w=(e===\"avg\"?()=>Xl(x,t,s,g,i):()=>eu(x,t,s,g,i))(),C=f?w:Yl(w,p,h);return l?F(C,[C.shape[1],C.shape[2],C.shape[3]]):C}function bj(r,t,e){let n=e.map(c=>c[0]),o=e.map(c=>c[1]),s=r.concat(n,o),i=t.map((c,p)=>(c-s[p]%c)%c),a=o.map((c,p)=>c+i[p]),u=t.map((c,p)=>[n[p],a[p]]),l=t.map((c,p)=>[0,i[p]]);return[u,l]}function wj(r,t){let n=r.map((i,a)=>i+(i-1)*(t[a]-1)).map(i=>i-1),o=n.map(i=>Math.floor(i/2)),s=n.map((i,a)=>i-o[a]);return n.map((i,a)=>[o[a],s[a]])}var ly=N({pool_:yj});function Cj(r,t){let e=v(r,\"x\",\"prelu\"),n=v(t,\"alpha\",\"prelu\"),o={x:e,alpha:n};return _.runKernel(Ts,o)}var nu=N({prelu_:Cj});function vj(r,t=null,e=!1){let n=v(r,\"x\",\"prod\");n.dtype===\"bool\"&&(n=tt(n,\"int32\"));let o={x:n},s={axis:t,keepDims:e};return _.runKernel(Ns,o,s)}var uy=N({prod_:vj});function Ij(r,t,e,n,o){let s=v(r,\"shape\",\"raggedTensorToTensor\",\"int32\"),i=v(t,\"values\",\"raggedTensorToTensor\"),a=v(e,\"defaultValue\",\"raggedTensorToTensor\",i.dtype),u=n.map((p,m)=>v(p,`tensors${m}`,\"raggedTensorToTensor\",\"int32\")),l={shape:s,values:i,defaultValue:a,rowPartitionTensors:u},c={rowPartitionTypes:o};return _.runKernel(Hp,l,c)}var wE=N({raggedTensorToTensor_:Ij});function Sj(r,t,e){let n=Qt(r),o=null;if(e==null||e===\"float32\")o=new Float32Array(n);else if(e===\"int32\")o=new Int32Array(n);else if(e===\"bool\")o=new Uint8Array(n);else throw new Error(`Unknown data type ${e}`);for(let s=0;s=1||i===0);let a=Math.sqrt(-2*Math.log(i)/i);t=this.mean+this.stdDev*o*a,e=this.mean+this.stdDev*s*a,(!this.truncated||this.isValidTruncated(t))&&(n=!0)}return(!this.truncated||this.isValidTruncated(e))&&(this.nextVal=this.convertValue(e)),this.convertValue(t)}convertValue(t){return this.dtype==null||this.dtype===\"float32\"?t:Math.round(t)}isValidTruncated(t){return t<=this.upper&&t>=this.lower}},py=class{constructor(t,e,n,o){this.alpha=t,this.beta=1/e,this.dtype=n;let s=o||Math.random();this.randu=fy.alea(s.toString()),this.randn=new ic(0,1,n,!1,this.randu()),t<1?this.d=t+2/3:this.d=t-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let t,e,n,o,s,i;for(;;){do o=this.randn.nextValue(),i=1+this.c*o;while(i<=0);if(i*=i*i,t=o*o,e=1-.331*t*t,n=.5*t+this.d*(1-i+Math.log(i)),s=this.randu(),sthis.dtype==null||this.dtype===\"float32\",this.min=t,this.range=e-t,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 ${t} - ${e} <= 1 and dtype is not float`);this.random=fy.alea(o)}convertValue(t){return this.canReturnFloat()?t:Math.round(t)}nextValue(){return this.convertValue(this.min+this.range*this.random())}};function $j(r,t,e=1,n=\"float32\",o){if(e==null&&(e=1),n==null&&(n=\"float32\"),n!==\"float32\"&&n!==\"int32\")throw new Error(`Unsupported data type ${n}`);let s=new py(t,e,n,o),i=vt(r,n);for(let a=0;a`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),pr(t,0)}var BE=N({reverse1d_:zj});function Bj(r,t){let e=v(r,\"x\",\"reverse\");return A(e.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${e.rank}.`),pr(e,t)}var VE=N({reverse2d_:Bj});function Vj(r,t){let e=v(r,\"x\",\"reverse\");return A(e.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${e.rank}.`),pr(e,t)}var GE=N({reverse3d_:Vj});function Gj(r,t){let e=v(r,\"x\",\"reverse\");return A(e.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${e.rank}.`),pr(e,t)}var WE=N({reverse4d_:Gj});function Wj(r){let e={x:v(r,\"x\",\"round\")};return _.runKernel(Ds,e)}var vm=N({round_:Wj});function Uj(r){let e={x:v(r,\"x\",\"rsqrt\",\"float32\")};return _.runKernel(Rs,e)}var Im=N({rsqrt_:Uj});function Hj(r){let e={x:v(r,\"x\",\"selu\")};return _.runKernel(Ma,e)}var Sm=N({selu_:Hj});function qj(r,t,e,n,o,s=[1,1],i=\"NHWC\"){let a=v(r,\"x\",\"separableConv2d\"),u=v(t,\"depthwiseFilter\",\"separableConv2d\"),l=v(e,\"pointwiseFilter\",\"separableConv2d\"),c=a,p=!1;if(a.rank===3&&(p=!0,c=F(a,[1,a.shape[0],a.shape[1],a.shape[2]])),i===\"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(u.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${u.rank}.`),A(l.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${u.rank}.`),A(l.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${l.shape[0]}.`),A(l.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${l.shape[1]}.`);let m=u.shape[2],f=u.shape[3];A(l.shape[2]===m*f,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*f}, but got ${l.shape[2]}.`);let d=zi(c,u,n,o,i,s),g=Sn(d,l,1,\"valid\",i);return p?F(g,[g.shape[1],g.shape[2],g.shape[3]]):g}var Tm=N({separableConv2d_:qj});async function Kj(r,t){let e=v(r,\"x\",\"setdiff1d\"),n=v(t,\"y\",\"setdiff1d\");A(e.dtype===n.dtype,()=>`x and y should have the same dtype, but got x (${e.dtype}) and y (${n.dtype}).`),A(e.rank===1,()=>`x should be 1D tensor, but got x (${e.shape}).`),A(n.rank===1,()=>`y should be 1D tensor, but got y (${n.shape}).`);let o=await e.data(),s=await n.data(),i=new Set(s),a=0;for(let c=0;c`slice1d expects a rank-1 tensor, but got a rank-${n.rank} tensor`),Ot(n,[t],[e])}var _m=N({slice1d_:Zj});function Jj(r,t,e){let n=v(r,\"x\",\"slice2d\");return A(n.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var Ih=N({slice2d_:Jj});function Qj(r,t,e){let n=v(r,\"x\",\"slice3d\");return A(n.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var Em=N({slice3d_:Qj});function t6(r,t,e){let n=v(r,\"x\",\"slice4d\");return A(n.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var lc=N({slice4d_:t6});function e6(r,t=-1){let e=v(r,\"logits\",\"softmax\",\"float32\");if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${e.rank} and dim was ${t}`);let n={logits:e},o={dim:t};return _.runKernel(Ms,n,o)}var su=N({softmax_:e6});function r6(r){A(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.fft() must be complex64 but got ${r.dtype}.`);let t={input:r};return _.runKernel(Pp,t)}var iu=N({fft_:r6});function n6(r){A(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${r.dtype}.`);let t={input:r};return _.runKernel(Lp,t)}var Qa=N({ifft_:n6});function o6(r){let t=r.shape[r.shape.length-1],e=r.size/t,n;if(t<=2){let o=F(r,[e,t]);n=Qa(o)}else{let o=[e,2*(t-1)],s=F(Za(r),[e,t]),i=F(jl(r),[e,t]),a=pr(Ot(s,[0,1],[e,t-2]),1),u=O(pr(Ot(i,[0,1],[e,t-2]),1),mt(-1)),l=se([s,a],1),c=se([i,u],1),p=F(Cn(l,c),[o[0],o[1]]);n=Qa(p)}if(n=Za(n),r.rank===3&&r.shape[0]!==0){let o=n,s=r.shape[0];n=F(n,[s,n.shape[0]/s,n.shape[1]]),o.dispose()}return n}var Am=N({irfft_:o6});function s6(r,t,e=0){let o={x:v(r,\"x\",\"split\")},s={numOrSizeSplits:t,axis:e};return _.runKernel(Ii,o,s)}var mr=N({split_:s6});function i6(r,t){A(r.dtype===\"float32\",()=>`The dtype for rfft() must be real value but got ${r.dtype}`);let e=r.shape[r.shape.length-1],n=r.size/e,o;if(t!=null&&t0),h=r.shape.map(g=>g);h[r.shape.length-1]=t,o=Ot(r,d,h),e=t}else if(t!=null&&t>e){let d=r.shape.map(h=>h);d[r.shape.length-1]=t-e,o=se([r,_e(d)],r.shape.length-1),e=t}else o=r;let s=St(o),i=F(Cn(o,s),[n,e]),a=iu(i),u=Math.floor(e/2)+1,l=Za(a),c=jl(a),p=mr(l,[u,e-u],l.shape.length-1),m=mr(c,[u,e-u],c.shape.length-1),f=o.shape.slice();return f[o.shape.length-1]=u,F(Cn(p[0],m[0]),f)}var au=N({rfft_:i6});function a6(r,t){let e=v(r,\"a\",\"squaredDifference\"),n=v(t,\"b\",\"squaredDifference\");[e,n]=Xt(e,n),zt(e.shape,n.shape);let o={a:e,b:n},s={};return _.runKernel(zs,o,s)}var $m=N({squaredDifference_:a6});function l6(r,t){let e=v(r,\"x\",\"squeeze\",\"string_or_numeric\");return F(e,m0(e.shape,t).newShape)}var Mn=N({squeeze_:l6});function u6(r,t=0){let e=ja(r,\"tensors\",\"stack\",\"string_or_numeric\");A(e.length>=1,()=>\"Pass at least one tensor to tf.stack\"),e.length>0&&A(t<=e[0].rank,()=>\"Axis must be <= rank of the tensor\");let n=e,o={axis:t};return _.runKernel(yi,n,o)}var sr=N({stack_:u6});function c6(r,t=0){let n={x:v(r,\"x\",\"step\")},o={alpha:t};return _.runKernel(co,n,o)}var yo=N({step_:c6});function p6(r,t,e,n,o=0,s=0,i=0,a=0,u=0){let c={x:v(r,\"x\",\"stridedSlice\",\"string_or_numeric\")},p={begin:t,end:e,strides:n,beginMask:o,endMask:s,ellipsisMask:i,newAxisMask:a,shrinkAxisMask:u};return _.runKernel(Wa,c,p)}var gy=N({stridedSlice_:p6});function m6(r){let e={x:v(r,\"x\",\"tan\",\"float32\")};return _.runKernel(Vs,e)}var xy=N({tan_:m6});function Ve(r,t){Kn(r);let e=Pr(r,t);if(e.length!==1)throw new Error(\"tensor1d() requires values to be a flat/TypedArray\");return sn(r,null,e,t)}function Ks(r,t,e){if(Kn(r),t!=null&&t.length!==2)throw new Error(\"tensor2d() requires shape to have two numbers\");let n=Pr(r,e);if(n.length!==2&&n.length!==1)throw new Error(\"tensor2d() requires values to be number[][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor2d() requires shape to be provided when `values` are a flat/TypedArray\");return sn(r,t,n,e)}function HE(r,t,e){if(Kn(r),t!=null&&t.length!==4)throw new Error(\"tensor4d() requires shape to have four numbers\");let n=Pr(r,e);if(n.length!==4&&n.length!==1)throw new Error(\"tensor4d() requires values to be number[][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor4d() requires shape to be provided when `values` are a flat array\");return sn(r,t,n,e)}function qE(r,t,e){if(Kn(r),t!=null&&t.length!==5)throw new Error(\"tensor5d() requires shape to have five numbers\");let n=Pr(r,e);if(n.length!==5&&n.length!==1)throw new Error(\"tensor5d() requires values to be number[][][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor5d() requires shape to be provided when `values` are a flat array\");return sn(r,t,n,e)}function KE(r,t,e){if(Kn(r),t!=null&&t.length!==6)throw new Error(\"tensor6d() requires shape to have six numbers\");let n=Pr(r,e);if(n.length!==6&&n.length!==1)throw new Error(\"tensor6d() requires values to be number[][][][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor6d() requires shape to be provided when `values` are a flat array\");return t=t||n,sn(r,t,n,e)}function f6(r,t=1,e=!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(t<0)throw new Error(`'k' passed to topk() must be >= 0 but got ${t}`);if(t>o)throw new Error(`'k' passed to topk() must be <= the last dimension (${o}) but got ${t}`);let s={x:n},i={k:t,sorted:e},[a,u]=_.runKernel(Ua,s,i);return{values:a,indices:u}}var yy=N({topk_:f6});function d6(r,t=0,e=1,n,o){if(n!=null&&n===\"bool\")throw new Error(\"Unsupported data type $ { dtype }\");let s=new ic(t,e,n,!0,o),i=vt(r,n);for(let a=0;a0,()=>\"The input tensor must be at least 1D\");let n={x:e},o={axis:t},[s,i]=_.runKernel(Zp,n,o);return{values:s,indices:i}}var by=N({unique_:h6});function g6(r,t,e){let n=v(r,\"x\",\"unsortedSegmentSum\"),o=v(t,\"segmentIds\",\"unsortedSegmentSum\",\"int32\");A(na(e),()=>\"numSegments must be of dtype int\");let s={x:n,segmentIds:o},i={numSegments:e};return _.runKernel(Gl,s,i)}var Rm=N({unsortedSegmentSum_:g6});function x6(r,t=0){let e=v(r,\"x\",\"unstack\",\"string_or_numeric\");A(t>=-e.shape.length&&t`Axis = ${t} is not in [-${e.shape.length}, ${e.shape.length})`);let n={value:e},o={axis:t};return _.runKernel(Si,n,o)}var Tr=N({unstack_:x6});function jE(r,t){return Ch(r,t,\"right\")}function wy(r,t=!0,e,n){return _.makeVariable(r,t,e,n)}function Cy(r,t){let e=[];for(let s=0;s0,()=>\"mask cannot be scalar\"),Fe(a.slice(s,s+i),o.shape,\"mask's shape must match the first K dimensions of tensor's shape,\");let u=1;for(let h=s;h\"Shape mismatch in v and x\");let u=mt(1),l=ut(u,a),c=O(ut(i,s),l);if(o){A(n!=null,()=>\"When using zeroDebias: true, step is required.\");let p=v(n,\"step\",\"movingAverage\");c=ct(c,ut(u,ln(a,p)))}return J(s,c)}var v6=N({movingAverage_:C6});function I6(r,t,e){let n=v(r,\"indices\",\"scatterND\",\"int32\"),o=v(t,\"updates\",\"scatterND\");bx(o,n,e);let s={indices:n,updates:o},i={shape:e};return _.runKernel(La,s,i)}var S6=N({scatterND_:I6});function XE(r,t,e,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(e.length!==s)throw new Error(`outputShape has incorrect number of elements:, ${e.length}, should be: ${s}.`);let i=t.size;if(!(t.rank===0||t.rank===1&&i===o))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${o}]`);if(t.dtype!==n.dtype)throw new Error(\"sparseValues.dtype must match defaultValues.dtype\")}function N6(r,t,e,n=0){let o=v(r,\"sparseIndices\",\"sparseToDense\",\"int32\"),s=v(t,\"sparseValues\",\"sparseToDense\",\"string_or_numeric\"),i=v(n,\"defaultValue\",\"sparseToDense\",s.dtype);XE(o,s,e,i);let a={sparseIndices:o,sparseValues:s,defaultValue:i},u={outputShape:e};return _.runKernel(Yp,a,u)}var k6=N({sparseToDense_:N6});function _6(r,t){let e=v(t,\"indices\",\"gatherND\",\"int32\"),o={params:v(r,\"x\",\"gatherND\",\"string_or_numeric\"),indices:e};return _.runKernel(wa,o)}var E6=N({gatherND_:_6});function YE(r,t){if(t==null)return r.shape.slice();if(Rn(r.shape,t))return t;if(r.shape.length===t.length){let e=[];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(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return r instanceof Lt?o.clone():o;let s=YE(o,e),i=1-t,a=ct(Gi(J(Hi(s,0,1,\"float32\",n),i)),i);return O(o,a)}var bS=N({dropout_:A6});function wS(r){return Math.floor(Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))))}function Sh(r,t,e){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}`),Fe(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(e>0&&e<=s,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${s}), but got ${e}`);let i=await n.data(),a=await o.data(),[u,l]=[i.length/s,s],c=f0(\"bool\",u);for(let p=0;pg.value-h.value),c[p]=0;for(let h=0;hZE,depthwiseConv2d:()=>JE,matMul:()=>QE});function R6(r,t,e,n,o,s=\"NHWC\",i){let a=r;r.rank===3&&(a=F(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let u=t;u.rank===3&&(u=F(t,[1,t.shape[0],t.shape[1],t.shape[2]])),A(a.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${a.shape}.`),A(u.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${u.shape}.`),A(e.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${e}.`);let l=s===\"NHWC\"?a.shape[3]:a.shape[1],c=s===\"NHWC\"?u.shape[3]:u.shape[1];A(l===e[2],()=>`Error in conv2dDerFilter: depth of input ${l}) must match input depth in filter (${e[2]}.`),A(c===e[3],()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${e[3]}).`),Te(\"conv2dDerFilter\",o,i);let p={x:a,dy:u},m={strides:n,pad:o,dataFormat:s,dimRoundingMode:i,filterShape:e};return _.runKernel(kp,p,m)}var Fm=N({conv2DBackpropFilter_:R6});function uc(r,t,e){if(e==null||e===\"linear\")return r;if(e===\"relu\")return O(r,yo(t));throw new Error(`Cannot compute gradient for fused activation ${e}.`)}function cc(r,t){let e=t,n=ye(r.shape,t.shape);return n.length>0&&(e=ft(e,n)),F(e,r.shape)}function pc(r,t,e,n){if(t===\"linear\")return r;if(t===\"relu\")return Rr(r);if(t===\"elu\")return Bi(r);if(t===\"relu6\")return Cm(r);if(t===\"prelu\")return nu(r,e);if(t===\"leakyrelu\")return Jl(r,n);if(t===\"sigmoid\")return Kr(r);throw new Error(`Unknown fused activation ${t}.`)}var mc=(r,t)=>!(r>0)||t===\"linear\";function F6({x:r,filter:t,strides:e,pad:n,dataFormat:o=\"NHWC\",dilations:s=[1,1],dimRoundingMode:i,bias:a,activation:u=\"linear\",preluActivationWeights:l,leakyreluAlpha:c}){if(u=u||\"linear\",mc(_.state.gradientDepth,u)===!1){A(o===\"NHWC\",()=>`Error in fused conv2d: got dataFormat of ${o} but only NHWC is currently supported for the case of gradient depth is 0 and the activation is not linear.`);let E=Sn(r,t,e,n,o,s,i);return a!=null&&(E=J(E,a)),pc(E,u,l,c)}let p=v(r,\"x\",\"conv2d\",\"float32\"),m=v(t,\"filter\",\"conv2d\",\"float32\"),f=p,d=!1;p.rank===3&&(d=!0,f=F(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}.`),Te(\"fused conv2d\",n,i);let h=o===\"NHWC\"?f.shape[3]:f.shape[1];A(m.shape[2]===h,()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${m.shape[2]}.`),A(Er(e,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`);let g=tc(f.shape,m.shape,e,s,n,i),x;a!=null&&(x=v(a,\"bias\",\"fused conv2d\"),[x]=Xt(x,p),o===\"NHWC\"?zt(g.outShape,x.shape):(A(x.shape.length<=1,()=>`Error in fused conv2d: only supports scalar or 1-D Tensor bias for NCHW format but got the bias of rank-${x.shape.length}.`),A(x.shape.length===0||x.shape[0]===g.outChannels||x.shape[0]===1,()=>`Error in fused conv2d: bias shape (${x.shape}) is not compatible with the number of output channels (${g.outChannels})`)));let b;if(l!=null){let E=l.shape;if(A(E.length<=1||E.length===3,()=>`Error in fused conv2d: only supports scalar, 1-D Tensor or 3-D Tensor PReLU activation weights but got a tensor of rank-${E.length}.`),E.length===1)A(E[0]===1||E[0]===g.outChannels,()=>`Error in fused conv2d: PReLU activation weights (${E}) is not compatible with the number of output channels (${g.outChannels}).`);else if(E.length===3)try{zt(E,g.outShape)}catch($){let D=`Error in fused conv2d: PReLU activation weights (${E}) is not compatible with the output shape of the conv2d (${g.outShape}).`;throw Error(D)}b=v(l,\"prelu weights\",\"fused conv2d\")}let w=(E,$)=>{A(o===\"NHWC\",()=>`Error in gradient of fused conv2D: got dataFormat of ${o} but only NHWC is currently supported.`);let[D,P,M,W]=$,H=uc(E,M,u);A(Jn(s),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`);let q=fm(P.shape,H,D,e,n),X=Fm(P,H,D.shape,e,n),j=[q,X];if(W!=null){let Z=cc(W,H);j.push(Z)}return j},C={x:f,filter:m,bias:x,preluActivationWeights:b},T={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:c};return a==null?un(($,D,P)=>{let M=_.runKernel(ki,C,T);return P([D,$,M]),d&&(M=F(M,[M.shape[1],M.shape[2],M.shape[3]])),{value:M,gradFunc:w}})(f,m):un(($,D,P,M)=>{let W=_.runKernel(ki,C,T);return M([D,$,W,P]),d&&(W=F(W,[W.shape[1],W.shape[2],W.shape[3]])),{value:W,gradFunc:w}})(f,m,x)}var ZE=N({fusedConv2d_:F6});function O6(r,t,e,n,o,s=[1,1],i){let a=r;r.rank===3&&(a=F(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let u=t;u.rank===3&&(u=F(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={x:a,dy:u},c={strides:n,pad:o,dimRoundingMode:i,dilations:s,filterShape:e};return _.runKernel($p,l,c)}var Iy=N({depthwiseConv2dNativeBackpropFilter_:O6});function P6(r,t,e,n,o,s=[1,1],i){let a=t,u=!1;t.rank===3&&(u=!0,a=F(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={dy:a,filter:e},c={strides:n,pad:o,dimRoundingMode:i,dilations:s,inputShape:r},p=_.runKernel(Dp,l,c);return u?F(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var Sy=N({depthwiseConv2dNativeBackpropInput_:P6});function L6({x:r,filter:t,strides:e,pad:n,dataFormat:o=\"NHWC\",dilations:s=[1,1],dimRoundingMode:i,bias:a,activation:u=\"linear\",preluActivationWeights:l,leakyreluAlpha:c}){if(mc(_.state.gradientDepth,u)===!1){let T=zi(r,t,e,n,o,s,i);return a!=null&&(T=J(T,a)),pc(T,u,l,c)}let p=v(r,\"x\",\"depthwiseConv2d\",\"float32\"),m=v(t,\"filter\",\"depthwiseConv2d\",\"float32\"),f=p,d=!1;p.rank===3&&(d=!0,f=F(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(Er(e,s),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),Te(\"fused depthwiseConv2d\",n,i);let h=tc(f.shape,m.shape,e,s,n,i,!0),g;a!=null&&(g=v(a,\"bias\",\"fused conv2d\"),[g]=Xt(g,p),zt(h.outShape,g.shape));let x;l!=null&&(x=v(l,\"prelu weights\",\"fused depthwiseConv2d\"));let b=(T,E)=>{A(Jn(s),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);let[$,D,P,M]=E,W=uc(T,P,u),H=Sy(D.shape,W,$,e,n,s,i),q=Iy(D,W,$.shape,e,n,s,i);if(M!=null){let X=cc(g,W);return[H,q,X]}return[H,q]},w={x:f,filter:m,bias:g,preluActivationWeights:x},C={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:c};return a==null?un((E,$,D)=>{let P=_.runKernel(_i,w,C);return D([$,E,P]),d&&(P=F(P,[P.shape[1],P.shape[2],P.shape[3]])),{value:P,gradFunc:b}})(f,m):un((E,$,D,P)=>{let M=_.runKernel(_i,w,C);return P([$,E,M,D]),d&&(M=F(M,[M.shape[1],M.shape[2],M.shape[3]])),{value:M,gradFunc:b}})(f,m,g)}var JE=N({fusedDepthwiseConv2d_:L6});function M6({a:r,b:t,transposeA:e=!1,transposeB:n=!1,bias:o,activation:s=\"linear\",preluActivationWeights:i,leakyreluAlpha:a=.2}){if(mc(_.state.gradientDepth,s)===!1){let W=Gt(r,t,e,n);return o!=null&&(W=J(W,o)),pc(W,s,i,a)}let u=v(r,\"a\",\"fused matMul\"),l=v(t,\"b\",\"fused matMul\");[u,l]=Xt(u,l);let c=e?u.shape[u.rank-2]:u.shape[u.rank-1],p=n?l.shape[l.rank-1]:l.shape[l.rank-2],m=e?u.shape[u.rank-1]:u.shape[u.rank-2],f=n?l.shape[l.rank-2]:l.shape[l.rank-1],d=u.shape.slice(0,-2),h=l.shape.slice(0,-2),g=Qt(d),x=Qt(h);A(c===p,()=>`Error in fused matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${u.shape} and ${l.shape} and transposeA=${e} and transposeB=${n} must match.`);let w=zt(u.shape.slice(0,-2),l.shape.slice(0,-2)).concat([m,f]),C=e?F(u,[g,c,m]):F(u,[g,m,c]),T=n?F(l,[x,f,p]):F(l,[x,p,f]),E;o!=null&&(E=v(o,\"bias\",\"fused matMul\"),[E]=Xt(E,u),zt(w,E.shape));let $;i!=null&&($=v(i,\"prelu weights\",\"fused matMul\"));let D=(W,H)=>{let[q,X,j,Z]=H,et=uc(F(W,j.shape),j,s),K,ot;if(!e&&!n?(K=Gt(et,X,!1,!0),ot=Gt(q,et,!0,!1)):!e&&n?(K=Gt(et,X,!1,!1),ot=Gt(et,q,!0,!1)):e&&!n?(K=Gt(X,et,!1,!0),ot=Gt(q,et,!1,!1)):(K=Gt(X,et,!0,!0),ot=Gt(et,q,!0,!0)),o!=null){let st=cc(Z,et);return[K,ot,st]}else return[K,ot]},P={a:C,b:T,bias:E,preluActivationWeights:$},M={transposeA:e,transposeB:n,activation:s,leakyreluAlpha:a};return o==null?un((H,q,X)=>{let j=_.runKernel(Ni,P,M);return X([H,q,j]),{value:F(j,w),gradFunc:D}})(C,T):un((H,q,X,j)=>{let Z=_.runKernel(Ni,P,M);return j([H,q,Z,X]),{value:F(Z,w),gradFunc:D}})(C,T,E)}var QE=N({fusedMatMul_:M6});function z6(r){return Sh(r,.54,.46)}var tA=N({hammingWindow_:z6});function B6(r){return Sh(r,.5,.5)}var Ty=N({hannWindow_:B6});function V6(r,t,e,n=!1,o=0){let s=0,i=[];for(;s+t<=r.size;)i.push(Ot(r,s,t)),s+=e;if(n)for(;s`Error in cropAndResize: image must be rank 4,but got rank ${i.rank}.`),A(a.rank===2&&a.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${l},4] but had shape ${a.shape}.`),A(u.rank===1&&u.shape[0]===l,()=>`Error in cropAndResize: boxInd must be have size [${l}] but had shape ${a.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:i,boxes:a,boxInd:u},p={method:o,extrapolationValue:s,cropSize:n};return _.runKernel(da,c,p)}var rA=N({cropAndResize_:W6});function U6(r){let t=v(r,\"image\",\"flipLeftRight\",\"float32\");A(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);let e={image:t};return _.runKernel(ba,e,{})}var nA=N({flipLeftRight_:U6});function H6(r){let t=v(r,\"image\",\"grayscaleToRGB\"),e=t.rank-1,n=t.shape[e];A(t.rank>=2,()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${t.rank}.`),A(n===1,()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${n}.`);let o=new Array(t.rank);return o.fill(1,0,e),o[e]=3,$r(t,o)}var oA=N({grayscaleToRGB_:H6});function q6(r,t,e=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},i={radians:t,fillValue:e,center:n};return _.runKernel(qa,s,i)}var sA=N({rotateWithOffset_:q6});function bo(r,t,e,n,o,s){n==null&&(n=.5),o==null&&(o=Number.NEGATIVE_INFINITY),s==null&&(s=0);let i=r.shape[0];return e=Math.min(e,i),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(t.rank===1,()=>\"scores must be a 1D tensor\"),A(t.shape[0]===i,()=>`scores has incompatible shape with boxes. Expected ${i}, but was ${t.shape[0]}`),A(0<=s&&s<=1,()=>`softNmsSigma must be in [0, 1], but was '${s}'`),{maxOutputSize:e,iouThreshold:n,scoreThreshold:o,softNmsSigma:s}}function K6(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY){let s=v(r,\"boxes\",\"nonMaxSuppression\",\"float32\"),i=v(t,\"scores\",\"nonMaxSuppression\",\"float32\"),a=bo(s,i,e,n,o);e=a.maxOutputSize,n=a.iouThreshold,o=a.scoreThreshold;let u={maxOutputSize:e,iouThreshold:n,scoreThreshold:o};return _.runKernel(Ra,{boxes:s,scores:i},u)}var iA=N({nonMaxSuppression_:K6});function aA(r,t,e){let n=j6(r,t,e),o=n<0?-(n+1):n;r.splice(o,0,t)}function j6(r,t,e){return Y6(r,t,e||X6)}function X6(r,t){return r>t?1:r>>1);let a=e(t,r[s]);a>0?n=s+1:(o=s,i=!a)}return i?n:-n-1}function ky(r,t,e,n,o){return CS(r,t,e,n,o,0)}function _y(r,t,e,n,o,s){return CS(r,t,e,n,o,0,!1,s,!0)}function Ey(r,t,e,n,o,s){return CS(r,t,e,n,o,s,!0)}function CS(r,t,e,n,o,s,i=!1,a=!1,u=!1){let l=[];for(let g=0;go&&l.push({score:t[g],boxIndex:g,suppressBeginIndex:0});l.sort(lA);let c=s>0?-.5/s:0,p=[],m=[];for(;p.length0;){let g=l.pop(),{score:x,boxIndex:b,suppressBeginIndex:w}=g;if(x=w;--T){let E=Z6(r,b,p[T]);if(E>=n){C=!0;break}if(g.score=g.score*J6(n,c,E),g.score<=o)break}g.suppressBeginIndex=p.length,C||(g.score===x?(p.push(b),m.push(g.score)):g.score>o&&aA(l,g,lA))}let f=p.length,d=e-f;a&&d>0&&(p.push(...new Array(d).fill(0)),m.push(...new Array(d).fill(0)));let h={selectedIndices:p};return i&&(h.selectedScores=m),u&&(h.validOutputs=f),h}function Z6(r,t,e){let n=r.subarray(t*4,t*4+4),o=r.subarray(e*4,e*4+4),s=Math.min(n[0],n[2]),i=Math.min(n[1],n[3]),a=Math.max(n[0],n[2]),u=Math.max(n[1],n[3]),l=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=(a-s)*(u-i),d=(p-l)*(m-c);if(f<=0||d<=0)return 0;let h=Math.max(s,l),g=Math.max(i,c),x=Math.min(a,p),b=Math.min(u,m),w=Math.max(x-h,0)*Math.max(b-g,0);return w/(f+d-w)}function J6(r,t,e){let n=Math.exp(t*e*e);return e<=r?n:0}function lA(r,t){return r.score-t.score||r.score===t.score&&t.boxIndex-r.boxIndex}async function Q6(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY){let s=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),i=v(t,\"scores\",\"nonMaxSuppressionAsync\"),a=bo(s,i,e,n,o);e=a.maxOutputSize,n=a.iouThreshold,o=a.scoreThreshold;let u=await Promise.all([s.data(),i.data()]),l=u[0],c=u[1],{selectedIndices:p}=ky(l,c,e,n,o);return s!==r&&s.dispose(),i!==t&&i.dispose(),Ve(p,\"int32\")}var uA=Q6;function t5(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let i=v(r,\"boxes\",\"nonMaxSuppression\"),a=v(t,\"scores\",\"nonMaxSuppression\"),u=bo(i,a,e,n,o,s);e=u.maxOutputSize,n=u.iouThreshold,o=u.scoreThreshold,s=u.softNmsSigma;let l={boxes:i,scores:a},c={maxOutputSize:e,iouThreshold:n,scoreThreshold:o,softNmsSigma:s},p=_.runKernel(Oa,l,c);return{selectedIndices:p[0],selectedScores:p[1]}}var cA=N({nonMaxSuppressionWithScore_:t5});async function e5(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let i=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=v(t,\"scores\",\"nonMaxSuppressionAsync\"),u=bo(i,a,e,n,o,s);e=u.maxOutputSize,n=u.iouThreshold,o=u.scoreThreshold,s=u.softNmsSigma;let l=await Promise.all([i.data(),a.data()]),c=l[0],p=l[1],{selectedIndices:m,selectedScores:f}=Ey(c,p,e,n,o,s);return i!==r&&i.dispose(),a!==t&&a.dispose(),{selectedIndices:Ve(m,\"int32\"),selectedScores:Ve(f)}}var pA=e5;function r5(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let i=v(r,\"boxes\",\"nonMaxSuppression\"),a=v(t,\"scores\",\"nonMaxSuppression\"),u=bo(i,a,e,n,o,null),l=u.maxOutputSize,c=u.iouThreshold,p=u.scoreThreshold,m={boxes:i,scores:a},f={maxOutputSize:l,iouThreshold:c,scoreThreshold:p,padToMaxOutputSize:s},d=_.runKernel(Fa,m,f);return{selectedIndices:d[0],validOutputs:d[1]}}var mA=N({nonMaxSuppressionPadded_:r5});async function n5(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let i=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=v(t,\"scores\",\"nonMaxSuppressionAsync\"),u=bo(i,a,e,n,o,null),l=u.maxOutputSize,c=u.iouThreshold,p=u.scoreThreshold,[m,f]=await Promise.all([i.data(),a.data()]),{selectedIndices:d,validOutputs:h}=_y(m,f,l,c,p,s);return i!==r&&i.dispose(),a!==t&&a.dispose(),{selectedIndices:Ve(d,\"int32\"),validOutputs:mt(h,\"int32\")}}var fA=n5;function o5(r,t,e=!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(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`),A(n===!1||e===!1,()=>\"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.\");let s=o,i=!1;o.rank===3&&(i=!0,s=F(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=t,a={images:s},u={alignCorners:e,halfPixelCenters:n,size:t},l=_.runKernel(Es,a,u);return i?F(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var Ay=N({resizeBilinear_:o5});function s5(r,t,e=!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(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),A(o.dtype===\"float32\"||o.dtype===\"int32\",()=>\"`images` must have `int32` or `float32` as dtype\"),A(n===!1||e===!1,()=>\"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.\");let s=o,i=!1;o.rank===3&&(i=!0,s=F(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=t,a={images:s},u={alignCorners:e,halfPixelCenters:n,size:t},l=_.runKernel(_s,a,u);return i?F(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var $y=N({resizeNearestNeighbor_:s5});function i5(r,t=\"binary\",e=!1,n=.5){let o=v(r,\"image\",\"threshold\"),s=.2989,i=.587,a=.114,u=o.shape[0]*o.shape[1],l=O(Ve([n]),255),c,p,m,f;if(A(o.rank===3,()=>`Error in threshold: image must be rank 3,but got rank ${o.rank}.`),A(o.shape[2]===3||o.shape[2]===1,()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${o.shape[2]}.`),A(o.dtype===\"int32\"||o.dtype===\"float32\",()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${o.dtype}.`),A(t===\"otsu\"||t===\"binary\",()=>`Method must be binary or otsu, but was ${t}`),o.shape[2]===3){[c,p,m]=mr(o,[1,1,1],-1);let g=O(c,s),x=O(p,i),b=O(m,a);f=J(J(g,x),b)}else f=r;if(t===\"otsu\"){let g=Fx(tt(vm(f),\"int32\"),vr([]),256);l=a5(g,u)}let d=e?Ln(f,l):Xe(f,l);return tt(O(d,255),\"int32\")}function a5(r,t){let e=Ve([-1]),n=Ve([0]),o=Ve([0]),s,i,a,u,l,c;for(let p=0;p`Error in transform: image must be rank 4,but got rank ${i.rank}.`),A(a.rank===2&&(a.shape[0]===i.shape[0]||a.shape[0]===1)&&a.shape[1]===8,()=>\"Error in transform: Input transform should be batch x 8 or 1 x 8\"),A(s==null||s.length===2,()=>`Error in transform: outputShape must be [height, width] or null, but got ${s}.`);let u={image:i,transforms:a},l={interpolation:e,fillMode:n,fillValue:o,outputShape:s};return _.runKernel(Ha,u,l)}var hA=N({transform_:l5});function u5(r,t,e){A(t%1===0,()=>`bandPart(): numLower must be an integer, got ${t}.`),A(e%1===0,()=>`bandPart(): numUpper must be an integer, got ${e}.`);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,i]=n.shape.slice(-2);if(!(t<=s))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${s}).`);if(!(e<=i))throw new Error(`bandPart(): numUpper (${e}) must not be greater than the number of columns (${i}).`);t<0&&(t=s),e<0&&(e=i);let a=F(ou(0,s,1,\"int32\"),[-1,1]),u=ou(0,i,1,\"int32\"),l=ut(a,u),c=Dr(Ln(l,mt(+t,\"int32\")),Pn(l,mt(-e,\"int32\"))),p=_e([s,i],n.dtype);return F(sr(Tr(F(n,[-1,s,i])).map(m=>De(c,m,p))),o)}var gA=N({bandPart_:u5});function c5(r){let t;if(Array.isArray(r)){t=!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 t=!0,r=mr(r,r.shape[0],0).map(o=>Mn(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 e=[],n=r;for(let o=0;o{let s=n[o];if(o>0)for(let i=0;i=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${r.rank}`),r.rank===2)return yA(r,t);{let e=r.shape.slice(0,r.shape.length-2).reduce((u,l)=>u*l),n=Tr(F(r,[e,r.shape[r.shape.length-2],r.shape[r.shape.length-1]]),0),o=[],s=[];n.forEach(u=>{let[l,c]=yA(u,t);o.push(l),s.push(c)});let i=F(sr(o,0),r.shape),a=F(sr(s,0),r.shape);return[i,a]}}function yA(r,t=!1){return _.tidy(()=>{A(r.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${r.shape.length}D Tensor.`);let e=r.shape[0],n=r.shape[1],o=nc(e),s=an(r),i=Ks([[1]],[1,1]),a=an(i),u=e>=n?n:e;for(let l=0;l{let f=Ot(s,[l,l],[e-l,1]),d=Ja(f),h=Ot(s,[l,l],[1,1]),g=De(Xe(h,0),Ks([[-1]]),Ks([[1]])),x=ut(h,O(g,d)),b=ct(f,x);b.shape[0]===1?a=an(i):a=se([i,Ot(b,[1,0],[b.shape[0]-1,b.shape[1]])],0);let w=Yt(ct(Gt(g,x),d)),C=Ot(s,[l,0],[e-l,n]),T=O(w,a),E=Mt(a);if(l===0)s=ut(C,Gt(T,Gt(E,C)));else{let P=ut(C,Gt(T,Gt(E,C)));s=se([Ot(s,[0,0],[l,n]),P],0)}let $=Mt(T),D=Ot(o,[0,l],[e,o.shape[1]-l]);if(l===0)o=ut(D,Gt(Gt(D,a),$));else{let P=ut(D,Gt(Gt(D,a),$));o=se([Ot(o,[0,0],[e,l]),P],1)}return[a,s,o]}),_t([c,p,m])}return!t&&e>n&&(o=Ot(o,[0,0],[e,n]),s=Ot(s,[0,0],[n,n])),[o,s]})}var bA=N({qr_:p5});var Ye;(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\"})(Ye||(Ye={}));function m5(r,t,e=Ye.SUM_BY_NONZERO_WEIGHTS){let n=v(r,\"losses\",\"computeWeightedLoss\"),o=null;t!=null&&(o=v(t,\"weights\",\"computeWeightedLoss\"));let s=o==null?n:O(n,o);if(e===Ye.NONE)return s;if(e===Ye.SUM)return ft(s);if(e===Ye.MEAN){if(o==null)return ke(s);{let i=n.size/o.size,a=ct(ft(s),ft(o));return i>1?ct(a,mt(i)):a}}if(e===Ye.SUM_BY_NONZERO_WEIGHTS){if(o==null)return ct(ft(s),mt(n.size));{let i=O(o,cr(n.shape)),a=tt(ft(qs(i,mt(0))),\"float32\");return ct(ft(s),a)}}throw Error(`Unknown reduction: ${e}`)}var zr=N({computeWeightedLoss_:m5});function f5(r,t,e,n=Ye.SUM_BY_NONZERO_WEIGHTS){let o=v(r,\"labels\",\"absoluteDifference\"),s=v(t,\"predictions\",\"absoluteDifference\"),i=null;e!=null&&(i=v(e,\"weights\",\"absoluteDifference\")),Fe(o.shape,s.shape,\"Error in absoluteDifference: \");let a=$e(ut(o,s));return zr(a,i,n)}var wA=N({absoluteDifference_:f5});function d5(r,t,e,n,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"cosineDistance\"),i=v(t,\"predictions\",\"cosineDistance\"),a=null;n!=null&&(a=v(n,\"weights\",\"cosineDistance\")),Fe(s.shape,i.shape,\"Error in cosineDistance: \");let u=mt(1),l=ut(u,ft(O(s,i),e,!0));return zr(l,a,o)}var CA=N({cosineDistance_:d5});function h5(r,t,e,n=Ye.SUM_BY_NONZERO_WEIGHTS){let o=v(r,\"labels\",\"hingeLoss\"),s=v(t,\"predictions\",\"hingeLoss\"),i=null;e!=null&&(i=v(e,\"weights\",\"hingeLoss\")),Fe(o.shape,s.shape,\"Error in hingeLoss: \");let a=mt(1);o=ut(O(mt(2),o),a);let u=Rr(ut(a,O(o,s)));return zr(u,i,n)}var vA=N({hingeLoss_:h5});function g5(r,t,e,n=1,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"huberLoss\"),i=v(t,\"predictions\",\"huberLoss\"),a=null;e!=null&&(a=v(e,\"weights\",\"huberLoss\")),Fe(s.shape,i.shape,\"Error in huberLoss: \");let u=mt(n),l=$e(ut(i,s)),c=Ui(l,u),p=ut(l,c),m=J(O(mt(.5),Ht(c)),O(u,p));return zr(m,a,o)}var IA=N({huberLoss_:g5});function x5(r,t,e,n=1e-7,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"logLoss\"),i=v(t,\"predictions\",\"logLoss\"),a=null;e!=null&&(a=v(e,\"weights\",\"logLoss\")),Fe(s.shape,i.shape,\"Error in logLoss: \");let u=mt(1),l=mt(n),c=Yt(O(s,Sr(J(i,l)))),p=O(ut(u,s),Sr(J(ut(u,i),l))),m=ut(c,p);return zr(m,a,o)}var SA=N({logLoss_:x5});function y5(r,t,e,n=Ye.SUM_BY_NONZERO_WEIGHTS){let o=v(r,\"labels\",\"meanSquaredError\"),s=v(t,\"predictions\",\"meanSquaredError\"),i=null;e!=null&&(i=v(e,\"weights\",\"meanSquaredError\")),Fe(o.shape,s.shape,\"Error in meanSquaredError: \");let a=$m(o,s);return zr(a,i,n)}var TA=N({meanSquaredError_:y5});function b5(r,t){let e=v(r,\"labels\",\"sigmoidCrossEntropyWithLogits\"),n=v(t,\"logits\",\"sigmoidCrossEntropyWithLogits\");Fe(e.shape,n.shape,\"Error in sigmoidCrossEntropyWithLogits: \");let o=Rr(n),s=O(n,e),i=Ql(or(Yt($e(n))));return J(ut(o,s),i)}function w5(r,t,e,n=0,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"multiClassLabels\",\"sigmoidCrossEntropy\"),i=v(t,\"logits\",\"sigmoidCrossEntropy\"),a=null;if(e!=null&&(a=v(e,\"weights\",\"sigmoidCrossEntropy\")),Fe(s.shape,i.shape,\"Error in sigmoidCrossEntropy: \"),n>0){let l=mt(n),c=mt(1),p=mt(.5);s=J(O(s,ut(c,l)),O(p,l))}let u=b5(s,i);return zr(u,a,o)}var NA=N({sigmoidCrossEntropy_:w5});function C5(r,t,e=-1){if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${e}`);return un((o,s,i)=>{let u=bm(s,[e],!0),l=ut(tt(s,\"float32\"),u);i([o,l]);let c=Yt(O(l,o));return{value:ft(c,[e]),gradFunc:(f,d)=>{let[h,g]=d,x=xo(f.shape,[e]);return[O(F(f,x),ut(tt(h,\"float32\"),or(g))),O(F(f,x),ut(or(g),tt(h,\"float32\")))]}}})(r,t)}function v5(r,t,e,n=0,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"onehotLabels\",\"softmaxCrossEntropy\"),i=v(t,\"logits\",\"softmaxCrossEntropy\"),a=null;if(e!=null&&(a=v(e,\"weights\",\"softmaxCrossEntropy\")),Fe(s.shape,i.shape,\"Error in softmaxCrossEntropy: \"),n>0){let l=mt(n),c=mt(1),p=mt(s.shape[1]);s=J(O(s,ut(c,l)),ct(l,p))}let u=C5(s,i);return zr(u,a,o)}var kA=N({softmaxCrossEntropy_:v5});function I5(r,t,e,n){let o=v(r,\"indices\",\"sparseFillEmptyRows\",\"int32\"),s=v(t,\"values\",\"sparseFillEmptyRows\"),i=v(e,\"denseShape\",\"sparseFillEmptyRows\",\"int32\"),a=v(n,\"defaultValue\",\"sparseFillEmptyRows\",s.dtype);if(o.rank!==2)throw new Error(`Indices should be Tensor2D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Values should be Tensor1D but received shape ${s.shape}`);if(i.rank!==1)throw new Error(`Dense shape should be Tensor1D but received shape ${i.shape}`);if(a.rank!==0)throw new Error(`Default value should be a scalar but received shape ${a.shape}`);let u={indices:o,values:s,denseShape:i,defaultValue:a},l=_.runKernel(Ol,u);return{outputIndices:l[0],outputValues:l[1],emptyRowIndicator:l[2],reverseIndexMap:l[3]}}var _A=N({sparseFillEmptyRows_:I5});function S5(r,t,e){let n=v(r,\"inputIndices\",\"sparseReshape\",\"int32\"),o=v(t,\"inputShape\",\"sparseReshape\",\"int32\"),s=v(e,\"newShape\",\"sparseReshape\",\"int32\");if(n.rank!==2)throw new Error(`Input indices should be Tensor2D but received shape\n ${n.shape}`);if(o.rank!==1)throw new Error(`Input shape should be Tensor1D but received shape ${o.shape}`);if(s.rank!==1)throw new Error(`New shape should be Tensor1D but received shape ${s.shape}`);let i={inputIndices:n,inputShape:o,newShape:s},a=_.runKernel(Ga,i);return{outputIndices:a[0],outputShape:a[1]}}var EA=N({sparseReshape_:S5});function T5(r,t,e){let n=v(r,\"data\",\"sparseSegmentMean\"),o=v(t,\"indices\",\"sparseSegmentMean\",\"int32\"),s=v(e,\"segmentIds\",\"sparseSegmentMean\",\"int32\");if(n.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let i={data:n,indices:o,segmentIds:s};return _.runKernel(Pl,i)}var AA=N({sparseSegmentMean_:T5});function N5(r,t,e){let n=v(r,\"data\",\"sparseSegmentSum\"),o=v(t,\"indices\",\"sparseSegmentSum\",\"int32\"),s=v(e,\"segmentIds\",\"sparseSegmentSum\",\"int32\");if(n.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let i={data:n,indices:o,segmentIds:s};return _.runKernel(Ll,i)}var $A=N({sparseSegmentSum_:N5});function k5(r,t,e,n,o,s,i,a){let u=v(r,\"data\",\"stringNGrams\",\"string\");if(u.dtype!==\"string\")throw new Error(\"Data must be of datatype string\");if(u.shape.length!==1)throw new Error(`Data must be a vector, saw: ${u.shape}`);let l=v(t,\"dataSplits\",\"stringNGrams\");if(l.dtype!==\"int32\")throw new Error(\"Data splits must be of datatype int32\");let c={separator:e,nGramWidths:n,leftPad:o,rightPad:s,padWidth:i,preserveShortSequences:a},p={data:u,dataSplits:l},m=_.runKernel(zl,p,c);return{nGrams:m[0],nGramsSplits:m[1]}}var DA=N({stringNGrams_:k5});function _5(r,t,e=!0){let n=v(r,\"input\",\"stringSplit\",\"string\"),o=v(t,\"delimiter\",\"stringSplit\",\"string\");if(n.rank!==1)throw new Error(`Input should be Tensor1D but received shape ${n.shape}`);if(o.rank!==0)throw new Error(`Delimiter should be a scalar but received shape ${o.shape}`);let s={skipEmpty:e},i={input:n,delimiter:o},a=_.runKernel(Bl,i,s);return{indices:a[0],values:a[1],shape:a[2]}}var RA=N({stringSplit_:_5});function E5(r,t){let e=v(r,\"input\",\"stringToHashBucketFast\",\"string\"),n={numBuckets:t};if(t<=0)throw new Error(\"Number of buckets must be at least 1\");let o={input:e};return _.runKernel(Vl,o,n)}var FA=N({stringToHashBucketFast_:E5});var A5={fft:iu,ifft:Qa,rfft:au,irfft:Am},$5={hammingWindow:tA,hannWindow:Ty,frame:Ny,stft:eA},uu={flipLeftRight:nA,grayscaleToRGB:oA,resizeNearestNeighbor:$y,resizeBilinear:Ay,rotateWithOffset:sA,cropAndResize:rA,nonMaxSuppression:iA,nonMaxSuppressionAsync:uA,nonMaxSuppressionWithScore:cA,nonMaxSuppressionWithScoreAsync:pA,nonMaxSuppressionPadded:mA,nonMaxSuppressionPaddedAsync:fA,threshold:dA,transform:hA},vS={bandPart:gA,gramSchmidt:xA,qr:bA},D5={absoluteDifference:wA,computeWeightedLoss:zr,cosineDistance:CA,hingeLoss:vA,huberLoss:IA,logLoss:SA,meanSquaredError:TA,sigmoidCrossEntropy:NA,softmaxCrossEntropy:kA},R5={sparseFillEmptyRows:_A,sparseReshape:EA,sparseSegmentMean:AA,sparseSegmentSum:$A},F5={stringNGrams:DA,stringSplit:RA,stringToHashBucketFast:FA};var Br=class extends bh{minimize(t,e=!1,n){let{value:o,grads:s}=this.computeGradients(t,n);if(n!=null){let i=n.map(a=>({name:a.name,tensor:s[a.name]}));this.applyGradients(i)}else this.applyGradients(s);return _t(s),e?o:(o.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(t,e){return ty(t,e)}dispose(){this.iterations_!=null&&_t(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:\"iter\",tensor:mt(this.iterations_,\"int32\")}}async getWeights(){throw new Error(\"getWeights() is not implemented for this optimizer yet.\")}async setWeights(t){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(t){return this.iterations_=(await t[0].tensor.data())[0],t.slice(1)}};Object.defineProperty(Br,Symbol.hasInstance,{value:r=>r.minimize!=null&&r.computeGradients!=null&&r.applyGradients!=null});var cu=class extends Br{constructor(t,e,n=null){super(),this.learningRate=t,this.rho=e,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=_.backend.epsilon())}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=_.registeredVariables[n],i=!1;this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accum_grad`,variable:G(()=>St(s).variable(i))}),this.accumulatedUpdates[o]==null&&(this.accumulatedUpdates[o]={originalName:`${n}/accum_var`,variable:G(()=>St(s).variable(i))});let a=Array.isArray(t)?t[o].tensor:t[n];if(a==null)return;let u=this.accumulatedGrads[o].variable,l=this.accumulatedUpdates[o].variable;G(()=>{let c=J(O(u,this.rho),O(Ht(a),1-this.rho)),p=O(ct(Ne(J(l,this.epsilon)),Ne(J(u,this.epsilon))),a),m=J(O(l,this.rho),O(Ht(p),1-this.rho));u.assign(c),l.assign(m);let f=J(O(p,-this.learningRate),s);s.assign(f)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(_t(this.accumulatedGrads.map(t=>t.variable)),_t(this.accumulatedUpdates.map(t=>t.variable)))}async getWeights(){let t=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=t.length/2,n=!1;this.accumulatedGrads=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedUpdates=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.rho,e.epsilon)}};cu.className=\"Adadelta\";In(cu);var pu=class extends Br{constructor(t,e=.1){super(),this.learningRate=t,this.initialAccumulatorValue=e,this.accumulatedGrads=[]}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=_.registeredVariables[n];this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accumulator`,variable:G(()=>Vi(s.shape,this.initialAccumulatorValue).variable(!1))});let i=Array.isArray(t)?t[o].tensor:t[n];if(i==null)return;let a=this.accumulatedGrads[o].variable;G(()=>{let u=J(a,Ht(i));a.assign(u);let l=J(O(ct(i,Ne(J(u,_.backend.epsilon()))),-this.learningRate),s);s.assign(l)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&_t(this.accumulatedGrads.map(t=>t.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=!1;this.accumulatedGrads=t.map(n=>({originalName:n.name,variable:n.tensor.variable(e)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(t,e){return new t(e.learningRate,e.initialAccumulatorValue)}};pu.className=\"Adagrad\";In(pu);var mu=class extends Br{constructor(t,e,n,o=null){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=o,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],G(()=>{this.accBeta1=mt(e).variable(),this.accBeta2=mt(n).variable()}),o==null&&(this.epsilon=_.backend.epsilon())}applyGradients(t){let e=Array.isArray(t)?t.map(n=>n.name):Object.keys(t);G(()=>{let n=ut(1,this.accBeta1),o=ut(1,this.accBeta2);e.forEach((s,i)=>{let a=_.registeredVariables[s],u=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${s}/m`,variable:G(()=>St(a).variable(u))}),this.accumulatedSecondMoment[i]==null&&(this.accumulatedSecondMoment[i]={originalName:`${s}/v`,variable:G(()=>St(a).variable(u))});let l=Array.isArray(t)?t[i].tensor:t[s];if(l==null)return;let c=this.accumulatedFirstMoment[i].variable,p=this.accumulatedSecondMoment[i].variable,m=J(O(c,this.beta1),O(l,1-this.beta1)),f=J(O(p,this.beta2),O(Ht(l),1-this.beta2)),d=ct(m,n),h=ct(f,o);c.assign(m),p.assign(f);let g=J(O(ct(d,J(Ne(h),this.epsilon)),-this.learningRate),a);a.assign(g)}),this.accBeta1.assign(O(this.accBeta1,this.beta1)),this.accBeta2.assign(O(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&_t(this.accumulatedFirstMoment.map(t=>t.variable)),this.accumulatedSecondMoment!=null&&_t(this.accumulatedSecondMoment.map(t=>t.variable))}async getWeights(){let t=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t),G(()=>{this.accBeta1.assign(ln(this.beta1,this.iterations_+1)),this.accBeta2.assign(ln(this.beta2,this.iterations_+1))});let e=t.length/2,n=!1;this.accumulatedFirstMoment=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedSecondMoment=t.slice(e,e*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(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon)}};mu.className=\"Adam\";In(mu);var fu=class extends Br{constructor(t,e,n,o=null,s=0){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=o,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],G(()=>{this.iteration=mt(0).variable(),this.accBeta1=mt(e).variable()}),o==null&&(this.epsilon=_.backend.epsilon())}applyGradients(t){let e=Array.isArray(t)?t.map(n=>n.name):Object.keys(t);G(()=>{let n=ut(1,this.accBeta1),o=ct(-this.learningRate,J(O(this.iteration,this.decay),1));e.forEach((s,i)=>{let a=_.registeredVariables[s],u=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${s}/m`,variable:St(a).variable(u)}),this.accumulatedWeightedInfNorm[i]==null&&(this.accumulatedWeightedInfNorm[i]={originalName:`${s}/v`,variable:St(a).variable(u)});let l=Array.isArray(t)?t[i].tensor:t[s];if(l==null)return;let c=this.accumulatedFirstMoment[i].variable,p=this.accumulatedWeightedInfNorm[i].variable,m=J(O(c,this.beta1),O(l,1-this.beta1)),f=O(p,this.beta2),d=$e(l),h=Tn(f,d);c.assign(m),p.assign(h);let g=J(O(ct(o,n),ct(m,J(h,this.epsilon))),a);a.assign(g)}),this.iteration.assign(J(this.iteration,1)),this.accBeta1.assign(O(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&_t(this.accumulatedFirstMoment.map(t=>t.variable)),this.accumulatedWeightedInfNorm!=null&&_t(this.accumulatedWeightedInfNorm.map(t=>t.variable))}async getWeights(){throw new Error(\"getWeights() is not implemented for Adamax yet.\")}async setWeights(t){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(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon,e.decay)}};fu.className=\"Adamax\";In(fu);var qi=class extends Br{constructor(t){super(),this.learningRate=t,this.setLearningRate(t)}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=Array.isArray(t)?t[o].tensor:t[n];if(s==null)return;let i=_.registeredVariables[n];G(()=>{let a=J(O(this.c,s),i);i.assign(a)})}),this.incrementIterations()}setLearningRate(t){this.learningRate=t,this.c!=null&&this.c.dispose(),this.c=Oe(mt(-t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(t){if(t=await this.extractIterations(t),t.length!==0)throw new Error(\"SGD optimizer does not have settable weights.\")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(t,e){return new t(e.learningRate)}};qi.className=\"SGD\";In(qi);var du=class extends qi{constructor(t,e,n=!1){super(t),this.learningRate=t,this.momentum=e,this.useNesterov=n,this.accumulations=[],this.m=mt(this.momentum)}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=_.registeredVariables[n];this.accumulations[o]==null&&(this.accumulations[o]={originalName:`${n}/momentum`,variable:G(()=>St(s).variable(!1))});let i=this.accumulations[o].variable,a=Array.isArray(t)?t[o].tensor:t[n];a!=null&&G(()=>{let u,l=J(O(this.m,i),a);this.useNesterov?u=J(O(this.c,J(a,O(l,this.m))),s):u=J(O(this.c,l),s),i.assign(l),s.assign(u)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&_t(this.accumulations.map(t=>t.variable))}setMomentum(t){this.momentum=t}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=!1;this.accumulations=t.map(n=>({originalName:n.name,variable:n.tensor.variable(e)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(t,e){return new t(e.learningRate,e.momentum,e.useNesterov)}};du.className=\"Momentum\";In(du);var hu=class extends Br{constructor(t,e=.9,n=0,o=null,s=!1){if(super(),this.learningRate=t,this.decay=e,this.momentum=n,this.epsilon=o,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,o==null&&(this.epsilon=_.backend.epsilon()),t==null)throw new Error(\"learningRate for RMSPropOptimizer must be defined.\")}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=_.registeredVariables[n],i=!1;this.accumulatedMeanSquares[o]==null&&(this.accumulatedMeanSquares[o]={originalName:`${n}/rms`,variable:G(()=>St(s).variable(i))}),this.accumulatedMoments[o]==null&&(this.accumulatedMoments[o]={originalName:`${n}/momentum`,variable:G(()=>St(s).variable(i))}),this.accumulatedMeanGrads[o]==null&&this.centered&&(this.accumulatedMeanGrads[o]={originalName:`${n}/mg`,variable:G(()=>St(s).variable(i))});let a=Array.isArray(t)?t[o].tensor:t[n];if(a==null)return;let u=this.accumulatedMeanSquares[o].variable,l=this.accumulatedMoments[o].variable;G(()=>{let c=J(O(u,this.decay),O(Ht(a),1-this.decay));if(this.centered){let p=this.accumulatedMeanGrads[o].variable,m=J(O(p,this.decay),O(a,1-this.decay)),f=ct(O(a,this.learningRate),Ne(ut(c,J(Ht(m),this.epsilon)))),d=J(O(l,this.momentum),f);u.assign(c),p.assign(m),l.assign(d);let h=ut(s,d);s.assign(h)}else{let p=J(O(u,this.decay),O(Ht(a),1-this.decay)),m=J(O(l,this.momentum),ct(O(a,this.learningRate),Ne(J(p,this.epsilon))));u.assign(p),l.assign(m);let f=ut(s,m);s.assign(f)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&_t(this.accumulatedMeanSquares.map(t=>t.variable)),this.accumulatedMeanGrads!=null&&this.centered&&_t(this.accumulatedMeanGrads.map(t=>t.variable)),this.accumulatedMoments!=null&&_t(this.accumulatedMoments.map(t=>t.variable))}async getWeights(){let t=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&t.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=this.centered?t.length/3:t.length/2,n=!1;this.accumulatedMeanSquares=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedMoments=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=t.slice(e*2,e*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(t,e){return new t(e.learningRate,e.decay,e.momentum,e.epsilon,e.centered)}};hu.className=\"RMSProp\";In(hu);var js=class{static sgd(t){return new qi(t)}static momentum(t,e,n=!1){return new du(t,e,n)}static rmsprop(t,e=.9,n=0,o=null,s=!1){return new hu(t,e,n,o,s)}static adam(t=.001,e=.9,n=.999,o=null){return new mu(t,e,n,o)}static adadelta(t=.001,e=.95,n=null){return new cu(t,e,n)}static adamax(t=.002,e=.9,n=.999,o=null,s=0){return new fu(t,e,n,o,s)}static adagrad(t,e=.1){return new pu(t,e)}};var fc={sgd:js.sgd,momentum:js.momentum,adadelta:js.adadelta,adagrad:js.adagrad,rmsprop:js.rmsprop,adamax:js.adamax,adam:js.adam};var O5=(()=>typeof requestAnimationFrame!=\"undefined\"?requestAnimationFrame:typeof setImmediate!=\"undefined\"?setImmediate:r=>r())();function Th(){return new Promise(r=>O5(()=>r()))}var S={};jt(S,{ERF_A1:()=>Y5,ERF_A2:()=>Z5,ERF_A3:()=>J5,ERF_A4:()=>Q5,ERF_A5:()=>tX,ERF_P:()=>X5,PARALLELIZE_THRESHOLD:()=>Dy,RowPartitionType:()=>Ki,SELU_SCALE:()=>SS,SELU_SCALEALPHA:()=>IS,applyActivation:()=>pc,assertAndGetBroadcastShape:()=>zt,assertAxesAreInnerMostDims:()=>cK,assertParamsConsistent:()=>P5,assignToTypedArray:()=>iX,axesAreInnerMostDims:()=>uS,calculateShapes:()=>L_,checkEinsumDimSizes:()=>mX,checkPadOnDimRoundingMode:()=>Te,combineLocations:()=>aE,combineRaggedTensorToTensorShapes:()=>M5,complexWithEvenIndex:()=>nX,complexWithOddIndex:()=>oX,computeConv2DInfo:()=>tc,computeConv3DInfo:()=>Q_,computeDefaultPad:()=>lS,computeDilation2DInfo:()=>mq,computeOptimalWindowSize:()=>G5,computeOutAndReduceShapes:()=>cS,computeOutShape:()=>L5,computePool2DInfo:()=>aS,computePool3DInfo:()=>fq,convertConv2DDataFormat:()=>tE,decodeEinsumEquation:()=>cX,eitherStridesOrDilationsAreOne:()=>Er,expandShapeToKeepDim:()=>xo,exponent:()=>lX,exponents:()=>aX,fromStringArrayToUint8:()=>RX,fromUint8ToStringArray:()=>DX,getAxesPermutation:()=>pS,getBroadcastDims:()=>F_,getComplexWithIndex:()=>sX,getEinsumComputePath:()=>fX,getEinsumPermutation:()=>pX,getFusedBiasGradient:()=>cc,getFusedDyActivation:()=>uc,getImageCenter:()=>W5,getInnerMostAxes:()=>pK,getPermuted:()=>H5,getRaggedRank:()=>B5,getReductionAxes:()=>ye,getReshaped:()=>U5,getReshapedPermuted:()=>q5,getRowPartitionTypesHelper:()=>z5,getSliceBeginCoords:()=>K5,getSliceSize:()=>j5,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>xX,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>yX,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>bX,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>vX,getSparseReshapeInputOutputMismatchErrorMessage:()=>SX,getSparseReshapeInputOutputMultipleErrorMessage:()=>IX,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>wX,getSparseReshapeNegativeOutputDimErrorMessage:()=>CX,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>_X,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>TX,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>NX,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>kX,getUndoAxesPermutation:()=>wh,isIdentityPermutation:()=>dX,log:()=>I4,mergeRealAndImagArrays:()=>eX,prepareAndValidate:()=>P_,prepareSplitSize:()=>gX,segment_util:()=>NS,shouldFuse:()=>mc,slice_util:()=>Be,splitRealAndImagArrays:()=>rX,tupleValuesAreOne:()=>Jn,upcastType:()=>ir,validateDefaultValueShape:()=>V5,validateInput:()=>bx,validateUpdateShape:()=>eS,warn:()=>Ei});function P5(r,t){let e=r[0].length;r.forEach((o,s)=>{A(o.length===e,()=>`Error in concat${e}D: rank of tensors[${s}] must be the same as the rank of the rest (${e})`)}),A(t>=0&&t`Error in concat${e}D: axis must be between 0 and ${e-1}.`);let n=r[0];r.forEach((o,s)=>{for(let i=0;i`Error in concat${e}D: Shape of tensors[${s}] (${o}) does not match the shape of the rest (${n}) along the non-concatenated axis ${s}.`)})}function L5(r,t){let e=r[0].slice();for(let n=1;n=0)if(a>=0){if(a!==s)throw new Error(`rt input.shape and shape=${t} are incompatible: rt input.shape[${o+r}] = ${s} but shape[${o+r}] = ${a}`)}else n[i]=s}return n}function z5(r){let t={FIRST_DIM_SIZE:Ki.FIRST_DIM_SIZE,VALUE_ROWIDS:Ki.VALUE_ROWIDS,ROW_LENGTHS:Ki.ROW_LENGTHS,ROW_SPLITS:Ki.ROW_SPLITS,ROW_LIMITS:Ki.ROW_LIMITS,ROW_STARTS:Ki.ROW_STARTS},e=[];for(let n of r)if(n in t)e.push(t[n]);else break;return e}function B5(r){return r.length===0?0:r[0]===Ki.FIRST_DIM_SIZE?r.length-1:r.length}function V5(r,t){if(r==null||t==null)return;let e=r.length,n=t.length;if(e>=n)throw new Error(`defaultValue.shape=${r} and ragged tensor flatValues.shape=${t}, are incompatible: defaultValue.rank = ${e} must be less than ragged tensor input flatValues.rank = ${n})`);for(let o=0;o=0&&i>=0&&s!==1&&s!==i)throw new Error(`defaultValue.shape=${r}, and ragged tensor input flatValues.shape=${t} are incompatible: defaultValue.shape[${o-r.length}] = ${s} but ragged tensor input.flatValues.shape[${o-r.length}] = ${i}`)}}var Dy=30;function G5(r){return r<=Dy?r:wp(r,Math.floor(Math.sqrt(r)))}function W5(r,t,e){let n=e*(typeof r==\"number\"?r:r[0]),o=t*(typeof r==\"number\"?r:r[1]);return[n,o]}function U5(r,t,e,n=!0){let o=[];if(n)o=o.concat(t.slice(0)),o.push(r[0]/e),o=o.concat(r.slice(1));else{o=o.concat(r[0]);let s=t.length;for(let i=0;i=t*2+1||i%2===1?s.push(i):o.push(i);n.push(...o),n.push(0),n.push(...s)}return n}function q5(r,t,e,n=!0){let o=[];n?o.push(r[0]/e):o.push(r[0]*e);for(let s=1;s\",uX=/->/g,OA=\",\",PA=\"...\";function cX(r,t){r=r.replace(/\\s/g,\"\");let e=(r.length-r.replace(uX,\"\").length)/TS.length;if(e<1)throw new Error(\"Equations without an arrow are not supported.\");if(e>1)throw new Error(`Equation must contain exactly one arrow (\"${TS}\").`);let[n,o]=r.split(TS);A(n.indexOf(PA)===-1,()=>`The ellipsis notation (\"${PA}\") is not supported yet.`);let s=n.split(OA),i=s.length;if(t!==i)throw new Error(`Expected ${i} input tensors, received ${t}`);if(i>2)throw new Error(\"Support for more than 2 input tensors is not implemented yet.\");let a=[];for(let m=0;md.indexOf(f)!==-1))throw new Error(`Output subscripts contain the label ${f} not present in the input subscripts.`);a.indexOf(f)===-1&&a.push(f)}for(let m=0;mo!==-1),{permutationIndices:e,expandDims:n}}function mX(r,t,e){let n=new Array(r);for(let o=0;o`Expected dimension ${n[t[o][i]]} at axis ${i} of input shaped ${JSON.stringify(s)}, but got dimension ${s[i]}`)}}function fX(r,t){let e=r,n=[],o=0;r.length===0&&e.push(-1),o=r.length+1;for(let i=0;it===e)}function hX(r,t){let e=[];for(let n=0;n\"Number of splits must evenly divide the axis.\"),n=new Array(t).fill(r.shape[e]/t);else{let o=t.reduce((i,a)=>(a===-1&&(i+=1),i),0);A(o<=1,()=>\"There should be only one negative value in split array.\");let s=t.indexOf(-1);if(s!==-1){let i=t.reduce((a,u)=>u>0?a+u:a);t[s]=r.shape[e]-i}A(r.shape[e]===t.reduce((i,a)=>i+a),()=>\"The sum of sizes must match the size of the axis dimension.\"),n=t}return n}function xX(r){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${r}`}function yX(r,t){return`indices(${r}, 0) is invalid: ${t} < 0`}function bX(r,t,e){return`indices(${r}, 0) is invalid: ${t} >= ${e}`}function wX(r,t){return`only one output dimension may be -1, not both ${r} and ${t}`}function CX(r,t){return`size ${r} must be non-negative, not ${t}`}function vX(){return\"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero\"}function IX(r,t){let e=Qt(r),n=Qt(t);return`Input to reshape is a SparseTensor with ${e}\n dense values, but the requested shape requires a multiple of ${n}. inputShape=${r} outputShape= ${t}`}function SX(r,t){let e=Qt(r),n=Qt(t);return`Input to reshape is a tensor with ${e} dense values, but the requested shape has ${n}. inputShape=${r} outputShape=${t}`}function TX(){return\"segment ids must be >= 0\"}function NX(){return\"segment ids are not increasing\"}function kX(r,t){return`Segment id ${r} out of range [0, ${t}), possibly because segmentIds input is not sorted.`}function _X(r,t,e){return`Bad: indices[${r}] == ${t} out of range [0, ${e})`}var NS={};jt(NS,{collectGatherOpShapeInfo:()=>$X,computeOutShape:()=>AX,segOpComputeOptimalWindowSize:()=>EX});function EX(r,t){let e=!1,n;for(r<=Dy?(n=r,e=!0):n=wp(r,Math.floor(Math.sqrt(r)));!e;)n>t||n===r?e=!0:n=wp(r,n+1);return n}function AX(r,t,e){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) (\n ${s}).`);if(erm(t))}catch(t){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${t}`)}}function RX(r){return r.map(t=>Ul(t))}var Vr={};jt(Vr,{nonMaxSuppressionV3Impl:()=>ky,nonMaxSuppressionV4Impl:()=>_y,nonMaxSuppressionV5Impl:()=>Ey,whereImpl:()=>Cy});var Ry={kernelName:pi,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,yo(tt(e,\"float32\"),-1))}}};var LA={kernelName:oa,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Ht(tt(e,\"float32\")),o=Ne(ut(mt(1),n));return Yt(ct(r,o))}}}};var MA={kernelName:sa,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Ne(ut(Ht(tt(e,\"float32\")),1));return ct(r,n)}}}};var zA={kernelName:jn,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=r,u=ye(e.shape,o);return u.length>0&&(a=ft(a,u)),F(a,e.shape)},b:()=>{let a=r,u=ye(n.shape,o);return u.length>0&&(a=ft(a,u)),F(a,n.shape)}}}};var BA={kernelName:jo,saveAllInputs:!0,gradFunc:(r,t)=>{let e={};return t.forEach((n,o)=>{e[o]=()=>r.clone()}),e}};var VA={kernelName:Xo,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>St(e)}}};var GA={kernelName:Nl,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>St(e)}}};var WA={kernelName:la,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Ne(ut(mt(1),Ht(tt(e,\"float32\")))))}}};var UA={kernelName:ua,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Ne(J(mt(1),Ht(tt(e,\"float32\"))));return ct(r,n)}}}};var HA={kernelName:ma,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=J(Ht(e),Ht(n)),u=O(r,ct(n,a)),l=ye(e.shape,o);return l.length>0&&(u=ft(u,l)),F(u,e.shape)},b:()=>{let a=J(Ht(e),Ht(n)),u=Yt(O(r,ct(e,a))),l=ye(n.shape,o);return l.length>0&&(u=ft(u,l)),F(u,n.shape)}}}};var qA={kernelName:ca,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,J(Ht(tt(e,\"float32\")),1))}}};var KA={kernelName:pa,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,ut(mt(1),Ht(tt(e,\"float32\"))))}}};function FX(r,t,e,n,o,s){let i=v(r,\"dy\",\"avgPool3dGrad\"),a=v(t,\"input\",\"avgPool3dGrad\"),u=i,l=a,c=!1;a.rank===4&&(c=!0,u=F(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]]),l=F(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),A(u.rank===5,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${u.rank}.`),A(l.rank===5,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${l.rank}.`),Te(\"avgPool3dGrad\",o,s);let p={dy:u,input:l},m={filterSize:e,strides:n,pad:o,dimRoundingMode:s},f=_.runKernel(Ip,p,m);return c?F(f,[f.shape[1],f.shape[2],f.shape[3],f.shape[4]]):f}var jA=N({avgPool3dGrad_:FX});var XA={kernelName:kl,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{filterSize:o,strides:s,pad:i,dimRoundingMode:a}=e;return{x:()=>jA(r,n,o,s,i,a)}}};function OX(r,t,e,n,o){let s=v(r,\"dy\",\"avgPoolGrad\"),i=v(t,\"input\",\"avgPoolGrad\");A(i.rank===s.rank,()=>`Rank of input (${i.rank}) does not match rank of dy (${s.rank})`);let a=i,u=s,l=!1;i.rank===3&&(l=!0,a=F(i,[1,i.shape[0],i.shape[1],i.shape[2]]),u=F(s,[1,s.shape[0],s.shape[1],s.shape[2]])),A(u.rank===4,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${u.rank}.`),A(a.rank===4,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${a.rank}.`);let c={dy:u,input:a},p={filterSize:e,strides:n,pad:o},m=_.runKernel(vp,c,p);return l?F(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var YA=N({avgPoolGrad_:OX});var ZA={kernelName:Yo,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{filterSize:o,strides:s,pad:i}=e;return{x:()=>YA(r,n,o,s,i)}}};var JA={kernelName:Zo,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t,e)=>{let[n,o]=t,{transposeA:s,transposeB:i}=e;return!s&&!i?{a:()=>Gt(r,o,!1,!0),b:()=>Gt(n,r,!0,!1)}:!s&&i?{a:()=>Gt(r,o,!1,!1),b:()=>Gt(r,n,!0,!1)}:s&&!i?{a:()=>Gt(o,r,!1,!0),b:()=>Gt(n,r,!1,!1)}:{a:()=>Gt(o,r,!0,!0),b:()=>Gt(r,n,!0,!0)}}};var QA={kernelName:mi,gradFunc:(r,t,e)=>{let{blockShape:n,crops:o}=e;return{x:()=>ru(r,n,o)}}};var t2={kernelName:N1,gradFunc:(r,t,e)=>{let n=e,o=n.inputShape,s=n.shape,i=Array.from(s);for(let u=o.length-1;u>=0;u--)if(o[u]===s[u])i[u]=1;else if(o[u]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${s}].`);let a=[];for(let u=0;u1&&a.push(u);return{x:()=>ft(r,a,!0)}}};var e2={kernelName:ao,gradFunc:r=>({x:()=>r.clone()})};var r2={kernelName:Jo,gradFunc:r=>({x:()=>St(r)})};var n2={kernelName:lo,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{clipValueMin:o,clipValueMax:s}=e;return{x:()=>De(Dr(Pn(n,o),Ln(n,s)),r,St(r))}}};var o2={kernelName:_l,inputsToSave:[\"x\"],gradFunc:Ry.gradFunc};var s2={kernelName:fi,saveAllInputs:!0,gradFunc:(r,t,e)=>{let n=t.map(u=>u.shape),{axis:o}=e,s=ur(o,t[0].shape)[0],i=n.map(u=>u[s]);return mr(r,i,s).map(u=>()=>u)}};var i2={kernelName:Qo,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,{dilations:s,strides:i,pad:a,dataFormat:u}=e;return A(Jn(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>fm(n.shape,r,o,i,a,u),filter:()=>Fm(n,r,o.shape,i,a,u)}}};var a2={kernelName:ts,inputsToSave:[\"dy\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,{strides:s,pad:i,dataFormat:a,dimRoundingMode:u}=e;return{dy:()=>Sn(r,o,s,i,a,1,u),filter:()=>Fm(r,n,o.shape,s,i,a,u)}}};function PX(r,t,e,n,o){let s=r;r.rank===4&&(s=F(r,[1,r.shape[0],r.shape[1],r.shape[2],r.shape[3]]));let i=t;i.rank===4&&(i=F(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),A(s.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),A(i.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${i.shape}.`),A(e.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${e}.`),A(s.shape[4]===e[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${e[3]}.`),A(i.shape[4]===e[4],()=>`Error in conv3dDerFilter: depth of dy (${i.shape[4]}) must match output depth for filter (${e[4]}).`);let a={x:s,dy:i},u={strides:n,pad:o,filterShape:e};return _.runKernel(_p,a,u)}var l2=N({conv3DBackpropFilter_:PX});var u2={kernelName:El,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let{dilations:n,strides:o,pad:s}=e;A(Jn(n),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${n}'`);let[i,a]=t;return{x:()=>Vx(i.shape,r,a,o,s),filter:()=>l2(i,r,a.shape,o,s)}}};var c2={kernelName:es,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(Yt(Nm(tt(e,\"float32\"))),r)}}};var p2={kernelName:rs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(km(tt(e,\"float32\")),r)}}};var m2={kernelName:ns,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o,exclusive:s,reverse:i}=e;return{x:()=>{let a=pS([o],n.rank),u=gm(r,o,s,!i);return a!=null&&(u=Mt(u,a)),u}}}};var f2={kernelName:os,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let{dilations:n,strides:o,pad:s,dimRoundingMode:i}=e,a=n==null?[1,1]:n;A(Jn(a),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);let[u,l]=t;return A(u.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${u.rank}.`),A(l.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${l.rank}.`),A(u.shape[3]===l.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`),A(Er(o,a),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${a}'.`),Te(\"depthwiseConv2d\",s,i),{x:()=>Sy(u.shape,r,l,o,s,a,i),filter:()=>Iy(u,r,l.shape,o,s,a,i)}}};var d2={kernelName:Al,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,s={x:n,filter:o,dy:r},i={x:n,filter:o,dy:r};return{x:()=>_.runKernel(oh,s,e),filter:()=>_.runKernel(sh,i,e)}}};var h2={kernelName:is,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t,n={dy:r,y:e};return{x:()=>_.runKernel(Op,n)}}};var g2={kernelName:ga,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t,n=O(or(Yt(Ht(e))),2/Math.sqrt(Math.PI));return{x:()=>O(r,n)}}};var x2={kernelName:as,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,e)}}};var y2={kernelName:di,inputsToSave:[\"input\"],gradFunc:(r,t)=>{let[e]=t;return{input:()=>F(r,e.shape)}}};var b2={kernelName:ya,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,or(e))}}};var w2={kernelName:ls,gradFunc:r=>({x:()=>St(r)})};var C2={kernelName:us,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=ct(r,tt(n,\"float32\")),u=ye(e.shape,o);return u.length>0?F(ft(a,u),e.shape):a},b:()=>{let a=O(r,tt(e,\"float32\")),u=ye(n.shape,o);u.length>0&&(a=F(ft(a,u),n.shape));let l=Ht(n);return Yt(ct(a,tt(l,\"float32\")))}}}};var v2={kernelName:cs,inputsToSave:[\"x\",\"mean\",\"variance\",\"scale\"],gradFunc:(r,t,e)=>{let{varianceEpsilon:n}=e,[o,s,i,a]=t,u=a==null?mt(1):a,l=ye(s.shape,o.shape),c=[];if(s.rank===1){for(let C=0;Cs.rank===1?F(O(O(r,$r(F(f,[1,1,1,s.shape[0]]),c)),u),o.shape):F(O(O(r,f),u),o.shape),mean:()=>{let C=O(O(f,mt(-1)),m);return s.rank===1&&(C=ft(C,l)),F(C,s.shape)},variance:()=>{let C=O(O(d,p),m);return s.rank===1&&(C=ft(C,l)),F(C,s.shape)},scale:()=>{let C=O(p,f),T=O(r,C);return s.rank===1&&(T=ft(T,l)),F(T,s.shape)},offset:()=>{let C=r;return s.rank===1&&(C=ft(C,l)),F(C,s.shape)}}}};var T2={kernelName:hi,inputsToSave:[\"x\",\"indices\"],gradFunc:(r,t,e)=>{let[n,o]=t,{axis:s}=e,i=ur(s,n.shape)[0];return{x:()=>{let u=n.shape,l=o.size,c=u.slice(0,i),p=c.length,m=u.slice(s,u.length).slice(1),f=m.length,d=I2(0,p),h=I2(p+1,p+1+f),g=S2([c,[l],m]),x=F(r,g),b=F(o,[l]),w=S2([[p],d,h]),C=Mt(x,w),T=Rm(C,b,n.shape[i]),E=wh(w);return T=Mt(T,E),T},indices:()=>o}}};function I2(r,t){let e=[];for(let n=r;n{let[e,n]=t;return{a:()=>St(e),b:()=>St(n)}}};var k2={kernelName:uo,gradFunc:r=>({x:()=>tt(r,\"float32\")})};var _2={kernelName:va,gradFunc:r=>({x:()=>St(r)})};var E2={kernelName:Ia,gradFunc:r=>({x:()=>St(r)})};var A2={kernelName:Sa,gradFunc:r=>({x:()=>St(r)})};var $2={kernelName:ms,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{alpha:o}=e,s=Xe(n,0);return{x:()=>De(s,r,O(r,o))}}};var D2={kernelName:ka,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,J(e,1))}}};var R2={kernelName:fs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,tt(e,\"float32\"))}}};var F2={kernelName:_1,inputsToSave:[],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e;return{logits:()=>{let i=or(n);return ut(r,O(ft(r,o,!0),i))}}}};function LX(r,t,e,n=5,o=1,s=1,i=.5){let a={x:r,y:t,dy:e},u={depthRadius:n,bias:o,alpha:s,beta:i};return _.runKernel(Bp,a,u)}var O2=N({localResponseNormalizationBackprop_:LX});var P2={kernelName:Dl,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{depthRadius:s,bias:i,alpha:a,beta:u}=e;return{x:()=>O2(n,o,r,s,i,a,u)}}};function Fy(r,t,e,n){return t.rankO(r,tt(Ar(e,t),r.dtype))}}var kS={kernelName:ds,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let n=e,{reductionIndices:o}=n,s=t[0],i=t[1],a=ur(o,s.shape),u=Fy(r,i,s,a);return{x:()=>u.x()}}};var L2={kernelName:hs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t;return{a:()=>O(r,tt(Pn(e,n),\"float32\")),b:()=>O(r,tt(xm(e,n),\"float32\"))}}};function MX(r,t,e,n,o,s,i){let a=v(r,\"dy\",\"maxPool3dGrad\"),u=v(t,\"input\",\"maxPool3dGrad\"),l=v(e,\"output\",\"maxPool3dGrad\"),c=a,p=u,m=l,f=!1;u.rank===4&&(f=!0,c=F(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),p=F(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]]),m=F(l,[1,l.shape[0],l.shape[1],l.shape[2],l.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}.`),Te(\"maxPool3dGrad\",s,i);let d={dy:c,input:p,output:m},h={filterSize:n,strides:o,pad:s,dimRoundingMode:i},g=_.runKernel(Gp,d,h);return f?F(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}var M2=N({maxPool3dGrad_:MX});var z2={kernelName:Rl,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=e;return{x:()=>M2(r,n,o,s,i,a,u)}}};function zX(r,t,e,n,o,s,i){let a=v(r,\"dy\",\"maxPoolGrad\"),u=v(t,\"input\",\"maxPoolGrad\"),l=v(e,\"output\",\"maxPoolGrad\");A(u.rank===a.rank,()=>`Rank of input (${u.rank}) does not match rank of dy (${a.rank})`),A(a.rank===4,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${a.rank}.`),A(u.rank===4,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${u.rank}.`),Te(\"maxPoolGrad\",s,i);let c={dy:a,input:u,output:l},p={filterSize:n,strides:o,pad:s,dimRoundingMode:i};return _.runKernel(Vp,c,p)}var B2=N({maxPoolGrad_:zX});var V2={kernelName:gs,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{filterSize:s,strides:i,pad:a}=e;return{x:()=>B2(r,n,o,s,i,a)}}};var G2={kernelName:xs,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e,s=ur(o,n.shape),a=cS(n.shape,s)[1],u=Qt(a);return{x:()=>{let c=n.shape.slice();s.forEach(f=>{c[f]=1});let p=F(r,c);return ct(O(p,cr(n.shape,\"float32\")),u)}}}};var W2={kernelName:ys,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let n=e,{axis:o}=n,[s,i]=t,a=ur(o,s.shape),u=Fy(r,i,s,a);return{x:()=>u.x()}}};var U2={kernelName:bs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t;return{a:()=>O(r,tt(Ln(e,n),\"float32\")),b:()=>O(r,tt(Xe(e,n),\"float32\"))}}};var H2={kernelName:ws,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let n=t[0],{paddings:o}=e,s=o.map(i=>i[0]);return{x:()=>Ot(r,s,n.shape)}}};var q2={kernelName:$a,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=ye(e.shape,o);return a.length>0?F(ft(r,a),e.shape):r},b:()=>{let a=O(r,Yt(Gi(ct(e,n)))),u=ye(n.shape,o);return u.length>0?F(ft(a,u),n.shape):a}}}};var K2={kernelName:Cs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=O(r,tt(n,\"float32\")),u=ye(e.shape,o);return u.length>0?F(ft(a,u),e.shape):a},b:()=>{let a=O(r,tt(e,\"float32\")),u=ye(n.shape,o);return u.length>0?F(ft(a,u),n.shape):a}}}};var j2={kernelName:gi,gradFunc:r=>({x:()=>Yt(r)})};var X2={kernelName:vs,inputsToSave:[\"indices\"],gradFunc:(r,t)=>{let e=t[0];return{indices:()=>_e(e.shape,\"float32\")}}};var Y2={kernelName:xi,gradFunc:r=>({x:()=>St(r)})};var Z2={kernelName:yi,saveAllInputs:!0,gradFunc:(r,t,e)=>{let{axis:n}=e;return Tr(r,n).map(s=>()=>s)}};var _S={kernelName:Is,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let n=t[0],{paddings:o}=e,s=o.map(i=>i[0]);return{x:()=>Ot(r,s,n.shape)}}};var J2={kernelName:Ss,inputsToSave:[\"a\",\"b\"],outputsToSave:[!0],gradFunc:(r,t)=>{let[e,n,o]=t,s=e,i=n,a=zt(s.shape,i.shape);return{a:()=>{let c=tt(i,\"float32\"),p=O(r,O(c,ln(s,ut(c,mt(1))))),m=ye(s.shape,a);return m.length>0&&(p=ft(p,m)),F(p,s.shape)},b:()=>{let c=Xe(s,0),p=De(c,Sr(s),St(s)),m=O(r,O(o,p)),f=ye(i.shape,a);return f.length>0&&(m=ft(m,f)),F(m,i.shape)}}}};var Q2={kernelName:Ts,inputsToSave:[\"x\",\"alpha\"],gradFunc:(r,t)=>{let[e,n]=t,o=Xe(e,0);return{x:()=>De(o,r,O(r,n)),alpha:()=>{let s=De(o,St(r),O(r,e)),i=ye(n.shape,r.shape);return i.length>0&&(s=ft(s,i)),F(s,n.shape)}}}};function BX(r,t,e){let n=r.shape.slice();n[e]=1;let o=F(t,n),s=ec(r,e,!0,!1),i=ec(r,e,!0,!0),a=O(s,i);return O(o,a)}function VX(r,t,e){let n=r.shape.length,o=n-e.length,s=S.getAxesPermutation(e,n),i=r;s!=null&&(i=Mt(r,s));let a=i.shape.slice(),l=a.splice(n-e.length,e.length).reduce((m,f)=>m*f,1);a.push(l);let c=i.reshape(a),p=BX(c,t,o);if(p=p.reshape(i.shape),s!=null){let m=S.getUndoAxesPermutation(s);p=Mt(p,m)}return p}var t$={kernelName:Ns,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e,s=[];return o==null?s=n.shape.map((i,a)=>a):typeof o==\"number\"?s=[o]:s=o,{x:()=>VX(n,r,s)}}};var e$={kernelName:ss,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=ct(r,tt(n,\"float32\")),u=ye(e.shape,o);return u.length>0?F(ft(a,u),e.shape):a},b:()=>{let a=O(r,tt(e,\"float32\")),u=ye(n.shape,o);u.length>0&&(a=F(ft(a,u),n.shape));let l=Ht(n);return Yt(ct(a,tt(l,\"float32\")))}}}};var r$={kernelName:Pa,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Yt(Ht(e)))}}};var n$={kernelName:As,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t,n=O(Ln(e,6),yo(e));return{x:()=>O(r,tt(n,\"float32\"))}}};var o$={kernelName:ks,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,tt(yo(e),\"float32\"))}}};var s$={kernelName:bi,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>F(r,e.shape)}}};var i$={kernelName:Es,inputsToSave:[\"images\"],gradFunc:(r,t,e)=>{let[n]=t,o={dy:r,images:n};return{images:()=>_.runKernel(jp,o,e)}}};var a$={kernelName:_s,inputsToSave:[\"images\"],gradFunc:(r,t,e)=>{let[n]=t,o={dy:r,images:n};return{images:()=>_.runKernel(Kp,o,e)}}};var l$={kernelName:$s,gradFunc:(r,t,e)=>{let{dims:n}=e,o=ur(n,r.shape);return{x:()=>pr(r,o)}}};var u$={kernelName:Ds,gradFunc:r=>({x:()=>St(r)})};var c$={kernelName:Rs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>Yt(ct(r,O(ln(e,1.5),2)))}}};var p$={kernelName:wi,inputsToSave:[\"condition\"],gradFunc:(r,t)=>{let[e]=t;return{condition:()=>tt(St(e),\"float32\"),t:()=>O(r,tt(e,r.dtype)),e:()=>O(r,tt(tu(e),r.dtype))}}};var m$={kernelName:Ma,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Xe(e,mt(0)),o=mt(IS),s=mt(SS),i=O(r,s),a=O(O(r,o),or(tt(e,\"float32\")));return De(n,i,a)}}}};var f$={kernelName:Os,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,O(e,ut(mt(1),e)))}}};var d$={kernelName:Ba,gradFunc:r=>({x:()=>St(r)})};var h$={kernelName:Fs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(Zl(tt(e,\"float32\")),r)}}};var g$={kernelName:za,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(hm(tt(e,\"float32\")),r)}}};var x$={kernelName:Ci,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{begin:o,size:s}=e,i=n.shape,[a,u]=nS(n,o,s),l=[];for(let c=0;ccn(r,l)}}};var y$={kernelName:Ms,outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n]=t,{dim:o}=e,s=!0,i=O(r,n);return{logits:()=>ut(i,O(ft(i,[o],s),n))}}};var b$={kernelName:Va,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,Kr(e))}}};var ES={kernelName:vi,gradFunc:(r,t,e)=>{let{blockShape:n,paddings:o}=e;return{x:()=>Yl(r,n,o)}}};var AS={kernelName:Ii,gradFunc:(r,t,e)=>{let{axis:n}=e;return{x:()=>se(r,n)}}};var w$={kernelName:Ps,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,O(Ne(tt(e,\"float32\")),2))}}};var C$={kernelName:Ml,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,O(tt(e,\"float32\"),2))}}};var v$={kernelName:zs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=mt(2);return{a:()=>O(r,O(o,ut(e,n))),b:()=>O(r,O(o,ut(n,e)))}}};var I$={kernelName:co,gradFunc:r=>({x:()=>St(r)})};var S$={kernelName:Bs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=r,u=ye(e.shape,o);return u.length>0&&(a=ft(a,u)),F(a,e.shape)},b:()=>{let a=r,u=ye(n.shape,o);return u.length>0&&(a=ft(a,u)),F(Yt(a),n.shape)}}}};var T$={kernelName:Ls,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,o=n.shape.slice(),{axis:s}=e;ur(s,n.shape).forEach(l=>{o[l]=1});let a=F(r,o),u=O(a,cr(n.shape,\"float32\"));return{x:()=>u}}};var N$={kernelName:Vs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Ht(Zl(e)))}}};var k$={kernelName:Gs,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(ut(mt(1),Ht(e)),r)}}};var _$={kernelName:Xn,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{reps:o}=e;return{x:()=>{let i=St(n);if(n.rank===1)for(let a=0;a{let n=e,{perm:o}=n,s=wh(o);return{x:()=>Mt(r,s)}}};var A$={kernelName:Si,gradFunc:(r,t,e)=>{let n=e,{axis:o}=n;return{value:()=>sr(r,o)}}};var $$={kernelName:Gl,inputsToSave:[\"segmentIds\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>GX(r,e)}}};function GX(r,t){let e=Tn(t,St(t)),n=Wi(r,e),o=Pn(t,mt(0,\"int32\")),s=n.rank-o.rank;for(let a=0;a({x:()=>St(r)})};var WX=[Ry,LA,MA,zA,BA,VA,GA,WA,UA,HA,qA,KA,XA,ZA,JA,QA,t2,e2,r2,n2,o2,s2,a2,i2,u2,c2,p2,m2,f2,d2,e$,h2,g2,x2,y2,b2,C2,w2,v2,T2,N2,k2,_2,E2,A2,$2,D2,R2,F2,P2,kS,kS,L2,z2,V2,G2,W2,U2,H2,q2,K2,j2,X2,Y2,Z2,_S,_S,J2,Q2,t$,r$,n$,o$,s$,i$,a$,l$,u$,c$,p$,m$,f$,d$,h$,g$,x$,y$,b$,ES,ES,AS,AS,w$,v$,C$,I$,S$,T$,N$,k$,_$,E$,A$,$$,D$];for(let r of WX)A1(r);L().prototype.abs=function(){return this.throwIfDisposed(),$e(this)};L().prototype.acos=function(){return this.throwIfDisposed(),Cx(this)};L().prototype.acosh=function(){return this.throwIfDisposed(),vx(this)};L().prototype.add=function(r){return this.throwIfDisposed(),J(this,r)};L().prototype.all=function(r,t){return this.throwIfDisposed(),cm(this,r,t)};L().prototype.any=function(r,t){return this.throwIfDisposed(),Ju(this,r,t)};L().prototype.argMax=function(r){return this.throwIfDisposed(),Oi(this,r)};L().prototype.argMin=function(r){return this.throwIfDisposed(),Ix(this,r)};L().prototype.asScalar=function(){return this.throwIfDisposed(),A(this.size===1,()=>\"The array must have only 1 element.\"),F(this,[])};L().prototype.asType=function(r){return this.throwIfDisposed(),tt(this,r)};L().prototype.as1D=function(){return this.throwIfDisposed(),F(this,[this.size])};L().prototype.as2D=function(r,t){return this.throwIfDisposed(),F(this,[r,t])};L().prototype.as3D=function(r,t,e){return this.throwIfDisposed(),F(this,[r,t,e])};L().prototype.as4D=function(r,t,e,n){return this.throwIfDisposed(),F(this,[r,t,e,n])};L().prototype.as5D=function(r,t,e,n,o){return this.throwIfDisposed(),F(this,[r,t,e,n,o])};L().prototype.asin=function(){return this.throwIfDisposed(),Sx(this)};L().prototype.asinh=function(){return this.throwIfDisposed(),Tx(this)};L().prototype.atan=function(){return this.throwIfDisposed(),Nx(this)};L().prototype.atan2=function(r){return this.throwIfDisposed(),kx(this,r)};L().prototype.atanh=function(){return this.throwIfDisposed(),_x(this)};L().prototype.avgPool=function(r,t,e,n){return this.throwIfDisposed(),Xl(this,r,t,e,n)};L().prototype.batchToSpaceND=function(r,t){return this.throwIfDisposed(),Yl(this,r,t)};L().prototype.batchNorm=function(r,t,e,n,o){return this.throwIfDisposed(),Li(this,r,t,e,n,o)};L().prototype.broadcastTo=function(r){return this.throwIfDisposed(),Mi(this,r)};L().prototype.cast=function(r){return this.throwIfDisposed(),tt(this,r)};L().prototype.ceil=function(){return this.throwIfDisposed(),Ox(this)};L().prototype.clipByValue=function(r,t){return this.throwIfDisposed(),Ir(this,r,t)};L().prototype.concat=function(r,t){return this.throwIfDisposed(),r instanceof Lt&&(r=[r]),se([this,...r],t)};L().prototype.conv1d=function(r,t,e,n,o,s){return this.throwIfDisposed(),mm(this,r,t,e,n,o,s)};L().prototype.conv2dTranspose=function(r,t,e,n,o){return this.throwIfDisposed(),dm(this,r,t,e,n,o)};L().prototype.conv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),Sn(this,r,t,e,n,o,s)};L().prototype.cos=function(){return this.throwIfDisposed(),Zl(this)};L().prototype.cosh=function(){return this.throwIfDisposed(),hm(this)};L().prototype.cumprod=function(r,t,e){return this.throwIfDisposed(),ec(this,r,t,e)};L().prototype.cumsum=function(r,t,e){return this.throwIfDisposed(),gm(this,r,t,e)};L().prototype.depthToSpace=function(r,t){return this.throwIfDisposed(),Wx(this,r,t)};L().prototype.depthwiseConv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),zi(this,r,t,e,n,o,s)};L().prototype.dilation2d=function(r,t,e,n,o){return this.throwIfDisposed(),Ux(this,r,t,e,n,o)};L().prototype.divNoNan=function(r){return this.throwIfDisposed(),Hx(this,r)};L().prototype.div=function(r){return this.throwIfDisposed(),ct(this,r)};L().prototype.dot=function(r){return this.throwIfDisposed(),qx(this,r)};L().prototype.elu=function(){return this.throwIfDisposed(),Bi(this)};L().prototype.equal=function(r){return this.throwIfDisposed(),Ar(this,r)};L().prototype.erf=function(){return this.throwIfDisposed(),Kx(this)};L().prototype.euclideanNorm=function(r,t){return this.throwIfDisposed(),jx(this,r,t)};L().prototype.exp=function(){return this.throwIfDisposed(),or(this)};L().prototype.expandDims=function(r){return this.throwIfDisposed(),yr(this,r)};L().prototype.expm1=function(){return this.throwIfDisposed(),Xx(this)};L().prototype.fft=function(){return this.throwIfDisposed(),iu(this)};L().prototype.flatten=function(){return this.throwIfDisposed(),F(this,[this.size])};L().prototype.floor=function(){return this.throwIfDisposed(),Gi(this)};L().prototype.floorDiv=function(r){return this.throwIfDisposed(),um(this,r)};L().prototype.gather=function(r,t){return this.throwIfDisposed(),Wi(this,r,t)};L().prototype.greaterEqual=function(r){return this.throwIfDisposed(),Pn(this,r)};L().prototype.greater=function(r){return this.throwIfDisposed(),Xe(this,r)};L().prototype.ifft=function(){return this.throwIfDisposed(),Qa(this)};L().prototype.irfft=function(){return this.throwIfDisposed(),Am(this)};L().prototype.isFinite=function(){return this.throwIfDisposed(),Yx(this)};L().prototype.isInf=function(){return this.throwIfDisposed(),Zx(this)};L().prototype.isNaN=function(){return this.throwIfDisposed(),Jx(this)};L().prototype.leakyRelu=function(r){return this.throwIfDisposed(),Jl(this,r)};L().prototype.lessEqual=function(r){return this.throwIfDisposed(),Ln(this,r)};L().prototype.less=function(r){return this.throwIfDisposed(),xm(this,r)};L().prototype.localResponseNormalization=function(r,t,e,n){return this.throwIfDisposed(),Qx(this,r,t,e,n)};L().prototype.logSigmoid=function(){return this.throwIfDisposed(),ry(this)};L().prototype.logSoftmax=function(r){return this.throwIfDisposed(),ym(this,r)};L().prototype.logSumExp=function(r,t){return this.throwIfDisposed(),bm(this,r,t)};L().prototype.log=function(){return this.throwIfDisposed(),Sr(this)};L().prototype.log1p=function(){return this.throwIfDisposed(),Ql(this)};L().prototype.logicalAnd=function(r){return this.throwIfDisposed(),Dr(this,r)};L().prototype.logicalNot=function(){return this.throwIfDisposed(),tu(this)};L().prototype.logicalOr=function(r){return this.throwIfDisposed(),wm(this,r)};L().prototype.logicalXor=function(r){return this.throwIfDisposed(),ny(this,r)};L().prototype.matMul=function(r,t,e){return this.throwIfDisposed(),Gt(this,r,t,e)};L().prototype.maxPool=function(r,t,e,n){return this.throwIfDisposed(),eu(this,r,t,e,n)};L().prototype.max=function(r,t){return this.throwIfDisposed(),Mr(this,r,t)};L().prototype.maximum=function(r){return this.throwIfDisposed(),Tn(this,r)};L().prototype.mean=function(r,t){return this.throwIfDisposed(),ke(this,r,t)};L().prototype.min=function(r,t){return this.throwIfDisposed(),rc(this,r,t)};L().prototype.minimum=function(r){return this.throwIfDisposed(),Ui(this,r)};L().prototype.mirrorPad=function(r,t){return this.throwIfDisposed(),iy(this,r,t)};L().prototype.mod=function(r){return this.throwIfDisposed(),ay(this,r)};L().prototype.mul=function(r){return this.throwIfDisposed(),O(this,r)};L().prototype.neg=function(){return this.throwIfDisposed(),Yt(this)};L().prototype.norm=function(r,t,e){return this.throwIfDisposed(),Ja(this,r,t,e)};L().prototype.notEqual=function(r){return this.throwIfDisposed(),qs(this,r)};L().prototype.oneHot=function(r,t=1,e=0){return this.throwIfDisposed(),Ri(this,r,t,e)};L().prototype.onesLike=function(){return this.throwIfDisposed(),br(this)};L().prototype.pad=function(r,t){return this.throwIfDisposed(),cn(this,r,t)};L().prototype.pool=function(r,t,e,n,o,s){return this.throwIfDisposed(),ly(this,r,t,e,n,o,s)};L().prototype.pow=function(r){return this.throwIfDisposed(),ln(this,r)};L().prototype.prelu=function(r){return this.throwIfDisposed(),nu(this,r)};L().prototype.prod=function(r,t){return this.throwIfDisposed(),uy(this,r,t)};L().prototype.reciprocal=function(){return this.throwIfDisposed(),dy(this)};L().prototype.relu=function(){return this.throwIfDisposed(),Rr(this)};L().prototype.relu6=function(){return this.throwIfDisposed(),Cm(this)};L().prototype.reshapeAs=function(r){return this.throwIfDisposed(),F(this,r.shape)};L().prototype.reshape=function(r){return this.throwIfDisposed(),F(this,r)};L().prototype.resizeBilinear=function(r,t,e){return this.throwIfDisposed(),Ay(this,r,t,e)};L().prototype.resizeNearestNeighbor=function(r,t,e){return this.throwIfDisposed(),$y(this,r,t,e)};L().prototype.reverse=function(r){return this.throwIfDisposed(),pr(this,r)};L().prototype.rfft=function(){return this.throwIfDisposed(),au(this)};L().prototype.round=function(){return this.throwIfDisposed(),vm(this)};L().prototype.rsqrt=function(){return this.throwIfDisposed(),Im(this)};L().prototype.selu=function(){return this.throwIfDisposed(),Sm(this)};L().prototype.separableConv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),Tm(this,r,t,e,n,o,s)};L().prototype.sigmoid=function(){return this.throwIfDisposed(),Kr(this)};L().prototype.sign=function(){return this.throwIfDisposed(),hy(this)};L().prototype.sin=function(){return this.throwIfDisposed(),Nm(this)};L().prototype.sinh=function(){return this.throwIfDisposed(),km(this)};L().prototype.slice=function(r,t){return this.throwIfDisposed(),Ot(this,r,t)};L().prototype.softmax=function(r){return this.throwIfDisposed(),su(this,r)};L().prototype.softplus=function(){return this.throwIfDisposed(),Hs(this)};L().prototype.spaceToBatchND=function(r,t){return this.throwIfDisposed(),ru(this,r,t)};L().prototype.split=function(r,t){return this.throwIfDisposed(),mr(this,r,t)};L().prototype.sqrt=function(){return this.throwIfDisposed(),Ne(this)};L().prototype.square=function(){return this.throwIfDisposed(),Ht(this)};L().prototype.squaredDifference=function(r){return this.throwIfDisposed(),$m(this,r)};L().prototype.squeeze=function(r){return this.throwIfDisposed(),Mn(this,r)};L().prototype.stack=function(r,t){this.throwIfDisposed();let e=r instanceof Lt?[this,r]:[this,...r];return sr(e,t)};L().prototype.step=function(r){return this.throwIfDisposed(),yo(this,r)};L().prototype.stridedSlice=function(r,t,e,n,o,s,i,a){return this.throwIfDisposed(),gy(this,r,t,e,n,o,s,i,a)};L().prototype.sub=function(r){return this.throwIfDisposed(),ut(this,r)};L().prototype.sum=function(r,t){return this.throwIfDisposed(),ft(this,r,t)};L().prototype.tan=function(){return this.throwIfDisposed(),xy(this)};L().prototype.tanh=function(){return this.throwIfDisposed(),Pi(this)};L().prototype.tile=function(r){return this.throwIfDisposed(),$r(this,r)};L().prototype.toBool=function(){return this.throwIfDisposed(),tt(this,\"bool\")};L().prototype.toFloat=function(){return this.throwIfDisposed(),tt(this,\"float32\")};L().prototype.toInt=function(){return this.throwIfDisposed(),tt(this,\"int32\")};L().prototype.topk=function(r,t){return this.throwIfDisposed(),yy(this,r,t)};L().prototype.transpose=function(r){return this.throwIfDisposed(),Mt(this,r)};L().prototype.unique=function(r){return this.throwIfDisposed(),by(this,r)};L().prototype.unsortedSegmentSum=function(r,t){return this.throwIfDisposed(),Rm(this,r,t)};L().prototype.unstack=function(r){return this.throwIfDisposed(),Tr(this,r)};L().prototype.where=function(r,t){return this.throwIfDisposed(),De(r,this,t)};L().prototype.zerosLike=function(){return this.throwIfDisposed(),St(this)};var Nn=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Nn.prototype)}},Gr=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Gr.prototype)}},z=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,z.prototype)}},Nt=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Nt.prototype)}},Om=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Om.prototype)}};var Nh=class{constructor(t){this.maxEntries=t||100,this.cache=new Map}get(t){let e;return this.cache.has(t)&&(e=this.cache.get(t),this.cache.delete(t),this.cache.set(t,e)),e}put(t,e){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxEntries){let n=this.cache.keys().next().value;this.cache.delete(n)}this.cache.set(t,e)}getMaxEntries(){return this.maxEntries}setMaxEntries(t){if(t<0)throw new Error(`The maxEntries of LRU caches must be at least 0, but got ${t}.`);if(this.maxEntries>t)for(let e=0;ee.toUpperCase())}var wo={};function Pm(r){if(r==null)return null;let t={};return t.className=r.getClassName(),t.config=r.getConfig(),t}function $S(r){if(!(r==null||typeof r!=\"object\"))if(Array.isArray(r))r.forEach(t=>$S(t));else{let t=Object.keys(r);for(let e of t){let n=r[e];n!=null&&typeof n==\"object\"&&(!Array.isArray(n)&&n.type===\"ndarray\"&&typeof n.value==\"number\"?r[e]=n.value:$S(n))}}}function ji(r,t={},e={},n=\"object\",o=!1){if(typeof r==\"string\"){let s=r,i;if(s in e)i=e[s];else if(s in wo)i=wo[s];else if(i=t[s],i==null)throw new z(`Unknown ${n}: ${r}. This may be due to one of the following reasons:\n1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return i}else{let s=r;if(s.className==null||s.config==null)throw new z(`${n}: Improper config format: ${JSON.stringify(s)}.\n'className' and 'config' must set.`);let i=s.className,a,u;if(i in e?[a,u]=e[i]:i in wo?[a,u]=wo.className:i in t&&([a,u]=t[i]),a==null)throw new z(`Unknown ${n}: ${i}. This may be due to one of the following reasons:\n1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(u!=null){let l={};for(let f of Object.keys(wo))l[f]=wo[f];for(let f of Object.keys(e))l[f]=e[f];let c=s.config;c.customObjects=l;let p=Object.assign({},wo);for(let f of Object.keys(e))wo[f]=e[f];$S(s.config);let m=u(a,s.config,e,o);return wo=Object.assign({},p),m}else{let l=Object.assign({},wo);for(let p of Object.keys(e))wo[p]=e[p];let c=new a(s.config);return wo=Object.assign({},l),c}}}function UX(r,t){return rt?1:0}function kh(r,t){return-1*UX(r,t)}function Io(r){if(r==null)return r;let t=[];for(let e of r)t.indexOf(e)===-1&&t.push(e);return t}function R$(r){if(r==null)throw new z(`Invalid value in obj: ${JSON.stringify(r)}`);for(let t in r)if(r.hasOwnProperty(t))return!1;return!0}function Xi(r,t,e){if(e!=null&&r.indexOf(e)<0)throw new z(`${e} is not a valid ${t}. Valid values are ${r} or null/undefined.`)}function Oy(r,t,e=0,n=1/0){return to(e>=0),to(n>=e),Array.isArray(r)&&r.length>=e&&r.length<=n&&r.every(o=>typeof o===t)}function Je(r,t){Array.isArray(r)?(y.assert(r.length>0,()=>`${t} is unexpectedly an empty array.`),r.forEach((e,n)=>Je(e,`element ${n+1} of ${t}`))):y.assert(Number.isInteger(r)&&r>0,()=>`Expected ${t} to be a positive integer, but got ${F$(r)}.`)}function F$(r){return r===null?\"null\":Array.isArray(r)?\"[\"+r.map(t=>F$(t)).join(\",\")+\"]\":typeof r==\"string\"?`\"${r}\"`:`${r}`}function O$(r,t,e){let n=e!=null?e():y.now(),o;return(...i)=>{let a=e!=null?e():y.now();return a-n0){let e=`${r}_${t}`;return Lm.set(e,1),e}else return r}var KX=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\\._\\/]*$/);function W$(r){return!!r.match(KX)}function U$(r){return r===parseInt(r.toString(),10)}function So(r,t,e){t==null&&(t=0),e==null&&(e=r.length);let n=1;for(let o=t;ot&&(t=n)}return t}function jr(r,t){if(t{if(r.shape.length!==2)throw new z(`repeat() expects a rank-2 tensor, but received a rank-${r.shape.length} tensor.`);let e=rl(r,1);return Gy(e,[1,t,1])})}function q$(r){let t=[So(r.shape)];return F(r,t)}function K$(r){if(r.rank<=1)throw new z(`batchFlatten requires a minimum rank of 2. Got rank: ${r.rank}.`);let t=[r.shape[0],So(r.shape,1)];return F(r,t)}function el(r,t,e){return G(()=>{switch(r.rank){case 1:return _m(r,t,e);case 2:return Ih(r,[t,0],[e,r.shape[1]]);case 3:return Em(r,[t,0,0],[e,r.shape[1],r.shape[2]]);case 4:return lc(r,[t,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3]]);case 5:return Ot(r,[t,0,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3],r.shape[4]]);case 6:return Ot(r,[t,0,0,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3],r.shape[4],r.shape[5]]);default:throw new z(`sliceAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}})}function OS(r,t,e){return G(()=>{switch(r.rank){case 1:return _m(r,t,e);case 2:return Ih(r,[0,t],[r.shape[0],e]);case 3:return Em(r,[0,0,t],[r.shape[0],r.shape[1],e]);case 4:return lc(r,[0,0,0,t],[r.shape[0],r.shape[1],r.shape[2],e]);default:throw new z(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Eh(r,t,e,n){return G(()=>{switch(r.rank){case 1:return _m(r,t,e);case 2:switch(n){case 1:return el(r,t,e);case 2:return OS(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}case 3:switch(n){case 1:return el(r,t,e);case 2:return Em(r,[0,t,0],[r.shape[0],e,r.shape[2]]);case 3:return OS(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}case 4:switch(n){case 1:return el(r,t,e);case 2:return lc(r,[0,t,0,0],[r.shape[0],e,r.shape[2],r.shape[3]]);case 3:return lc(r,[0,0,t,0],[r.shape[0],r.shape[1],e,r.shape[3]]);case 4:return OS(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}default:throw new z(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Mm(r,t=-1){let e;return t<0&&(e=r[0].rank,e!==0?t=e:t=0),t===r[0].rank&&(t=-1),se(r,t)}function LS(r,t){switch(r.rank){case 1:return Px([r,t]);case 2:return Lx([r,t],0);case 3:return Mx([r,t],0);case 4:return zx([r,t],0);default:throw new z(`concatAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}}function Gy(r,t){if(Array.isArray(t)||(t=[t]),r.rank!==t.length)throw new z(`The length of input n (${t.length}) does not match the number of dimensions in input x (${r.rank})`);return $r(r,t)}function zm(r,t=0,e=1,n,o){return ac(r,t,e,n,o)}function To(r,t,e,n){if(r.rank<2||t.rank<2)throw new Nt(`dot requires both inputs to be rank >= 2 but got x shape = ${r.shape} and y shape = ${t.shape}`);if(t.rank>=3){let o=r.shape.slice(-1)[0],s=t.shape.slice(-2)[0];if(o!==s)throw new Nt(`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 = ${t.shape}`)}if(r.rank===2&&t.rank===2)return lu.matMul({a:r,b:t,transposeA:!1,transposeB:!1,bias:n?PS(r.rank,n,mn()):null,activation:e});{let o=r.shape.slice(),s=o.pop();r=F(r,[-1,s]);let i=t.shape.slice(),a=i.pop(),u=i.pop(),l=[...i,a],c=Array.from({length:t.rank},(d,h)=>h===0?t.rank-2:h<=t.rank-2?h-1:h);t=F(Mt(t,c),[u,-1]);let p=[...o,...l],m=!1,f=!1;return F(lu.matMul({a:r,b:t,transposeA:m,transposeB:f,bias:n?PS(r.rank,n,mn()):null,activation:e}),p)}}function Wy(r,t,e){return G(()=>(Array.isArray(t)?t=Ve(t,\"int32\"):t=tt(t,\"int32\"),Wi(r,t,e)))}function gc(r){return O(r,r)}function PS(r,t,e){let n=t.shape;if(t.rank!==1&&t.rank!==r)throw new z(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${r}`);if(r===5){if(e===\"channelsFirst\")return n.length===1?F(t,[1,n[0],1,1,1]):F(t,[1,n[3],n[0],n[1],n[2]]);if(e===\"channelsLast\")return n.length===1?F(t,[1,1,1,1,n[0]]):F(t,[1].concat(n))}else if(r===4){if(e===\"channelsFirst\")return n.length===1?F(t,[1,n[0],1,1]):F(t,[1,n[2],n[0],n[1]]);if(e===\"channelsLast\")return n.length===1?F(t,[1,1,1,n[0]]):F(t,[1].concat(n))}else if(r===3){if(e===\"channelsFirst\")return n.length===1?F(t,[1,n[0],1]):F(t,[1,n[1],n[0]]);if(e===\"channelsLast\")return n.length===1?F(t,[1,1,n[0]]):F(t,[1].concat(n))}else if(r<3)return t;throw new z(`Unsupported input rank by biasAdd: ${t.rank}`)}function fn(r,t,e){return G(()=>(e==null&&(e=mn()),Pe(e),J(r,PS(r.rank,t,e))))}function j$(r,t=1){if(t!==1)throw new Nt(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return Bi(r)}function X$(r){return G(()=>ct(r,J($e(r),1)))}function Uy(r,t,e,n){return G(()=>bS(r,t,e,n))}function Y$(r){return G(()=>{let t=J(.5,O(.2,r));return Ir(t,0,1)})}function xu(r,t,e=!1){return e?r():t()}var Z$=[\"fanIn\",\"fanOut\",\"fanAvg\"],J$=[\"normal\",\"uniform\",\"truncatedNormal\"];function jX(r){Xi(Z$,\"FanMode\",r)}function XX(r){Xi(J$,\"Distribution\",r)}var hn=class extends rt.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}},Bm=class extends hn{apply(t,e){return _e(t,e)}};Bm.className=\"Zeros\";rt.registerClass(Bm);var yu=class extends hn{apply(t,e){return cr(t,e)}};yu.className=\"Ones\";rt.registerClass(yu);var Vm=class extends hn{constructor(t){if(super(),typeof t!=\"object\")throw new z(`Expected argument of type ConstantConfig but got ${t}`);if(t.value===void 0)throw new z(`config must have value set but got ${t}`);this.value=t.value}apply(t,e){return G(()=>O(mt(this.value),cr(t,e)))}getConfig(){return{value:this.value}}};Vm.className=\"Constant\";rt.registerClass(Vm);var Gm=class extends hn{constructor(t){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=t.minval||this.DEFAULT_MINVAL,this.maxval=t.maxval||this.DEFAULT_MAXVAL,this.seed=t.seed}apply(t,e){return Hi(t,this.minval,this.maxval,e)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}};Gm.className=\"RandomUniform\";rt.registerClass(Gm);var Wm=class extends hn{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new Nt(`randomNormal does not support dType ${e}.`);return zm(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};Wm.className=\"RandomNormal\";rt.registerClass(Wm);var Um=class extends hn{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new Nt(`truncatedNormal does not support dType ${e}.`);return Dm(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};Um.className=\"TruncatedNormal\";rt.registerClass(Um);var Hm=class extends hn{constructor(t){super(),this.gain=t.gain!=null?t.gain:1}apply(t,e){return G(()=>{if(t.length!==2||t[0]!==t[1])throw new z(\"Identity matrix initializer can only be used for 2D square matrices.\");return O(this.gain,nc(t[0]))})}getConfig(){return{gain:this.gain}}};Hm.className=\"Identity\";rt.registerClass(Hm);function YX(r,t=\"channelsLast\"){let e,n;if(Pe(t),r.length===2)e=r[0],n=r[1];else if([3,4,5].indexOf(r.length)!==-1){if(t===\"channelsFirst\"){let o=So(r,2);e=r[1]*o,n=r[0]*o}else if(t===\"channelsLast\"){let o=So(r,0,r.length-2);e=r[r.length-2]*o,n=r[r.length-1]*o}}else{let o=So(r);e=Math.sqrt(o),n=Math.sqrt(o)}return[e,n]}var Wr=class extends hn{constructor(t){if(super(),t.scale<0)throw new z(`scale must be a positive float. Got: ${t.scale}`);this.scale=t.scale==null?1:t.scale,this.mode=t.mode==null?\"fanIn\":t.mode,jX(this.mode),this.distribution=t.distribution==null?\"normal\":t.distribution,XX(this.distribution),this.seed=t.seed}apply(t,e){let n=YX(t),o=n[0],s=n[1],i=this.scale;if(this.mode===\"fanIn\"?i/=Math.max(1,o):this.mode===\"fanOut\"?i/=Math.max(1,s):i/=Math.max(1,(o+s)/2),this.distribution===\"normal\"){let a=Math.sqrt(i);if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new Nt(`${this.getClassName()} does not support dType ${e}.`);return Dm(t,0,a,e,this.seed)}else{let a=Math.sqrt(3*i);return Hi(t,-a,a,e)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}};Wr.className=\"VarianceScaling\";rt.registerClass(Wr);var xc=class extends Wr{constructor(t){super({scale:1,mode:\"fanAvg\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};xc.className=\"GlorotUniform\";rt.registerClass(xc);var yc=class extends Wr{constructor(t){super({scale:1,mode:\"fanAvg\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};yc.className=\"GlorotNormal\";rt.registerClass(yc);var bc=class extends Wr{constructor(t){super({scale:2,mode:\"fanIn\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};bc.className=\"HeNormal\";rt.registerClass(bc);var wc=class extends Wr{constructor(t){super({scale:2,mode:\"fanIn\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};wc.className=\"HeUniform\";rt.registerClass(wc);var Cc=class extends Wr{constructor(t){super({scale:1,mode:\"fanIn\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};Cc.className=\"LeCunNormal\";rt.registerClass(Cc);var vc=class extends Wr{constructor(t){super({scale:1,mode:\"fanIn\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};vc.className=\"LeCunNormal\";rt.registerClass(vc);var qm=class extends hn{constructor(t){if(super(),this.DEFAULT_GAIN=1,this.gain=t.gain==null?this.DEFAULT_GAIN:t.gain,this.seed=t.seed,this.seed!=null)throw new Nt(\"Random seed is not implemented for Orthogonal Initializer yet.\")}apply(t,e){return G(()=>{if(t.length<2)throw new Nt(\"Shape must be at least 2D.\");t[0]*t[1]>2e3&&console.warn(`Orthogonal initializer is being called on a matrix with more than 2000 (${t[0]*t[1]}) elements: Slowness may result.`);let n=t[0]>t[1]?[t[1],t[0]]:t,o=zm(n,0,1,\"float32\"),s=vS.gramSchmidt(o);return t[0]>t[1]&&(s=Mt(s)),O(this.gain,s)})}getConfig(){return{gain:this.gain,seed:this.seed}}};qm.className=\"Orthogonal\";rt.registerClass(qm);var Q$={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 tD(r,t={}){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"initializer\")}function Ee(r){return Pm(r)}function ge(r){if(typeof r==\"string\"){let t=r in Q$?Q$[r]:r;if(t===\"GlorotNormal\")return new yc;if(t===\"GlorotUniform\")return new xc;if(t===\"HeNormal\")return new bc;if(t===\"HeUniform\")return new wc;if(t===\"LeCunNormal\")return new Cc;if(t===\"LeCunUniform\")return new vc;{let e={};return e.className=t,e.config={},tD(e)}}else return r instanceof hn?r:tD(r)}function Hy(r){return Array.isArray(r)&&Array.isArray(r[0])}function Km(r){return r.length===0?[]:Array.isArray(r[0])?r:[r]}function Pt(r){let t;if(Array.isArray(r)){if(r.length!==1)throw new z(`Expected Tensor length to be 1; got ${r.length}`);t=r[0]}else t=r;return t}function te(r){if(Array.isArray(r)&&Array.isArray(r[0])){if(r.length===1)return r=r,r[0];throw new z(`Expected exactly 1 Shape; got ${r.length}`)}else return r}function jm(r){let t=0;for(let e of r)e.shape.length===0?t+=1:t+=e.shape.reduce((n,o)=>n*o);return t}var rD=\"Variable\",Ah=class{constructor(t,e=\"float32\",n=rD,o=!0,s=null){this.dtype=e==null?\"float32\":e,this.shape=t.shape,this.id=My(),n=n==null?rD:n,this.originalName=zy(n),this.name=By(this.originalName),this.trainable_=o,this.constraint=s,this.val=wy(t,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(t){return this.assertNotDisposed(),JX(this.val,t),this.val.id!==t.id&&(this.val.assign(t),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(t){this.trainable_=t,this.val.trainable=t}};function JX(r,t){if(r.shape.toString()!==t.shape.toString())throw new Error(\"Shape mismatch: \"+JSON.stringify(r.shape)+\" vs. \"+JSON.stringify(t.shape))}function $h(r){return r.map(t=>t.read())}function Xm(r){r.forEach(t=>{t[0].write(t[1])})}var we=class{constructor(t){this.dtype=t.dtype,this.shape=t.shape,t.shape!=null?this.ndim=t.shape.length:this.ndim=t.ndim,this.maxNDim=t.maxNDim,this.minNDim=t.minNDim,this.axes=t.axes||{}}},Xr=class{constructor(t,e,n,o,s,i,a){this.dtype=t,this.shape=e,this.sourceLayer=n,this.inputs=o,this.callArgs=s,this.outputTensorIndex=a,this.id=My(),i!=null&&(this.originalName=zy(i),this.name=By(this.originalName)),this.rank=e.length}},QX=0,nl=class{constructor(t,e){this.callArgs=e,this.id=QX++,this.outboundLayer=t.outboundLayer,this.inboundLayers=t.inboundLayers,this.nodeIndices=t.nodeIndices,this.tensorIndices=t.tensorIndices,this.inputTensors=t.inputTensors,this.outputTensors=t.outputTensors,this.inputMasks=t.inputMasks,this.outputMasks=t.outputMasks,this.inputShapes=t.inputShapes,this.outputShapes=t.outputShapes;for(let n of t.inboundLayers)n!=null&&n.outboundNodes.push(this);t.outboundLayer.inboundNodes.push(this)}getConfig(){let t=[];for(let e of this.inboundLayers)e!=null?t.push(e.name):t.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:t,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}},t8=0,Bt=class extends rt.Serializable{constructor(t={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=t8++,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 e=t.name;if(!e){let n=this.getClassName();e=vo(n)+\"_\"+gu(n)}if(this.name=e,this.trainable_=t.trainable==null?!0:t.trainable,t.inputShape!=null||t.batchInputShape!=null){let n;if(t.batchInputShape!=null)n=t.batchInputShape;else if(t.inputShape!=null){let s=null;t.batchSize!=null&&(s=t.batchSize),n=[s].concat(t.inputShape)}this.batchInputShape=n;let o=t.dtype;o==null&&(o=t.inputDType),o==null&&(o=\"float32\"),this.dtype=o}t.weights!=null?this.initialWeights=t.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(t,e){return t.name+\"_ib-\"+e.toString()}getNodeAtIndex(t,e){if(this.inboundNodes.length===0)throw new Gr(`The layer has never been called and thus has no defined ${e}.`);if(this.inboundNodes.length<=t)throw new z(`Asked to get ${e} at node ${t}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[t]}getInputAt(t){return Nr(this.getNodeAtIndex(t,\"input\").inputTensors)}getOutputAt(t){return Nr(this.getNodeAtIndex(t,\"output\").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new Nn(`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 Nn(`Layer ${this.name} is not connected, no input to return.`);return Nr(this.getNodeAtIndex(0,\"input\").inputTensors)}get output(){if(this.inboundNodes.length===0)throw new Nn(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new Nn(`Layer ${this.name} has multiple inbound nodes, hence the notion of \"layer output\" is ill-defined. Use \\`getOutputAt(nodeIndex)\\` instead.`);return Nr(this.getNodeAtIndex(0,\"output\").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(t=>t())}get updates(){return this._updates}get built(){return this._built}set built(t){this._built=t}get trainable(){return this.trainable_}set trainable(t){this._trainableWeights.forEach(e=>e.trainable=t),this.trainable_=t}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(t=>t.trainable):[]}set trainableWeights(t){this._trainableWeights=t}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(t=>!t.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(t){this._nonTrainableWeights=t}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(t){if(t=be(t),this.inputSpec==null||this.inputSpec.length===0)return;let e=be(this.inputSpec);if(t.length!==e.length)throw new z(`Layer ${this.name} expects ${e.length} inputs, but it received ${t.length} input tensors. Input received: ${t}`);for(let n=0;ns.maxNDim)throw new z(`Input ${n} is incompatible with layer ${this.name}: expected max_ndim=${s.maxNDim}, found ndim=${i}`);if(s.minNDim!=null&&i=0?a[l]:a[a.length+l];if(c!=null&&[c,null].indexOf(p)===-1)throw new z(`Input ${n} is incompatible with layer ${this.name}: expected axis ${l} of input shape to have value ${c} but got shape ${a}.`)}}if(s.shape!=null)for(let a=0;a{if(!this.built){this.assertInputCompatibility(t);let i=[];for(let a of be(t))i.push(a.shape);this.build(Nr(i)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),this._refCount===null&&s&&(this._refCount=1)}if(this.assertInputCompatibility(t),s){let i=this.call(t,e),a=be(i),u=[];for(let l of a)n.indexOf(l)!==-1&&(l=l.clone()),u.push(l);if(i=Nr(u),this.activityRegularizer!=null)throw new Nt(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return i}else{let i=e8(t),a=this.computeOutputShape(i),u,l=r8(t);if(this.warnOnIncompatibleInputShape(Array.isArray(t)?i[0]:i),a!=null&&a.length>0&&Array.isArray(a[0])?u=a.map((c,p)=>new Xr(l,c,this,be(t),e,this.name,p)):u=new Xr(l,a,this,be(t),e,this.name),this.addInboundNode(t,u,null,null,i,a,e),this._refCount++,this.activityRegularizer!=null)throw new Nt(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return u}})}warnOnIncompatibleInputShape(t){if(this.batchInputShape!=null)if(t.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(t)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let e=!1;this.batchInputShape.forEach((n,o)=>{n!=null&&t[o]!=null&&t[o]!==n&&(e=!0)}),e&&console.warn(`The shape of the input tensor (${JSON.stringify(t)}) 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 Nn(`The layer ${this.name} has never been called and thus has no defined output shape.`);let t=[];for(let e of this.inboundNodes){let n=JSON.stringify(e.outputShapes);t.indexOf(n)===-1&&t.push(n)}if(t.length===1){let e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&e.length===1?e[0]:e}else throw new Nn(`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 Gr(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return jm(this.weights)}build(t){this.built=!0}getWeights(t=!1){return $h(t?this.trainableWeights:this.weights)}setWeights(t){G(()=>{let e=this.weights;if(e.length!==t.length)throw new z(`You called setWeights(weights) on layer \"${this.name}\" with a weight list of length ${t.length}, but the layer was expecting ${e.length} weights. Provided weights: ${t}...`);if(e.length===0)return;let n=[],o=$h(e);for(let s=0;ss.apply(c.read())),i==null&&(i=!0),i?this._trainableWeights.push(c):this._nonTrainableWeights.push(c),c}setFastWeightInitDuringBuild(t){this.fastWeightInitDuringBuild=t}addLoss(t){t==null||Array.isArray(t)&&t.length===0||(t=be(t),this._losses!==void 0&&this._losses!==null&&this.losses.push(...t))}computeOutputShape(t){return t}computeMask(t,e){if(!this.supportsMasking){if(e!=null)if(Array.isArray(e))e.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 e}addInboundNode(t,e,n,o,s,i,a=null){let u=be(t);e=be(e),n=be(n),o=be(o),s=Km(s),i=Km(i);let l=[],c=[],p=[];for(let m of u)l.push(m.sourceLayer),c.push(m.nodeIndex),p.push(m.tensorIndex);new nl({outboundLayer:this,inboundLayers:l,nodeIndices:c,tensorIndices:p,inputTensors:u,outputTensors:e,inputMasks:n,outputMasks:o,inputShapes:s,outputShapes:i},a);for(let m=0;mt.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 t=0;return--this._refCount===0&&(t=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:t}}};function e8(r){r=be(r);let t=[];for(let e of r)t.push(e.shape);return Nr(t)}function r8(r){return\"float32\"}function MS(r,t,e){if((t==null||e!=null&&e>0)&&(t=r.sourceLayer,e=r.nodeIndex),t.inboundNodes.length===0)return[r];{let n=t.inboundNodes[e];if(n.inboundLayers.length===0)return n.inputTensors;{let o=[];for(let s=0;sd.name),u=[],l=t.names();for(let d of a)l.indexOf(d)!==-1?u.push(t.getValue(d)):u.push(null);n!=null&&(n.maxNumTensors=-1/0,n.minNumTensors=1/0);let c=a.join(\",\")+\"|\"+t.names().sort().join(\",\"),p=Ky.get(c),m;if(p==null){let d=o8(i,t);p=d.sorted,m=d.recipientCounts,Ky.put(c,p),jy.put(c,m)}m={},o||Object.assign(m,jy.get(c));let f=new No(t);for(let d=0;dn.maxNumTensors&&(n.maxNumTensors=P),P0,()=>\"Expected at least one fetch, got none\");let e=[],n={};if(r.length===1){let o=nD(r[0],t);e=o.sorted,n=o.recipientMap}else{let o=new Set;for(let s of r){let{sorted:i,recipientMap:a}=nD(s,t);for(let u of i)o.has(u.name)||(e.push(u),o.add(u.name));for(let u in a)n[u]==null&&(n[u]=new Set),a[u].forEach(l=>n[u].add(l))}}return{sorted:e,recipientCounts:s8(n)}}function s8(r){let t={};for(let e in r)t[e]=r[e].size;return t}function nD(r,t){let e=new Set,n=[],o={};for(let a of t.names())e.add(a);let s=[],i=[];for(s.push(r);s.length>0;){let a=s[s.length-1];if(e.has(a.name)){s.pop();continue}let u=i[i.length-1]===s.length-1;if(a.inputs.length===0||u)s.pop(),n.push(a),e.add(a.name),u&&i.pop();else{i.push(s.length-1);for(let l of a.inputs)o[l.name]==null&&(o[l.name]=new Set),o[l.name].add(a.name),!e.has(l.name)&&s.push(l)}}return{sorted:n,recipientMap:o}}function i8(r){let t;if(r.sourceLayer.inboundNodes.length===1)t=r.sourceLayer.output;else{let e=null;for(let n=0;n100,oD);var aD={};jt(aD,{maxNorm:()=>l8,minMaxNorm:()=>p8,nonNeg:()=>c8,unitNorm:()=>u8});function zS(r,t){return G(()=>Ne(ft(O(r,r),t,!0)))}var Sc=class extends rt.Serializable{getConfig(){return{}}},Ym=class extends Sc{constructor(t){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=t.maxValue!=null?t.maxValue:this.defaultMaxValue,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return G(()=>{let e=zS(t,this.axis),n=Ir(e,0,this.maxValue);return O(t,ct(n,J(ar(),e)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}};Ym.className=\"MaxNorm\";rt.registerClass(Ym);var Zm=class extends Sc{constructor(t){super(),this.defaultAxis=0,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return G(()=>ct(t,J(ar(),zS(t,this.axis))))}getConfig(){return{axis:this.axis}}};Zm.className=\"UnitNorm\";rt.registerClass(Zm);var Jm=class extends Sc{apply(t){return Rr(t)}};Jm.className=\"NonNeg\";rt.registerClass(Jm);var Qm=class extends Sc{constructor(t){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=t.minValue!=null?t.minValue:this.defaultMinValue,this.maxValue=t.maxValue!=null?t.maxValue:this.defaultMaxValue,this.rate=t.rate!=null?t.rate:this.defaultRate,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return G(()=>{let e=zS(t,this.axis),n=J(O(this.rate,Ir(e,this.minValue,this.maxValue)),O(1-this.rate,e));return O(t,ct(n,J(ar(),e)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}};Qm.className=\"MinMaxNorm\";rt.registerClass(Qm);var sD={maxNorm:\"MaxNorm\",minMaxNorm:\"MinMaxNorm\",nonNeg:\"NonNeg\",unitNorm:\"UnitNorm\"};function Ge(r){return Pm(r)}function iD(r,t={}){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"constraint\")}function We(r){if(r==null)return null;if(typeof r==\"string\"){let e={className:r in sD?sD[r]:r,config:{}};return iD(e)}else return r instanceof Sc?r:iD(r)}function l8(r){return new Ym(r)}function u8(r){return new Zm(r)}function c8(){return new Jm}function p8(r){return new Qm(r)}var lD={};jt(lD,{constant:()=>d8,glorotNormal:()=>C8,glorotUniform:()=>w8,heNormal:()=>v8,heUniform:()=>I8,identity:()=>y8,leCunNormal:()=>S8,leCunUniform:()=>T8,ones:()=>f8,orthogonal:()=>N8,randomNormal:()=>g8,randomUniform:()=>h8,truncatedNormal:()=>x8,varianceScaling:()=>b8,zeros:()=>m8});function m8(){return new Bm}function f8(){return new yu}function d8(r){return new Vm(r)}function h8(r){return new Gm(r)}function g8(r){return new Wm(r)}function x8(r){return new Um(r)}function y8(r){return new Hm(r)}function b8(r){return new Wr(r)}function w8(r){return new xc(r)}function C8(r){return new yc(r)}function v8(r){return new bc(r)}function I8(r){return new wc(r)}function S8(r){return new Cc(r)}function T8(r){return new vc(r)}function N8(r){return new qm(r)}var BD={};jt(BD,{Layer:()=>Bt,RNN:()=>_n,RNNCell:()=>al,activation:()=>VY,add:()=>YY,alphaDropout:()=>R7,average:()=>ZY,averagePooling1d:()=>QS,averagePooling2d:()=>tT,averagePooling3d:()=>eT,avgPool1d:()=>i7,avgPool2d:()=>l7,avgPool3d:()=>c7,avgPooling1d:()=>a7,avgPooling2d:()=>u7,avgPooling3d:()=>p7,batchNormalization:()=>n7,bidirectional:()=>T7,concatenate:()=>JY,conv1d:()=>DY,conv2d:()=>RY,conv2dTranspose:()=>FY,conv3d:()=>OY,conv3dTranspose:()=>PY,convLstm2d:()=>C7,convLstm2dCell:()=>v7,cropping2D:()=>MY,dense:()=>GY,depthwiseConv2d:()=>BY,dot:()=>r7,dropout:()=>WY,elu:()=>NY,embedding:()=>XY,flatten:()=>HY,gaussianDropout:()=>D7,gaussianNoise:()=>$7,globalAveragePooling1d:()=>m7,globalAveragePooling2d:()=>f7,globalMaxPool1d:()=>k7,globalMaxPool2d:()=>_7,globalMaxPooling1d:()=>PD,globalMaxPooling2d:()=>LD,gru:()=>h7,gruCell:()=>g7,input:()=>KS,inputLayer:()=>TY,layerNormalization:()=>o7,leakyReLU:()=>_Y,lstm:()=>x7,lstmCell:()=>y7,masking:()=>F7,maxPool1d:()=>E7,maxPool2d:()=>A7,maxPooling1d:()=>MD,maxPooling2d:()=>zD,maxPooling3d:()=>d7,maximum:()=>QY,minimum:()=>t7,multiply:()=>e7,permute:()=>jY,prelu:()=>EY,reLU:()=>kY,repeatVector:()=>qY,reshape:()=>KY,rnn:()=>I7,separableConv2d:()=>LY,simpleRNN:()=>b7,simpleRNNCell:()=>w7,softmax:()=>AY,spatialDropout1d:()=>UY,stackedRNNCells:()=>S7,thresholdedReLU:()=>$Y,timeDistributed:()=>N7,upSampling2d:()=>zY,zeroPadding2d:()=>s7});async function Yi(r){if(r==null)return;let t=[],e=[],n=[];for(let o in r){let s=r[o];if(typeof s!=\"number\"){let i=s;t.push(i.data()),e.push(o),n.push(i)}}if(t.length>0){let o=await Promise.all(t);for(let s=0;sJ(this.totals[o],O(s,n)));this.totals[o]=a,i!=null&&i.dispose()}}}async onEpochEnd(t,e){if(e!=null)for(let n of this.params.metrics)this.totals[n]!=null&&(typeof this.totals[n]==\"number\"?e[n]=this.totals[n]/this.seen:G(()=>{let o=O(ct(1,this.seen),this.totals[n]);e[n]=o,this.totals[n].dispose(),Oe(e[n])}))}},Zy=class extends ol{async onTrainBegin(t){this.epoch=[],this.history={}}async onEpochEnd(t,e){e==null&&(e={}),this.epoch.push(t);for(let n in e)this.history[n]==null&&(this.history[n]=[]),this.history[n].push(e[n])}async syncData(){let t=[],e=[],n=[];for(let s in this.history){let i=this.history[s];for(let a=0;anew Jy(n,t))}var gn=class{constructor(){}static registerCallbackConstructor(t,e){y.assert(t>=0&&Number.isInteger(t),()=>`Verbosity level is expected to be an integer >= 0, but got ${t}`),gn.checkForDuplicate(e),gn.constructors[t]==null&&(gn.constructors[t]=[]),gn.constructors[t].push(e)}static checkForDuplicate(t){for(let e in gn.constructors)gn.constructors[+e].forEach(o=>{if(o===t)throw new z(\"Duplicate callback constructor.\")})}static clear(){gn.constructors={}}static createCallbacks(t){let e=[];for(let n in gn.constructors){let o=+n;t>=o&&e.push(...gn.constructors[o])}return e.map(n=>new n)}};gn.constructors={};function tb(r,t,e,n,o,s,i,a,u){let l=new Zy,c=[new BS,...gn.createCallbacks(t)];r!=null&&c.push(...r),c.push(l);let p=new Yy(c);return p.setParams({epochs:e,initialEpoch:n,samples:o,steps:s,batchSize:i,verbose:t,doValidation:a,metrics:u}),{callbackList:p,history:l}}function xn(r,t={},e=!1){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"layer\",e)}function Dh(r,t){return G(()=>{r.dtype!==\"float32\"&&(r=tt(r,\"float32\"));let e=ft(gc(r),t,!0),n=Vi(e.shape,ar()),o=Ne(Tn(e,n));return ct(r,o)})}function Zi(r,t){return G(()=>ke(gc(ut(t,r)),-1))}function tf(r,t){return G(()=>ke($e(ut(t,r)),-1))}function bu(r,t){return G(()=>{let e=ut(r,t),n=Ir($e(r),ar(),Number.MAX_VALUE),o=$e(ct(e,n));return O(100,ke(o,-1))})}function _8(r,t){return G(()=>{let e=Ir(t,ar(),Number.MAX_VALUE),n=Sr(J(1,e)),o=Ir(r,ar(),Number.MAX_VALUE),s=Sr(J(1,o));return ke(gc(ut(n,s)),-1)})}function E8(r,t){return G(()=>{let e=Tn(0,ut(1,O(r,t)));return ke(gc(e),-1)})}function A8(r,t){return G(()=>{let e=Tn(0,ut(1,O(r,t)));return ke(e,-1)})}function $8(r,t){return G(()=>{let e=ft(O(r,t),-1),n=Mr(O(ut(1,r),t),-1);return Tn(0,J(1,ut(n,e)))})}function D8(r,t){return G(()=>{let e=Math.log(2),n=ut(t,r),o=ut(J(n,Hs(O(-2,n))),e);return ke(o,-1)})}function Tc(r,t,e=!1){return G(()=>{if(e)t=su(t);else{let n=ft(t,t.shape.length-1,!0);t=ct(t,n)}return t=Ir(t,ar(),1-ar()),Yt(ft(O(tt(r,\"float32\"),Sr(t)),t.shape.length-1))})}function ef(r,t,e=!1){return G(()=>{let n=tt(Gi(q$(r)),\"int32\");t=Ir(t,ar(),1-ar());let o=t.shape,s=F(Ri(n,o[o.length-1]),o);return Tc(s,t,e)})}function R8(r,t){if(!y.arraysEqual(r.shape,t.shape))throw new z(`logits and labels must have the same shape, but got shapes ${JSON.stringify(r.shape)} and ${JSON.stringify(t.shape)}`);return G(()=>{let e=Rr(t),n=Yt($e(t));return J(ut(e,O(t,r)),Ql(or(n)))})}function rf(r,t){return G(()=>{let e;return e=Ir(t,ar(),1-ar()),e=Sr(ct(e,ut(1,e))),ke(R8(r,e),-1)})}function F8(r,t){return G(()=>{let e=Ir(r,ar(),1),n=Ir(t,ar(),1);return ft(O(r,Sr(ct(e,n))),-1)})}function O8(r,t){return G(()=>{let e=Sr(J(ar(),t));return ke(ut(t,O(r,e)),-1)})}function Fh(r,t){return G(()=>{let e=Dh(r,-1),n=Dh(t,-1),o=O(e,n);return Yt(ft(o,-1))})}var Rh={meanSquaredError:Zi,meanAbsoluteError:tf,meanAbsolutePercentageError:bu,meanSquaredLogarithmicError:_8,squaredHinge:E8,hinge:A8,categoricalHinge:$8,logcosh:D8,categoricalCrossentropy:Tc,sparseCategoricalCrossentropy:ef,binaryCrossentropy:rf,kullbackLeiblerDivergence:F8,poisson:O8,cosineProximity:Fh};function eb(r){if(typeof r==\"string\"){if(r in Rh)return Rh[r];let t=`Unknown loss ${r}`;throw r.toLowerCase().includes(\"softmaxcrossentropy\")&&(t=`Unknown loss ${r}. Use \"categoricalCrossentropy\" as the string name for tf.losses.softmaxCrossEntropy`),new z(t)}else return r}function Oh(r,t){return G(()=>{let e=O(.5,br(t)),n=hc(Xe(t,e),r.dtype);return ke(Ar(r,n),-1)})}function Ph(r,t){return G(()=>hc(Ar(Oi(r,-1),Oi(t,-1)),\"float32\"))}function pD(r,t){return G(()=>tt(ft(Dr(Ar(r,1),Ar(t,1))),\"float32\"))}function P8(r,t){return G(()=>tt(ft(Dr(Ar(r,1),Ar(t,0))),\"float32\"))}function L8(r,t){return G(()=>tt(ft(Dr(Ar(r,0),Ar(t,1))),\"float32\"))}function VS(r,t){return G(()=>{let e=pD(r,t),n=L8(r,t),o=J(e,n);return tt(De(Xe(o,0),ct(e,o),0),\"float32\")})}function mD(r,t){return G(()=>{let e=pD(r,t),n=P8(r,t),o=J(e,n);return tt(De(Xe(o,0),ct(e,o),0),\"float32\")})}function nb(r,t){return rf(r,t)}function ob(r,t){return r.rank===t.rank&&(r=Mn(r,[r.rank-1])),t=Oi(t,-1),t.dtype!==r.dtype&&(t=tt(t,r.dtype)),tt(Ar(r,t),\"float32\")}var M8=Zi,z8=Zi,B8=tf,V8=tf,G8=bu,W8=bu,Lh=Tc,U8=Fh,GS=ef,rb={binaryAccuracy:Oh,categoricalAccuracy:Ph,precision:VS,categoricalCrossentropy:Lh,sparseCategoricalCrossentropy:GS,mse:M8,MSE:z8,mae:B8,MAE:V8,mape:G8,MAPE:W8,cosine:U8};function fD(r){if(typeof r==\"string\"&&r in rb)return rb[r];if(typeof r!=\"string\"&&r!=null)return r;throw new z(`Unknown metric ${r}`)}function Mh(r){if(to(r!==null,`Unknown LossOrMetricFn ${r}`),typeof r==\"string\")return r;{let t;for(let e of Object.keys(Rh))if(Rh[e]===r){t=e;break}if(t!==void 0)return t;for(let e of Object.keys(rb))if(rb[e]===r){t=e;break}return t!==void 0?t:r.name}}function hD(r){let t={Adagrad:()=>fc.adagrad(.01),Adadelta:()=>fc.adadelta(1,.95,ar()),Adam:()=>fc.adam(.001,.9,.999,ar()),Adamax:()=>fc.adamax(.002,.9,.999,ar(),0),RMSProp:()=>fc.rmsprop(.001,.9,0,ar()),SGD:()=>fc.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,r in t)return t[r]();throw new z(`Unknown Optimizer ${r}`)}function US(r,t,e=!1){if(r==null||typeof r!=\"object\"||Object.getPrototypeOf(r)!==Object.prototype||!WS(r))throw new Error(\"User-defined metadata is expected to be a JSON object, but is not.\");if(e){let n=JSON.stringify(r);n.length>1048576&&console.warn(`User-defined metadata of model \"${t}\" 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 <= ${1048576}.`)}}function WS(r){if(r===null)return!0;if(typeof r==\"object\")if(Object.getPrototypeOf(r)===Object.prototype){let t=Object.keys(r);for(let e of t)if(typeof e!=\"string\"||!WS(r[e]))return!1;return!0}else if(Array.isArray(r)){for(let t of r)if(!WS(t))return!1;return!0}else return!1;else{let t=typeof r;return t===\"string\"||t===\"number\"||t===\"boolean\"}}function gD(r,t,e,n=console.log){let o=K8(r),s=[\"Layer (type)\",\"Input Shape\",\"Output shape\",\"Param #\"];o?(t=t||90,e=e||[.32,.61,.89,1]):(t=t||115,e=e||[.24,.48,.7,.8,1]),e[e.length-1]<=1&&(e=e.map(c=>Math.floor(t*c)));let i;if(!o){s.push(\"Receives inputs\"),i=[];for(let c in r.nodesByDepth)i.push(...r.nodesByDepth[c])}n(\"_\".repeat(t)),sb(s,e,n),n(\"=\".repeat(t));let a=r.layers;for(let c=0;c1||o.length===1&&o[0].inboundLayers.length>1){t=!1;break}n.push(...o)}if(t)for(let o of r.layers){let s=!1;for(let i of o.inboundNodes)if(n.indexOf(i)!==-1)if(s){t=!1;break}else s=!0;if(!t)break}return t}function sb(r,t,e=console.log){let n=\"\";for(let o=0;o0&&(n=n.slice(0,n.length-1)+\" \"),n+=r[o],n=n.slice(0,t[o]),n+=\" \".repeat(t[o]-n.length);e(n)}function j8(r,t,e){let n,o;try{o=r.inboundNodes.map(u=>JSON.stringify(u.inputShapes)).join(\",\")}catch(u){o=\"multiple\"}try{n=JSON.stringify(r.outputShape)}catch(u){n=\"multiple\"}let s=r.name,i=r.getClassName(),a=[`${s} (${i})`,o,n,r.countParams().toString()];sb(a,t,e)}function X8(r,t,e,n){let o,s;try{s=r.inboundNodes.map(p=>JSON.stringify(p.inputShapes)).join(\",\")}catch(p){s=\"multiple\"}try{o=JSON.stringify(r.outputShape)}catch(p){o=\"multiple\"}let i=[];for(let p of r.inboundNodes)if(!(e!=null&&e.length>0&&e.indexOf(p)===-1))for(let m=0;mb.name)}`);Io(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,C=b.nodeIndex,T=b.tensorIndex;this.outputLayers.push(w),this.outputLayersNodeIndices.push(C),this.outputLayersTensorIndices.push(T)}for(let b of this.inputs){let w=b.sourceLayer,C=b.nodeIndex,T=b.tensorIndex;to(C===0,\"input layer has >1 nodes\"),to(T===0,\"input layer has >1 tensors\"),this.inputLayers.push(w),this.inputLayersNodeIndices.push(C),this.inputLayersTensorIndices.push(T)}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 e={},n={},o={},s={},i={},a=[],u=(b,w,C,T,E,$)=>{(T==null||E==null||$==null)&&(T=b.sourceLayer,E=b.nodeIndex,$=b.tensorIndex);let D=T.inboundNodes[E];if(C.indexOf(D)!==-1)throw new Gr(`The tensor ${b.name} at layer \"${T.name}\" is part of a cycle.`);if(w.indexOf(D)!==-1)return;this.containerNodes.add(zn.nodeKey(T,E)),T.id in i||(i[T.id]=Object.keys(i).length),C.indexOf(D)===-1&&C.push(D);let P=D.inboundLayers.length;for(let M=0;M=0;)C.splice(C.indexOf(D),1);a.push(D)},l=[],c=[];for(let b of this.outputs)u(b,l,c);let p=a.slice().reverse();for(let b of p){n[b.id]=b,b.id in e||(e[b.id]=0);let w=e[b.id],C=o[b.outboundLayer.id]==null?0:o[b.outboundLayer.id];w=Math.max(w,C),o[b.outboundLayer.id]=w,s[b.outboundLayer.id]=b.outboundLayer,e[b.id]=w;for(let T=0;TparseInt(b,10)).sort(kh);this.layers=[];for(let b of d){let w=f[b];w.sort((C,T)=>{let E=i[C.id],$=i[T.id];return E<$?-1:E>$?1:0});for(let C of w)C instanceof zn&&this.internalContainerRefs.push(C),this.layers.push(C)}this.layersByDepth=f,d=Object.keys(m).map(b=>parseInt(b,10)).sort(kh);let h=this.inputs.slice(),g=[];for(let b of d)for(let w of m[b]){let C=w.outboundLayer;if(C!=null){for(let T of w.inputTensors)if(h.indexOf(T)===-1)throw new Gr(`Graph disconnected: cannot obtain value for tensor ${T} at layer \"${C.name}\". The following previous layers were accessed without issue: ${g}`);for(let T of w.outputTensors)h.push(T);g.push(C.name)}}this.nodesByDepth=m;let x=this.layers.map(b=>b.name);for(let b of x){let w=x.filter(C=>C===b).length;if(w!==1)throw new Gr(`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 nl({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 t={refCountAfterDispose:null,numDisposedVariables:0};if(--this._refCount===0){for(let e of this.layers)t.numDisposedVariables+=e.dispose().numDisposedVariables;for(let e of this.internalContainerRefs)t.numDisposedVariables+=e.dispose().numDisposedVariables}return t.refCountAfterDispose=this._refCount,t}get trainable(){return this.trainable_}set trainable(t){this.layers.forEach(e=>{e._trainableWeights.forEach(n=>n.trainable=t)}),this.trainable_=t}get trainableWeights(){if(this._trainableWeights.length>0)throw new z(\"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 t=[];for(let e of this.layers)t=t.concat(e.trainableWeights);return t}get nonTrainableWeights(){let t=[];for(let e of this.layers)t.push(...e.nonTrainableWeights);if(!this.trainable){let e=[];for(let n of this.layers)e.push(...n.trainableWeights);return e.concat(t)}return t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(t,e=!0){let n={},o=0;for(let i of this.layers)for(let a of i.weights){if(n[a.originalName]!=null)throw new z(`Duplicate weight name: ${a.originalName}`);n[a.originalName]=a,o++}let s=[];for(let i in t){let a=i;if(n[i]==null){let u=i.split(\"/\");a=u.slice(0,-2).concat([u[u.length-1]]).join(\"/\")}if(n[a]!=null)s.push([n[a],t[i]]);else if(e)throw new z(`Provided weight data has no target variable: ${i}`);delete n[a]}if(e){let i=[];for(let a in n)i.push(a);if(i.length>0)throw new z(`${i.length} of ${o} weights are not set: ${i}`)}Xm(s)}updatedConfig(){let t=this.getConfig(),e={};return e.className=this.getClassName(),e.config=t,e.kerasVersion=`tfjs-layers ${nf}`,e.backend=\"TensorFlow.js\",e}toJSON(t,e=!0){let n=ib(this.updatedConfig());return e?JSON.stringify(n):n}call(t,e){return G(()=>{t=be(t);let n=new No;for(let o=0;o{t=be(t);let n;return e==null?n=Co(null,t.length):n=be(e),this.runInternalGraph(t,n)[1]})}computeOutputShape(t){let e=Km(t);if(e.length!==this.inputLayers.length)throw new z(`Invalid inputShape argument ${t}: model has ${this.inputLayers.length} tensor inputs.`);let n={};for(let a=0;aparseInt(a,10)).sort(kh);if(o.length>1)for(let a of o){let u=this.nodesByDepth[a];for(let l of u){let c=l.outboundLayer;if(this.inputLayers.map(h=>h.id).indexOf(c.id)!==-1)continue;let p=[];for(let h=0;hparseInt(u,10)).sort(kh);for(let u of o){let l=this.nodesByDepth[u];for(let c of l){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[C,T]=d[0];h.mask==null&&(h.mask=T),b=be(p.call(C,h)),w=be(p.computeMask(C,T)),g=[C],x=[T]}else g=d.map(C=>C[0]),x=d.map(C=>C[1]),h.mask==null&&(h.mask=x),b=be(p.call(g,h)),w=be(p.computeMask(g,x));if(p.activityRegularizer)throw new Nt(\"LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.\");for(let C=0;C{let t=[];for(let e of this.layers)for(let n=0;n0){let h=[];for(let g=0;g0&&g.apply(Nr(b),w)}function l(g){let x=g.name,b=xn(g,e.customObjects!=null?e.customObjects:{});b.setFastWeightInitDuringBuild(o),s[x]=b,g.inboundNodes.forEach(C=>{if(!(C instanceof Array))throw new z(`Corrupted configuration, expected array for nodeData: ${C}`);a(b,C)})}let c=e.name,p=e.layers;for(let g of p)l(g);for(;!R$(i);)for(let g of p){let x=s[g.name];if(x.name in i){let b=i[x.name];delete i[x.name];for(let w of b)u(x,w)}}let m=[],f=[],d=e.inputLayers;for(let g of d){let x=g[0],b=g[1],w=g[2];to(x in s);let T=s[x].inboundNodes[b].outputTensors;m.push(T[w])}let h=e.outputLayers;for(let g of h){let x=g[0],b=g[1],w=g[2];to(x in s);let T=s[x].inboundNodes[b].outputTensors;f.push(T[w])}return new t({inputs:m,outputs:f,name:c})}get stateful(){if(this._stateful)throw new z(\"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 t of this.layers)if(t.stateful)return!0;return!1}resetStates(){G(()=>{this.layers.forEach(t=>{t.stateful&&t.resetStates()})})}};function Y8(r,t,e){let n=t.length;if(r==null||Array.isArray(r)&&r.length===0)return t.map(o=>null);if(n===1)return Array.isArray(r)&&r.length===1?r:typeof r==\"object\"&&t[0]in r?[r[t[0]]]:[r];if(Array.isArray(r)){if(r.length!==n)throw new Error(`Provided ${e} 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 t.forEach(s=>{s in r?o.push(r[s]):o.push(null)}),o}else throw new Error(`The model has multiple (${n}) outputs, so ${e} must be either an array with ${n} elements or an object with ${t} keys. Provided ${e} not understood: ${JSON.stringify(r)}`)}function ab(r,t){return Y8(r,t,\"classWeight\")}async function lb(r,t,e,n){if(t!=null||n!=null)throw new Error(\"Support sampleWeight is not implemented yet\");if(e!=null){let o=G(()=>{if(r.shape.length===1)return an(r);if(r.shape.length===2){if(r.shape[1]>1)return Oi(r,1);if(r.shape[1]===1)return F(r,[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());_t(o);let i=[];return s.forEach(a=>{if(e[a]==null)throw new Error(`classWeight must contain all classes in the training data. The class ${a} exists in the data but not in classWeight`);i.push(e[a])}),Ve(i,\"float32\")}else return null}function yD(r,t){return O(r,t)}var Z8=32;function CD(r,t){let e,n,o=t;e=o.xs,n=o.ys,y.assert(e!=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 ${t}`);let s=bD(\"input\",r.inputNames,e),i=bD(\"output\",r.outputNames,n),a=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(i.length===r.outputs.length,()=>`LayersModel has ${r.outputs.length} outputs, but the dataset provides ${i.length} outputs. (Expected output keys: ${JSON.stringify(r.outputNames)})`);for(let u=0;u`Batch size mismatch: input ${r.inputNames[u]} has ${s[u].shape[0]}; expected ${a} based on input ${r.inputNames[0]}.`);for(let u=0;u`Batch size mismatch: output ${r.outputNames[u]} has ${i[u].shape[0]}; expected ${a} based on input ${r.inputNames[0]}.`);return{xs:s,ys:i}}function bD(r,t,e){if(e instanceof Lt)return[e];if(Array.isArray(e))return y.assert(e.length===t.length,()=>`Received an array of ${e.length} Tensors, but expected ${t.length} to match the ${r} keys ${t}.`),e;{let n=[];for(let o of t){if(e[o]==null)throw new z(`The feature data generated by the dataset lacks the required ${r} key '${o}'.`);n.push(e[o])}return n}}function J8(r){if(r.length===3)throw new Nt(\"Validation with sample weights is not implemented yet.\");return{xs:r[0],ys:r[1]}}async function vD(r,t,e){let n=e.batchesPerEpoch!=null;if(y.assert(r.optimizer!=null,()=>\"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig).\"),y.assert(e!=null,()=>\"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call.\"),y.assert(e.epochs!=null&&e.epochs>0&&Number.isInteger(e.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${e.epochs}`),y.assert(!n||e.batchesPerEpoch>0&&Number.isInteger(e.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${e.batchesPerEpoch}`),y.assert(e.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=e.validationData!=null,s,i;if(o)if(wD(e.validationData))y.assert(e.validationBatches==null||e.validationBatches>0&&Number.isInteger(e.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${e.validationBatches}`);else{let g=J8(e.validationData);s=g.xs,i=g.ys}let a=r.makeTrainFunction(),u=r.getDedupedMetricsNames(),l;o?l=u.slice().concat(u.map(g=>\"val_\"+g)):l=u.slice();let c=Qy(e.callbacks,e.yieldEvery),p=e.verbose==null?1:e.verbose,{callbackList:m,history:f}=tb(c,p,e.epochs,null,null,Q8(t,e),null,o,l);m.setModel(r),r.history=f,await m.onTrainBegin(),r.stopTraining_=!1;let d=e.initialEpoch==null?0:e.initialEpoch,h=await t.iterator();for(;d=e.batchesPerEpoch:w.done){if(o){let C;wD(e.validationData)?C=be(await r.evaluateDataset(e.validationData,{batches:e.validationBatches})):C=be(r.evaluate(s,i,{batchSize:e.validationBatchSize==null?Z8:e.validationBatchSize,verbose:0}));for(let T=0;T0)throw new Nt(\"Verbose mode is not implemented yet.\");y.assert(!n||e.batches>0&&Number.isInteger(e.batches),()=>`Test loop expects \\`batches\\` to be a positive integer, but received ${JSON.stringify(e.batches)}`);let i=tY(t)?t:await t.iterator(),a=0,u=0;for(;!n||u{if(l.value){let{xs:c,ys:p}=CD(r,l.value),m=c.concat(p),f=G(()=>o(m));if(_t(m),u===0)for(let h=0;hJ(s[h],O(d,g))),u>0&&_t(x)}_t(f),a+=d,++u}return s}),l.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, ${e.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let l=0;l0&&Number.isInteger(r),()=>`batchSize is required to be a positive integer, but got ${r}`)}function of(r,t,e){return r==null?[null]:Array.isArray(r)?r.map(n=>el(n,t,e-t)):el(r,t,e-t)}function cb(r,t){return G(()=>r==null?null:Array.isArray(r)?r.map(e=>cb(e,t)):Wy(r,t.dtype===\"int32\"?t:tt(t,\"int32\")))}function pb(r,t){let e=[],n=0,o=null;for(;n=r&&(o=r),e.push([n,o]),n=o;return e}async function eY(r,t,e,n,o,s,i,a,u,l,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(u!=null&&l!=null&&(h=!0),d!=null&&(h=!0,f==null))throw new z(\"Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.\");let g=r.checkNumSamples(e,o,f,\"steps_per_epoch\"),x;g!=null&&(x=jr(0,g)),i==null&&(i=1);let{callbackList:b,history:w}=tb(a,i,s,m,g,f,o,h,p);b.setModel(r),r.history=w,await b.onTrainBegin(),r.stopTraining_=!1;for(let C=m;C{let M=$[D][0],W=$[D][1],H=el(E,M,W-M);P.batch=D,P.size=W-M;let q=cb(e,H),X=t(q);for(let j=0;j0){if(g=!0,n.validationData.length===2)u=n.validationData[0],l=n.validationData[1];else throw n.validationData.length===3?new Nt(\"validationData including sample weights is not supported yet.\"):new z(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);let P=!0,M=await r.standardizeUserData(u,l,null,null,P,f);c=M[0],p=M[1],x=c.concat(p)}else if(n.validationSplit!=null&&n.validationSplit>0&&n.validationSplit<1){g=!0;let P=Math.floor(o[0].shape[0]*(1-n.validationSplit)),M=o[0].shape[0];c=of(o,P,M),i=o,o=of(o,0,P),p=of(s,P,M),a=s,s=of(s,0,P),x=c.concat(p)}else n.validationSteps!=null&&(g=!0);let b=o.concat(s).concat(m);r.checkTrainableWeightsConsistency();let w=r.makeTrainFunction(),C=r.getDedupedMetricsNames(),T,E;g?(r.makeTestFunction(),T=r.testFunction,E=C.slice().concat(C.map(P=>\"val_\"+P))):(T=null,x=[],E=C.slice());let $=Qy(n.callbacks,n.yieldEvery);return await eY(r,w,b,C,f,n.epochs,n.verbose,$,T,x,n.shuffle,E,n.initialEpoch,null,null)}finally{r.isTraining=!1,ko(o,t),ko(s,e),ko(i,t),ko(a,e),ko(c,u),ko(p,l),m!=null&&_t(m)}}function HS(r){let t=[];r instanceof Lt&&(r=[r]);for(let e=0;ee.push(o.id));else if(t!=null)for(let o in t){let s=t[o];e.push(s.id)}let n=[];if(r instanceof Lt)e.indexOf(r.id)===-1&&n.push(r);else if(Array.isArray(r))r.forEach(o=>{e.indexOf(o.id)===-1&&n.push(o)});else if(r!=null)for(let o in r){let s=r[o];e.indexOf(s.id)===-1&&n.push(s)}n.forEach(o=>{o.isDisposed||o.dispose()})}function rY(r){return r instanceof Lt}function qS(r){return Array.isArray(r)}function TD(r){return!rY(r)&&!qS(r)}function ND(r,t,e,n=!0,o=\"\"){if(t==null||t.length===0){if(r!=null){let i=!1;if(qS(r)&&r.length>0)i=!0;else if(TD(r)){for(let a in r)if(r.hasOwnProperty(a)){i=!0;break}}else i=!0;if(i)throw new z(`Error when checking model ${o} expected no data, but got ${r}`)}return[]}if(r==null)return t.map(i=>null);let s;if(TD(r)){r=r,s=[];for(let i of t){if(r[i]==null)throw new z(`No data provided for \"${i}\". Need data for each key in: ${t}`);s.push(r[i])}}else if(qS(r)){if(r=r,r.length!==t.length)throw new z(`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 ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${r}`);s=r}else{if(r=r,t.length>1)throw new z(`The model ${o} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${r.shape}`);s=[r]}if(s=HS(s),e!=null)for(let i=0;i=0&&l!==c)throw new z(`${o} expected a batch of elements where each example has shape [${e[i].slice(1,e[i].length)}] (i.e.,tensor shape [*,${e[i].slice(1,e[i].length)}]) but the ${o} received an input with ${a.shape[0]} examples, each with shape [${a.shape.slice(1,a.shape.length)}] (tensor shape [${a.shape}])`)}}return s}function nY(r,t,e){let n=Io(r.map(s=>s.shape[0]));n.sort();let o=Io(t.map(s=>s.shape[0]));if(o.sort(),n.length>1)throw new z(`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 z(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map(s=>s.shape))}`);if(n.length>0&&o.length>0&&!y.arraysEqual(n,o))throw new z(`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 oY(r,t,e){let n=[Zi,rf,Tc];for(let o=0;o1)throw new z(`The model expects ${t.length} ${o} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(r.shape)}.`);s=[r]}if(e!=null)for(let i=0;i[]);let e;if(typeof r==\"string\"||typeof r==\"function\")e=[r];else if(Array.isArray(r)||typeof r==\"object\")e=r;else throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${r}`);if(Array.isArray(e))return t.map(n=>e);{let n=[];for(let o of t){let s=e.hasOwnProperty(o)?e[o]:[];Array.isArray(s)||(s=[s]),n.push(s)}return n}}var iY=\"layers-model\",Bn=class extends zn{constructor(t){super(t),this.isTraining=!1}summary(t,e,n=console.log){if(!this.built)throw new z(\"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).\");gD(this,t,e,n)}compile(t){if(t.loss==null&&(t.loss=[]),this.loss=t.loss,typeof t.optimizer==\"string\")this.optimizer_=hD(t.optimizer),this.isOptimizerOwned=!0;else{if(!(t.optimizer instanceof Br))throw new z(\"User-defined optimizer must be an instance of tf.Optimizer.\");this.optimizer_=t.optimizer,this.isOptimizerOwned=!1}let e=[];if(!Array.isArray(t.loss)&&typeof t.loss!=\"string\"&&typeof t.loss!=\"function\"){t.loss=t.loss;for(let i in t.loss)if(this.outputNames.indexOf(i)===-1)throw new z(`Unknown entry in loss dictionary: \"${i}\". Only expected the following keys: ${this.outputNames}`);for(let i of this.outputNames)t.loss[i]==null&&console.warn(`Output \"${i}\" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${i} during training`),e.push(eb(t.loss[i]))}else if(Array.isArray(t.loss)){if(t.loss.length!==this.outputs.length)throw new z(`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=${t.loss}.`);e=t.loss.map(a=>eb(a))}else{let i=eb(t.loss);this.outputs.forEach(a=>{e.push(i)})}this.lossFunctions=e,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let i=0;i{for(let i=0;i1&&(this.metricsTensors.push([a,i]),this.metricsNames.push(this.outputNames[i]+\"_loss\"))}});let o=sY(t.metrics,this.outputNames),s=(i,a,u)=>{this.outputNames.length>1&&(a=this.outputNames[i]+\"_\"+a),this.metricsNames.push(a),this.metricsTensors.push([u,i])};Ys(\"metric\",()=>{for(let i=0;i{let c=\"\",p,m,f;for(let d of l){if(typeof d==\"string\"&&[\"accuracy\",\"acc\",\"crossentropy\",\"ce\"].indexOf(d)!==-1){let g=this.internalOutputShapes[i];g[g.length-1]===1||this.lossFunctions[i]===rf?[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=Oh:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=nb):this.lossFunctions[i]===ef?[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=ob:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=GS):[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=Ph:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=Lh);let x;[\"accuracy\",\"acc\"].indexOf(d)!==-1?x=\"acc\":[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(x=\"ce\"),f=m,p=c+x}else f=fD(d),p=c+Mh(d);let h;Ys(p,()=>{h=f}),s(i,p,h)}})(a)}}),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(t,e,n={}){let o=n.batchSize==null?32:n.batchSize;ub(o);let s=!0,i=this.standardizeUserDataXY(t,e,s,o);try{let a=i[0].concat(i[1]);this.makeTestFunction();let u=this.testFunction,l=this.testLoop(u,a,o,n.verbose,n.steps);return Nr(l)}finally{ko(i[0],t),ko(i[1],e)}}async evaluateDataset(t,e){return this.makeTestFunction(),ID(this,t,e)}checkNumSamples(t,e,n,o=\"steps\"){let s;if(n!=null){if(s=null,e!=null)throw new z(`If ${o} is set, batchSize must be null or undefined.Got batchSize = ${e}`)}else if(t!=null)Array.isArray(t)?s=t[0].shape[0]:s=t.shape[0];else throw new z(`Either the input data should have a defined shape, or ${o} shoud be specified.`);return s}execute(t,e){if(Array.isArray(e)&&e.length===0)throw new z(\"`outputs` is an empty Array, which is not allowed.\");let n=Array.isArray(e),o=n?e:[e],s=this.retrieveSymbolicTensors(o),i=new No;if(t instanceof Lt&&(t=[t]),Array.isArray(t)){if(t.length!==this.inputs.length)throw new z(`The number of inputs provided (${t.length}) does not match the number of inputs of this model (${this.inputs.length}).`);for(let u=0;ua.name);for(let a=0;a0){let o=[];throw e.forEach((s,i)=>{s==null&&o.push(t[i])}),new z(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(o)}`)}return e}predictLoop(t,e=32,n=!1){return G(()=>{let o=this.checkNumSamples(t);if(n)throw new Nt(\"Verbose predictLoop() is not implemented yet.\");let s=pb(o,e),i=this.outputs.map(a=>[]);for(let a=0;a{let l=s[a][0],c=s[a][1],p=of(t,l,c),m=[];if(Array.isArray(p))for(let d=0;di[c].push(l));return Nr(i.map(a=>se(a,0)))})}predict(t,e={}){let n=HS(t);kD(n,this.inputNames,this.feedInputShapes,!1);try{let o=e.batchSize==null?32:e.batchSize;return ub(o),this.predictLoop(n,o)}finally{ko(n,t)}}predictOnBatch(t){kD(t,this.inputNames,this.feedInputShapes,!0);let e=(Array.isArray(t)?t[0]:t).shape[0];return this.predictLoop(t,e)}standardizeUserDataXY(t,e,n=!0,o){if(this.optimizer_==null)throw new Gr(\"You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).\");let s=[];for(let i=0;i0&&t[0].shape[0]%o!==0)throw new z(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${o}. Found: ${t[0].shape[0]} sample(s).`);return[t,e]}async standardizeUserData(t,e,n,o,s=!0,i){let[a,u]=this.standardizeUserDataXY(t,e,s,i);if(n!=null)throw new Error(\"sample weight is not supported yet.\");let l=null;if(o!=null){let c=ab(o,this.outputNames);l=[];for(let p=0;p{let i=this.checkNumSamples(e,n,s,\"steps\"),a=[];if(o>0)throw new Nt(\"Verbose mode is not implemented yet.\");if(s!=null)throw new Nt(\"steps mode in testLoop() is not implemented yet\");{let u=pb(i,n),l=Ve(jr(0,i));for(let c=0;c1&&(s+=`_${DS(t.slice(0,n),o)}`),e.push(s)}return e}makeTrainFunction(){return t=>{let e=[],n=t.slice(0,this.inputs.length),o=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=t.slice(this.inputs.length+this.outputs.length,this.inputs.length+this.outputs.length*2),i=[],a=()=>{let p=[];for(let h=0;h1&&h{d=J(d,h)}),d},u=this.collectedTrainableWeights.map(p=>p.read()),l=!0;return[this.optimizer_.minimize(a,l,u)].concat(i)}}makeTestFunction(){this.testFunction=t=>G(()=>{let e=[],n,o=t.slice(0,this.inputs.length),s=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),i=[];for(let l=0;lvo(e))}else{let e=Object.keys(this.loss);t={};let n=this.loss;for(let o of e)if(typeof n[o]==\"string\")t[o]=vo(n[o]);else throw new Error(\"Serialization of non-string loss is not supported.\")}return t}getMetricIdentifiers(){if(typeof this.metrics==\"string\"||typeof this.metrics==\"function\")return[vo(Mh(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(t=>vo(Mh(t)));{let t={};for(let e in this.metrics)t[e]=vo(Mh(this.metrics[e]));return t}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(t){if(t.weighted_metrics!=null)throw new Error(\"Loading weight_metrics is not supported yet.\");if(t.loss_weights!=null)throw new Error(\"Loading loss_weights is not supported yet.\");if(t.sample_weight_mode!=null)throw new Error(\"Loading sample_weight_mode is not supported yet.\");let e=Nc(t.optimizer_config),n=xn(e),o;if(typeof t.loss==\"string\")o=tl(t.loss);else if(Array.isArray(t.loss))o=t.loss.map(i=>tl(i));else if(t.loss!=null){o={};for(let i in t.loss)o[i]=tl(t.loss[i])}let s;if(Array.isArray(t.metrics))s=t.metrics.map(i=>tl(i));else if(t.metrics!=null){s={};for(let i in t.metrics)s[i]=tl(t.metrics[i])}this.compile({loss:o,metrics:s,optimizer:n})}async save(t,e){if(typeof t==\"string\"){let l=vn.getSaveHandlers(t);if(l.length===0)throw new z(`Cannot find any save handlers for URL '${t}'`);if(l.length>1)throw new z(`Found more than one (${l.length}) save handlers for URL '${t}'`);t=l[0]}if(t.save==null)throw new z(\"LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");let n=await vn.encodeWeights(this.getNamedWeights(e)),o=!1,s=null,a={modelTopology:this.toJSON(s,o),format:iY,generatedBy:`TensorFlow.js tfjs-layers v${nf}`,convertedBy:null};if((e==null?!1:e.includeOptimizer)&&this.optimizer!=null){a.trainingConfig=this.getTrainingConfig();let l=\"optimizer\",{data:c,specs:p}=await vn.encodeWeights(await this.optimizer.getWeights(),l);n.specs.push(...p),n.data=vn.concatenateArrayBuffers([n.data,c])}return this.userDefinedMetadata!=null&&(US(this.userDefinedMetadata,this.name,!0),a.userDefinedMetadata=this.userDefinedMetadata),a.weightData=n.data,a.weightSpecs=n.specs,t.save(a)}setUserDefinedMetadata(t){US(t,this.name),this.userDefinedMetadata=t}getUserDefinedMetadata(){return this.userDefinedMetadata}};Bn.className=\"Model\";rt.registerClass(Bn);var mb=class extends Bn{};mb.className=\"Functional\";rt.registerClass(mb);async function _D(r,t){\"modelTopology\"in r||(r={modelTopology:r}),r=r;let e=r.modelTopology;e.model_config!=null&&(e=e.model_config);let n=Nc(e),o=xn(n,t);if(r.weightsManifest!=null){let s=await vn.loadWeights(r.weightsManifest,r.pathPrefix,o.weights.map(a=>a.originalName)),i={};for(let a of o.weights)i[a.originalName]=s[a.originalName];o.loadWeights(i),_t(s)}return o}async function ED(r,t){if(t==null&&(t={}),typeof r==\"string\"){let e=vn.getLoadHandlers(r,t);if(e.length===0)e.push(vn.browserHTTPRequest(r,t));else if(e.length>1)throw new z(`Found more than one (${e.length}) load handlers for URL '${r}'`);r=e[0]}return aY(r,void 0,t)}async function aY(r,t,e){if(e==null&&(e={}),r.load==null)throw new z(\"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=e.strict==null?!0:e.strict,i=n.weightData!=null&&n.weightSpecs!=null&&s,a=xn(Nc(o),t,i),u=n.trainingConfig;if(u!=null&&a.loadTrainingConfig(u),n.userDefinedMetadata!=null&&a.setUserDefinedMetadata(n.userDefinedMetadata),n.weightData!=null){if(n.weightSpecs==null)throw new z(\"LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.\");let{modelWeights:l,optimizerWeights:c}=lY(n.weightData,n.weightSpecs);a.loadWeights(l,s),a.optimizer!=null&&c.length>0&&await a.optimizer.setWeights(c),_t(l),_t(c.map(p=>p.tensor))}return a}function lY(r,t){let e=vn.decodeWeights(r,t),n={},o=[];return t.forEach(s=>{s.group===\"optimizer\"?o.push({name:s.name,tensor:e[s.name]}):n[s.name]=e[s.name]}),{modelWeights:n,optimizerWeights:o}}var Ji=class extends Bn{constructor(t){if(super({inputs:[],outputs:[]}),t=t||{},this.trainable=!0,this.built=!1,this.name=t.name!=null?t.name:gu(\"sequential_\"),t.layers!=null)for(let e of t.layers)this.add(e)}checkShape(t){if(t.inboundNodes[0].outputTensors[0].shape.some(n=>n<0))throw new z(`Negative dimension size caused by adding layer ${t.name} with input shape [${t.inboundNodes[0].inputTensors[0].shape}]`)}add(t){let e=t instanceof Ji||t instanceof Bn,n;if(e){if(n=t,n.outputs.length!==1)throw new z(\"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 z(\"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(t.inboundNodes.length===0){if(t.batchInputShape==null)throw new z(\"The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.\");let o=qy({batchShape:t.batchInputShape,dtype:t.dtype,name:t.name+\"_input\"});t.apply(o)}if(e)this.outputs=n.outputs,this.inputs=n.inputs;else{if(t.inboundNodes.length!==1)throw new z(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${t.name} which has ${t.inboundNodes.length} pre-existing inbound connections.`);if(t.inboundNodes[0].outputTensors.length!==1)throw new z(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");this.checkShape(t),this.outputs=[t.inboundNodes[0].outputTensors[0]],this.inputs=MS(this.outputs[0])}this.inboundNodes=[],new nl({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:Co(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(o=>o.shape),outputShapes:this.outputs[0].shape})}else{let o=t.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(t),this.outputs=[o],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(t),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 t=this.layers.length-1;this.layers[t].outboundNodes=[],this.outputs=[this.layers[t].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(t,e){return this.model==null&&this.build(),this.model.call(t,e)}build(t){if(te(t),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 Bn({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(t,e,n=console.log){this.built||this.build(),super.summary(t,e,n)}setWeights(t){this.model==null&&this.build(),this.model.setWeights(t)}evaluate(t,e,n={}){if(!this.built)throw new Gr(\"The model needs to be compiled before being used.\");return this.model.evaluate(t,e,n)}async evaluateDataset(t,e){if(!this.built)throw new Gr(\"The model needs to be compiled before being used.\");return this.model.evaluateDataset(t,e)}predict(t,e={}){return this.model==null&&this.build(),this.model.predict(t,e)}predictOnBatch(t){return this.model==null&&this.build(),this.model.predictOnBatch(t)}compile(t){this.build(),this.model.compile(t),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(t){this.model.optimizer=t}async fit(t,e,n={}){if(!this.built)throw new Gr(\"The model needs to be compiled before being used.\");return this.model.fit(t,e,n)}async fitDataset(t,e){if(!this.built)throw new Gr(\"The model needs to be compiled before being used.\");return this.model.fitDataset(t,e)}async trainOnBatch(t,e){return this.model.trainOnBatch(t,e)}static fromConfig(t,e,n={},o=!1){let s,i={};if(e instanceof Array){if(e[0].className==null||e[0].className===\"Merge\")throw new z(\"Legacy serialization format not supported yet.\");s=e}else y.assert(e.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=e.layers,delete e.layers,i=e;let a=new t(i);if(!(a instanceof Ji))throw new Nt(`Sequential.fromConfig called on non-Sequential input: ${a}`);for(let u of s){let c=xn(u,void 0,o);o&&c.setFastWeightInitDuringBuild(!0),a.add(c)}return a}set stopTraining(t){if(this.model==null)throw new z(\"Cannot set the stopTraining property of a sequential model before it is compiled.\");this.model.stopTraining=t}get stopTraining(){if(this.model==null)throw new z(\"Cannot get the stopTraining property of a sequential model before it is compiled.\");return this.model.stopTraining}getConfig(){let t=[];for(let e of this.layers){let n={};n.className=e.getClassName(),n.config=e.getConfig(),t.push(n)}return{name:this.name,layers:t}}};Ji.className=\"Sequential\";rt.registerClass(Ji);function uY(r){return new Bn(r)}function cY(r){return new Ji(r)}function pY(r,t){return t==null&&(t={}),ED(r,t)}function KS(r){return qy(r)}function mY(r,t){gn.registerCallbackConstructor(r,t)}var Yr=class extends rt.Serializable{getConfig(){return{}}},fb=class extends Yr{apply(t,e=1){return j$(t,e)}};fb.className=\"elu\";rt.registerClass(fb);var db=class extends Yr{apply(t){return Sm(t)}};db.className=\"selu\";rt.registerClass(db);var hb=class extends Yr{apply(t){return Rr(t)}};hb.className=\"relu\";rt.registerClass(hb);var gb=class extends Yr{apply(t){return G(()=>Ui(6,Rr(t)))}};gb.className=\"relu6\";rt.registerClass(gb);var xb=class extends Yr{apply(t){return t}};xb.className=\"linear\";rt.registerClass(xb);var yb=class extends Yr{apply(t){return Kr(t)}};yb.className=\"sigmoid\";rt.registerClass(yb);var bb=class extends Yr{apply(t){return Y$(t)}};bb.className=\"hardSigmoid\";rt.registerClass(bb);var wb=class extends Yr{apply(t){return Hs(t)}};wb.className=\"softplus\";rt.registerClass(wb);var Cb=class extends Yr{apply(t){return X$(t)}};Cb.className=\"softsign\";rt.registerClass(Cb);var vb=class extends Yr{apply(t){return Pi(t)}};vb.className=\"tanh\";rt.registerClass(vb);var sf=class extends Yr{apply(t,e=-1){return su(t,e)}};sf.className=\"softmax\";rt.registerClass(sf);var Ib=class extends Yr{apply(t,e=-1){return ym(t,e)}};Ib.className=\"logSoftmax\";rt.registerClass(Ib);var Sb=class extends Yr{apply(t,e=1){return G(()=>O(Kr(O(t,e)),t))}};Sb.className=\"swish\";rt.registerClass(Sb);var Tb=class extends Yr{apply(t){return G(()=>O(t,Pi(Hs(t))))}};Tb.className=\"mish\";rt.registerClass(Tb);function Qs(r){return r.getClassName()}function jS(r,t={}){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"activation\")}function ti(r){if(r==null){let t={};return t.className=\"linear\",t.config={},jS(t)}if(typeof r==\"string\"){let t={};return t.className=r,t.config={},jS(t)}else return r instanceof Yr?r:jS(r)}function XS(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 Nb=class extends rt.Serializable{},wu=class extends Nb{constructor(t){super(),XS(t),this.l1=t==null||t.l1==null?.01:t.l1,this.l2=t==null||t.l2==null?.01:t.l2,this.hasL1=this.l1!==0,this.hasL2=this.l2!==0}apply(t){return G(()=>{let e=_e([1]);return this.hasL1&&(e=J(e,ft(O(this.l1,$e(t))))),this.hasL2&&(e=J(e,ft(O(this.l2,gc(t))))),F(e,[])})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(t,e){return new t({l1:e.l1,l2:e.l2})}};wu.className=\"L1L2\";rt.registerClass(wu);function DD(r){return XS(r),new wu({l1:r!=null?r.l1:null,l2:0})}function RD(r){return XS(r),new wu({l2:r!=null?r.l2:null,l1:0})}var AD={l1l2:\"L1L2\"};function de(r){return Pm(r)}function $D(r,t={}){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"regularizer\")}function Ce(r){if(r==null)return null;if(typeof r==\"string\"){let e={className:r in AD?AD[r]:r,config:{}};return $D(e)}else return r instanceof Nb?r:$D(r)}var af=class extends Bt{constructor(t){super(t==null?{}:t),this.supportsMasking=!0,t!=null&&(this.maxValue=t.maxValue)}call(t,e){t=Pt(t);let n=Rr(t);return this.maxValue!=null&&(n=Ir(n,0,this.maxValue)),n}computeOutputShape(t){return t}getConfig(){let t={maxValue:this.maxValue},e=super.getConfig();return Object.assign(t,e),t}};af.className=\"ReLU\";rt.registerClass(af);var lf=class extends Bt{constructor(t){super(t==null?{}:t),this.DEFAULT_ALPHA=.3,t==null&&(t={}),this.alpha=t.alpha==null?this.DEFAULT_ALPHA:t.alpha}call(t,e){let n=Pt(t);return Jl(n,this.alpha)}computeOutputShape(t){return t}getConfig(){let t={alpha:this.alpha},e=super.getConfig();return Object.assign(t,e),t}};lf.className=\"LeakyReLU\";rt.registerClass(lf);var uf=class extends Bt{constructor(t){if(super(t==null?{}:t),this.DEFAULT_ALPHA_INITIALIZER=\"zeros\",t==null&&(t={}),this.supportsMasking=!0,this.alphaInitializer=ge(t.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=Ce(t.alphaRegularizer),this.alphaConstraint=We(t.alphaConstraint),t.sharedAxes==null)this.sharedAxes=null;else if(Array.isArray(t.sharedAxes))this.sharedAxes=t.sharedAxes;else if(typeof t.sharedAxes==\"number\")this.sharedAxes=[t.sharedAxes];else throw new z(`Expected sharedAxes to be a number or an array of numbers, but got ${t.sharedAxes}`)}build(t){t=te(t);let e=t.slice(1);if(this.sharedAxes!=null)for(let o of this.sharedAxes)e[o-1]=1;this.alpha=this.addWeight(\"alpha\",e,\"float32\",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);let n={};if(this.sharedAxes!=null)for(let o=1;o(Pe(t),t===\"channelsFirst\"?Mt(r,[0,2,3,1]):r))}function YS(r,t){return G(()=>(Pe(t),t===\"channelsFirst\"?Mt(r,[0,2,3,4,1]):r))}function dY(r,t,e,n=1,o=\"valid\",s,i=1){return G(()=>{if(s==null&&(s=mn()),Pe(s),r.shape.length!==3)throw new z(`The input of a conv1dWithBias operation should be 3, but is ${r.shape.length} instead.`);if(t.shape.length!==3)throw new z(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(e!=null&&e.shape.length!==1)throw new z(`The bias for a conv1dWithBias operation should be 1, but is ${t.shape.length} instead`);if(s===\"channelsFirst\"&&(r=Mt(r,[0,2,1])),o===\"causal\")throw new Nt(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");let a=mm(r,t,n,o===\"same\"?\"same\":\"valid\",\"NWC\",i);return e!=null&&(a=fn(a,e)),a})}function FD(r,t,e,n=[1,1],o=\"valid\",s,i,a=null){return G(()=>{if(s==null&&(s=mn()),Pe(s),r.rank!==3&&r.rank!==4)throw new z(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${r.rank}.`);if(t.rank!==3&&t.rank!==4)throw new z(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${r.rank}.`);let u=zh(r,s);if(o===\"causal\")throw new Nt(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");return u=lu.conv2d({x:u,filter:t,strides:n,pad:o===\"same\"?\"same\":\"valid\",dilations:i,dataFormat:\"NHWC\",bias:e,activation:a}),s===\"channelsFirst\"&&(u=Mt(u,[0,3,1,2])),u})}function hY(r,t,e,n=[1,1,1],o=\"valid\",s,i){return G(()=>{if(s==null&&(s=mn()),Pe(s),r.rank!==4&&r.rank!==5)throw new z(`conv3dWithBias expects input to be of rank 4 or 5, but received ${r.rank}.`);if(t.rank!==4&&t.rank!==5)throw new z(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${r.rank}.`);let a=YS(r,s);if(o===\"causal\")throw new Nt(\"The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.\");return a=Bx(a,t,n,o===\"same\"?\"same\":\"valid\",\"NDHWC\",i),e!=null&&(a=fn(a,e)),s===\"channelsFirst\"&&(a=Mt(a,[0,4,1,2,3])),a})}var kc=class extends Bt{constructor(t,e){if(super(e),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",kc.verifyArgs(e),this.rank=t,Je(this.rank,\"rank\"),this.rank!==1&&this.rank!==2&&this.rank!==3)throw new Nt(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=Cu(e.kernelSize,t,\"kernelSize\"),this.strides=Cu(e.strides==null?1:e.strides,t,\"strides\"),this.padding=e.padding==null?\"valid\":e.padding,pn(this.padding),this.dataFormat=e.dataFormat==null?\"channelsLast\":e.dataFormat,Pe(this.dataFormat),this.activation=ti(e.activation),this.useBias=e.useBias==null?!0:e.useBias,this.biasInitializer=ge(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=We(e.biasConstraint),this.biasRegularizer=Ce(e.biasRegularizer),this.activityRegularizer=Ce(e.activityRegularizer),this.dilationRate=Cu(e.dilationRate==null?1:e.dilationRate,t,\"dilationRate\"),this.rank===1&&Array.isArray(this.dilationRate)&&this.dilationRate.length!==1)throw new z(`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 z(`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 z(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}}static verifyArgs(t){if(to(\"kernelSize\"in t,\"required key 'kernelSize' not in config\"),typeof t.kernelSize!=\"number\"&&!Oy(t.kernelSize,\"number\",1,3))throw new z(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(t.kernelSize)}.`)}getConfig(){let t={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:Qs(this.activation),useBias:this.useBias,biasInitializer:Ee(this.biasInitializer),biasRegularizer:de(this.biasRegularizer),activityRegularizer:de(this.activityRegularizer),biasConstraint:Ge(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}},vu=class extends kc{constructor(t,e){super(t,e),this.kernel=null,vu.verifyArgs(e),this.filters=e.filters,Je(this.filters,\"filters\"),this.kernelInitializer=ge(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=We(e.kernelConstraint),this.kernelRegularizer=Ce(e.kernelRegularizer)}build(t){t=te(t);let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(`The channel dimension of the input should be defined. Found ${t[e]}`);let n=t[e],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:{[e]:n}}],this.built=!0}call(t,e){return G(()=>{t=Pt(t);let n,o=this.bias==null?null:this.bias.read(),s=Py(this.activation.getClassName());if(s!=null&&this.rank===2)n=FD(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate,s);else{if(this.rank===1)n=dY(t,this.kernel.read(),o,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(this.rank===2)n=FD(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else if(this.rank===3)n=hY(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else throw new Nt(\"convolutions greater than 3D are not implemented yet.\");this.activation!=null&&(n=this.activation.apply(n))}return n})}computeOutputShape(t){t=te(t);let e=[],n=this.dataFormat===\"channelsLast\"?t.slice(1,t.length-1):t.slice(2);for(let s=0;s 0 but got ${JSON.stringify(t.filters)}`)}},sl=class extends vu{constructor(t){super(2,t),sl.verifyArgs(t)}getConfig(){let t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!Oy(t.kernelSize,\"number\",1,2))throw new z(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(t.kernelSize)}.`)}};sl.className=\"Conv2D\";rt.registerClass(sl);var il=class extends vu{constructor(t){super(3,t),il.verifyArgs(t)}getConfig(){let t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!(Array.isArray(t.kernelSize)&&(t.kernelSize.length===1||t.kernelSize.length===3)))throw new z(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(t.kernelSize)}.`)}};il.className=\"Conv3D\";rt.registerClass(il);var ff=class extends sl{constructor(t){if(super(t),this.inputSpec=[new we({ndim:4})],this.padding!==\"same\"&&this.padding!==\"valid\")throw new z(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(t=te(t),t.length!==4)throw new z(\"Input should have rank 4; Received input shape: \"+JSON.stringify(t));let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(\"The channel dimension of the inputs should be defined. Found `None`.\");let n=t[e],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 we({ndim:4,axes:{[e]:n}})],this.built=!0}call(t,e){return G(()=>{let n=Pt(t);if(n.shape.length!==4)throw new z(`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],i,a;this.dataFormat===\"channelsFirst\"?(i=2,a=3):(i=1,a=2);let u=o[i],l=o[a],c=this.kernelSize[0],p=this.kernelSize[1],m=this.strides[0],f=this.strides[1],d=ei(u,m,c,this.padding),h=ei(l,f,p,this.padding),g=[s,d,h,this.filters];this.dataFormat!==\"channelsLast\"&&(n=Mt(n,[0,2,3,1]));let x=dm(n,this.kernel.read(),g,this.strides,this.padding);return this.dataFormat!==\"channelsLast\"&&(x=Mt(x,[0,3,1,2])),this.bias!=null&&(x=fn(x,this.bias.read(),this.dataFormat)),this.activation!=null&&(x=this.activation.apply(x)),x})}computeOutputShape(t){t=te(t);let e=t.slice(),n,o,s;this.dataFormat===\"channelsFirst\"?(n=1,o=2,s=3):(n=3,o=1,s=2);let i=this.kernelSize[0],a=this.kernelSize[1],u=this.strides[0],l=this.strides[1];return e[n]=this.filters,e[o]=ei(e[o],u,i,this.padding),e[s]=ei(e[s],l,a,this.padding),e}getConfig(){let t=super.getConfig();return delete t.dilationRate,t}};ff.className=\"Conv2DTranspose\";rt.registerClass(ff);var df=class extends il{constructor(t){if(super(t),this.inputSpec=[new we({ndim:5})],this.padding!==\"same\"&&this.padding!==\"valid\")throw new z(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(t=te(t),t.length!==5)throw new z(\"Input should have rank 5; Received input shape: \"+JSON.stringify(t));let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(\"The channel dimension of the inputs should be defined. Found `None`.\");let n=t[e],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 we({ndim:5,axes:{[e]:n}})],this.built=!0}call(t,e){return G(()=>{let n=Pt(t);if(n.shape.length!==5)throw new z(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${n.shape.length}`);let o=n.shape,s=o[0],i,a,u;this.dataFormat===\"channelsFirst\"?(u=2,i=3,a=4):(u=1,i=2,a=3);let l=o[u],c=o[i],p=o[a],m=this.kernelSize[0],f=this.kernelSize[1],d=this.kernelSize[2],h=this.strides[0],g=this.strides[1],x=this.strides[2],b=ei(l,h,m,this.padding),w=ei(c,g,f,this.padding),C=ei(p,x,d,this.padding),T=[s,b,w,C,this.filters];this.dataFormat!==\"channelsLast\"&&(n=Mt(n,[0,2,3,4,1]));let E=Gx(n,this.kernel.read(),T,this.strides,this.padding);return this.dataFormat!==\"channelsLast\"&&(E=Mt(E,[0,4,1,2,3])),this.bias!==null&&(E=fn(E,this.bias.read(),this.dataFormat)),this.activation!==null&&(E=this.activation.apply(E)),E})}computeOutputShape(t){t=te(t);let e=t.slice(),n,o,s,i;this.dataFormat===\"channelsFirst\"?(n=1,o=2,s=3,i=4):(n=4,o=1,s=2,i=3);let a=this.kernelSize[0],u=this.kernelSize[1],l=this.kernelSize[2],c=this.strides[0],p=this.strides[1],m=this.strides[2];return e[n]=this.filters,e[o]=ei(e[o],c,a,this.padding),e[s]=ei(e[s],p,u,this.padding),e[i]=ei(e[i],m,l,this.padding),e}getConfig(){let t=super.getConfig();return delete t.dilationRate,t}};df.className=\"Conv3DTranspose\";rt.registerClass(df);var kb=class extends vu{constructor(t,e){if(super(t,e),this.DEFAULT_DEPTHWISE_INITIALIZER=\"glorotUniform\",this.DEFAULT_POINTWISE_INITIALIZER=\"glorotUniform\",this.depthwiseKernel=null,this.pointwiseKernel=null,e.filters==null)throw new z(\"The `filters` configuration field is required by SeparableConv, but is unspecified.\");if(e.kernelInitializer!=null||e.kernelRegularizer!=null||e.kernelConstraint!=null)throw new z(\"Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.\");if(e.padding!=null&&e.padding!==\"same\"&&e.padding!==\"valid\")throw new z(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(e.padding)}`);this.depthMultiplier=e.depthMultiplier==null?1:e.depthMultiplier,this.depthwiseInitializer=ge(e.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=Ce(e.depthwiseRegularizer),this.depthwiseConstraint=We(e.depthwiseConstraint),this.pointwiseInitializer=ge(e.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=Ce(e.pointwiseRegularizer),this.pointwiseConstraint=We(e.pointwiseConstraint)}build(t){if(t=te(t),t.length{t=Pt(t);let n;if(this.rank===1)throw new Nt(\"1D separable convolution is not implemented yet.\");return this.rank===2&&(this.dataFormat===\"channelsFirst\"&&(t=Mt(t,[0,2,3,1])),n=Tm(t,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,\"NHWC\")),this.useBias&&(n=fn(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),this.dataFormat===\"channelsFirst\"&&(n=Mt(n,[0,3,1,2])),n})}getConfig(){let t=super.getConfig();return delete t.rank,delete t.kernelInitializer,delete t.kernelRegularizer,delete t.kernelConstraint,t.depthwiseInitializer=Ee(this.depthwiseInitializer),t.pointwiseInitializer=Ee(this.pointwiseInitializer),t.depthwiseRegularizer=de(this.depthwiseRegularizer),t.pointwiseRegularizer=de(this.pointwiseRegularizer),t.depthwiseConstraint=Ge(this.depthwiseConstraint),t.pointwiseConstraint=Ge(this.pointwiseConstraint),t}};kb.className=\"SeparableConv\";var hf=class extends kb{constructor(t){super(2,t)}};hf.className=\"SeparableConv2D\";rt.registerClass(hf);var Iu=class extends vu{constructor(t){super(1,t),Iu.verifyArgs(t),this.inputSpec=[{ndim:3}]}getConfig(){let t=super.getConfig();return delete t.rank,delete t.dataFormat,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!Oy(t.kernelSize,\"number\",1,1))throw new z(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(t.kernelSize)}.`)}};Iu.className=\"Conv1D\";rt.registerClass(Iu);var gf=class extends Bt{constructor(t){super(t),typeof t.cropping==\"number\"?this.cropping=[[t.cropping,t.cropping],[t.cropping,t.cropping]]:typeof t.cropping[0]==\"number\"?this.cropping=[[t.cropping[0],t.cropping[0]],[t.cropping[1],t.cropping[1]]]:this.cropping=t.cropping,this.dataFormat=t.dataFormat===void 0?\"channelsLast\":t.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(t){return this.dataFormat===\"channelsFirst\"?[t[0],t[1],t[2]-this.cropping[0][0]-this.cropping[0][1],t[3]-this.cropping[1][0]-this.cropping[1][1]]:[t[0],t[1]-this.cropping[0][0]-this.cropping[0][1],t[2]-this.cropping[1][0]-this.cropping[1][1],t[3]]}call(t,e){return G(()=>{if(t=Pt(t),this.dataFormat===\"channelsLast\"){let n=Eh(t,this.cropping[0][0],t.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return Eh(n,this.cropping[1][0],t.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}else{let n=Eh(t,this.cropping[0][0],t.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return Eh(n,this.cropping[1][0],t.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){let t={cropping:this.cropping,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}};gf.className=\"Cropping2D\";rt.registerClass(gf);var xf=class extends Bt{constructor(t){super(t),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=t.size==null?this.DEFAULT_SIZE:t.size,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Pe(this.dataFormat),this.interpolation=t.interpolation==null?\"nearest\":t.interpolation,G$(this.interpolation)}computeOutputShape(t){if(this.dataFormat===\"channelsFirst\"){let e=t[2]==null?null:this.size[0]*t[2],n=t[3]==null?null:this.size[1]*t[3];return[t[0],t[1],e,n]}else{let e=t[1]==null?null:this.size[0]*t[1],n=t[2]==null?null:this.size[1]*t[2];return[t[0],e,n,t[3]]}}call(t,e){return G(()=>{let n=Pt(t),o=n.shape;if(this.dataFormat===\"channelsFirst\"){n=Mt(n,[0,2,3,1]);let s=this.size[0]*o[2],i=this.size[1]*o[3],a=this.interpolation===\"nearest\"?uu.resizeNearestNeighbor(n,[s,i]):uu.resizeBilinear(n,[s,i]);return Mt(a,[0,3,1,2])}else{let s=this.size[0]*o[1],i=this.size[1]*o[2];return this.interpolation===\"nearest\"?uu.resizeNearestNeighbor(n,[s,i]):uu.resizeBilinear(n,[s,i])}})}getConfig(){let t={size:this.size,dataFormat:this.dataFormat,interpolation:this.interpolation},e=super.getConfig();return Object.assign(t,e),t}};xf.className=\"UpSampling2D\";rt.registerClass(xf);function gY(r,t,e=[1,1],n=\"valid\",o,s){return G(()=>{o==null&&(o=mn()),Pe(o);let i=zh(r,o);if(r.rank!==4)throw new z(`Input for depthwiseConv2d is required to be 4-D, but is instead ${r.rank}-D`);if(t.rank!==4)throw new z(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return i=zi(i,t,e,n===\"same\"?\"same\":\"valid\",\"NHWC\",s),o===\"channelsFirst\"&&(i=Mt(i,[0,3,1,2])),i})}var yf=class extends kc{constructor(t){super(2,t),this.depthwiseKernel=null,this.depthMultiplier=t.depthMultiplier==null?1:t.depthMultiplier,this.depthwiseInitializer=ge(t.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=We(t.depthwiseConstraint),this.depthwiseRegularizer=Ce(t.depthwiseRegularizer)}build(t){if(t=te(t),t.length<4)throw new z(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(t)}.`);let e=this.dataFormat===\"channelsFirst\"?1:3;if(t[e]==null||t[e]<0)throw new z(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${t[e]}).`);let n=t[e],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(t,e){return G(()=>{t=Pt(t);let n=gY(t,this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(n=fn(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),n})}computeOutputShape(t){t=te(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2],o=this.dataFormat===\"channelsFirst\"?t[1]*this.depthMultiplier:t[3]*this.depthMultiplier,s=kn(e,this.kernelSize[0],this.padding,this.strides[0]),i=kn(n,this.kernelSize[1],this.padding,this.strides[1]);return this.dataFormat===\"channelsFirst\"?[t[0],o,s,i]:[t[0],s,i,o]}getConfig(){let t=super.getConfig();return t.depthMultiplier=this.depthMultiplier,t.depthwiseInitializer=Ee(this.depthwiseInitializer),t.depthwiseRegularizer=de(this.depthwiseRegularizer),t.depthwiseConstraint=Ge(this.depthwiseRegularizer),t}};yf.className=\"DepthwiseConv2D\";rt.registerClass(yf);function ZS(r,t,e,n){if(Array.isArray(r)){if(t!=null||e!=null)throw new z(\"When inputs is an array, neither initialState or constants should be provided\");n!=null&&(e=r.slice(r.length-n,r.length),r=r.slice(0,r.length-n)),r.length>1&&(t=r.slice(1,r.length)),r=r[0]}function o(s){return s==null||Array.isArray(s)?s:[s]}return t=o(t),e=o(e),{inputs:r,initialState:t,constants:e}}function JS(r,t,e,n=!1,o,s,i=!1,a=!1){return G(()=>{let u=t.shape.length;if(u<3)throw new z(`Input should be at least 3D, but is ${u}D.`);let l=[1,0].concat(jr(2,u));if(t=Mt(t,l),s!=null)throw new Nt(\"The rnn() functoin of the deeplearn.js backend does not support constants yet.\");i&&console.warn(\"Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend.\"),o!=null&&(o=tt(tt(o,\"bool\"),\"float32\"),o.rank===u-1&&(o=yr(o,-1)),o=Mt(o,l)),n&&(t=pr(t,0),o!=null&&(o=pr(o,0)));let c=[],p,m=e,f=t.shape[0],d=Tr(t),h;o!=null&&(h=Tr(o));for(let x=0;xr(b,m));if(o==null)p=w[0],m=w[1];else{let C=G(()=>{let T=h[x],E=ut(br(T),T),$=J(O(w[0],T),O(m[0],E)),D=m.map((P,M)=>J(O(w[1][M],T),O(P,E)));return{output:$,newStates:D}});p=C.output,m=C.newStates}a&&c.push(p)}let g;return a&&(g=sr(c,1)),[p,g,m]})}var _n=class extends Bt{constructor(t){super(t);let e;if(t.cell==null)throw new z(\"cell property is missing for the constructor of RNN.\");if(Array.isArray(t.cell)?e=new Ac({cells:t.cell}):e=t.cell,e.stateSize==null)throw new z(\"The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).\");this.cell=e,this.returnSequences=t.returnSequences==null?!1:t.returnSequences,this.returnState=t.returnState==null?!1:t.returnState,this.goBackwards=t.goBackwards==null?!1:t.goBackwards,this._stateful=t.stateful==null?!1:t.stateful,this.unroll=t.unroll==null?!1:t.unroll,this.supportsMasking=!0,this.inputSpec=[new we({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(this.states_==null){let t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;return jr(0,t).map(e=>null)}else return this.states_}setStates(t){this.states_=t}computeOutputShape(t){Hy(t)&&(t=t[0]),t=t;let e=this.cell.stateSize;Array.isArray(e)||(e=[e]);let n=e[0],o;if(this.returnSequences?o=[t[0],t[1],n]:o=[t[0],n],this.returnState){let s=[];for(let i of e)s.push([t[0],i]);return[o].concat(s)}else return o}computeMask(t,e){return G(()=>{Array.isArray(e)&&(e=e[0]);let n=this.returnSequences?e: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 t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,e=[];for(let n=0;na.shape[a.shape.length-1]),i))throw new z(`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=i.map(a=>new we({shape:[null,a]}));this.stateful&&this.resetStates()}resetStates(t,e=!1){G(()=>{if(!this.stateful)throw new Nn(\"Cannot call resetStates() on an RNN Layer that is not stateful.\");let n=this.inputSpec[0].shape[0];if(n==null)throw new z(\"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=>_e([n,o])):this.states_=[_e([n,this.cell.stateSize])];else if(t==null)_t(this.states_),this.keptStates!=null&&(_t(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(o=>_e([n,o])):this.states_[0]=_e([n,this.cell.stateSize]);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new z(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e===!0?this.keptStates.push(this.states_.slice()):_t(this.states_);for(let o=0;oOe(o.clone()))})}apply(t,e){let n=e==null?null:e.initialState,o=e==null?null:e.constants;e==null&&(e={});let s=ZS(t,n,o,this.numConstants);t=s.inputs,n=s.initialState,o=s.constants;let i=[],a=[];if(n!=null){e.initialState=n,i=i.concat(n),this.stateSpec=[];for(let l of n)this.stateSpec.push(new we({shape:l.shape}));a=a.concat(this.stateSpec)}if(o!=null&&(e.constants=o,i=i.concat(o),this.numConstants=o.length),i[0]instanceof Xr){let l=[t].concat(i),c=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=c;let m=super.apply(l,e);return this.inputSpec=p,m}else return super.apply(t,e)}call(t,e){return G(()=>{let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;t=Pt(t),s==null&&(this.stateful?s=this.states_:s=this.getInitialState(t));let i=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==i)throw new z(`RNN Layer has ${i} 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 a={training:o},l=JS((d,h)=>{let g=this.cell.call([d].concat(h),a);return[g[0],g.slice(1)]},t,s,this.goBackwards,n,null,this.unroll,this.returnSequences),c=l[0],p=l[1],m=l[2];this.stateful&&this.resetStates(m,o);let f=this.returnSequences?p:c;return this.returnState?[f].concat(m):f})}getInitialState(t){return G(()=>{let e=_e(t.shape);return e=ft(e,[1,2]),e=rl(e),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(n=>n>1?Gy(e,[1,n]):e):this.cell.stateSize>1?[Gy(e,[1,this.cell.stateSize])]:[e]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.cell!=null&&this.cell.setFastWeightInitDuringBuild(t)}getConfig(){let t=super.getConfig(),e={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};this.numConstants!=null&&(e.numConstants=this.numConstants);let n=this.cell.getConfig();return this.getClassName()===_n.className&&(e.cell={className:this.cell.getClassName(),config:n}),Object.assign({},n,t,e)}static fromConfig(t,e,n={}){let o=e.cell,s=xn(o,n);return new t(Object.assign(e,{cell:s}))}};_n.className=\"RNN\";rt.registerClass(_n);var al=class extends Bt{},_c=class extends al{constructor(t){super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",this.units=t.units,Je(this.units,\"units\"),this.activation=ti(t.activation==null?this.DEFAULT_ACTIVATION:t.activation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=We(t.kernelConstraint),this.recurrentConstraint=We(t.recurrentConstraint),this.biasConstraint=We(t.biasConstraint),this.dropout=dc([1,Zs([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=dc([1,Zs([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=te(t),this.kernel=this.addWeight(\"kernel\",[t[t.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(t,e){return G(()=>{if(t=t,t.length!==2)throw new z(`SimpleRNNCell expects 2 input Tensors, got ${t.length}.`);let n=t[1];t=t[0];let o=e.training==null?!1:e.training;0br(t),rate:this.dropout,training:o,dropoutFunc:this.dropoutFunc})),0br(n),rate:this.recurrentDropout,training:o,dropoutFunc:this.dropoutFunc}));let s,i=this.dropoutMask,a=this.recurrentDropoutMask;i!=null?s=To(O(t,i),this.kernel.read()):s=To(t,this.kernel.read()),this.bias!=null&&(s=fn(s,this.bias.read())),a!=null&&(n=O(n,a));let u=J(s,To(n,this.recurrentKernel.read()));return this.activation!=null&&(u=this.activation.apply(u)),[u,u]})}getConfig(){let t=super.getConfig(),e={units:this.units,activation:Qs(this.activation),useBias:this.useBias,kernelInitializer:Ee(this.kernelInitializer),recurrentInitializer:Ee(this.recurrentInitializer),biasInitializer:Ee(this.biasInitializer),kernelRegularizer:de(this.kernelRegularizer),recurrentRegularizer:de(this.recurrentRegularizer),biasRegularizer:de(this.biasRegularizer),activityRegularizer:de(this.activityRegularizer),kernelConstraint:Ge(this.kernelConstraint),recurrentConstraint:Ge(this.recurrentConstraint),biasConstraint:Ge(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign({},t,e)}};_c.className=\"SimpleRNNCell\";rt.registerClass(_c);var bf=class extends _n{constructor(t){t.cell=new _c(t),super(t)}call(t,e){return G(()=>{this.cell.dropoutMask!=null&&(_t(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(_t(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return new t(e)}};bf.className=\"SimpleRNN\";rt.registerClass(bf);var Ec=class extends al{constructor(t){if(super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_RECURRENT_ACTIVATION=\"hardSigmoid\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.resetAfter)throw new z(\"GRUCell does not support reset_after parameter set to true.\");this.units=t.units,Je(this.units,\"units\"),this.activation=ti(t.activation===void 0?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=ti(t.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=We(t.kernelConstraint),this.recurrentConstraint=We(t.recurrentConstraint),this.biasConstraint=We(t.biasConstraint),this.dropout=dc([1,Zs([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=dc([1,Zs([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=te(t);let e=t[t.length-1];this.kernel=this.addWeight(\"kernel\",[e,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(t,e){return G(()=>{if(t=t,t.length!==2)throw new z(`GRUCell expects 2 input Tensors (inputs, h, c), got ${t.length}.`);let n=e.training==null?!1:e.training,o=t[1];t=t[0],0br(t),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0br(o),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));let s=this.dropoutMask,i=this.recurrentDropoutMask,a,u,l;0{this.cell.dropoutMask!=null&&(_t(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(_t(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return e.implmentation===0&&(e.implementation=1),new t(e)}};wf.className=\"GRU\";rt.registerClass(wf);var ll=class extends al{constructor(t){super(t),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=t.units,Je(this.units,\"units\"),this.activation=ti(t.activation===void 0?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=ti(t.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=t.unitForgetBias,this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=We(t.kernelConstraint),this.recurrentConstraint=We(t.recurrentConstraint),this.biasConstraint=We(t.biasConstraint),this.dropout=dc([1,Zs([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=dc([1,Zs([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){var e;t=te(t);let n=t[t.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,i=this.units;o=new(e=class extends hn{apply(u,l){let c=s.apply([i]),p=new yu().apply([i]),m=s.apply([i*2]);return LS(LS(c,p),m)}},e.className=\"CustomInit\",e)}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(t,e){return G(()=>{let n=e.training==null?!1:e.training;if(t=t,t.length!==3)throw new z(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let o=t[1],s=t[2];t=t[0],0br(t),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0br(o),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));let i=this.dropoutMask,a=this.recurrentDropoutMask,u,l,c,p;0{this.cell.dropoutMask!=null&&(_t(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(_t(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return e.implmentation===0&&(e.implementation=1),new t(e)}};Cf.className=\"LSTM\";rt.registerClass(Cf);var Ac=class extends al{constructor(t){super(t),this.cells=t.cells}get stateSize(){let t=[];for(let e of this.cells.slice().reverse())Array.isArray(e.stateSize)?t.push(...e.stateSize):t.push(e.stateSize);return t}call(t,e){return G(()=>{t=t;let n=t.slice(1),o=[];for(let a of this.cells.slice().reverse())Array.isArray(a.stateSize)?o.push(n.splice(0,a.stateSize.length)):o.push(n.splice(0,1));o.reverse();let s=[],i;for(let a=0;a{Ys(`RNNCell_${o}`,()=>{n.build(t),Array.isArray(n.stateSize)?e=n.stateSize[0]:e=n.stateSize,t=[t[0],e]})}),this.built=!0}getConfig(){let t=super.getConfig(),e=s=>({className:s.getClassName(),config:s.getConfig()}),o={cells:this.cells.map(e)};return Object.assign({},t,o)}static fromConfig(t,e,n={}){let o=[];for(let s of e.cells)o.push(xn(s,n));return new t({cells:o})}get trainableWeights(){if(!this.trainable)return[];let t=[];for(let e of this.cells)t.push(...e.trainableWeights);return t}get nonTrainableWeights(){let t=[];for(let e of this.cells)t.push(...e.nonTrainableWeights);if(!this.trainable){let e=[];for(let n of this.cells)e.push(...n.trainableWeights);return e.concat(t)}return t}getWeights(){let t=[];for(let e of this.cells)t.push(...e.weights);return $h(t)}setWeights(t){let e=[];for(let n of this.cells){let o=n.weights.length,s=t.splice(o);for(let i=0;is!=null?s(t(),e):Uy(t(),e),a=()=>xu(i,t,n);return!o||o<=1?Oe(a().clone()):Array(o).fill(void 0).map(a).map(l=>Oe(l.clone()))}var xY=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var o=0,n=Object.getOwnPropertySymbols(r);o{if(this.cell.dropoutMask!=null&&(_t(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(_t(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),e&&e.constants)throw new z(\"ConvRNN2D cell does not support constants\");let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}computeOutputShape(t){let e=this.computeSingleOutputShape(t);return this.returnSequences||(e=[e[0],...e.slice(2)]),this.returnState&&(e=[e,...Array(2).fill([t[0],...e.slice(-3)])]),e}getInitialState(t){return G(()=>{let{stateSize:e}=this.cell,n=t.shape,o=this.computeSingleOutputShape(n),s=[o[0],...o.slice(2)],i=_e(s);return Array.isArray(e)?Array(e.length).fill(i):[i]})}resetStates(t,e=!1){G(()=>{if(!this.stateful)throw new Nn(\"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 z(\"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(()=>_e(s)):this.states_=[_e(s)];else if(t==null)_t(this.states_),this.keptStates!=null&&(_t(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>_e(s)):this.states_[0]=_e(s);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new z(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e?this.keptStates.push(this.states_.slice()):_t(this.states_);for(let a=0;aOe(a.clone()))})}computeSingleOutputShape(t){let{dataFormat:e,filters:n,kernelSize:o,padding:s,strides:i,dilationRate:a}=this.cell,u=e===\"channelsFirst\",l=t[u?3:2],c=t[u?4:3],p=kn(l,o[0],s,i[0],a[0]),m=kn(c,o[1],s,i[1],a[1]);return[...t.slice(0,2),...u?[n,p,m]:[p,m,n]]}};_b.className=\"ConvRNN2D\";var $c=class extends ll{constructor(t){let{filters:e,kernelSize:n,strides:o,padding:s,dataFormat:i,dilationRate:a}=t;super(Object.assign({},t,{units:e})),this.filters=e,Je(this.filters,\"filters\"),this.kernelSize=Cu(n,2,\"kernelSize\"),this.kernelSize.forEach(u=>Je(u,\"kernelSize\")),this.strides=Cu(o||1,2,\"strides\"),this.strides.forEach(u=>Je(u,\"strides\")),this.padding=s||\"valid\",pn(this.padding),this.dataFormat=i||\"channelsLast\",Pe(this.dataFormat),this.dilationRate=Cu(a||1,2,\"dilationRate\"),this.dilationRate.forEach(u=>Je(u,\"dilationRate\"))}build(t){var e;t=te(t);let n=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[n]==null)throw new z(`The channel dimension of the input should be defined. Found ${t[n]}`);let o=t[n],s=4,i=this.kernelSize.concat([o,this.filters*s]);this.kernel=this.addWeight(\"kernel\",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);let a=this.kernelSize.concat([this.filters,this.filters*s]);if(this.recurrentKernel=this.addWeight(\"recurrent_kernel\",a,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let u;if(this.unitForgetBias){let l=this.biasInitializer,c=this.filters;u=new(e=class extends hn{apply(m,f){let d=l.apply([c]),h=cr([c]),g=l.apply([c*2]);return Mm([d,h,g])}},e.className=\"CustomInit\",e)}else u=this.biasInitializer;this.bias=this.addWeight(\"bias\",[this.filters*s],null,u,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(t,e){return G(()=>{if(t.length!==3)throw new z(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let n=e.training||!1,o=t[0],s=t[1],i=t[2],a=4;0br(o),rate:this.dropout,training:n,count:a,dropoutFunc:this.dropoutFunc}));let u=this.dropoutMask,l=(st,it,pt)=>!it||!it[pt]?st:O(it[pt],st),c=l(o,u,0),p=l(o,u,1),m=l(o,u,2),f=l(o,u,3);0br(s),rate:this.recurrentDropout,training:n,count:a,dropoutFunc:this.dropoutFunc}));let d=this.recurrentDropoutMask,h=l(s,d,0),g=l(s,d,1),x=l(s,d,2),b=l(s,d,3),w=3,[C,T,E,$]=mr(this.kernel.read(),a,w),[D,P,M,W]=this.useBias?mr(this.bias.read(),a):[null,null,null,null];c=this.inputConv(c,C,D,this.padding),p=this.inputConv(p,T,P,this.padding),m=this.inputConv(m,E,M,this.padding),f=this.inputConv(f,$,W,this.padding);let[H,q,X,j]=mr(this.recurrentKernel.read(),a,w);h=this.recurrentConv(h,H),g=this.recurrentConv(g,q),x=this.recurrentConv(x,X),b=this.recurrentConv(b,j);let Z=this.recurrentActivation.apply(J(c,h)),et=this.recurrentActivation.apply(J(p,g)),K=J(O(et,i),O(Z,this.activation.apply(J(m,x)))),ot=O(this.recurrentActivation.apply(J(f,b)),this.activation.apply(K));return[ot,ot,K]})}getConfig(){let t=super.getConfig(),{units:e}=t,n=xY(t,[\"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(t,e,n,o){let s=Sn(t,e,this.strides,o||\"valid\",this.dataFormat===\"channelsFirst\"?\"NCHW\":\"NHWC\",this.dilationRate);return n?fn(s,n,this.dataFormat):s}recurrentConv(t,e){return Sn(t,e,1,\"same\",this.dataFormat===\"channelsFirst\"?\"NCHW\":\"NHWC\")}};$c.className=\"ConvLSTM2DCell\";rt.registerClass($c);var vf=class extends _b{constructor(t){let e=new $c(t);super(Object.assign({},t,{cell:e}))}static fromConfig(t,e){return new t(e)}};vf.className=\"ConvLSTM2D\";rt.registerClass(vf);var Dc=class extends Bt{constructor(t){super(t),this.rate=Math.max(Math.min(t.rate,1),0),this.noiseShape=t.noiseShape,this.seed=t.seed,this.supportsMasking=!0}getNoiseShape(t){if(this.noiseShape==null)return this.noiseShape;let e=t.shape,n=[];for(let o=0;o{this.invokeCallHook(t,e);let n=Pt(t);if(0Uy(n,this.rate,s,this.seed),()=>n,o)}return t})}getConfig(){let t={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},e=super.getConfig();return Object.assign(t,e),t}dispose(){return super.dispose()}};Dc.className=\"Dropout\";rt.registerClass(Dc);var If=class extends Dc{constructor(t){super(t),this.inputSpec=[{ndim:3}]}getNoiseShape(t){let e=t.shape;return[e[0],1,e[2]]}};If.className=\"SpatialDropout1D\";rt.registerClass(If);var Sf=class extends Bt{constructor(t){if(super(t),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.batchInputShape==null&&t.inputShape==null&&t.inputDim!=null){let e=null;t.batchSize!=null&&(e=t.batchSize),this.batchInputShape=[e,t.inputDim]}this.units=t.units,Je(this.units,\"units\"),this.activation=ti(t.activation),t.useBias!=null&&(this.useBias=t.useBias),this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=We(t.kernelConstraint),this.biasConstraint=We(t.biasConstraint),this.kernelRegularizer=Ce(t.kernelRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.activityRegularizer=Ce(t.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(t){t=te(t);let e=t[t.length-1];this.kernel==null&&(this.kernel=this.addWeight(\"kernel\",[e,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]:e}}],this.built=!0}computeOutputShape(t){t=te(t);let e=t.slice();return e[e.length-1]=this.units,e}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t),o=Py(this.activation.getClassName()),s;return o!=null?s=To(n,this.kernel.read(),o,this.bias?this.bias.read():null):(s=To(n,this.kernel.read()),this.bias!=null&&(s=fn(s,this.bias.read())),this.activation!=null&&(s=this.activation.apply(s))),s})}getConfig(){let t={units:this.units,activation:Qs(this.activation),useBias:this.useBias,kernelInitializer:Ee(this.kernelInitializer),biasInitializer:Ee(this.biasInitializer),kernelRegularizer:de(this.kernelRegularizer),biasRegularizer:de(this.biasRegularizer),activityRegularizer:de(this.activityRegularizer),kernelConstraint:Ge(this.kernelConstraint),biasConstraint:Ge(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}};Sf.className=\"Dense\";rt.registerClass(Sf);var Tf=class extends Bt{constructor(t){t=t||{},super(t),this.inputSpec=[{minNDim:3}],this.dataFormat=t.dataFormat}computeOutputShape(t){t=te(t);for(let e of t.slice(1))if(e==null)throw new z(`The shape of the input to \"Flatten\" is not fully defined (got ${t.slice(1)}). Make sure to pass a complete \"input_shape\" or \"batch_input_shape\" argument to the first layer in your model.`);return[t[0],So(t,1)]}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t);if(this.dataFormat===\"channelsFirst\"&&n.rank>1){let o=[0];for(let s=2;s{this.invokeCallHook(t,e);let n=Pt(t);return this.activation.apply(n)})}getConfig(){let t={activation:Qs(this.activation)},e=super.getConfig();return Object.assign(t,e),t}};Nf.className=\"Activation\";rt.registerClass(Nf);var kf=class extends Bt{constructor(t){super(t),this.n=t.n,this.inputSpec=[{ndim:2}]}computeOutputShape(t){return[t[0],this.n,t[1]]}call(t,e){return G(()=>(t=Pt(t),H$(t,this.n)))}getConfig(){let t={n:this.n},e=super.getConfig();return Object.assign(t,e),t}};kf.className=\"RepeatVector\";rt.registerClass(kf);var _f=class extends Bt{constructor(t){super(t),this.targetShape=t.targetShape;for(let e=0;e{this.invokeCallHook(t,e);let n=Pt(t),o=n.shape,s=o.slice(0,1).concat(this.fixUnknownDimension(o.slice(1),this.targetShape));return F(n,s)})}getConfig(){let t={targetShape:this.targetShape},e=super.getConfig();return Object.assign(t,e),t}};_f.className=\"Reshape\";rt.registerClass(_f);var Ef=class extends Bt{constructor(t){if(super(t),t.dims==null)throw new Error(\"Required configuration field `dims` is missing during Permute constructor call.\");if(!Array.isArray(t.dims))throw new Error(`Permute constructor requires \\`dims\\` to be an Array, but received ${t.dims} instead.`);let e=jr(1,t.dims.length+1);if(!y.arraysEqual(t.dims.slice().sort(),e))throw new Error(\"Invalid permutation `dims`: \"+JSON.stringify(t.dims)+\" `dims` must contain consecutive integers starting from 1.\");this.dims=t.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new we({ndim:this.dims.length+1})]}computeOutputShape(t){t=te(t);let e=t.slice();return this.dims.forEach((n,o)=>{e[o+1]=t[n]}),e}call(t,e){return Mt(Pt(t),this.dimsIncludingBatch)}getConfig(){let t={dims:this.dims},e=super.getConfig();return Object.assign(t,e),t}};Ef.className=\"Permute\";rt.registerClass(Ef);var Af=class extends Bt{constructor(t){super(t==null?{}:t),this.supportsMasking=!0,t!=null?this.maskValue=t.maskValue==null?0:t.maskValue:this.maskValue=0}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={maskValue:this.maskValue};return Object.assign(e,t),e}computeMask(t,e){let n=Pt(t),o=-1;return Ju(qs(n,this.maskValue),o)}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t),o=-1,s=!0,i=Ju(qs(n,this.maskValue),o,s);return O(n,tt(i,n.dtype))})}};Af.className=\"Masking\";rt.registerClass(Af);var $f=class extends Bt{constructor(t){if(super(t),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER=\"randomUniform\",t.batchInputShape==null&&t.inputShape==null){let e=null;t.batchSize!=null&&(e=t.batchSize),t.inputLength==null?this.batchInputShape=[e,null]:this.batchInputShape=[e].concat(be(t.inputLength))}this.inputDim=t.inputDim,Je(this.inputDim,\"inputDim\"),this.outputDim=t.outputDim,Je(this.outputDim,\"outputDim\"),this.embeddingsInitializer=ge(t.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=Ce(t.embeddingsRegularizer),this.activityRegularizer=Ce(t.activityRegularizer),this.embeddingsConstraint=We(t.embeddingsConstraint),this.maskZero=t.maskZero,this.supportsMasking=t.maskZero,this.inputLength=t.inputLength}build(t){this.embeddings=this.addWeight(\"embeddings\",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(t){}computeMask(t,e){return G(()=>this.maskZero?(t=Pt(t),qs(t,St(t))):null)}computeOutputShape(t){if(t=te(t),this.inputLength==null)return[...t,this.outputDim];let e=be(this.inputLength);if(e.length!==t.length-1)throw new z(`\"inputLength\" is ${this.inputLength}, but received input shape has shape ${t}`);{let n=0;for(let o=0;o{this.invokeCallHook(t,e);let n=Pt(t);n.dtype!==\"int32\"&&(n=hc(n,\"int32\"));let o=Wy(this.embeddings.read(),F(n,[n.size]));return F(o,te(this.computeOutputShape(n.shape)))})}getConfig(){let t={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Ee(this.embeddingsInitializer),embeddingsRegularizer:de(this.embeddingsRegularizer),activityRegularizer:de(this.activityRegularizer),embeddingsConstraint:Ge(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},e=super.getConfig();return Object.assign(t,e),t}};$f.className=\"Embedding\";rt.registerClass($f);var cl=class extends Bt{constructor(t){super(t||{}),this.supportsMasking=!0}mergeFunction(t){throw new Nt}computeElementwiseOpOutputShape(t,e){if(t==null||e==null)return null;if(t.length1)throw new z(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(t)}.`);let n=t[0]==null?null:t[0].slice(1);for(let s=1;ss.length);t.indexOf(null)===-1&&Io(o).length===1?this.reshapeRequired=!1:this.reshapeRequired=!0}call(t,e){return G(()=>{if(t=t,this.reshapeRequired){let n=[],o=t.map(s=>s.rank);if(o.indexOf(null)===-1){let s=Zs(o);for(let i of t){let a=i.rank;for(let u=0;u1){let c=jr(1,l).concat([0]);n.push(Mt(u,c)),s=!0}else n.push(u)}let i=this.mergeFunction(n),a=i.rank;if(s){if(a==null){let u=i.shape,l=u.length,c=u[l-1],p=[c].concat(u.slice(0,u.length-1));i=F(Mt(F(i,[-1,c]),[1,0]),p)}else if(a>1){let u=[a-1].concat(jr(0,a-1));i=Mt(i,u)}}return i}}else return this.mergeFunction(t)})}computeOutputShape(t){t=t;let e;t[0]==null?e=null:e=t[0].slice(1);for(let o=1;o{if(e==null)return null;if(!Array.isArray(e))throw new z(\"`mask` should be an Array\");if(!Array.isArray(t))throw new z(\"`inputs` should be an Array\");if(e.length!==t.length)throw new z(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${t.length} vs ${e.length})`);if(e.every(o=>o==null))return null;e=e.map(o=>o==null?o:yr(o,0));let n=e[0];for(let o=1;o{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0];for(let n=1;n{let e=t[0];for(let n=1;n1)throw new z(\"A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: \"+JSON.stringify(t))}mergeFunction(t){return G(()=>Mm(t,this.axis))}computeOutputShape(t){if(!(Array.isArray(t)&&Array.isArray(t[0])))throw new z(\"A `Concatenate` layer should be called on a list of inputs.\");let e=t,n=e[0].slice(),o=this.axis<0?n.length+this.axis:this.axis;for(let s of e.slice(1)){if(n[o]==null||s[o]==null){n[o]=null;break}n[o]+=s[o]}return n}computeMask(t,e){if(e==null)return null;if(!Array.isArray(e))throw new z(\"`mask` should be an array for Concatenate\");if(!Array.isArray(t))throw new z(\"`inputs` should be an array for Concatenate\");if(e.length!==t.length)throw new z(`Mismatch in the length of mask (${e.length}) and the legnth of inputs (${t.length})`);return G(()=>{let n=!0;if(e.forEach(i=>{if(i!=null){n=!1;return}}),n)return null;let o=[];for(let i=0;i3||t.shape.length>3)throw new Nt(\"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 ${t.shape.length}`),typeof e==\"number\"&&(e=[e,e]),r.dtype===\"complex64\"||t.dtype===\"complex64\")throw new Nt(\"batchDot is not implemented for complex64-type Tensors yet.\");let n=r.shape.length,o=t.shape.length;e==null&&(e=[n-1,o-2]);let s=e;return G(()=>{let i;if(n>o){i=n-o;let u=[];for(let l=0;ln){i=o-n;let u=[];for(let l=0;l0){let u;n>o?u=n+o-3:u=n-1;let l=[];for(let c=u;c\"A `Dot` layer should be called on a list of exactly 2 inputs.\");let e=t[0],n=t[1];if(e.length>3||n.length>3)throw new Nt(\"Dot layer does not support tensors of 4D or higher rank yet.\");let o=this.interpretAxes(e,n);if(e[o[0]]!==n[o[1]])throw new z(`Dimension incompatibility: ${e[o[0]]} !== ${n[o[1]]}`)}mergeFunction(t){if(t.length!==2)throw new z(`A \\`Dot\\` layer must be called on exactly 2 inputs, but received ${t.length} input(s).`);let e=t[0],n=t[1],o;return Array.isArray(this.axes)?o=this.axes.map((s,i)=>Bh(s,t[i].shape.length)):o=[Bh(this.axes,e.shape.length),Bh(this.axes,n.shape.length)],this.normalize&&(e=Dh(e,o[0]),n=Dh(n,o[1])),yY(e,n,o)}interpretAxes(t,e){let n;return Array.isArray(this.axes)?n=this.axes:n=[Bh(this.axes,t.length),Bh(this.axes,e.length)],n}computeOutputShape(t){y.assert(Array.isArray(t)&&t.length===2&&Array.isArray(t[0])&&Array.isArray(t[1]),()=>\"A `Dot` layer should be called on a list of exactly 2 inputs.\");let e=t[0].slice(),n=t[1].slice();if(e.length>3||n.length>3)throw new Nt(\"Dot layer does not support tensors of 4D or higher rank yet.\");let o=this.interpretAxes(e,n);e.splice(o[0],1),n.splice(o[1],1),n.splice(0,1);let s=e.concat(n);return s.length===1&&s.push(1),s}computeMask(t,e){return null}getConfig(){let t={axes:this.axes,normalize:this.normalize},e=super.getConfig();return Object.assign(t,e),t}};Mf.className=\"Dot\";rt.registerClass(Mf);var zf=class extends Bt{constructor(t){super(t),this.supportsMasking=!0,this.stddev=t.stddev}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={stddev:this.stddev};return Object.assign(e,t),e}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t);return xu(()=>J(zm(n.shape,0,this.stddev),n),()=>n,e.training||!1)})}};zf.className=\"GaussianNoise\";rt.registerClass(zf);var Bf=class extends Bt{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t);return this.rate>0&&this.rate<1?xu(()=>{let s=Math.sqrt(this.rate/(1-this.rate));return O(n,zm(n.shape,1,s))},()=>n,e.training||!1):n})}};Bf.className=\"GaussianDropout\";rt.registerClass(Bf);var Vf=class extends Bt{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate,this.noiseShape=t.noiseShape}_getNoiseShape(t){return this.noiseShape||Pt(t).shape}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return G(()=>{if(this.rate<1&&this.rate>0){let n=this._getNoiseShape(t);return xu(()=>{let s=Pt(t),i=1.6732632423543772,a=1.0507009873554805,u=-i*a,l=Pn(Hi(n),this.rate);l=hc(l,\"float32\");let c=((1-this.rate)*(1+this.rate*u**2))**-.5,p=-c*u*this.rate,m=J(O(s,l),O(J(l,-1),u));return J(O(m,c),p)},()=>Pt(t),e.training||!1)}return t})}};Vf.className=\"AlphaDropout\";rt.registerClass(Vf);function Vh(r,t,e,n,o,s=.001){let i;if(r.rank===2)i=$x(r,t,e,n,o,s);else if(r.rank===3)i=Dx(r,t,e,n,o,s);else if(r.rank===4)i=Rx(r,t,e,n,o,s);else throw new Nt(`batchNormalization is not implemented for array of rank ${r.rank} yet`);return i}function bY(r,t,e,n,o=.001){return G(()=>{let s=oc(r,n),i=s.mean,a=s.variance;return[Vh(r,i,a,e,t,o),i,a]})}function wY(r,t,e,n,o=.001){return G(()=>{let s=oc(r,n),i=s.mean,a=s.variance,u=[];for(let d of jr(0,r.rank))n.indexOf(d)!==-1?u.push(1):u.push(r.shape[d]);let l=F(i,u),c=F(a,u),p=t==null?null:F(t,u),m=e==null?null:F(e,u);return[Vh(r,l,c,m,p,o),i,a]})}function CY(r,t,e,n,o=.001){return y.arraysEqual(n.slice().sort(),jr(0,r.rank-1))?bY(r,t,e,n,o):wY(r,t,e,n,o)}var Gf=class extends Bt{constructor(t){t==null&&(t={}),super(t),this.supportsMasking=!0,this.axis=t.axis==null?-1:t.axis,this.momentum=t.momentum==null?.99:t.momentum,this.epsilon=t.epsilon==null?.001:t.epsilon,this.center=t.center==null?!0:t.center,this.scale=t.scale==null?!0:t.scale,this.betaInitializer=ge(t.betaInitializer||\"zeros\"),this.gammaInitializer=ge(t.gammaInitializer||\"ones\"),this.movingMeanInitializer=ge(t.movingMeanInitializer||\"zeros\"),this.movingVarianceInitializer=ge(t.movingVarianceInitializer||\"ones\"),this.betaConstraint=We(t.betaConstraint),this.gammaConstraint=We(t.gammaConstraint),this.betaRegularizer=Ce(t.betaRegularizer),this.gammaRegularizer=Ce(t.gammaRegularizer)}build(t){t=te(t);let e=this.axis>=0?this.axis:this.axis+t.length,n=t[e];if(n==null)throw new z(`Axis ${e} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(t)}.`);this.inputSpec=[new we({ndim:t.length,axes:{[e]: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(t,e){return G(()=>{let n=e.training==null?!1:e.training,o=Pt(t),s=o.shape,i=s.length,a=jr(0,i),u=this.axis>=0?this.axis:this.axis+i;a.splice(u,1);let l=Co(1,i);l[u]=s[u];let c=a.slice();c.sort();let p=!y.arraysEqual(c,jr(0,i).slice(0,i-1)),m=()=>{if(p){let b=F(this.movingMean.read(),l),w=F(this.movingVariance.read(),l),C=this.center?F(this.beta.read(),l):null,T=this.scale?F(this.gamma.read(),l):null;return Vh(o,b,w,C,T,this.epsilon)}else return Vh(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]=CY(o,this.gamma.read(),this.beta.read(),a,this.epsilon),g=(b,w,C)=>{G(()=>{let T=1-C,E=b.read(),$=O(ut(E,w),T);b.write(ut(E,$))})};return(()=>{g(this.movingMean,d,this.momentum),g(this.movingVariance,h,this.momentum)})(),f})}getConfig(){let t={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Ee(this.betaInitializer),gammaInitializer:Ee(this.gammaInitializer),movingMeanInitializer:Ee(this.movingMeanInitializer),movingVarianceInitializer:Ee(this.movingVarianceInitializer),betaRegularizer:de(this.betaRegularizer),gammaRegularizer:de(this.gammaRegularizer),betaConstraint:Ge(this.betaConstraint),gammaConstraint:Ge(this.gammaConstraint)},e=super.getConfig();return Object.assign(t,e),t}};Gf.className=\"BatchNormalization\";rt.registerClass(Gf);var Wf=class extends Bt{constructor(t){if(t==null&&(t={}),super(t),this.axis=t.axis==null?-1:t.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 e of this.axis)if(!Number.isInteger(e))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=t.epsilon==null?.001:t.epsilon,this.center=t.center==null?!0:t.center,this.scale=t.scale==null?!0:t.scale,this.betaInitializer=ge(t.betaInitializer||\"zeros\"),this.gammaInitializer=ge(t.gammaInitializer||\"ones\"),this.betaRegularizer=Ce(t.betaRegularizer),this.gammaRegularizer=Ce(t.gammaRegularizer),this.supportsMasking=!0}build(t){t=te(t);let e=t.length;typeof this.axis==\"number\"&&(this.axis=[this.axis]);for(let s=0;s=e)throw new Error(`Invalid axis: ${s}`);if(this.axis.length!==Io(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);let n=this.axis.map(s=>t[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(t,e){let n=Pt(t),o=n.shape,s=o.length;return G(()=>{let{mean:a,variance:u}=oc(n,this.axis,!0),l=Co(1,s);for(let h of this.axis)l[h]=o[h];let c=h=>h!=null&&h.shape.length!==s?F(h,l):h,p=this.scale?c(this.gamma.read()):null,m=this.center?c(this.beta.read()):null,f=[],d=[];for(let h=0;h{if(r.rank!==4)throw new z(`temporalPadding expects input tensor to be 4-D, but received a ${r.rank}-D tensor.`);if(t==null&&(t=[[1,1],[1,1]]),t.length!==2||t[0].length!==2||t[1].length!==2)throw new z(\"spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.\");if(e==null&&(e=mn()),e!==\"channelsLast\"&&e!==\"channelsFirst\")throw new z(`Unknown data format: ${e}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let n;return e===\"channelsFirst\"?n=[[0,0],[0,0],t[0],t[1]]:n=[[0,0],t[0],t[1],[0,0]],cn(r,n)})}var Uf=class extends Bt{constructor(t){if(t==null&&(t={}),super(t),this.dataFormat=t.dataFormat==null?mn():t.dataFormat,t.padding==null)this.padding=[[1,1],[1,1]];else if(typeof t.padding==\"number\")this.padding=[[t.padding,t.padding],[t.padding,t.padding]];else{if(t.padding=t.padding,t.padding.length!==2)throw new z(`ZeroPadding2D expects padding to be a length-2 array, but received a length-${t.padding.length} array.`);let e,n;if(typeof t.padding[0]==\"number\")e=[t.padding[0],t.padding[0]],n=[t.padding[1],t.padding[1]];else{if(t.padding=t.padding,t.padding[0].length!==2)throw new z(`ZeroPadding2D expects height padding to be a length-2 array, but received a length-${t.padding[0].length} array.`);if(e=t.padding[0],t.padding[1].length!==2)throw new z(`ZeroPadding2D expects width padding to be a length-2 array, but received a length-${t.padding[1].length} array.`);n=t.padding[1]}this.padding=[e,n]}this.inputSpec=[new we({ndim:4})]}computeOutputShape(t){t=te(t);let e,n;return this.dataFormat===\"channelsFirst\"?(t[2]!=null&&t[2]>=0?e=t[2]+this.padding[0][0]+this.padding[0][1]:e=null,t[3]!=null&&t[3]>=0?n=t[3]+this.padding[1][0]+this.padding[1][1]:n=null,[t[0],t[1],e,n]):(t[1]!=null&&t[1]>=0?e=t[1]+this.padding[0][0]+this.padding[0][1]:e=null,t[2]!=null&&t[2]>=0?n=t[2]+this.padding[1][0]+this.padding[1][1]:n=null,[t[0],e,n,t[3]])}call(t,e){return G(()=>vY(Pt(t),this.padding,this.dataFormat))}getConfig(){let t={padding:this.padding,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}};Uf.className=\"ZeroPadding2D\";rt.registerClass(Uf);function Fb(r,t,e,n,o,s){return G(()=>{Pe(o),RS(s),pn(n),e==null&&(e=[1,1]),n==null&&(n=\"valid\"),o==null&&(o=mn()),s==null&&(s=\"max\"),r=zh(r,o);let i,a=n===\"same\"?\"same\":\"valid\";return s===\"max\"?i=eu(r,t,e,a):i=Xl(r,t,e,a),o===\"channelsFirst\"&&(i=Mt(i,[0,3,1,2])),i})}function OD(r,t,e,n,o,s){return G(()=>{Pe(o),RS(s),pn(n),e==null&&(e=[1,1,1]),n==null&&(n=\"valid\"),o==null&&(o=mn()),s==null&&(s=\"max\"),r=YS(r,o);let i,a=n===\"same\"?\"same\":\"valid\";return s===\"max\"?i=sy(r,t,e,a):i=Ax(r,t,e,a),o===\"channelsFirst\"&&(i=Mt(i,[0,4,1,2,3])),i})}var Eb=class extends Bt{constructor(t){if(t.poolSize==null&&(t.poolSize=2),super(t),typeof t.poolSize==\"number\")this.poolSize=[t.poolSize];else if(Array.isArray(t.poolSize)&&t.poolSize.length===1&&typeof t.poolSize[0]==\"number\")this.poolSize=t.poolSize;else throw new z(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.poolSize)}`);if(Je(this.poolSize,\"poolSize\"),t.strides==null)this.strides=this.poolSize;else if(typeof t.strides==\"number\")this.strides=[t.strides];else if(Array.isArray(t.strides)&&t.strides.length===1&&typeof t.strides[0]==\"number\")this.strides=t.strides;else throw new z(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.strides)}`);Je(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,pn(this.padding),this.inputSpec=[new we({ndim:3})]}computeOutputShape(t){t=te(t);let e=kn(t[1],this.poolSize[0],this.padding,this.strides[0]);return[t[0],e,t[2]]}call(t,e){return G(()=>{this.invokeCallHook(t,e),t=rl(Pt(t),2);let n=this.poolingFunction(Pt(t),[this.poolSize[0],1],[this.strides[0],1],this.padding,\"channelsLast\");return Mn(n,[2])})}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides},e=super.getConfig();return Object.assign(t,e),t}},Hf=class extends Eb{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),Fb(t,e,n,o,s,\"max\")}};Hf.className=\"MaxPooling1D\";rt.registerClass(Hf);var qf=class extends Eb{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),Fb(t,e,n,o,s,\"avg\")}};qf.className=\"AveragePooling1D\";rt.registerClass(qf);var Ab=class extends Bt{constructor(t){if(t.poolSize==null&&(t.poolSize=[2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize],t.strides==null)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(t.strides.length!==2)throw new z(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides];Je(this.poolSize,\"poolSize\"),Je(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Pe(this.dataFormat),pn(this.padding),this.inputSpec=[new we({ndim:4})]}computeOutputShape(t){t=te(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2];return e=kn(e,this.poolSize[0],this.padding,this.strides[0]),n=kn(n,this.poolSize[1],this.padding,this.strides[1]),this.dataFormat===\"channelsFirst\"?[t[0],t[1],e,n]:[t[0],e,n,t[3]]}call(t,e){return G(()=>(this.invokeCallHook(t,e),this.poolingFunction(Pt(t),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Kf=class extends Ab{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),Fb(t,e,n,o,s,\"max\")}};Kf.className=\"MaxPooling2D\";rt.registerClass(Kf);var jf=class extends Ab{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),Fb(t,e,n,o,s,\"avg\")}};jf.className=\"AveragePooling2D\";rt.registerClass(jf);var $b=class extends Bt{constructor(t){if(t.poolSize==null&&(t.poolSize=[2,2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize,t.poolSize],t.strides==null)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(t.strides.length!==3)throw new z(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides,t.strides];Je(this.poolSize,\"poolSize\"),Je(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Pe(this.dataFormat),pn(this.padding),this.inputSpec=[new we({ndim:5})]}computeOutputShape(t){t=te(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2],o=this.dataFormat===\"channelsFirst\"?t[4]:t[3];return e=kn(e,this.poolSize[0],this.padding,this.strides[0]),n=kn(n,this.poolSize[1],this.padding,this.strides[1]),o=kn(o,this.poolSize[2],this.padding,this.strides[2]),this.dataFormat===\"channelsFirst\"?[t[0],t[1],e,n,o]:[t[0],e,n,o,t[4]]}call(t,e){return G(()=>(this.invokeCallHook(t,e),this.poolingFunction(Pt(t),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Xf=class extends $b{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),OD(t,e,n,o,s,\"max\")}};Xf.className=\"MaxPooling3D\";rt.registerClass(Xf);var Yf=class extends $b{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),OD(t,e,n,o,s,\"avg\")}};Yf.className=\"AveragePooling3D\";rt.registerClass(Yf);var Db=class extends Bt{constructor(t){super(t),this.inputSpec=[new we({ndim:3})]}computeOutputShape(t){return[t[0],t[2]]}call(t,e){throw new Nt}},Zf=class extends Db{constructor(t){super(t||{})}call(t,e){return G(()=>{let n=Pt(t);return ke(n,1)})}};Zf.className=\"GlobalAveragePooling1D\";rt.registerClass(Zf);var Jf=class extends Db{constructor(t){super(t||{})}call(t,e){return G(()=>{let n=Pt(t);return Mr(n,1)})}};Jf.className=\"GlobalMaxPooling1D\";rt.registerClass(Jf);var Rb=class extends Bt{constructor(t){super(t),this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Pe(this.dataFormat),this.inputSpec=[new we({ndim:4})]}computeOutputShape(t){return t=t,this.dataFormat===\"channelsLast\"?[t[0],t[3]]:[t[0],t[1]]}call(t,e){throw new Nt}getConfig(){let t={dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Qf=class extends Rb{call(t,e){return G(()=>{let n=Pt(t);return this.dataFormat===\"channelsLast\"?ke(n,[1,2]):ke(n,[2,3])})}};Qf.className=\"GlobalAveragePooling2D\";rt.registerClass(Qf);var td=class extends Rb{call(t,e){return G(()=>{let n=Pt(t);return this.dataFormat===\"channelsLast\"?Mr(n,[1,2]):Mr(n,[2,3])})}};td.className=\"GlobalMaxPooling2D\";rt.registerClass(td);var Ob=class extends Bt{constructor(t){super(t),this.layer=t.layer}build(t){this.built=!0}get trainable(){return this.layer!=null?this.layer.trainable:!1}set trainable(t){this.layer!=null&&(this.layer.trainable=t)}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(t){this.layer.setWeights(t)}getConfig(){let t={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},e=super.getConfig();return Object.assign(t,e),t}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.layer!=null&&this.layer.setFastWeightInitDuringBuild(t)}static fromConfig(t,e,n={}){let o=e.layer,s=xn(o,n);delete e.layer;let i={layer:s};return Object.assign(i,e),new t(i)}},ed=class extends Ob{constructor(t){super(t),this.supportsMasking=!0}build(t){if(t=te(t),t.length<3)throw new z(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(t)}`);this.inputSpec=[{shape:t}];let e=[t[0]].concat(t.slice(2));this.layer.built||(this.layer.build(e),this.layer.built=!0),super.build(t)}computeOutputShape(t){t=te(t);let e=[t[0]].concat(t.slice(2)),n=this.layer.computeOutputShape(e),o=t[1];return[n[0],o].concat(n.slice(1))}call(t,e){return G(()=>(t=Pt(t),JS((i,a)=>[Pt(this.layer.call(i,e)),[]],t,[],!1,null,null,!1,!0)[1]))}};ed.className=\"TimeDistributed\";rt.registerClass(ed);function IY(r){Xi(B$,\"BidirectionalMergeMode\",r)}var SY=\"concat\",rd=class extends Ob{constructor(t){super(t);let e=t.layer.getConfig(),n={};n.className=t.layer.getClassName(),n.config=e,this.forwardLayer=xn(n),e.goBackwards=e.goBackwards!==!0;let o={};if(o.className=t.layer.getClassName(),o.config=e,this.backwardLayer=xn(o),this.forwardLayer.name=\"forward_\"+this.forwardLayer.name,this.backwardLayer.name=\"backward_\"+this.backwardLayer.name,this.mergeMode=t.mergeMode===void 0?SY:t.mergeMode,IY(this.mergeMode),t.weights)throw new Nt(\"weights support is not implemented for Bidirectional layer yet.\");this._stateful=t.layer.stateful,this.returnSequences=t.layer.returnSequences,this.returnState=t.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=t.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(t){this._trainable=t,this.forwardLayer!=null&&(this.forwardLayer.trainable=t),this.backwardLayer!=null&&(this.backwardLayer.trainable=t)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(t){let e=t.length,n=Math.floor(e/2);this.forwardLayer.setWeights(t.slice(0,n)),this.backwardLayer.setWeights(t.slice(n))}computeOutputShape(t){let e=this.forwardLayer.computeOutputShape(t);Array.isArray(e)&&Array.isArray(e[0])||(e=[e]),e=e;let n,o,s;return this.returnState&&(s=e.slice(1)),n=e[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()):Nr(o)}apply(t,e){let n=e==null?null:e.initialState,o=e==null?null:e.constants;e==null&&(e={});let s=ZS(t,n,o,this.numConstants);if(t=s.inputs,n=s.initialState,o=s.constants,Array.isArray(t)&&(n=t.slice(1),t=t[0]),(n==null||n.length===0)&&o==null)return super.apply(t,e);let i=[],a=[];if(n!=null){let l=n.length;if(l%2>0)throw new z(\"When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.\");e.initialState=n,i.push(...n);let c=n.map(p=>new we({shape:p.shape}));this.forwardLayer.stateSpec=c.slice(0,l/2),this.backwardLayer.stateSpec=c.slice(l/2),a.push(...c)}if(o!=null)throw new Nt(\"Support for constants in Bidirectional layers is not implemented yet.\");let u=i[0]instanceof Xr;for(let l of i)if(l instanceof Xr!==u)throw new z(\"The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors\");if(u){let l=[t].concat(i),c=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=c;let m=super.apply(l,e);return this.inputSpec=p,m}else return super.apply(t,e)}call(t,e){return G(()=>{let n=e.initialState,o,s;if(n==null)o=this.forwardLayer.call(t,e),s=this.backwardLayer.call(t,e);else{let u=n.slice(0,n.length/2),l=n.slice(n.length/2);o=this.forwardLayer.call(t,Object.assign(e,{initialState:u})),s=this.backwardLayer.call(t,Object.assign(e,{initialState:l}))}let i;this.returnState&&(Array.isArray(o)&&(i=o.slice(1).concat(s.slice(1))),o=o[0],s=s[0]),this.returnSequences&&(s=pr(s,1));let a;return this.mergeMode===\"concat\"?a=Mm([o,s]):this.mergeMode===\"sum\"?a=J(o,s):this.mergeMode===\"ave\"?a=O(.5,J(o,s)):this.mergeMode===\"mul\"?a=O(o,s):this.mergeMode==null&&(a=[o,s]),this.returnState?this.mergeMode==null?a.concat(i):[a].concat(i):a})}resetStates(t){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(t){Ys(this.forwardLayer.name,()=>{this.forwardLayer.build(t)}),Ys(this.backwardLayer.name,()=>{this.backwardLayer.build(t)}),this.built=!0}computeMask(t,e){Array.isArray(e)&&(e=e[0]);let n;if(this.returnSequences?this.mergeMode==null?n=[e,e]:n=e:this.mergeMode==null?n=[null,null]:n=null,this.returnState){let s=this.forwardLayer.states.map(i=>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(t){super.setFastWeightInitDuringBuild(t),this.forwardLayer!=null&&this.forwardLayer.setFastWeightInitDuringBuild(t),this.backwardLayer!=null&&this.backwardLayer.setFastWeightInitDuringBuild(t)}getConfig(){let t={mergeMode:this.mergeMode},e=super.getConfig();return Object.assign(t,e),t}static fromConfig(t,e){let n=xn(e.layer);if(delete e.layer,e.numConstants!=null)throw new Nt(\"Deserialization of a Bidirectional layer with numConstants present is not supported yet.\");let o=e;return o.layer=n,new t(o)}};rd.className=\"Bidirectional\";rt.registerClass(rd);function TY(r){return new Js(r)}function NY(r){return new cf(r)}function kY(r){return new af(r)}function _Y(r){return new lf(r)}function EY(r){return new uf(r)}function AY(r){return new mf(r)}function $Y(r){return new pf(r)}function DY(r){return new Iu(r)}function RY(r){return new sl(r)}function FY(r){return new ff(r)}function OY(r){return new il(r)}function PY(r){return new df(r)}function LY(r){return new hf(r)}function MY(r){return new gf(r)}function zY(r){return new xf(r)}function BY(r){return new yf(r)}function VY(r){return new Nf(r)}function GY(r){return new Sf(r)}function WY(r){return new Dc(r)}function UY(r){return new If(r)}function HY(r){return new Tf(r)}function qY(r){return new kf(r)}function KY(r){return new _f(r)}function jY(r){return new Ef(r)}function XY(r){return new $f(r)}function YY(r){return new Df(r)}function ZY(r){return new Ff(r)}function JY(r){return new Lf(r)}function QY(r){return new Of(r)}function t7(r){return new Pf(r)}function e7(r){return new Rf(r)}function r7(r){return new Mf(r)}function n7(r){return new Gf(r)}function o7(r){return new Wf(r)}function s7(r){return new Uf(r)}function QS(r){return new qf(r)}function i7(r){return QS(r)}function a7(r){return QS(r)}function tT(r){return new jf(r)}function l7(r){return tT(r)}function u7(r){return tT(r)}function eT(r){return new Yf(r)}function c7(r){return eT(r)}function p7(r){return eT(r)}function m7(r){return new Zf(r)}function f7(r){return new Qf(r)}function PD(r){return new Jf(r)}function LD(r){return new td(r)}function MD(r){return new Hf(r)}function zD(r){return new Kf(r)}function d7(r){return new Xf(r)}function h7(r){return new wf(r)}function g7(r){return new Ec(r)}function x7(r){return new Cf(r)}function y7(r){return new ll(r)}function b7(r){return new bf(r)}function w7(r){return new _c(r)}function C7(r){return new vf(r)}function v7(r){return new $c(r)}function I7(r){return new _n(r)}function S7(r){return new Ac(r)}function T7(r){return new rd(r)}function N7(r){return new ed(r)}var k7=PD,_7=LD,E7=MD,A7=zD;function $7(r){return new zf(r)}function D7(r){return new Bf(r)}function R7(r){return new Vf(r)}function F7(r){return new Af(r)}var VD={};jt(VD,{MAPE:()=>H7,MSE:()=>j7,binaryAccuracy:()=>O7,binaryCrossentropy:()=>P7,categoricalAccuracy:()=>M7,categoricalCrossentropy:()=>z7,cosineProximity:()=>G7,mape:()=>q7,meanAbsoluteError:()=>W7,meanAbsolutePercentageError:()=>U7,meanSquaredError:()=>K7,mse:()=>X7,precision:()=>B7,recall:()=>V7,sparseCategoricalAccuracy:()=>L7});function O7(r,t){return Oh(r,t)}function P7(r,t){return nb(r,t)}function L7(r,t){return ob(r,t)}function M7(r,t){return Ph(r,t)}function z7(r,t){return Lh(r,t)}function B7(r,t){return VS(r,t)}function V7(r,t){return mD(r,t)}function G7(r,t){return Fh(r,t)}function W7(r,t){return tf(r,t)}function U7(r,t){return bu(r,t)}function H7(r,t){return bu(r,t)}function q7(r,t){return bu(r,t)}function K7(r,t){return Zi(r,t)}function j7(r,t){return Zi(r,t)}function X7(r,t){return Zi(r,t)}var GD={};jt(GD,{modelFromJSON:()=>_D});var WD={};jt(WD,{l1:()=>Z7,l1l2:()=>Y7,l2:()=>J7});function Y7(r){return new wu(r)}function Z7(r){return DD(r)}function J7(r){return RD(r)}var Lb=class extends ol{constructor(){super(...arguments),this.model=null}setModel(t){if(!(t instanceof Bn))throw new Error(\"model must be a LayersModel, not some other Container\");this.model=t}};function Pb(r,t){return rt}var Mb=class extends Lb{constructor(t){if(super(),t==null&&(t={}),t.restoreBestWeights)throw new Nt(\"restoreBestWeights = True is not implemented in EarlyStopping yet.\");this.monitor=t.monitor||\"val_loss\",this.minDelta=Math.abs(t.minDelta||0),this.patience=t.patience||0,this.verbose=t.verbose||0,this.mode=t.mode||\"auto\",this.baseline=t.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=Pb:this.mode===\"max\"?this.monitorFunc=UD:this.monitor.indexOf(\"acc\")!==-1?this.monitorFunc=UD:this.monitorFunc=Pb,this.monitorFunc===Pb&&(this.minDelta*=-1)}async onTrainBegin(t){this.wait=0,this.stoppedEpoch=0,this.baseline!=null?this.best=this.baseline:this.best=this.monitorFunc===Pb?1/0:-1/0}async onEpochEnd(t,e){await Yi(e);let n=this.getMonitorValue(e);n!=null&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=t,this.model.stopTraining=!0)))}async onTrainEnd(t){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(t){t==null&&(t={});let e=t[this.monitor];return e==null&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(t)}`),e}};function Q7(r){return new Mb(r)}var tZ={earlyStopping:Q7};var eZ=B();eZ.registerFlag(\"KEEP_INTERMEDIATE_TENSORS\",()=>!1,r=>{r&&console.warn(\"Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.\")});var eo;(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_QINT16=15]=\"DT_QINT16\",r[r.DT_QUINT16=16]=\"DT_QUINT16\",r[r.DT_UINT16=17]=\"DT_UINT16\",r[r.DT_COMPLEX128=18]=\"DT_COMPLEX128\",r[r.DT_HALF=19]=\"DT_HALF\",r[r.DT_RESOURCE=20]=\"DT_RESOURCE\",r[r.DT_VARIANT=21]=\"DT_VARIANT\",r[r.DT_UINT32=22]=\"DT_UINT32\",r[r.DT_UINT64=23]=\"DT_UINT64\",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\",r[r.DT_QINT16_REF=115]=\"DT_QINT16_REF\",r[r.DT_QUINT16_REF=116]=\"DT_QUINT16_REF\",r[r.DT_UINT16_REF=117]=\"DT_UINT16_REF\",r[r.DT_COMPLEX128_REF=118]=\"DT_COMPLEX128_REF\",r[r.DT_HALF_REF=119]=\"DT_HALF_REF\",r[r.DT_RESOURCE_REF=120]=\"DT_RESOURCE_REF\",r[r.DT_VARIANT_REF=121]=\"DT_VARIANT_REF\",r[r.DT_UINT32_REF=122]=\"DT_UINT32_REF\",r[r.DT_UINT64_REF=123]=\"DT_UINT64_REF\"})(eo||(eo={}));var HD;(function(r){let t;(function(e){e[e.LEGACY=0]=\"LEGACY\",e[e.V1=1]=\"V1\",e[e.V2=2]=\"V2\"})(t=r.CheckpointFormatVersion||(r.CheckpointFormatVersion={}))})(HD||(HD={}));var rT={};function nZ(r,t){let e={tfOpName:r,category:\"custom\",inputs:[],attrs:[],customExecutor:t};rT[r]=e}function zb(r){return rT[r]}function oZ(r){delete rT[r]}function I(r,t,e,n,o){let s=t.inputParams[r];if(s&&s.inputIndexStart!==void 0){let a=s.inputIndexStart,u=s.inputIndexEnd===0?void 0:s.inputIndexEnd===void 0?a+1:s.inputIndexEnd;if(s.type===\"tensor\")return wr(t.inputNames[s.inputIndexStart],e,n,o);if(s.type===\"tensors\")return t.inputNames.slice(a,u).map(m=>wr(m,e,n,o));let l=wr(t.inputNames.slice(a)[0],e,n,o),c=l.dataSync();return s.type===\"number\"?c[0]:y.toNestedArray(l.shape,c)}let i=t.attrParams[r];return i&&i.value}function wr(r,t,e,n){let[o,s]=yn(r);if(n!=null){let a=n.getHashTableHandleByName(o);if(a!=null)return a}let i=e.currentContextIds.find(a=>!!t[Bb(o,a)]);return i!==void 0?t[Bb(o,i)][s]:void 0}function qD(r,t,e){return t[Bb(r,e.currentContextId)]}function _o(r,t){let[e,n,o]=yn(r);return[Bb(e,t&&t.currentContextId),n,o]}function Bb(r,t){return t?`${r}-${t}`:r}function yn(r){let t=r.split(\":\");if(t.length===1)return[r,0,void 0];let e=t[0],n=t.length===3?t[1]:void 0,o=Number(t[t.length-1]);return[e,o,n]}function Gh(r,t,e){let n=I(\"pad\",r,t,e);if(n===\"explicit\"){n=I(\"explicitPaddings\",r,t,e);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 ri(r){return r.kept?r:an(r)}var nT={};jt(nT,{json:()=>sZ});var sZ=[{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 oT={};jt(oT,{json:()=>iZ});var iZ=[{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}]},{tfOpName:\"IsNan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var sT={};jt(sT,{json:()=>aZ});var aZ=[{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:\"TensorListConcatV2\",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\"}]},{tfOpName:\"TensorListLength\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}]},{tfOpName:\"TensorListResize\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"}]}];var iT={};jt(iT,{json:()=>lZ});var lZ=[{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\",defaultValue:.2}]},{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 aT={};jt(aT,{json:()=>uZ});var uZ=[{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\"}]},{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:\"RandomStandardNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{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:\"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 lT={};jt(lT,{json:()=>cZ});var cZ=[{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 uT={};jt(uT,{json:()=>pZ});var pZ=[{tfOpName:\"LowerBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{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:\"UpperBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{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 cT={};jt(cT,{json:()=>mZ});var mZ=[{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 pT={};jt(pT,{json:()=>fZ});var fZ=[{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}]},{tfOpName:\"LookupTableSize\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"LookupTableSizeV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]}];var mT={};jt(mT,{json:()=>dZ});var dZ=[{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\"}]},{tfOpName:\"ImageProjectiveTransformV3\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"transforms\",type:\"tensor\"},{start:2,name:\"outputShape\",type:\"number[]\"},{start:3,name:\"fillValue\",type:\"number\"}],attrs:[{tfName:\"interpolation\",name:\"interpolation\",type:\"string\"},{tfName:\"fill_mode\",name:\"fillMode\",type:\"string\"}]}];var fT={};jt(fT,{json:()=>hZ});var hZ=[{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 dT={};jt(dT,{json:()=>gZ});var gZ=[{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:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2},{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}]},{tfOpName:\"Einsum\",category:\"matrices\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"equation\",name:\"equation\",type:\"string\"},{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]}];var hT={};jt(hT,{json:()=>xZ});var xZ=[{tfOpName:\"EuclideanNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\",defaultValue:!1}]},{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 gT={};jt(gT,{json:()=>yZ});var yZ=[{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:\"Cumprod\",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\"}]},{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 xT={};jt(xT,{json:()=>bZ});var bZ=[{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 yT={};jt(yT,{json:()=>wZ});var wZ=[{tfOpName:\"SparseFillEmptyRows\",category:\"sparse\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"denseShape\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}]},{tfOpName:\"SparseReshape\",category:\"sparse\",inputs:[{start:0,name:\"inputIndices\",type:\"tensor\"},{start:1,name:\"inputShape\",type:\"tensor\"},{start:2,name:\"newShape\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SparseSegmentMean\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]},{tfOpName:\"SparseSegmentSum\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]}];var bT={};jt(bT,{json:()=>CZ});var CZ=[{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 wT={};jt(wT,{json:()=>vZ});var vZ=[{tfOpName:\"StringNGrams\",category:\"string\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"dataSplits\",type:\"tensor\"}],attrs:[{tfName:\"separator\",name:\"separator\",type:\"string\"},{tfName:\"ngram_widths\",name:\"nGramWidths\",type:\"number[]\"},{tfName:\"left_pad\",name:\"leftPad\",type:\"string\"},{tfName:\"right_pad\",name:\"rightPad\",type:\"string\"},{tfName:\"pad_width\",name:\"padWidth\",type:\"number\"},{tfName:\"preserve_short_sequences\",name:\"preserveShortSequences\",type:\"bool\"}],outputs:[\"ngrams\",\"ngrams_splits\"]},{tfOpName:\"StringSplit\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"delimiter\",type:\"tensor\"}],attrs:[{tfName:\"skip_empty\",name:\"skipEmpty\",type:\"bool\"}],outputs:[\"indices\",\"values\",\"shape\"]},{tfOpName:\"StringToHashBucketFast\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"}],attrs:[{tfName:\"num_buckets\",name:\"numBuckets\",type:\"number\"}]}];var CT={};jt(CT,{json:()=>IZ});var IZ=[{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:[]},{tfOpName:\"BroadcastArgs\",category:\"transformation\",inputs:[{start:0,name:\"s0\",type:\"tensor\"},{start:1,name:\"s1\",type:\"tensor\"}],attrs:[]}];var Wh=class{static get Instance(){return this._instance||(this._instance=new this)}constructor(){let t=[nT,oT,sT,iT,aT,lT,uT,cT,pT,mT,fT,dT,hT,gT,xT,yT,bT,wT,CT],e=[].concat(...t.map(n=>n.json));this.opMappers=e.reduce((n,o)=>(n[o.tfOpName]=o,n),{})}transformGraph(t,e={}){let n=t.node,o=[],s=[],i=[],a=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)&&i.push(h[g.name]),h),{}),u=[],l=[],c={},p={};e!=null&&(c=this.mapSignatureEntries(e.inputs),p=this.mapSignatureEntries(e.outputs));let m=Object.keys(a);m.forEach(h=>{let g=a[h];g.inputNames.forEach((x,b)=>{let[w,,C]=_o(x),T=a[w];if(T.outputs!=null){let E=T.outputs.indexOf(C);if(E!==-1){let $=`${w}:${E}`;g.inputNames[b]=$}}g.inputs.push(T),T.children.push(g)})}),Object.keys(p).length===0?m.forEach(h=>{let g=a[h];g.children.length===0&&l.push(g)}):Object.keys(p).forEach(h=>{let[g]=_o(h),x=a[g];x!=null&&(x.signatureKey=p[h],l.push(x))}),Object.keys(c).length>0?Object.keys(c).forEach(h=>{let[g]=_o(h),x=a[g];x&&(x.signatureKey=c[h],u.push(x))}):u=o;let f={};t.library!=null&&t.library.function!=null&&(f=t.library.function.reduce((h,g)=>(h[g.signature.name]=this.mapFunction(g),h),{}));let d={nodes:a,inputs:u,outputs:l,weights:s,placeholders:o,signature:e,functions:f};return i.length>0&&(d.initNodes=i),d}mapSignatureEntries(t){return Object.keys(t||{}).reduce((e,n)=>(e[t[n].name]=n,e),{})}mapNode(t){let e=zb(t.op)||this.opMappers[t.op]||{};t.attr==null&&(t.attr={});let n={name:t.name,op:t.op,category:e.category,inputNames:(t.input||[]).map(o=>o.startsWith(\"^\")?o.slice(1):o),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:t.attr,outputs:e.outputs};return e.inputs!=null&&(n.inputParams=e.inputs.reduce((o,s)=>(o[s.name]={type:s.type,inputIndexStart:s.start,inputIndexEnd:s.end},o),{})),e.attrs!=null&&(n.attrParams=e.attrs.reduce((o,s)=>{let i=s.type,a;switch(s.type){case\"string\":a=Vb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Vb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"string[]\":a=jb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=jb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number\":a=Wb(t.attr,s.tfName,s.defaultValue||0),a===void 0&&!!s.tfDeprecatedName&&(a=Wb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number[]\":a=Kb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Kb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool\":a=Gb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Gb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool[]\":a=Yb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Yb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape\":a=qb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=qb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape[]\":a=Xb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Xb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype\":a=Ub(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Ub(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype[]\":a=Hb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Hb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"func\":a=KD(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=KD(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"tensor\":case\"tensors\":break;default:throw new Error(`Unsupported param type: ${s.type} for op: ${t.op}`)}return o[s.name]={value:a,type:i},o},{})),n}mapFunction(t){let e=t.nodeDef,n=[],o=[],s={};e!=null&&(s=e.reduce((p,m)=>(p[m.name]=this.mapNode(m),m.op===\"Const\"&&o.push(p[m.name]),p),{}));let i=[],a=[];t.signature.inputArg.forEach(p=>{let[m]=_o(p.name),f={name:m,op:\"Placeholder\",inputs:[],inputNames:[],category:\"graph\",inputParams:{},attrParams:{dtype:{value:vT(p.type),type:\"dtype\"}},children:[]};f.signatureKey=p.name,i.push(f),s[m]=f}),Object.keys(s).forEach(p=>{let m=s[p];m.inputNames.forEach((f,d)=>{let[h,,g]=_o(f),x=s[h];if(x.outputs!=null){let b=x.outputs.indexOf(g);if(b!==-1){let w=`${h}:${b}`;m.inputNames[d]=w}}m.inputs.push(x),x.children.push(m)})});let l=t.ret;t.signature.outputArg.forEach(p=>{let[m,f]=_o(l[p.name]),d=s[m];d!=null&&(d.defaultOutput=f,a.push(d))});let c=this.mapArgsToSignature(t);return{nodes:s,inputs:i,outputs:a,weights:o,placeholders:n,signature:c}}mapArgsToSignature(t){return{methodName:t.signature.name,inputs:t.signature.inputArg.reduce((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n),e),{}),outputs:t.signature.outputArg.reduce((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n,t.ret),e),{})}}mapArgToTensorInfo(t,e){let n=t.name;return e!=null&&(n=e[n]),{name:n,dtype:t.type}}};function SZ(r){let t=B().global;if(typeof t.atob!=\"undefined\")return t.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 jD(r,t){let e=Array.isArray(r)?String.fromCharCode.apply(null,r):SZ(r);return t?e:e.toLowerCase()}function Vb(r,t,e,n=!1){let o=r[t];return o!=null?jD(o.s,n):e}function Gb(r,t,e){let n=r[t];return n?n.b:e}function Wb(r,t,e){let n=r[t]||{},o=n.i!=null?n.i:n.f!=null?n.f:e;return typeof o==\"number\"?o:parseInt(o,10)}function vT(r){switch(typeof r==\"string\"&&(r=eo[r]),r){case eo.DT_FLOAT:case eo.DT_HALF:return\"float32\";case eo.DT_INT32:case eo.DT_INT64:case eo.DT_INT8:case eo.DT_UINT8:return\"int32\";case eo.DT_BOOL:return\"bool\";case eo.DT_DOUBLE:return\"float32\";case eo.DT_STRING:return\"string\";default:return null}}function KD(r,t,e){let n=r[t];return n&&n.func?n.func.name:e}function Ub(r,t,e){let n=r[t];return n&&n.type?vT(n.type):e}function Hb(r,t,e){let n=r[t];return n&&n.list&&n.list.type?n.list.type.map(o=>vT(o)):e}function XD(r){if(!r.unknownRank)return r.dim!=null?r.dim.map(t=>typeof t.size==\"number\"?t.size:parseInt(t.size,10)):[]}function qb(r,t,e){let n=r[t];return n&&n.shape?XD(n.shape):e}function Kb(r,t,e){let n=r[t];return n?((n.list.f&&n.list.f.length?n.list.f:n.list.i)||[]).map(o=>typeof o==\"number\"?o:parseInt(o,10)):e}function jb(r,t,e,n=!1){let o=r[t];return o&&o.list&&o.list.s?o.list.s.map(s=>jD(s,n)):e}function Xb(r,t,e){let n=r[t];return n&&n.list&&n.list.shape?n.list.shape.map(o=>XD(o)):e}function Yb(r,t,e){let n=r[t];return n&&n.list&&n.list.b?n.list.b:e}var Zb=class{constructor(t,e,n){this.node=t,this.tensorMap=e,this.context=n,this.inputs=[],this.attrs={},this.inputs=t.inputNames.map(o=>this.getInput(o)),t.rawAttrs!=null&&(this.attrs=Object.keys(t.rawAttrs).reduce((o,s)=>(o[s]=this.getAttr(s),o),{}))}getInput(t){return wr(t,this.tensorMap,this.context)}getAttr(t,e){let n=this.node.rawAttrs[t];if(n.tensor!=null)return wr(t,this.tensorMap,this.context);if(n.i!=null||n.f!=null)return Wb(this.node.rawAttrs,t,e);if(n.s!=null)return Vb(this.node.rawAttrs,t,e);if(n.b!=null)return Gb(this.node.rawAttrs,t,e);if(n.shape!=null)return qb(this.node.rawAttrs,t,e);if(n.type!=null)return Ub(this.node.rawAttrs,t,e);if(n.list!=null){if(n.list.i!=null||n.list.f!=null)return Kb(this.node.rawAttrs,t,e);if(n.list.s!=null)return jb(this.node.rawAttrs,t,e);if(n.list.shape!=null)return Xb(this.node.rawAttrs,t,e);if(n.list.b!=null)return Yb(this.node.rawAttrs,t,e);if(n.list.type!=null)return Hb(this.node.rawAttrs,t,e)}return e}};var ue={};jt(ue,{OP_SCOPE_SUFFIX:()=>z0,abs:()=>$e,acos:()=>Cx,acosh:()=>vx,add:()=>J,addN:()=>J_,all:()=>cm,any:()=>Ju,argMax:()=>Oi,argMin:()=>Ix,asin:()=>Sx,asinh:()=>Tx,atan:()=>Nx,atan2:()=>kx,atanh:()=>_x,avgPool:()=>Xl,avgPool3d:()=>Ax,basicLSTMCell:()=>eE,batchNorm:()=>Li,batchNorm2d:()=>$x,batchNorm3d:()=>Dx,batchNorm4d:()=>Rx,batchToSpaceND:()=>Yl,bincount:()=>Fx,booleanMaskAsync:()=>w6,broadcastArgs:()=>nE,broadcastTo:()=>Mi,buffer:()=>vt,cast:()=>tt,ceil:()=>Ox,clipByValue:()=>Ir,clone:()=>an,complex:()=>Cn,concat:()=>se,concat1d:()=>Px,concat2d:()=>Lx,concat3d:()=>Mx,concat4d:()=>zx,conv1d:()=>mm,conv2d:()=>Sn,conv2dTranspose:()=>dm,conv3d:()=>Bx,conv3dTranspose:()=>Gx,cos:()=>Zl,cosh:()=>hm,cosineWindow:()=>Sh,cumprod:()=>ec,cumsum:()=>gm,denseBincount:()=>oE,depthToSpace:()=>Wx,depthwiseConv2d:()=>zi,diag:()=>sE,dilation2d:()=>Ux,div:()=>ct,divNoNan:()=>Hx,dot:()=>qx,dropout:()=>bS,einsum:()=>iE,elu:()=>Bi,enclosingPowerOfTwo:()=>wS,equal:()=>Ar,erf:()=>Kx,euclideanNorm:()=>jx,exp:()=>or,expandDims:()=>yr,expm1:()=>Xx,eye:()=>nc,fft:()=>iu,fill:()=>Vi,floor:()=>Gi,floorDiv:()=>um,fused:()=>lu,gather:()=>Wi,gatherND:()=>E6,greater:()=>Xe,greaterEqual:()=>Pn,ifft:()=>Qa,imag:()=>jl,image:()=>uu,inTopKAsync:()=>D6,irfft:()=>Am,isFinite:()=>Yx,isInf:()=>Zx,isNaN:()=>Jx,leakyRelu:()=>Jl,less:()=>xm,lessEqual:()=>Ln,linalg:()=>vS,linspace:()=>uE,localResponseNormalization:()=>Qx,log:()=>Sr,log1p:()=>Ql,logSigmoid:()=>ry,logSoftmax:()=>ym,logSumExp:()=>bm,logicalAnd:()=>Dr,logicalNot:()=>tu,logicalOr:()=>wm,logicalXor:()=>ny,losses:()=>D5,lowerBound:()=>cE,matMul:()=>Gt,max:()=>Mr,maxPool:()=>eu,maxPool3d:()=>sy,maxPoolWithArgmax:()=>pE,maximum:()=>Tn,mean:()=>ke,meshgrid:()=>mE,min:()=>rc,minimum:()=>Ui,mirrorPad:()=>iy,mod:()=>ay,moments:()=>oc,movingAverage:()=>v6,mul:()=>O,multiRNNCell:()=>fE,multinomial:()=>dE,neg:()=>Yt,norm:()=>Ja,notEqual:()=>qs,oneHot:()=>Ri,ones:()=>cr,onesLike:()=>br,op:()=>N,outerProduct:()=>hE,pad:()=>cn,pad1d:()=>gE,pad2d:()=>xE,pad3d:()=>yE,pad4d:()=>bE,pool:()=>ly,pow:()=>ln,prelu:()=>nu,print:()=>mx,prod:()=>uy,raggedTensorToTensor:()=>wE,rand:()=>CE,randomGamma:()=>ME,randomNormal:()=>ac,randomStandardNormal:()=>zE,randomUniform:()=>Hi,range:()=>ou,real:()=>Za,reciprocal:()=>dy,relu:()=>Rr,relu6:()=>Cm,reshape:()=>F,reverse:()=>pr,reverse1d:()=>BE,reverse2d:()=>VE,reverse3d:()=>GE,reverse4d:()=>WE,rfft:()=>au,round:()=>vm,rsqrt:()=>Im,scalar:()=>mt,scatterND:()=>S6,searchSorted:()=>Ch,selu:()=>Sm,separableConv2d:()=>Tm,setdiff1dAsync:()=>UE,sigmoid:()=>Kr,sign:()=>hy,signal:()=>$5,sin:()=>Nm,sinh:()=>km,slice:()=>Ot,slice1d:()=>_m,slice2d:()=>Ih,slice3d:()=>Em,slice4d:()=>lc,softmax:()=>su,softplus:()=>Hs,spaceToBatchND:()=>ru,sparse:()=>R5,sparseToDense:()=>k6,spectral:()=>A5,split:()=>mr,sqrt:()=>Ne,square:()=>Ht,squaredDifference:()=>$m,squeeze:()=>Mn,stack:()=>sr,step:()=>yo,stridedSlice:()=>gy,string:()=>F5,sub:()=>ut,sum:()=>ft,tan:()=>xy,tanh:()=>Pi,tensor:()=>vr,tensor1d:()=>Ve,tensor2d:()=>Ks,tensor3d:()=>gx,tensor4d:()=>HE,tensor5d:()=>qE,tensor6d:()=>KE,tile:()=>$r,topk:()=>yy,transpose:()=>Mt,truncatedNormal:()=>Dm,unique:()=>by,unsortedSegmentSum:()=>Rm,unstack:()=>Tr,upperBound:()=>jE,variable:()=>wy,where:()=>De,whereAsync:()=>vy,zeros:()=>_e,zerosLike:()=>St});var YD=(r,t,e,n=ue)=>{switch(r.op){case\"BiasAdd\":case\"AddV2\":case\"Add\":return[n.add(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"AddN\":return[n.addN(I(\"tensors\",r,t,e))];case\"FloorMod\":case\"Mod\":return[n.mod(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Mul\":return[n.mul(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"RealDiv\":case\"Div\":return[n.div(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"DivNoNan\":return[n.divNoNan(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"FloorDiv\":return[n.floorDiv(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Sub\":return[n.sub(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Minimum\":return[n.minimum(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Maximum\":return[n.maximum(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Pow\":return[n.pow(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"SquaredDifference\":return[n.squaredDifference(I(\"a\",r,t,e),I(\"b\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var ZD=(r,t,e,n=ue)=>{switch(r.op){case\"Abs\":case\"ComplexAbs\":return[n.abs(I(\"x\",r,t,e))];case\"Acos\":return[n.acos(I(\"x\",r,t,e))];case\"Acosh\":return[n.acosh(I(\"x\",r,t,e))];case\"Asin\":return[n.asin(I(\"x\",r,t,e))];case\"Asinh\":return[n.asinh(I(\"x\",r,t,e))];case\"Atan\":return[n.atan(I(\"x\",r,t,e))];case\"Atan2\":return[n.atan2(I(\"x\",r,t,e),I(\"y\",r,t,e))];case\"Atanh\":return[n.atanh(I(\"x\",r,t,e))];case\"Ceil\":return[n.ceil(I(\"x\",r,t,e))];case\"Complex\":return[n.complex(I(\"real\",r,t,e),I(\"imag\",r,t,e))];case\"Cos\":return[n.cos(I(\"x\",r,t,e))];case\"Cosh\":return[n.cosh(I(\"x\",r,t,e))];case\"Elu\":return[n.elu(I(\"x\",r,t,e))];case\"Erf\":return[n.erf(I(\"x\",r,t,e))];case\"Exp\":return[n.exp(I(\"x\",r,t,e))];case\"Expm1\":return[n.expm1(I(\"x\",r,t,e))];case\"Floor\":return[n.floor(I(\"x\",r,t,e))];case\"Log\":return[n.log(I(\"x\",r,t,e))];case\"Log1p\":return[n.log1p(I(\"x\",r,t,e))];case\"Imag\":return[n.imag(I(\"x\",r,t,e))];case\"Neg\":return[n.neg(I(\"x\",r,t,e))];case\"Reciprocal\":return[n.reciprocal(I(\"x\",r,t,e))];case\"Real\":return[n.real(I(\"x\",r,t,e))];case\"Relu\":return[n.relu(I(\"x\",r,t,e))];case\"Round\":return[n.round(I(\"x\",r,t,e))];case\"Selu\":return[n.selu(I(\"x\",r,t,e))];case\"Sigmoid\":return[n.sigmoid(I(\"x\",r,t,e))];case\"Sin\":return[n.sin(I(\"x\",r,t,e))];case\"Sign\":return[n.sign(I(\"x\",r,t,e))];case\"Sinh\":return[n.sinh(I(\"x\",r,t,e))];case\"Softplus\":return[n.softplus(I(\"x\",r,t,e))];case\"Sqrt\":return[n.sqrt(I(\"x\",r,t,e))];case\"Square\":return[n.square(I(\"x\",r,t,e))];case\"Tanh\":return[n.tanh(I(\"x\",r,t,e))];case\"Tan\":return[n.tan(I(\"x\",r,t,e))];case\"ClipByValue\":return[n.clipByValue(I(\"x\",r,t,e),I(\"clipValueMin\",r,t,e),I(\"clipValueMax\",r,t,e))];case\"Relu6\":return[n.relu6(I(\"x\",r,t,e))];case\"Rsqrt\":return[n.rsqrt(wr(r.inputNames[0],t,e))];case\"Prod\":return[n.prod(I(\"x\",r,t,e),I(\"axes\",r,t,e))];case\"LeakyRelu\":return[n.leakyRelu(I(\"x\",r,t,e),I(\"alpha\",r,t,e))];case\"Prelu\":return[n.prelu(I(\"x\",r,t,e),I(\"alpha\",r,t,e))];case\"IsNan\":return[n.isNaN(wr(r.inputNames[0],t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function Vn(r,t,e=\"\"){if(!(typeof r==\"number\"||typeof t==\"number\")){y.assert(r.length===t.length,()=>e+` Shapes ${r} and ${t} must match`);for(let n=0;ne+` Shapes ${r} and ${t} must match`)}}}function JD(r){return!(typeof r==\"number\"||r.some(t=>t<0))}function nd(r,t,e){let n=Jb(r,e),o=!JD(n);if(o&&t.length===0)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${n}`);if(o&&t.forEach(s=>{n=Jb(s.shape,n)}),!JD(n))throw new Error(`Non-fully-defined elementShape: ${n}`);return n}function Jb(r,t){if(typeof r==\"number\")return t;if(typeof t==\"number\")return r;if(r.length!==t.length)throw new Error(`Incompatible ranks during merge: ${r} vs. ${t}`);let e=[];for(let n=0;n=0&&s>=0&&o!==s)throw new Error(`Incompatible shape during merge: ${r} vs. ${t}`);e[n]=o>=0?o:s}return e}var Qb=class{constructor(t,e,n,o,s,i,a){this.name=t,this.dtype=e,this.maxSize=n,this.elementShape=o,this.identicalElementShapes=s,this.dynamicSize=i,this.clearAfterRead=a,this.tensors=[],this.closed_=!1,this.idTensor=mt(0),Oe(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(t){this.tensors.forEach(e=>{(t==null||!t.has(e.tensor.id))&&e.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||t>=this.size())throw new Error(`Tried to read from index ${t}, but array size is: ${this.size()}`);let e=this.tensors[t];if(e.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${t} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(e.cleared=!0),e.read=!0,e.tensor}readMany(t){return t.map(e=>this.read(e))}write(t,e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||!this.dynamicSize&&t>=this.maxSize)throw new Error(`Tried to write to index ${t}, but array is not resizeable and size is: ${this.maxSize}`);let n=this.tensors[t]||{};if(e.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t},\n because the value dtype is ${e.dtype}, but TensorArray dtype is ${this.dtype}.`);if(this.size()===0&&(this.elementShape==null||this.elementShape.length===0)&&(this.elementShape=e.shape),Vn(this.elementShape,e.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${t}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been written.`);n.tensor=e,Oe(e),n.written=!0,this.tensors[t]=n}writeMany(t,e){if(t.length!==e.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${t.length} is not the same as tensors size: ${e.length}.`);t.forEach((n,o)=>this.write(n,e[o]))}gather(t,e){if(!!e&&e!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${e}`);if(t)t=t.slice(0,this.size());else{t=[];for(let o=0;o=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(t,Tr(e,0))}split(t,e){if(e.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${e.dtype}`);let n=0,o=t.map(u=>(n+=u,n));if(n!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${e.shape}`);if(!this.dynamicSize&&t.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${t.length}), and the TensorArray is not marked as dynamically resizeable`);let s=n===0?0:e.size/n,i=[];G(()=>{e=F(e,[1,n,s]);for(let u=0;u{if(n!==s.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${s.dtype}`);Vn(e,s.shape,\"TensorList shape mismatch: \"),Oe(s)}),this.idTensor=mt(0),this.maxNumElements=o,Oe(this.idTensor)}get id(){return this.idTensor.id}copy(){return new pl([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(t){this.tensors.forEach(e=>{(t==null||!t.has(e.id))&&e.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(t,e,n=-1){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, 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.`);Vn(t,this.elementShape,\"TensorList shape mismatch: \");let o=nd(this.elementShape,this.tensors,t);return G(()=>{let s=this.tensors.map(i=>F(i,o));return sr(s,0)})}popBack(t,e){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(this.size()===0)throw new Error(\"Trying to pop from an empty list.\");let n=nd(this.elementShape,this.tensors,t),o=this.tensors.pop();return o.kept=!1,Vn(o.shape,t,\"TensorList shape mismatch: \"),F(o,n)}pushBack(t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(Vn(t.shape,this.elementShape,\"TensorList shape mismatch: \"),this.maxNumElements===this.size())throw new Error(\"Trying to push element into a full list.\");Oe(t),this.tensors.push(t)}resize(t){if(t<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${t}`);if(this.maxNumElements!==-1&&t>this.maxNumElements)throw new Error(`TensorListResize input size ${t} is greater maxNumElement ${this.maxNumElements}.`);let e=new pl([],this.elementShape,this.elementDtype,this.maxNumElements);e.tensors.length=t;for(let n=0;nthis.tensors.length)throw new Error(`Trying to access element ${t} in a list with ${this.tensors.length} elements.`);if(this.tensors[t]==null)throw new Error(`element at index ${t} is null.`);Vn(this.tensors[t].shape,e,\"TensorList shape mismatch: \");let o=nd(this.elementShape,this.tensors,e);return F(this.tensors[t],o)}setItem(t,e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(t<0||this.maxNumElements!==-1&&t>=this.maxNumElements)throw new Error(`Trying to set element ${t} in a list with max ${this.maxNumElements} elements.`);Vn(this.elementShape,e.shape,\"TensorList shape mismatch: \"),Oe(e),this.tensors[t]!=null&&(this.tensors[t].kept=!1),this.tensors[t]=e}gather(t,e,n){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);Vn(this.elementShape,n,\"TensorList shape mismatch: \"),t=t.slice(0,this.size());let o=nd(this.elementShape,this.tensors,n);return t.length===0?vr([],[0].concat(o)):G(()=>{let s=t.map(i=>F(this.tensors[i],o));return sr(s,0)})}concat(t,e){if(!!t&&t!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${t}`);Vn(this.elementShape,e,\"TensorList shape mismatch: \");let n=nd(this.elementShape,this.tensors,e);return this.size()===0?vr([],[0].concat(n)):G(()=>{let o=this.tensors.map(s=>F(s,n));return se(o,0)})}};function QD(r,t,e){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!==e)throw new Error(`Invalid data types; op elements ${r.dtype}, but list elements ${e}`);let o=r.shape.slice(1);Vn(o,t,\"TensorList shape mismatch: \");let s=Tr(r);return new pl(s,t,n)}function tR(r,t,e,n){return new pl([],r,t,n)}function eR(r,t,e,n){if(t.length!==r.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${r.shape[0]}`);let o=Math.max(...t);if(n!=null&&n!==-1&&o>=n)throw new Error(`Max index must be < array size (${o} vs. ${n})`);let s=new pl([],e,r.dtype,n),i=Tr(r,0);return t.forEach((a,u)=>{s.setItem(a,i[u])}),s}function rR(r,t,e){let n=0,o=t.map(c=>(n+=c,n));if(n!==r.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${r.shape}`);let s=r.shape.slice(1),i=Jb(s,e),a=n===0?0:r.size/n,u=G(()=>{let c=[];r=F(r,[1,n,a]);for(let p=0;p{switch(r.op){case\"If\":case\"StatelessIf\":{let n=I(\"thenBranch\",r,t,e),o=I(\"elseBranch\",r,t,e),s=I(\"cond\",r,t,e),i=I(\"args\",r,t,e);return(await s.data())[0]?e.functionMap[n].executeFunctionAsync(i,e.tensorArrayMap,e.tensorListMap):e.functionMap[o].executeFunctionAsync(i,e.tensorArrayMap,e.tensorListMap)}case\"While\":case\"StatelessWhile\":{let n=I(\"body\",r,t,e),o=I(\"cond\",r,t,e),s=I(\"args\",r,t,e),i=await e.functionMap[o].executeFunctionAsync(s,e.tensorArrayMap,e.tensorListMap),a=s.map(c=>c.id),u=await i[0].data();i.forEach(c=>{!c.kept&&a.indexOf(c.id)===-1&&c.dispose()});let l=s;for(;u[0];){let c=l;l=await e.functionMap[n].executeFunctionAsync(l,e.tensorArrayMap,e.tensorListMap);let p=l.map(f=>f.id);c.forEach(f=>{!f.kept&&a.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()});let m=await e.functionMap[o].executeFunctionAsync(l,e.tensorArrayMap,e.tensorListMap);u=await m[0].data(),m.forEach(f=>{!f.kept&&a.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()})}return l}case\"LoopCond\":{let n=I(\"pred\",r,t,e);return[ri(n)]}case\"Switch\":{let n=I(\"pred\",r,t,e),o=I(\"data\",r,t,e);return o.kept||(o=ri(o)),(await n.data())[0]?[void 0,o]:[o,void 0]}case\"Merge\":{let n=r.inputNames.find(o=>wr(o,t,e)!==void 0);if(n){let o=wr(n,t,e);return[ri(o)]}return}case\"Enter\":{let n=I(\"frameName\",r,t,e),o=I(\"tensor\",r,t,e);return e.enterFrame(n),[ri(o)]}case\"Exit\":{let n=I(\"tensor\",r,t,e);return e.exitFrame(),[ri(n)]}case\"NextIteration\":{let n=I(\"tensor\",r,t,e);return e.nextIteration(),[ri(n)]}case\"TensorArrayV3\":{let n=I(\"size\",r,t,e),o=I(\"dtype\",r,t,e),s=I(\"elementShape\",r,t,e),i=I(\"dynamicSize\",r,t,e),a=I(\"clearAfterRead\",r,t,e),u=I(\"identicalElementShapes\",r,t,e),l=I(\"name\",r,t,e),c=new Qb(l,o,n,s,u,i,a);return e.addTensorArray(c),[c.idTensor,mt(1)]}case\"TensorArrayWriteV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"index\",r,t,e),s=I(\"tensor\",r,t,e),i=e.getTensorArray(n.id);return i.write(o,s),[i.idTensor]}case\"TensorArrayReadV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"index\",r,t,e);return[e.getTensorArray(n.id).read(o)]}case\"TensorArrayGatherV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"indices\",r,t,e),s=I(\"dtype\",r,t,e);return[e.getTensorArray(n.id).gather(o,s)]}case\"TensorArrayScatterV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"indices\",r,t,e),s=I(\"tensor\",r,t,e),i=e.getTensorArray(n.id);return i.scatter(o,s),[i.idTensor]}case\"TensorArrayConcatV3\":{let n=I(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id),s=I(\"dtype\",r,t,e);return[o.concat(s)]}case\"TensorArraySplitV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"tensor\",r,t,e),s=I(\"lengths\",r,t,e),i=e.getTensorArray(n.id);return i.split(s,o),[i.idTensor]}case\"TensorArraySizeV3\":{let n=I(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id);return[mt(o.size(),\"int32\")]}case\"TensorArrayCloseV3\":{let n=I(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id);return o.clearAndClose(),[o.idTensor]}case\"TensorListSetItem\":{let n=I(\"tensorListId\",r,t,e),o=I(\"index\",r,t,e),s=I(\"tensor\",r,t,e),i=e.getTensorList(n.id);return i.setItem(o,s),[i.idTensor]}case\"TensorListGetItem\":{let n=I(\"tensorListId\",r,t,e),o=I(\"index\",r,t,e),s=I(\"elementShape\",r,t,e),i=I(\"elementDType\",r,t,e);return[e.getTensorList(n.id).getItem(o,s,i)]}case\"TensorListScatterV2\":case\"TensorListScatter\":{let n=I(\"indices\",r,t,e),o=I(\"tensor\",r,t,e),s=I(\"elementShape\",r,t,e),i=I(\"numElements\",r,t,e),a=eR(o,n,s,i);return e.addTensorList(a),[a.idTensor]}case\"TensorListReserve\":case\"EmptyTensorList\":{let n=I(\"elementShape\",r,t,e),o=I(\"elementDType\",r,t,e),s;r.op===\"TensorListReserve\"?s=\"numElements\":s=\"maxNumElements\";let i=I(s,r,t,e),a=r.op===\"TensorListReserve\"?-1:i,u=tR(n,o,i,a);return e.addTensorList(u),[u.idTensor]}case\"TensorListGather\":{let n=I(\"tensorListId\",r,t,e),o=I(\"indices\",r,t,e),s=I(\"elementShape\",r,t,e),i=I(\"elementDType\",r,t,e);return[e.getTensorList(n.id).gather(o,i,s)]}case\"TensorListStack\":{let n=I(\"tensorListId\",r,t,e),o=I(\"elementShape\",r,t,e),s=I(\"elementDType\",r,t,e),i=I(\"numElements\",r,t,e);return[e.getTensorList(n.id).stack(o,s,i)]}case\"TensorListFromTensor\":{let n=I(\"tensor\",r,t,e),o=I(\"elementShape\",r,t,e),s=I(\"elementDType\",r,t,e),i=QD(n,o,s);return e.addTensorList(i),[i.idTensor]}case\"TensorListConcat\":case\"TensorListConcatV2\":{let n=I(\"tensorListId\",r,t,e),o=e.getTensorList(n.id),s=I(\"dtype\",r,t,e),i=I(\"elementShape\",r,t,e);return[o.concat(s,i)]}case\"TensorListPushBack\":{let n=I(\"tensorListId\",r,t,e),o=I(\"tensor\",r,t,e),s=e.getTensorList(n.id);return s.pushBack(o),[s.idTensor]}case\"TensorListPopBack\":{let n=I(\"tensorListId\",r,t,e),o=I(\"elementShape\",r,t,e),s=I(\"elementDType\",r,t,e);return[e.getTensorList(n.id).popBack(o,s)]}case\"TensorListSplit\":{let n=I(\"tensor\",r,t,e),o=I(\"elementShape\",r,t,e),s=I(\"lengths\",r,t,e),i=rR(n,s,o);return e.addTensorList(i),[i.idTensor]}case\"TensorListLength\":{let n=I(\"tensorListId\",r,t,e),o=e.getTensorList(n.id);return[mt(o.size(),\"int32\")]}case\"TensorListResize\":{let n=I(\"tensorListId\",r,t,e),o=I(\"size\",r,t,e),i=e.getTensorList(n.id).resize(o);return e.addTensorList(i),[i.idTensor]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};function oR(r,t,e){let[n,o]=I(\"fusedOps\",r,t,e),s=n===\"biasadd\",i=!s,a=o===\"prelu\",u=n===\"fusedbatchnorm\",l=I(\"numArgs\",r,t,e);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&&s&&l!==1)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.\")}if(u)throw new Error(\"FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported\");let c=I(\"strides\",r,t,e),p=Gh(r,t,e),m=I(\"dataFormat\",r,t,e).toUpperCase(),f=I(\"dilations\",r,t,e),[d,h]=I(\"args\",r,t,e);i&&(h=d,d=void 0);let g=I(\"leakyreluAlpha\",r,t,e);return{stride:c,pad:p,dataFormat:m,dilations:f,biasArg:d,preluArg:h,activationFunc:o,leakyreluAlpha:g}}var sR=(r,t,e,n=ue)=>{switch(r.op){case\"Conv1D\":{let o=I(\"stride\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"dataFormat\",r,t,e).toUpperCase(),a=I(\"dilation\",r,t,e);return[n.conv1d(I(\"x\",r,t,e),I(\"filter\",r,t,e),o,s,i,a)]}case\"Conv2D\":{let o=I(\"strides\",r,t,e),s=Gh(r,t,e),i=I(\"dataFormat\",r,t,e).toUpperCase(),a=I(\"dilations\",r,t,e);return[n.conv2d(I(\"x\",r,t,e),I(\"filter\",r,t,e),[o[1],o[2]],s,i,[a[1],a[2]])]}case\"_FusedConv2D\":{let{stride:o,pad:s,dataFormat:i,dilations:a,biasArg:u,preluArg:l,activationFunc:c,leakyreluAlpha:p}=oR(r,t,e);return[n.fused.conv2d({x:I(\"x\",r,t,e),filter:I(\"filter\",r,t,e),strides:[o[1],o[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:u,activation:c,preluActivationWeights:l,leakyreluAlpha:p})]}case\"FusedDepthwiseConv2dNative\":{let{stride:o,pad:s,dataFormat:i,dilations:a,biasArg:u,preluArg:l,activationFunc:c,leakyreluAlpha:p}=oR(r,t,e);return[n.fused.depthwiseConv2d({x:I(\"x\",r,t,e),filter:I(\"filter\",r,t,e),strides:[o[1],o[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:u,activation:c,preluActivationWeights:l,leakyreluAlpha:p})]}case\"Conv2DBackpropInput\":case\"Conv2dTranspose\":{let o=I(\"outputShape\",r,t,e),s=I(\"strides\",r,t,e),i=Gh(r,t,e);return[n.conv2dTranspose(I(\"x\",r,t,e),I(\"filter\",r,t,e),o,[s[1],s[2]],i)]}case\"DepthwiseConv2dNative\":case\"DepthwiseConv2d\":{let o=I(\"strides\",r,t,e),s=Gh(r,t,e),i=I(\"dilations\",r,t,e),a=I(\"dataFormat\",r,t,e).toUpperCase();return[n.depthwiseConv2d(I(\"input\",r,t,e),I(\"filter\",r,t,e),[o[1],o[2]],s,a,[i[1],i[2]])]}case\"Conv3D\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"dataFormat\",r,t,e).toUpperCase(),a=I(\"dilations\",r,t,e);return[n.conv3d(I(\"x\",r,t,e),I(\"filter\",r,t,e),[o[1],o[2],o[3]],s,i,[a[1],a[2],a[3]])]}case\"AvgPool\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e);return[n.avgPool(I(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s)]}case\"MaxPool\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e);return[n.maxPool(I(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s)]}case\"MaxPoolWithArgmax\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e),a=I(\"includeBatchInIndex\",r,t,e),{result:u,indexes:l}=n.maxPoolWithArgmax(I(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s,a);return[u,l]}case\"AvgPool3D\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e);return[n.avgPool3d(I(\"x\",r,t,e),[i[1],i[2],i[3]],[o[1],o[2],o[3]],s)]}case\"MaxPool3D\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e);return[n.maxPool3d(I(\"x\",r,t,e),[i[1],i[2],i[3]],[o[1],o[2],o[3]],s)]}case\"Dilation2D\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"dilations\",r,t,e),a=o[1],u=o[2],l=i[1],c=i[2];return[n.dilation2d(I(\"x\",r,t,e),I(\"filter\",r,t,e),[a,u],s,[l,c],\"NHWC\")]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var iR=(r,t,e,n=ue)=>{switch(r.op){case\"Fill\":{let o=I(\"shape\",r,t,e),s=I(\"dtype\",r,t,e),i=I(\"value\",r,t,e);return[n.fill(o,i,s)]}case\"LinSpace\":{let o=I(\"start\",r,t,e),s=I(\"stop\",r,t,e),i=I(\"num\",r,t,e);return[n.linspace(o,s,i)]}case\"Multinomial\":{let o=I(\"logits\",r,t,e),s=I(\"numSamples\",r,t,e),i=I(\"seed\",r,t,e);return[n.multinomial(o,s,i)]}case\"OneHot\":{let o=I(\"indices\",r,t,e),s=I(\"depth\",r,t,e),i=I(\"onValue\",r,t,e),a=I(\"offValue\",r,t,e),u=I(\"dtype\",r,t,e);return[n.oneHot(o,s,i,a,u)]}case\"Ones\":return[n.ones(I(\"shape\",r,t,e),I(\"dtype\",r,t,e))];case\"OnesLike\":return[n.onesLike(I(\"x\",r,t,e))];case\"RandomStandardNormal\":return[n.randomStandardNormal(I(\"shape\",r,t,e),I(\"dtype\",r,t,e),I(\"seed\",r,t,e))];case\"RandomUniform\":return[n.randomUniform(I(\"shape\",r,t,e),I(\"minval\",r,t,e),I(\"maxval\",r,t,e),I(\"dtype\",r,t,e))];case\"Range\":{let o=I(\"start\",r,t,e),s=I(\"stop\",r,t,e),i=I(\"step\",r,t,e);return[n.range(o,s,i,I(\"dtype\",r,t,e))]}case\"TruncatedNormal\":{let o=I(\"shape\",r,t,e),s=I(\"mean\",r,t,e),i=I(\"stdDev\",r,t,e),a=I(\"seed\",r,t,e);return[n.truncatedNormal(o,s,i,I(\"dtype\",r,t,e),a)]}case\"Zeros\":return[n.zeros(I(\"shape\",r,t,e),I(\"dtype\",r,t,e))];case\"ZerosLike\":return[n.zerosLike(I(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function IT(r,t,e){let n=I(\"boxes\",r,t,e),o=I(\"scores\",r,t,e),s=I(\"maxOutputSize\",r,t,e),i=I(\"iouThreshold\",r,t,e),a=I(\"scoreThreshold\",r,t,e),u=I(\"softNmsSigma\",r,t,e);return{boxes:n,scores:o,maxOutputSize:s,iouThreshold:i,scoreThreshold:a,softNmsSigma:u}}var aR=async(r,t,e,n,o=ue)=>{switch(r.op){case\"NonMaxSuppressionV5\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l,softNmsSigma:c}=IT(r,t,e),p=await o.image.nonMaxSuppressionWithScoreAsync(s,i,a,u,l,c);return[p.selectedIndices,p.selectedScores]}case\"NonMaxSuppressionV4\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l}=IT(r,t,e),c=I(\"padToMaxOutputSize\",r,t,e),p=await o.image.nonMaxSuppressionPaddedAsync(s,i,a,u,l,c);return[p.selectedIndices,p.validOutputs]}case\"NonMaxSuppressionV3\":case\"NonMaxSuppressionV2\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l}=IT(r,t,e);return[await o.image.nonMaxSuppressionAsync(s,i,a,u,l)]}case\"Where\":{let s=o.cast(I(\"condition\",r,t,e),\"bool\"),i=[await o.whereAsync(s)];return s.dispose(),i}case\"ListDiff\":return o.setdiff1dAsync(I(\"x\",r,t,e),I(\"y\",r,t,e));default:throw TypeError(`Node type ${r.op} is not implemented`)}};var lR=(r,t,e,n=ue)=>{switch(r.op){case\"LowerBound\":{let o=I(\"sortedSequence\",r,t,e),s=I(\"values\",r,t,e);return[n.lowerBound(o,s)]}case\"TopKV2\":{let o=I(\"x\",r,t,e),s=I(\"k\",r,t,e),i=I(\"sorted\",r,t,e),a=n.topk(o,s,i);return[a.values,a.indices]}case\"UpperBound\":{let o=I(\"sortedSequence\",r,t,e),s=I(\"values\",r,t,e);return[n.upperBound(o,s)]}case\"Unique\":{let o=I(\"x\",r,t,e),s=n.unique(o);return[s.values,s.indices]}case\"UniqueV2\":{let o=I(\"x\",r,t,e),s=I(\"axis\",r,t,e),i=n.unique(o,s);return[i.values,i.indices]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var uR=(r,t,e,n=ue)=>{switch(r.op){case\"Const\":return t[r.name];case\"PlaceholderWithDefault\":let o=I(\"default\",r,t,e);return[wr(r.name,t,e)||o];case\"Placeholder\":return[wr(r.name,t,e)];case\"Identity\":case\"StopGradient\":case\"FakeQuantWithMinMaxVars\":{let c=I(\"x\",r,t,e);return[ri(c)]}case\"IdentityN\":return I(\"x\",r,t,e).map(c=>ri(c));case\"Snapshot\":let s=I(\"x\",r,t,e);return[ri(s)];case\"Shape\":return[n.tensor1d(I(\"x\",r,t,e).shape,\"int32\")];case\"ShapeN\":return I(\"x\",r,t,e).map(c=>n.tensor1d(c.shape));case\"Size\":return[n.scalar(I(\"x\",r,t,e).size,\"int32\")];case\"Rank\":return[n.scalar(I(\"x\",r,t,e).rank,\"int32\")];case\"NoOp\":return[n.scalar(1)];case\"Print\":let i=I(\"x\",r,t,e),a=I(\"data\",r,t,e),u=I(\"message\",r,t,e),l=I(\"summarize\",r,t,e);console.warn(\"The graph has a tf.print() operation,usually used for debugging, which slows down performance.\"),console.log(u);for(let c=0;ct.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return mt(this.size(),\"int32\")}async import(t,e){this.checkKeyAndValueTensor(t,e);let n=await t.data();return this.tensorMap.forEach(o=>o.dispose()),this.tensorMap.clear(),G(()=>{let o=Tr(e),s=n.length,i=o.length;y.assert(s===i,()=>`The number of elements doesn't match, keys has ${s} elements, the values has ${i} elements.`);for(let a=0;a{let o=[];for(let s=0;s{switch(r.op){case\"HashTable\":case\"HashTableV2\":{let o=I(\"keyDType\",r,t,e),s=I(\"valueDType\",r,t,e),i=new tw(o,s);return n.addHashTable(r.name,i),[i.handle]}case\"LookupTableImport\":case\"LookupTableImportV2\":{let o=I(\"tableHandle\",r,t,e,n),s=I(\"keys\",r,t,e),i=I(\"values\",r,t,e);return[await n.getHashTableById(o.id).import(s,i)]}case\"LookupTableFind\":case\"LookupTableFindV2\":{let o=I(\"tableHandle\",r,t,e,n),s=I(\"keys\",r,t,e),i=I(\"defaultValue\",r,t,e);return[await n.getHashTableById(o.id).find(s,i)]}case\"LookupTableSize\":case\"LookupTableSizeV2\":{let o=I(\"tableHandle\",r,t,e,n);return[n.getHashTableById(o.id).tensorSize()]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var pR=(r,t,e,n=ue)=>{switch(r.op){case\"ResizeBilinear\":{let o=I(\"images\",r,t,e),s=I(\"size\",r,t,e),i=I(\"alignCorners\",r,t,e),a=I(\"halfPixelCenters\",r,t,e);return[n.image.resizeBilinear(o,[s[0],s[1]],i,a)]}case\"ResizeNearestNeighbor\":{let o=I(\"images\",r,t,e),s=I(\"size\",r,t,e),i=I(\"alignCorners\",r,t,e),a=I(\"halfPixelCenters\",r,t,e);return[n.image.resizeNearestNeighbor(o,[s[0],s[1]],i,a)]}case\"CropAndResize\":{let o=I(\"image\",r,t,e),s=I(\"boxes\",r,t,e),i=I(\"boxInd\",r,t,e),a=I(\"cropSize\",r,t,e),u=I(\"method\",r,t,e),l=I(\"extrapolationValue\",r,t,e);return[n.image.cropAndResize(o,s,i,a,u,l)]}case\"ImageProjectiveTransformV3\":{let o=I(\"images\",r,t,e),s=I(\"transforms\",r,t,e),i=I(\"outputShape\",r,t,e),a=I(\"fillValue\",r,t,e),u=I(\"interpolation\",r,t,e),l=I(\"fillMode\",r,t,e);return[n.image.transform(o,s,u.toLowerCase(),l.toLowerCase(),a,i)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var mR=(r,t,e,n=ue)=>{switch(r.op){case\"Equal\":return[n.equal(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"NotEqual\":return[n.notEqual(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Greater\":return[n.greater(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"GreaterEqual\":return[n.greaterEqual(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Less\":return[n.less(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"LessEqual\":return[n.lessEqual(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"LogicalAnd\":return[n.logicalAnd(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"LogicalNot\":return[n.logicalNot(I(\"a\",r,t,e))];case\"LogicalOr\":return[n.logicalOr(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Select\":case\"SelectV2\":return[n.where(I(\"condition\",r,t,e),I(\"a\",r,t,e),I(\"b\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var fR=(r,t,e,n=ue)=>{switch(r.op){case\"BatchMatMul\":case\"BatchMatMulV2\":case\"MatMul\":return[n.matMul(I(\"a\",r,t,e),I(\"b\",r,t,e),I(\"transposeA\",r,t,e),I(\"transposeB\",r,t,e))];case\"Einsum\":return[n.einsum(I(\"equation\",r,t,e),...I(\"tensors\",r,t,e))];case\"Transpose\":return[n.transpose(I(\"x\",r,t,e),I(\"perm\",r,t,e))];case\"_FusedMatMul\":let[o,s]=I(\"fusedOps\",r,t,e),i=o===\"biasadd\",a=s===\"prelu\",u=I(\"numArgs\",r,t,e),l=I(\"leakyreluAlpha\",r,t,e);if(i){if(a&&u!==2)throw new Error(\"Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!a&&u!==1)throw new Error(\"Fused MatMul with BiasAdd must have one extra argument: bias.\")}let[c,p]=I(\"args\",r,t,e);return[n.fused.matMul({a:I(\"a\",r,t,e),b:I(\"b\",r,t,e),transposeA:I(\"transposeA\",r,t,e),transposeB:I(\"transposeB\",r,t,e),bias:c,activation:s,preluActivationWeights:p,leakyreluAlpha:l})];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var dR=(r,t,e,n=ue)=>{switch(r.op){case\"EuclideanNorm\":return[n.euclideanNorm(I(\"x\",r,t,e),I(\"axis\",r,t,e),I(\"keepDims\",r,t,e))];case\"FusedBatchNorm\":case\"FusedBatchNormV2\":return[n.batchNorm(I(\"x\",r,t,e),I(\"mean\",r,t,e),I(\"variance\",r,t,e),I(\"offset\",r,t,e),I(\"scale\",r,t,e),I(\"epsilon\",r,t,e))];case\"FusedBatchNormV3\":return[n.batchNorm(I(\"x\",r,t,e),I(\"mean\",r,t,e),I(\"variance\",r,t,e),I(\"offset\",r,t,e),I(\"scale\",r,t,e),I(\"epsilon\",r,t,e))];case\"LRN\":return[n.localResponseNormalization(I(\"x\",r,t,e),I(\"radius\",r,t,e),I(\"bias\",r,t,e),I(\"alpha\",r,t,e),I(\"beta\",r,t,e))];case\"Softmax\":return[n.softmax(I(\"x\",r,t,e))];case\"LogSoftmax\":return[n.logSoftmax(I(\"x\",r,t,e))];case\"SparseToDense\":return[n.sparseToDense(I(\"sparseIndices\",r,t,e),I(\"outputShape\",r,t,e),I(\"sparseValues\",r,t,e),I(\"defaultValue\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var hR=(r,t,e,n=ue)=>{switch(r.op){case\"Max\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.max(I(\"x\",r,t,e),a,u)]}case\"Mean\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.mean(I(\"x\",r,t,e),a,u)]}case\"Min\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.min(I(\"x\",r,t,e),a,u)]}case\"Sum\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.sum(I(\"x\",r,t,e),a,u)]}case\"All\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.all(I(\"x\",r,t,e),a,u)]}case\"Any\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.any(I(\"x\",r,t,e),a,u)]}case\"ArgMax\":{let a=I(\"axis\",r,t,e);return[n.argMax(I(\"x\",r,t,e),a)]}case\"ArgMin\":{let a=I(\"axis\",r,t,e);return[n.argMin(I(\"x\",r,t,e),a)]}case\"Prod\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.prod(I(\"x\",r,t,e),a,u)]}case\"Cumprod\":{let a=I(\"axis\",r,t,e),u=I(\"exclusive\",r,t,e),l=I(\"reverse\",r,t,e);return[n.cumprod(I(\"x\",r,t,e),a,u,l)]}case\"Cumsum\":{let a=I(\"axis\",r,t,e),u=I(\"exclusive\",r,t,e),l=I(\"reverse\",r,t,e);return[n.cumsum(I(\"x\",r,t,e),a,u,l)]}case\"Bincount\":let o=I(\"x\",r,t,e),s=I(\"weights\",r,t,e),i=I(\"size\",r,t,e);return[n.bincount(o,s,i)];case\"DenseBincount\":{let a=I(\"x\",r,t,e),u=I(\"weights\",r,t,e),l=I(\"size\",r,t,e),c=I(\"binaryOutput\",r,t,e);return[n.denseBincount(a,u,l,c)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var gR=(r,t,e,n=ue)=>{switch(r.op){case\"ConcatV2\":case\"Concat\":{let o=I(\"n\",r,t,e),s=I(\"axis\",r,t,e),i=I(\"tensors\",r,t,e);return i=i.slice(0,o),[n.concat(i,s)]}case\"Gather\":{let o=I(\"x\",r,t,e),s=I(\"indices\",r,t,e);return[n.gather(o,n.cast(s,\"int32\"),0)]}case\"GatherV2\":{let o=I(\"axis\",r,t,e),s=I(\"batchDims\",r,t,e),i=I(\"x\",r,t,e),a=I(\"indices\",r,t,e);return[n.gather(i,n.cast(a,\"int32\"),o,s)]}case\"Reverse\":{let o=I(\"dims\",r,t,e),s=[];for(let a=0;a{let o=I(\"axis\",r,t,e),s=I(\"tensors\",r,t,e),i=s[0].shape,a=n.squeeze(s[0]).shape,u=s.map(l=>{let c=y.arraysEqual(l.shape,i);if(!c&&!y.arraysEqual(n.squeeze(l).shape,a))throw new Error(\"the input tensors shape does not match\");return c?l:n.reshape(l,i)});return[n.stack(u,o)]});case\"Unpack\":{let o=I(\"axis\",r,t,e),s=I(\"tensor\",r,t,e);return n.unstack(s,o)}case\"Tile\":{let o=I(\"reps\",r,t,e);return[n.tile(I(\"x\",r,t,e),o)]}case\"Split\":case\"SplitV\":{let o=I(\"axis\",r,t,e),s=I(\"numOrSizeSplits\",r,t,e),i=I(\"x\",r,t,e);return n.split(i,s,o)}case\"ScatterNd\":{let o=I(\"indices\",r,t,e),s=I(\"values\",r,t,e),i=I(\"shape\",r,t,e);return[n.scatterND(o,s,i)]}case\"GatherNd\":{let o=I(\"x\",r,t,e),s=I(\"indices\",r,t,e);return[n.gatherND(o,s)]}case\"SparseToDense\":{let o=I(\"sparseIndices\",r,t,e),s=I(\"outputShape\",r,t,e),i=I(\"sparseValues\",r,t,e),a=I(\"defaultValue\",r,t,e);return[n.sparseToDense(o,i,s,i.dtype===a.dtype?a:n.cast(a,i.dtype))]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var xR=(r,t,e,n=ue)=>{switch(r.op){case\"SparseFillEmptyRows\":{let{outputIndices:o,outputValues:s,emptyRowIndicator:i,reverseIndexMap:a}=n.sparse.sparseFillEmptyRows(I(\"indices\",r,t,e),I(\"values\",r,t,e),I(\"denseShape\",r,t,e),I(\"defaultValue\",r,t,e));return[o,s,i,a]}case\"SparseReshape\":{let{outputIndices:o,outputShape:s}=n.sparse.sparseReshape(I(\"inputIndices\",r,t,e),I(\"inputShape\",r,t,e),I(\"newShape\",r,t,e));return[o,s]}case\"SparseSegmentMean\":return[n.sparse.sparseSegmentMean(I(\"data\",r,t,e),I(\"indices\",r,t,e),I(\"segmentIds\",r,t,e))];case\"SparseSegmentSum\":return[n.sparse.sparseSegmentSum(I(\"data\",r,t,e),I(\"indices\",r,t,e),I(\"segmentIds\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var yR=(r,t,e,n=ue)=>{switch(r.op){case\"FFT\":return[n.fft(I(\"x\",r,t,e))];case\"IFFT\":return[n.ifft(I(\"x\",r,t,e))];case\"RFFT\":return[n.rfft(I(\"x\",r,t,e))];case\"IRFFT\":return[n.irfft(I(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var bR=(r,t,e,n=ue)=>{switch(r.op){case\"StringNGrams\":{let{nGrams:o,nGramsSplits:s}=n.string.stringNGrams(I(\"data\",r,t,e),I(\"dataSplits\",r,t,e),I(\"separator\",r,t,e),I(\"nGramWidths\",r,t,e),I(\"leftPad\",r,t,e),I(\"rightPad\",r,t,e),I(\"padWidth\",r,t,e),I(\"preserveShortSequences\",r,t,e));return[o,s]}case\"StringSplit\":{let{indices:o,values:s,shape:i}=n.string.stringSplit(I(\"input\",r,t,e),I(\"delimiter\",r,t,e),I(\"skipEmpty\",r,t,e));return[o,s,i]}case\"StringToHashBucketFast\":return[n.string.stringToHashBucketFast(I(\"input\",r,t,e),I(\"numBuckets\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var wR=(r,t,e,n=ue)=>{switch(r.op){case\"Cast\":return[n.cast(I(\"x\",r,t,e),I(\"dtype\",r,t,e))];case\"ExpandDims\":{let o=I(\"axis\",r,t,e);return[n.expandDims(I(\"x\",r,t,e),o)]}case\"Squeeze\":{let o=I(\"axis\",r,t,e);return[n.squeeze(I(\"x\",r,t,e),o)]}case\"Reshape\":return[n.reshape(I(\"x\",r,t,e),I(\"shape\",r,t,e))];case\"MirrorPad\":return[n.mirrorPad(I(\"x\",r,t,e),I(\"padding\",r,t,e),I(\"mode\",r,t,e))];case\"PadV2\":case\"Pad\":return[n.pad(I(\"x\",r,t,e),I(\"padding\",r,t,e),I(\"constantValue\",r,t,e))];case\"SpaceToBatchND\":{let o=I(\"blockShape\",r,t,e),s=I(\"paddings\",r,t,e);return[n.spaceToBatchND(I(\"x\",r,t,e),o,s)]}case\"BatchToSpaceND\":{let o=I(\"blockShape\",r,t,e),s=I(\"crops\",r,t,e);return[n.batchToSpaceND(I(\"x\",r,t,e),o,s)]}case\"DepthToSpace\":{let o=I(\"blockSize\",r,t,e),s=I(\"dataFormat\",r,t,e).toUpperCase();return[n.depthToSpace(I(\"x\",r,t,e),o,s)]}case\"BroadcastTo\":return[n.broadcastTo(I(\"x\",r,t,e),I(\"shape\",r,t,e))];case\"BroadcastArgs\":return[n.broadcastArgs(I(\"s0\",r,t,e),I(\"s1\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function ST(r,t,e,n,o=G){let s=((i,a,u)=>{switch(i.category){case\"arithmetic\":return o(()=>YD(i,a,u));case\"basic_math\":return o(()=>ZD(i,a,u));case\"control\":return nR(i,a,u);case\"convolution\":return o(()=>sR(i,a,u));case\"creation\":return o(()=>iR(i,a,u));case\"dynamic\":return aR(i,a,u);case\"evaluation\":return o(()=>lR(i,a,u));case\"image\":return o(()=>pR(i,a,u));case\"graph\":return o(()=>uR(i,a,u));case\"logical\":return o(()=>mR(i,a,u));case\"matrices\":return o(()=>fR(i,a,u));case\"normalization\":return o(()=>dR(i,a,u));case\"reduction\":return o(()=>hR(i,a,u));case\"slice_join\":return o(()=>gR(i,a,u));case\"sparse\":return o(()=>xR(i,a,u));case\"spectral\":return o(()=>yR(i,a,u));case\"string\":return o(()=>bR(i,a,u));case\"transformation\":return o(()=>wR(i,a,u));case\"hash_table\":return cR(i,a,u,n);case\"custom\":let l=zb(i.op);if(l&&l.customExecutor)return l.customExecutor(new Zb(i,a,u));throw TypeError(`Custom op ${i.op} is not registered.`);default:throw TypeError(`Unknown op '${i.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,t,e);return y.isPromise(s)?s.then(i=>[].concat(i)):[].concat(s)}var Uh=class{constructor(t={},e={},n={},o={}){this.weightMap=t,this.tensorArrayMap=e,this.tensorListMap=n,this.functionMap=o,this.rootContext={id:0,frameName:\"\",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(t,e){return{id:t,frameName:e,iterationId:0}}set currentContext(t){this.contexts!==t&&(this.contexts=t,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){let t=[];for(let e=0;ee.id===0&&e.iterationId===0?\"\":`${e.frameName}-${e.iterationId}`).join(\"/\"):\"\"}enterFrame(t){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,t)),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 t=Object.assign({},this.contexts[this.contexts.length-1]);t.iterationId+=1,t.id=this.lastId,this.contexts.splice(-1,1,t),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}else throw new Error(\"Cannot increase frame iteration, the context is empty\")}getWeight(t){return this.weightMap[t]}addTensorArray(t){this.tensorArrayMap[t.id]=t}getTensorArray(t){return this.tensorArrayMap[t]}addTensorList(t){this.tensorListMap[t.id]=t}getTensorList(t){return this.tensorListMap[t]}dispose(t){for(let e in this.tensorArrayMap)this.tensorArrayMap[e].clearAndClose(t);for(let e in this.tensorListMap)this.tensorListMap[e].clearAndClose(t)}};function TT(r,t,e,n){let o=new Set,s=[],i=null,a=null,u=new Set,l=Object.keys(r).map(m=>yn(m)[0]),c=[];n!=null&&(c=n.map(m=>yn(m.name)[0]));let p=[...t];for(;p.length>0;){let m=p.pop();if((NT(m)||KZ(m)||jZ(m))&&i==null&&(i=m,a=i.children.map(f=>f.name).filter(f=>o.has(f))),o.add(m.name),e[m.name]==null&&l.indexOf(m.name)===-1&&c.indexOf(m.name)===-1){if(m.inputs.length===0){s.push(m.name);continue}m.inputs.forEach(f=>{u.has(f.name)||(u.add(f.name),p.push(f))})}}return{inputs:r,outputs:t,usedNodes:o,missingInputs:s,dynamicNode:i,syncInputs:a}}function CR(r,t,e){let{usedNodes:n,inputs:o}=e,s=[],i=Object.keys(o).map(c=>yn(c)[0]).map(c=>r.nodes[c]),a=r.initNodes;i.forEach(c=>{n.has(c.name)&&s.push(c)}),r.weights.forEach(c=>{n.has(c.name)&&s.push(c)}),a!=null&&a.forEach(c=>{n.has(c.name)&&s.push(c)});let u=new Set,l=[];for(;s.length>0;){let c=s.pop();u.add(c.name),t[c.name]||l.push(c),c.children.forEach(p=>{!u.has(p.name)&&n.has(p.name)&&p.inputs.every(m=>u.has(m.name))&&s.push(p)})}return l}var UZ=[\"Switch\",\"Merge\",\"Enter\",\"Exit\",\"NextIteration\",\"StatelessIf\",\"StatelessWhile\",\"if\",\"While\"],HZ=[\"NonMaxSuppressionV2\",\"NonMaxSuppressionV3\",\"NonMaxSuppressionV5\",\"Where\"],qZ=[\"HashTable\",\"HashTableV2\",\"LookupTableImport\",\"LookupTableImportV2\",\"LookupTableFind\",\"LookupTableFindV2\",\"LookupTableSize\",\"LookupTableSizeV2\"];function NT(r){return UZ.indexOf(r.op)>=0}function KZ(r){return HZ.indexOf(r.op)>=0}function jZ(r){return qZ.indexOf(r.op)>=0}var Rc=class{constructor(t,e){this.graph=t,this.parent=e,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=\",\",this._functions={},this._functionExecutorMap={},this.intermediateTensors={},this.keepTensorForDebug=!1,this._outputs=t.outputs,this._inputs=t.inputs,this._initNodes=t.initNodes,this._signature=t.signature,this._functions=t.functions,t.functions!=null&&Object.keys(t.functions).forEach(n=>{this._functionExecutorMap[n]=new Rc(t.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(t){let e=Object.keys(t).map(n=>t[n].map(o=>o.id));this._weightIds=[].concat(...e),this._weightMap=t}set resourceManager(t){this._resourceManager=t}get inputs(){return this._inputs.map(t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(t=>t.signatureKey||t.name)}get outputNodes(){return this._outputs.map(t=>{let e=t.signatureKey||t.name;return t.defaultOutput?`${e}:${t.defaultOutput}`:e})}get functions(){return Object.keys(this._functions).reduce((t,e)=>(t[e]=this._functions[e].signature,t),{})}getCompilationKey(t,e){let n=t.map(s=>s.name).sort(),o=e.map(s=>s.name).sort();return n.join(this.SEPERATOR)+\"--\"+o.join(this.SEPERATOR)}compile(t,e){let n=TT(t,e,this.weightMap,this._initNodes),{missingInputs:o,dynamicNode:s,syncInputs:i}=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 [${i}]`);if(o.length>0){let a=e.map(l=>l.name),u=Object.keys(t);throw new Error(`Cannot compute the outputs [${a}] from the provided inputs [${u}]. Missing the following inputs: [${o}]`)}return CR(this.graph,this.weightMap,n)}execute(t,e){t=this.mapInputs(t);let n=Object.keys(t).sort();this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e);let o=n.map(p=>this.graph.nodes[yn(p)[0]]),s=e.map(p=>yn(p)[0]),i=s.map(p=>this.graph.nodes[p]);this.resetIntermediateTensors(),i.length===0&&(i=this._outputs);let a=this.getCompilationKey(o,i),u=this.compiledMap.get(a);u==null&&(u=this.compile(t,i),this.compiledMap.set(a,u));let l={},c={};return G(()=>{let p=new Uh(this.weightMap,l,c,this.functionExecutorMap),m=Object.assign({},this.weightMap);Object.keys(t).forEach(h=>{let[g,x]=yn(h),b=[];b[x]=t[h],m[g]=b});let f=this.getFrozenTensorIds(m),d={};for(let h=0;hwr(h,m,p))})}getFrozenTensorIds(t){let e=[].concat.apply([],Object.keys(t).map(n=>t[n]).map(n=>n.map(o=>o.id)));return new Set(e)}checkTensorForDisposal(t,e,n,o,s,i,a){e.category===\"control\"||i.indexOf(t)!==-1||(n[t].forEach(u=>{u!=null&&(a[u.id]=(a[u.id]||0)+e.children.length)}),e.inputs.forEach(u=>{if(u.category!==\"control\"){let l=qD(u.name,n,o);l!=null&&l.forEach(c=>{if(c&&!c.kept&&!s.has(c.id)){let p=a[c.id];if(p===1){if(!this.keepTensorForDebug)c.dispose();else{let[m,f]=_o(e.name,o);this.intermediateTensors[m]?this.intermediateTensors[m][f]=c:(this.intermediateTensors[m]=[],this.intermediateTensors[m][f]=c)}delete a[c.id]}else p!=null&&a[c.id]--}})}}))}async executeAsync(t,e){return this._executeAsync(t,e)}disposeIntermediateTensors(){!this.intermediateTensors||(Object.keys(this.intermediateTensors).forEach(t=>this.intermediateTensors[t].forEach(e=>e.dispose())),this.disposeTensorsMap())}disposeTensorsMap(){!this.tensorsMap||Object.keys(this.tensorsMap).forEach(t=>{this.tensorsMap[t].forEach(n=>{n&&!n.kept&&!n.isDisposed&&!this.keepIds.has(n.id)&&n.dispose()})})}getIntermediateTensors(){return this.tensorsMap}resetIntermediateTensors(){for(let t in this.intermediateTensors)this.intermediateTensors[t].forEach(e=>e.dispose()),delete this.intermediateTensors[t]}async _executeAsync(t,e,n=!1,o={},s={}){n||(t=this.mapInputs(t),this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e));try{this.keepTensorForDebug=B().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(c){console.warn(c.message)}this.resetIntermediateTensors();let i=new Uh(this.weightMap,o,s,this.functionExecutorMap);this.tensorsMap=await this.executeWithControlFlow(t,i,e,n);let a=e.map(c=>wr(c,this.tensorsMap,i)),u=a.map(c=>c.id),l=Object.keys(t).map(c=>t[c].id);return this.keepIds=new Set([...u,...l,...this.weightIds]),this.keepTensorForDebug||this.disposeTensorsMap(),this.parent==null&&i.dispose(this.keepIds),a}async executeFunctionAsync(t,e,n){let o=t.reduce((s,i,a)=>(s[this.inputs[a].name]=i,s),{});return this._executeAsync(o,this.outputNodes,!0,e,n)}async executeWithControlFlow(t,e,n,o){let s=Object.keys(t),i=s.map(w=>this.graph.nodes[yn(w)[0]]),a=n.map(w=>yn(w)[0]),u=a.map(w=>this.graph.nodes[w]);u.length===0&&(u=this._outputs);let{usedNodes:l,missingInputs:c,dynamicNode:p,syncInputs:m}=TT(t,u,this.weightMap,this._initNodes),f=[...i,...this.graph.weights,...this._initNodes||[]].map(w=>({node:w,contexts:e.currentContext})),d=Object.assign({},this.weightMap);Object.keys(t).forEach(w=>{let[C,T]=yn(w),E=[];E[T]=t[w],d[C]=E});let h={},g=this.getFrozenTensorIds(d),x={};for(;f.length>0;){let w=this.processStack(i,f,e,d,x,g,a,h,l);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=u.filter(w=>!NT(w)&&!wr(w.name,d,e)).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(t,e,n,o,s,i,a,u,l){let c=[];for(;e.length>0;){let p=e.pop();n.currentContext=p.contexts;let m=\"\";if(p.node.op===\"Enter\"&&I(\"isConstant\",p.node,o,n)&&([m]=_o(p.node.name,n)),o[p.node.name]==null){let f=ST(p.node,o,n,this._resourceManager);m||([m]=_o(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,i,a,u),this.processChildNodes(p.node,e,n,o,s,l),h))):(o[m]=f,this.checkTensorForDisposal(m,p.node,o,n,i,a,u),this.processChildNodes(p.node,e,n,o,s,l))}else this.processChildNodes(p.node,e,n,o,s,l)}return c}processChildNodes(t,e,n,o,s,i){t.children.forEach(a=>{let[u]=_o(a.name,n);s[u]||!i.has(a.name)||(a.op===\"Merge\"?a.inputNames.some(l=>!!wr(l,o,n))&&(s[u]=!0,e.push({contexts:n.currentContext,node:a})):a.inputNames.every(l=>!!wr(l,o,n))&&(s[u]=!0,e.push({contexts:n.currentContext,node:a})))})}dispose(){Object.keys(this.weightMap).forEach(t=>this.weightMap[t].forEach(e=>e.dispose()))}checkInputShapeAndType(t){Object.keys(t).forEach(e=>{let n=t[e],[o]=yn(e),s=this.graph.nodes[o];if(s.attrParams.shape&&s.attrParams.shape.value){let i=s.attrParams.shape.value,a=i.length===n.shape.length&&n.shape.every((u,l)=>i[l]===-1||i[l]===u);y.assert(a,()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${i}], 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(t){let e={};for(let n in t)if(this._signature!=null&&this._signature.inputs!=null&&this._signature.inputs[n]!=null){let o=this._signature.inputs[n];e[o.name]=t[n]}else e[n]=t[n];return e}checkInputs(t){let e=Object.keys(t).filter(n=>{let[o]=yn(n);return this.graph.nodes[o]==null});if(e.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${e}] that are not part of graph`)}mapOutputs(t){return t.map(e=>this._signature!=null&&this._signature.outputs!=null&&this._signature.outputs[e]!=null?this._signature.outputs[e].name:e,{})}checkOutputs(t){t.forEach(e=>{let[n]=yn(e);if(!this.graph.nodes[n])throw new Error(`The output '${e}' is not found in the graph`)})}};var ew=class{constructor(t={},e={}){this.hashTableNameToHandle=t,this.hashTableMap=e}addHashTable(t,e){this.hashTableNameToHandle[t]=e.handle,this.hashTableMap[e.id]=e}getHashTableHandleByName(t){return this.hashTableNameToHandle[t]}getHashTableById(t){return this.hashTableMap[t]}dispose(){for(let t in this.hashTableMap)this.hashTableMap[t].clearAndClose(),delete this.hashTableMap[t];for(let t in this.hashTableNameToHandle)this.hashTableNameToHandle[t].dispose(),delete this.hashTableNameToHandle[t]}};var XZ=\"?tfjs-format=file\",YZ=\"model.json\",Hh=class{constructor(t,e={},n=vn){this.modelUrl=t,this.loadOptions=e,this.version=\"n/a\",this.io=n,e==null&&(this.loadOptions={}),this.resourceManager=new ew}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}get modelStructuredOutputKeys(){return this.structuredOutputKeys}findIOHandler(){let t=this.modelUrl;if(t.load!=null)this.handler=t;else if(this.loadOptions.requestInit!=null)this.handler=this.io.browserHTTPRequest(t,this.loadOptions);else{let e=this.io.getLoadHandlers(t,this.loadOptions);if(e.length===0)e.push(this.io.browserHTTPRequest(t,this.loadOptions));else if(e.length>1)throw new Error(`Found more than one (${e.length}) load handlers for URL '${[t]}'`);this.handler=e[0]}}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 t=this.handler.load();return y.isPromise(t)?t.then(e=>this.loadSync(e)):this.loadSync(t)}loadSync(t){this.artifacts=t;let e=this.artifacts.modelTopology,n=this.artifacts.signature;if(this.artifacts.userDefinedMetadata!=null){let s=this.artifacts.userDefinedMetadata;s.signature!=null&&(n=s.signature),s.structuredOutputKeys!=null&&(this.structuredOutputKeys=s.structuredOutputKeys)}this.signature=n,this.version=`${e.versions.producer}.${e.versions.minConsumer}`;let o=this.io.decodeWeights(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new Rc(Wh.Instance.transformGraph(e,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(o),this.executor.resourceManager=this.resourceManager,t.modelInitializer!=null&&t.modelInitializer.node!=null){let s=Wh.Instance.transformGraph(t.modelInitializer);this.initializer=new Rc(s),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializer.executeAsync({},[])}return!0}async save(t,e){if(typeof t==\"string\"){let n=this.io.getSaveHandlers(t);if(n.length===0)throw new Error(`Cannot find any save handlers for URL '${t}'`);if(n.length>1)throw new Error(`Found more than one (${n.length}) save handlers for URL '${t}'`);t=n[0]}if(t.save==null)throw new Error(\"GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");return t.save(this.artifacts)}predict(t,e){let n=this.execute(t,this.outputNodes);if(this.structuredOutputKeys){let o=n instanceof Lt?[n]:n,s={};return o.forEach((i,a)=>s[this.structuredOutputKeys[a]]=i),s}return n}normalizeInputs(t){if(!(t instanceof Lt)&&!Array.isArray(t))return t;if(t=Array.isArray(t)?t:[t],t.length!==this.inputNodes.length)throw new Error(`Input tensor count mismatch,the graph model has ${this.inputNodes.length} placeholders, while there are ${t.length} input tensors.`);return this.inputNodes.reduce((e,n,o)=>(e[n]=t[o],e),{})}normalizeOutputs(t){return t=t||this.outputNodes,Array.isArray(t)?t:[t]}execute(t,e){t=this.normalizeInputs(t),e=this.normalizeOutputs(e);let n=this.executor.execute(t,e);return n.length>1?n:n[0]}async executeAsync(t,e){t=this.normalizeInputs(t),e=this.normalizeOutputs(e);let n=await this.executor.executeAsync(t,e);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(t){return Object.keys(t).reduce((e,n)=>(e[n]=[t[n]],e),{})}dispose(){this.executor.dispose(),this.initializer&&this.initializer.dispose(),this.resourceManager.dispose()}};async function ZZ(r,t={},e=vn){if(r==null)throw new Error(\"modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model\");t==null&&(t={}),t.fromTFHub&&typeof r==\"string\"&&(r=QZ(r));let n=new Hh(r,t,e);return await n.load(),n}function JZ(r){if(r==null)throw new Error(\"modelUrl in loadGraphModelSync() cannot be null. Please provide a url or an IOHandler that loads the model\");if(!r.load)throw new Error(`modelUrl IO Handler ${r} has no load function`);let t=new Hh(r);return t.load(),t}function QZ(r){return r.endsWith(\"/\")||(r=r+\"/\"),`${r}${YZ}${XZ}`}var vR=\"3.20.0\";var GR={};jt(GR,{CSVDataset:()=>id,Dataset:()=>ni,FileDataSource:()=>pd,TextLineDataset:()=>sd,URLDataSource:()=>md,array:()=>DR,csv:()=>LR,func:()=>MR,generator:()=>zR,microphone:()=>VR,version_data:()=>KT,webcam:()=>BR,zip:()=>RR});var $R=Tl(vh());var _R=Tl(vh());function IR(r,t){return rw(r,t)}function rw(r,t,e=new Map,n=new Set){if(r==null)return null;if(typeof Blob==\"function\"&&r instanceof Blob)return r.slice();if(n.has(r))throw new Error(\"Circular references are not supported.\");if(e.has(r))return e.get(r);let o=t(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(Su(r)){let s=Array.isArray(r)?[]:{};n.add(r);for(let i in r){let a=r[i],u=rw(a,t,e,n);s[i]=u}return n.delete(r),r.__proto__&&(s.__proto__=r.__proto__),s}else throw new Error(`Can't recurse into non-iterable type: ${r}`);else return e.set(r,o.value),o.value}function SR(r,t=_T){return TR(r,t)}function TR(r,t,e=new Set){let n=r[0];if(e.has(n))throw new Error(\"Circular references are not supported.\");let o=t(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(Su(n)){let s=Array.isArray(n)?[]:{};e.add(n);for(let i in n){let a=r.map(l=>l[i]),u=TR(a,t,e);s[i]=u}return e.delete(n),s}else throw new Error(`Can't recurse into non-iterable type: ${n}`);else return o.value}function _T(r){return r===null?null:Su(r[0])?{value:null,recurse:!0}:{value:r,recurse:!1}}async function nw(r,t){let e=new Map;rw(r,t,e);for(let o of Array.from(e.keys())){let s=e.get(o);if(y.isPromise(s)){let i=await s;e.set(o,i)}}return rw(r,t,e)}function Su(r){let t=!1;if(B().get(\"IS_BROWSER\"))t=r instanceof TextDecoder;else{let{StringDecoder:e}=kT();t=r instanceof e}return r!=null&&!ArrayBuffer.isView(r)&&(Array.isArray(r)||typeof r==\"object\"&&!(r instanceof Lt)&&!(r instanceof Promise)&&!t)}function NR(r){return r==null||tJ(r)||Array.isArray(r)||typeof r==\"object\"&&r instanceof Lt||y.isTypedArray(r)}function tJ(r){return r===null||typeof r!=\"object\"&&typeof r!=\"function\"}function kR(r){return IR(r,eJ)}function eJ(r){return r instanceof Lt?{value:r.clone(),recurse:!1}:Su(r)?{value:null,recurse:!0}:{value:r,recurse:!1}}var od=class{constructor(t){if(this.capacity=t,this.begin=0,this.end=0,t==null)throw new RangeError(\"Can't create a ring buffer of unknown capacity.\");if(t<1)throw new RangeError(\"Can't create ring buffer of capacity < 1.\");this.data=new Array(t),this.doubledCapacity=2*t}wrap(t){for(;t<0;)t+=this.doubledCapacity;return t%this.doubledCapacity}get(t){if(t<0)throw new RangeError(\"Can't get item at a negative index.\");return this.data[t%this.capacity]}set(t,e){if(t<0)throw new RangeError(\"Can't set item at a negative index.\");this.data[t%this.capacity]=e}length(){let t=this.end-this.begin;return t<0&&(t=this.doubledCapacity+t),t}isFull(){return this.length()===this.capacity}isEmpty(){return this.length()===0}push(t){if(this.isFull())throw new RangeError(\"Ring buffer is full.\");this.set(this.end,t),this.end=this.wrap(this.end+1)}pushAll(t){for(let e of t)this.push(e)}pop(){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");this.end=this.wrap(this.end-1);let t=this.get(this.end);return this.set(this.end,void 0),t}unshift(t){if(this.isFull())throw new RangeError(\"Ring buffer is full.\");this.begin=this.wrap(this.begin-1),this.set(this.begin,t)}shift(){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");let t=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),t}shuffleExcise(t){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");let e=this.wrap(this.begin+t),n=this.get(e);return this.set(e,this.pop()),n}};var Fc=class extends od{constructor(){super(Fc.INITIAL_CAPACITY)}isFull(){return!1}push(t){super.isFull()&&this.expand(),super.push(t)}unshift(t){super.isFull()&&this.expand(),super.unshift(t)}expand(){let t=this.capacity*2,e=new Array(t),n=this.length();for(let o=0;oe===!0)}rowMajorBatch(t,e=!0){return new FT(this,t,e)}columnMajorBatch(t,e=!0,n=_T){return this.rowMajorBatch(t,e).map(s=>SR(s,n))}concatenate(t,e){return new sw(VT([this,t]),e)}take(t){return t<0||t==null?this:new RT(this,t)}skip(t){return t<0||t==null?this:new DT(this,t)}prefetch(t){return new iw(this,t)}shuffle(t,e){return new BT(this,t,e)}serial(){return new $T(this)}},ET=class extends Qe{constructor(t){super(),this.items=t,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 t=this.items[this.trav];return this.trav++,{value:kR(t),done:!1}}},AT=class extends Qe{constructor(t){super(),this.nextFn=t}summary(){return\"Function call\"}async next(){try{return this.nextFn()}catch(t){throw t.message=`Error thrown while iterating through a dataset: ${t.message}`,t}}},$T=class extends Qe{constructor(t){super(),this.upstream=t,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()}},DT=class extends Qe{constructor(t,e){super(),this.upstream=t,this.maxCount=e,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()}},FT=class extends Qe{constructor(t,e,n=!0){super(),this.upstream=t,this.batchSize=e,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 t=[];for(;t.length0?{value:t,done:!1}:{value:null,done:!0};t.push(e.value)}return{value:t,done:!1}}},OT=class extends Qe{constructor(t,e){super(),this.upstream=t,this.predicate=e,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 t=await this.upstream.next();if(t.done||this.predicate(t.value))return t;_t(t.value)}}},PT=class extends Qe{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Map`}async next(){let t=await this.upstream.next();if(t.done)return{value:null,done:!0};let e=ho.getTensorsInContainer(t.value),n=this.transform(t.value),o=ho.getTensorsInContainer(n);for(let s of e)ho.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},LT=class extends Qe{constructor(t,e){super(),this.upstream=t,this.handler=e,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(t){if(!this.handler(t))return{value:null,done:!0}}}},ow=class extends Qe{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){let t=await this.upstream.next();if(t.done)return{value:null,done:!0};let e=ho.getTensorsInContainer(t.value),n=await this.transform(t.value),o=ho.getTensorsInContainer(n);for(let s of e)ho.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},Oc=class extends Qe{constructor(){super(),this.outputQueue=new Fc,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}}},MT=class extends Oc{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){let t=await this.upstream.next();if(t.done)return!1;let e=ho.getTensorsInContainer(t.value),n=this.transform(t.value),o=ho.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(let s of e)ho.isTensorInList(s,o)||s.dispose();return!0}},sw=class extends Qe{constructor(t,e){super(),this.baseErrorHandler=e,this.lastRead=null,this.iterator=null,this.moreIterators=t}summary(){return\"TODO: fill in upstream of chained summaries -> Chained\"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(t){if(await t,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 e=await this.iterator.next();return e.done?(this.iterator=null,this.readFromChain(t)):e}},ml;(function(r){r[r.FAIL=0]=\"FAIL\",r[r.SHORTEST=1]=\"SHORTEST\",r[r.LONGEST=2]=\"LONGEST\"})(ml||(ml={}));var zT=class extends Qe{constructor(t,e=ml.FAIL){super(),this.iterators=t,this.mismatchMode=e,this.count=0,this.currentPromise=null}summary(){return\"{TODO: fill in upstream of zip summaries} -> Zip\"}async nextState(t){await t;let e=0,n=0;function o(i){return i instanceof Qe?{value:i.next().then(u=>(e++,u.done&&n++,u.value)),recurse:!1}:{value:null,recurse:!0}}let s=await nw(this.iterators,o);if(e===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case ml.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case ml.SHORTEST:return{value:null,done:!0};case ml.LONGEST:default:}return this.count++,{value:s,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}},iw=class extends Qe{constructor(t,e){super(),this.upstream=t,this.bufferSize=e,this.buffer=new od(e)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){let t=this.upstream.next();this.buffer.push(t)}}next(){return this.refill(),this.buffer.shift()}},BT=class extends iw{constructor(t,e,n){super(t,e),this.upstream=t,this.windowSize=e,this.upstreamExhausted=!1,this.random=_R.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(t){return Math.floor(this.random()*t)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){let t=this.chooseIndex(),e=await this.buffer.shuffleExcise(t);if(e.done)this.upstreamExhausted=!0;else return this.refill(),e}return{value:null,done:!0}}};var ni=class{constructor(){this.size=null}batch(t,e=!0){let n=this;y.assert(t>0,()=>`batchSize needs to be positive, but it is\n ${t}`);let o;return this.size===1/0||this.size==null?o=this.size:e?o=Math.ceil(this.size/t):o=Math.floor(this.size/t),En(async()=>(await n.iterator()).columnMajorBatch(t,e,rJ),o)}concatenate(t){let e=this,n;return this.size===1/0||t.size===1/0?n=1/0:this.size!=null&&t.size!=null?n=this.size+t.size:n=null,En(async()=>(await e.iterator()).concatenate(await t.iterator()),n)}filter(t){let e=this,n;return this.size===1/0?n=1/0:n=null,En(async()=>(await e.iterator()).filter(o=>G(()=>t(o))),n)}async forEachAsync(t){return(await this.iterator()).forEachAsync(t)}map(t){let e=this;return En(async()=>(await e.iterator()).map(n=>G(()=>t(n))),this.size)}mapAsync(t){let e=this;return En(async()=>(await e.iterator()).mapAsync(t),this.size)}prefetch(t){if(t==null)throw new RangeError(\"`Dataset.prefetch()` requires bufferSize to be specified.\");let e=this;return En(async()=>(await e.iterator()).prefetch(t),this.size)}repeat(t){let e=this,n;return this.size!=null&&t>0?n=this.size*t:t===0?n=0:this.size!=null&&(t===void 0||t<0)?n=1/0:n=null,En(async()=>{let o=qh(async()=>({value:await e.iterator(),done:!1}));return ER(o.take(t))},n)}skip(t){let e=this,n;return this.size!=null&&t>=0&&this.size>=t?n=this.size-t:this.size!=null&&(this.size(await e.iterator()).skip(t),n)}shuffle(t,e,n=!0){if(t==null||t<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=$R.alea(e||y.now().toString());return En(async()=>{let i=s.int32();return n&&(i+=s.int32()),(await o.iterator()).shuffle(t,i.toString())},this.size)}take(t){let e=this,n;return this.size!=null&&this.size>t?n=t:this.size!=null&&this.size<=t?n=this.size:n=null,En(async()=>(await e.iterator()).take(t),n)}async toArray(){if(this.size===1/0)throw new Error(\"Can not convert infinite data stream to array.\");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error(\"Can not convert infinite data stream to array.\");return(await this.iterator()).toArrayForTest()}};ni.MAX_BUFFER_SIZE=1e4;function En(r,t=null){return new class extends ni{constructor(){super(...arguments),this.size=t}async iterator(){return r()}}}function DR(r){return En(async()=>VT(r),r.length)}function RR(r){if(!Su(r))throw new Error(\"The argument to zip() must be an object or array.\");let t;if(Array.isArray(r))for(let e=0;e{let e=await nw(r,n=>{if(n instanceof ni)return{value:n.iterator(),recurse:!1};if(Su(n))return{value:null,recurse:!0};throw new Error(\"Leaves of the structure passed to zip() must be Datasets, not primitives.\")});return AR(e,ml.SHORTEST)},t)}function rJ(r){if(r===null)return null;let t=r[0];return NR(t)?{value:nJ(r),recurse:!1}:{value:null,recurse:!0}}function nJ(r){if(r.length===0)throw new Error(\"Can't make a batch of zero elements.\");return r[0]instanceof Lt?sr(r):vr(r)}var sd=class extends ni{constructor(t){super(),this.input=t}async iterator(){return(await this.input.iterator()).decodeUTF8().split(`\n`).map(o=>(o.endsWith(\"\\r\")&&(o=o.slice(0,-1)),o))}};var aw='\"',Kh=Symbol(\"out\"),FR=Symbol(\"field\"),lw=Symbol(\"quote\"),GT=Symbol(\"quoteafterquote\"),OR=Symbol(\"quoteinquote\"),id=class extends ni{constructor(t,e){super(),this.input=t,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=\",\",this.delimWhitespace=!1,this.base=new sd(t),e||(e={}),this.hasHeader=e.hasHeader!==!1,this.fullColumnNames=e.columnNames,this.columnConfigs=e.columnConfigs,this.configuredColumnsOnly=e.configuredColumnsOnly,e.delimWhitespace?(y.assert(e.delimiter==null,()=>\"Delimiter should not be provided when delimWhitespace is true.\"),this.delimWhitespace=!0,this.delimiter=\" \"):this.delimiter=e.delimiter?e.delimiter:\",\"}async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){let t=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!t)throw new Error(\"Column names must be provided if there is no header line.\");this.fullColumnNames&&t&&y.assert(t.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 (\"+t.length.toString()+\").\"),this.fullColumnNames||(this.fullColumnNames=t);let e=this.fullColumnNames.reduce((o,s)=>(o[s]=o[s]+1||1,o),{}),n=Object.keys(e).filter(o=>e[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 e=await(await this.base.iterator()).next();if(e.done)throw new Error(\"No data was found for CSV parsing.\");let n=e.value;return this.parseRow(n,!1)}else return null}async iterator(){this.columnNamesValidated||await this.setColumnNames();let t=await this.base.iterator();return this.hasHeader&&(t=t.skip(1)),t.map(e=>this.makeDataElement(e))}makeDataElement(t){let e=this.parseRow(t),n={},o={};for(let s=0;s14||!Number.isInteger(e))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=t.numFramesPerSpectrogram||43,this.sampleRateHz=t.sampleRateHz,this.columnTruncateLength=t.columnTruncateLength||this.fftSize,this.audioTrackConstraints=t.audioTrackConstraints,this.smoothingTimeConstant=t.smoothingTimeConstant||0,this.includeSpectrogram=t.includeSpectrogram!==!1,this.includeWaveform=t.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(t={}){if(!B().get(\"IS_BROWSER\"))throw new Error(\"microphone API is only supported in browser environment.\");let e=new ad(t);return await e.start(),e}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 t=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new t,!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 e=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=this.fftSize*2,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,e.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 t,e,n=await this.getAudioData();if(this.includeSpectrogram){let o=this.flattenQueue(n.freqDataQueue);t=this.getTensorFromAudioDataArray(o,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){let o=this.flattenQueue(n.timeDataQueue);e=this.getTensorFromAudioDataArray(o,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:t,waveform:e},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){let t=[],e=[],n=0;return new Promise(o=>{let s=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&o({freqDataQueue:t,timeDataQueue:e}),t.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),e.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),o({freqDataQueue:t,timeDataQueue:e}))},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(t){let e=t[0].length,n=new Float32Array(t.length*e);return t.forEach((o,s)=>n.set(o,s*e)),n}getTensorFromAudioDataArray(t,e){let n=new Float32Array(y.sizeFromShape(e));return n.set(t,n.length-t.length),vr(n,e)}};var ld=class extends Qe{constructor(t,e){if(super(),this.webcamVideoElement=t,this.webcamConfig=e,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Ve([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,i=(1-o)/2,a=s+n,u=o+i;this.cropBox=Ks([i,s,u,a],[1,4])}else this.cropBox=Ks([0,0,1,1],[1,4])}summary(){return\"webcam\"}static async create(t,e={}){if(!B().get(\"IS_BROWSER\"))throw new Error(\"tf.data.webcam is only supported in browser environment.\");if(!t){if(t=document.createElement(\"video\"),!e.resizeWidth||!e.resizeHeight)throw new Error(\"Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.\");t.width=e.resizeWidth,t.height=e.resizeHeight}let n=new ld(t,e);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(t){throw t.message=`Error thrown while initializing video stream: ${t.message}`,t}if(!this.stream)throw new Error(\"Could not obtain video from webcam.\");try{this.webcamVideoElement.srcObject=this.stream}catch(t){console.log(t),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(t=>{this.webcamVideoElement.onloadedmetadata=()=>{t()}})}async next(){if(this.isClosed)return{value:null,done:!0};let t;try{t=xx.fromPixels(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(this.resize)try{return{value:this.cropAndResizeFrame(t),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{t.dispose()}else return{value:t,done:!1}}needToResize(){return!!(this.webcamConfig.resizeWidth&&this.webcamConfig.resizeHeight&&(this.webcamVideoElement.width!==this.webcamConfig.resizeWidth||this.webcamVideoElement.height!==this.webcamConfig.resizeHeight))}cropAndResizeFrame(t){return G(()=>{let e=yr(tt(t,\"float32\"),0),n;n=uu.cropAndResize(e,this.cropBox,this.cropBoxInd,this.cropSize,\"bilinear\");let o=n.shape;return F(n,o.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(e=>e.stop());try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error(\"Can not convert infinite video stream to array.\")}};var ud=class{};var jh=class extends Qe{split(t){return new WT(this,t)}},WT=class extends jh{constructor(t,e){super(),this.upstream=t,this.impl=new UT(t,e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},UT=class extends Oc{constructor(t,e){super(),this.upstream=t,this.separator=e,this.carryover=\"\"}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){let t=await this.upstream.next();if(t.done)return this.carryover===\"\"?!1:(this.outputQueue.push(this.carryover),this.carryover=\"\",!0);let e=t.value.split(this.separator);e[0]=this.carryover+e[0];for(let n of e.slice(0,-1))this.outputQueue.push(n);return this.carryover=e[e.length-1],!0}};var uw=class extends Qe{decodeUTF8(){return new HT(this)}},HT=class extends jh{constructor(t){super(),this.upstream=t,this.impl=new qT(t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},qT=class extends Oc{constructor(t){if(super(),this.upstream=t,B().get(\"IS_BROWSER\"))this.decoder=new TextDecoder(\"utf-8\");else{let{StringDecoder:e}=kT();this.decoder=new e(\"utf8\")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){let t=await this.upstream.next(),e;if(t.done)return!1;e=t.value;let n;return B().get(\"IS_BROWSER\")?n=this.decoder.decode(e,{stream:!0}):n=this.decoder.write(Buffer.from(e.buffer)),this.outputQueue.push(n),!0}};var cd=class extends uw{constructor(t,e={}){super(),this.file=t,this.options=e,y.assert(t instanceof Uint8Array||(B().get(\"IS_BROWSER\")?t instanceof File||t instanceof Blob:!1),()=>\"FileChunkIterator only supports File, Blob and Uint8Array right now.\"),this.offset=e.offset||0,this.chunkSize=e.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((e,n)=>{let o=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,o)));else{let s=new FileReader;s.onload=a=>{let u=s.result;if(u instanceof ArrayBuffer&&(u=new Uint8Array(u)),!(u instanceof Uint8Array))return n(new TypeError(\"FileReader returned unknown type.\"));e(u)},s.onabort=a=>n(new Error(\"Aborted\")),s.onerror=a=>n(new Error(a.type));let i=this.file.slice(this.offset,o);s.readAsArrayBuffer(i)}this.offset=o}),done:!1}}};async function PR(r,t={},e){let n,o;typeof r==\"string\"?n=r:(n=r.url,o=oJ(r));let s=await(e||y.fetch)(n,o);if(s.ok){let i=new Uint8Array(await s.arrayBuffer());return new cd(i,t)}else throw new Error(s.statusText)}var oJ=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 cw(r){return typeof r==\"string\"&&r.slice(0,7)===\"file://\"}var pd=class extends ud{constructor(t,e={}){super(),this.input=t,this.options=e}async iterator(){if(cw(this.input)&&B().get(\"IS_NODE\")){let t=pw();this.input=t.readFileSync(this.input.slice(7))}return new cd(this.input,this.options)}};var md=class extends ud{constructor(t,e={}){super(),this.url=t,this.fileOptions=e}async iterator(){return cw(this.url)?new pd(this.url,this.fileOptions).iterator():PR(this.url,this.fileOptions)}};function LR(r,t={}){return new id(new md(r),t)}function MR(r){let t=qh(r);return En(async()=>t)}function zR(r){return En(async()=>{let t=await r();return qh(()=>t.next())})}async function BR(r,t){return ld.create(r,t)}async function VR(r){return ad.create(r)}var KT=\"3.20.0\";function nt(r,t){Array.isArray(r)||(r=[r]),r.forEach(e=>{e!=null&&y.assert(e.dtype!==\"complex64\",()=>`${t} does not support complex64 tensors in the CPU backend.`)})}var sJ=Vr.whereImpl,Tu=class extends Ho{constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new ra(this,go())}nextDataId(){return Tu.nextDataId++}write(t,e,n){this.firstUse&&(this.firstUse=!1,B().get(\"IS_NODE\")&&S.warn(`\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================`));let o={id:this.nextDataId()};return this.data.set(o,{values:t,dtype:n,refCount:1}),o}makeTensorInfo(t,e,n){let o;if(e===\"string\"&&n!=null&&n.length>0&&y.isString(n[0])){let s=n.map(i=>y.encodeString(i));o=this.write(s,t,e)}else o=this.write(n,t,e);return{dataId:o,shape:t,dtype:e}}refCount(t){return this.data.has(t)?this.data.get(t).refCount:0}incRef(t){let e=this.data.get(t);e.refCount++}decRef(t){if(this.data.has(t)){let e=this.data.get(t);e.refCount--}}move(t,e,n,o,s){this.data.set(t,{values:e,dtype:o,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(t){return this.readSync(t)}readSync(t){let{dtype:e,complexTensorInfos:n}=this.data.get(t);if(e===\"complex64\"){let o=this.readSync(n.real.dataId),s=this.readSync(n.imag.dataId);return S.mergeRealAndImagArrays(o,s)}return this.data.get(t).values}bufferSync(t){let e=this.readSync(t.dataId);if(t.dtype===\"string\")try{let n=e.map(o=>y.decodeString(o));return vt(t.shape,t.dtype,n)}catch(n){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return vt(t.shape,t.dtype,e)}makeOutput(t,e,n){return go().makeTensorFromTensorInfo(this.makeTensorInfo(e,n,t),this)}disposeData(t,e=!1){if(this.data.has(t)){if(this.data.get(t).refCount--,!e&&this.data.get(t).refCount>0)return!1;let{complexTensorInfos:n}=this.data.get(t);n!=null&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(t)}return!0}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}async time(t){let e=y.now();return t(),{kernelMs:y.now()-e}}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(t){nt([t],\"where\");let e=this.readSync(t.dataId);return sJ(t.shape,e)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};Tu.nextDataId=0;var Sw={};jt(Sw,{addImpl:()=>YT,bincountImpl:()=>hd,bincountReduceImpl:()=>mw,castImpl:()=>XT,ceilImpl:()=>ZT,concatImpl:()=>Pc,equalImpl:()=>JT,expImpl:()=>tN,expm1Impl:()=>rN,floorImpl:()=>nN,gatherNdImpl:()=>fw,gatherV2Impl:()=>dw,greaterEqualImpl:()=>sN,greaterImpl:()=>oN,lessEqualImpl:()=>aN,lessImpl:()=>iN,linSpaceImpl:()=>hw,logImpl:()=>lN,maxImpl:()=>gw,maximumImpl:()=>uN,minimumImpl:()=>cN,multiplyImpl:()=>Xh,negImpl:()=>pN,notEqualImpl:()=>mN,prodImpl:()=>fN,raggedTensorToTensorImpl:()=>xw,rangeImpl:()=>Mc,rsqrtImpl:()=>dN,scatterImpl:()=>fl,sigmoidImpl:()=>hF,simpleAbsImpl:()=>jT,sliceImpl:()=>zc,sparseFillEmptyRowsImpl:()=>yw,sparseReshapeImpl:()=>bw,sparseSegmentReductionImpl:()=>yd,sqrtImpl:()=>yF,squaredDifferenceImpl:()=>gN,stridedSliceImpl:()=>ww,stringNGramsImpl:()=>Bc,stringSplitImpl:()=>Vc,stringToHashBucketFastImpl:()=>Gc,subImpl:()=>yN,tileImpl:()=>Cw,topKImpl:()=>vw,transposeImpl:()=>gd,uniqueImpl:()=>Iw});function jT(r){let t=new Float32Array(r.length);for(let e=0;e{let{x:t}=r.inputs,e=r.backend;nt(t,\"abs\");let n=new Float32Array(y.sizeFromShape(t.shape)),o=e.data.get(t.dataId).values;return n=jT(o),e.makeOutput(n,t.shape,t.dtype)},WR={kernelName:pi,backendName:\"cpu\",kernelFunc:iJ};function re(r){return(t,e,n,o,s)=>{let i=S.assertAndGetBroadcastShape(t,e),a=i.length,u=y.computeStrides(i),l=y.sizeFromShape(i),c=y.getTypedArrayFromDType(s,l),p=t.length,m=e.length,f=y.computeStrides(t),d=y.computeStrides(e),h=S.getBroadcastDims(t,i),g=S.getBroadcastDims(e,i);if(h.length+g.length===0)for(let x=0;xw[$]=0);let C=y.locToIndex(w,p,f),T=b.slice(-m);g.forEach($=>T[$]=0);let E=y.locToIndex(T,m,d);c[x]=r(n[C],o[E])}return[c,i]}}function Cr(r){let{inputs:t,backend:e}=r,{real:n,imag:o}=t,s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,a=e.makeTensorInfo(n.shape,\"complex64\"),u=e.data.get(a.dataId);return u.complexTensorInfos={real:e.makeTensorInfo(n.shape,\"float32\",s),imag:e.makeTensorInfo(o.shape,\"float32\",i)},a}var UR={kernelName:Np,backendName:\"cpu\",kernelFunc:Cr};function fd(r,t,e=\"float32\"){if(e===\"complex64\"){let o=fd(r,t,\"float32\"),s=fd(r,t,\"float32\");return Cr({inputs:{real:o,imag:s},backend:r})}let n=y.makeZerosTypedArray(y.sizeFromShape(t),e);return r.makeTensorInfo(t,e,n)}function Ur(r){let{inputs:t,backend:e}=r,{x:n}=t;return e.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var HR={kernelName:uo,backendName:\"cpu\",kernelFunc:Ur};function Eo(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.data.get(n.dataId).complexTensorInfos.real,s=e.data.get(o.dataId).values;return e.makeTensorInfo(o.shape,o.dtype,s)}var qR={kernelName:qp,backendName:\"cpu\",kernelFunc:Eo};function XT(r,t,e,n){if(n===\"int32\"){let o=Int32Array.from(r);return[t,\"int32\",o]}if(n===\"bool\"){let o=y.toTypedArray([0],e),[s,i]=re((a,u)=>a!==u?1:0)(t,[],r,o,\"bool\");return[i,\"bool\",s]}throw new Error(`Error in Cast: failed to cast ${e} to ${n}`)}function Ao(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dtype:s}=n;if(s===\"complex64\"){if(o.dtype===\"complex64\")return Ur({inputs:{x:o},backend:e});let c=fd(e,o.shape,o.dtype),p=Ao({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}}),m=Cr({inputs:{real:p,imag:c},backend:e});return e.disposeIntermediateTensorInfo(c),e.disposeIntermediateTensorInfo(p),m}if(o.dtype===\"complex64\"){let c=Eo({inputs:{input:o},backend:e}),p=Ao({inputs:{x:c},backend:e,attrs:{dtype:s}});return e.disposeIntermediateTensorInfo(c),p}if(!y.hasEncodingLoss(o.dtype,s)){let c=Ur({inputs:{x:o},backend:e});return{dataId:c.dataId,shape:c.shape,dtype:s}}let i=e.data.get(o.dataId).values,[a,u,l]=XT(i,o.shape,o.dtype,s);return e.makeTensorInfo(a,u,l)}var KR={kernelName:ao,backendName:\"cpu\",kernelFunc:Ao};function ie(r,t,e,n){return e==null?({inputs:o,backend:s})=>{let{a:i,b:a}=o,u=s;nt([i,a],r);let l=u.data.get(i.dataId).values,c=u.data.get(a.dataId).values,p=i.dtype===\"string\"?S.fromUint8ToStringArray(l):l,m=i.dtype===\"string\"?S.fromUint8ToStringArray(c):c,f=n||i.dtype,[d,h]=t(i.shape,a.shape,p,m,f);return u.makeTensorInfo(h,f,d)}:({inputs:o,backend:s})=>{let{a:i,b:a}=o,u=s;if(i.dtype===\"complex64\"||a.dtype===\"complex64\"){let l=Ao({inputs:{x:i},backend:u,attrs:{dtype:\"complex64\"}}),c=u.data.get(l.dataId),p=c.complexTensorInfos.real,m=c.complexTensorInfos.imag,f=u.data.get(p.dataId).values,d=u.data.get(m.dataId).values,h=Ao({inputs:{x:a},backend:u,attrs:{dtype:\"complex64\"}}),g=u.data.get(h.dataId),x=g.complexTensorInfos.real,b=g.complexTensorInfos.imag,w=u.data.get(x.dataId).values,C=u.data.get(b.dataId).values,[T,E,$]=e(i.shape,a.shape,f,d,w,C),D=u.makeTensorInfo($,\"float32\",T),P=u.makeTensorInfo($,\"float32\",E),M=Cr({inputs:{real:D,imag:P},backend:u});return u.disposeIntermediateTensorInfo(l),u.disposeIntermediateTensorInfo(h),u.disposeIntermediateTensorInfo(D),u.disposeIntermediateTensorInfo(P),M}else{let l=u.data.get(i.dataId).values,c=u.data.get(a.dataId).values,p=n||i.dtype,[m,f]=t(i.shape,a.shape,l,c,p);return u.makeTensorInfo(f,p,m)}}}function dd(r){return(t,e,n,o,s,i)=>{let a=S.assertAndGetBroadcastShape(t,e),u=y.sizeFromShape(a),l=a.length,c=y.computeStrides(a),p=y.getTypedArrayFromDType(\"float32\",u),m=y.getTypedArrayFromDType(\"float32\",u),f=S.getBroadcastDims(t,a),d=S.getBroadcastDims(e,a),h=S.mergeRealAndImagArrays(n,o),g=S.mergeRealAndImagArrays(s,i),x=t.length,b=y.computeStrides(t),w=e.length,C=y.computeStrides(e);if(f.length+d.length===0)for(let T=0;T$[H]=0);let D=y.locToIndex($,x,b),P=E.slice(-w);d.forEach(H=>P[H]=0);let M=y.locToIndex(P,w,C),W=r(h[D*2],h[D*2+1],g[M*2],g[M*2+1]);p[T]=W.real,m[T]=W.imag}return[p,m,a]}}var YT=re((r,t)=>r+t),aJ=dd((r,t,e,n)=>({real:r+e,imag:t+n})),Qi=ie(jn,YT,aJ),jR={kernelName:jn,backendName:\"cpu\",kernelFunc:Qi};function hd(r,t,e,n,o){let s=y.sizeFromShape(n),i=y.makeZerosTypedArray(o,e);for(let a=0;a=o||(s>0?i[u]+=t[a]:i[u]+=1)}return i}function mw(r,t,e,n=!1){let o=r.shape[0],s=r.shape[1],i=vt([o,e],t.dtype);for(let a=0;a=e||(n?i.set(1,a,l):t.size>0?i.set(i.get(a,l)+t.get(a,u),a,l):i.set(i.get(a,l)+1,a,l))}return i}function bn(r){return(t,e,n)=>{let o=y.getTypedArrayFromDType(e,t.length);for(let s=0;s{let{x:i}=n;if(nt(i,r),i.dtype===\"string\"||e===\"string\")throw new Error(\"unaryKernelFunc does not support string input/output\");let a=s,u=a.data.get(i.dataId).values,l=y.sizeFromShape(i.shape),c=e||i.dtype,p=y.getArrayFromDType(c,l);for(let m=0;m{let{x:i}=n;if(nt(i,r),i.dtype===\"string\"||e===\"string\")throw new Error(\"unaryKernelFunc does not support string input/output\");let a=s,u=a.data.get(i.dataId).values,l=e||i.dtype,c=t(u,l,o);return a.makeTensorInfo(i.shape,l,c)}}var ZT=bn(r=>Math.ceil(r)),lJ=$o(Jo,ZT),XR={kernelName:Jo,backendName:\"cpu\",kernelFunc:lJ};function Pc(r,t,e,n){let o=y.getArrayFromDType(e,y.sizeFromShape(t));if(n&&e!==\"string\"){let s=0;r.forEach(i=>{let a=y.sizeFromShape(i.shape);o.set(i.vals,s),s+=a})}else{let s=0;r.forEach(i=>{let a=e===\"string\"?S.fromUint8ToStringArray(i.vals):i.vals,u=0;for(let l=0;lr===t?1:0),QT=ie(xa,JT,null,\"bool\"),YR={kernelName:xa,backendName:\"cpu\",kernelFunc:QT};var tN=bn(r=>Math.exp(r)),eN=$o(as,tN,\"float32\"),ZR={kernelName:as,backendName:\"cpu\",kernelFunc:eN};var rN=bn(r=>Math.expm1(r)),uJ=$o(ya,rN),JR={kernelName:ya,backendName:\"cpu\",kernelFunc:uJ};var nN=bn(r=>Math.floor(r)),cJ=$o(ls,nN),QR={kernelName:ls,backendName:\"cpu\",kernelFunc:cJ};function fw(r,t,e,n,o,s,i,a,u){let l=vt([n,s],e);for(let c=0;c=u/s)throw new Error(`Invalid indices: ${p} does not index into ${a}`);for(let f=0;fr>t?1:0),pJ=ie(Ca,oN,null,\"bool\"),tF={kernelName:Ca,backendName:\"cpu\",kernelFunc:pJ};var sN=re((r,t)=>r>=t?1:0),mJ=ie(ps,sN,null,\"bool\"),eF={kernelName:ps,backendName:\"cpu\",kernelFunc:mJ};var iN=re((r,t)=>rr<=t?1:0),dJ=ie(Na,aN,null,\"bool\"),nF={kernelName:Na,backendName:\"cpu\",kernelFunc:dJ};function hw(r,t,e){let n=(t-r)/(e-1),o=y.makeZerosTypedArray(e,\"float32\");o[0]=r;for(let s=1;sMath.log(r)),hJ=$o(fs,lN),oF={kernelName:fs,backendName:\"cpu\",kernelFunc:hJ};function gw(r,t,e,n){let o=y.getTypedArrayFromDType(n,y.sizeFromShape(e));for(let s=0;sa)&&(a=l)}o[s]=a}return o}var uN=re((r,t)=>Math.max(r,t)),gJ=ie(hs,uN),sF={kernelName:hs,backendName:\"cpu\",kernelFunc:gJ};var cN=re((r,t)=>Math.min(r,t)),xJ=ie(bs,cN),iF={kernelName:bs,backendName:\"cpu\",kernelFunc:xJ};var Xh=re((r,t)=>r*t),yJ=dd((r,t,e,n)=>({real:r*e-t*n,imag:r*n+t*e})),Lc=ie(Cs,Xh,yJ),aF={kernelName:Cs,backendName:\"cpu\",kernelFunc:Lc};function pN(r,t,e){let n=y.createScalarValue(-1,e);return Xh([],t,n,r,e)}function bJ(r){let{inputs:t,backend:e}=r,{x:n}=t;nt(n,\"neg\");let o=e.data.get(n.dataId).values,[s,i]=pN(o,n.shape,n.dtype);return e.makeTensorInfo(i,n.dtype,s)}var lF={kernelName:gi,backendName:\"cpu\",kernelFunc:bJ};var mN=re((r,t)=>r!==t?1:0),wJ=ie(Da,mN,null,\"bool\"),uF={kernelName:Da,backendName:\"cpu\",kernelFunc:wJ};function gd(r,t,e,n,o){let s=t.length,i=y.sizeFromShape(t),a=y.computeStrides(t),u=y.computeStrides(o),l=y.getTypedArrayFromDType(e,y.sizeFromShape(o));for(let c=0;ce.disposeIntermediateTensorInfo(b)),e.makeTensorInfo(x,g,d)}var pF={kernelName:Ns,backendName:\"cpu\",kernelFunc:CJ};var Do=S.RowPartitionType,xd=class{constructor(t,e,n,o,s,i,a,u,l,c){this.shape=t,this.shapeShape=e,this.values=n,this.valuesShape=o,this.valuesDType=s,this.defaultValue=i,this.defaultValueShape=a,this.rowPartitionValues=u,this.rowPartitionValuesShapes=l,this.rowPartitionTypes=S.getRowPartitionTypesHelper(c),this.raggedRank=S.getRaggedRank(this.rowPartitionTypes)}getRowPartitionTypeByDimension(t){return this.rowPartitionTypes[0]===Do.FIRST_DIM_SIZE?this.rowPartitionTypes[t+1]:this.rowPartitionTypes[t]}getRowPartitionTensor(t){return this.rowPartitionTypes[0]===Do.FIRST_DIM_SIZE?this.rowPartitionValues[t+1]:this.rowPartitionValues[t]}getMaxWidth(t){let e=this.getRowPartitionTensor(t-1);switch(this.getRowPartitionTypeByDimension(t-1)){case Do.VALUE_ROWIDS:return xd.getMaxWidthValueRowID(e);case Do.ROW_SPLITS:return xd.getMaxWidthRowSplit(e);default:throw new Error(`Cannot handle partition type ${Do[this.getRowPartitionTypeByDimension(t-1)]}`)}}static getMaxWidthRowSplit(t){let e=t.length;if(e===0||e===1)return 0;let n=0;for(let o=0;on&&(n=s)}return n}static getMaxWidthValueRowID(t){let e=t.length;if(e===0)return 0;let n=0,o=t[0],s=0;for(let i=1;i\"Final length of result must be equal to firstDimension.\"),s}calculateOutputIndexRowSplit(t,e,n,o){let s=t.length,i=[];for(let a=0;a0&&i.length!==t[s-1])throw new Error(\"Invalid row split size.\");return i}calculateOutputIndexValueRowID(t,e,n,o){let s=t.length,i=[];if(s===0)return[];let a=0,u=t[0];if(u>=e.length)throw new Error(`Got currentValueRowId=${u}, which is not less than ${e.length}`);let l=e[u];i.push(l);for(let c=1;c=0&&(++a,a=e.length)throw new Error(`Got nextValueRowId=${p} which is not less than ${e.length}`);l=e[p]}i.push(l)}if(i.length!==t.length)throw new Error(\"Invalid row ids.\");return i}calculateOutputIndex(t,e,n,o){let s=this.getRowPartitionTensor(t),i=this.getRowPartitionTypeByDimension(t);switch(i){case Do.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(s,e,n,o);case Do.ROW_SPLITS:if(s.length-1>e.length)throw new Error(`Row partition size is greater than output size: ${s.length-1} > ${e.length}`);return this.calculateOutputIndexRowSplit(s,e,n,o);default:throw new Error(`Unsupported partition type: ${Do[i]}`)}}getFirstDimensionSize(){let t=this.rowPartitionValues[0];if(this.rowPartitionTypes.length===0)throw new Error(\"No row_partition_types given.\");let e=this.rowPartitionTypes[0];switch(e){case Do.FIRST_DIM_SIZE:return t[0];case Do.VALUE_ROWIDS:throw new Error(\"Cannot handle VALUE_ROWIDS in first dimension.\");case Do.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${Do[e]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error(\"Invalid first partition input. Tensor requires at least one element.\");let e=this.getFirstDimensionSize(),n=this.calculateOutputSize(e),o=new Array(this.raggedRank+1);o[o.length-1]=1;for(let u=o.length-2;u>=0;--u)o[u]=o[u+1]*n[u+1];let s=fF(n,!1),i=y.getArrayFromDType(this.valuesDType,y.sizeFromShape(s));if(o[0]*n[0]>0){let u=this.calculateFirstParentOutputIndex(e,o[0],n[0]);for(let l=1;l<=this.raggedRank;++l)u=this.calculateOutputIndex(l-1,u,o[l],n[l]);this.setOutput(this.raggedRank,u,i,s)}return[s,i]}setOutput(t,e,n,o){if(n.length===0)return;let s=this.values,i=n,a=o.slice();a=a.slice(t+1);let u=y.sizeFromShape(a),l=e.length,c=this.defaultValue;if(c.length!==u&&c.length!==1){let d=this.defaultValueShape;G(()=>{let h=F(c,d);c=Mi(h,a).dataSync()})}let p=0,m=0,f=0;for(let d=0;d<=l;++d){let h=d=l){let g=n.length;h=Math.floor(g/u)}if(h>f)if(this.defaultValue.length===1)i.subarray(f*u,h*u).fill(this.defaultValue[0]),f=h;else for(;h>f;){let g=i.slice(f*u);mF(g,c,u),++f}h<0?(p=d+1,m=f):(p=d,m=f,f=m+1)}}};function mF(r,t,e){for(let n=0;n= 0`);if(n<-1)throw new Error(`Dimension ${n} must be >= -1`);n=-1}e.push(n)}return e}function xw(r,t,e,n,o,s,i,a,u,l){return new xd(r,t,e,n,o,s,i,a,u,l).compute()}function Mc(r,t,e,n){let o=r===t,s=r1;if(o||s||i)return y.makeZerosTypedArray(0,n);let a=Math.abs(Math.ceil((t-r)/e)),u=y.makeZerosTypedArray(a,n);t1/Math.sqrt(r)),vJ=$o(Rs,dN),dF={kernelName:Rs,backendName:\"cpu\",kernelFunc:vJ};function fl(r,t,e,n,o,s,i,a,u,l){let c=[n/o,o],p=r.values,m=t.values;if(n===0)return vt(e,t.dtype);let f=vt(c,t.dtype);typeof u==\"string\"||typeof u==\"number\"?f.values.fill(u):typeof u==\"boolean\"&&f.values.fill(+u);for(let d=0;d=n/o)throw new Error(`Invalid indices: ${h} does not index into ${e}`);for(let x=0;x1/(1+Math.exp(-r))),hN=Et(Os,r=>1/(1+Math.exp(-r))),gF={kernelName:Os,backendName:\"cpu\",kernelFunc:hN};function zc(r,t,e,n,o){let s=Be.isSliceContinous(n,t,e),i=y.sizeFromShape(e),a=y.computeStrides(n);if(s){let p=Be.computeFlatOffset(t,a);return o===\"string\"?r.slice(p,p+i):r.subarray(p,p+i)}let u=o===\"string\"?S.fromUint8ToStringArray(r):r,l=vt(n,o,u),c=vt(e,o);for(let p=0;pd+t[h]);c.set(l.get(...f),...m)}return o===\"string\"?S.fromStringArrayToUint8(c.values):c.values}function Ro(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,size:i}=n;nt(o,\"slice\");let[a,u]=Be.parseSliceParams(o,s,i);Be.assertParamsValid(o,a,u);let l=e.data.get(o.dataId).values,c=zc(l,a,u,o.shape,o.dtype);return e.makeTensorInfo(u,o.dtype,c)}var xF={kernelName:Ci,backendName:\"cpu\",kernelFunc:Ro};function yw(r,t,e,n,o,s,i){let a=t[0],u=s[0],l=new Array(u),c=new Array(a),p=t[1];if(u===0){if(a!==0)throw new Error(S.getSparseFillEmptyRowsIndicesDenseShapeMismatch(a));let g=y.getArrayFromDType(e,0),x=y.getArrayFromDType(o,0);return[g,[0,p],x,l,c]}let m=!0,f=0,d=new Array(u).fill(0);for(let g=0;g=u)throw new Error(S.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(g,x,u));++d[x],m=m&&x>=f,f=x}let h=!0;for(let g=0;g0&&(d[g]+=d[g-1])}if(h&&m){let g=r,x=n;for(let b=0;b0){f[m-1]=1;for(let g=m-2;g>=0;--g)f[g]=f[g+1]*n[g+1]}let d=[];if(a>0){d[a-1]=1;for(let g=a-2;g>=0;--g)d[g]=d[g+1]*u[g+1]}let h=y.getArrayFromDType(e,i*a);for(let g=0;g0?o[a-1]+1:0;if(p<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let m=t.slice();m[0]=p;let f=m.reduce((w,C)=>w*C,1),d=y.getArrayFromDType(e,f);if(a===0)return p>0&&d.fill(i),[d,m];if(p<=0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let h=0,g=1,x=0,b=o[h];for(;;){let w=0;if(g=w)throw new Error(S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(b<0||b>=p)throw new Error(S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(b,p));b>x&&d.fill(i,x*l,b*l);for(let C=h;C=u[0])throw new Error(S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(C,n[C],u[0]));for(let E=0;Ea)break}return xMath.sqrt(r)),IJ=Et(Ps,r=>Math.sqrt(r)),bF={kernelName:Ps,backendName:\"cpu\",kernelFunc:IJ};var gN=re((r,t)=>{let e=r-t;return e*e}),SJ=ie(zs,gN),wF={kernelName:zs,backendName:\"cpu\",kernelFunc:SJ};function ww(r,t,e,n){let o=vt(r,t.dtype);for(let s=0;s0?0:a-u),f=0;f+=l*this.leftPad.length;for(let b=0;bb.forEach(w=>h[g++]=w);for(let b=0;b0){x(t[m+p-1]);for(let b=0;b0){let u=e[0];if(u!==0)throw new Error(`First split value must be 0, got ${u}`);for(let l=1;l=u;if(c=c&&e[l]<=n,!c)throw new Error(`Invalid split value ${e[l]}, must be in [${u}, ${n}]`);u=e[l]}if(u!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${u}`)}let s=o-1,i=y.getArrayFromDType(\"int32\",o);if(n===0||o===0){let u=new Array(n);for(let l=0;l<=s;++l)i[l]=0;return[u,i]}i[0]=0;for(let u=1;u<=s;++u){let l=e[u]-e[u-1],c=0;this.nGramWidths.forEach(p=>{c+=this.getNumNGrams(l,p)}),this.preserveShort&&l>0&&c===0&&(c=1),i[u]=i[u-1]+c}let a=new Array(i[s]);for(let u=0;u{let m=e[u+1]-e[u],f=this.getNumNGrams(m,p);this.createNGrams(t,l,a,c,f,p),c+=f}),this.preserveShort&&c===i[u]){let p=e[u+1]-e[u];if(p===0)continue;let m=p+2*this.padWidth,f=1;this.createNGrams(t,l,a,c,f,m)}}return[a,i]}};function Bc(r,t,e,n,o,s,i,a){return new xN(e,n,o,s,i,a).compute(r,t)}function TJ(r,t,e,n){if(!r.length)return;if(t.length===0){for(let s=0;sr-t),NJ=dd((r,t,e,n)=>({real:r-e,imag:t-n})),Yh=ie(Bs,yN,NJ),CF={kernelName:Bs,backendName:\"cpu\",kernelFunc:Yh};function Cw(r,t){let e=new Array(r.rank);for(let o=0;o{let e=t.value-r.value;return e===0?r.index-t.index:e};function vF(r,t,e=0,n=r.length-1){for(;n>e;){if(n-e>600){let a=n-e+1,u=t-e+1,l=Math.log(a),c=.5*Math.exp(2*l/3),p=.5*Math.sqrt(l*c*(a-c)/a)*Math.sign(u-a/2),m=Math.max(e,Math.floor(t-u*c/a+p)),f=Math.min(n,Math.floor(t+(a-u)*c/a+p));vF(r,t,m,f)}let o=r[t],s=e,i=n;for(y.swap(r,e,t),Zh(r[n],o)>0&&y.swap(r,e,n);s0;)i=i-1}Zh(r[e],o)===0?y.swap(r,e,i):(i=i+1,y.swap(r,i,n)),i<=t&&(e=i+1),t<=i&&(n=i-1)}}function vw(r,t,e,n,o){let s=t[t.length-1],[i,a]=[r.length/s,s],u=y.getTypedArrayFromDType(e,i*n),l=y.getTypedArrayFromDType(\"int32\",i*n);for(let p=0;pd[w]={value:b,index:w}),n{for(let g=0;gnew Tu,1);var bN=Et(is,r=>r>=0?r:Math.exp(r)-1),IF={kernelName:is,backendName:\"cpu\",kernelFunc:bN};function wN(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{alpha:s}=n;nt([o],\"leakyRelu\");let i=y.sizeFromShape(o.shape),a=e.data.get(o.dataId).values,u=y.getTypedArrayFromDType(\"float32\",i);for(let l=0;lr<0?t*r:r);function CN(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t;nt([n,o],\"prelu\");let s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,[a,u]=_J(n.shape,o.shape,s,i,\"float32\");return e.makeTensorInfo(u,\"float32\",a)}var TF={kernelName:Ts,backendName:\"cpu\",kernelFunc:CN};var vN=Et(ks,r=>Math.max(0,r)),NF={kernelName:ks,backendName:\"cpu\",kernelFunc:vN};var IN=Et(As,r=>Math.min(Math.max(0,r),6)),kF={kernelName:As,backendName:\"cpu\",kernelFunc:IN};function Wc(r,t,e,n,o){if(e===\"linear\")return Ur({inputs:{x:t},backend:r});if(e===\"relu\")return vN({inputs:{x:t},backend:r});if(e===\"elu\")return bN({inputs:{x:t},backend:r});if(e===\"relu6\")return IN({inputs:{x:t},backend:r});if(e===\"prelu\")return CN({inputs:{x:t,alpha:n},backend:r});if(e===\"leakyrelu\")return wN({inputs:{x:t},backend:r,attrs:{alpha:o}});if(e===\"sigmoid\")return hN({inputs:{x:t},backend:r});throw new Error(`Activation ${e} has not been implemented for the CPU backend.`)}function Jt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{shape:s}=n,i=y.sizeFromShape(o.shape),a=y.inferFromImplicitShape(s,i),u=y.sizeFromShape(a);y.assert(i===u,()=>`The new shape (${a}) 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.`),e.incRef(o.dataId);let l=e.data.get(o.dataId);if(l.complexTensorInfos!=null){let c=l.complexTensorInfos.real,p=l.complexTensorInfos.imag;c.shape=a,p.shape=a}return{dataId:o.dataId,shape:a,dtype:o.dtype}}var _F={kernelName:bi,backendName:\"cpu\",kernelFunc:Jt};function SN(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;nt([o,s],\"matMul\");let u=o.shape.length,l=s.shape.length,c=i?o.shape[u-2]:o.shape[u-1],p=a?s.shape[l-1]:s.shape[l-2],m=i?o.shape[u-1]:o.shape[u-2],f=a?s.shape[l-2]:s.shape[l-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),w=Lr.assertAndGetBroadcastShape(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=${i} and transposeB=${a} must match.`);let C=i?[g,c,m]:[g,m,c],T=a?[x,f,p]:[x,p,f],E=Jt({inputs:{x:o},backend:e,attrs:{shape:C}}),$=Jt({inputs:{x:s},backend:e,attrs:{shape:T}}),D=i?E.shape[1]:E.shape[2],P=i?E.shape[2]:E.shape[1],M=a?$.shape[1]:$.shape[2],W=Math.max(g,x),H=e.data.get(E.dataId).values,q=e.data.get($.dataId).values,X=y.computeStrides(E.shape),j=y.computeStrides($.shape),[Z,et,K]=i?[X[0],1,X[1]]:[X[0],X[1],1],[ot,st,it]=a?[1,j[1],j[0]]:[j[1],1,j[0]],pt=P*M,at=vt([W,P,M],E.dtype),gt=at.values,dt=e.blockSize;for(let bt=0;btMath.acos(r)),$F={kernelName:oa,backendName:\"cpu\",kernelFunc:AJ};var $J=Et(sa,r=>Math.acosh(r)),DF={kernelName:sa,backendName:\"cpu\",kernelFunc:$J};function DJ(r){let{inputs:t,backend:e}=r,n=t;nt(t,\"addN\");let o=n.map(a=>e.data.get(a.dataId).values),s=vt(n[0].shape,n[0].dtype),i=s.values;for(let a=0;ab&&(b=T,w=C)}f[g]=w}return l.forEach(g=>e.disposeIntermediateTensorInfo(g)),e.makeTensorInfo(c,\"int32\",f)}var PF={kernelName:Xo,backendName:\"cpu\",kernelFunc:OJ};function PJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n;nt(o,\"argMin\");let i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Ue({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),i=[i[0]],S.assertAxesAreInnerMostDims(\"argMin\",i,u.shape.length);let[c,p]=S.computeOutAndReduceShapes(u.shape,i),m=y.sizeFromShape(c),f=y.makeZerosTypedArray(m,\"int32\"),d=y.sizeFromShape(p),h=e.data.get(u.dataId).values;for(let g=0;ge.disposeIntermediateTensorInfo(g)),e.makeTensorInfo(c,\"int32\",f)}var LF={kernelName:Nl,backendName:\"cpu\",kernelFunc:PJ};var LJ=Et(la,r=>Math.asin(r)),MF={kernelName:la,backendName:\"cpu\",kernelFunc:LJ};var MJ=Et(ua,r=>Math.asinh(r)),zF={kernelName:ua,backendName:\"cpu\",kernelFunc:MJ};var zJ=Et(ca,r=>Math.atan(r)),BF={kernelName:ca,backendName:\"cpu\",kernelFunc:zJ};var BJ=re((r,t)=>Math.atan2(r,t)),VJ=ie(ma,BJ),VF={kernelName:ma,backendName:\"cpu\",kernelFunc:VJ};var GJ=Et(pa,r=>Math.atanh(r)),GF={kernelName:pa,backendName:\"cpu\",kernelFunc:GJ};function bd(r,t,e,n,o,s){let i=o.strideHeight,a=o.strideWidth,u=o.dilationHeight,l=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=vt(o.outShape,e),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 C=0;Cet?et=dt:s===\"avg\"&&(K+=dt,ot++)}if(isNaN(et))break}let st=H+q*w+$;g[st]=s===\"avg\"?K/ot:et}}}return h}function Tw(r,t,e,n,o=!1,s=!1){let i=vt(n.outShape,\"int32\"),a=n.strideHeight,u=n.strideWidth,l=n.dilationHeight,c=n.dilationWidth,p=n.effectiveFilterHeight,m=n.effectiveFilterWidth,f=n.padInfo.top,d=n.padInfo.left,h=vt(t,e,r);for(let g=0;gM&&(M=Z,o?W=s?((g*n.inHeight+H)*n.inWidth+X)*n.inChannels+x:(H*n.inWidth+X)*n.inChannels+x:W=q*m+j)}}i.set(W,g,b,E,x)}}return i}function Nw(r,t,e,n,o,s){let i=o.strideDepth,a=o.strideHeight,u=o.strideWidth,l=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=vt(o.outShape,e),C=w.values,T=o.outShape[1]*o.outShape[2]*o.outShape[3]*o.outShape[4],E=o.outShape[2]*o.outShape[3]*o.outShape[4],$=o.outShape[3]*o.outShape[4],D=o.outShape[4];for(let P=0;PAt?At=Re:s===\"avg\"&&(Rt+=Re,qt++),isNaN(At))break}if(isNaN(At))break}if(isNaN(At))break}let Kt=Tt+H;C[Kt]=s===\"avg\"?Rt/qt:At}}}}return w}function WF(r,t){let e=vt(t.outShape,\"int32\"),n=t.strideDepth,o=t.strideHeight,s=t.strideWidth,i=t.dilationDepth,a=t.dilationHeight,u=t.dilationWidth,l=t.effectiveFilterDepth,c=t.effectiveFilterHeight,p=t.effectiveFilterWidth,m=t.padInfo.front,f=t.padInfo.top,d=t.padInfo.left;for(let h=0;h=q&&(q=it,X=Z*c*p+K*c+st)}}}e.set(X,h,x,T,P,g)}}}return e}function WJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;nt(o,\"avgPool\");let{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=n,l=1;y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Ur({inputs:{x:o},backend:e});else{let m=e.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=bd(m,o.shape,o.dtype,f,c,\"avg\");p=e.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var UF={kernelName:Yo,backendName:\"cpu\",kernelFunc:WJ};function UJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n;nt(o,\"avgPool3d\");let c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.data.get(o.dataId).values,m=Nw(p,o.shape,o.dtype,y.computeStrides(o.shape),c,\"avg\");return e.makeTensorInfo(m.shape,\"float32\",m.values)}var HF={kernelName:kl,backendName:\"cpu\",kernelFunc:UJ};function HJ(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n;nt([o,s],\"avgPool3DGrad\");let c=S.computePool3DInfo(s.shape,i,a,1,u,l),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=c.effectiveFilterDepth,T=c.effectiveFilterHeight,E=c.effectiveFilterWidth,$=C-1-c.padInfo.front,D=E-1-c.padInfo.left,P=T-1-c.padInfo.top,M=vt(s.shape,\"float32\"),W=1/(d*h*g),H=e.bufferSync(o);for(let q=0;q=c.outDepth||Math.floor(at)!==at))for(let gt=0;gt=c.outHeight||Math.floor(dt)!==dt))for(let bt=0;bt=c.outWidth||Math.floor(Tt)!==Tt)continue;it+=H.get(q,at,dt,Tt,X)}}}M.set(it*W,q,j,Z,et,X)}return e.makeTensorInfo(M.shape,M.dtype,M.values)}var qF={kernelName:Ip,backendName:\"cpu\",kernelFunc:HJ};function qJ(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s;nt([o,s],\"avgPoolGrad\");let{filterSize:a,strides:u,pad:l}=n,c=S.computePool2DInfo(i.shape,a,u,1,l),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,C=x-1-c.padInfo.top,T=vt(i.shape,\"float32\"),E=1/(f*d),$=e.data.get(o.dataId).values,D=vt(o.shape,\"float32\",$);for(let P=0;P=c.outHeight||Math.floor(et)!==et))for(let K=0;K=c.outWidth||Math.floor(ot)!==ot)continue;j+=D.get(P,et,ot,M)}}T.set(j*E,P,W,H,M)}return e.makeTensorInfo(T.shape,T.dtype,T.values)}var KF={kernelName:vp,backendName:\"cpu\",kernelFunc:qJ};function KJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,scale:s,offset:i,mean:a,variance:u}=t;y.assert(a.shape.length===u.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(i==null||a.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(s==null||a.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\"),nt([o,a,u,s,i],\"batchNorm\");let{varianceEpsilon:l}=n;l==null&&(l=.001);let c=e.data.get(o.dataId).values,p=e.data.get(a.dataId).values,m=e.data.get(u.dataId).values,f=s?e.data.get(s.dataId).values:new Float32Array([1]),d=i?e.data.get(i.dataId).values:new Float32Array([0]),h=new Float32Array(c.length),g=d.length,x=f.length,b=m.length,w=p.length,C=0,T=0,E=0,$=0;for(let D=0;D=g&&(C=0),T>=w&&(T=0),E>=x&&(E=0),$>=b&&($=0);return e.makeTensorInfo(o.shape,o.dtype,h)}var jF={kernelName:cs,backendName:\"cpu\",kernelFunc:KJ};function jJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,crops:i}=n;nt([o],\"batchToSpaceND\");let a=s.reduce((x,b)=>x*b),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=Jt({inputs:{x:o},backend:e,attrs:{shape:u}}),d=Ue({inputs:{x:f},backend:e,attrs:{perm:l}}),h=Jt({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Ro({inputs:{x:h},backend:e,attrs:{begin:p,size:m}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),g}var XF={kernelName:mi,backendName:\"cpu\",kernelFunc:jJ};function XJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i}=n,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,l=hd(a,u,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,l)}var YF={kernelName:Sp,backendName:\"cpu\",kernelFunc:XJ};function YJ(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeTensorInfo([a.length],\"int32\",Int32Array.from(a))}var ZF={kernelName:Tp,backendName:\"cpu\",kernelFunc:YJ};var ZJ=Et(lo,(r,t)=>{let e=t;return r>e.clipValueMax?e.clipValueMax:r{let{x:t}=r.inputs,e=r.backend,n=new Float32Array(y.sizeFromShape(t.shape)),o=e.data.get(t.dataId),s=o.complexTensorInfos.real,i=o.complexTensorInfos.imag,a=e.data.get(s.dataId).values,u=e.data.get(i.dataId).values;for(let l=0;lh.shape),s);if(y.sizeFromShape(i)===0)return e.makeTensorInfo(i,t[0].dtype,[]);let a=t.filter(h=>y.sizeFromShape(h.shape)>0);if(a.length===1)return Ur({inputs:{x:a[0]},backend:e});let u=a.map(h=>h.shape);if(S.assertParamsConsistent(u,s),a[0].dtype===\"complex64\"){let h=a.map(C=>Eo({inputs:{input:C},backend:e})),g=a.map(C=>ta({inputs:{input:C},backend:e})),x=Nu({inputs:h,backend:e,attrs:{axis:s}}),b=Nu({inputs:g,backend:e,attrs:{axis:s}}),w=Cr({inputs:{real:x,imag:b},backend:e});return h.forEach(C=>e.disposeIntermediateTensorInfo(C)),g.forEach(C=>e.disposeIntermediateTensorInfo(C)),e.disposeIntermediateTensorInfo(x),e.disposeIntermediateTensorInfo(b),w}let l=a.map(h=>{let g=y.sizeFromShape(h.shape.slice(s));return Jt({inputs:{x:h},backend:e,attrs:{shape:[-1,g]}})}),c=l.map(h=>({vals:e.data.get(h.dataId).values,shape:h.shape}));i=S.computeOutShape(l.map(h=>h.shape),1);let p=l[0].shape[0]===1,m=Pc(c,i,t[0].dtype,p),f=S.computeOutShape(a.map(h=>h.shape),s),d=e.makeTensorInfo(f,t[0].dtype,m);return l.forEach(h=>e.disposeIntermediateTensorInfo(h)),d}var eO={kernelName:fi,backendName:\"cpu\",kernelFunc:Nu};function TN(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dataFormat:u,dilations:l,dimRoundingMode:c}=n;nt([o,s],\"conv2d\");let p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,s.shape,i,l,a,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\",C=new fe(m.outShape,o.dtype),T=y.computeStrides(o.shape),E=y.computeStrides(s.shape),$=T[0],D=w?T[1]:T[2],P=w?T[2]:1,M=w?1:T[1],W=C.strides[0],H=w?C.strides[1]:C.strides[2],q=w?C.strides[2]:1,X=w?1:C.strides[1],j=e.data.get(o.dataId).values,Z=e.data.get(s.dataId).values,et=C.values;for(let K=0;K=m.inHeight)continue;let bt=gt*E[0],Tt=ot+dt*D;for(let At=0;At=m.inWidth)continue;let Ft=bt+Kt*E[1],Ae=Tt+me*P,Ie=Ft;for(let le=0;le=l.inDepth)continue;let K=Z*P[0],ot=W+et*D[1];for(let st=0;st=l.inHeight)continue;let dt=K+at*P[1],bt=ot+gt*D[2];for(let Tt=0;Tt=l.inWidth)continue;let me=dt+qt*P[2],Ft=bt+Kt*l.inChannels,Ae=me;for(let Ie=0;IeMath.cos(r)),lO={kernelName:es,backendName:\"cpu\",kernelFunc:o9};var s9=Et(rs,r=>Math.cosh(r)),uO={kernelName:rs,backendName:\"cpu\",kernelFunc:s9};function i9(r){let{inputs:t,backend:e,attrs:n}=r,{image:o,boxes:s,boxInd:i}=t,{cropSize:a,method:u,extrapolationValue:l}=n,[c,p,m,f]=o.shape,d=s.shape[0],[h,g]=a,x=vt([d,h,g,f],\"float32\"),b=e.data.get(s.dataId).values,w=e.data.get(i.dataId).values,C=e.data.get(o.dataId).values,T=y.computeStrides(o.shape),E=y.computeStrides(x.shape);for(let $=0;$=c)continue;let X=h>1?(W-P)*(p-1)/(h-1):0,j=g>1?(H-M)*(m-1)/(g-1):0;for(let Z=0;Z1?P*(p-1)+Z*X:.5*(P+W)*(p-1);if(et<0||et>p-1){for(let K=0;K1?M*(m-1)+it*j:.5*(M+H)*(m-1);if(pt<0||pt>m-1){for(let bt=0;bt1?M*(m-1)+K*j:.5*(M+H)*(m-1);if(ot<0||ot>m-1){for(let pt=0;ptx+d-b-1:(x,b)=>x+b;for(let x=0;xx+d-b-1:(x,b)=>x+b;for(let x=0;x`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`);let a=o.shape[0],u=o.shape[1],l=o.shape[2],c=o.shape[3],p=u*s,m=l*s,f=c/(s*s),d=e.data.get(o.dataId).values,h=new Float32Array(a*p*m*f),g=0;for(let x=0;x`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${m}'`);let f=S.computeConv2DInfo(o.shape,s.shape,i,m,a,l,!0),{filterHeight:d,filterWidth:h,dilationHeight:g,dilationWidth:x,padInfo:b}=f,w=b.left,C=b.top,T=f.outChannels/f.inChannels,E=new fe(f.outShape,o.dtype),$=e.data.get(o.dataId).values,D=e.data.get(s.dataId).values,P=E.values;for(let M=0;M=f.inHeight)continue;let K=Z*p[0],ot=W+et*c[1];for(let st=0;st=f.inWidth)continue;let dt=K+at*p[1],bt=ot+gt*f.inChannels,Tt=it,At=dt;for(let Rt=0;Rt{let{x:n,filter:o}=r,{strides:s,pad:i,dilations:a}=e,u=t,l=u.data.get(n.dataId).values,c=n.shape.length,p=u.data.get(o.dataId).values,m=o.shape.length,{batchSize:f,inHeight:d,inWidth:h,inChannels:g,outHeight:x,outWidth:b,padInfo:w,strideHeight:C,strideWidth:T,filterHeight:E,filterWidth:$,dilationHeight:D,dilationWidth:P,outShape:M}=S.computeDilation2DInfo(n.shape,o.shape,s,i,\"NHWC\",a),W=y.sizeFromShape(M),H=M.length,q=y.getArrayFromDType(n.dtype,W);for(let j=0;j=0&>=0&&btit&&(it=Rt)}}}let pt=y.locToIndex([j,Z,K,st],H,y.computeStrides(M));q[pt]=it}}}return{dataId:u.write(y.toTypedArray(q,n.dtype),M,n.dtype),shape:M,dtype:n.dtype}}};var wO={kernelName:sh,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t,attrs:e})=>{let{x:n,filter:o,dy:s}=r,{strides:i,pad:a,dilations:u}=e,l=t,c=y.toNestedArray(n.shape,l.data.get(n.dataId).values),p=y.toNestedArray(o.shape,l.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:C,filterHeight:T,filterWidth:E,dilationHeight:$,dilationWidth:D,outShape:P}=S.computeDilation2DInfo(n.shape,o.shape,i,a,\"NHWC\",u);y.assert(s.rank===P.length,()=>`Error in ${sh}, dy must have the same rank as output ${P.length}, but got ${s.rank}`);let M=y.toNestedArray(P,l.data.get(s.dataId).values),W=y.makeZerosNestedTypedArray(o.shape,o.dtype);for(let q=0;q=0&&at=0&&dtot&&(ot=bt,st=pt,it=gt)}}}W[st][it][K]+=M[q][X][Z][K]}}}return{dataId:l.write(y.toTypedArray(W,n.dtype),o.shape,o.dtype),shape:o.shape,dtype:o.dtype}}};var CO={kernelName:oh,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t,attrs:e})=>{let{x:n,filter:o,dy:s}=r,{strides:i,pad:a,dilations:u}=e,l=t,c=y.toNestedArray(n.shape,l.data.get(n.dataId).values),p=y.toNestedArray(o.shape,l.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:C,filterHeight:T,filterWidth:E,dilationHeight:$,dilationWidth:D,outShape:P}=S.computeDilation2DInfo(n.shape,o.shape,i,a,\"NHWC\",u);y.assert(s.rank===P.length,()=>`Error in ${oh}, dy must have the same rank as output ${P.length}, but got ${s.rank}`);let M=y.toNestedArray(P,l.data.get(s.dataId).values),W=y.makeZerosNestedTypedArray(n.shape,n.dtype);for(let q=0;q=0&&at=0&&dtot&&(ot=bt,st=at,it=dt)}}}W[q][st][it][K]+=M[q][X][Z][K]}}}return{dataId:l.write(y.toTypedArray(W,n.dtype),n.shape,n.dtype),shape:n.shape,dtype:n.dtype}}};function dl(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n;nt(o,\"sum\");let a;o.dtype===\"bool\"?a=Ao({inputs:{x:o},backend:e,attrs:{dtype:\"int32\"}}):a=Ur({inputs:{x:o},backend:e});let u=a.shape.length,l=y.parseAxisParam(s,a.shape),c=S.getAxesPermutation(l,u),p=l,m=a;c!=null&&(m=Ue({inputs:{x:a},backend:e,attrs:{perm:c}}),p=S.getInnerMostAxes(p.length,u)),S.assertAxesAreInnerMostDims(\"sum\",p,m.shape.length);let[f,d]=S.computeOutAndReduceShapes(m.shape,p),h=S.upcastType(m.dtype,\"int32\"),g=fd(e,f,h),x=y.sizeFromShape(d),b=e.data.get(g.dataId).values,w=e.data.get(m.dataId).values;for(let C=0;C=0&&(m=dl({inputs:{x:m},backend:e,attrs:{axis:l[h]-(i.length-f),keepDims:!1}}),d.push(m)),f--)}for(let h of d)h!==m&&e.disposeIntermediateTensorInfo(h);return m}var IO={kernelName:Fp,backendName:\"cpu\",kernelFunc:d9};function h9(r){let{inputs:t,backend:e}=r,{dy:n,y:o}=t;nt([n,o],\"eluGrad\");let s=new Float32Array(y.sizeFromShape(o.shape)),i=e.data.get(o.dataId).values,a=e.data.get(n.dataId).values;for(let u=0;u=1?s[u]=a[u]:s[u]=a[u]*(l+1)}return e.makeTensorInfo(o.shape,\"float32\",s)}var SO={kernelName:Op,backendName:\"cpu\",kernelFunc:h9};var g9=S.ERF_P,x9=S.ERF_A1,y9=S.ERF_A2,b9=S.ERF_A3,w9=S.ERF_A4,C9=S.ERF_A5,v9=Et(ga,r=>{let t=Math.sign(r),e=Math.abs(r),n=1/(1+g9*e);return t*(1-((((C9*n+w9)*n+b9)*n+y9)*n+x9)*n*Math.exp(-e*e))}),TO={kernelName:ga,backendName:\"cpu\",kernelFunc:v9};function wd(r){let{inputs:t,backend:e,attrs:n}=r,{input:o}=t,{dim:s}=n,i=o.shape.length,a=o.shape.slice(),u=s;return s<0&&(y.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),a.splice(u,0,1),Jt({inputs:{x:o},backend:e,attrs:{shape:a}})}var NO={kernelName:di,backendName:\"cpu\",kernelFunc:wd};var I9=re((r,t)=>r/t),Jh=ie(ss,I9),Qh={kernelName:ss,backendName:\"cpu\",kernelFunc:Jh};function kw(r,t,e){let n=r.shape,o=n[0],s=n[1],i=e.data.get(r.dataId),a=i.complexTensorInfos.real,u=i.complexTensorInfos.imag,l=[o,s],c=y.sizeFromShape(l),p=y.getTypedArrayFromDType(\"float32\",c),m=y.getTypedArrayFromDType(\"float32\",c);for(let g=0;g{let{image:n}=r,o=e,s=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[i,a,u,l]=n.shape,c=o.data.get(n.dataId).values;for(let m=0;m=0&&wMath.floor(r/t)),A9=ie(us,E9,null,\"int32\"),AO={kernelName:us,backendName:\"cpu\",kernelFunc:A9};function $9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=TN({inputs:{x:o,filter:s},backend:e,attrs:{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m}});if(i){let g=h;if(c===\"NCHW\"&&i.shape.length===1&&i.shape[0]!==1){let x=Jt({inputs:{x:i},backend:e,attrs:{shape:[i.shape[0],1,1]}});h=Qi({inputs:{a:h,b:x},backend:e}),e.disposeIntermediateTensorInfo(x)}else h=Qi({inputs:{a:h,b:i},backend:e});e.disposeIntermediateTensorInfo(g)}if(f){let g=h;if(c===\"NCHW\"&&f===\"prelu\"&&a.shape.length===1&&a.shape[0]!==1){let x=Jt({inputs:{x:a},backend:e,attrs:{shape:[a.shape[0],1,1]}});h=Wc(e,h,f,x,d),e.disposeIntermediateTensorInfo(x)}else h=Wc(e,h,f,a,d);e.disposeIntermediateTensorInfo(g)}return h}var $O={kernelName:ki,backendName:\"cpu\",kernelFunc:$9};function D9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=NN({inputs:{x:o,filter:s},backend:e,attrs:{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m}});if(i){let g=h;h=Qi({inputs:{a:h,b:i},backend:e}),e.disposeIntermediateTensorInfo(g)}if(f){let g=h;h=Wc(e,h,f,a,d),e.disposeIntermediateTensorInfo(g)}return h}var DO={kernelName:_i,backendName:\"cpu\",kernelFunc:D9};function R9(r){let{inputs:t,backend:e}=r,{params:n,indices:o}=t,s=y.sizeFromShape(n.shape),i=o.shape,a=i[i.length-1],[u,l,c,p]=S.prepareAndValidate(n,o);if(l===0)return e.makeTensorInfo(u,n.dtype,[]);let m=e.data.get(o.dataId).values,f=e.bufferSync(n),d=fw(m,f,n.dtype,l,a,c,p,n.shape,s);return e.makeTensorInfo(u,n.dtype,d.values)}var RO={kernelName:wa,backendName:\"cpu\",kernelFunc:R9};function F9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,indices:s}=t,{axis:i,batchDims:a}=n;nt([o,s],\"gatherV2\");let u=y.parseAxisParam(i,o.shape)[0],l=e.data.get(s.dataId).values,c=o.shape[u];for(let C=0;C=0,()=>`GatherV2: the index value ${T} is not in [0, ${c-1}]`)}let p=a;a==null&&(p=0);let m=y.sizeFromShape(s.shape),f=S.segment_util.collectGatherOpShapeInfo(o,s,u,p),d=Jt({inputs:{x:o},backend:e,attrs:{shape:[f.batchSize,f.outerSize,f.dimSize,f.sliceSize]}}),h=Jt({inputs:{x:s},backend:e,attrs:{shape:[f.batchSize,m/f.batchSize]}}),g=[f.batchSize,f.outerSize,m/f.batchSize,f.sliceSize],x=e.bufferSync(h),b=e.bufferSync(d),w=dw(b,x,g);return e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),e.makeTensorInfo(f.outputShape,w.dtype,w.values)}var FO={kernelName:hi,backendName:\"cpu\",kernelFunc:F9};function O9(r){let{inputs:t,backend:e}=r,{input:n}=t,o=y.sizeFromShape(n.shape),s=n.shape[n.shape.length-1],i=o/s,a=Jt({inputs:{x:n},backend:e,attrs:{shape:[i,s]}}),u=kw(a,!0,e),l=Jt({inputs:{x:u},backend:e,attrs:{shape:n.shape}});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(u),l}var OO={kernelName:Lp,backendName:\"cpu\",kernelFunc:O9};var P9=Et(va,r=>Number.isFinite(r)?1:0,\"bool\"),PO={kernelName:va,backendName:\"cpu\",kernelFunc:P9};var L9=Et(Ia,r=>Math.abs(r)===1/0?1:0,\"bool\"),LO={kernelName:Ia,backendName:\"cpu\",kernelFunc:L9};var M9=Et(Sa,r=>Number.isNaN(r)?1:0,\"bool\"),MO={kernelName:Sa,backendName:\"cpu\",kernelFunc:M9};function z9(r){let{backend:t,attrs:e}=r,{start:n,stop:o,num:s}=e,i=hw(n,o,s);return t.makeTensorInfo([i.length],\"float32\",i)}var zO={kernelName:zp,backendName:\"cpu\",kernelFunc:z9};var B9=Et(ka,r=>Math.log1p(r)),BO={kernelName:ka,backendName:\"cpu\",kernelFunc:B9};var V9=re((r,t)=>r&&t),G9=ie(_a,V9,null,\"bool\"),VO={kernelName:_a,backendName:\"cpu\",kernelFunc:G9};var W9=Et(Ea,r=>r?0:1,\"bool\"),GO={kernelName:Ea,backendName:\"cpu\",kernelFunc:W9};var U9=re((r,t)=>r||t),H9=ie(Aa,U9,null,\"bool\"),WO={kernelName:Aa,backendName:\"cpu\",kernelFunc:H9};function q9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n;nt(o,\"LRN\");let l=o.shape[3],c=l-1,p=e.data.get(o.dataId).values,m=y.sizeFromShape(o.shape),f=new Float32Array(m);function d(h){let g=h%l,x=h-g+Math.max(0,g-s),b=h-g+Math.min(g+s,c),w=0;for(;x<=b;x++){let C=p[x];w+=C*C}return w}for(let h=0;h`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Ur({inputs:{x:o},backend:e});else{let m=e.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=bd(m,o.shape,o.dtype,f,c,\"max\");p=e.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var KO={kernelName:gs,backendName:\"cpu\",kernelFunc:j9};function X9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n;nt(o,\"maxPool3d\");let c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.data.get(o.dataId).values,m=Nw(p,o.shape,o.dtype,y.computeStrides(o.shape),c,\"max\");return e.makeTensorInfo(m.shape,\"float32\",m.values)}var jO={kernelName:Rl,backendName:\"cpu\",kernelFunc:X9};function Y9(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n;nt([o,s],\"maxPool3DGrad\");let c=S.computePool3DInfo(s.shape,i,a,1,u,l),p=e.bufferSync(s),m=WF(p,c),f=c.strideDepth,d=c.strideHeight,h=c.strideWidth,g=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,w=c.effectiveFilterDepth,C=c.effectiveFilterHeight,T=c.effectiveFilterWidth,E=w-1-c.padInfo.front,$=T-1-c.padInfo.left,D=C-1-c.padInfo.top,P=vt(s.shape,\"float32\"),M=e.bufferSync(o);for(let W=0;W=c.outDepth||Math.floor(it)!==it))for(let pt=0;pt=c.outHeight||Math.floor(at)!==at))for(let gt=0;gt=c.outWidth||Math.floor(dt)!==dt)continue;let bt=w*C*T-1-m.get(W,it,at,dt,H),Tt=st*C*T+pt*T+gt,At=bt===Tt?1:0;if(At===0)continue;ot+=M.get(W,it,at,dt,H)*At}}}P.set(ot,W,q,X,j,H)}return e.makeTensorInfo(P.shape,P.dtype,P.values)}var XO={kernelName:Gp,backendName:\"cpu\",kernelFunc:Y9};function Z9(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s,output:i}=t,a=s;nt([s,i],\"maxPoolGrad\");let{filterSize:u,strides:l,pad:c,dimRoundingMode:p}=n,m=S.computePool2DInfo(a.shape,u,l,1,c,p),f=e.data.get(a.dataId).values,d=vt(m.outShape,a.dtype,Tw(f,a.shape,a.dtype,m).values),h=m.strideHeight,g=m.strideWidth,x=m.dilationHeight,b=m.dilationWidth,w=m.effectiveFilterHeight,C=m.effectiveFilterWidth,T=C-1-m.padInfo.left,E=w-1-m.padInfo.top,$=vt(a.shape,\"float32\"),D=e.data.get(o.dataId).values,P=vt(o.shape,\"float32\",D);for(let M=0;M=m.outHeight||Math.floor(K)!==K))for(let ot=0;ot=m.outWidth||Math.floor(st)!==st)continue;let it=w*C-1-d.get(M,K,st,W),pt=et*C+ot,at=it===pt?1:0;if(at===0)continue;Z+=P.get(M,K,st,W)*at}}$.set(Z,M,H,q,W)}return e.makeTensorInfo($.shape,$.dtype,$.values)}var YO={kernelName:Vp,backendName:\"cpu\",kernelFunc:Z9};function ZO(r,t,e,n,o){let s=y.computeStrides(t),i=bd(r,t,e,s,o,\"max\"),a=Tw(r,t,e,o,!0,n);return[i.values,a.values]}var JO={kernelName:Wp,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{filterSize:o,strides:s,pad:i,includeBatchInIndex:a}=t,u=e;nt(n,\"MaxPoolWithArgmax\");let l=u.data.get(n.dataId).values,c=S.computePool2DInfo(n.shape,o,s,[1,1],i),[p,m]=ZO(l,n.shape,n.dtype,a,c),f=u.write(p,c.outShape,n.dtype),d=u.write(m,c.outShape,n.dtype);return[{dataId:f,shape:c.outShape,dtype:n.dtype},{dataId:d,shape:c.outShape,dtype:\"int32\"}]}};function J9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=y.parseAxisParam(s,o.shape),l=S.computeOutAndReduceShapes(o.shape,a)[1],c=y.sizeFromShape(l),p=[],m=e.makeTensorInfo([],\"float32\",new Float32Array([c]));p.push(m);let f=Ao({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}});p.push(f);let d=Jh({inputs:{a:f,b:m},backend:e});p.push(d);let h=dl({inputs:{x:d},backend:e,attrs:{axis:s,keepDims:i}});return p.forEach(g=>e.disposeIntermediateTensorInfo(g)),h}var QO={kernelName:xs,backendName:\"cpu\",kernelFunc:J9};function Q9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n;nt(o,\"min\");let a=y.parseAxisParam(s,o.shape),u=a,l=S.getAxesPermutation(u,o.shape.length),c=o;l!=null&&(c=Ue({inputs:{x:o},backend:e,attrs:{perm:l}}),u=S.getInnerMostAxes(u.length,o.shape.length)),S.assertAxesAreInnerMostDims(\"min\",u,c.shape.length);let[p,m]=S.computeOutAndReduceShapes(c.shape,u),f=y.sizeFromShape(m),d=y.makeZerosTypedArray(y.sizeFromShape(p),c.dtype),h=e.data.get(c.dataId).values;for(let x=0;xw[0]+o.shape[C]+w[1]),u=s.map(w=>w[0]),l=s.map((w,C)=>w[0]+o.shape[C]),c=i===\"reflect\"?0:1,p=e.data.get(o.dataId).values,m=o.shape.length,f=y.computeStrides(o.shape),d=y.sizeFromShape(a),h=a.length,g=y.computeStrides(a),x=y.getTypedArrayFromDType(o.dtype,d);for(let w=0;w=l[E]&&(C[E]=(l[E]-1)*2-C[E]+c);C=C.map((E,$)=>E-u[$]);let T=y.locToIndex(C,m,f);x[w]=p[T]}return{dataId:e.write(x,a,o.dtype),shape:a,dtype:o.dtype}}var eP={kernelName:ws,backendName:\"cpu\",kernelFunc:tQ};var eQ=re((r,t)=>{let e=r%t;return r<0&&t<0||r>=0&&t>=0?e:(e+t)%t}),rQ=ie($a,eQ),rP={kernelName:$a,backendName:\"cpu\",kernelFunc:rQ};var oP=Tl(vh());function EN(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{dim:s}=n,i=o.shape.length,a=s;if(a===-1&&(a=i-1),a!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${a}`);let u=y.parseAxisParam([a],o.shape),l=_N({inputs:{x:o},backend:e,attrs:{reductionIndices:u,keepDims:!1}}),c=S.expandShapeToKeepDim(l.shape,u),p=Jt({inputs:{x:l},backend:e,attrs:{shape:c}}),m=Yh({inputs:{a:o,b:p},backend:e}),f=eN({inputs:{x:m},backend:e}),d=dl({inputs:{x:f},backend:e,attrs:{axis:u,keepDims:!1}}),h=Jt({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Jh({inputs:{a:f,b:h},backend:e});return e.disposeIntermediateTensorInfo(l),e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),g}var nP={kernelName:Ms,backendName:\"cpu\",kernelFunc:EN};function nQ(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n;nt(o,\"multinomial\");let u=a?o:EN({inputs:{logits:o},backend:e,attrs:{dim:-1}}),l=u.shape[0],c=u.shape[1],p=e.data.get(u.dataId).values,m=[l,s],f=y.makeZerosTypedArray(y.sizeFromShape(m),\"int32\");for(let d=0;d=0&&p[m]{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=wd({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=Nu({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeIntermediateTensorInfo(c)),l}var fP={kernelName:yi,backendName:\"cpu\",kernelFunc:AN};function pQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{paddings:s,constantValue:i}=n;nt(o,\"pad\");let a=s.map((b,w)=>b[0]+o.shape[w]+b[1]),u=s.map(b=>b[0]),l=e.data.get(o.dataId).values,c=y.sizeFromShape(o.shape),p=o.shape.length,m=y.computeStrides(o.shape),f=y.sizeFromShape(a),d=a.length,h=y.computeStrides(a),g=y.getTypedArrayFromDType(o.dtype,f);i!==0&&g.fill(i);for(let b=0;bE+u[$]),T=y.locToIndex(C,d,h);g[T]=l[b]}return{dataId:e.write(g,a,o.dtype),shape:a,dtype:o.dtype}}var _w={kernelName:Is,backendName:\"cpu\",kernelFunc:pQ};var mQ=re((r,t)=>Math.pow(r,t)),fQ=ie(Ss,mQ),dP={kernelName:Ss,backendName:\"cpu\",kernelFunc:fQ};function dQ(r){let{inputs:t,backend:e,attrs:n}=r,{shape:o,values:s,defaultValue:i,rowPartitionTensors:a}=t,{rowPartitionTypes:u}=n,l=e.data.get(o.dataId).values,c=e.data.get(s.dataId).values,p=e.data.get(i.dataId).values,m=a.map(g=>e.data.get(g.dataId).values),f=a.map(g=>g.shape),[d,h]=xw(l,o.shape,c,s.shape,s.dtype,p,i.shape,m,f,u);return e.makeTensorInfo(d,s.dtype,h)}var hP={kernelName:Hp,backendName:\"cpu\",kernelFunc:dQ};function hQ(r){let{backend:t,attrs:e}=r,{start:n,stop:o,dtype:s,step:i}=e,a=Mc(n,o,i,s);return t.makeTensorInfo([a.length],s,a)}var gP={kernelName:Fl,backendName:\"cpu\",kernelFunc:hQ};var gQ=Et(Pa,r=>1/r),xP={kernelName:Pa,backendName:\"cpu\",kernelFunc:gQ};function xQ(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n;nt(o,\"resizeBilinear\");let u=y.computeStrides(o.shape),[l,c]=a,[p,m,f,d]=o.shape,h=e.data.get(o.dataId).values,g=new Float32Array(y.sizeFromShape([p,l,c,d])),x=[s&&l>1?m-1:m,s&&c>1?f-1:f],b=[s&&l>1?l-1:l,s&&c>1?c-1:c],w=0,C=x[0]/b[0],T=x[1]/b[1];for(let E=0;E1?l-1:l,i&&f>1?c-1:c],g=[i&&m>1?m-1:m,i&&f>1?f-1:f],x=h[0]/g[0],b=h[1]/g[1],w=e.data.get(s.dataId).values,C=0;for(let T=0;T1?m-1:m,s&&c>1?f-1:f],b=[s&&l>1?l-1:l,s&&c>1?c-1:c],w=x[0]/b[0],C=x[1]/b[1],T=0;for(let E=0;E1?c-1:c,i&&d>1?p-1:p],b=[i&&f>1?f-1:f,i&&d>1?d-1:d],w=x[0]/b[0],C=x[1]/b[1],T=1/w,E=1/C,$=Math.ceil(T)*2+2,D=Math.ceil(E)*2+2;for(let P=0;P=f)continue;let at=M+pt*u[1],gt=pt*w,dt=Math.min(c-1,i?Math.round(gt):Math.floor(gt));if(W===dt)for(let bt=0;bt=d)continue;let At=at+Tt*u[2],Rt=Tt*C,qt=Math.min(p-1,i?Math.round(Rt):Math.floor(Rt));j===qt&&(st+=g[At+ot])}}h[Z+ot]=st}}}}return e.makeTensorInfo(o.shape,o.dtype,h)}var CP={kernelName:Kp,backendName:\"cpu\",kernelFunc:wQ};function CQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n;nt(o,\"reverse\");let i=o.shape.length,a=y.parseAxisParam(s,o.shape);if(i===0)return Ur({inputs:{x:o},backend:e});let u=new fe(o.shape,o.dtype),l=e.bufferSync(o);for(let c=0;cm[f]=o.shape[f]-1-m[f]),u.set(l.get(...m),...p)}return e.makeTensorInfo(u.shape,u.dtype,u.values)}var vP={kernelName:$s,backendName:\"cpu\",kernelFunc:CQ};var IP={kernelName:qa,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{image:n}=r,{radians:o,fillValue:s,center:i}=t,a=e,u=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[l,c,p,m]=n.shape,[f,d]=S.getImageCenter(i,c,p),h=255,g=Math.sin(o),x=Math.cos(o),b=a.data.get(n.dataId).values;for(let C=0;C=0&&X=0&&j{let t=Math.floor(r);return r-t<.5?Math.floor(r):r-t>.5?Math.ceil(r):t%2===0?t:t+1}),SP={kernelName:Ds,backendName:\"cpu\",kernelFunc:vQ};function IQ(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o,updates:s}=t,{shape:i}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(s,o,i),m=!0,f=e.bufferSync(o),d=e.bufferSync(s),h=fl(f,d,i,p,l,u,a,c,0,m);return e.makeTensorInfo(i,h.dtype,h.values)}var TP={kernelName:La,backendName:\"cpu\",kernelFunc:IQ};function SQ(r,t){let e=0,n=r.length,o=0;for(;e1||o.shape.length===1?1:y.sizeFromShape(o.shape.slice(1));for(let d=0;dr>=0?EQ*r:_Q*(Math.exp(r)-1)),EP={kernelName:Ma,backendName:\"cpu\",kernelFunc:AQ};var $Q=Et(Ba,r=>r<0?-1:r>0?1:0),AP={kernelName:Ba,backendName:\"cpu\",kernelFunc:$Q};var DQ=Et(Fs,r=>Math.sin(r)),$P={kernelName:Fs,backendName:\"cpu\",kernelFunc:DQ};var RQ=Et(za,r=>Math.sinh(r)),DP={kernelName:za,backendName:\"cpu\",kernelFunc:RQ};var FQ=11920928955078125e-23,RP=Math.log(FQ)+2,OQ=Et(Va,r=>{let t=r>-RP,e=rNumber(g)))),e.makeTensorInfo([h.length],n.dtype,new Int32Array(h))]}var PP={kernelName:Ol,backendName:\"cpu\",kernelFunc:LQ};function MQ(r){let{inputs:t,backend:e}=r,{inputIndices:n,inputShape:o,newShape:s}=t;if(n.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape\n ${n.shape}`);if(o.shape.length!==1)throw new Error(`Input shape should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(e.data.get(o.dataId).values),a=e.data.get(n.dataId).values,u=Array.from(e.data.get(s.dataId).values),[l,c,p]=bw(a,n.shape,n.dtype,i,u);return[e.makeTensorInfo(c,n.dtype,l),e.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var LP={kernelName:Ga,backendName:\"cpu\",kernelFunc:MQ};function zQ(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(o.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=yd(i,n.shape,n.dtype,a,u,!0);return e.makeTensorInfo(c,n.dtype,l)}var MP={kernelName:Pl,backendName:\"cpu\",kernelFunc:zQ};function BQ(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(o.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=yd(i,n.shape,n.dtype,a,u);return e.makeTensorInfo(c,n.dtype,l)}var zP={kernelName:Ll,backendName:\"cpu\",kernelFunc:BQ};function VQ(r){let{inputs:t,backend:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=t,{outputShape:a}=n,{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=S.calculateShapes(s,o,a),f=!1,d=e.bufferSync(o),h;switch(s.dtype){case\"bool\":{let g=e.bufferSync(s),x=Boolean(e.data.get(i.dataId).values[0]);h=fl(d,g,a,m,c,l,u,p,x,f);break}case\"float32\":{let g=e.bufferSync(s),x=e.data.get(i.dataId).values[0];h=fl(d,g,a,m,c,l,u,p,x,f);break}case\"int32\":{let g=e.bufferSync(s),x=e.data.get(i.dataId).values[0];h=fl(d,g,a,m,c,l,u,p,x,f);break}case\"string\":{let g=e.bufferSync(s),x=y.decodeString(e.data.get(i.dataId).values[0]);h=fl(d,g,a,m,c,l,u,p,x,f);break}default:throw new Error(`Unsupported type ${s.dtype}`)}return e.makeTensorInfo(a,h.dtype,h.values)}var BP={kernelName:Yp,backendName:\"cpu\",kernelFunc:VQ};function GQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=n,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=new Array(o.shape.length).fill(0),c=o.shape.slice();return u.map(p=>{let m=[...c];m[a]=p;let f=Ro({inputs:{x:o},backend:e,attrs:{begin:l,size:m}});return l[a]+=p,f})}var VP={kernelName:Ii,backendName:\"cpu\",kernelFunc:GQ};var GP={kernelName:Ml,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t})=>{let{x:e}=r,n=t;nt(e,\"square\");let o=n.data.get(e.dataId).values,s=new Float32Array(o.length);for(let a=0;a{let e=t;return isNaN(r)?NaN:r>0?1:e.alpha}),WP={kernelName:co,backendName:\"cpu\",kernelFunc:WQ};function UQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n;nt(o,\"stridedSlice\");let{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:C}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),T;if(h)T=Jt({inputs:{x:o},backend:e,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let E=Be.computeOutShape(b,w,C),$=Ro({inputs:{x:o},backend:e,attrs:{begin:b,size:E}});T=Jt({inputs:{x:$},backend:e,attrs:{shape:d}}),e.disposeIntermediateTensorInfo($)}else{let E=e.bufferSync(o),$=ww(f,E,C,b);T=e.makeTensorInfo(d,$.dtype,$.values)}return T}var UP={kernelName:Wa,backendName:\"cpu\",kernelFunc:UQ};function HQ(r){let{inputs:t,backend:e,attrs:n}=r,{separator:o,nGramWidths:s,leftPad:i,rightPad:a,padWidth:u,preserveShortSequences:l}=n,{data:c,dataSplits:p}=t,m=e.data.get(c.dataId).values,f=e.data.get(p.dataId).values,[d,h]=Bc(m,f,o,s,i,a,u,l);return[e.makeTensorInfo([d.length],\"string\",d),e.makeTensorInfo(p.shape,\"int32\",h)]}var HP={kernelName:zl,backendName:\"cpu\",kernelFunc:HQ};function qQ(r){let{inputs:t,backend:e,attrs:n}=r,{skipEmpty:o}=n,{input:s,delimiter:i}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);let a=e.data.get(s.dataId).values,u=e.data.get(i.dataId).values[0],[l,c,p]=Vc(a,u,o),m=c.length;return[e.makeTensorInfo([m,2],\"int32\",l),e.makeTensorInfo([m],\"string\",c),e.makeTensorInfo([2],\"int32\",new Int32Array(p))]}var qP={kernelName:Bl,backendName:\"cpu\",kernelFunc:qQ};function KQ(r){let{inputs:t,backend:e,attrs:n}=r,{numBuckets:o}=n,{input:s}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(o<=0)throw new Error(\"Number of buckets must be at least 1\");let i=e.data.get(s.dataId).values,a=Gc(i,o);return e.makeTensorInfo(s.shape,\"int32\",a)}var KP={kernelName:Vl,backendName:\"cpu\",kernelFunc:KQ};var jQ=Et(Vs,r=>Math.tan(r)),jP={kernelName:Vs,backendName:\"cpu\",kernelFunc:jQ};var XQ=Et(Gs,r=>Math.tanh(r)),XP={kernelName:Gs,backendName:\"cpu\",kernelFunc:XQ};function YQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{reps:s}=n;nt(o,\"tile\");let i=Cw(e.bufferSync(o),s);return e.makeTensorInfo(i.shape,i.dtype,i.values)}var YP={kernelName:Xn,backendName:\"cpu\",kernelFunc:YQ};function ZQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{k:s,sorted:i}=n;nt(o,\"topk\");let a=e.data.get(o.dataId).values,[u,l]=vw(a,o.shape,o.dtype,s,i);return[e.makeTensorInfo(u.shape,u.dtype,u.values),e.makeTensorInfo(l.shape,l.dtype,l.values)]}var ZP={kernelName:Ua,backendName:\"cpu\",kernelFunc:ZQ};function JQ(r){let{inputs:t,attrs:e,backend:n}=r,{image:o,transforms:s}=t,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=e,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=y.computeStrides(o.shape),b=x[0],w=x[1],C=x[2],T=y.computeStrides(g),E=T[0],$=T[1],D=T[2],P=y.getTypedArrayFromDType(o.dtype,y.sizeFromShape(g));P.fill(u);let M=n.data.get(o.dataId).values,W=n.data.get(s.dataId).values;for(let q=0;qt-1)if(t<=1)e=0;else{let n=2*t;e-=n*Math.trunc(e/n),e>=t&&(e=n-e-1)}return y.clamp(0,e,t-1)}function ttt(r,t){let e=r;if(e<0)if(t<=1)e=0;else{let n=t-1;e+=t*(Math.trunc(-e/n)+1)}else if(e>t-1)if(t<=1)e=0;else{let n=t-1;e-=t*Math.trunc(e/n)}return y.clamp(0,e,t-1)}function ett(r,t){return r}function rtt(r,t){return y.clamp(0,r,t-1)}function rg(r,t,e,n,o,s,i,a,u,l,c){let p=i*n+a*o+u*s+l;return 0<=a&&ae.disposeIntermediateTensorInfo(d)),f}var rL={kernelName:Gl,backendName:\"cpu\",kernelFunc:att};var ltt=[AF,WR,$F,DF,jR,RF,FF,OF,PF,LF,MF,zF,BF,VF,GF,UF,HF,qF,KF,EF,jF,XF,YF,ZF,KR,XR,JF,UR,QF,eO,rO,nO,oO,sO,iO,aO,lO,uO,cO,pO,mO,fO,dO,hO,gO,xO,yO,bO,wO,CO,IO,IF,SO,YR,TO,ZR,NO,JR,kO,_O,EO,QR,AO,$O,DO,RO,FO,tF,eF,HR,OO,tO,PO,LO,MO,SF,rF,nF,zO,oF,BO,VO,GO,WO,UO,HO,qO,sF,KO,jO,XO,YO,JO,QO,tP,iF,eP,rP,sP,aF,lF,iP,aP,lP,uF,uP,mP,fP,_w,dP,TF,pF,hP,gP,qR,Qh,xP,NF,kF,_F,yP,bP,wP,CP,vP,IP,SP,dF,TP,kP,_P,EP,gF,AP,$P,DP,xF,nP,FP,OP,PP,LP,MP,zP,BP,VP,bF,GP,wF,WP,UP,HP,qP,KP,CF,vO,jP,XP,YP,ZP,QP,cF,tL,eL,rL,cP];for(let r of ltt)Wu(r);var Id={};jt(Id,{assertNotComplex:()=>oi,bindCanvasToFramebuffer:()=>xtt,bindColorTextureToFramebuffer:()=>ig,bindTextureToProgramUniformSampler:()=>qN,bindTextureUnit:()=>iL,bindVertexBufferToProgramAttribute:()=>Fw,callAndCheck:()=>Ct,canBeRepresented:()=>FN,createFragmentShader:()=>PN,createFramebuffer:()=>WN,createProgram:()=>LN,createStaticIndexBuffer:()=>BN,createStaticVertexBuffer:()=>zN,createTexture:()=>VN,createVertexShader:()=>ON,getBatchDim:()=>gl,getExtensionOrThrow:()=>Cd,getFramebufferErrorMessage:()=>aL,getMaxTexturesInShader:()=>XN,getNumChannels:()=>htt,getProgramUniformLocation:()=>HN,getProgramUniformLocationOrThrow:()=>UN,getRowsCols:()=>xl,getShapeAs3D:()=>ag,getTextureShapeFromLogicalShape:()=>KN,getWebGLDisjointQueryTimerVersion:()=>YN,getWebGLErrorMessage:()=>sL,getWebGLMaxTextureSize:()=>jN,hasExtension:()=>Wn,isCapableOfRenderingToFloatTexture:()=>ZN,isDownloadFloatTextureEnabled:()=>JN,isReshapeFree:()=>_u,isWebGLFenceEnabled:()=>QN,isWebGLVersionEnabled:()=>Pw,linkProgram:()=>MN,logShaderSourceAndInfoLog:()=>Rw,resetMaxTextureSize:()=>ytt,resetMaxTexturesInShader:()=>btt,unbindColorTextureFromFramebuffer:()=>Ow,unbindTextureUnit:()=>gtt,validateFramebuffer:()=>vd,validateProgram:()=>sg,validateTextureSize:()=>GN});var Uc={},Ew={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function $N(r,t){Uc[r]=t}function Gn(r,t){if(!(r in Uc)||t!=null){let n=ctt(r,t);if(n!==null)Uc[r]=n;else return console.log(\"Could not get context for WebGL version\",r),null}let e=Uc[r];return e==null||e.isContextLost()?(delete Uc[r],Gn(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),Uc[r])}function utt(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 ctt(r,t){if(r!==1&&r!==2)throw new Error(\"Cannot get WebGL rendering context, WebGL is disabled.\");let e=t==null?utt(r):t;return e.addEventListener(\"webglcontextlost\",n=>{n.preventDefault(),delete Uc[r]},!1),B().getBool(\"SOFTWARE_WEBGL_ENABLED\")&&(Ew.failIfMajorPerformanceCaveat=!1),r===1?e.getContext(\"webgl\",Ew)||e.getContext(\"experimental-webgl\",Ew):e.getContext(\"webgl2\",Ew)}var ku;(function(r){r[r.DENSE=0]=\"DENSE\",r[r.SHARED_BATCH=1]=\"SHARED_BATCH\"})(ku||(ku={}));var Hr;(function(r){r[r.RENDER=0]=\"RENDER\",r[r.UPLOAD=1]=\"UPLOAD\",r[r.PIXELS=2]=\"PIXELS\",r[r.DOWNLOAD=3]=\"DOWNLOAD\"})(Hr||(Hr={}));var Fr;(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\"})(Fr||(Fr={}));function Hc(r,t){return[t,r]}function nL(r,t){return r*t}function ng(r){let t=y.sizeFromShape(r),e=Math.ceil(t/4);return y.sizeToSquarishShape(e)}function ea(r,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(r/2))]}function oL(r,t){let[e,n]=ea(r,t);return e*n*4}function og(r,t){let e=r,n,o,s,i,a,u,l,c,p,m;return B().getNumber(\"WEBGL_VERSION\")===2?(n=e.R32F,o=e.R16F,s=e.RGBA16F,i=e.RGBA32F,a=e.RED,l=4,c=1,p=e.HALF_FLOAT,m=e.FLOAT,u=e.RGBA8):(n=r.RGBA,o=r.RGBA,s=r.RGBA,i=e.RGBA,a=r.RGBA,l=4,c=4,p=t!=null?t.HALF_FLOAT_OES:null,m=r.FLOAT,u=r.RGBA),{internalFormatFloat:n,internalFormatHalfFloat:o,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:i,textureFormatFloat:a,downloadTextureFormat:u,downloadUnpackNumChannels:l,defaultNumChannels:c,textureTypeHalfFloat:p,textureTypeFloat:m}}function Ct(r,t){let e=t();return B().getBool(\"DEBUG\")&&ptt(r),e}function ptt(r){let t=r.getError();if(t!==r.NO_ERROR)throw new Error(\"WebGL Error: \"+sL(r,t))}var mtt=596e-10,ftt=65504;function FN(r){return!!(B().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")||r===0||mttr.getExtension(t),'Extension \"'+t+'\" not supported on this browser.')}function ON(r,t){let e=hl(r,()=>r.createShader(r.VERTEX_SHADER),\"Unable to create vertex WebGLShader.\");if(Ct(r,()=>r.shaderSource(e,t)),Ct(r,()=>r.compileShader(e)),r.getShaderParameter(e,r.COMPILE_STATUS)===!1)throw console.log(r.getShaderInfoLog(e)),new Error(\"Failed to compile vertex shader.\");return e}function PN(r,t){let e=hl(r,()=>r.createShader(r.FRAGMENT_SHADER),\"Unable to create fragment WebGLShader.\");if(Ct(r,()=>r.shaderSource(e,t)),Ct(r,()=>r.compileShader(e)),B().get(\"ENGINE_COMPILE_ONLY\"))return e;if(r.getShaderParameter(e,r.COMPILE_STATUS)===!1)throw Rw(t,r.getShaderInfoLog(e)),new Error(\"Failed to compile fragment shader.\");return e}var dtt=/ERROR: [0-9]+:([0-9]+):/g;function Rw(r,t){let e=dtt.exec(t);if(e==null){console.log(`Couldn't parse line number in error: ${t}`),console.log(r);return}let n=+e[1],o=r.split(`\n`),s=o.length.toString().length+2,i=o.map((p,m)=>y.rightPad((m+1).toString(),s)+p),a=0;for(let p=0;pr.createProgram(),\"Unable to create WebGLProgram.\")}function MN(r,t){if(Ct(r,()=>r.linkProgram(t)),!B().get(\"ENGINE_COMPILE_ONLY\")&&r.getProgramParameter(t,r.LINK_STATUS)===!1)throw console.log(r.getProgramInfoLog(t)),new Error(\"Failed to link vertex and fragment shaders.\")}function sg(r,t){if(Ct(r,()=>r.validateProgram(t)),r.getProgramParameter(t,r.VALIDATE_STATUS)===!1)throw console.log(r.getProgramInfoLog(t)),new Error(\"Shader program validation failed.\")}function zN(r,t){let e=hl(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return Ct(r,()=>r.bindBuffer(r.ARRAY_BUFFER,e)),Ct(r,()=>r.bufferData(r.ARRAY_BUFFER,t,r.STATIC_DRAW)),e}function BN(r,t){let e=hl(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return Ct(r,()=>r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e)),Ct(r,()=>r.bufferData(r.ELEMENT_ARRAY_BUFFER,t,r.STATIC_DRAW)),e}function htt(){return B().getNumber(\"WEBGL_VERSION\")===2?1:4}function VN(r){return hl(r,()=>r.createTexture(),\"Unable to create WebGLTexture.\")}function GN(r,t){let e=B().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\");if(r<=0||t<=0){let n=`[${r}x${t}]`;throw new Error(\"Requested texture size \"+n+\" is invalid.\")}if(r>e||t>e){let n=`[${r}x${t}]`,o=`[${e}x${e}]`;throw new Error(\"Requested texture size \"+n+\" greater than WebGL maximum on this browser / GPU \"+o+\".\")}}function WN(r){return hl(r,()=>r.createFramebuffer(),\"Unable to create WebGLFramebuffer.\")}function Fw(r,t,e,n,o,s,i){let a=r.getAttribLocation(t,e);return a===-1?!1:(Ct(r,()=>r.bindBuffer(r.ARRAY_BUFFER,n)),Ct(r,()=>r.vertexAttribPointer(a,o,r.FLOAT,!1,s,i)),Ct(r,()=>r.enableVertexAttribArray(a)),!0)}function iL(r,t,e){lL(r,e),Ct(r,()=>r.activeTexture(r.TEXTURE0+e)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,t))}function gtt(r,t){lL(r,t),Ct(r,()=>r.activeTexture(r.TEXTURE0+t)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function UN(r,t,e){return hl(r,()=>r.getUniformLocation(t,e),'uniform \"'+e+'\" not present in program.')}function HN(r,t,e){return r.getUniformLocation(t,e)}function qN(r,t,e,n){Ct(r,()=>iL(r,t,n)),Ct(r,()=>r.uniform1i(e,n))}function xtt(r){Ct(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,null)),Ct(r,()=>r.viewport(0,0,r.canvas.width,r.canvas.height)),Ct(r,()=>r.scissor(0,0,r.canvas.width,r.canvas.height))}function ig(r,t,e){Ct(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,e)),Ct(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0))}function Ow(r,t){Ct(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,t)),Ct(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,null,0))}function vd(r){let t=r.checkFramebufferStatus(r.FRAMEBUFFER);if(t!==r.FRAMEBUFFER_COMPLETE)throw new Error(\"Error binding framebuffer: \"+aL(r,t))}function aL(r,t){switch(t){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 ${t}`}}function hl(r,t,e){let n=Ct(r,()=>t());if(n==null)throw new Error(e);return n}function lL(r,t){let e=r.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,n=t+r.TEXTURE0;if(ne){let o=`[gl.TEXTURE0, gl.TEXTURE${e}]`;throw new Error(`textureUnit must be in ${o}.`)}}function gl(r,t=2){return y.sizeFromShape(r.slice(0,r.length-t))}function xl(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 ag(r){let t=[1,1,1];return r.length===0||r.length===1&&r[0]===1||(t=[gl(r),...xl(r)]),t}function KN(r,t=!1){let e=B().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\");t&&(e=e*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<=e)return[1,n];if(r.length===2&&r[0]<=e&&r[1]<=e)return r;if(r.length===3&&r[0]*r[1]<=e&&r[2]<=e)return[r[0]*r[1],r[2]];if(r.length===3&&r[0]<=e&&r[1]*r[2]<=e)return[r[0],r[1]*r[2]];if(r.length===4&&r[0]*r[1]*r[2]<=e&&r[3]<=e)return[r[0]*r[1]*r[2],r[3]];if(r.length===4&&r[0]<=e&&r[1]*r[2]*r[3]<=e)return[r[0],r[1]*r[2]*r[3]];if(t){let o=gl(r),s=2,i=2;return r.length&&([s,i]=xl(r)),n=o*(s/2)*(i/2),y.sizeToSquarishShape(n).map(a=>a*2)}return y.sizeToSquarishShape(n)}function Aw(r){return r%2===0}function _u(r,t){if(r=r.slice(-2),t=t.slice(-2),y.arraysEqual(r,t)||!r.length||!t.length||r[0]===0||r[1]===0||t[0]===0||t[1]===0)return!0;if(r.length!==t.length){let e=r.slice(-1)[0],n=t.slice(-1)[0];if(e===n||Aw(e)&&Aw(n)&&(r[0]===1||t[0]===1))return!0}return r[1]===t[1]&&Aw(r[0])&&Aw(t[0])}var $w,Dw;function jN(r){if($w==null){let t=Gn(r);$w=t.getParameter(t.MAX_TEXTURE_SIZE)}return $w}function ytt(){$w=null}function btt(){Dw=null}function XN(r){if(Dw==null){let t=Gn(r);Dw=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,Dw)}function YN(r){if(r===0)return 0;let t,e=Gn(r);return Wn(e,\"EXT_disjoint_timer_query_webgl2\")&&r===2?t=2:Wn(e,\"EXT_disjoint_timer_query\")?t=1:t=0,t}function Wn(r,t){return r.getExtension(t)!=null}function Pw(r){try{if(Gn(r)!=null)return!0}catch(t){return console.log(\"Error when getting WebGL context: \",t),!1}return!1}function ZN(r){if(r===0)return!1;let t=Gn(r);if(r===1){if(!Wn(t,\"OES_texture_float\"))return!1}else if(!Wn(t,\"EXT_color_buffer_float\"))return!1;return RN(t)}function JN(r){if(r===0)return!1;let t=Gn(r);if(r===1){if(!Wn(t,\"OES_texture_float\")||!Wn(t,\"WEBGL_color_buffer_float\"))return!1}else{if(Wn(t,\"EXT_color_buffer_float\"))return RN(t);let n=\"EXT_color_buffer_half_float\";if(Wn(t,n)){let o=t.getExtension(n);return wtt(t,o)}return!1}return RN(t)}function RN(r){let t=og(r),e=r.createTexture();r.bindTexture(r.TEXTURE_2D,e);let n=1,o=1;r.texImage2D(r.TEXTURE_2D,0,t.internalFormatFloat,n,o,0,t.textureFormatFloat,t.textureTypeFloat,null);let s=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,s),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0);let i=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(e),r.deleteFramebuffer(s),i}function wtt(r,t){let e=og(r,t),n=r.createTexture();r.bindTexture(r.TEXTURE_2D,n);let o=1,s=1;r.texImage2D(r.TEXTURE_2D,0,e.internalFormatHalfFloat,o,s,0,e.textureFormatFloat,e.textureTypeHalfFloat,null);let i=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,i),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,n,0);let a=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(n),r.deleteFramebuffer(i),a}function QN(r){return r!==2?!1:Gn(r).fenceSync!=null}function oi(r,t){Array.isArray(r)||(r=[r]),r.forEach(e=>{e!=null&&y.assert(e.dtype!==\"complex64\",()=>`${t} does not support complex64 tensors in the WebGL backend.`)})}var Dt=B();Dt.registerFlag(\"HAS_WEBGL\",()=>Dt.getNumber(\"WEBGL_VERSION\")>0);Dt.registerFlag(\"WEBGL_VERSION\",()=>Pw(2)?2:Pw(1)?1:0);Dt.registerFlag(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\",()=>!1);Dt.registerFlag(\"WEBGL_BUFFER_SUPPORTED\",()=>Dt.get(\"WEBGL_VERSION\")===2);Dt.registerFlag(\"WEBGL_CPU_FORWARD\",()=>!0);Dt.registerFlag(\"WEBGL_FORCE_F16_TEXTURES\",()=>!1);Dt.registerFlag(\"WEBGL_PACK\",()=>Dt.getBool(\"HAS_WEBGL\"));Dt.registerFlag(\"WEBGL_PACK_NORMALIZATION\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_CLIP\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_DEPTHWISECONV\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_BINARY_OPERATIONS\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_UNARY_OPERATIONS\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_ARRAY_OPERATIONS\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_IMAGE_OPERATIONS\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_REDUCE\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_LAZILY_UNPACK\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_CONV_IM2COL\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_MAX_TEXTURE_SIZE\",()=>jN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_MAX_TEXTURES_IN_SHADER\",()=>XN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\",()=>{let r=Dt.getNumber(\"WEBGL_VERSION\");return r===0?0:YN(r)});Dt.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\",()=>Dt.getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0&&!ql.isMobile());Dt.registerFlag(\"WEBGL_RENDER_FLOAT32_CAPABLE\",()=>ZN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_RENDER_FLOAT32_ENABLED\",()=>Dt.getBool(\"WEBGL_FORCE_F16_TEXTURES\")?!1:Dt.getBool(\"WEBGL_RENDER_FLOAT32_CAPABLE\"));Dt.registerFlag(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\",()=>JN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_FENCE_API_ENABLED\",()=>QN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_SIZE_UPLOAD_UNIFORM\",()=>Dt.getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?4:0);Dt.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}.`)});Dt.registerFlag(\"WEBGL_FLUSH_THRESHOLD\",()=>ql.isMobile()?1:-1,r=>{if(r<0&&r!==-1)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${r}.`)});Dt.registerFlag(\"CPU_HANDOFF_SIZE_THRESHOLD\",()=>128);Dt.registerFlag(\"WEBGL_USE_SHAPES_UNIFORMS\",()=>!1);Dt.registerFlag(\"TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD\",()=>1e5);Dt.registerFlag(\"TOPK_K_CPU_HANDOFF_THRESHOLD\",()=>128);Dt.registerFlag(\"WEBGL_EXP_CONV\",()=>!1);Dt.registerFlag(\"SOFTWARE_WEBGL_ENABLED\",()=>Dt.getBool(\"IS_TEST\"));function He(){let r,t,e,n,o,s,i,a,u,l;return B().getNumber(\"WEBGL_VERSION\")===2?(r=\"#version 300 es\",t=\"in\",e=\"out\",n=\"in\",o=\"texture\",s=\"outputColor\",i=\"out vec4 outputColor;\",a=`\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n `,u=\"\",l=`\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `):(r=\"\",t=\"attribute\",e=\"varying\",n=\"varying\",o=\"texture2D\",s=\"gl_FragColor\",i=\"\",a=`\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n `,u=`\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n `,l=`\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `),{version:r,attribute:t,varyingVs:e,varyingFs:n,texture2D:o,output:s,defineOutput:i,defineSpecialNaN:a,defineSpecialInf:u,defineRound:l}}function si(r,t,e=\"index\"){let n=y.computeStrides(t);return n.map((o,s)=>{let i=`int ${r[s]} = ${e} / ${o}`,a=s===n.length-1?`int ${r[s+1]} = ${e} - ${r[s]} * ${o}`:`index -= ${r[s]} * ${o}`;return`${i}; ${a};`}).join(\"\")}function qc(r,t,e=\"index\"){let n=y.computeStrides(t);return n.map((o,s)=>{let i=`int ${r[s]} = ${e} / outShapeStrides[${s}]`,a=s===n.length-1?`int ${r[s+1]} = ${e} - ${r[s]} * outShapeStrides[${s}]`:`index -= ${r[s]} * outShapeStrides[${s}]`;return`${i}; ${a};`}).join(\"\")}function Ctt(r,t){let e=r.length,n=r.map(s=>`${t}[${s}]`),o=new Array(e-1);o[e-2]=n[e-1];for(let s=e-3;s>=0;--s)o[s]=`(${o[s+1]} * ${n[s+1]})`;return o}function uL(r,t,e=\"index\"){let n=r.map((s,i)=>i),o=Ctt(n,t);return o.map((s,i)=>{let a=`int ${r[i]} = ${e} / ${o[i]}`,u=i===o.length-1?`int ${r[i+1]} = ${e} - ${r[i]} * ${o[i]}`:`index -= ${r[i]} * ${o[i]}`;return`${a}; ${u};`}).join(\"\")}function Sd(r){let t=y.computeStrides(r).map(e=>e.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}function Td(){return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n`}var Lw=`\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n`;var{getBroadcastDims:cL}=S;function pL(r,t,e){let n=[];if(r.forEach(f=>{let d=y.sizeFromShape(f.shapeInfo.logicalShape);if(f.shapeInfo.isUniform?n.push(`uniform float ${f.name}${d>1?`[${d}]`:\"\"};`):(n.push(`uniform sampler2D ${f.name};`),n.push(`uniform int offset${f.name};`)),e.enableShapeUniforms){let{uniformShape:h}=Mw(e.packedInputs,f.shapeInfo.logicalShape,f.shapeInfo.texShape);switch(h.length){case 1:n.push(`uniform int ${f.name}Shape;`);break;case 2:n.push(`uniform ivec2 ${f.name}Shape;`);break;case 3:n.push(`uniform ivec3 ${f.name}Shape;`);break;case 4:n.push(`uniform ivec4 ${f.name}Shape;`);break;default:break}n.push(`uniform ivec2 ${f.name}TexShape;`)}}),e.enableShapeUniforms){switch(t.logicalShape.length){case 1:n.push(\"uniform int outShape;\");break;case 2:n.push(\"uniform ivec2 outShape;\"),n.push(\"uniform int outShapeStrides;\");break;case 3:n.push(\"uniform ivec3 outShape;\"),n.push(\"uniform ivec2 outShapeStrides;\");break;case 4:n.push(\"uniform ivec4 outShape;\"),n.push(\"uniform ivec3 outShapeStrides;\");break;default:break}n.push(\"uniform ivec2 outTexShape;\")}e.customUniforms&&e.customUniforms.forEach(f=>{n.push(`uniform ${f.type} ${f.name}${f.arrayIndex?`[${f.arrayIndex}]`:\"\"};`)});let o=n.join(`\n`),s=r.map(f=>vtt(f,t,e.packedInputs,e.enableShapeUniforms)).join(`\n`),i=t.texShape,a=He(),u=Ttt(a),l,c,p=_tt(a);return t.isPacked?(l=Itt(t.logicalShape,i,e.enableShapeUniforms),c=ktt(a)):(l=Stt(t.logicalShape,i,e.enableShapeUniforms),c=Ntt(a)),e.packedInputs&&(p+=Dtt),[p,u,c,o,l,s,e.userCode].join(`\n`)}function kd(r,t=!1){let e=r.shapeInfo.logicalShape;switch(e.length){case 0:return Utt(r,t);case 1:return qtt(r,t);case 2:return jtt(r,t);case 3:return Ytt(r,t);case 4:return Jtt(r,t);case 5:return Qtt(r);case 6:return tet(r);default:throw new Error(`${e.length}-D input sampling is not yet supported`)}}function mL(r,t){switch(r.shapeInfo.logicalShape.length){case 0:return Wtt(r);case 1:return Htt(r,t);case 2:return Ktt(r,t);case 3:return Xtt(r,t);default:return Ztt(r,t)}}function vtt(r,t,e=!1,n){let o=\"\";e?o+=mL(r,n):o+=kd(r,n);let s=r.shapeInfo.logicalShape,i=t.logicalShape;return s.length<=i.length&&(e?o+=eet(r,t):o+=ret(r,t)),o}function Itt(r,t,e){switch(r.length){case 0:return fL();case 1:return Rtt(r,t,e);case 2:return Vtt(r,t,e);case 3:return Ott(r,t,e);default:return Ltt(r,t,e)}}function Stt(r,t,e){switch(r.length){case 0:return fL();case 1:return Ftt(r,t,e);case 2:return Gtt(r,t,e);case 3:return Ptt(r,t,e);case 4:return Mtt(r,t,e);case 5:return ztt(r,t);case 6:return Btt(r,t);default:throw new Error(`${r.length}-D output sampling is not yet supported`)}}function Ttt(r){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${r.texture2D}(textureSampler, uv).r;\n }\n `}function Ntt(r){return`\n void setOutput(float val) {\n ${r.output} = vec4(val, 0, 0, 0);\n }\n `}function ktt(r){return`\n void setOutput(vec4 val) {\n ${r.output} = val;\n }\n `}function _tt(r){return`${r.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${r.varyingFs} vec2 resultUV;\n ${r.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${r.defineSpecialNaN}\n ${r.defineSpecialInf}\n ${r.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${Ett}\n ${Att}\n ${$tt}\n `}var Ett=`\nvec2 uvFromFlat(int texNumR, int texNumC, int index) {\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\nvec2 packedUVfrom1D(int texNumR, int texNumC, int index) {\n int texelIndex = index / 2;\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,Att=`\nvec2 packedUVfrom2D(int texelsInLogicalRow, int texNumR,\n int texNumC, int row, int col) {\n int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,$tt=`\nvec2 packedUVfrom3D(int texNumR, int texNumC,\n int texelsInBatch, int texelsInLogicalRow, int b,\n int row, int col) {\n int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,Dtt=`\n float getChannel(vec4 frag, vec2 innerDims) {\n vec2 modCoord = mod(innerDims, 2.);\n return modCoord.x == 0. ?\n (modCoord.y == 0. ? frag.r : frag.g) :\n (modCoord.y == 0. ? frag.b : frag.a);\n }\n float getChannel(vec4 frag, int dim) {\n float modCoord = mod(float(dim), 2.);\n return modCoord == 0. ? frag.r : frag.g;\n }\n`;function fL(){return`\n int getOutputCoords() {\n return 0;\n }\n `}function Rtt(r,t,e){let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];return n[0]===1?e?`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${n[1]}.0);\n }\n `:n[1]===1?e?`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${n[0]}.0);\n }\n `:e?`\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${n[0]}, ${n[1]}));\n return 2 * (resTexRC.x * ${n[1]} + resTexRC.y);\n }\n `}function Ftt(r,t,e){return t[0]===1?e?`\n int getOutputCoords() {\n return int(resultUV.x * float(outTexShape[1]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.x * ${t[1]}.0);\n }\n `:t[1]===1?e?`\n int getOutputCoords() {\n return int(resultUV.y * float(outTexShape[0]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.y * ${t[0]}.0);\n }\n `:e?`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n return resTexRC.x * outTexShape[1] + resTexRC.y;\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${t[0]}, ${t[1]}));\n return resTexRC.x * ${t[1]} + resTexRC.y;\n }\n `}function Ott(r,t,e){if(e)return`\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n `;let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],o=Math.ceil(r[2]/2),s=o*Math.ceil(r[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${n[0]}, ${n[1]}));\n int index = resTexRC.x * ${n[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${o});\n int c = imod(index, ${o}) * 2;\n\n return ivec3(b, r, c);\n }\n `}function Ptt(r,t,e){if(e)return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n int index = resTexRC.x * outTexShape[1] + resTexRC.y;\n ${qc([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n`;let n=si([\"r\",\"c\",\"d\"],r);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${t[0]}, ${t[1]}));\n int index = resTexRC.x * ${t[1]} + resTexRC.y;\n ${n}\n return ivec3(r, c, d);\n }\n `}function Ltt(r,t,e){if(e)return`\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n `;let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],o=Math.ceil(r[r.length-1]/2),s=o*Math.ceil(r[r.length-2]/2),i=s,a=\"\",u=\"b, r, c\";for(let l=2;l=1?c=\"coords = 0;\":c=a.map(b=>`coords.${p[b+l]} = 0;`).join(`\n`);let m=\"\";i<2&&s>0?m=\"coords\":m=r.shapeInfo.logicalShape.map((b,w)=>`coords.${p[w+l]}`).join(\", \");let f=\"return outputValue;\",h=y.sizeFromShape(r.shapeInfo.logicalShape)===1,x=y.sizeFromShape(t.logicalShape)===1;if(s===1&&!h&&!x)f=`\n return vec4(outputValue.xy, outputValue.xy);\n `;else if(h&&!x)i===1?f=`\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n `:f=`\n return vec4(outputValue.x);\n `;else if(a.length){let b=s-2,w=s-1;a.indexOf(b)>-1&&a.indexOf(w)>-1?f=\"return vec4(outputValue.x);\":a.indexOf(b)>-1?f=\"return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);\":a.indexOf(w)>-1&&(f=\"return vec4(outputValue.xx, outputValue.zz);\")}return`\n vec4 ${o}() {\n ${u} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${n}(${m});\n ${f}\n }\n `}function ret(r,t){let e=r.name,n=e.charAt(0).toUpperCase()+e.slice(1),o=\"get\"+n+\"AtOutCoords\",s=t.texShape,i=r.shapeInfo.texShape,a=r.shapeInfo.logicalShape.length,u=t.logicalShape.length;if(!r.shapeInfo.isUniform&&a===u&&r.shapeInfo.flatOffset==null&&y.arraysEqual(i,s))return`\n float ${o}() {\n return sampleTexture(${e}, resultUV);\n }\n `;let l=Wt(u),c=cL(r.shapeInfo.logicalShape,t.logicalShape),p=u-a,m,f=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];a===0?m=\"\":u<2&&c.length>=1?m=\"coords = 0;\":m=c.map(h=>`coords.${f[h+p]} = 0;`).join(`\n`);let d=\"\";return u<2&&a>0?d=\"coords\":d=r.shapeInfo.logicalShape.map((h,g)=>`coords.${f[g+p]}`).join(\", \"),`\n float ${o}() {\n ${l} coords = getOutputCoords();\n ${m}\n return get${n}(${d});\n }\n `}function Wt(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 Mw(r,t,e){let{newShape:n,keptDims:o}=y.squeezeShape(t),s=t.length,i=r&&s===3&&t[0]===1,a=i?t.slice(1):n,u=!r&&s>1&&!y.arraysEqual(t,e)&&n.lengthr[e]).join(\", \")}function hL(r,t,e,n){let o=e.map((c,p)=>{let m={logicalShape:c.shape,texShape:c.isUniform?null:c.texData.texShape,isUniform:c.isUniform,isPacked:c.isUniform?!1:c.texData.isPacked,flatOffset:null};return c.texData!=null&&c.texData.slice!=null&&c.texData.slice.flatOffset>0&&(m.flatOffset=c.texData.slice.flatOffset),{name:t.variableNames[p],shapeInfo:m}}),s=o.map(c=>c.shapeInfo),i={logicalShape:n.shape,texShape:n.texData.texShape,isUniform:!1,isPacked:n.texData.isPacked,flatOffset:null},a=pL(o,i,t),u=PN(r.gl,a),l=r.createProgram(u);return B().get(\"ENGINE_COMPILE_ONLY\")?{program:t,fragmentShader:u,source:a,webGLProgram:l,inShapeInfos:s,outShapeInfo:i,uniformLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,inShapesLocations:null,inTexShapesLocations:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:Object.assign({program:t,fragmentShader:u,source:a,webGLProgram:l,inShapeInfos:s,outShapeInfo:i},tk(r,t,l))}function tk(r,t,e){let n={},o={},s={},i=[],a,u,l,c=null,p=null;p=r.getUniformLocation(e,\"NAN\",!1),B().getNumber(\"WEBGL_VERSION\")===1&&(c=r.getUniformLocation(e,\"INFINITY\",!1));let m=!1;for(let f=0;f{i[d]=r.getUniformLocation(e,f.name,m)}),{uniformLocations:n,customUniformLocations:i,infLoc:c,nanLoc:p,inShapesLocations:o,inTexShapesLocations:s,outShapeLocation:a,outShapeStridesLocation:l,outTexShapeLocation:u}}function dL(r,t){if(r.length!==t.length)throw Error(`Binary was compiled with ${r.length} inputs, but was executed with ${t.length} inputs`);r.forEach((e,n)=>{let o=e.logicalShape,s=t[n],i=s.shape;if(!y.arraysEqual(o,i))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${o} and ${i} must match`);if(e.isUniform&&s.isUniform)return;let a=e.texShape,u=s.isUniform?null:s.texData.texShape;if(!y.arraysEqual(a,u))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${a} and ${u} must match`)})}function gL(r,t,e,n,o){t.program.enableShapeUniforms||(dL(t.inShapeInfos,e),dL([t.outShapeInfo],[n]));let s=n.texData.texture,i=n.texData.texShape;n.texData.isPacked?r.setOutputPackedMatrixTexture(s.texture,i[0],i[1]):r.setOutputMatrixTexture(s.texture,i[0],i[1]),r.setProgram(t.webGLProgram),B().getNumber(\"WEBGL_VERSION\")===1&&t.infLoc!==null&&r.gl.uniform1f(t.infLoc,1/0),t.nanLoc!==null&&r.gl.uniform1f(t.nanLoc,NaN),e.forEach((u,l)=>{let c=t.program.variableNames[l],p=t.uniformLocations[c],m=t.uniformLocations[`offset${c}`],f=t.inShapesLocations[`${c}Shape`],d=t.inTexShapesLocations[`${c}TexShape`];if(f){let{uniformShape:h}=Mw(t.program.packedInputs,u.shape,u.texData.texShape);switch(h.length){case 1:r.gl.uniform1iv(f,new Int32Array(h));break;case 2:r.gl.uniform2iv(f,new Int32Array(h));break;case 3:r.gl.uniform3iv(f,new Int32Array(h));break;case 4:r.gl.uniform4iv(f,new Int32Array(h));break;default:break}}if(d&&r.gl.uniform2i(d,u.texData.texShape[0],u.texData.texShape[1]),p!=null){if(u.isUniform){if(y.sizeFromShape(u.shape)<2)r.gl.uniform1f(p,u.uniformValues[0]);else{let h=u.uniformValues;h instanceof Float32Array||(h=new Float32Array(h)),r.gl.uniform1fv(p,h)}return}u.texData.slice!=null&&m!=null&&r.gl.uniform1i(m,u.texData.slice.flatOffset),r.setInputMatrixTexture(u.texData.texture.texture,p,l)}});let a=t.outShapeLocation;if(a)switch(n.shape.length){case 1:r.gl.uniform1iv(a,new Int32Array(n.shape));break;case 2:r.gl.uniform2iv(a,new Int32Array(n.shape));break;case 3:r.gl.uniform3iv(a,new Int32Array(n.shape));break;case 4:r.gl.uniform4iv(a,new Int32Array(n.shape));break;default:break}if(t.outShapeStridesLocation){let u=y.computeStrides(n.shape);switch(n.shape.length){case 2:r.gl.uniform1iv(t.outShapeStridesLocation,new Int32Array(u));break;case 3:r.gl.uniform2iv(t.outShapeStridesLocation,new Int32Array(u));break;case 4:r.gl.uniform3iv(t.outShapeStridesLocation,new Int32Array(u));break;default:break}}t.outTexShapeLocation&&r.gl.uniform2i(t.outTexShapeLocation,n.texData.texShape[0],n.texData.texShape[1]),t.program.customUniforms&&o&&t.program.customUniforms.forEach((u,l)=>{let c=t.customUniformLocations[l],p=o[l];if(u.type===\"float\")r.gl.uniform1fv(c,p);else if(u.type===\"vec2\")r.gl.uniform2fv(c,p);else if(u.type===\"vec3\")r.gl.uniform3fv(c,p);else if(u.type===\"vec4\")r.gl.uniform4fv(c,p);else if(u.type===\"int\")r.gl.uniform1iv(c,p);else if(u.type===\"ivec2\")r.gl.uniform2iv(c,p);else if(u.type===\"ivec3\")r.gl.uniform3iv(c,p);else if(u.type===\"ivec4\")r.gl.uniform4iv(c,p);else throw Error(`uniform type ${u.type} is not supported yet.`)}),r.executeProgram()}function xL(r,t,e){let n=\"\";t.concat(e).forEach(i=>{let a=i.texData!=null&&i.texData.slice!=null&&i.texData.slice.flatOffset>0;if(r.enableShapeUniforms&&!i.isUniform){let u=i.texData.texShape,{useSqueezeShape:l,uniformShape:c,keptDims:p}=Mw(r.packedInputs,i.shape,u),m=\"\",f=\"\",d=\"\";if(c.length===1&&r.packedInputs){let T=[Math.ceil(u[0]/2),Math.ceil(u[1]/2)];m=`${T[0]>1}_${T[1]>1}`}else if(c.length===2&&!r.packedInputs)f=`${c[0]>1}_${c[1]>1}`;else if(c.length>2&&!r.packedInputs){let T=y.computeStrides(c);d=`${T[0]===u[1]}_${T[T.length-1]===u[1]}`}let h=i.shape.length,g=c.length===2&&y.arraysEqual(i.shape,u),x=y.sizeFromShape(i.shape)===1,b=S.getBroadcastDims(i.shape,e.shape),w=!r.packedInputs&&h===e.shape.length&&y.arraysEqual(u,e.texData.texShape),C=r.packedInputs||c.length>2?\"\":`${u[0]>1}_${u[1]>1}`;n+=`${h}_${w}_${l?p:\"\"}_${c.length}_${x}_${b}_${g}_${m}_${f}_${d}_${C}_${a}`}else{let u=i.isUniform?\"uniform\":i.texData.texShape;n+=`${i.shape}_${u}_${a}`}});let o=r.userCode,s=r.constructor.name;return s+=\"_\"+n+\"_\"+o+`${B().getNumber(\"WEBGL_VERSION\")}`,s}function ve(r){return B().getBool(\"WEBGL_USE_SHAPES_UNIFORMS\")&&r<=4}var zw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=ku.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let e=He();this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?qc([\"r\",\"c\",\"d\"],t):si([\"r\",\"c\",\"d\"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${e.output} = result;\n }\n `}};var Bw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=ku.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let e=He();this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?qc([\"r\",\"c\",\"d\"],t):si([\"r\",\"c\",\"d\"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${e.output} = result;\n }\n `}};var Vw=class{constructor(t){this.variableNames=[\"A\"],this.outTexUsage=Hr.DOWNLOAD;let e=He();this.outputShape=t,this.userCode=`\n ${Lw}\n\n void main() {\n float x = getAAtOutCoords();\n ${e.output} = encode_float(x);\n }\n `}};var Gw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=Hr.DOWNLOAD;let e=He();this.outputShape=t,this.userCode=`\n ${Lw}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${e.output} = encode_float(x);\n }\n `}};var Ww=class{constructor(t,e=!1){this.variableNames=[\"A\"],this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let n=He();this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length);let o=\"result\";e&&(o=\"floor(result * 255. + 0.5)\"),this.userCode=`\n ${this.enableShapeUniforms?Td():Sd(t)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n int flatIndex = getFlatIndex(coords);\n int offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n vec4 values = ${n.texture2D}(A, uv);\n\n float result;\n\n if(offset == 0) {\n result = values[0];\n } else if(offset == 1) {\n result = values[1];\n } else if(offset == 2) {\n result = values[2];\n } else {\n result = values[3];\n }\n\n ${n.output} = vec4(${o}, 0., 0., 0.);\n }\n `}};var Uw=class{constructor(t,e=!1){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let n=He();this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length);let o=\"\",s=\"result\";e&&(s=\"floor(result * 255. + 0.5)\");for(let i=0;i<=1;i++)for(let a=0;a<=1;a++){let u=i*2+a;o+=`\n localCoords = coords;\n if(localCoords[2] + ${a} < ${this.enableShapeUniforms?\"outShape[2]\":`${t[2]}`}) {\n localCoords[2] += ${a};\n if (localCoords[1] + ${i} < ${this.enableShapeUniforms?\"outShape[1]\":`${t[1]}`}) {\n localCoords[1] += ${i};\n\n flatIndex = getFlatIndex(localCoords);\n offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n values = ${n.texture2D}(A, uv);\n\n if (offset == 0) {\n result[${u}] = values[0];\n } else if (offset == 1) {\n result[${u}] = values[1];\n } else if (offset == 2) {\n result[${u}] = values[2];\n } else {\n result[${u}] = values[3];\n }\n }\n }\n `}this.userCode=`\n ${this.enableShapeUniforms?Td():Sd(t)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n vec4 result = vec4(0.);\n int flatIndex, r, c, offset;\n ivec3 localCoords;\n vec2 uv;\n vec4 values;\n\n ${o}\n\n ${n.output} = ${s};\n }\n `}};var xk={};jt(xk,{bindVertexProgramAttributeStreams:()=>uk,createBufferFromOutputTexture:()=>mk,createFloat16MatrixTexture:()=>sk,createFloat16PackedMatrixTexture:()=>lk,createFloat32MatrixTexture:()=>ok,createIndexBuffer:()=>nk,createPackedMatrixTexture:()=>ak,createUnsignedBytesMatrixTexture:()=>ik,createVertexBuffer:()=>rk,createVertexShader:()=>ek,downloadByteEncodedFloatMatrixFromOutputTexture:()=>dk,downloadFloat32MatrixFromBuffer:()=>fk,downloadMatrixFromPackedOutputTexture:()=>gk,downloadPackedMatrixFromBuffer:()=>hk,getInternalFormatForFloat16MatrixTexture:()=>qw,getInternalFormatForFloat16PackedMatrixTexture:()=>Xw,getInternalFormatForFloat32MatrixTexture:()=>Hw,getInternalFormatForPackedMatrixTexture:()=>jw,getInternalFormatForUnsignedBytesMatrixTexture:()=>Kw,uploadDenseMatrixToTexture:()=>ck,uploadPixelDataToTexture:()=>pk});function ek(r){let t=He(),e=`${t.version}\n precision highp float;\n ${t.attribute} vec3 clipSpacePos;\n ${t.attribute} vec2 uv;\n ${t.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`;return ON(r,e)}function rk(r){let t=new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]);return zN(r,t)}function nk(r){let t=new Uint16Array([0,1,2,2,1,3]);return BN(r,t)}function lg(r,t,e,n,o,s){GN(t,e);let i=VN(r),a=r.TEXTURE_2D;return Ct(r,()=>r.bindTexture(a,i)),Ct(r,()=>r.texParameteri(a,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE)),Ct(r,()=>r.texParameteri(a,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE)),Ct(r,()=>r.texParameteri(a,r.TEXTURE_MIN_FILTER,r.NEAREST)),Ct(r,()=>r.texParameteri(a,r.TEXTURE_MAG_FILTER,r.NEAREST)),B().getNumber(\"WEBGL_VERSION\")===1?Ct(r,()=>r.texImage2D(a,0,n,t,e,0,o,s,null)):Ct(r,()=>r.texStorage2D(a,1,n,t,e)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,null)),{texture:i,texShape:[e,t]}}function Hw(r){return r.internalFormatFloat}function ok(r,t,e,n){let[o,s]=Hc(t,e);return lg(r,o,s,Hw(n),n.textureFormatFloat,r.FLOAT)}function qw(r){return r.internalFormatHalfFloat}function sk(r,t,e,n){let[o,s]=Hc(t,e);return lg(r,o,s,qw(n),n.textureFormatFloat,n.textureTypeHalfFloat)}function Kw(r){return r.downloadTextureFormat}function ik(r,t,e,n){let[o,s]=Hc(t,e);return lg(r,o,s,Kw(n),r.RGBA,r.UNSIGNED_BYTE)}function jw(r){return r.internalFormatPackedFloat}function ak(r,t,e,n){let[o,s]=ea(t,e);return lg(r,o,s,jw(n),r.RGBA,r.FLOAT)}function Xw(r){return r.internalFormatPackedHalfFloat}function lk(r,t,e,n){let[o,s]=ea(t,e);return lg(r,o,s,Xw(n),r.RGBA,n.textureTypeHalfFloat)}function uk(r,t,e){return Ct(r,()=>r.bindBuffer(r.ARRAY_BUFFER,e)),Fw(r,t,\"clipSpacePos\",e,3,20,0)&&Fw(r,t,\"uv\",e,2,20,12)}function ck(r,t,e,n,o,s){Ct(r,()=>r.bindTexture(r.TEXTURE_2D,t));let i,a,u;o instanceof Uint8Array?(i=new Uint8Array(e*n*4),a=r.UNSIGNED_BYTE,u=r.RGBA):(i=new Float32Array(e*n*4),a=r.FLOAT,u=s.internalFormatPackedFloat),i.set(o),B().getNumber(\"WEBGL_VERSION\")===2?Ct(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,e,n,r.RGBA,a,i)):Ct(r,()=>r.texImage2D(r.TEXTURE_2D,0,u,e,n,0,r.RGBA,a,i)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function pk(r,t,e){Ct(r,()=>r.bindTexture(r.TEXTURE_2D,t)),e.data instanceof Uint8Array?B().getNumber(\"WEBGL_VERSION\")===2?Ct(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,e.width,e.height,r.RGBA,r.UNSIGNED_BYTE,e.data)):Ct(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e.width,e.height,0,r.RGBA,r.UNSIGNED_BYTE,e.data)):B().getNumber(\"WEBGL_VERSION\")===2?Ct(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,e)):Ct(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function mk(r,t,e,n){let o=r.createBuffer();Ct(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,o));let a=4*4*t*e;return Ct(r,()=>r.bufferData(r.PIXEL_PACK_BUFFER,a,r.STREAM_READ)),Ct(r,()=>r.readPixels(0,0,e,t,r.RGBA,r.FLOAT,0)),Ct(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,null)),o}function fk(r,t,e){let n=r,o=new Float32Array(e);return n.bindBuffer(n.PIXEL_PACK_BUFFER,t),n.getBufferSubData(n.PIXEL_PACK_BUFFER,0,o),n.bindBuffer(n.PIXEL_PACK_BUFFER,null),o}function dk(r,t,e,n){let[o,s]=Hc(t,e),i=4,a=new Uint8Array(nL(t*e,i));return Ct(r,()=>r.readPixels(0,0,o,s,n.downloadTextureFormat,r.UNSIGNED_BYTE,a)),new Float32Array(a.buffer)}function hk(r,t,e,n,o,s,i,a){let u=r,l=new Float32Array(oL(s,i));return u.bindBuffer(u.PIXEL_PACK_BUFFER,t),u.getBufferSubData(u.PIXEL_PACK_BUFFER,0,l),u.bindBuffer(u.PIXEL_PACK_BUFFER,null),l}function gk(r,t,e){let n=new Float32Array(t*e*4);return Ct(r,()=>r.readPixels(0,0,e,t,r.RGBA,r.FLOAT,n)),n}var jc=class{constructor(t){this.outputTexture=null,this.program=null,this.disposed=!1,this.vertexAttrsAreBound=!1,this.itemsToPoll=[];let e=B().getNumber(\"WEBGL_VERSION\");t!=null?(this.gl=t,$N(e,t)):this.gl=Gn(e);let n=\"WEBGL_color_buffer_float\",o=\"EXT_color_buffer_half_float\";if(this.parallelCompilationExtension=this.gl.getExtension(\"KHR_parallel_shader_compile\"),B().getNumber(\"WEBGL_VERSION\")===1){let s=\"OES_texture_float\",i=\"OES_texture_half_float\";if(this.textureFloatExtension=Cd(this.gl,s),Wn(this.gl,i))this.textureHalfFloatExtension=Cd(this.gl,i);else if(B().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),Wn(this.gl,o))this.colorBufferHalfFloatExtension=Cd(this.gl,o);else if(B().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\",Wn(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else if(Wn(this.gl,o))this.colorBufferHalfFloatExtension=this.gl.getExtension(o);else throw new Error(\"GL context does not support color renderable floats\");this.vertexBuffer=rk(this.gl),this.indexBuffer=nk(this.gl),this.framebuffer=WN(this.gl),this.textureConfig=og(this.gl,this.textureHalfFloatExtension)}get debug(){return B().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 t=this.gl;Ct(t,()=>t.finish()),Ct(t,()=>t.bindFramebuffer(t.FRAMEBUFFER,null)),Ct(t,()=>t.deleteFramebuffer(this.framebuffer)),Ct(t,()=>t.bindBuffer(t.ARRAY_BUFFER,null)),Ct(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)),Ct(t,()=>t.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(t,e){return this.throwIfDisposed(),ok(this.gl,t,e,this.textureConfig)}createFloat16MatrixTexture(t,e){return this.throwIfDisposed(),sk(this.gl,t,e,this.textureConfig)}createUnsignedBytesMatrixTexture(t,e){return this.throwIfDisposed(),ik(this.gl,t,e,this.textureConfig)}uploadPixelDataToTexture(t,e){this.throwIfDisposed(),pk(this.gl,t,e)}uploadDenseMatrixToTexture(t,e,n,o){this.throwIfDisposed(),ck(this.gl,t,e,n,o,this.textureConfig)}createFloat16PackedMatrixTexture(t,e){return this.throwIfDisposed(),lk(this.gl,t,e,this.textureConfig)}createPackedMatrixTexture(t,e){return this.throwIfDisposed(),ak(this.gl,t,e,this.textureConfig)}deleteMatrixTexture(t){this.throwIfDisposed(),this.outputTexture===t&&(Ow(this.gl,this.framebuffer),this.outputTexture=null),Ct(this.gl,()=>this.gl.deleteTexture(t))}downloadByteEncodedFloatMatrixFromOutputTexture(t,e,n){return this.downloadMatrixDriver(t,()=>dk(this.gl,e,n,this.textureConfig))}downloadPackedMatrixFromBuffer(t,e,n,o,s,i){return hk(this.gl,t,e,n,o,s,i,this.textureConfig)}downloadFloat32MatrixFromBuffer(t,e){return fk(this.gl,t,e)}createBufferFromTexture(t,e,n){this.bindTextureToFrameBuffer(t);let o=mk(this.gl,e,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),o}createAndWaitForFence(){let t=this.createFence(this.gl);return this.pollFence(t)}createFence(t){let e,n;if(B().getBool(\"WEBGL_FENCE_API_ENABLED\")){let o=t,s=o.fenceSync(o.SYNC_GPU_COMMANDS_COMPLETE,0);t.flush(),n=()=>{let i=o.clientWaitSync(s,0,0);return i===o.ALREADY_SIGNALED||i===o.CONDITION_SATISFIED},e=s}else B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?(e=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(e,B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))):n=()=>!0;return{query:e,isFencePassed:n}}downloadMatrixFromPackedTexture(t,e,n){return this.downloadMatrixDriver(t,()=>gk(this.gl,e,n))}createProgram(t){this.throwIfDisposed();let e=this.gl;this.vertexShader==null&&(this.vertexShader=ek(e));let n=LN(e);return Ct(e,()=>e.attachShader(n,this.vertexShader)),Ct(e,()=>e.attachShader(n,t)),MN(e,n),this.debug&&sg(e,n),this.vertexAttrsAreBound||(this.setProgram(n),this.vertexAttrsAreBound=uk(e,this.program,this.vertexBuffer)),n}deleteProgram(t){this.throwIfDisposed(),t===this.program&&(this.program=null),t!=null&&Ct(this.gl,()=>this.gl.deleteProgram(t))}setProgram(t){this.throwIfDisposed(),this.program=t,this.program!=null&&this.debug&&sg(this.gl,this.program),Ct(this.gl,()=>this.gl.useProgram(t))}getUniformLocation(t,e,n=!0){return this.throwIfDisposed(),n?UN(this.gl,t,e):HN(this.gl,t,e)}getAttributeLocation(t,e){return this.throwIfDisposed(),Ct(this.gl,()=>this.gl.getAttribLocation(t,e))}getUniformLocationNoThrow(t,e){return this.throwIfDisposed(),this.gl.getUniformLocation(t,e)}setInputMatrixTexture(t,e,n){this.throwIfDisposed(),this.throwIfNoProgram(),qN(this.gl,t,e,n)}setOutputMatrixTexture(t,e,n){this.setOutputMatrixTextureDriver(t,n,e)}setOutputPackedMatrixTexture(t,e,n){this.throwIfDisposed();let[o,s]=ea(e,n);this.setOutputMatrixTextureDriver(t,o,s)}setOutputMatrixWriteRegion(t,e,n,o){this.setOutputMatrixWriteRegionDriver(n,t,o,e)}setOutputPackedMatrixWriteRegion(t,e,n,o){throw new Error(\"setOutputPackedMatrixWriteRegion not implemented.\")}debugValidate(){this.program!=null&&sg(this.gl,this.program),vd(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();let t=this.gl;this.debug&&this.debugValidate(),Ct(t,()=>t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),Ct(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return this.disjointQueryTimerExtension==null&&(this.disjointQueryTimerExtension=Cd(this.gl,B().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(B().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 t=this.getQueryTimerExtensionWebGL1(),e=t.createQueryEXT();return t.beginQueryEXT(t.TIME_ELAPSED_EXT,e),e}endQuery(){if(B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let e=this.gl,n=this.getQueryTimerExtensionWebGL2();e.endQuery(n.TIME_ELAPSED_EXT);return}let t=this.getQueryTimerExtensionWebGL1();t.endQueryEXT(t.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(t){return await y.repeatedTry(()=>this.disposed||this.isQueryAvailable(t,B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))),this.getQueryTime(t,B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))}getQueryTime(t,e){if(e===0)return null;if(e===2){let n=this.gl;return n.getQueryParameter(t,n.QUERY_RESULT)/1e6}else{let n=this.getQueryTimerExtensionWebGL1();return n.getQueryObjectEXT(t,n.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(t,e){if(e===0)return!0;if(e===2){let n=this.gl,o=this.getQueryTimerExtensionWebGL2(),s=n.getQueryParameter(t,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(t,n.QUERY_RESULT_AVAILABLE_EXT);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),o&&!this.disjoint}}pollFence(t){return new Promise(e=>{this.addItemToPoll(()=>t.isFencePassed(),()=>e())})}pollItems(){let t=set(this.itemsToPoll.map(e=>e.isDoneFn));for(let e=0;e<=t;++e){let{resolveFn:n}=this.itemsToPoll[e];n()}this.itemsToPoll=this.itemsToPoll.slice(t+1)}addItemToPoll(t,e){this.itemsToPoll.push({isDoneFn:t,resolveFn:e}),!(this.itemsToPoll.length>1)&&y.repeatedTry(()=>(this.pollItems(),this.itemsToPoll.length===0))}bindTextureToFrameBuffer(t){this.throwIfDisposed(),ig(this.gl,t,this.framebuffer),this.debug&&vd(this.gl)}unbindTextureToFrameBuffer(){this.outputTexture!=null?(ig(this.gl,this.outputTexture,this.framebuffer),this.debug&&vd(this.gl)):Ow(this.gl,this.framebuffer)}downloadMatrixDriver(t,e){this.bindTextureToFrameBuffer(t);let n=e();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(t,e,n){this.throwIfDisposed();let o=this.gl;ig(o,t,this.framebuffer),this.debug&&vd(o),this.outputTexture=t,Ct(o,()=>o.viewport(0,0,e,n)),Ct(o,()=>o.scissor(0,0,e,n))}setOutputMatrixWriteRegionDriver(t,e,n,o){this.throwIfDisposed(),Ct(this.gl,()=>this.gl.scissor(t,e,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 set(r){let t=0;for(;t`${r}.${e}`)}function tr(r,t){return t===1?[r]:yk(r,t)}function sM(r,t){if(r===1)return\"rc\";let e=\"\";for(let n=0;n ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]}`;let e=\"\";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${o};\n `}getOutput(t){let e=this.getSourceCoordsArr(t);return this.rank===1?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${e[0]}),\n cEdge ? 0. : getA(${e[1]}),\n rEdge ? 0. : getA(${e[2]}),\n rEdge || cEdge ? 0. : getA(${e[3]})`}};var $d=class{constructor(t,e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"inputShape\",type:\"ivec3\"}],this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length);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+=`\n ${s}\n ${o>0?\"if(thisRC.y < rows && thisRC.z < cols){\":\"\"}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${o}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${o>0?\"}\":\"\"}\n `}this.userCode=`\n ${iet(e,this.enableShapeUniforms)}\n ${this.enableShapeUniforms?Td():Sd(t)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?\"outShape[1]\":t[1]};\n int cols = ${this.enableShapeUniforms?\"outShape[2]\":t[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}};function iet(r,t){return`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${t?uL([\"r\",\"c\",\"d\"],\"inputShape\"):si([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n `}var tC=class{constructor(t){this.gpgpu=t,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(t,e,n){let o=aM(e,n),s=lM(t,o,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);let i=iM(t,o,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=i,this.log();let u=this.freeTextures[s].shift();return this.usedTextures[s].push(u),u}let a;return o===Fr.PACKED_2X2_FLOAT32?a=this.gpgpu.createPackedMatrixTexture(t[0],t[1]):o===Fr.PACKED_2X2_FLOAT16?a=this.gpgpu.createFloat16PackedMatrixTexture(t[0],t[1]):o===Fr.UNPACKED_FLOAT32?a=this.gpgpu.createFloat32MatrixTexture(t[0],t[1]):o===Fr.UNPACKED_FLOAT16?a=this.gpgpu.createFloat16MatrixTexture(t[0],t[1]):o===Fr.PACKED_4X1_UNSIGNED_BYTE&&(a=this.gpgpu.createUnsignedBytesMatrixTexture(t[0],t[1])),this.usedTextures[s].push(a),this.numUsedTextures++,this._numBytesAllocated+=i,this.log(),a}releaseTexture(t,e,n,o){if(this.freeTextures==null)return;let s=aM(n,o),i=lM(e,s,o);i in this.freeTextures||(this.freeTextures[i]=[]);let a=iM(e,s,this.gpgpu.gl,this.gpgpu.textureConfig,o),u=B().get(\"WEBGL_DELETE_TEXTURE_THRESHOLD\");u!==-1&&this._numBytesAllocated>u?(this.gpgpu.deleteMatrixTexture(t.texture),this._numBytesAllocated-=a):(this.freeTextures[i].push(t),this.numFreeTextures++,this._numBytesFree+=a),this.numUsedTextures--;let l=this.usedTextures[i],c=l.indexOf(t);if(c<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");l.splice(c,1),this.log()}log(){if(!this.logEnabled)return;let t=this.numFreeTextures+this.numUsedTextures;console.log(\"Free/Used\",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${t})`);let e=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*e)}%)`)}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 t in this.freeTextures)this.freeTextures[t].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});for(let t in this.usedTextures)this.usedTextures[t].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}};function aet(r,t){let e=r;if(t===e.R32F)return 4;if(t===e.R16F)return 2;if(t===e.RGBA32F)return 16;if(t===r.RGBA)return 16;if(t===e.RGBA16F)return 8;if(t===e.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}function iM(r,t,e,n,o){let s=uet(t,n),i;if(o){let[u,l]=ea(r[0],r[1]);i=u*l}else{let[u,l]=Hc(r[0],r[1]);i=u*l}let a=aet(e,s);return i*a}function uet(r,t){switch(r){case Fr.PACKED_2X2_FLOAT32:return jw(t);case Fr.PACKED_2X2_FLOAT16:return Xw(t);case Fr.UNPACKED_FLOAT32:return Hw(t);case Fr.UNPACKED_FLOAT16:return qw(t);case Fr.PACKED_4X1_UNSIGNED_BYTE:return Kw(t);default:throw new Error(`Unknown physical texture type ${r}`)}}function cet(r){return B().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?r?Fr.PACKED_2X2_FLOAT32:Fr.UNPACKED_FLOAT32:r?Fr.PACKED_2X2_FLOAT16:Fr.UNPACKED_FLOAT16}function aM(r,t){if(r===Hr.UPLOAD)return Fr.PACKED_2X2_FLOAT32;if(r===Hr.RENDER||r==null)return cet(t);if(r===Hr.DOWNLOAD||r===Hr.PIXELS)return Fr.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${r}`)}function lM(r,t,e){return`${r[0]}_${r[1]}_${t}_${e}`}var Zr=class{constructor(t,e){this.variableNames=[\"A\"],this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${e}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}},fr=\"if (isnan(x)) return x;\",uM=\"return x;\",bk=\"return abs(x);\";var cM=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",pM=fr+`\n return (x < 0.0) ? 0.0 : x;\n`,mM=fr+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,Yc=\"return x;\",fM=\"return 1.0 / (1.0 + exp(-1.0 * x));\";var hM=\"return x;\",gM=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,xM=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,yM=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,bM=\"return 1.0 / (1.0 + exp(-1.0 * x));\",ro=class{constructor(t,e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${e}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}};var eC=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length);let e=t.length,n=tr(\"rc\",e),o=Wt(e),s=sM(e,n),i=n.slice(-2),a=e<=1?\"rc\":`vec2(${i.join(\",\")})`;this.userCode=`\n void main() {\n ${o} rc = getOutputCoords();\n vec4 packedInput = getA(${s});\n\n setOutput(getChannel(packedInput, ${a}));\n }\n `}};var met=Vr.whereImpl,fet=1e-7,det=1e-4,rC={};function het(r){return r in rC||(rC[r]={}),rC[r]}var get=B().getNumber(\"CPU_HANDOFF_SIZE_THRESHOLD\"),xet=600;function yet(){return B().global.screen==null?1024:B().global.screen.height*B().global.screen.width*window.devicePixelRatio*xet/1024/1024}var Eu=class extends Ho{constructor(t){if(super(),this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.lastGlFlushTime=0,this.warnedAboutMemory=!1,this.pendingDeletes=0,this.disposed=!1,!B().getBool(\"HAS_WEBGL\"))throw new Error(\"WebGL is not supported on this device\");let e;if(t!=null){if(t instanceof jc)e=t;else{let n=Gn(B().getNumber(\"WEBGL_VERSION\"),t);e=new jc(n)}this.binaryCache={},this.gpgpuCreatedLocally=!1}else{let n=Gn(B().getNumber(\"WEBGL_VERSION\"));e=new jc(n),this.binaryCache=het(B().getNumber(\"WEBGL_VERSION\")),this.gpgpuCreatedLocally=!0}this.gpgpu=e,this.canvas=this.gpgpu.gl.canvas,this.textureManager=new tC(this.gpgpu),this.numMBBeforeWarning=yet(),this.texData=new ra(this,go())}nextDataId(){return Eu.nextDataId++}numDataIds(){return this.texData.numDataIds()-this.pendingDeletes}write(t,e,n){if((B().getBool(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\")||B().getBool(\"DEBUG\"))&&this.checkNumericalProblems(t),n===\"complex64\"&&t!=null)throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");let o={id:this.nextDataId()};return this.texData.set(o,{shape:e,dtype:n,values:t,usage:Hr.UPLOAD,refCount:1}),o}refCount(t){return this.texData.has(t)?this.texData.get(t).refCount:0}incRef(t){let e=this.texData.get(t);e.refCount++}decRef(t){if(this.texData.has(t)){let e=this.texData.get(t);e.refCount--}}move(t,e,n,o,s){if(B().getBool(\"DEBUG\")&&this.checkNumericalProblems(e),o===\"complex64\")throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");this.texData.set(t,{shape:n,dtype:o,values:e,usage:Hr.UPLOAD,refCount:s})}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}readSync(t){let e=this.texData.get(t),{values:n,dtype:o,complexTensorInfos:s,slice:i,shape:a,isPacked:u}=e;if(i!=null){let m;u?m=new ro(a,Yc):m=new Zr(a,Yc);let f=this.runWebGLProgram(m,[{dataId:t,shape:a,dtype:o}],o),d=this.readSync(f.dataId);return this.disposeIntermediateTensorInfo(f),d}if(n!=null)return this.convertAndCacheOnCPU(t);if(o===\"string\")return n;let l=this.activeTimers!=null,c;l&&(c=y.now());let p;if(o===\"complex64\"){let m=this.readSync(s.real.dataId),f=this.readSync(s.imag.dataId);p=S.mergeRealAndImagArrays(m,f)}else p=this.getValuesFromTexture(t);return l&&(this.downloadWaitMs+=y.now()-c),this.convertAndCacheOnCPU(t,p)}async read(t){if(this.pendingRead.has(t)){let d=this.pendingRead.get(t);return new Promise(h=>d.push(h))}let e=this.texData.get(t),{values:n,shape:o,slice:s,dtype:i,complexTensorInfos:a,isPacked:u}=e;if(s!=null){let d;u?d=new ro(o,Yc):d=new Zr(o,Yc);let h=this.runWebGLProgram(d,[{dataId:t,shape:o,dtype:i}],i),g=this.read(h.dataId);return this.disposeIntermediateTensorInfo(h),g}if(n!=null)return this.convertAndCacheOnCPU(t);if(B().getBool(\"DEBUG\")&&!B().getBool(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\")&&B().getNumber(\"WEBGL_VERSION\")===2)throw new Error(\"tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.\");let l=null,c;if(i!==\"complex64\"&&B().get(\"WEBGL_BUFFER_SUPPORTED\")){c=this.decode(t);let d=this.texData.get(c.dataId);l=this.gpgpu.createBufferFromTexture(d.texture.texture,...ng(o))}this.pendingRead.set(t,[]),i!==\"complex64\"&&await this.gpgpu.createAndWaitForFence();let p;if(i===\"complex64\"){let d=await Promise.all([this.read(a.real.dataId),this.read(a.imag.dataId)]),h=d[0],g=d[1];p=S.mergeRealAndImagArrays(h,g)}else if(l==null)p=this.getValuesFromTexture(t);else{let d=y.sizeFromShape(o);p=this.gpgpu.downloadFloat32MatrixFromBuffer(l,d)}if(c!=null&&this.disposeIntermediateTensorInfo(c),l!=null){let d=this.gpgpu.gl;Ct(d,()=>d.deleteBuffer(l))}let m=this.convertAndCacheOnCPU(t,p),f=this.pendingRead.get(t);return this.pendingRead.delete(t),f.forEach(d=>d(m)),this.pendingDisposal.has(t)&&(this.pendingDisposal.delete(t),this.disposeData(t)&&go().removeDataId(t,this),this.pendingDeletes--),m}readToGPU(t,e={}){let n=this.texData.get(t),{values:o,shape:s,slice:i,dtype:a,isPacked:u,texture:l}=n;if(a===\"complex64\")throw new Error(\"Does not support reading texture for complex64 dtype.\");if(i!=null){let f;u?f=new ro(s,Yc):f=new Zr(s,Yc);let d=this.runWebGLProgram(f,[{dataId:t,shape:s,dtype:a}],a),h=this.readToGPU(d,e);return this.disposeIntermediateTensorInfo(d),h}if(l==null)throw o!=null?new Error(\"Data is not on GPU but on CPU.\"):new Error(\"There is no data on GPU or CPU.\");let c=this.decode(t,e.customTexShape),p=go().makeTensorFromTensorInfo(c),m=this.texData.get(c.dataId);return Object.assign({tensorRef:p},m.texture)}bufferSync(t){let e=this.readSync(t.dataId);if(t.dtype===\"string\")try{let n=e.map(o=>y.decodeString(o));return vt(t.shape,t.dtype,n)}catch(n){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return vt(t.shape,t.dtype,e)}checkNumericalProblems(t){if(t!=null)for(let e=0;e0}time(t){let e=this.activeTimers,n=[],o=!1;this.programTimersStack==null?(this.programTimersStack=n,o=!0):this.activeTimers.push(n),this.activeTimers=n,t();let s=y.flatten(this.activeTimers.map(u=>u.query)).filter(u=>u!=null),i=y.flatten(this.activeTimers.map(u=>u.name)).filter(u=>u!=null);this.activeTimers=e,o&&(this.programTimersStack=null);let a={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0){let u=await Promise.all(s);a.kernelMs=y.sum(u),a.getExtraProfileInfo=()=>u.map((l,c)=>({name:i[c],ms:l})).map(l=>`${l.name}: ${l.ms}`).join(\", \")}else a.kernelMs={error:\"WebGL query timers are not supported in this environment.\"};return this.uploadWaitMs=0,this.downloadWaitMs=0,a})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?this.gpgpu.beginQuery():{startMs:y.now(),endMs:null}}endTimer(t){return B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?(this.gpgpu.endQuery(),t):(t.endMs=y.now(),t)}async getQueryTime(t){if(B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0)return this.gpgpu.waitForQueryAndGetTime(t);let e=t;return e.endMs-e.startMs}disposeData(t,e=!1){if(this.pendingDisposal.has(t))return!1;if(!this.texData.has(t))return!0;if(e?this.texData.get(t).refCount=0:this.texData.get(t).refCount--,!e&&this.texData.get(t).refCount>0)return!1;if(this.pendingRead.has(t))return this.pendingDisposal.add(t),this.pendingDeletes++,!1;this.releaseGPUData(t);let{complexTensorInfos:n}=this.texData.get(t);return n!=null&&(this.disposeData(n.real.dataId,e),this.disposeData(n.imag.dataId,e)),this.texData.delete(t),!0}releaseGPUData(t){let{texture:e,dtype:n,texShape:o,usage:s,isPacked:i,slice:a}=this.texData.get(t),u=a&&a.origDataId||t,l=this.dataRefCount.get(u);l>1?this.dataRefCount.set(u,l-1):(this.dataRefCount.delete(u),e!=null&&(this.numBytesInGPU-=this.computeBytes(o,n),this.textureManager.releaseTexture(e,o,s,i)));let c=this.texData.get(t);c.texture=null,c.texShape=null,c.isPacked=!1,c.slice=null}getTexture(t){return this.uploadToGPU(t),this.texData.get(t).texture.texture}getDataInfo(t){return this.texData.get(t)}shouldExecuteOnCPU(t,e=get){return B().getBool(\"WEBGL_CPU_FORWARD\")&&t.every(n=>this.texData.get(n.dataId).texture==null&&y.sizeFromShape(n.shape)0&&y.isString(n[0])){let s=n.map(i=>y.encodeString(i));o=this.write(s,t,e)}else o=this.write(n,t,e);return this.texData.get(o).usage=null,{dataId:o,shape:t,dtype:e}}makeOutput(t,e,n){return go().makeTensorFromTensorInfo(this.makeTensorInfo(t,e,n),this)}unpackTensor(t){let e=new eC(t.shape);return this.runWebGLProgram(e,[t],t.dtype)}packTensor(t){let e=new Qw(t.shape),n=!0;return this.runWebGLProgram(e,[t],t.dtype,null,n)}packedReshape(t,e){let n=[gl(t.shape),...xl(t.shape)],o={dtype:t.dtype,shape:n,dataId:t.dataId},s=[gl(e),...xl(e)],i=new $d(s,n),a=!0,u=[n],l=this.runWebGLProgram(i,[o],t.dtype,u,a);return{dataId:l.dataId,shape:e,dtype:l.dtype}}decode(t,e){let n=this.texData.get(t),{isPacked:o,shape:s,dtype:i}=n;if(e!=null){let m=y.sizeFromShape(s),f=e[0]*e[1]*4;y.assert(m<=f,()=>\"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.\")}let a=ag(s),u;o?u=new Bw(a):u=new zw(a);let l=!0,c=[e!=null?e:ng(a)],p=this.runWebGLProgram(u,[{shape:a,dtype:i,dataId:t}],i,c,l,e);return{dtype:i,shape:s,dataId:p.dataId}}runWebGLProgram(t,e,n,o,s=!1,i){let a=this.makeTensorInfo(t.outputShape,n),u=this.texData.get(a.dataId);if(t.packedOutput&&(u.isPacked=!0),t.outPackingScheme===ku.DENSE){let x=i!=null?i:ng(t.outputShape);u.texShape=x.map(b=>b*2)}if(t.outTexUsage!=null&&(u.usage=t.outTexUsage),y.sizeFromShape(a.shape)===0)return u.values=y.getTypedArrayFromDType(a.dtype,0),a;let l=[],c=e.map(x=>{if(x.dtype===\"complex64\")throw new Error(\"GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.\");let b=this.texData.get(x.dataId);if(b.texture==null){if(!t.packedInputs&&y.sizeFromShape(x.shape)<=B().getNumber(\"WEBGL_SIZE_UPLOAD_UNIFORM\"))return{shape:x.shape,texData:null,isUniform:!0,uniformValues:b.values};t.packedInputs&&(b.isPacked=!0,b.shape=x.shape)}if(this.uploadToGPU(x.dataId),!!b.isPacked!=!!t.packedInputs)x=b.isPacked?this.unpackTensor(x):this.packTensor(x),l.push(x),b=this.texData.get(x.dataId);else if(b.isPacked&&!_u(b.shape,x.shape)){let w=x,C=x.shape;x.shape=b.shape,x=this.packedReshape(x,C),l.push(x),b=this.texData.get(x.dataId),w.shape=C}return{shape:x.shape,texData:b,isUniform:!1}});this.uploadToGPU(a.dataId);let p={shape:a.shape,texData:u,isUniform:!1},m=xL(t,c,p),f=this.getAndSaveBinary(m,()=>hL(this.gpgpu,t,c,p)),d=this.activeTimers!=null,h;d&&(h=this.startTimer()),B().get(\"ENGINE_COMPILE_ONLY\")||gL(this.gpgpu,f,c,p,o),l.forEach(x=>this.disposeIntermediateTensorInfo(x)),d&&(h=this.endTimer(h),this.activeTimers.push({name:t.constructor.name,query:this.getQueryTime(h)}));let g=B().get(\"WEBGL_FLUSH_THRESHOLD\");if(g>0){let x=y.now();x-this.lastGlFlushTime>g&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=x)}if(!B().getBool(\"WEBGL_LAZILY_UNPACK\")&&u.isPacked&&s===!1){let x=this.unpackTensor(a);return this.disposeIntermediateTensorInfo(a),x}return a}compileAndRun(t,e,n,o,s=!1){return n=n||e[0].dtype,this.runWebGLProgram(t,e,n,o,s)}getAndSaveBinary(t,e){return t in this.binaryCache||(this.binaryCache[t]=e()),this.binaryCache[t]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(B().getBool(\"IS_TEST\")||Object.keys(this.binaryCache).forEach(e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]}),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=G(()=>{if(!B().get(\"WEBGL_RENDER_FLOAT32_ENABLED\")){let t=B().getBool(\"DEBUG\");B().set(\"DEBUG\",!1);let e=this.abs(mt(1e-8)).dataSync()[0];if(B().set(\"DEBUG\",t),e>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return this.floatPrecision()===32?fet:det}uploadToGPU(t){let e=this.texData.get(t),{shape:n,dtype:o,values:s,texture:i,usage:a,isPacked:u}=e;if(i!=null)return;let l=this.activeTimers!=null,c;l&&(c=y.now());let p=e.texShape;if(p==null&&(p=KN(n,u),e.texShape=p),s!=null){let m=ag(n),f,d=p[1],h=p[0],g=s instanceof Uint8Array||s instanceof Uint8ClampedArray;(u||!g)&&([d,h]=ea(p[0],p[1])),u?f=new Uw(m,g):f=new Ww(m,g);let x=g?[h,d]:p,b=this.makeTensorInfo(x,o),w=this.texData.get(b.dataId);g?w.usage=Hr.PIXELS:w.usage=Hr.UPLOAD,w.texShape=x,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(b.dataId),d,h,s);let C=[[h,d]],T=!0,E=this.runWebGLProgram(f,[b],o,C,T),$=this.texData.get(E.dataId);e.texShape=$.texShape,e.isPacked=$.isPacked,e.usage=$.usage,B().get(\"ENGINE_COMPILE_ONLY\")?this.disposeData(E.dataId):(e.texture=$.texture,e.values=null,this.texData.delete(E.dataId)),this.disposeIntermediateTensorInfo(b),l&&(this.uploadWaitMs+=y.now()-c)}else{let m=this.acquireTexture(p,a,o,u);e.texture=m}}convertAndCacheOnCPU(t,e){let n=this.texData.get(t),{dtype:o}=n;return this.releaseGPUData(t),e!=null&&(n.values=bet(e,o)),n.values}acquireTexture(t,e,n,o){if(this.numBytesInGPU+=this.computeBytes(t,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(t,e,o)}computeBytes(t,e){return t[0]*t[1]*y.bytesPerElement(e)}checkCompileCompletion(){for(let[,t]of Object.entries(this.binaryCache))this.checkCompletion_(t)}async checkCompileCompletionAsync(){let t=[];if(this.gpgpu.parallelCompilationExtension){for(let[,e]of Object.entries(this.binaryCache))t.push(this.checkCompletionAsync_(e));return Promise.all(t)}else{for(let[,e]of Object.entries(this.binaryCache)){let n=new Promise(o=>{try{this.checkCompletion_(e),o(!0)}catch(s){throw s}});t.push(n)}return Promise.all(t)}}async checkCompletionAsync_(t){return this.gpgpu.gl.getProgramParameter(t.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(t):(await Th(),this.checkCompletionAsync_(t))}checkCompletion_(t){if(this.gpgpu.gl.getProgramParameter(t.webGLProgram,this.gpgpu.gl.LINK_STATUS)===!1)throw console.log(this.gpgpu.gl.getProgramInfoLog(t.webGLProgram)),this.gpgpu.gl.getShaderParameter(t.fragmentShader,this.gpgpu.gl.COMPILE_STATUS)===!1?(Rw(t.source,this.gpgpu.gl.getShaderInfoLog(t.fragmentShader)),new Error(\"Failed to compile fragment shader.\")):new Error(\"Failed to link vertex and fragment shaders.\");return!0}getUniformLocations(){for(let[,t]of Object.entries(this.binaryCache)){let{uniformLocations:e,customUniformLocations:n,infLoc:o,nanLoc:s,inShapesLocations:i,inTexShapesLocations:a,outShapeLocation:u,outShapeStridesLocation:l,outTexShapeLocation:c}=tk(this.gpgpu,t.program,t.webGLProgram);t.uniformLocations=e,t.customUniformLocations=n,t.infLoc=o,t.nanLoc=s,t.inShapesLocations=i,t.inTexShapesLocations=a,t.outShapeLocation=u,t.outShapeStridesLocation=l,t.outTexShapeLocation=c}}};Eu.nextDataId=0;function bet(r,t){if(t===\"float32\"||t===\"complex64\")return r;if(t===\"int32\"||t===\"bool\"){let e=t===\"int32\"?new Int32Array(r.length):new Uint8Array(r.length);for(let n=0;nnew Eu,2);var ike={forceHalfFloat:CM};var nC=`\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`;var no=class{constructor(t,e,n){this.variableNames=[\"A\",\"B\"],this.outputShape=S.assertAndGetBroadcastShape(e,n),this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${t}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}};var Au=`\n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n`;var Fo=class{constructor(t,e,n,o=!1){this.variableNames=[\"A\",\"B\"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=S.assertAndGetBroadcastShape(e,n);let s=this.outputShape.length;this.enableShapeUniforms=ve(s);let i=\"\";if(o)if(s===0||y.sizeFromShape(this.outputShape)===1)i=`\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n `;else if(i=`\n ${Wt(s)} coords = getOutputCoords();\n `,s===1)this.enableShapeUniforms?i+=`\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `:i+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{let u=tr(\"coords\",s);this.enableShapeUniforms?i+=`\n bool nextRowOutOfBounds =\n (${u[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${u[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:i+=`\n bool nextRowOutOfBounds =\n (${u[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${u[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${t}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${i}\n\n setOutput(result);\n }\n `}};function er(r){let{inputs:t,backend:e}=r,{x:n}=t;return e.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var vM={kernelName:uo,backendName:\"webgl\",kernelFunc:er};function An(r){let{inputs:t,backend:e}=r,{real:n,imag:o}=t,s=e.makeTensorInfo(n.shape,\"complex64\"),i=e.texData.get(s.dataId),a=er({inputs:{x:n},backend:e}),u=er({inputs:{x:o},backend:e});return i.complexTensorInfos={real:a,imag:u},s}var IM={kernelName:Np,backendName:\"webgl\",kernelFunc:An};var wk=\"return (a < 0.) ? b * a : a;\",Ck=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function wet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{alpha:s}=n,i=e.makeTensorInfo([],\"float32\",y.createScalarValue(s,\"float32\")),a=B().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new Fo(Ck,o.shape,i.shape):new no(wk,o.shape,i.shape),u=e.runWebGLProgram(a,[o,i],\"float32\");return e.disposeIntermediateTensorInfo(i),u}var SM={kernelName:ms,backendName:\"webgl\",kernelFunc:wet};var vk=\"return (a < 0.) ? b * a : a;\",Ik=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function Cet(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t,s=B().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new Fo(Ik,n.shape,o.shape):new no(vk,n.shape,o.shape);return e.runWebGLProgram(s,[n,o],\"float32\")}var TM={kernelName:Ts,backendName:\"webgl\",kernelFunc:Cet};var Oo=\"if (isnan(x)) return x;\",NM=`\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`,kM=`\n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n`;function It({opSnippet:r,packedOpSnippet:t,cpuKernelImpl:e,dtype:n}){return({inputs:o,backend:s})=>{let{x:i}=o,a=s,u=n||i.dtype;if(a.shouldExecuteOnCPU([i])&&e!=null){let p=a.texData.get(i.dataId),m=e(p.values,u);return a.makeTensorInfo(i.shape,u,m)}let l=B().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")&&t!=null,c;return l?c=new ro(i.shape,t):c=new Zr(i.shape,r),a.runWebGLProgram(c,[i],u)}}function ce({opSnippet:r,packedOpSnippet:t,checkOutOfBounds:e=!1,supportsComplex:n=!1,cpuKernelImpl:o,dtype:s}){return({inputs:i,backend:a})=>{let{a:u,b:l}=i,c=a;if(n&&u.dtype===\"complex64\"){let d=c.texData.get(u.dataId),h=c.texData.get(l.dataId),[g,x]=[[d.complexTensorInfos.real,h.complexTensorInfos.real],[d.complexTensorInfos.imag,h.complexTensorInfos.imag]].map(w=>{let[C,T]=w,E={dataId:C.dataId,dtype:C.dtype,shape:u.shape},$={dataId:T.dataId,dtype:T.dtype,shape:l.shape},D=new no(r,u.shape,l.shape);return c.runWebGLProgram(D,[E,$],ir(C.dtype,T.dtype))}),b=An({inputs:{real:g,imag:x},backend:c});return c.disposeIntermediateTensorInfo(g),c.disposeIntermediateTensorInfo(x),b}let p=s||ir(u.dtype,l.dtype);if((u.dtype===\"string\"||l.dtype===\"string\"||c.shouldExecuteOnCPU([u,l]))&&o!=null){let d=c.texData.get(u.dataId).values,h=c.texData.get(l.dataId).values,g=u.dtype===\"string\"?S.fromUint8ToStringArray(d):d,x=u.dtype===\"string\"?S.fromUint8ToStringArray(h):h,[b,w]=o(u.shape,l.shape,g,x,p),C=c.makeTensorInfo(w,p),T=c.texData.get(C.dataId);return T.values=b,C}let m=B().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")&&t!=null,f;return m?f=new Fo(t,u.shape,l.shape,e):f=new no(r,u.shape,l.shape),c.runWebGLProgram(f,[u,l],p)}}function yl(r,t=!1){if(r===\"linear\")return t?hM:uM;if(r===\"relu\")return t?xM:pM;if(r===\"elu\")return t?gM:cM;if(r===\"relu6\")return t?yM:mM;if(r===\"prelu\")return t?Ik:vk;if(r===\"leakyrelu\")return t?Ck:wk;if(r===\"sigmoid\")return t?bM:fM;throw new Error(`Activation ${r} has not been implemented for the WebGL backend.`)}var Dd=class{constructor(t,e,n,o=!1,s=!1,i=!1,a=null,u=!1,l=!1){this.variableNames=[\"matrixA\",\"matrixB\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=ve(this.outputShape.length);let c=o?t[1]:t[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=\"\";a&&(u?g=`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${a}\n }`:l?g=`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${a}\n }`:g=`vec4 activation(vec4 x) {\n ${a}\n }`,x=\"result = activation(result);\");let b=i?\"result += getBiasAtOutCoords();\":\"\";i&&this.variableNames.push(\"bias\"),u&&this.variableNames.push(\"preluActivationWeights\"),l&&this.variableNames.push(\"leakyreluAlpha\");let w=\"rc.x\",C=\"rc.x\";t[0]`The new shape (${u}) 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.`);let c=i.texData.get(o.dataId);return c.isPacked&&!_u(o.shape,u)&&!(c.texture!==null&&_u(c.shape,u))?AM(o,u,i):(i.incRef(o.dataId),{dataId:o.dataId,shape:u,dtype:o.dtype})}var $M={kernelName:bi,backendName:\"webgl\",kernelFunc:lt};var pg=class{constructor(t,e){this.variableNames=[\"x\"];let{windowSize:n,batchSize:o,inSize:s,outSize:i}=t;this.outputShape=[o,i];let a=Math.floor(n/4)*4,u=n%4,l=\"sumValue += dot(values, ones);\";if(e!=null){let p=1/e;l=`sumValue += dot(values * ${y.isInt(p)?p.toPrecision(2):p}, ones);`}let c=\"\";s%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${a};\n if (${u===1}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${u===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${u===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}};var oC=class{constructor(t,e){this.variableNames=[\"x\"];let{windowSize:n,batchSize:o,inSize:s,outSize:i}=t;this.outputShape=[o,i];let a=\"0.0\",u=\"\";e===\"prod\"?a=\"1.0\":e===\"min\"?(a=\"1.0 / 1e-20\",u=\"min\"):e===\"max\"&&(a=\"-1.0 / 1e-20\",u=\"max\");let l=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"sum\"?l=\"sumValue\":e===\"prod\"?l=\"prodValue\":e===\"all\"?l=\"allValue\":e===\"any\"&&(l=\"anyValue\");let c=Math.floor(n/4)*4,p=n%4,m=`\n if (${e===\"sum\"}) {\n sumValue += dot(values, ones);\n } else if (${e===\"prod\"}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${u}(values, minMaxValue);\n if (${e===\"min\"} || ${e===\"max\"}) {\n minMaxValue = ${u}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,f=\"vec4\";e===\"all\"?(a=\"1.0\",m=`\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n `,f=\"bvec4\"):e===\"any\"&&(a=\"0.0\",m=`\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n `,f=\"bvec4\");let d=\"\";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${a};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${d}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${a});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${p===1}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${p===2}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${p===3}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${m}\n }\n setOutput(${l});\n }\n `}};function Iet(r){let t=[];for(;t.length===0||t[t.length-1].outSize!==1;){let e=t.length?t[t.length-1].outSize:r[1],n=S.computeOptimalWindowSize(e);t.push({inSize:e,windowSize:n,outSize:Math.ceil(e/n)})}return t}function Un(r,t,e,n){let o=Iet(r.shape),s=r;for(let i=0;i6)throw Error(`Transpose for rank ${t} is not yet supported`);let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\",\"resRC.v\"],n=new Array(t);for(let o=0;o6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);let o=Wt(this.rank),s=yk(\"rc\",this.rank),i=new Array(this.rank);for(let c=0;c`Error in matMul: inner shapes (${p}) and (${m}) of Tensors with shapes ${r.shape} and ${t.shape} and transposeA=${e} and transposeB=${n} must match.`);let T=e?[x,p,f]:[x,f,p],E=n?[b,d,m]:[b,m,d],$=lt({inputs:{x:r},backend:o,attrs:{shape:T}}),D=lt({inputs:{x:t},backend:o,attrs:{shape:E}}),P=[$,D],M=Math.max(x,b),W=e?$.shape[1]:$.shape[2],H=s!=null,q=i!=null,X=u===\"leakyrelu\",j=u!=null?yl(u,!0):null,Z=H||q||X||j!=null,et;if((f===1||d===1)&&W>Tk&&Z===!1){let ot=$,st=D;e&&(ot=Le({inputs:{x:$},backend:o,attrs:{perm:[0,2,1]}}),P.push(ot)),n&&(st=Le({inputs:{x:D},backend:o,attrs:{perm:[0,2,1]}}),P.push(st));let it=d!==1,pt=d===1,at=ot;it&&(at=lt({inputs:{x:ot},backend:o,attrs:{shape:[M,W,1]}}),P.push(at));let gt=d===1?2:1,dt=st;pt&&(dt=lt({inputs:{x:st},backend:o,attrs:{shape:[M,1,W]}}),P.push(dt));let bt=cg({inputs:{a:at,b:dt},backend:o});et=Zc({inputs:{x:bt},backend:o,attrs:{axis:gt,keepDims:!0}}),P.push(bt)}else{let ot=ir(r.dtype,t.dtype),st=new Dd(T,E,[M,f,d],e,n,H,j,q,X),it=[$,D];if(s!=null&&it.push(s),q&&it.push(i),X){let pt=o.makeTensorInfo([],\"float32\",y.createScalarValue(a,\"float32\"));it.push(pt),P.push(pt)}et=o.runWebGLProgram(st,it,ot)}let K=lt({inputs:{x:et},backend:o,attrs:{shape:C}});P.push(et);for(let ot of P)o.disposeIntermediateTensorInfo(ot);return K}function Net(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s,bias:i,preluActivationWeights:a}=t,{transposeA:u,transposeB:l,activation:c,leakyreluAlpha:p}=n;return Jc({a:o,b:s,transposeA:u,transposeB:l,backend:e,bias:i,preluActivationWeights:a,leakyreluAlpha:p,activation:c})}var OM={kernelName:Ni,backendName:\"webgl\",kernelFunc:Net};var PM=\"return abs(x);\";function ket(r){let{inputs:t,backend:e}=r,{x:n}=t;if(e.shouldExecuteOnCPU([n])&&n.dtype!==\"complex64\"){let s=e.texData.get(n.dataId),i=Zw(s.values);return e.makeTensorInfo(n.shape,n.dtype,i)}let o;return B().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?o=new ro(n.shape,PM):o=new Zr(n.shape,PM),e.runWebGLProgram(o,[n],n.dtype)}var LM={kernelName:pi,backendName:\"webgl\",kernelFunc:ket};var _et=fr+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n`,Eet=It({opSnippet:_et}),MM={kernelName:oa,backendName:\"webgl\",kernelFunc:Eet};var Aet=fr+`\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));`,$et=It({opSnippet:Aet}),zM={kernelName:sa,backendName:\"webgl\",kernelFunc:$et};var BM=\"return a + b;\",Det=ce({opSnippet:BM,packedOpSnippet:BM,supportsComplex:!0,cpuKernelImpl:yL}),VM={kernelName:jn,backendName:\"webgl\",kernelFunc:Det};var aC=class{constructor(t,e){this.outputShape=[],this.outputShape=t,this.variableNames=e.map((s,i)=>`T${i}`);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=`\n void main() {\n ${n.join(`\n `)}\n\n float result = ${o};\n setOutput(result);\n }\n `}};var lC=class{constructor(t,e){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.variableNames=e.map((s,i)=>`T${i}`);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=`\n void main() {\n ${n.join(`\n `)}\n\n vec4 result = ${o};\n setOutput(result);\n }\n `}};function uC(r){let{inputs:t,backend:e}=r,n=t;if(n.length===1)return er({inputs:{x:n[0]},backend:e});if(n.length>B().get(\"WEBGL_MAX_TEXTURES_IN_SHADER\")){let u=Math.floor(n.length/2),l=uC({inputs:n.slice(0,u),backend:e}),c=uC({inputs:n.slice(u),backend:e});return uC({inputs:[l,c],backend:e})}let o=n.map(u=>u.dtype).reduce((u,l)=>ir(u,l)),s=n.map(u=>u.shape),a=B().getBool(\"WEBGL_PACK\")?new lC(n[0].shape,s):new aC(n[0].shape,s);return e.runWebGLProgram(a,n,o)}var GM={kernelName:jo,backendName:\"webgl\",kernelFunc:uC};function Ret(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=o;c!=null&&(p=Le({inputs:{x:o},backend:e,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,a)),S.assertAxesAreInnerMostDims(\"all\",l,a);let[m,f]=S.computeOutAndReduceShapes(p.shape,l),d=y.sizeFromShape(f),h=lt({inputs:{x:p},backend:e,attrs:{shape:[-1,d]}}),g=Un(h,h.dtype,\"all\",e),x;if(i){let b=S.expandShapeToKeepDim(m,u);x=lt({inputs:{x:g},backend:e,attrs:{shape:b}})}else x=lt({inputs:{x:g},backend:e,attrs:{shape:m}});return e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),c!=null&&e.disposeIntermediateTensorInfo(p),x}var WM={kernelName:ia,backendName:\"webgl\",kernelFunc:Ret};function Fet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=o;c!=null&&(p=Le({inputs:{x:o},backend:e,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,a)),S.assertAxesAreInnerMostDims(\"any\",l,a);let[m,f]=S.computeOutAndReduceShapes(p.shape,l),d=y.sizeFromShape(f),h=lt({inputs:{x:p},backend:e,attrs:{shape:[-1,d]}}),g=Un(h,h.dtype,\"any\",e),x;if(i){let b=S.expandShapeToKeepDim(m,u);x=lt({inputs:{x:g},backend:e,attrs:{shape:b}})}else x=lt({inputs:{x:g},backend:e,attrs:{shape:m}});return e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),c!=null&&e.disposeIntermediateTensorInfo(p),x}var UM={kernelName:aa,backendName:\"webgl\",kernelFunc:Fet};var cC=class{constructor(t,e,n){this.variableNames=[\"A\"];let{windowSize:o,batchSize:s,outSize:i}=t;n||this.variableNames.push(\"bestIndicesA\"),this.outputShape=[s,i];let a=e===\"max\"?\">\":\"<\",u=n?\"inOffset + i;\":\"round(getBestIndicesA(batch, inOffset + i));\";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${o};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${o}; i++) {\n int inIdx = ${u};\n float candidate = getA(batch, inIdx);\n if (candidate ${a} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}};var pC=class{constructor(t,e,n,o){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,y.assert(t.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);let s=t[t.length-1],i=Math.ceil(s/e);this.outputShape=t.slice(0,-1),i>1&&this.outputShape.push(i),o||this.variableNames.push(\"bestIndicesA\");let a=this.outputShape,u=a.length,l=Wt(u),c=tr(\"coords\",u),p,m;if(i===1){m=u+1;let D=Wt(m);p=`\n ${D} sourceLocR = ${D}(${c.join()}, 0);\n ++${c[u-1]};\n ${D} sourceLocG = ${D}(${c.join()}, 0);\n ++${c[u-2]};\n ${D} sourceLocA = ${D}(${c.join()}, 0);\n --${c[u-1]};\n ${D} sourceLocB = ${D}(${c.join()}, 0);\n --${c[u-2]};`}else m=u,p=`\n ${l} sourceLocR = coords;\n ++${c[u-1]};\n ${l} sourceLocG = coords;\n ++${c[u-2]};\n ${l} sourceLocA = coords;\n --${c[u-1]};\n ${l} sourceLocB = coords;\n --${c[u-2]};`;let f=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"].slice(0,m),d=\".\"+f[m-1],h=f.map(D=>\"int \"+D),g=tr(\"sourceLocR\",m-1).concat(\"inIdx.r\"),x=tr(\"sourceLocG\",m-1).concat(\"inIdx.g\"),b=tr(\"sourceLocB\",m-1).concat(\"inIdx.b\"),w=tr(\"sourceLocA\",m-1).concat(\"inIdx.a\"),C=n===\"max\"?\"greaterThan\":\"lessThan\",T=o?\"\":`\n inIdx = round(vec4(getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${x.join()}),\n getBestIndicesAChannel(${b.join()}),\n getBestIndicesAChannel(${w.join()})));`,E=`vec4(\n getAChannel(${g.join()}),\n hasNextCol ? getAChannel(${x.join()}) : 0.,\n hasNextRow ? getAChannel(${b.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${w.join()}) : 0.)`,$=o?\"\":`\n float getBestIndicesAChannel(${h.join()}) {\n return getChannel(getBestIndicesA(${f.join()}),\n vec2(${f.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${h.join()}) {\n return getChannel(getA(${f.join()}),\n vec2(${f.slice(-2).join()}));\n }\n ${$}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${c[u-1]} < ${a[u-1]-1};\n bool hasNextRow = ${c[u-2]} < ${a[u-2]-1};\n ${p}\n ivec4 srcIdx = ivec4(sourceLocR${d}, sourceLocG${d},\n sourceLocB${d}, sourceLocA${d}) * ${e};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${E};\n\n for (int i = 0; i < ${e}; i++) {\n inIdx = srcIdx;\n ${T}\n vec4 candidate = ${E};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${C}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}};function HM(r,t,e,n=null){let o=t.shape[0],s=t.shape[1];n!=null&&(o=n.shape[0],s=n.shape[1]);let i=S.computeOptimalWindowSize(s),a={windowSize:i,inSize:s,batchSize:o,outSize:Math.ceil(s/i)},u=new cC(a,e,n==null),l=[t];n!=null&&l.push(n);let c=r.runWebGLProgram(u,l,\"int32\");if(c.shape[1]===1)return c;let p=HM(r,t,e,c);return r.disposeIntermediateTensorInfo(c),p}function qM(r,t,e,n=null){let o=n!=null?n.shape:t.shape,s=o[o.length-1],i=S.computeOptimalWindowSize(s),a=new pC(o,i,e,n==null),u=n==null?[t]:[t,n],l=r.runWebGLProgram(a,u,\"int32\");if(l.shape.length===t.shape.length){let c=qM(r,t,e,l);return r.disposeIntermediateTensorInfo(l),c}return l}function mC(r,t,e,n){let o=[e];if(S.assertAxesAreInnerMostDims(\"arg\"+n.charAt(0).toUpperCase()+n.slice(1),o,t.shape.length),!B().getBool(\"WEBGL_PACK_REDUCE\")||t.shape.length<=2){let s=[],i=r.texData.get(t.dataId),a=i!==null&&i.isPacked,u=t;a&&(u=r.unpackTensor(t),s.push(u));let[l,c]=S.computeOutAndReduceShapes(u.shape,o),p=y.sizeFromShape(c),m=lt({inputs:{x:u},backend:r,attrs:{shape:[-1,p]}});s.push(m);let f=HM(r,m,n);s.push(f);let d=lt({inputs:{x:f},backend:r,attrs:{shape:l}});return s.forEach(h=>r.disposeIntermediateTensorInfo(h)),d}return qM(r,t,n)}function Oet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n,i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Le({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),S.assertAxesAreInnerMostDims(\"argMax\",[i[0]],u.shape.length);let c=mC(e,u,i[0],\"max\");return l.forEach(p=>e.disposeIntermediateTensorInfo(p)),c}var KM={kernelName:Xo,backendName:\"webgl\",kernelFunc:Oet};function Pet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n,i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Le({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),S.assertAxesAreInnerMostDims(\"argMin\",[i[0]],u.shape.length);let c=mC(e,u,i[0],\"min\");return l.forEach(p=>e.disposeIntermediateTensorInfo(p)),c}var jM={kernelName:Nl,backendName:\"webgl\",kernelFunc:Pet};var Let=fr+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n`,Met=It({opSnippet:Let}),XM={kernelName:la,backendName:\"webgl\",kernelFunc:Met};var zet=fr+\"return log(x + sqrt(x * x + 1.0));\",Bet=It({opSnippet:zet}),YM={kernelName:ua,backendName:\"webgl\",kernelFunc:Bet};var Vet=fr+`\n return atan(x);\n`,Get=It({opSnippet:Vet}),ZM={kernelName:ca,backendName:\"webgl\",kernelFunc:Get};var Wet=NM+`\n return atan(a, b);\n`,Uet=`\n vec4 result = atan(a, b);\n vec4 isNaN = min(vec4(isnan(a)) + vec4(isnan(b)), vec4(1.0));\n `+kM+`\n return result;\n`,Het=ce({opSnippet:Wet,packedOpSnippet:Uet}),JM={kernelName:ma,backendName:\"webgl\",kernelFunc:Het};var qet=fr+`\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;`,Ket=It({opSnippet:qet}),QM={kernelName:pa,backendName:\"webgl\",kernelFunc:Ket};var ii=class{constructor(t,e,n,o=!1,s=!1){if(this.variableNames=[\"x\"],e===\"avg\"&&n)throw new Error(\"Cannot compute positions for average pool.\");let i=t.filterWidth,a=t.strideHeight,u=t.strideWidth,l=t.dilationHeight,c=t.dilationWidth,p=t.effectiveFilterHeight,m=t.effectiveFilterWidth,f=t.padInfo.top,d=t.padInfo.left;this.outputShape=t.outShape;let h=e===\"avg\",g=`((batch * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + d`,x=`(xR * ${t.inWidth} + xC) * ${t.inChannels} + d`,b=\"0.0\";if(h||(b=\"-1.0 / 1e-20\"),n){let D=\">=\";this.userCode=`\n const ivec2 strides = ivec2(${a}, ${u});\n const ivec2 pads = ivec2(${f}, ${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${p};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${m};\n wC += ${c}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${D} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${o?s?g:x:`wR * ${m} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let w=\"max\",C=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"avg\"&&(C=\"avgValue / count\");let T=Math.floor(i/4)*4,E=i%4,$=`\n if (${h}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${w}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${a}, ${u});\n const ivec2 pads = ivec2(${f}, ${d});\n const float initializationValue = ${b};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${b});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${p};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${T}; wC += 4) {\n int xC = xCCorner + wC * ${c};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n getValue(batch, xR, xC + 3 * ${c}, d)\n );\n\n ${$}\n }\n\n int xC = xCCorner + ${T};\n if (${E===1}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${$}\n } else if (${E===2}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n initializationValue,\n initializationValue\n );\n\n ${$}\n } else if (${E===3}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n initializationValue\n );\n\n ${$}\n }\n }\n setOutput(${C});\n }\n `}},Du=class{constructor(t,e,n,o=!1,s=!1){if(this.variableNames=[\"x\"],e===\"avg\"&&n)throw new Error(\"Cannot compute positions for average pool.\");let i=t.filterWidth,a=t.strideDepth,u=t.strideHeight,l=t.strideWidth,c=t.dilationDepth,p=t.dilationHeight,m=t.dilationWidth,f=t.effectiveFilterDepth,d=t.effectiveFilterHeight,h=t.effectiveFilterWidth,g=t.padInfo.front,x=t.padInfo.top,b=t.padInfo.left;this.outputShape=t.outShape;let w=e===\"avg\",C=\"0.0\";if(w||(C=\"-1.0 / 1e-20\"),n){let M=\">=\";this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${u}, ${l});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${f};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${p}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${m}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${M} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${o?s?`(((batch * ${t.inDepth} + xD) * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`((xD * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`wD * ${d} * ${h} +\n wR * ${h} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let T=\"max\",E=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"avg\"&&(E=\"avgValue / count\");let $=Math.floor(i/4)*4,D=i%4,P=`\n if (${w}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${T}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${u}, ${l});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n const float initializationValue = ${C};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${C});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${f};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${p}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${$}; wC += 4) {\n int xC = xCCorner + wC * ${m};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n getValue(batch, xD, xR, xC + 3 * ${m}, ch)\n );\n\n ${P}\n }\n\n int xC = xCCorner + ${$};\n if (${D===1}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${P}\n } else if (${D===2}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n initializationValue,\n initializationValue\n );\n\n ${P}\n } else if (${D===3}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n initializationValue\n );\n\n ${P}\n }\n }\n setOutput(${E});\n }\n }\n `}};function jet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;oi(o,\"avgPool\");let{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=n,l=1;y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return er({inputs:{x:o},backend:e});let p=new ii(c,\"avg\",!1);return e.runWebGLProgram(p,[o],\"float32\")}var tz={kernelName:Yo,backendName:\"webgl\",kernelFunc:jet};function Xet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n,c=[1,1,1],p=S.computePool3DInfo(o.shape,s,i,c,a,u,l),m=new Du(p,\"avg\",!1);return e.runWebGLProgram(m,[o],\"float32\")}var ez={kernelName:kl,backendName:\"webgl\",kernelFunc:Xet};var fC=class{constructor(t){this.variableNames=[\"dy\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=t.dilationHeight,a=t.dilationWidth,u=t.effectiveFilterHeight,l=t.effectiveFilterWidth,c=u-1-t.padInfo.top,p=l-1-t.padInfo.left,m=1/(e*n);this.userCode=`\n const ivec2 pads = ivec2(${c}, ${p});\n const float avgMultiplier = float(${m});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${u};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${a}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}},dC=class{constructor(t){this.variableNames=[\"dy\"],this.outputShape=t.inShape;let e=t.filterDepth,n=t.filterHeight,o=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=t.dilationDepth,l=t.dilationHeight,c=t.dilationWidth,p=t.effectiveFilterDepth,m=t.effectiveFilterHeight,f=t.effectiveFilterWidth,d=p-1-t.padInfo.front,h=m-1-t.padInfo.top,g=f-1-t.padInfo.left,x=1/(e*n*o);this.userCode=`\n const ivec3 pads = ivec3(${d}, ${h}, ${g});\n const float avgMultiplier = float(${x});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${p};\n wD += ${u}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${m};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${f};\n wC += ${c}) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function Yet(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s,{filterSize:a,strides:u,pad:l,dimRoundingMode:c}=n,p=[1,1,1],m=S.computePool3DInfo(i.shape,a,u,p,l,c),f=new dC(m);return e.runWebGLProgram(f,[o],i.dtype)}var rz={kernelName:Ip,backendName:\"webgl\",kernelFunc:Yet};function Zet(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s;oi([o,s],\"avgPoolGrad\");let{filterSize:a,strides:u,pad:l}=n,c=S.computePool2DInfo(i.shape,a,u,1,l),p=new fC(c);return e.runWebGLProgram(p,[o],i.dtype)}var nz={kernelName:vp,backendName:\"webgl\",kernelFunc:Zet};function Jet(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;return Jc({a:o,b:s,transposeA:i,transposeB:a,backend:e})}var oz={kernelName:Zo,backendName:\"webgl\",kernelFunc:Jet};var hC=class{constructor(t,e,n,o,s,i){this.outputShape=[],this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(t,e),S.assertAndGetBroadcastShape(t,n);let a=\"0.0\";o!=null&&(S.assertAndGetBroadcastShape(t,o),this.variableNames.push(\"offset\"),a=\"getOffsetAtOutCoords()\");let u=\"1.0\";s!=null&&(S.assertAndGetBroadcastShape(t,s),this.variableNames.push(\"scale\"),u=\"getScaleAtOutCoords()\"),this.outputShape=t,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${a};\n float scale = ${u};\n float inv = scale * inversesqrt(variance + float(${i}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}};var gC=class{constructor(t,e,n,o,s,i){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(t,e),S.assertAndGetBroadcastShape(t,n);let a=\"vec4(0.0)\";o!=null&&(S.assertAndGetBroadcastShape(t,o),this.variableNames.push(\"offset\"),a=\"getOffsetAtOutCoords()\");let u=\"vec4(1.0)\";s!=null&&(S.assertAndGetBroadcastShape(t,s),this.variableNames.push(\"scale\"),u=\"getScaleAtOutCoords()\"),this.outputShape=t,this.userCode=`\n void main() {\n vec4 offset = ${a};\n vec4 scale = ${u};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${i}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}};var Qet=({inputs:r,backend:t,attrs:e})=>{let{x:n,mean:o,variance:s,offset:i,scale:a}=r;y.assert(o.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(i==null||o.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(a==null||o.shape.length===a.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let{varianceEpsilon:u}=e;u==null&&(u=.001);let l=[n,o,s],c=null;i!=null&&(c=i.shape,l.push(i));let p=null;a!=null&&(p=a.shape,l.push(a));let m=B().getBool(\"WEBGL_PACK_NORMALIZATION\")?new gC(n.shape,o.shape,s.shape,c,p,u):new hC(n.shape,o.shape,s.shape,c,p,u);return t.runWebGLProgram(m,l,l[0].dtype)},sz={kernelName:cs,backendName:\"webgl\",kernelFunc:Qet};var xC=class{constructor(t){this.variableNames=[\"source\"],this.outputShape=t,this.rank=t.length;let e=Wt(this.rank);this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let n=trt(this.rank),o,s=t.map((i,a)=>`sourceLoc.${Nk[a]} = start[${a}] + coords.${Nk[a]};`);o=`\n ${e} sourceLoc;\n ${e} coords = getOutputCoords();\n ${s.join(`\n`)}\n `,this.userCode=`\n void main() {\n ${o}\n setOutput(getSource(${n}));\n }\n `}},Nk=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];function trt(r){if(r===1)return\"sourceLoc\";if(r<=6)return Nk.slice(0,r).map(t=>\"sourceLoc.\"+t).join(\",\");throw Error(`Slicing for rank ${r} is not yet supported`)}var yC=class{constructor(t){this.variableNames=[\"source\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.rank=t.length,this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let e=Wt(this.rank),n=tr(\"coords\",this.rank),o=tr(\"sourceLoc\",this.rank),s=this.rank===1?\"sourceLoc\":`vec2(${o.slice(-2).join()})`,i=`getChannel(getSource(${o.join()}), ${s})`,a=`\n result.x = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${o[this.rank-1]};\n result.y = ${i};\n --${o[this.rank-1]};\n }\n `,u=this.rank===1?\"\":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${t[this.rank-2]}) {\n ++${o[this.rank-2]};\n result.z = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${o[this.rank-1]};\n result.w = ${i};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${e}(${t.map((c,p)=>`start[${p}]`).join()});`:t.map((c,p)=>`${o[p]} = ${n[p]} + start[${p}];`).join(`\n`);this.userCode=`\n void main() {\n ${e} coords = getOutputCoords();\n ${e} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${a}\n ${u}\n setOutput(result);\n }\n `}};function ert(r,t,e,n){let o=n.texData.get(r.dataId),s=n.makeTensorInfo(e,r.dtype),i=n.texData.get(s.dataId);Object.assign(i,o),i.refCount=1,i.shape=e,i.dtype=r.dtype;let a=Be.computeFlatOffset(t,y.computeStrides(r.shape));o.slice&&(a+=o.slice.flatOffset),i.slice={flatOffset:a,origDataId:o.slice&&o.slice.origDataId||r.dataId};let u=n.dataRefCount.get(i.slice.origDataId)||1;return n.dataRefCount.set(i.slice.origDataId,u+1),s}function ai(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,size:i}=n,[a,u]=Be.parseSliceParams(o,s,i);if(Be.assertParamsValid(o,a,u),y.sizeFromShape(u)===0)return e.makeTensorInfo(u,o.dtype,[]);if(e.shouldExecuteOnCPU([o])||o.dtype===\"string\"){let p=e.texData.get(o.dataId),m=KL(p.values,a,u,o.shape,o.dtype);return e.makeTensorInfo(u,o.dtype,m)}let{isPacked:l}=e.texData.get(o.dataId),c=Be.isSliceContinous(o.shape,a,u);if(l||!c){let p=B().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new yC(u):new xC(u),m=[a];return e.runWebGLProgram(p,[o],o.dtype,m)}return e.uploadToGPU(o.dataId),ert(o,a,u,e)}var iz={kernelName:Ci,backendName:\"webgl\",kernelFunc:ai};var rrt=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,crops:i}=n;y.assert(o.shape.length<=4,()=>\"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet\");let a=s.reduce((b,w)=>b*w),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=[],d=lt({inputs:{x:o},backend:e,attrs:{shape:u}}),h=Le({inputs:{x:d},backend:e,attrs:{perm:l}}),g=lt({inputs:{x:h},backend:e,attrs:{shape:c}}),x=ai({inputs:{x:g},backend:e,attrs:{begin:p,size:m}});return f.push(d),f.push(h),f.push(g),f.forEach(b=>e.disposeIntermediateTensorInfo(b)),x},az={kernelName:mi,backendName:\"webgl\",kernelFunc:rrt};function nrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i}=n,a=e.readSync(o.dataId),u=e.readSync(s.dataId),l=Yw(a,u,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,l)}var lz={kernelName:Sp,backendName:\"webgl\",kernelFunc:nrt};function ort(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.readSync(n.dataId),i=e.readSync(o.dataId),a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeTensorInfo([a.length],\"int32\",Int32Array.from(a))}var uz={kernelName:Tp,backendName:\"webgl\",kernelFunc:ort};var srt=\"return float(a != b);\",kk=ce({opSnippet:srt,cpuKernelImpl:BL,dtype:\"bool\"}),cz={kernelName:Da,backendName:\"webgl\",kernelFunc:kk};function bl(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.texData.get(n.dataId);return er({inputs:{x:o.complexTensorInfos.real},backend:e})}var pz={kernelName:qp,backendName:\"webgl\",kernelFunc:bl};var irt=\"return float(int(x));\";function mz(r,t){let e=new Zr(r.shape,irt),n=t.runWebGLProgram(e,[r],\"int32\");return{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}function _k(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dtype:s}=n;if(s===\"complex64\"){if(o.dtype===\"complex64\")return er({inputs:{x:o},backend:e});let i=_e(o.shape),a=_k({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}}),u=An({inputs:{real:a,imag:i},backend:e});return i.dispose(),e.disposeIntermediateTensorInfo(a),u}if(o.dtype===\"complex64\"){let i=bl({inputs:{input:o},backend:e}),a=_k({inputs:{x:i},backend:e,attrs:{dtype:s}});return e.disposeIntermediateTensorInfo(i),a}if(!y.hasEncodingLoss(o.dtype,s)){let i=er({inputs:{x:o},backend:e});return{dataId:i.dataId,shape:i.shape,dtype:s}}if(e.shouldExecuteOnCPU([o])){let i=e.texData.get(o.dataId).values,[a,u,l]=wL(i,o.shape,o.dtype,s);return e.makeTensorInfo(a,u,l)}if(s===\"int32\")return mz(o,e);if(s===\"bool\"){let i=e.makeTensorInfo([],\"bool\",y.getTypedArrayFromDType(\"bool\",1)),u=kk({inputs:{a:o,b:i},backend:e});return e.disposeIntermediateTensorInfo(i),u}throw new Error(`Error in Cast: failed to cast ${o.dtype} to ${s}`)}var fz={kernelName:ao,backendName:\"webgl\",kernelFunc:_k};var dz=\"return ceil(x);\",art=It({opSnippet:dz,packedOpSnippet:dz,cpuKernelImpl:CL}),hz={kernelName:Jo,backendName:\"webgl\",kernelFunc:art};var bC=class{constructor(t){this.variableNames=[\"A\"],this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=t,this.userCode=`\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n `}};var wC=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=t,this.userCode=`\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n `}};function lrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{clipValueMin:s,clipValueMax:i}=n,a;B().getBool(\"WEBGL_PACK_CLIP\")?a=new wC(o.shape):a=new bC(o.shape);let u=[[s],[i]];return e.runWebGLProgram(a,[o],o.dtype,u)}var gz={kernelName:lo,backendName:\"webgl\",kernelFunc:lrt};var CC=class{constructor(t){this.variableNames=[\"real\",\"imag\"],this.outputShape=t,this.userCode=`\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n `}};function xz(r,t){return{dataId:t.dataId,dtype:t.dtype,shape:r.shape}}function urt(r){let{inputs:t,backend:e}=r,{x:n}=t,o=e.texData.get(n.dataId),s=new CC(n.shape),i=[xz(n,o.complexTensorInfos.real),xz(n,o.complexTensorInfos.imag)];return e.runWebGLProgram(s,i,i[0].dtype)}var yz={kernelName:_l,backendName:\"webgl\",kernelFunc:urt};var vC=class{constructor(t){this.outputShape=[],this.outputShape=S.computeOutShape(t,1),this.variableNames=t.map((i,a)=>`T${a}`);let e=new Array(t.length-1);e[0]=t[0][1];for(let i=1;i`T${g}`);let u=new Array(t.length-1);u[0]=t[0][e];for(let h=1;h= ${u[h-1]}) {\n return getChannel(\n getT${h}(${IC(a,l,g)}),\n vec2(${IC(c,l,g)}));\n }`}let f=u.length,d=u[u.length-1];m+=`\n return getChannel(\n getT${f}(${IC(a,l,d)}),\n vec2(${IC(c,l,d)}));`,this.userCode=`\n float getValue(${a.map(h=>\"int \"+h)}) {\n ${m}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${i}), 0., 0., 0.);\n\n ${i[o-1]} = ${i[o-1]} + 1;\n if (${i[o-1]} < ${n[o-1]}) {\n result.g = getValue(${i});\n }\n\n ${i[o-2]} = ${i[o-2]} + 1;\n if (${i[o-2]} < ${n[o-2]}) {\n result.a = getValue(${i});\n }\n\n ${i[o-1]} = ${i[o-1]} - 1;\n if (${i[o-2]} < ${n[o-2]} &&\n ${i[o-1]} < ${n[o-1]}) {\n result.b = getValue(${i});\n }\n setOutput(result);\n }\n `}};function IC(r,t,e){let n=r.indexOf(t);return r.map((s,i)=>i===n?`${s} - ${e}`:s).join()}function Qc(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.texData.get(n.dataId);return er({inputs:{x:o.complexTensorInfos.imag},backend:e})}var bz={kernelName:Mp,backendName:\"webgl\",kernelFunc:Qc};function Rd(r,t,e){let n=r[0].dtype;if(n===\"complex64\"){let p=r.map(g=>bl({inputs:{input:g},backend:e})),m=r.map(g=>Qc({inputs:{input:g},backend:e})),f=Rd(p,t,e),d=Rd(m,t,e),h=An({inputs:{real:f,imag:d},backend:e});return p.forEach(g=>e.disposeIntermediateTensorInfo(g)),m.forEach(g=>e.disposeIntermediateTensorInfo(g)),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),h}let o=e.shouldExecuteOnCPU(r);if(n===\"string\"&&(o=!0),o){let p=r.map(b=>{let w=y.sizeFromShape(b.shape.slice(t));return lt({inputs:{x:b},backend:e,attrs:{shape:[-1,w]}})}),m=p.map(b=>({vals:e.readSync(b.dataId),shape:b.shape})),f=S.computeOutShape(p.map(b=>b.shape),1),d=p[0].shape[0]===1,h=vL(m,f,n,d),g=S.computeOutShape(r.map(b=>b.shape),t),x=e.makeTensorInfo(g,n,h);return p.forEach(b=>e.disposeIntermediateTensorInfo(b)),x}let s=B().getNumber(\"WEBGL_MAX_TEXTURES_IN_SHADER\");if(r.length>s){let p=[];for(let f=0;f1){let p=new SC(r.map(m=>m.shape),t);return e.runWebGLProgram(p,r,n)}let{tensors2D:i,outShape:a}=crt(r,t,e),u=new vC(i.map(p=>p.shape)),l=e.runWebGLProgram(u,i,n);i.forEach(p=>e.disposeIntermediateTensorInfo(p));let c=lt({inputs:{x:l},attrs:{shape:a},backend:e});return e.disposeIntermediateTensorInfo(l),c}function crt(r,t,e){let n=S.computeOutShape(r.map(s=>s.shape),t);return{tensors2D:r.map(s=>lt({inputs:{x:s},attrs:{shape:[-1,y.sizeFromShape(s.shape.slice(t))]},backend:e})),outShape:n}}function Ek(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n,s=y.parseAxisParam(o,t[0].shape)[0],i=S.computeOutShape(t.map(l=>l.shape),s);if(y.sizeFromShape(i)===0)return e.makeTensorInfo(i,t[0].dtype,[]);let a=t.filter(l=>y.sizeFromShape(l.shape)>0);if(a.length===1)return er({inputs:{x:a[0]},backend:e});let u=a.map(l=>l.shape);return S.assertParamsConsistent(u,s),Rd(a,s,e)}var wz={kernelName:fi,backendName:\"webgl\",kernelFunc:Ek};var Fd=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let i=t.padInfo.top,a=t.padInfo.left,u=t.strideHeight,l=t.strideWidth,c=t.dilationHeight,p=t.dilationWidth,m=t.filterHeight,f=t.filterWidth,d=Math.floor(t.inChannels/4)*4,h=t.inChannels%4,g=t.dataFormat===\"channelsLast\",x=g?1:2,b=g?2:3,w=g?3:1,C=\"\",T=\"\";n&&(o?C=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?C=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:C=`\n float activation(float x) {\n ${n}\n }\n `,T=\"result = activation(result);\");let E=e?\"result += getBiasAtOutCoords();\":\"\";e&&this.variableNames.push(\"bias\"),o&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${C}\n\n const ivec2 strides = ivec2(${u}, ${l});\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${w}];\n\n ivec2 xRCCorner =\n ivec2(coords[${x}], coords[${b}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${c};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f}; wC++) {\n int xC = xCCorner + wC * ${p};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${g}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${h===1}) {\n\n if (${g}) {\n dotProd +=\n getX(batch, xR, xC, ${d}) *\n getW(wR, wC, ${d}, d2);\n } else {\n dotProd +=\n getX(batch, ${d}, xR, xC) *\n getW(wR, wC, ${d}, d2);\n }\n\n } else if (${h===2}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2)\n );\n\n if (${g}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${h===3}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2),\n getW(wR, wC, ${d} + 2, d2)\n );\n\n if (${g}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1),\n getX(batch, xR, xC, ${d} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC),\n getX(batch, ${d} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${E}\n ${T}\n setOutput(result);\n }\n `}},TC=class{constructor(t){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let e=t.padInfo.front,n=t.padInfo.top,o=t.padInfo.left,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=t.dilationDepth,l=t.dilationHeight,c=t.dilationWidth,p=t.filterDepth,m=t.filterHeight,f=t.filterWidth,d=Math.floor(t.inChannels/4)*4,h=t.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${i}, ${a});\n const ivec3 pads = ivec3(${e}, ${n}, ${o});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${p}; wF++) {\n int xF = xFCorner + wF * ${u};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${h===1}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${d}) *\n getW(wF, wR, wC, ${d}, d2);\n } else if (${h===2}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${h===3}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1),\n getX(batch, xF, xR, xC, ${d} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2),\n getW(wF, wR, wC, ${d} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};var Od=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=ve(this.outputShape.length);let i=t.padInfo.left,a=t.strideWidth,u=t.dilationWidth,l=t.filterHeight,c=t.filterWidth,p=c,m=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let g=0;g=0 && xR < inDims[0]) {\n `;for(let g=0;g<(p+1)/2;g++){let x=g*2;if(m+=`\n xC = xCCorner + ${x*u};\n `,a===1){if(x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n `,u===1&&x>0?m+=`\n xC${x} = vec4(xTexelC${x-2}.zw, xTexelC${x}.xy);\n `:m+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${x} = vec4(previous.zw, xTexelC${x}.xy);\n } else {\n xC${x} = vec4(0.0, 0.0, xTexelC${x}.xy);\n }\n `):m+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xC${x} = xTexelC${x};\n `,x+1= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n `,u>1?m+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${x+1} = vec4(previous.zw, xTexelC${x+1}.xy);\n } else {\n xC${x+1} = vec4(0.0, 0.0, xTexelC${x+1}.xy);\n }\n `:m+=`\n xC${x+1} = vec4(xTexelC${x}.zw, xTexelC${x+1}.xy);\n `):b===1?m+=`\n xC${x+1} = xTexelC${x};\n `:m+=`\n xCOffset = xC + ${b};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x+1} = xTexelC${x+1};\n `}}else x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(xTexelC${x}.zw, xTexelC${x+1}.zw);\n `,x+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${x+1} = vec4(xTexelC${x+1}.xy, final.xy);\n `)):(m+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(\n xTexelC${x}.xy, xTexelC${x+1}.xy);\n `,x+1= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${a}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${c*2+p}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${c*2+p}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${o.output} = result;\n }\n `}};function kC(r,t){let e=r.length;return e>=3?t?[...r.slice(0,-3),r[e-3]*r[e-2],r[e-1]]:[...r.slice(0,-3),r[e-3],r[e-2]*r[e-1]]:!t&&e===1&&r[0]>1?[r[0],1]:null}function _C({x:r,filter:t,convInfo:e,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:i=0,activation:a=null}){let u=r.shape,l=n.texData.get(r.dataId),c=e.inChannels,p=u[0]*u[1]*u[2],m=e.outChannels,f=e.dataFormat===\"channelsLast\",d=!1,h=!1,g,x=[];if(s!=null){let C=kC(s.shape,f);C!=null&&(s=lt({inputs:{x:s},backend:n,attrs:{shape:C}}),x.push(s))}if(o!=null){let C=kC(o.shape,f);C!=null&&(o=lt({inputs:{x:o},backend:n,attrs:{shape:C}}),x.push(o))}if(!((p===1||m===1)&&c>Tk)&&l.isPacked&&f&&l.texture!=null&&u[2]%2!==0&&y.arraysEqual(l.shape.slice(-3),u.slice(-3))){let C=u[0]*u[1]*(u[2]+1),T={dataId:r.dataId,shape:[1,C,e.inChannels],dtype:r.dtype},E=l.shape;l.shape=l.shape.slice(),l.shape[l.shape.length-2]++,y.assert(_u(l.shape,T.shape),()=>`packed reshape ${l.shape} to ${T.shape} isn't free`);let $=lt({inputs:{x:t},backend:n,attrs:{shape:[1,e.inChannels,e.outChannels]}});x.push($);let D=Jc({a:T,b:$,backend:n,transposeA:d,transposeB:h,bias:o,activation:a,preluActivationWeights:s,leakyreluAlpha:i}),P=n.texData.get(D.dataId);y.assert(P.isPacked,()=>\"batchMatMul result is expected to be packed\"),l.shape=E,P.shape=e.outShape,g=er({inputs:{x:D},backend:n}),g.shape=e.outShape,x.push(D)}else{let C=e.outHeight*e.outWidth,T=lt({inputs:{x:r},backend:n,attrs:{shape:f?[e.batchSize,C,e.inChannels]:[e.batchSize,e.inChannels,C]}}),E=lt({inputs:{x:t},backend:n,attrs:{shape:[1,e.inChannels,e.outChannels]}}),$=Jc({a:f?T:E,b:f?E:T,transposeA:!f,transposeB:h,backend:n,bias:o,activation:a,preluActivationWeights:s,leakyreluAlpha:i});g=lt({inputs:{x:$},backend:n,attrs:{shape:e.outShape}}),x.push(T),x.push(E),x.push($)}for(let C of x)n.disposeIntermediateTensorInfo(C);return g}function EC({x:r,filter:t,convInfo:e,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:i=0,activation:a=null}){let{filterWidth:u,filterHeight:l,inChannels:c,outWidth:p,outHeight:m,dataFormat:f}=e,d=f===\"channelsLast\",h=u*l*c,g=m*p,x=[e.batchSize,h,g],b=!0,w=!1,C=[];if(s!=null){let K=kC(s.shape,d);K!=null&&(s=lt({inputs:{x:s},backend:n,attrs:{shape:K}}),C.push(s))}if(o!=null){let K=kC(o.shape,d);K!=null&&(o=lt({inputs:{x:o},backend:n,attrs:{shape:K}}),C.push(o))}let T=lt({inputs:{x:t},backend:n,attrs:{shape:[1,h,y.sizeFromShape(t.shape)/h]}});C.push(T);let E=new NC(x,e),$=[r.shape,[e.padInfo.top,e.padInfo.left],[e.strideHeight,e.strideWidth],[e.dilationHeight,e.dilationWidth],[e.inChannels],[e.filterWidth*e.inChannels],[e.outWidth]],D=n.runWebGLProgram(E,[r],\"float32\",$),P=lt({inputs:{x:D},backend:n,attrs:{shape:x}});C.push(D),C.push(P);let M=o!=null,W=s!=null,H=a===\"leakyrelu\",q=a?yl(a,!0):null,X=new Dd(d?P.shape:T.shape,d?T.shape:P.shape,d?[e.batchSize,g,e.outChannels]:[e.batchSize,e.outChannels,g],b,w,M,q,W,H),j=d?[P,T]:[T,P];if(o&&j.push(o),W&&j.push(s),H){let K=n.makeTensorInfo([],\"float32\",y.createScalarValue(i,\"float32\"));j.push(K),C.push(K)}let Z=n.runWebGLProgram(X,j,\"float32\"),et=lt({inputs:{x:Z},backend:n,attrs:{shape:e.outShape}});C.push(Z);for(let K of C)n.disposeIntermediateTensorInfo(K);return et}function prt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dataFormat:u,dilations:l,dimRoundingMode:c}=n,p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,s.shape,i,l,a,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=_C({x:o,filter:s,convInfo:m,backend:e});else if(m.strideWidth<=2&&p===\"channelsLast\"&&B().getBool(\"WEBGL_EXP_CONV\")){let h=new Od(m),g=[[m.padInfo.top,m.padInfo.left],[m.strideHeight,m.strideWidth],[m.dilationHeight,m.dilationWidth],[m.inHeight,m.inWidth]];f=e.runWebGLProgram(h,[o,s],\"float32\",g)}else if(B().getBool(\"WEBGL_CONV_IM2COL\"))f=EC({x:o,filter:s,convInfo:m,backend:e});else{let h=new Fd(m);f=e.runWebGLProgram(h,[o,s],\"float32\")}let d=lt({inputs:{x:f},backend:e,attrs:{shape:m.outShape}});return e.disposeIntermediateTensorInfo(f),d}var Cz={kernelName:Qo,backendName:\"webgl\",kernelFunc:prt};var AC=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideHeight,n=t.strideWidth,o=t.padInfo.top,s=t.padInfo.left,i=t.dataFormat===\"channelsLast\";this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${o};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n if (${i}) {\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n } else {\n float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},$C=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=t.dataFormat===\"channelsLast\",a=e-1-t.padInfo.top,u=n-1-t.padInfo.left,l=i?1:2,c=i?2:3,p=i?3:1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${u});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${p}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${c}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n\n if (${i}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},DC=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideDepth,n=t.strideHeight,o=t.strideWidth,s=t.padInfo.front,i=t.padInfo.top,a=t.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yF = 0; yF < ${t.outDepth}; yF++) {\n int xF = wF + yF * ${e} - ${s};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${i};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${o} - ${a};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}},RC=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterDepth,n=t.filterHeight,o=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=e-1-t.padInfo.front,l=n-1-t.padInfo.top,c=o-1-t.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${u}, ${l}, ${c});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${e}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${t.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${e} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${o}; wC++) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${o} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function mrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,pad:a,dataFormat:u,dimRoundingMode:l,filterShape:c}=n,p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,c,i,1,a,l,!1,p),f=new AC(m);return e.runWebGLProgram(f,[o,s],\"float32\")}var vz={kernelName:kp,backendName:\"webgl\",kernelFunc:mrt};function frt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{inputShape:i,strides:a,pad:u,dataFormat:l,dimRoundingMode:c}=n,p=S.convertConv2DDataFormat(l),m=S.computeConv2DInfo(i,s.shape,a,1,u,c,!1,p),f=new $C(m);return e.runWebGLProgram(f,[o,s],\"float32\")}var Iz={kernelName:ts,backendName:\"webgl\",kernelFunc:frt};function drt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n,l=S.computeConv3DInfo(o.shape,s.shape,i,u,a),c=new TC(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var Sz={kernelName:El,backendName:\"webgl\",kernelFunc:drt};function hrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,pad:a,filterShape:u}=n,l=S.computeConv3DInfo(o.shape,u,i,1,a),c=new DC(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var Tz={kernelName:_p,backendName:\"webgl\",kernelFunc:hrt};function grt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{pad:i,strides:a,inputShape:u}=n,l=S.computeConv3DInfo(u,s.shape,a,1,i),c=new RC(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var Nz={kernelName:Ep,backendName:\"webgl\",kernelFunc:grt};var xrt=Oo+`\n return cos(x);\n`,yrt=It({opSnippet:xrt}),kz={kernelName:es,backendName:\"webgl\",kernelFunc:yrt};var brt=`\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n`,wrt=It({opSnippet:brt}),_z={kernelName:rs,backendName:\"webgl\",kernelFunc:wrt};var FC=class{constructor(t,e,n,o,s){this.variableNames=[\"Image\",\"Boxes\",\"BoxInd\"],this.outputShape=[];let[i,a,u,l]=t,[c]=e,[p,m]=n;this.outputShape=[c,p,m,l];let f=o===\"bilinear\"?1:0,[d,h]=[`${a-1}.0`,`${u-1}.0`],[g,x,b]=p>1?[`${(a-1)/(p-1)}`,\"(y2-y1) * height_ratio\",`y1*${d} + float(y)*(height_scale)`]:[\"0.0\",\"0.0\",`0.5 * (y1+y2) * ${d}`],[w,C,T]=m>1?[`${(u-1)/(m-1)}`,\"(x2-x1) * width_ratio\",`x1*${h} + float(x)*(width_scale)`]:[\"0.0\",\"0.0\",`0.5 * (x1+x2) * ${h}`];this.userCode=`\n const float height_ratio = float(${g});\n const float width_ratio = float(${w});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${i}) {\n return;\n }\n\n float height_scale = ${x};\n float width_scale = ${C};\n\n float in_y = ${b};\n if( in_y < 0.0 || in_y > ${d} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${T};\n if( in_x < 0.0 || in_x > ${h} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${f} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}};var Crt=r=>{let{inputs:t,backend:e,attrs:n}=r,{image:o,boxes:s,boxInd:i}=t,{cropSize:a,method:u,extrapolationValue:l}=n,c=new FC(o.shape,s.shape,a,u,l);return e.runWebGLProgram(c,[o,s,i],\"float32\")},Ez={kernelName:da,backendName:\"webgl\",kernelFunc:Crt};var tp;(function(r){r.Prod=\"*\",r.Sum=\"+\"})(tp||(tp={}));var mg=class{constructor(t,e,n,o){this.op=t,this.outputShape=e,this.variableNames=[\"x\"],this.customUniforms=[{name:\"index\",type:\"float\"}];let s=this.outputShape.length,i=this.op===tp.Prod?\"1.0\":\"0.0\",a=n?i:`getX(${Az(s,\"coords\",this.op)})`,u=this.outputShape[this.outputShape.length-1],l=\"\",c=\"\";n?(l=o?`end != ${u-1}`:\"end != 0\",c=o?\"end + 1\":\"end - 1\"):(l=o?`end + pow2 < ${u}`:\"end >= pow2\",c=o?\"end + pow2\":\"end - pow2\"),this.userCode=`\n void main() {\n ${Wt(s)} coords = getOutputCoords();\n int end = ${$z(s,\"coords\",this.op)};\n float val = ${a};\n int pow2 = int(pow(2.0, index));\n if (${l}) {\n int idx = ${c};\n ${$z(s,\"coords\",this.op)} = idx;\n val ${this.op}= getX(${Az(s,\"coords\",this.op)});\n }\n setOutput(val);\n }\n `}};function Az(r,t,e){if(r===1)return`${t}`;if(r===2)return`${t}.x, ${t}.y`;if(r===3)return`${t}.x, ${t}.y, ${t}.z`;if(r===4)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw new Error(`Cumulative ${e} for rank ${r} is not yet supported`)}function $z(r,t,e){if(r===1)return`${t}`;if(r===2)return`${t}.y`;if(r===3)return`${t}.z`;if(r===4)return`${t}.w`;throw new Error(`Cumulative ${e} for rank ${r} is not yet supported`)}function OC(r,t,e,n,o,s){let i=t.shape.length,a=S.getAxesPermutation([n],i),u=t;a!=null&&(u=Le({inputs:{x:t},backend:e,attrs:{perm:a}}));let l=S.getInnerMostAxes(1,i)[0];if(l!==i-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${t.shape.length-1} but got axis=${n}`);let c=u.shape[l],p=er({inputs:{x:u},backend:e});for(let m=0;m<=Math.ceil(Math.log2(c))-1;m++){let f=new mg(r,u.shape,!1,s),d=[[m]],h=p;p=e.runWebGLProgram(f,[p],p.dtype,d),e.disposeIntermediateTensorInfo(h)}if(o){let m=new mg(r,u.shape,o,s),f=p;p=e.runWebGLProgram(m,[p],p.dtype),e.disposeIntermediateTensorInfo(f)}if(a!=null){let m=S.getUndoAxesPermutation(a),f=Le({inputs:{x:p},backend:e,attrs:{perm:m}});return e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(u),f}return p}function vrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n;return OC(tp.Prod,o,e,s,i,a)}var Dz={kernelName:fa,backendName:\"webgl\",kernelFunc:vrt};function Irt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n;return OC(tp.Sum,o,e,s,i,a)}var Rz={kernelName:ns,backendName:\"webgl\",kernelFunc:Irt};function Srt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i,binaryOutput:a}=n;if(o.shape.length===1){let u=e.readSync(o.dataId),l=e.readSync(s.dataId),c=Yw(u,l,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,c)}else if(o.shape.length===2){let u=e.bufferSync(o),l=e.bufferSync(s),c=bL(u,l,i,a);return e.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 Fz={kernelName:Ap,backendName:\"webgl\",kernelFunc:Srt};var PC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.outputShape=[],this.outputShape=t,this.blockSize=e,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${e};\n int offset_h = imod(h, ${e});\n int in_w = w / ${e};\n int offset_w = imod(w, ${e});\n int offset_d = (offset_h * ${e} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}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 Trt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockSize:s,dataFormat:i}=n,a=o.shape[0],u=i===\"NHWC\"?o.shape[1]:o.shape[2],l=i===\"NHWC\"?o.shape[2]:o.shape[3],c=i===\"NHWC\"?o.shape[3]:o.shape[1],p=u*s,m=l*s,f=c/(s*s),d=i===\"NHWC\"?[a,p,m,f]:[a,f,p,m],h=new PC(d,s,i);return e.runWebGLProgram(h,[o],o.dtype)}var Oz={kernelName:ha,backendName:\"webgl\",kernelFunc:Trt};var Pd=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=ve(this.outputShape.length);let i=t.filterHeight,a=t.filterWidth,u=t.outChannels/t.inChannels,l=\"\",c=\"\";n&&(o?l=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?l=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:l=`\n float activation(float x) {\n ${n}\n }\n `,c=\"result = activation(result);\");let p=e?\"result += getBiasAtOutCoords();\":\"\";e&&this.variableNames.push(\"bias\"),o&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${u};\n int q = d2 - d1 * ${u};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${i}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${a}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${p}\n ${c}\n setOutput(result);\n }\n `}};var Ld=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=ve(this.outputShape.length);let i=t.outChannels/t.inChannels,a=t.padInfo.left,u=t.strideWidth,l=t.dilationWidth,c=t.filterHeight,p=t.filterWidth,m=p,f=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let x=0;x=0 && xR < inDims[0]) {\n `;for(let x=0;x<(m+1)/2;x++){let b=x*2;if(f+=`\n xC = xCCorner + ${b*l};\n `,u===1){if(b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n `,l===1&&b>0?f+=`\n xC${b} = vec4(xTexelC${b-2}.zw, xTexelC${b}.xy);\n `:f+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${b} = vec4(previous.zw, xTexelC${b}.xy);\n } else {\n xC${b} = vec4(0.0, 0.0, xTexelC${b}.xy);\n }\n `):f+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xC${b} = xTexelC${b};\n `,b+1= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n `,l>1?f+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${b+1} = vec4(previous.zw, xTexelC${b+1}.xy);\n } else {\n xC${b+1} = vec4(0.0, 0.0, xTexelC${b+1}.xy);\n }\n `:f+=`\n xC${b+1} = vec4(xTexelC${b}.zw, xTexelC${b+1}.xy);\n `):w===1?f+=`\n xC${b+1} = xTexelC${b};\n `:f+=`\n xCOffset = xC + ${w};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b+1} = xTexelC${b+1};\n `}}else b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(xTexelC${b}.zw, xTexelC${b+1}.zw);\n `,b+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${b+1} = vec4(xTexelC${b+1}.xy, final.xy);\n `)):(f+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(\n xTexelC${b}.xy, xTexelC${b+1}.xy);\n `,b+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${c}'`);let p=S.computeConv2DInfo(o.shape,s.shape,i,c,a,l,!0),m;B().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&p.strideWidth<=2&&p.outChannels/p.inChannels===1?m=new Ld(p):m=new Pd(p);let f=[[p.padInfo.top,p.padInfo.left],[p.strideHeight,p.strideWidth],[p.dilationHeight,p.dilationWidth],[p.inHeight,p.inWidth]];return e.runWebGLProgram(m,[o,s],\"float32\",f)}var Pz={kernelName:os,backendName:\"webgl\",kernelFunc:Nrt};var LC=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideHeight,n=t.strideWidth,o=t.padInfo.top,s=t.padInfo.left,i=t.outChannels/t.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${i} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${o};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}},MC=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=e-1-t.padInfo.top,a=n-1-t.padInfo.left,u=t.outChannels/t.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${u}; dm++) {\n int d2 = d1 * ${u} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function krt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,dilations:a,pad:u,dimRoundingMode:l,filterShape:c}=n,p=S.computeConv2DInfo(o.shape,c,i,a,u,l,!0),m=new LC(p);return e.runWebGLProgram(m,[o,s],\"float32\")}var Lz={kernelName:$p,backendName:\"webgl\",kernelFunc:krt};function _rt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{strides:i,dilations:a,pad:u,dimRoundingMode:l,inputShape:c}=n,p=S.computeConv2DInfo(c,s.shape,i,a,u,l,!0),m=new MC(p);return e.runWebGLProgram(m,[o,s],\"float32\")}var Mz={kernelName:Dp,backendName:\"webgl\",kernelFunc:_rt};var zC=class{constructor(t){this.variableNames=[\"X\"],this.outputShape=[t,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n `}};function Ert(r){let{inputs:t,backend:e}=r,{x:n}=t,o=[...n.shape,...n.shape],s=y.sizeFromShape(n.shape),i=lt({inputs:{x:n},backend:e,attrs:{shape:[s]}}),a=new zC(s),u=e.runWebGLProgram(a,[i],i.dtype),l=lt({inputs:{x:u},backend:e,attrs:{shape:o}});return e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(u),l}var zz={kernelName:Rp,backendName:\"webgl\",kernelFunc:Ert};var BC=class{constructor(t){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let{inHeight:e,inWidth:n,padInfo:o,strideHeight:s,strideWidth:i,filterHeight:a,filterWidth:u,dilationHeight:l,dilationWidth:c}=t,{top:p,left:m}=o;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${i});\n const ivec2 pads = ivec2(${p}, ${m});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${a}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${e}) {\n for (int w = 0; w < ${u}; w++) {\n int wIn = wBeg + w * ${c};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}};function Art(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n,l=S.computeDilation2DInfo(o.shape,s.shape,i,a,\"NHWC\",u),c,p=new BC(l);c=e.runWebGLProgram(p,[o,s],\"float32\");let m=lt({inputs:{x:c},backend:e,attrs:{shape:l.outShape}});return e.disposeIntermediateTensorInfo(c),m}var Bz={kernelName:Al,backendName:\"webgl\",kernelFunc:Art};function $rt(r){let{inputs:t,backend:e,attrs:n}=r,{equation:o}=n,s=t,{allDims:i,summedDims:a,idDims:u}=S.decodeEinsumEquation(o,s.length);S.checkEinsumDimSizes(i.length,u,s);let{path:l,steps:c}=S.getEinsumComputePath(a,u),p=c.length,m=null,f=i.length,d=[];for(let h=0;h=0&&(m=Zc({inputs:{x:m},backend:e,attrs:{axis:l[h]-(i.length-f),keepDims:!1}}),d.push(m)),f--)}for(let h of d)h!==m&&e.disposeIntermediateTensorInfo(h);return m}var Vz={kernelName:Fp,backendName:\"webgl\",kernelFunc:$rt};var Drt=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",Rrt=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,Frt=It({opSnippet:Drt,packedOpSnippet:Rrt}),Gz={kernelName:is,backendName:\"webgl\",kernelFunc:Frt};var Ort=\"return (b >= 1.0) ? a : a * (b + 1.0);\",Prt=`\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n`,Lrt=r=>{let{inputs:t,backend:e}=r,{dy:n,y:o}=t,s=B().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new Fo(Prt,n.shape,o.shape):new no(Ort,n.shape,o.shape);return e.runWebGLProgram(s,[n,o],n.dtype)},Wz={kernelName:Op,backendName:\"webgl\",kernelFunc:Lrt};var Mrt=`\n return vec4(equal(a, b));\n`,zrt=\"return float(a == b);\",Brt=ce({opSnippet:zrt,packedOpSnippet:Mrt,dtype:\"bool\",cpuKernelImpl:IL}),Uz={kernelName:xa,backendName:\"webgl\",kernelFunc:Brt};var Vrt=`\n // Error function is calculated approximately with elementary function.\n // See \"Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\n float p = ${S.ERF_P};\n float a1 = ${S.ERF_A1};\n float a2 = ${S.ERF_A2};\n float a3 = ${S.ERF_A3};\n float a4 = ${S.ERF_A4};\n float a5 = ${S.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`,Grt=It({opSnippet:Vrt}),Hz={kernelName:ga,backendName:\"webgl\",kernelFunc:Grt};var Wrt=Oo+`\n return exp(x);\n`,Urt=`\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Ak=It({opSnippet:Wrt,packedOpSnippet:Urt,cpuKernelImpl:SL,dtype:\"float32\"}),qz={kernelName:as,backendName:\"webgl\",kernelFunc:Ak};function VC(r){let{inputs:t,attrs:e,backend:n}=r,{dim:o}=e,{input:s}=t,i=s.shape.length,a=s.shape.slice(),u=o;return o<0&&(y.assert(-(i+1)<=o,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+o+1),a.splice(u,0,1),lt({inputs:{x:s},backend:n,attrs:{shape:a}})}var Kz={kernelName:di,backendName:\"webgl\",kernelFunc:VC};var jz=\"return exp(x) - 1.0;\",Hrt=It({opSnippet:jz,packedOpSnippet:jz,cpuKernelImpl:TL}),Xz={kernelName:ya,backendName:\"webgl\",kernelFunc:Hrt};var fg=class{constructor(t,e,n){this.variableNames=[\"real\",\"imag\"];let o=e[1];this.outputShape=e;let s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,i=n?`${o}.0`:\"1.0\",a;if(t===\"real\")a=\"return real * expR - imag * expI;\";else if(t===\"imag\")a=\"return real * expI + imag * expR;\";else throw new Error(`FFT component must be either \"real\" or \"imag\", got ${t}.`);this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${a}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${o});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${o}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${i};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}};function GC(r,t,e){let n=e.texData.get(r.dataId),o=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],i=o/s,a=lt({inputs:{x:r},backend:e,attrs:{shape:[i,s]}}),u=a.shape,l=new fg(\"real\",u,t),c=new fg(\"imag\",u,t),p=[{dataId:n.complexTensorInfos.real.dataId,dtype:n.complexTensorInfos.real.dtype,shape:u},{dataId:n.complexTensorInfos.imag.dataId,dtype:n.complexTensorInfos.imag.dtype,shape:u}],m=e.runWebGLProgram(l,p,\"float32\"),f=e.runWebGLProgram(c,p,\"float32\"),d=An({inputs:{real:m,imag:f},backend:e});e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f);let h=lt({inputs:{x:d},backend:e,attrs:{shape:r.shape}});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(d),h}function qrt(r){let{inputs:t,backend:e}=r,{input:n}=t;return GC(n,!1,e)}var Yz={kernelName:Pp,backendName:\"webgl\",kernelFunc:qrt};var WC=class{constructor(t,e){this.outputShape=[],this.customUniforms=[{name:\"value\",type:\"float\"}],this.variableNames=[\"x\"],this.outputShape=t,this.userCode=`\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n `}};function wl(r){let{backend:t,attrs:e}=r,{shape:n,value:o}=e,{dtype:s}=e;if(s=s||y.inferDtype(o),s===\"string\"){let i=y.getArrayFromDType(s,y.sizeFromShape(n));return i.fill(o),t.makeTensorInfo(n,s,i)}else{let i=new WC(n,o),a=[[o]];return t.runWebGLProgram(i,[],s,a)}}var Zz={kernelName:$l,backendName:\"webgl\",kernelFunc:wl};var UC=class{constructor(t){this.variableNames=[\"Image\"],this.outputShape=[];let e=t[2];this.outputShape=t,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${e} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${e}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var Jz={kernelName:ba,backendName:\"webgl\",kernelFunc:({inputs:r,backend:t})=>{let{image:e}=r,n=t,o=new UC(e.shape);return n.runWebGLProgram(o,[e],e.dtype)}};var Qz=\"return floor(x);\",Krt=It({opSnippet:Qz,packedOpSnippet:Qz,cpuKernelImpl:NL}),t3={kernelName:ls,backendName:\"webgl\",kernelFunc:Krt};var jrt=`\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n`,Xrt=`\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n`,Yrt=ce({opSnippet:jrt,packedOpSnippet:Xrt,dtype:\"int32\"}),e3={kernelName:us,backendName:\"webgl\",kernelFunc:Yrt};var HC=class{constructor(t){this.variableNames=[\"A\"];let e=He(),[n,o]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${o}.0, ${n}.0);\n\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}};var qC=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0;let e=He(),[n,o]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${o}.0, ${n}.0);\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${e.output} = result;\n }\n `}};var r3={kernelName:ih,backendName:\"webgl\",kernelFunc:Zrt},Md,$k=B().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");function Zrt(r){let{inputs:t,backend:e,attrs:n}=r,{pixels:o}=t,{numChannels:s}=n,i=typeof HTMLVideoElement!=\"undefined\"&&o instanceof HTMLVideoElement,a=typeof HTMLImageElement!=\"undefined\"&&o instanceof HTMLImageElement,[u,l]=i?[o.videoWidth,o.videoHeight]:[o.width,o.height],c=[l,u],p=[l,u,s];if(a||i){let h=B().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");(Md==null||h!==$k)&&($k=h,Md=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:$k})),Md.canvas.width=u,Md.canvas.height=l,Md.drawImage(o,0,0,u,l),o=Md.canvas}let m=e.makeTensorInfo(c,\"int32\");e.texData.get(m.dataId).usage=Hr.PIXELS,e.gpgpu.uploadPixelDataToTexture(e.getTexture(m.dataId),o);let f=B().getBool(\"WEBGL_PACK\")?new qC(p):new HC(p),d=e.runWebGLProgram(f,[m],\"int32\");return e.disposeData(m.dataId),d}function Jrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=S.convertConv2DDataFormat(c),g=S.computeConv2DInfo(o.shape,s.shape,u,p,l,m,!1,h),x,b=[],w=i!=null,C=a!=null,T=f===\"leakyrelu\",E=()=>{let D=[o,s],P=(M,W)=>{if(W===\"NCHW\"&&M.shape.length===1&&M.shape[0]!==1){let H=lt({inputs:{x:M},backend:e,attrs:{shape:[M.shape[0],1,1]}});return b.push(H),H}return M};if(w&&D.push(P(i,c)),C&&D.push(P(a,c)),T){let M=e.makeTensorInfo([],\"float32\",y.createScalarValue(d,\"float32\"));D.push(M),b.push(M)}return D};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=_C({x:o,filter:s,convInfo:g,backend:e,bias:i,activation:f,preluActivationWeights:a,leakyreluAlpha:d});else if(g.strideWidth<=2&&h===\"channelsLast\"&&B().getBool(\"WEBGL_EXP_CONV\")){let D=f?yl(f,!0):null,P=new Od(g,w,D,C,T),M=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],W=E();x=e.runWebGLProgram(P,W,\"float32\",M)}else if(B().getBool(\"WEBGL_CONV_IM2COL\"))x=EC({x:o,filter:s,convInfo:g,backend:e,bias:i,activation:f,preluActivationWeights:a,leakyreluAlpha:d});else{let D=f?yl(f,!1):null,P=new Fd(g,w,D,C,T),M=E();x=e.runWebGLProgram(P,M,\"float32\")}let $=lt({inputs:{x},backend:e,attrs:{shape:g.outShape}});return b.push(x),b.forEach(D=>e.disposeIntermediateTensorInfo(D)),$}var n3={kernelName:ki,backendName:\"webgl\",kernelFunc:Jrt};function Qrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dimRoundingMode:p,activation:m,leakyreluAlpha:f}=n,d=[],h=c;h==null&&(h=[1,1]),y.assert(S.eitherStridesOrDilationsAreOne(u,h),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${u} and dilations '${h}'`);let g=S.computeConv2DInfo(o.shape,s.shape,u,h,l,p,!0),x=B().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,b=m?yl(m,x):null,w=[o,s],C=i!=null,T=a!=null,E=m===\"leakyrelu\";if(C&&w.push(i),T&&w.push(a),E){let M=e.makeTensorInfo([],\"float32\",y.createScalarValue(f,\"float32\"));w.push(M),d.push(M)}let $;x?$=new Ld(g,C,b,T,E):$=new Pd(g,C,b,T,E);let D=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],P=e.runWebGLProgram($,w,\"float32\",D);return d.forEach(M=>e.disposeIntermediateTensorInfo(M)),P}var o3={kernelName:_i,backendName:\"webgl\",kernelFunc:Qrt};var KC=class{constructor(t,e,n,o){this.sliceDim=t,this.strides=e,this.paramsShape=o,this.variableNames=[\"x\",\"indices\"],this.outputShape=n;let s=Wt(e.length),i=Wt(n.length),a=this.sliceDim>1?\"strides[j]\":\"strides\",u=Wt(o.length),l=o.length>1?\"paramsShape[j]\":\"paramsShape\";this.userCode=`\n ${s} strides = ${s}(${this.strides});\n ${u} paramsShape = ${u}(${this.paramsShape});\n void main() {\n ${i} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n for (int j = 0; j < ${this.sliceDim}; j++) {\n int index = round(getIndices(coords[0], j));\n out_of_bounds = out_of_bounds || index < 0;\n out_of_bounds = out_of_bounds || index >= ${l};\n flattenIndex += index * ${a};\n }\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}};function tnt(r){let{inputs:t,backend:e}=r,{params:n,indices:o}=t,s=o.shape,i=s[s.length-1],a=y.sizeFromShape(n.shape),[u,l,c,p]=S.prepareAndValidate(n,o),m=lt({inputs:{x:o},backend:e,attrs:{shape:[l,i]}}),f=lt({inputs:{x:n},backend:e,attrs:{shape:[y.sizeFromShape(n.shape)/c,c]}});if(e.shouldExecuteOnCPU([n,o])||n.dtype===\"string\"){let x=e.readSync(o.dataId),b=e.bufferSync(n),w=kL(x,b,n.dtype,l,i,c,p,n.shape,a);return e.makeTensorInfo(u,n.dtype,w.values)}let d=new KC(i,p,[l,c],n.shape),h=e.runWebGLProgram(d,[f,m],f.dtype),g=lt({inputs:{x:h},backend:e,attrs:{shape:u}});return e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(h),g}var s3={kernelName:wa,backendName:\"webgl\",kernelFunc:tnt};var jC=class{constructor(t,e){this.variableNames=[\"A\",\"indices\"],this.outputShape=e,this.rank=e.length;let n=Wt(this.rank),o=ent(t,2);this.userCode=`\n void main() {\n ${n} resRC = getOutputCoords();\n int index = int(getIndices(resRC.x, resRC.z));\n float inBounds = (index >= 0) && (index < ${t[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${o}));\n }\n `}};function ent(r,t){let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],n=[];for(let o=0;o=0,()=>`GatherV2: the index value ${T} is not in [0, ${w-1}]`)}}let l=S.segment_util.collectGatherOpShapeInfo(o,s,u,a),c=y.sizeFromShape(s.shape),p=[],m=lt({inputs:{x:o},backend:e,attrs:{shape:[l.batchSize,l.outerSize,l.dimSize,l.sliceSize]}}),f=lt({inputs:{x:s},backend:e,attrs:{shape:[l.batchSize,c/l.batchSize]}});p.push(m),p.push(f);let d=[l.batchSize,l.outerSize,c/l.batchSize,l.sliceSize];if(e.shouldExecuteOnCPU([o,s])||o.dtype===\"string\"){let b=e.bufferSync(f),w=e.bufferSync(m),C=_L(w,b,d);return p.forEach(T=>e.disposeIntermediateTensorInfo(T)),e.makeTensorInfo(l.outputShape,C.dtype,C.values)}let h=new jC(m.shape,d),g=e.runWebGLProgram(h,[m,f],m.dtype);p.push(g);let x=lt({inputs:{x:g},backend:e,attrs:{shape:l.outputShape}});return p.forEach(b=>e.disposeIntermediateTensorInfo(b)),x}var i3={kernelName:hi,backendName:\"webgl\",kernelFunc:Dk};var rnt=\"return float(a > b);\",nnt=`\n return vec4(greaterThan(a, b));\n`,ont=ce({opSnippet:rnt,packedOpSnippet:nnt,cpuKernelImpl:EL,dtype:\"bool\"}),a3={kernelName:Ca,backendName:\"webgl\",kernelFunc:ont};var snt=\"return float(a >= b);\",int=`\n return vec4(greaterThanEqual(a, b));\n`,ant=ce({opSnippet:snt,packedOpSnippet:int,dtype:\"bool\",cpuKernelImpl:AL}),l3={kernelName:ps,backendName:\"webgl\",kernelFunc:ant};function lnt(r){let{inputs:t,backend:e}=r,{input:n}=t;return GC(n,!0,e)}var u3={kernelName:Lp,backendName:\"webgl\",kernelFunc:lnt};var unt=\"return float(!isnan(x) && !isinf(x));\",cnt=It({opSnippet:unt,dtype:\"bool\"}),c3={kernelName:va,backendName:\"webgl\",kernelFunc:cnt};var pnt=\"return float(isinf(x));\",mnt=It({opSnippet:pnt,dtype:\"bool\"}),p3={kernelName:Ia,backendName:\"webgl\",kernelFunc:mnt};var fnt=\"return float(isnan(x));\",dnt=It({opSnippet:fnt,dtype:\"bool\"}),m3={kernelName:Sa,backendName:\"webgl\",kernelFunc:dnt};var hnt=\"return float(a < b);\",gnt=`\n return vec4(lessThan(a, b));\n`,xnt=ce({opSnippet:hnt,packedOpSnippet:gnt,cpuKernelImpl:$L,dtype:\"bool\"}),f3={kernelName:Ta,backendName:\"webgl\",kernelFunc:xnt};var ynt=\"return float(a <= b);\",bnt=`\n return vec4(lessThanEqual(a, b));\n`,wnt=ce({opSnippet:ynt,packedOpSnippet:bnt,cpuKernelImpl:DL,dtype:\"bool\"}),d3={kernelName:Na,backendName:\"webgl\",kernelFunc:wnt};function Cnt(r){let{backend:t,attrs:e}=r,{start:n,stop:o,num:s}=e,i=RL(n,o,s);return t.makeTensorInfo([i.length],\"float32\",i)}var h3={kernelName:zp,backendName:\"webgl\",kernelFunc:Cnt};var vnt=Oo+`\n return x < 0.0 ? 0./0. : log(x);\n`,Int=`\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n`,Snt=It({opSnippet:vnt,packedOpSnippet:Int,cpuKernelImpl:FL}),g3={kernelName:fs,backendName:\"webgl\",kernelFunc:Snt};var Tnt=Oo+`\n return log(1.0 + x);\n`,Nnt=It({opSnippet:Tnt}),x3={kernelName:ka,backendName:\"webgl\",kernelFunc:Nnt};var knt=\"return float(a >= 1.0 && b >= 1.0);\",_nt=`\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n`,Ent=ce({opSnippet:knt,packedOpSnippet:_nt,dtype:\"bool\"}),y3={kernelName:_a,backendName:\"webgl\",kernelFunc:Ent};var Ant=\"return float(!(x >= 1.0));\",$nt=It({opSnippet:Ant}),b3={kernelName:Ea,backendName:\"webgl\",kernelFunc:$nt};var Dnt=\"return float(a >= 1.0 || b >= 1.0);\",Rnt=`\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n`,Fnt=ce({opSnippet:Dnt,packedOpSnippet:Rnt,dtype:\"bool\"}),w3={kernelName:Aa,backendName:\"webgl\",kernelFunc:Fnt};var XC=class{constructor(t,e,n,o,s){this.variableNames=[\"x\"],this.outputShape=[];let i=e,a=t[3]-1;this.outputShape=t;let u,l=`float(${n}) + float(${o}) * sum`;s===.5?u=`inversesqrt(${l})`:s===1?u=`1.0/(${l})`:u=`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${i}; j <= ${i}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${a}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${u};\n setOutput(val);\n }\n `}};var YC=class{constructor(t,e,n,o,s){this.variableNames=[\"x\"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;let i=e,a=t[3]-1;this.outputShape=t;let u,l=`float(${n}) + float(${o}) * sum`;s===.5?u=`inversesqrt(${l})`:s===1?u=`1.0/(${l})`:u=`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${i};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${i}; j <= ${i}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${a}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${u};\n setOutput(result);\n }\n `}};var Ont=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n,l=B().getBool(\"WEBGL_PACK_NORMALIZATION\")?new YC(o.shape,s,i,a,u):new XC(o.shape,s,i,a,u);return e.runWebGLProgram(l,[o],o.dtype)},C3={kernelName:Dl,backendName:\"webgl\",kernelFunc:Ont};var ZC=class{constructor(t,e,n,o,s){this.variableNames=[\"inputImage\",\"outputImage\",\"dy\"],this.outputShape=[],this.outputShape=t,this.depth=t[3],this.depthRadius=e,this.bias=n,this.alpha=o,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${e})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${e} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${o}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${o})\n * float(${s})\n * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}};var Pnt=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o,y:s,dy:i}=t,{depthRadius:a,bias:u,alpha:l,beta:c}=n,p=new ZC(o.shape,a,u,l,c);return e.runWebGLProgram(p,[o,s,i],o.dtype)},v3={kernelName:Bp,backendName:\"webgl\",kernelFunc:Pnt};function I3(r,t,e,n){let o=y.sizeFromShape(t),i=y.sizeFromShape(r.shape)/o,a=lt({inputs:{x:r},attrs:{shape:[i,o]},backend:n}),u=Un(a,r.dtype,\"max\",n),l=lt({inputs:{x:u},attrs:{shape:e},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),l}function Rk(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{reductionIndices:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=c!=null,m=e.shouldExecuteOnCPU([o]),f=o;if(p){if(m){let w=e.texData.get(f.dataId).values,C=new Array(a);for(let $=0;$`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return er({inputs:{x:o},backend:e});let p=new ii(c,\"max\",!1);return e.runWebGLProgram(p,[o],o.dtype)}var N3={kernelName:gs,backendName:\"webgl\",kernelFunc:Bnt};function Vnt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dataFormat:u,dimRoundingMode:l}=n,c=[1,1,1],p=S.computePool3DInfo(o.shape,s,i,c,a,l,u),m=new Du(p,\"max\",!1);return e.runWebGLProgram(m,[o],o.dtype)}var k3={kernelName:Rl,backendName:\"webgl\",kernelFunc:Vnt};var JC=class{constructor(t){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=t.inShape;let e=t.strideHeight,n=t.strideWidth,o=t.dilationHeight,s=t.effectiveFilterHeight,i=t.effectiveFilterWidth,a=s-1-t.padInfo.top,u=i-1-t.padInfo.left,l=s*i-1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${u});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${o}) {\n float dyR = float(dyRCorner + wR) / ${e}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${i} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}},QC=class{constructor(t){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=t.inShape;let e=t.strideDepth,n=t.strideHeight,o=t.strideWidth,s=t.dilationDepth,i=t.dilationHeight,a=t.dilationWidth,u=t.effectiveFilterDepth,l=t.effectiveFilterHeight,c=t.effectiveFilterWidth,p=u-1-t.padInfo.front,m=l-1-t.padInfo.top,f=c-1-t.padInfo.left,d=u*l*c-1;this.userCode=`\n const ivec3 pads = ivec3(${p}, ${m}, ${f});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${u};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${e}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${c};\n wC += ${a}) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${d} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${c} +\n wR * ${c} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function Gnt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s,{filterSize:a,strides:u,pad:l,dimRoundingMode:c}=n,p=[1,1,1],m=S.computePool3DInfo(i.shape,a,u,p,l,c),f=new Du(m,\"max\",!0),d=e.runWebGLProgram(f,[i],i.dtype),h=new QC(m),g=e.runWebGLProgram(h,[o,d],i.dtype);return e.disposeIntermediateTensorInfo(d),g}var _3={kernelName:Gp,backendName:\"webgl\",kernelFunc:Gnt};function Wnt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s,output:i}=t,a=s;oi([s,i],\"maxPoolGrad\");let{filterSize:u,strides:l,pad:c,dimRoundingMode:p}=n,m=S.computePool2DInfo(a.shape,u,l,1,c,p),f=!0,d=new ii(m,\"max\",f),h=e.runWebGLProgram(d,[a],a.dtype),g=new JC(m),x=e.runWebGLProgram(g,[o,h],a.dtype);return e.disposeIntermediateTensorInfo(h),x}var E3={kernelName:Vp,backendName:\"webgl\",kernelFunc:Wnt};function A3(r,t,e,n){let o=new ii(e,\"max\",!1),s=n.runWebGLProgram(o,[r],\"float32\");o=new ii(e,\"max\",!0,!0,t);let i=n.runWebGLProgram(o,[r],\"float32\");return[s,i]}var $3={kernelName:Wp,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{filterSize:o,strides:s,pad:i,includeBatchInIndex:a}=t,u=e;y.assert(n.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${n.shape.length}.`);let l=[1,1];y.assert(S.eitherStridesOrDilationsAreOne(s,l),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${l}'`);let c=S.computePool2DInfo(n.shape,o,s,l,i),[p,m]=A3(n,a,c,u);return[p,m]}};function D3(r,t,e,n){let o=y.sizeFromShape(t),i=y.sizeFromShape(r.shape)/o,a=lt({inputs:{x:r},attrs:{shape:[i,o]},backend:n}),u=Un(a,\"float32\",\"mean\",n),l=lt({inputs:{x:u},attrs:{shape:e},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),l}var R3={kernelName:xs,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{keepDims:o,axis:s}=t,i=e,a=n.shape.length,u=y.parseAxisParam(s,n.shape),l=u,c=S.getAxesPermutation(l,a),p=c!=null,m=i.shouldExecuteOnCPU([n]),f=[],d=n;if(p){if(m){let C=i.texData.get(d.dataId).values,T=new Array(a);for(let D=0;Dc[0]+t[p]+c[1]);let o=t.length,s=Wt(o),i=e.map(c=>c[0]).join(\",\"),a=e.map((c,p)=>c[0]+t[p]).join(\",\"),u=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,o),l=n===\"reflect\"?0:1;if(o===1){this.userCode=`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${o}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${u}));\n }\n `}};var ev=class{constructor(t,e,n){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e.map((d,h)=>d[0]+t[h]+d[1]);let o=t.length,s=Wt(o),i=e.map(d=>d[0]).join(\",\"),a=e.map((d,h)=>d[0]+t[h]).join(\",\"),u=tr(\"rc\",o),l=tr(\"source\",o),c=`${u[o-1]} < ${this.outputShape[o-1]}`,p=o===1?\"source\":`vec2(${l.slice(-2).join()})`,m=n===\"reflect\"?0:1,f=\"\";if(o===1){let d=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${m};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${m};\n }\n source -= start;\n `;f=`\n ${s} rc = outputLoc;\n ${d}\n result[0] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[1] = getChannel(getX(${l.join()}), ${p});\n }\n `}else{let d=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${m}) +\n gte * ((end - 1) * 2 - source + ${m});\n source -= start;\n `;f=`\n ${s} rc = outputLoc;\n ${d}\n result[0] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[1] = getChannel(getX(${l.join()}), ${p});\n }\n rc = outputLoc;\n ${u[o-2]} += 1;\n if(${u[o-2]} < ${this.outputShape[o-2]}) {\n ${d}\n result[2] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[3] = getChannel(getX(${l.join()}), ${p});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${i});\n const ${s} end = ${s}(${a});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${f}\n setOutput(result);\n }\n `}};var jnt=({inputs:r,backend:t,attrs:e})=>{let{x:n}=r,{paddings:o,mode:s}=e,i=B().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new ev(n.shape,o,s):new tv(n.shape,o,s);return t.runWebGLProgram(i,[n],n.dtype)},P3={kernelName:ws,backendName:\"webgl\",kernelFunc:jnt};var Xnt=`if (b == 0.0) return NAN;\n return mod(a, b);`,Ynt=`\n vec4 result = mod(a, b);\n vec4 isNaN = vec4(equal(b, vec4(0.0)));\n `+Au+`\n return result;\n`,Znt=ce({opSnippet:Xnt,packedOpSnippet:Ynt}),L3={kernelName:$a,backendName:\"webgl\",kernelFunc:Znt};var rv=class{constructor(t,e,n){this.variableNames=[\"probs\"],this.customUniforms=[{name:\"seed\",type:\"float\"}],this.outputShape=[t,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${e-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${e-1}));\n }\n `}};var Jnt=`\nif (a == b) {\n return 1.0;\n};\nreturn a / b;`,Qnt=`\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n`,Fk=ce({opSnippet:Jnt,packedOpSnippet:Qnt,checkOutOfBounds:!0}),M3={kernelName:ss,backendName:\"webgl\",kernelFunc:Fk};var z3=\"return a - b;\",Ok=ce({opSnippet:z3,packedOpSnippet:z3,supportsComplex:!0,cpuKernelImpl:eM}),B3={kernelName:Bs,backendName:\"webgl\",kernelFunc:Ok};function Pk(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{dim:s}=n,i=y.parseAxisParam([s],o.shape),a=Rk({inputs:{x:o},backend:e,attrs:{reductionIndices:i,keepDims:!1}}),u=S.expandShapeToKeepDim(a.shape,i),l=lt({inputs:{x:a},backend:e,attrs:{shape:u}}),c=Ok({inputs:{a:o,b:l},backend:e}),p=Ak({inputs:{x:c},backend:e}),m=Zc({inputs:{x:p},backend:e,attrs:{axis:i,keepDims:!1}}),f=lt({inputs:{x:m},backend:e,attrs:{shape:u}}),d=Fk({inputs:{a:p,b:f},backend:e});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(l),e.disposeIntermediateTensorInfo(c),e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),d}var V3={kernelName:Ms,backendName:\"webgl\",kernelFunc:Pk};function tot(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n,u=a?o:Pk({inputs:{logits:o},backend:e,attrs:{dim:o.shape.length-1}}),l=u.shape[0],c=u.shape[1],p=new rv(l,c,s),m=[[i]],f=e.runWebGLProgram(p,[u],\"int32\",m);return a||e.disposeIntermediateTensorInfo(u),f}var G3={kernelName:Up,backendName:\"webgl\",kernelFunc:tot};var eot=fr+`\n return -x;\n`,rot=`\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`;function not(r){let{inputs:t,backend:e}=r,{x:n}=t;if(e.shouldExecuteOnCPU([n])){let s=e.texData.get(n.dataId),[i,a]=zL(s.values,n.shape,n.dtype);return e.makeTensorInfo(a,n.dtype,i)}let o;return B().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?o=new ro(n.shape,rot):o=new Zr(n.shape,eot),e.runWebGLProgram(o,[n],n.dtype)}var W3={kernelName:gi,backendName:\"webgl\",kernelFunc:not};var oot=Vr.nonMaxSuppressionV3Impl;function sot(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u}=n,l=e.readSync(o.dataId),c=e.readSync(s.dataId),{selectedIndices:p}=oot(l,c,i,a,u);return e.makeTensorInfo([p.length],\"int32\",new Int32Array(p))}var U3={kernelName:Ra,backendName:\"webgl\",kernelFunc:sot};var iot=Vr.nonMaxSuppressionV4Impl;function aot(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u,padToMaxOutputSize:l}=n,c=e.readSync(o.dataId),p=e.readSync(s.dataId),{selectedIndices:m,validOutputs:f}=iot(c,p,i,a,u,l);return[e.makeTensorInfo([m.length],\"int32\",new Int32Array(m)),e.makeTensorInfo([],\"int32\",new Int32Array([f]))]}var H3={kernelName:Fa,backendName:\"webgl\",kernelFunc:aot};var lot=Vr.nonMaxSuppressionV5Impl;function uot(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u,softNmsSigma:l}=n,c=e.readSync(o.dataId),p=e.readSync(s.dataId),m=i,f=a,d=u,h=l,{selectedIndices:g,selectedScores:x}=lot(c,p,m,f,d,h);return[e.makeTensorInfo([g.length],\"int32\",new Int32Array(g)),e.makeTensorInfo([x.length],\"float32\",new Float32Array(x))]}var q3={kernelName:Oa,backendName:\"webgl\",kernelFunc:uot};var nv=class{constructor(t,e,n,o){this.variableNames=[\"indices\"],this.outputShape=[t,e],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${o}), float(${n}),\n float(index == coords.y)));\n }\n `}};var cot=r=>{let{inputs:t,backend:e,attrs:n}=r,{indices:o}=t,{dtype:s,depth:i,onValue:a,offValue:u}=n,l=y.sizeFromShape(o.shape),c=new nv(l,i,a,u),p=lt({inputs:{x:o},backend:e,attrs:{shape:[l]}}),m=e.runWebGLProgram(c,[p],s);e.disposeIntermediateTensorInfo(p);let f=[...o.shape,i],d=lt({inputs:{x:m},backend:e,attrs:{shape:f}});return e.disposeIntermediateTensorInfo(m),d},K3={kernelName:vs,backendName:\"webgl\",kernelFunc:cot};function dg(r){let{inputs:t,backend:e}=r,{x:n}=t;if(n.dtype===\"complex64\"){let o=bl({inputs:{input:n},backend:e}),s=dg({inputs:{x:o},backend:e}),i=Qc({inputs:{input:n},backend:e}),a=dg({inputs:{x:i},backend:e}),u=An({inputs:{real:s,imag:a},backend:e});return e.disposeIntermediateTensorInfo(o),e.disposeIntermediateTensorInfo(s),e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(a),u}else return wl({attrs:{shape:n.shape,dtype:n.dtype,value:n.dtype===\"string\"?\"\":0},backend:e})}var j3={kernelName:Ti,backendName:\"webgl\",kernelFunc:dg};function X3(r){let{inputs:t,backend:e}=r,{x:n}=t;if(n.dtype===\"string\")throw new Error(\"onesLike is not supported under string dtype\");if(n.dtype===\"complex64\"){let o=bl({inputs:{input:n},backend:e}),s=X3({inputs:{x:o},backend:e}),i=Qc({inputs:{input:n},backend:e}),a=dg({inputs:{x:i},backend:e}),u=An({inputs:{real:s,imag:a},backend:e});return e.disposeIntermediateTensorInfo(o),e.disposeIntermediateTensorInfo(s),e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(a),u}else return wl({attrs:{shape:n.shape,dtype:n.dtype,value:1},backend:e})}var Y3={kernelName:xi,backendName:\"webgl\",kernelFunc:X3};function pot(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n;if(t.length===1)return VC({inputs:{input:t[0]},backend:e,attrs:{dim:o}});let s=t[0].shape,i=t[0].dtype;t.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=VC({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=Ek({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeIntermediateTensorInfo(c)),l}var Z3={kernelName:yi,backendName:\"webgl\",kernelFunc:pot};var ov=class{constructor(t,e,n){this.variableNames=[\"x\"],this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=e.map((l,c)=>l[0]+t[c]+l[1]);let o=t.length,s=Wt(o),i=e.map(l=>l[0]).join(\",\"),a=e.map((l,c)=>l[0]+t[c]).join(\",\"),u=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,o);if(o===1){this.userCode=`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${u}));\n }\n }\n `}};var sv=class{constructor(t,e,n){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=e.map((h,g)=>h[0]+t[g]+h[1]);let o=t.length,s=Wt(o),i=e.map(h=>h[0]).join(\",\"),a=e.map((h,g)=>h[0]+t[g]).join(\",\"),u=tr(\"rc\",o),l=tr(\"source\",o),c=`${u[o-1]} < ${this.outputShape[o-1]}`,p=o===1?\"source\":`vec2(${l.slice(-2).join()})`,m=[`${s} rc = outputLoc;`,`${u[o-1]} += 1;\n if(${c}) {\n `,o===1?\"\":`}\n rc = outputLoc;\n ${u[o-2]} += 1;\n if(${u[o-2]} < ${this.outputShape[o-2]}) {`,o===1?\"\":` ${u[o-1]} += 1;\n 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:t,backend:e,attrs:n}=r,{x:o}=t,{paddings:s,constantValue:i}=n;if(y.sizeFromShape(o.shape)===0){let l=s.map((c,p)=>c[0]+o.shape[p]+c[1]);return wl({backend:e,attrs:{shape:l,value:i,dtype:o.dtype}})}let a=B().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new sv(o.shape,s,i):new ov(o.shape,s,i),u=[[i]];return e.runWebGLProgram(a,[o],o.dtype,u)},J3={kernelName:Is,backendName:\"webgl\",kernelFunc:Lk};var mot=`\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n`,fot=`\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n vec4 isNaN = vec4(lessThan(a, vec4(0.0))) * vec4(lessThan(floor(b), b));\n `+Au+`\n return result;\n`,dot=ce({opSnippet:mot,packedOpSnippet:fot}),Q3={kernelName:Ss,backendName:\"webgl\",kernelFunc:dot};function hot(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=[],l=y.parseAxisParam(s,o.shape),c=l,p=S.getAxesPermutation(c,a),m=o;p!=null&&(m=Le({inputs:{x:o},backend:e,attrs:{perm:p}}),c=S.getInnerMostAxes(c.length,a),u.push(m)),S.assertAxesAreInnerMostDims(\"prod\",c,a);let f;if(e.shouldExecuteOnCPU([m])){let d=e.texData.get(m.dataId).values,{outVals:h,outShape:g,outDtype:x}=VL(m.shape,m.dtype,d,c);f=e.makeTensorInfo(g,x,h)}else{let[d,h]=S.computeOutAndReduceShapes(m.shape,c),g=y.sizeFromShape(h),x=lt({inputs:{x:m},backend:e,attrs:{shape:[-1,g]}}),b=Xu(o.dtype),w=Un(x,b,\"prod\",e);f=lt({inputs:{x:w},backend:e,attrs:{shape:d}}),u.push(x),u.push(w)}if(i){u.push(f);let d=S.expandShapeToKeepDim(f.shape,l);f=lt({inputs:{x:f},backend:e,attrs:{shape:d}})}return u.forEach(d=>e.disposeIntermediateTensorInfo(d)),f}var tB={kernelName:Ns,backendName:\"webgl\",kernelFunc:hot};function got(r){let{inputs:t,backend:e,attrs:n}=r,{shape:o,values:s,defaultValue:i,rowPartitionTensors:a}=t,{rowPartitionTypes:u}=n,l=e.readSync(o.dataId),c=e.readSync(s.dataId),p=e.readSync(i.dataId),m=a.map(g=>e.readSync(g.dataId)),f=a.map(g=>g.shape),[d,h]=GL(l,o.shape,c,s.shape,s.dtype,p,i.shape,m,f,u);return e.makeTensorInfo(d,s.dtype,h)}var eB={kernelName:Hp,backendName:\"webgl\",kernelFunc:got};var Mk=r=>{let{backend:t,attrs:e}=r,{start:n,stop:o,step:s,dtype:i}=e,a=WL(n,o,s,i);return t.makeTensorInfo([a.length],i,a)},rB={kernelName:Fl,backendName:\"webgl\",kernelFunc:Mk};var xot=\"return 1.0 / x;\",yot=It({opSnippet:xot}),nB={kernelName:Pa,backendName:\"webgl\",kernelFunc:yot};var bot=fr+`\n return (x < 0.0) ? 0.0 : x;\n`,wot=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Cot=It({opSnippet:bot,packedOpSnippet:wot}),oB={kernelName:ks,backendName:\"webgl\",kernelFunc:Cot};var vot=fr+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,Iot=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Sot=It({opSnippet:vot,packedOpSnippet:Iot}),sB={kernelName:As,backendName:\"webgl\",kernelFunc:Sot};var iv=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m;s?m=\"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)\":m=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/p[0]},\n ${c[1]/p[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${u}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}};var av=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m;s?m=\"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)\":m=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/p[0]},\n ${c[1]/p[1]},\n ${c[1]/p[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${u}.0,\n ${u}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}};function Tot(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,c=B().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new av(o.shape,u,l,s,i):new iv(o.shape,u,l,s,i);return e.runWebGLProgram(c,[o],\"float32\")}var iB={kernelName:Es,backendName:\"webgl\",kernelFunc:Tot};var lv=class{constructor(t,e,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=e;let[,o,s]=e,[,i,a]=t,u=[n&&i>1?o-1:o,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],c=u[0]/l[0],p=u[1]/l[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${p});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${f});\n\n const int winHeight = int(${d});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${o-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function Not(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=new lv(s.shape,o.shape,i);return e.runWebGLProgram(a,[s],s.dtype)}var aB={kernelName:jp,backendName:\"webgl\",kernelFunc:Not};var uv=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,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=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/p[0]},\n ${c[1]/p[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${u}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${f};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}};var cv=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m=o?\"0.5\":\"0.0\",f;s?f=\"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))\":f=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/p[0]},\n ${c[1]/p[1]},\n ${c[1]/p[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${u}.0,\n ${u}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${f};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}};function kot(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,c=B().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new cv(o.shape,u,l,s,i):new uv(o.shape,u,l,s,i);return e.runWebGLProgram(c,[o],o.dtype)}var lB={kernelName:_s,backendName:\"webgl\",kernelFunc:kot};var pv=class{constructor(t,e,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=e;let[,o,s]=e,[,i,a]=t,u=[n&&i>1?o-1:o,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],c=u[0]/l[0],p=u[1]/l[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${p});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${f});\n\n const int winHeight = int(${d});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float sourceFracRow =\n float(${u[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${u[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${o}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function _ot(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=new pv(s.shape,o.shape,i);return e.runWebGLProgram(a,[s],s.dtype)}var uB={kernelName:Kp,backendName:\"webgl\",kernelFunc:_ot};var mv=class{constructor(t,e){this.variableNames=[\"x\"];let n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=t,n===1){this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${t[0]} - coord - 1));\n }\n `;return}let o=a=>e.indexOf(a)!==-1&&t[a]!==1?`${t[a]} - coords[${a}] - 1`:`coords[${a}]`,s=t.map((a,u)=>o(u)).join(\",\"),i=Wt(n);this.userCode=`\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${s}));\n }\n `}};var fv=class{constructor(t,e){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0;let n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=t;let o=tr(\"rc\",n),s=`${o[n-1]} + 1 < ${this.outputShape[n-1]}`,i=`${o[n-2]} + 1 < ${this.outputShape[n-2]}`,a=Wt(n);n===1?this.userCode=`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${t[0]} - rc - 1),\n ${t[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${t[0]} - (rc + 1) - 1),\n ${t[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:this.userCode=`\n void main() {\n ${a} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${u(o.slice())};\n if(${s}){\n result.g = ${l(o.slice())};\n }\n if(${i}) {\n result.b = ${c(o.slice())};\n if(${s}) {\n result.a = ${p(o.slice())};\n }\n }\n setOutput(result);\n }\n `;function u(d){return m(d)}function l(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=t.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 e.indexOf(d)!==-1&&t[d]!==1?`${t[d]} - ${h[d]} - 1`:`${h[d]}`}}};function Eot(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n,i=o.shape.length,a=y.parseAxisParam(s,o.shape);if(i===0)return er({inputs:{x:o},backend:e});let u=B().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new fv(o.shape,a):new mv(o.shape,a);return e.runWebGLProgram(u,[o],o.dtype)}var cB={kernelName:$s,backendName:\"webgl\",kernelFunc:Eot};var dv=class{constructor(t,e){this.variableNames=[\"Image\"],this.outputShape=[],this.customUniforms=[{name:\"params\",type:\"vec4\"}];let n=t[1],o=t[2];this.outputShape=t;let s=\"\";typeof e==\"number\"?s=`float outputValue = ${e.toFixed(2)};`:s=`\n vec3 fill = vec3(${e.join(\",\")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${o} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var pB={kernelName:qa,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{image:n}=r,{radians:o,fillValue:s,center:i}=t,a=e,u=new dv(n.shape,s),[l,c]=S.getImageCenter(i,n.shape[1],n.shape[2]),p=[[l,c,Math.sin(o),Math.cos(o)]];return a.runWebGLProgram(u,[n],n.dtype,p)}};var Aot=`\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n`,$ot=It({opSnippet:Aot}),mB={kernelName:Ds,backendName:\"webgl\",kernelFunc:$ot};var Dot=\"return inversesqrt(x);\",Rot=It({opSnippet:Dot,cpuKernelImpl:UL}),fB={kernelName:Rs,backendName:\"webgl\",kernelFunc:Rot};var zd=class{constructor(t,e,n,o,s,i,a=!0){this.variableNames=[\"updates\",\"indices\",\"defaultValue\"],this.outputShape=i;let u=Wt(s.length),l=Wt(i.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=e>1?\"strides[j]\":\"strides\";this.userCode=`\n ${u} strides = ${u}(${s});\n\n void main() {\n ${l} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${t}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${e}; j++) {\n int index = round(${p});\n flattenedIndex += index * ${d};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${f};\n found = true;\n }\n }\n setOutput(mix(getDefaultValue(), sum, float(found)));\n }\n `}};function Fot(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o,updates:s}=t,{shape:i}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(s,o,i),m=[p/l,l];if(p===0)return e.makeTensorInfo(i,o.dtype);let f=lt({inputs:{x:o},backend:e,attrs:{shape:[u,a]}}),d=lt({inputs:{x:s},backend:e,attrs:{shape:[u,l]}}),h=e.makeTensorInfo([],\"float32\",new Float32Array([0])),g=new zd(u,a,f.shape.length,d.shape.length,c,m),x=e.runWebGLProgram(g,[d,f,h],d.dtype),b=lt({inputs:{x},backend:e,attrs:{shape:i}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(x),e.disposeIntermediateTensorInfo(h),b}var dB={kernelName:La,backendName:\"webgl\",kernelFunc:Fot};var hv=class{constructor(t,e,n,o){this.variableNames=[\"sortedSequence\",\"values\"],this.customUniforms=[{name:\"numInputs\",type:\"int\"}],this.outputShape=[t,n];let s=\"while (left < right) {\",i=`for (int i = 0; i < ${Math.ceil(Math.log2(e+1))}; ++i) { if (left >= right) break;`,a=B().getNumber(\"WEBGL_VERSION\")===2?s:i,u=o===\"left\"?\"<\":\"<=\";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${a}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${u} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}};function Oot(r){let{inputs:t,backend:e,attrs:n}=r,{sortedSequence:o,values:s}=t,{side:i}=n,a=new hv(o.shape[0],o.shape[1],s.shape[1],i),u=[[o.shape[1]]];return e.runWebGLProgram(a,[o,s],\"int32\",u)}var hB={kernelName:Xp,backendName:\"webgl\",kernelFunc:Oot};var gv=class{constructor(t,e,n){this.variableNames=[\"c\",\"a\",\"b\"],this.outputShape=e;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 a=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],u=[],l=[];for(let c=0;c= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}};function Pot(r){let{inputs:t,backend:e}=r,{condition:n,t:o,e:s}=t,i=new gv(n.shape.length,o.shape,o.shape.length);return e.runWebGLProgram(i,[n,o,s],ir(o.dtype,s.dtype))}var gB={kernelName:wi,backendName:\"webgl\",kernelFunc:Pot};var Lot=`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${S.SELU_SCALEALPHA};\n float scale = ${S.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`,Mot=It({opSnippet:Lot}),xB={kernelName:Ma,backendName:\"webgl\",kernelFunc:Mot};var zot=Oo+`\n return 1.0 / (1.0 + exp(-1.0 * x));\n`,Bot=`\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Vot=It({opSnippet:zot,packedOpSnippet:Bot,cpuKernelImpl:qL}),yB={kernelName:Os,backendName:\"webgl\",kernelFunc:Vot};var Got=`\n if (isnan(x)) { return 0.0; }\n return sign(x);\n`,Wot=It({opSnippet:Got}),bB={kernelName:Ba,backendName:\"webgl\",kernelFunc:Wot};var Uot=Oo+`\n return sin(x);\n`,Hot=It({opSnippet:Uot}),wB={kernelName:Fs,backendName:\"webgl\",kernelFunc:Hot};var qot=`\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n`,Kot=It({opSnippet:qot}),CB={kernelName:za,backendName:\"webgl\",kernelFunc:Kot};var jot=`\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n`,Xot=It({opSnippet:jot}),vB={kernelName:Va,backendName:\"webgl\",kernelFunc:Xot};var Yot=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,paddings:i}=n;y.assert(o.shape.length<=4,()=>\"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet\");let a=s.reduce((x,b)=>x*b),u=[[0,0]];u.push(...i);for(let x=1+s.length;xe.disposeIntermediateTensorInfo(x)),g},IB={kernelName:vi,backendName:\"webgl\",kernelFunc:Yot};function Zot(r){let{inputs:t,backend:e}=r,{indices:n,values:o,denseShape:s,defaultValue:i}=t;if(s.shape.length!==1)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(n.shape.length!==2)throw new Error(`Indices must be a matrix, saw:\n ${n.shape}`);if(o.shape.length!==1)throw new Error(`Values must be a vector, saw:\n ${o.shape}`);if(i.shape.length!==0)throw new Error(`Default value must be a scalar, saw:\n ${i.shape}`);let a=e.readSync(n.dataId),u=e.readSync(o.dataId),l=e.readSync(s.dataId),c=e.readSync(i.dataId)[0],[p,m,f,d,h]=jL(a,n.shape,n.dtype,u,o.dtype,l,c);return[e.makeTensorInfo(m,n.dtype,p),e.makeTensorInfo([m[0]],o.dtype,f),e.makeTensorInfo([d.length],\"bool\",new Uint8Array(d.map(g=>Number(g)))),e.makeTensorInfo([h.length],n.dtype,new Int32Array(h))]}var SB={kernelName:Ol,backendName:\"webgl\",kernelFunc:Zot};function Jot(r){let{inputs:t,backend:e}=r,{inputIndices:n,inputShape:o,newShape:s}=t;if(n.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape ${n.shape}`);if(o.shape.length!==1)throw new Error(`Input shape should be a vector but received shape ${o.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(e.readSync(o.dataId)),a=e.readSync(n.dataId),u=Array.from(e.readSync(s.dataId)),[l,c,p]=XL(a,n.shape,n.dtype,i,u);return[e.makeTensorInfo(c,n.dtype,l),e.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var TB={kernelName:Ga,backendName:\"webgl\",kernelFunc:Jot};function Qot(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=Jw(i,n.shape,n.dtype,a,u,!0);return e.makeTensorInfo(c,n.dtype,l)}var NB={kernelName:Pl,backendName:\"webgl\",kernelFunc:Qot};function tst(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=Jw(i,n.shape,n.dtype,a,u);return e.makeTensorInfo(c,n.dtype,l)}var kB={kernelName:Ll,backendName:\"webgl\",kernelFunc:tst};function est(r){let{inputs:t,backend:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=t,{outputShape:a}=n,{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=S.calculateShapes(s,o,a),f=!1;if(s.dtype===\"string\"){let x=e.bufferSync(o),b=e.bufferSync(s),w=y.decodeString(e.readSync(i.dataId)[0]),C=HL(x,b,a,m,c,l,u,p,w,f);return e.makeTensorInfo(a,C.dtype,C.values)}let d=new zd(l,u,o.shape.length,s.shape.length,p,[m,1],f),h=e.runWebGLProgram(d,[s,o,i],s.dtype),g=lt({inputs:{x:h},backend:e,attrs:{shape:a}});return e.disposeIntermediateTensorInfo(h),g}var _B={kernelName:Yp,backendName:\"webgl\",kernelFunc:est};function rst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=n,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=o.shape.length,c=new Array(l).fill(0),p=o.shape.slice();return u.map(m=>{let f=[...p];f[a]=m;let d=ai({inputs:{x:o},backend:e,attrs:{begin:c,size:f}});return c[a]+=m,d})}var EB={kernelName:Ii,backendName:\"webgl\",kernelFunc:rst};var AB=\"return sqrt(x);\",nst=It({opSnippet:AB,packedOpSnippet:AB,cpuKernelImpl:YL}),$B={kernelName:Ps,backendName:\"webgl\",kernelFunc:nst};var ost=\"return x * x;\",sst=It({opSnippet:ost}),DB={kernelName:Ml,backendName:\"webgl\",kernelFunc:sst};var RB=\"return (a - b) * (a - b);\",ist=ce({opSnippet:RB,packedOpSnippet:RB}),FB={kernelName:zs,backendName:\"webgl\",kernelFunc:ist};function ast({inputs:r,attrs:t,backend:e}){let{x:n}=r,o=fr+`\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,s=new Zr(n.shape,o);return e.runWebGLProgram(s,[n],n.dtype)}var OB={kernelName:co,backendName:\"webgl\",kernelFunc:ast};var xv=class{constructor(t,e,n){this.variableNames=[\"x\"],this.outputShape=n;let o=n.length,s=Wt(n.length),i=Wt(n.length),a=\"\";if(o===1)a=\"coords * strides + begin\";else{let u=0;a=n.map((l,c)=>(u++,n.length===1?`coords * strides[${c}] + begin[${c}]`:`coords[${u-1}] * strides[${c}] + begin[${c}]`)).join(\",\")}this.userCode=`\n ${s} begin = ${s}(${t});\n ${s} strides = ${s}(${e});\n\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${a}));\n }\n `}};function lst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:C}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),T;if(h)T=lt({inputs:{x:o},backend:e,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let $=Be.computeOutShape(b,w,C),D=ai({inputs:{x:o},backend:e,attrs:{begin:b,size:$}});T=lt({inputs:{x:D},backend:e,attrs:{shape:d}}),e.disposeIntermediateTensorInfo(D)}else if(e.shouldExecuteOnCPU([o])){let D=e.readSync(o.dataId),P=vt(o.shape,o.dtype,D),M=ZL(f,P,C,b);T=e.makeTensorInfo(d,o.dtype,M.values)}else{let D=new xv(b,C,f);T=e.runWebGLProgram(D,[o],o.dtype)}let E=lt({inputs:{x:T},backend:e,attrs:{shape:d}});return e.disposeIntermediateTensorInfo(T),E}var PB={kernelName:Wa,backendName:\"webgl\",kernelFunc:lst};function ust(r){let{inputs:t,backend:e,attrs:n}=r,{separator:o,nGramWidths:s,leftPad:i,rightPad:a,padWidth:u,preserveShortSequences:l}=n,{data:c,dataSplits:p}=t,m=e.readSync(c.dataId),f=e.readSync(p.dataId),[d,h]=JL(m,f,o,s,i,a,u,l);return[e.makeTensorInfo([d.length],\"string\",d),e.makeTensorInfo(p.shape,\"int32\",h)]}var LB={kernelName:zl,backendName:\"webgl\",kernelFunc:ust};function cst(r){let{inputs:t,backend:e,attrs:n}=r,{skipEmpty:o}=n,{input:s,delimiter:i}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);let a=e.readSync(s.dataId),u=e.readSync(i.dataId)[0],[l,c,p]=QL(a,u,o),m=c.length;return[e.makeTensorInfo([m,2],\"int32\",l),e.makeTensorInfo([m],\"string\",c),e.makeTensorInfo([2],\"int32\",new Int32Array(p))]}var MB={kernelName:Bl,backendName:\"webgl\",kernelFunc:cst};function pst(r){let{inputs:t,backend:e,attrs:n}=r,{numBuckets:o}=n,{input:s}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(o<=0)throw new Error(\"Number of buckets must be at least 1\");let i=e.readSync(s.dataId),a=tM(i,o);return e.makeTensorInfo(s.shape,\"int32\",a)}var zB={kernelName:Vl,backendName:\"webgl\",kernelFunc:pst};var mst=\"return tan(x);\",fst=It({opSnippet:mst}),BB={kernelName:Vs,backendName:\"webgl\",kernelFunc:fst};var dst=`\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n`,hst=It({opSnippet:dst}),VB={kernelName:Gs,backendName:\"webgl\",kernelFunc:hst};var yv=class{constructor(t,e){this.variableNames=[\"A\"];let n=new Array(t.length);for(let i=0;i5)throw Error(`Tile for rank ${t} is not yet supported`);if(t===1)return`imod(resRC, ${r[0]})`;let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\"],n=[];for(let o=0;o5){let u=e.readSync(o.dataId),l=o.dtype===\"string\"?u.map(m=>y.decodeString(m)):u,c=vt(o.shape,o.dtype,l),p=rM(c,s);return e.makeTensorInfo(p.shape,p.dtype,p.values)}let i=new yv(o.shape,s);return e.runWebGLProgram(i,[o],o.dtype)}var GB={kernelName:Xn,backendName:\"webgl\",kernelFunc:zk};var bv=class{constructor(t){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"negativeInf\",type:\"float\"},{name:\"dir\",type:\"int\"},{name:\"inc\",type:\"int\"}],this.outputShape=t,this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n `}},wv=class{constructor(t){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"k\",type:\"int\"}],this.outputShape=t,this.userCode=`\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n `}};function ep(r,t){t!==null&&r.disposeIntermediateTensorInfo(t)}function WB(r){let t=1;for(;tu){let M=e.readSync(o.dataId),[W,H]=nM(M,l,o.dtype,s,i);return[e.makeTensorInfo(W.shape,W.dtype,W.values),e.makeTensorInfo(H.shape,H.dtype,H.values)]}if(s===0)return l[l.length-1]=0,[e.makeTensorInfo(l,o.dtype,[]),e.makeTensorInfo(l,\"int32\",[])];if(c===1)return[o,wl({attrs:{shape:l,dtype:\"int32\",value:0},backend:e})];let p=e.texData.get(o.dataId),m=p!==null&&p.isPacked,f=m?e.unpackTensor(o):o,h=y.sizeFromShape(l)/c,g=lt({inputs:{x:f},attrs:{shape:[h,c]},backend:e});m&&ep(e,f);let x=WB(s),b=WB(c),w=null,C=()=>w===null?[g,g]:[g,w],T=(M,W,H)=>{let q=C(),X=new bv(H),Z=[[c],[w===null?1:0],[Number.NEGATIVE_INFINITY],[M],[W]],et=w;w=e.runWebGLProgram(X,q,\"int32\",Z),ep(e,et)};for(let M=1;M=1;H/=2)T(W,H,[h,b])}for(let M=b;M>x;M/=2){let W=C(),H=new wv([h,M/2]),X=[[c],[w===null?1:0],[x]],j=w;w=e.runWebGLProgram(H,W,\"int32\",X),ep(e,j);let Z=x/2,et=Z*2;for(let K=Z;K>=1;K/=2)T(et,K,w.shape)}let E=w;w=ai({inputs:{x:w},backend:e,attrs:{begin:0,size:[h,s]}}),ep(e,E);let $=Dk({inputs:{x:g,indices:w},backend:e,attrs:{axis:1,batchDims:1}});ep(e,g);let D=l.slice(0,-1);D.push(s),E=w,w=lt({inputs:{x:w},attrs:{shape:D},backend:e}),ep(e,E);let P=$;return $=lt({inputs:{x:$},attrs:{shape:D},backend:e}),ep(e,P),[$,w]}var UB={kernelName:Ua,backendName:\"webgl\",kernelFunc:xst};var Cv=class{constructor(t,e,n,o,s,i){this.variableNames=[\"Image\",\"Transforms\"],this.outputShape=i;let a=n===\"nearest\"?1:2,u;switch(o){case\"constant\":u=1;break;case\"reflect\":u=2;break;case\"wrap\":u=3;break;case\"nearest\":u=4;break;default:u=1;break}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${u} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${u} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${u} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${t} && 0 <= coordX && coordX < ${e}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${e}));\n float mapY = mapCoord(inY, float(${t}));\n\n if (${a} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}};function yst(r){let{inputs:t,backend:e,attrs:n}=r,{image:o,transforms:s}=t,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=n,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=new Cv(p,m,i,a,u,g);return e.runWebGLProgram(x,[o,s],\"float32\")}var HB={kernelName:Ha,backendName:\"webgl\",kernelFunc:yst};function bst(r){let{inputs:t,attrs:e,backend:n}=r,{axis:o}=e,{x:s}=t;oi(s,\"unique\"),console.warn(\"WARNING: \",\"UI might be locked temporarily as data is being downloaded\");let i=n.readSync(s.dataId),{outputValues:a,outputShape:u,indices:l}=oM(i,o,s.shape,s.dtype);return[n.makeTensorInfo(u,s.dtype,a),n.makeTensorInfo([l.length],\"int32\",l)]}var qB={kernelName:Zp,backendName:\"webgl\",kernelFunc:bst};function wst(r){let{inputs:t,backend:e,attrs:n}=r,{value:o}=t,{axis:s}=n;s<0&&(s+=o.shape.length);let i=o,a=i.shape.length,u=o.shape[s],l=new Array(a-1),c=0;for(let h=0;he.disposeIntermediateTensorInfo(h)),d}var KB={kernelName:Si,backendName:\"webgl\",kernelFunc:wst};var vv=class{constructor(t,e){this.variableNames=[\"x\",\"segmentIds\"];let n=t.windowSize,o=t.batchSize,s=t.inSize,i=t.numSegments,a=i*Math.ceil(s/n);this.outputShape=[o,a];let u=\"0.0\",l=\"sumValue\",c=Math.floor(n/4)*4,p=n%4,m=`\n sumValue += dot(values, segFilter);\n `,f=\"\";s%n>0&&(f=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let d=\"\";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = ${u};\n\n float getValue(int batch, int inIdx) {\n ${f}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${d}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${i})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${i})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${p===1}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${p===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${p===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${m}\n }\n setOutput(${l});\n }\n `}};function Cst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,segmentIds:s}=t,{numSegments:i}=n,a=o.shape.length,u=[],l=0,c=S.getAxesPermutation([l],a),p=o;c!=null&&(p=Le({inputs:{x:o},backend:e,attrs:{perm:c}}),u.push(p),l=S.getInnerMostAxes(1,a)[0]);let m=S.segment_util.computeOutShape(p.shape,l,i),f=y.sizeFromShape([p.shape[l]]),d=lt({inputs:{x:p},backend:e,attrs:{shape:[-1,f]}});u.push(d);let h=Xu(o.dtype),g=(C,T,E,$,D)=>{let P=C.shape[0],M=C.shape[1],W=S.segment_util.segOpComputeOptimalWindowSize(M,D),H={windowSize:W,inSize:M,batchSize:P,numSegments:D},q=new vv(H,T),X=e.compileAndRun(q,[C,E],$);if(u.push(X),X.shape[1]===D)return X;let j=Mk({backend:e,attrs:{start:0,stop:D,step:1,dtype:\"float32\"}}),Z=zk({inputs:{x:j},backend:e,attrs:{reps:[M/W]}});return u.push(j),u.push(Z),g(X,T,Z,$,D)},x=g(d,\"unsortedSegmentSum\",s,h,i),b=lt({inputs:{x},backend:e,attrs:{shape:m}}),w=b;if(c!=null){u.push(b);let C=S.getUndoAxesPermutation(c);w=Le({inputs:{x:w},backend:e,attrs:{perm:C}})}return u.forEach(C=>e.disposeIntermediateTensorInfo(C)),w}var jB={kernelName:Gl,backendName:\"webgl\",kernelFunc:Cst};var vst=[OM,LM,MM,zM,VM,GM,WM,UM,KM,jM,XM,YM,ZM,JM,QM,tz,ez,rz,nz,oz,sz,az,lz,uz,fz,hz,gz,IM,yz,wz,Cz,vz,Iz,Sz,Tz,Nz,kz,_z,Ez,Dz,Rz,Fz,Oz,Pz,Lz,Mz,zz,Bz,Vz,Gz,Wz,Uz,Hz,qz,Kz,Xz,Yz,Zz,Jz,t3,e3,r3,n3,o3,s3,i3,a3,l3,vM,u3,bz,c3,p3,m3,SM,f3,d3,h3,g3,x3,y3,b3,w3,C3,v3,S3,T3,N3,k3,_3,E3,$3,R3,F3,O3,P3,L3,G3,EM,W3,U3,H3,q3,cz,K3,Y3,Z3,J3,Q3,TM,tB,eB,rB,pz,M3,nB,oB,sB,$M,iB,aB,lB,uB,cB,pB,mB,fB,dB,hB,gB,xB,yB,bB,wB,CB,iz,V3,vB,IB,SB,TB,NB,kB,_B,EB,$B,DB,FB,OB,PB,LB,MB,zB,B3,RM,BB,VB,GB,UB,HB,FM,qB,KB,jB,j3];for(let r of vst)Wu(r);var Zt;(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\"})(Zt||(Zt={}));var Ru;(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\",r[r.sigmoid=5]=\"sigmoid\",r[r.elu=6]=\"elu\"})(Ru||(Ru={}));var XB;function Ist(r){XB=r.wasm.cwrap(Ni,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Sst(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s,bias:i,preluActivationWeights:a}=t;if(o.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"_FusedMatMul for non non-float32 tensors not yet supported.\");let{transposeA:u,transposeB:l,activation:c,leakyreluAlpha:p}=n,m=e.dataIdMap.get(o.dataId).id,f=e.dataIdMap.get(s.dataId).id,d=0;if(i!=null){let D=e.dataIdMap.get(i.dataId);if(D.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${D.shape.length}.`);d=D.id}let h=a==null?0:e.dataIdMap.get(a.dataId).id,g=Ru[c];if(g==null)throw new Error(`${c} activation not yet supported for FusedConv2D in the wasm backend.`);let x=u?o.shape[2]:o.shape[1],b=l?s.shape[1]:s.shape[2],w=Lr.assertAndGetBroadcastShape(o.shape.slice(0,-2),s.shape.slice(0,-2)),C=e.makeOutput([...w,x,b],o.dtype),T=e.dataIdMap.get(C.dataId).id,E=new Uint8Array(new Int32Array(o.shape).buffer),$=new Uint8Array(new Int32Array(s.shape).buffer);return XB(m,E,o.shape.length,f,$,s.shape.length,u,l,g,d,h,p||0,T),C}var YB={kernelName:Ni,backendName:\"wasm\",setupFunc:Ist,kernelFunc:Sst};function ae(r,t){let e;function n(s){e=s.wasm.cwrap(r,null,[\"number\",\"number\",\"number\"])}function o(s){let{backend:i,inputs:{x:a}}=s,u=i.dataIdMap.get(a.dataId).id,l=i.makeOutput(a.shape,t||a.dtype),c=i.dataIdMap.get(l.dataId).id;return y.sizeFromShape(l.shape)===0||e(u,Zt[a.dtype],c),l}return{kernelName:r,backendName:\"wasm\",setupFunc:n,kernelFunc:o}}var ZB=ae(pi);function pe(r,t,e){let n;function o(i){n=i.wasm.cwrap(r,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\"])}function s(i){let{backend:a,inputs:u}=i,{a:l,b:c}=u,p=a.dataIdMap.get(l.dataId).id,m=a.dataIdMap.get(c.dataId).id,f=e!=null?e:l.dtype,d=S.assertAndGetBroadcastShape(l.shape,c.shape),h=a.makeOutput(d,f);if(y.sizeFromShape(d)===0)return h;let g=new Uint8Array(new Int32Array(l.shape).buffer),x=new Uint8Array(new Int32Array(c.shape).buffer),b=a.dataIdMap.get(h.dataId).id;return(()=>n(p,g,l.shape.length,m,x,c.shape.length,Zt[l.dtype],b))(),h}return{kernelName:r,backendName:\"wasm\",setupFunc:o,kernelFunc:s}}var Tst=!0,JB=pe(jn,Tst);var QB;function Nst(r){QB=r.wasm.cwrap(jo,null,[\"array\",\"number\",\"number\",\"number\"])}function kst(r){let{inputs:t,backend:e}=r,n=e.makeOutput(t[0].shape,t[0].dtype);if(y.sizeFromShape(n.shape)===0)return n;let o=t.map(a=>e.dataIdMap.get(a.dataId).id),s=new Uint8Array(new Int32Array(o).buffer),i=e.dataIdMap.get(n.dataId).id;return QB(s,o.length,Zt[n.dtype],i),n}var tV={kernelName:jo,backendName:\"wasm\",setupFunc:Nst,kernelFunc:kst};function rp(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype),o=e.typedArrayFromHeap(t);return e.typedArrayFromHeap(n).set(o),n}var eV={kernelName:uo,backendName:\"wasm\",kernelFunc:rp};var rV;function _st(r){rV=r.wasm.cwrap(Yn,null,[\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function oo(r){let{inputs:t,backend:e,attrs:n}=r,[o,s]=Ast(t.x.shape,n.perm),i=!0;for(let d=0;d=o&&(s===-1||n[s]>n[i])&&(s=i);n[s]=o}return[e,n]}var nV={kernelName:Yn,backendName:\"wasm\",kernelFunc:oo,setupFunc:_st};function wn(r,t,e){let n=r.shape,o=r.shape.length,s=y.parseAxisParam(t,n),i=s,a=S.getAxesPermutation(i,o),u=null,l=!1;if(a!=null){let c=new Array(o);for(let f=0;f`new shape: ${i}, old shape: ${n.shape}. New shape and old shape must have the same number of elements.`),r.backend.incRef(n.dataId),{dataId:n.dataId,shape:i,dtype:n.dtype}}var mV={kernelName:bi,backendName:\"wasm\",kernelFunc:lr};var fV;function zst(r){fV=r.wasm.cwrap(Zo,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\"])}function Bst(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;if(o.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"BatchMatMul for non non-float32 tensors not yet supported.\");let u=o.shape.length,l=s.shape.length,c=i?o.shape[u-2]:o.shape[u-1],p=a?s.shape[l-1]:s.shape[l-2],m=i?o.shape[u-1]:o.shape[u-2],f=a?s.shape[l-2]:s.shape[l-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),w=Lr.assertAndGetBroadcastShape(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=${i} and transposeB=${a} must match.`);let C=i?[g,c,m]:[g,m,c],T=a?[x,f,p]:[x,p,f],E=lr({inputs:{x:o},backend:e,attrs:{shape:C}}),$=lr({inputs:{x:s},backend:e,attrs:{shape:T}}),D=e.dataIdMap.get(E.dataId).id,P=e.dataIdMap.get($.dataId).id,M=i?E.shape[2]:E.shape[1],W=a?$.shape[1]:$.shape[2],H=Math.max(g,x),q=e.makeOutput([H,M,W],E.dtype),X=e.dataIdMap.get(q.dataId).id,j=new Uint8Array(new Int32Array(E.shape).buffer),Z=new Uint8Array(new Int32Array($.shape).buffer);return fV(D,j,E.shape.length,P,Z,$.shape.length,i,a,X),e.disposeData(E.dataId),e.disposeData($.dataId),q.shape=w,q}var dV={kernelName:Zo,backendName:\"wasm\",setupFunc:zst,kernelFunc:Bst};function Po(r){let{inputs:{x:t},attrs:{begin:e,size:n},backend:o}=r,[s,i]=Be.parseSliceParams(t,e,n),a=Be.isSliceContinous(t.shape,s,i),u=o.readSync(t.dataId),l=o.makeOutput(i,t.dtype),c=y.computeStrides(t.shape),p=o.dataIdMap.get(l.dataId);if(a){let d=Be.computeFlatOffset(s,c);return t.dtype===\"string\"?p.stringBytes=u.slice(d,d+y.sizeFromShape(i)):o.typedArrayFromHeap(l).set(u.subarray(d,d+y.sizeFromShape(i))),l}if(t.dtype===\"string\"){let d=zc(u,s,i,t.shape,t.dtype);return p.stringBytes=d,l}let m=o.typedArrayFromHeap(l),f=t.shape.length;if(f===2)Vst(u,c[0],m,s,i);else if(f===3)Gst(u,c[0],c[1],m,s,i);else if(f===4)Wst(u,c[0],c[1],c[2],m,s,i);else{let d=zc(u,s,i,t.shape,t.dtype);m.set(d)}return l}function Vst(r,t,e,n,o){let s=0,i=n[0],a=n[1],u=i+o[0];for(let l=i;lx*b),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=lr({inputs:{x:o},backend:e,attrs:{shape:u}}),d=oo({inputs:{x:f},backend:e,attrs:{perm:l}}),h=lr({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Po({inputs:{x:h},backend:e,attrs:{begin:p,size:m}});return e.disposeData(f.dataId),e.disposeData(d.dataId),e.disposeData(f.dataId),g}var gV={kernelName:mi,backendName:\"wasm\",kernelFunc:Ust};function li(r){let{inputs:{x:t},attrs:{dtype:e},backend:n}=r,o=n.makeOutput(t.shape,e),s=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(o).set(s),o}var xV={kernelName:ao,backendName:\"wasm\",kernelFunc:li};var yV=ae(Jo);var bV;function Hst(r){bV=r.wasm.cwrap(lo,null,[\"number\",\"number\",\"number\",\"number\"])}function qst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{clipValueMin:s,clipValueMax:i}=n,a=e.dataIdMap.get(o.dataId).id,u=e.makeOutput(o.shape,o.dtype),l=e.dataIdMap.get(u.dataId).id;return bV(a,s,i,l),u}var wV={kernelName:lo,backendName:\"wasm\",setupFunc:Hst,kernelFunc:qst};function Bk(r){let{inputs:t,backend:e}=r,n=y.parseAxisParam(r.attrs.axis,t[0].shape)[0],o=S.computeOutShape(t.map(f=>f.shape),n),s=t.filter(f=>y.sizeFromShape(f.shape)>0);if(s.length===1)return rp({inputs:{x:s[0]},backend:e});let i=e.makeOutput(o,t[0].dtype);if(y.sizeFromShape(o)===0)return i;let a=s.map(f=>f.shape);if(S.assertParamsConsistent(a,n),s[0].dtype===\"string\"){let f=s.map(w=>{let C=y.sizeFromShape(w.shape.slice(n));return lr({inputs:{x:w},backend:e,attrs:{shape:[-1,C]}})}),d=f.map(w=>({vals:e.readSync(w.dataId),shape:w.shape}));o=S.computeOutShape(f.map(w=>w.shape),1);let h=f[0].shape[0]===1,g=Pc(d,o,t[0].dtype,h),x=S.computeOutShape(s.map(w=>w.shape),n);i.shape=x;let b=e.dataIdMap.get(i.dataId);return b.stringBytes=S.fromStringArrayToUint8(g),f.forEach(w=>e.disposeData(w.dataId)),i}let u=y.sizeFromShape(s[0].shape.slice(0,n)),l=0,c=s.map(f=>{let d=y.sizeFromShape(f.shape.slice(n));return l+=d,d}),p=s.map(f=>e.typedArrayFromHeap(f)),m=e.typedArrayFromHeap(i);for(let f=0;f`cumprod does not support ${o.dtype} tensors in the WASM backend`);let l=S.getAxesPermutation([s],u),c=o;l!==null&&(c=oo({inputs:{x:o},attrs:{perm:l},backend:e}));let p=S.getInnerMostAxes(1,u)[0];S.assertAxesAreInnerMostDims(\"cumprod\",[p],u);let m=e.makeOutput(c.shape,c.dtype),f=c.shape[p],d=e.dataIdMap.get(c.dataId).id,h=e.dataIdMap.get(m.dataId).id;AV(d,i?1:0,a?1:0,f,h,Zt[o.dtype]);let g=m;if(l!==null){let x=S.getUndoAxesPermutation(l);g=oo({inputs:{x:m},attrs:{perm:x},backend:e}),e.disposeData(c.dataId),e.disposeData(m.dataId)}return g}var $V={kernelName:fa,backendName:\"wasm\",setupFunc:Qst,kernelFunc:tit};var DV;function eit(r){DV=r.wasm.cwrap(ns,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function rit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n,u=o.shape.length;y.assert(o.dtype===\"float32\"||o.dtype===\"int32\",()=>`cumsum does not support ${o.dtype} tensors in the WASM backend`);let l=S.getAxesPermutation([s],u),c=o;l!==null&&(c=oo({inputs:{x:o},attrs:{perm:l},backend:e}));let p=S.getInnerMostAxes(1,u)[0];S.assertAxesAreInnerMostDims(\"cumsum\",[p],u);let m=e.makeOutput(c.shape,c.dtype),f=c.shape[p],d=e.dataIdMap.get(c.dataId).id,h=e.dataIdMap.get(m.dataId).id;DV(d,i?1:0,a?1:0,f,h,Zt[o.dtype]);let g=m;if(l!==null){let x=S.getUndoAxesPermutation(l);g=oo({inputs:{x:m},attrs:{perm:x},backend:e}),e.disposeData(c.dataId),e.disposeData(m.dataId)}return g}var RV={kernelName:ns,backendName:\"wasm\",setupFunc:eit,kernelFunc:rit};var FV;function nit(r){FV=r.wasm.cwrap(ha,null,[\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function oit(r){let{backend:t,inputs:e,attrs:n}=r,{x:o}=e,{blockSize:s,dataFormat:i}=n,a=o.shape[0],u=i===\"NHWC\"?o.shape[1]:o.shape[2],l=i===\"NHWC\"?o.shape[2]:o.shape[3],c=i===\"NHWC\"?o.shape[3]:o.shape[1],p=u*s,m=l*s,f=c/(s*s),d=i===\"NHWC\"?[a,p,m,f]:[a,f,p,m],h=t.makeOutput(d,\"float32\"),x=t.dataIdMap.get(o.dataId).id,b=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),w=new Uint8Array(new Int32Array(d).buffer),C=new Uint8Array(new Int32Array(y.computeStrides(d)).buffer),T=t.dataIdMap.get(h.dataId).id;return FV(x,s,i===\"NHWC\"?1:0,b,o.shape.length-1,w,C,d.length,T),h}var OV={kernelName:ha,backendName:\"wasm\",setupFunc:nit,kernelFunc:oit};var PV;function sit(r){PV=r.wasm.cwrap(os,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function iit(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s}=t,i=n.dataIdMap.get(o.dataId).id,a=n.dataIdMap.get(s.dataId).id,{strides:u,dilations:l,pad:c,dimRoundingMode:p}=e,m=l==null?[1,1]:l,f=S.computeConv2DInfo(o.shape,s.shape,u,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,C=f.dilationHeight,T=f.dilationWidth,E=f.strideHeight,$=f.strideWidth,D=f.inChannels,P=f.outChannels,M=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 W=n.makeOutput(f.outShape,\"float32\"),H=n.dataIdMap.get(W.dataId).id;return PV(i,o.shape[0],o.shape[1],o.shape[2],a,d,h,g,x,b,w,M,C,T,E,$,D,P,H),W}var LV={kernelName:os,backendName:\"wasm\",setupFunc:sit,kernelFunc:iit};var MV=ae(is);var ait=!1,zV=pe(xa,ait,\"bool\");var BV=ae(as,\"float32\");function Iv(r){let{inputs:t,attrs:e,backend:n}=r,{input:o}=t,{dim:s}=e,i=o.shape.length,a=o.shape.slice(),u=s;return s<0&&(y.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),a.splice(u,0,1),lr({inputs:{x:o},backend:n,attrs:{shape:a}})}var VV={kernelName:di,backendName:\"wasm\",kernelFunc:Iv};function Gk(r){let{attrs:{shape:t,value:e,dtype:n},backend:o}=r,s=o.makeOutput(t,n);return o.typedArrayFromHeap(s).fill(e),s}var GV={kernelName:$l,backendName:\"wasm\",kernelFunc:Gk};var WV;function lit(r){WV=r.wasm.cwrap(ba,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function uit(r){let{inputs:t,backend:e}=r,{image:n}=t,o=e.makeOutput(n.shape,n.dtype),s=e.dataIdMap.get(n.dataId).id,i=e.dataIdMap.get(o.dataId).id,[a,u,l,c]=n.shape;return WV(s,a,u,l,c,i),o}var UV={kernelName:ba,backendName:\"wasm\",kernelFunc:uit,setupFunc:lit};var HV=ae(ls);var cit=!1,qV=pe(us,cit);var KV;function pit(r){KV=r.wasm.cwrap(cs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function mit(r){let{backend:t,inputs:e,attrs:n}=r,{varianceEpsilon:o}=n,{x:s,mean:i,variance:a,offset:u,scale:l}=e,c=t.dataIdMap.get(s.dataId).id,p=t.dataIdMap.get(i.dataId).id,m=t.dataIdMap.get(a.dataId).id,f=u!=null?t.dataIdMap.get(u.dataId).id:0,d=l!=null?t.dataIdMap.get(l.dataId).id:0,h=t.makeOutput(s.shape,s.dtype);if(y.sizeFromShape(s.shape)===0)return h;let g=t.dataIdMap.get(h.dataId).id;return KV(c,p,m,f,d,o,g),h}var jV={kernelName:cs,backendName:\"wasm\",setupFunc:pit,kernelFunc:mit};var XV;function fit(r){XV=r.wasm.cwrap(ki,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 dit(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=e,h=S.computeConv2DInfo(o.shape,s.shape,u,c,l,m),g=Ru[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,C=0;if(i!=null){let at=n.dataIdMap.get(i.dataId);if(at.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${at.shape.length}.`);if(at.shape[0]!==w)throw new Error(`FusedConv2D bias shape (${at.shape}) does not match the number of output channels (${w})`);C=at.id}let T=h.filterHeight,E=h.filterWidth,$=h.padInfo.top,D=h.padInfo.right,P=h.padInfo.bottom,M=h.padInfo.left,W=h.dilationHeight,H=h.dilationWidth,q=h.strideHeight,X=h.strideWidth,j=h.inChannels,Z=h.padInfo.type===\"SAME\"?1:0,et=h.batchSize,K=h.inHeight,ot=h.inWidth;if(p!==\"NHWC\")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let st=n.makeOutput(h.outShape,\"float32\"),it=n.dataIdMap.get(st.dataId).id,pt=a==null?0:n.dataIdMap.get(a.dataId).id;return XV(x,et,K,ot,b,T,E,C,$,D,P,M,Z,W,H,q,X,j,w,g,pt,d||0,it),st}var YV={kernelName:ki,backendName:\"wasm\",setupFunc:fit,kernelFunc:dit};var ZV;function hit(r){ZV=r.wasm.cwrap(_i,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 git(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=e,h=S.computeConv2DInfo(o.shape,s.shape,u,c,l,m,!0),g=Ru[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,C=0;if(i!=null){let at=n.dataIdMap.get(i.dataId);if(at.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${at.shape.length}.`);if(at.shape[0]!==w)throw new Error(`FusedDepthwiseConv2D bias shape (${at.shape}) does not match the number of output channels (${w})`);C=at.id}let T=h.filterHeight,E=h.filterWidth,$=h.padInfo.top,D=h.padInfo.right,P=h.padInfo.bottom,M=h.padInfo.left,W=h.dilationHeight,H=h.dilationWidth,q=h.strideHeight,X=h.strideWidth,j=h.inChannels,Z=h.padInfo.type===\"SAME\"?1:0,et=h.batchSize,K=h.inHeight,ot=h.inWidth;if(p!==\"NHWC\")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let st=n.makeOutput(h.outShape,\"float32\"),it=n.dataIdMap.get(st.dataId).id,pt=a==null?0:n.dataIdMap.get(a.dataId).id;return ZV(x,et,K,ot,b,T,E,C,$,D,P,M,Z,W,H,q,X,j,w,g,pt,d||0,it),st}var JV={kernelName:_i,backendName:\"wasm\",setupFunc:hit,kernelFunc:git};var QV;function xit(r){QV=r.wasm.cwrap(wa,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function yit(r){let{backend:t,inputs:e}=r,{params:n,indices:o}=e,[s,i,a,u]=yx.prepareAndValidate(n,o),l=t.makeOutput(s,n.dtype);if(i===0)return l;let c=o.shape,p=c[c.length-1],f=t.dataIdMap.get(n.dataId).id,h=t.dataIdMap.get(o.dataId).id,g=new Uint8Array(new Int32Array(u).buffer),x=t.dataIdMap.get(l.dataId).id;return QV(f,Zt[n.dtype],h,i,p,a,g,x),l}var tG={kernelName:wa,backendName:\"wasm\",setupFunc:xit,kernelFunc:yit};var eG;function bit(r){eG=r.wasm.cwrap(\"Gather\",null,[\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function wit(r){let{backend:t,inputs:e,attrs:n}=r,{x:o,indices:s}=e,{axis:i,batchDims:a}=n,u=y.parseAxisParam(i,o.shape)[0],l=t.readSync(s.dataId),c=o.shape[u];for(let P=0;P=0,()=>`GatherV2: the index value ${M} is not in [0, ${c-1}]`)}let p=S.segment_util.collectGatherOpShapeInfo(o,s,u,a),m=lr({inputs:{x:o},attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]},backend:t}),f=y.sizeFromShape(s.shape),d=lr({inputs:{x:s},attrs:{shape:[p.batchSize,f/p.batchSize]},backend:t}),h=[p.batchSize,p.outerSize,f/p.batchSize,p.sliceSize],g=t.makeOutput(h,o.dtype);if(y.sizeFromShape(o.shape)===0)return g;let x=m.shape.length-1,w=t.dataIdMap.get(m.dataId).id,T=t.dataIdMap.get(d.dataId).id,E=t.dataIdMap.get(g.dataId).id,$=new Uint8Array(new Int32Array(y.computeStrides(m.shape)).buffer),D=new Uint8Array(new Int32Array(y.computeStrides(h)).buffer);return eG(w,Zt[o.dtype],$,x,T,p.batchSize,D,E),t.disposeData(m.dataId),t.disposeData(d.dataId),g.shape=p.outputShape,g}var rG={kernelName:hi,backendName:\"wasm\",setupFunc:bit,kernelFunc:wit};var Cit=!1,nG=pe(Ca,Cit,\"bool\");var vit=!1,oG=pe(ps,vit,\"bool\");var sG;function Iit(r){sG=r.wasm.cwrap(ms,null,[\"number\",\"number\",\"number\",\"number\"])}function Sit(r){let{inputs:{x:t},attrs:{alpha:e},backend:n}=r,o=n.dataIdMap.get(t.dataId).id,s=n.makeOutput(t.shape,\"float32\");if(y.sizeFromShape(t.shape)!==0){let i=n.dataIdMap.get(s.dataId).id;sG(o,Zt[t.dtype],e,i)}return s}var iG={kernelName:ms,backendName:\"wasm\",setupFunc:Iit,kernelFunc:Sit};var Tit=!1,aG=pe(Ta,Tit,\"bool\");var Nit=!1,lG=pe(Na,Nit,\"bool\");var uG=ae(fs);var kit=!1,cG=pe(_a,kit,\"bool\");var pG=ae(Ea);var _it=!1,mG=pe(Aa,_it,\"bool\");var Eit=!1,fG=pe(k1,Eit,\"bool\");var dG;function Ait(r){dG=r.wasm.cwrap(ds,null,[\"number\",\"number\",\"number\",\"number\"])}function $it(r){let{backend:t,inputs:e,attrs:n}=r,{reductionIndices:o,keepDims:s}=n,{x:i}=e,u=t.dataIdMap.get(i.dataId).id,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t);if(f){let w=t.dataIdMap.get(c.dataId).id;l=c,u=w}let d=l.shape.length;S.assertAxesAreInnerMostDims(\"max\",p,d);let[h,g]=S.computeOutAndReduceShapes(l.shape,p),x=y.sizeFromShape(g),b=t.makeOutput(h,i.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;dG(u,Zt[i.dtype],x,w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var hG={kernelName:ds,backendName:\"wasm\",setupFunc:Ait,kernelFunc:$it};var Dit=!1,gG=pe(hs,Dit);var xG;function Rit(r){xG=r.wasm.cwrap(gs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Fit(r){let{inputs:t,attrs:e,backend:n}=r,o=t.x,s=n.dataIdMap.get(o.dataId).id;y.assert(o.dtype===\"float32\",()=>`Error in MaxPool: only float32 input is supported. Got ${o.dtype}.`);let{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=e,c=S.computePool2DInfo(o.shape,i,a,1,u,l),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=c.strideWidth,T=c.inChannels,E=c.outChannels;if(c.dataFormat!==\"channelsLast\")throw new Error(`wasm backend does not support dataFormat:'${c.dataFormat}'. Please use 'channelsLast'.`);let $=n.makeOutput(c.outShape,\"float32\"),D=n.dataIdMap.get($.dataId).id;return xG(s,o.shape[0],o.shape[1],o.shape[2],p,m,f,d,h,g,x,b,w,C,T,E,D),$}var yG={kernelName:gs,backendName:\"wasm\",setupFunc:Rit,kernelFunc:Fit};var bG;function Oit(r){bG=r.wasm.cwrap(xs,null,[\"number, number, number\"])}function Pit(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t),d=p;if(f){let C=t.dataIdMap.get(c.dataId).id;C!==a&&(l=c,u=C,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"mean\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=l;l.dtype!==\"float32\"&&(b=li({backend:t,inputs:{x:l},attrs:{dtype:\"float32\"}}),u=t.dataIdMap.get(b.dataId).id);let w=t.makeOutput(h,\"float32\");if(y.sizeFromShape(l.shape)!==0){let C=t.dataIdMap.get(w.dataId).id;bG(u,x,C)}if(f&&t.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(w.shape,m);w.shape=C}return l.dtype!==\"float32\"&&t.disposeData(b.dataId),w}var wG={kernelName:xs,backendName:\"wasm\",setupFunc:Oit,kernelFunc:Pit};var CG;function Lit(r){CG=r.wasm.cwrap(ys,null,[\"number\",\"number\",\"number\",\"number\"])}function Mit(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t);if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w)}let d=l.shape.length;S.assertAxesAreInnerMostDims(\"min\",p,d);let[h,g]=S.computeOutAndReduceShapes(l.shape,p),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;CG(u,Zt[i.dtype],x,w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var vG={kernelName:ys,backendName:\"wasm\",setupFunc:Lit,kernelFunc:Mit};var zit=!1,IG=pe(bs,zit);var Wk;(function(r){r[r.reflect=0]=\"reflect\",r[r.symmetric=1]=\"symmetric\"})(Wk||(Wk={}));var SG;function Bit(r){SG=r.wasm.cwrap(ws,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function Vit(r){let{inputs:{x:t},backend:e,attrs:{paddings:n,mode:o}}=r,s=n.map((d,h)=>d[0]+t.shape[h]+d[1]),i=e.dataIdMap.get(t.dataId).id,a=e.makeOutput(s,t.dtype),u=e.dataIdMap.get(a.dataId).id,l=new Uint8Array(new Int32Array(t.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 SG(i,l,t.shape.length,Zt[t.dtype],m,f,Wk[o],u),a}var TG={kernelName:ws,backendName:\"wasm\",kernelFunc:Vit,setupFunc:Bit};var Git=!0,NG=pe(Cs,Git);var kG=ae(gi);function Bd(r,t){let e=new Int32Array(r.wasm.HEAPU8.buffer,t,4),n=e[0],o=e[1],s=e[2],i=e[3];return r.wasm._free(t),{pSelectedIndices:n,selectedSize:o,pSelectedScores:s,pValidOutputs:i}}var _G;function Wit(r){_G=r.wasm.cwrap(Ra,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\"])}function Uit(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i}=n,{boxes:a,scores:u}=e,l=t.dataIdMap.get(a.dataId).id,c=t.dataIdMap.get(u.dataId).id,p=_G(l,c,s,o,i),{pSelectedIndices:m,selectedSize:f,pSelectedScores:d,pValidOutputs:h}=Bd(t,p);return t.wasm._free(d),t.wasm._free(h),t.makeOutput([f],\"int32\",m)}var EG={kernelName:Ra,backendName:\"wasm\",setupFunc:Wit,kernelFunc:Uit};var AG;function Hit(r){AG=r.wasm.cwrap(Fa,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"bool\"])}function qit(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i,padToMaxOutputSize:a}=n,{boxes:u,scores:l}=e,c=t.dataIdMap.get(u.dataId).id,p=t.dataIdMap.get(l.dataId).id,m=AG(c,p,s,o,i,a),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=Bd(t,m);t.wasm._free(h);let x=t.makeOutput([d],\"int32\",f),b=t.makeOutput([],\"int32\",g);return[x,b]}var $G={kernelName:Fa,backendName:\"wasm\",setupFunc:Hit,kernelFunc:qit};var DG;function Kit(r){DG=r.wasm.cwrap(Oa,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function jit(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i,softNmsSigma:a}=n,{boxes:u,scores:l}=e,c=t.dataIdMap.get(u.dataId).id,p=t.dataIdMap.get(l.dataId).id,m=DG(c,p,s,o,i,a),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=Bd(t,m);t.wasm._free(g);let x=t.makeOutput([d],\"int32\",f),b=t.makeOutput([d],\"float32\",h);return[x,b]}var RG={kernelName:Oa,backendName:\"wasm\",setupFunc:Kit,kernelFunc:jit};var Xit=!1,FG=pe(Da,Xit,\"bool\");var OG;function Yit(r){OG=r.wasm.cwrap(vs,null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function Zit(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o}=t,{dtype:s,depth:i,onValue:a,offValue:u}=n,l=e.makeOutput([...o.shape,i],s),c=e.dataIdMap.get(l.dataId).id,m=e.dataIdMap.get(o.dataId).id;return OG(m,i,a,u,c),l}var PG={kernelName:vs,backendName:\"wasm\",setupFunc:Yit,kernelFunc:Zit};function Jit(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype);return e.typedArrayFromHeap(n).fill(1),n}var LG={kernelName:xi,backendName:\"wasm\",kernelFunc:Jit};function Qit(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n;if(t.length===1)return Iv({inputs:{input:t[0]},backend:e,attrs:{dim:o}});let s=t[0].shape,i=t[0].dtype;t.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=Iv({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=Bk({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeData(c.dataId)),l}var MG={kernelName:yi,backendName:\"wasm\",kernelFunc:Qit};var zG;function tat(r){zG=r.wasm.cwrap(Is,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function eat(r){let{inputs:{x:t},backend:e,attrs:{paddings:n,constantValue:o}}=r,s=n.map((h,g)=>h[0]+t.shape[g]+h[1]);if(y.sizeFromShape(t.shape)===0)return Gk({backend:e,attrs:{shape:s,value:o,dtype:t.dtype}});let i=e.dataIdMap.get(t.dataId).id,a=e.makeOutput(s,t.dtype),l=e.dataIdMap.get(a.dataId).id,c=new Uint8Array(new Int32Array(t.shape).buffer),p=n.map(h=>h[0]),m=n.map(h=>h[1]),f=new Uint8Array(new Int32Array(p).buffer),d=new Uint8Array(new Int32Array(m).buffer);return zG(i,c,t.shape.length,Zt[t.dtype],f,d,o,l),a}var Sv={kernelName:Is,backendName:\"wasm\",kernelFunc:eat,setupFunc:tat};var rat=!1,BG=pe(Ss,rat);var VG;function nat(r){VG=r.wasm.cwrap(Ts,null,[\"number\",\"number\",\"number\"])}function oat(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t,s=e.dataIdMap.get(n.dataId).id,i=e.dataIdMap.get(o.dataId).id,a=s,u=n,l=u;u.dtype!==\"float32\"&&(l=li({backend:e,inputs:{x:n},attrs:{dtype:\"float32\"}}),a=e.dataIdMap.get(l.dataId).id);let c=e.makeOutput(n.shape,\"float32\"),p=e.dataIdMap.get(c.dataId).id;return VG(a,i,p),u.dtype!==\"float32\"&&e.disposeData(l.dataId),c}var GG={kernelName:Ts,backendName:\"wasm\",setupFunc:nat,kernelFunc:oat};var WG;function sat(r){WG=r.wasm.cwrap(Ns,null,[\"number\",\"number\",\"number\",\"number\"])}function iat(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t),d=p;if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"prod\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;WG(u,x,Zt[b.dtype],w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var UG={kernelName:Ns,backendName:\"wasm\",setupFunc:sat,kernelFunc:iat};var aat=r=>{let{backend:t,attrs:e}=r,{start:n,stop:o,step:s,dtype:i}=e,a=Mc(n,o,s,i),u=t.makeOutput([a.length],i);return t.typedArrayFromHeap(u).set(a),u},HG={kernelName:Fl,backendName:\"wasm\",kernelFunc:aat};var lat=!0,qG=pe(ss,lat);var KG=ae(ks);var jG=ae(As);var XG;function uat(r){XG=r.wasm.cwrap(Es,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function cat(r){let{backend:t,inputs:e,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,[c,p,m,f]=o.shape,d=[c,u,l,f],h=t.dataIdMap.get(o.dataId),g;h.dtype!==\"float32\"&&(g=li({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),h=t.dataIdMap.get(g.dataId));let x=h.id,b=t.makeOutput(d,\"float32\");if(y.sizeFromShape(o.shape)===0)return b;let w=t.dataIdMap.get(b.dataId).id;return XG(x,c,p,m,f,u,l,s?1:0,i?1:0,w),g!=null&&t.disposeData(g.dataId),b}var YG={kernelName:Es,backendName:\"wasm\",setupFunc:uat,kernelFunc:cat};var ZG;function pat(r){ZG=r.wasm.cwrap(_s,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function mat(r){let{backend:t,inputs:e,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,[c,p,m,f]=o.shape,d=[c,u,l,f],h=t.makeOutput(d,\"float32\");if(y.sizeFromShape(o.shape)===0)return h;let g=t.dataIdMap.get(o.dataId),x;g.dtype!==\"float32\"&&(x=li({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),g=t.dataIdMap.get(x.dataId));let b=g.id,w=t.dataIdMap.get(h.dataId).id;return ZG(b,c,p,m,f,u,l,s?1:0,i?1:0,w),x!=null&&t.disposeData(x.dataId),h}var JG={kernelName:_s,backendName:\"wasm\",setupFunc:pat,kernelFunc:mat};var QG;function fat(r){QG=r.wasm.cwrap($s,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function dat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n,i=y.parseAxisParam(s,o.shape);if(o.shape.length===0)return rp({inputs:{x:o},backend:e});let a=e.makeOutput(o.shape,o.dtype),u=e.dataIdMap.get(o.dataId).id,l=e.dataIdMap.get(a.dataId).id,c=new Uint8Array(new Int32Array(i).buffer),p=new Uint8Array(new Int32Array(o.shape).buffer);QG(u,c,i.length,p,o.shape.length,l);let m=lr({inputs:{x:a},attrs:{shape:o.shape},backend:e});return e.disposeData(a.dataId),m}var tW={kernelName:$s,backendName:\"wasm\",kernelFunc:dat,setupFunc:fat};var eW;function hat(r){eW=r.wasm.cwrap(qa,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function gat(r){let{inputs:t,backend:e,attrs:n}=r,{image:o}=t,{radians:s,fillValue:i,center:a}=n,u=e.makeOutput(o.shape,o.dtype),l=e.dataIdMap.get(o.dataId).id,c=e.dataIdMap.get(u.dataId).id,[p,m,f,d]=o.shape,[h,g]=S.getImageCenter(a,m,f),x=i===0,b=255,w=typeof i==\"number\"?[i,i,i,x?0:b]:[...i,b],C=new Uint8Array(new Int32Array(w).buffer);return eW(l,p,m,f,d,s,h,g,C,w.length,c),u}var rW={kernelName:qa,backendName:\"wasm\",kernelFunc:gat,setupFunc:hat};var nW=ae(Ds);var oW=ae(Rs);var sW;function xat(r){sW=r.wasm.cwrap(La,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function yat(r){let{backend:t,inputs:e,attrs:n}=r,{indices:o,updates:s}=e,{shape:i}=n,a=t.makeOutput(i,s.dtype);if(y.sizeFromShape(i)===0)return a;let{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=yh.calculateShapes(s,o,i),d=t.dataIdMap.get(o.dataId).id,g=t.dataIdMap.get(s.dataId).id,x=new Uint8Array(new Int32Array(p).buffer),b=t.dataIdMap.get(a.dataId).id;return sW(d,g,Zt[s.dtype],u,l,c,x,m,b),a}var iW={kernelName:La,backendName:\"wasm\",setupFunc:xat,kernelFunc:yat};var aW;function bat(r){aW=r.wasm.cwrap(\"SelectV2\",null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function wat(r){let{inputs:t,backend:e}=r,{condition:n,t:o,e:s}=t,i=e.dataIdMap.get(n.dataId).id,a=e.dataIdMap.get(o.dataId).id,u=e.dataIdMap.get(s.dataId).id,l=e.makeOutput(o.shape,o.dtype),c=e.dataIdMap.get(l.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 aW(i,a,u,f,c),l}var lW={kernelName:wi,backendName:\"wasm\",kernelFunc:wat,setupFunc:bat};var uW;function Cat(r){uW=r.wasm.cwrap(Os,null,[\"number\",\"number\"])}function vat(r){let{backend:t,inputs:{x:e}}=r,n=t.dataIdMap.get(e.dataId).id,o=t.makeOutput(e.shape,e.dtype),s=t.dataIdMap.get(o.dataId).id;return y.sizeFromShape(o.shape)===0||uW(n,s),o}var cW={kernelName:\"Sigmoid\",backendName:\"wasm\",setupFunc:Cat,kernelFunc:vat};var pW=ae(Fs);var mW;function Iat(r){mW=r.wasm.cwrap(Ms,null,[\"number\",\"number\",\"number\",\"number\"])}function Sat(r){let{backend:t,inputs:{logits:e},attrs:{dim:n}}=r,o=t.dataIdMap.get(e.dataId).id,s=t.makeOutput(e.shape,e.dtype),i=t.dataIdMap.get(s.dataId).id,a=e.shape[n],u=y.sizeFromShape(e.shape)/a;return y.sizeFromShape(s.shape)===0||mW(o,i,a,u),s}var fW={kernelName:Ms,backendName:\"wasm\",setupFunc:Iat,kernelFunc:Sat};function Tat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,paddings:i}=n,a=y.sizeFromShape(s),u=[[0,0]];u.push(...i);for(let E=1+s.length;E0?u+1:0;if(c<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=o.shape.slice();p[0]=c;let m=e.dataIdMap.get(o.dataId).id,f=e.dataIdMap.get(s.dataId).id,d=e.dataIdMap.get(i.dataId).id,h=e.makeOutput(p,o.dtype),g=e.dataIdMap.get(h.dataId).id,x=e.makeOutput([4],\"int32\"),b=e.dataIdMap.get(x.dataId).id;bW(m,Zt[o.dtype],o.shape[0],f,d,g,b,t,0);let w=e.readSync(x.dataId),C;switch(w[0]){case 0:{C=S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{C=S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:C=S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(w[1],w[2]);break;case 3:C=S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(w[1],w[2],w[3]);break;default:C=\"\"}if(e.disposeData(x.dataId),C)throw e.disposeData(h.dataId),new Error(C);return h}function Aat(r){return Nv(r,!0)}var wW={kernelName:Pl,backendName:\"wasm\",setupFunc:Tv,kernelFunc:Aat};function $at(r){return Nv(r,!1)}var CW={kernelName:Ll,backendName:\"wasm\",setupFunc:Tv,kernelFunc:$at};function Dat(r){let{inputs:t,attrs:e,backend:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=e,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=new Array(o.shape.length).fill(0),c=o.shape.slice();return u.map(p=>{let m=[...c];m[a]=p;let f=Po({inputs:{x:o},attrs:{begin:l,size:m},backend:n});return l[a]+=p,f})}var vW={kernelName:Ii,backendName:\"wasm\",kernelFunc:Dat};var IW=ae(Ps);var SW=ae(Ml);var Rat=!0,TW=pe(zs,Rat);var NW;function Fat(r){NW=r.wasm.cwrap(co,null,[\"number\",\"number\",\"number\",\"number\"])}function Oat(r){let{backend:t,inputs:e,attrs:n}=r,{alpha:o}=n,{x:s}=e,i=t.dataIdMap.get(s.dataId).id,a=t.makeOutput(s.shape,s.dtype),u=t.dataIdMap.get(a.dataId).id;return NW(i,o,Zt[s.dtype],u),a}var kW={kernelName:co,backendName:\"wasm\",setupFunc:Fat,kernelFunc:Oat};var _W;function Pat(r){_W=r.wasm.cwrap(Wa,null,[\"number\",\"array\",\"number\",\"array\",\"array\",\"array\",\"array\",\"array\",\"number\",\"number\"])}function Lat(r){let{backend:t,inputs:e,attrs:n}=r,{x:o}=e,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:C}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),T;if(h)T=lr({inputs:{x:o},backend:t,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let E=Be.computeOutShape(b,w,C),$=Po({inputs:{x:o},backend:t,attrs:{begin:b,size:E}});T=lr({inputs:{x:$},backend:t,attrs:{shape:d}}),t.disposeData($.dataId)}else{let E=t.makeOutput(f,\"float32\"),$=t.dataIdMap.get(o.dataId).id,D=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),P=new Uint8Array(new Int32Array(b).buffer),M=new Uint8Array(new Int32Array(w).buffer),W=new Uint8Array(new Int32Array(C).buffer),H=new Uint8Array(new Int32Array(f).buffer),q=new Uint8Array(new Int32Array(y.computeStrides(f)).buffer),X=t.dataIdMap.get(E.dataId).id;_W($,D,o.shape.length,P,M,W,H,q,f.length,X),T=lr({inputs:{x:E},backend:t,attrs:{shape:d}}),t.disposeData(E.dataId)}return T}var EW={kernelName:Wa,backendName:\"wasm\",setupFunc:Pat,kernelFunc:Lat};function Mat(r){let{backend:t,inputs:e,attrs:n}=r,{data:o,dataSplits:s}=e,{separator:i,nGramWidths:a,leftPad:u,rightPad:l,padWidth:c,preserveShortSequences:p}=n,m=t.readSync(o.dataId),f=t.readSync(s.dataId),[d,h]=Bc(m,f,i,a,u,l,c,p),g=t.makeOutput([d.length],\"string\"),x=t.dataIdMap.get(g.dataId);x.stringBytes=d;let b=t.makeOutput(s.shape,\"int32\");return t.typedArrayFromHeap(b).set(h),[g,b]}var AW={kernelName:zl,backendName:\"wasm\",kernelFunc:Mat};function zat(r){let{backend:t,inputs:e,attrs:n}=r,{input:o,delimiter:s}=e,{skipEmpty:i}=n,a=t.readSync(o.dataId),u=t.readSync(s.dataId),[l,c,p]=Vc(a,u[0],i),m=c.length,f=t.makeOutput([m,2],\"int32\");t.typedArrayFromHeap(f).set(l);let h=t.makeOutput([m],\"string\"),g=t.dataIdMap.get(h.dataId);g.stringBytes=c;let x=t.makeOutput([2],\"int32\");return t.typedArrayFromHeap(x).set(p),[f,h,x]}var $W={kernelName:Bl,backendName:\"wasm\",kernelFunc:zat};function Bat(r){let{backend:t,inputs:e,attrs:n}=r,{input:o}=e,{numBuckets:s}=n,i=t.readSync(o.dataId),a=Gc(i,s),u=t.makeOutput(o.shape,\"int32\");return t.typedArrayFromHeap(u).set(a),u}var DW={kernelName:Vl,backendName:\"wasm\",kernelFunc:Bat};var Vat=!0,RW=pe(Bs,Vat);var FW;function Gat(r){FW=r.wasm.cwrap(Ls,null,[\"number\",\"number\",\"number\",\"number\"])}function Wat(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t),d=p;if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"sum\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;FW(u,x,Zt[b.dtype],w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var OW={kernelName:Ls,backendName:\"wasm\",setupFunc:Gat,kernelFunc:Wat};var PW=ae(Vs);var LW=ae(Gs);var MW;function Uat(r){MW=r.wasm.cwrap(Xn,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function Hat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,s=e.dataIdMap.get(o.dataId).id,{reps:i}=n,a=new Array(o.shape.length);for(let m=0;m{let{x:n}=r,{k:o,sorted:s}=e,i=t.dataIdMap.get(n.dataId).id,a=new Uint8Array(new Int32Array(n.shape).buffer),u=n.shape.slice();u[u.length-1]=o;let l=t.makeOutput(u,n.dtype),c=t.dataIdMap.get(l.dataId).id,p=t.makeOutput(u,\"int32\"),m=t.dataIdMap.get(p.dataId).id;return BW(i,a,n.shape.length,Zt[n.dtype],o,s,c,m),[l,p]},VW={kernelName:Ua,backendName:\"wasm\",setupFunc:qat,kernelFunc:Kat};var GW;function jat(r){GW=r.wasm.cwrap(Ha,null,[\"number\",\"number\",\"bool\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Xat(r){let{backend:t,inputs:e,attrs:n}=r,{image:o,transforms:s}=e,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=n,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),b=new Uint8Array(new Int32Array(y.computeStrides(g)).buffer),w=t.makeOutput(g,o.dtype),C=t.dataIdMap.get(w.dataId).id,E=t.dataIdMap.get(o.dataId).id,D=t.dataIdMap.get(s.dataId).id,P=i===\"nearest\"?1:2,M;switch(a){case\"constant\":M=1;break;case\"reflect\":M=2;break;case\"wrap\":M=3;break;case\"nearest\":M=4;break;default:M=1;break}return GW(E,D,s.shape[0]>1,c,d,h,f,m,p,x,o.shape.length-1,b,g.length-1,P,M,u,C),w}var WW={kernelName:Ha,backendName:\"wasm\",setupFunc:jat,kernelFunc:Xat};function Yat(r){let{inputs:t,backend:e,attrs:n}=r,{value:o}=t,{axis:s}=n;s<0&&(s+=o.shape.length);let i=o.shape[s],a=o.shape.length,u=new Array(a-1),l=0;for(let f=0;f({dataId:f,dtype:d,shape:u}))}var UW={kernelName:Si,backendName:\"wasm\",kernelFunc:Yat};function Zat(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype);return e.typedArrayFromHeap(n).fill(0),n}var HW={kernelName:Ti,backendName:\"wasm\",kernelFunc:Zat};var Jat=[YB,ZB,JB,tV,sV,aV,uV,pV,dV,gV,xV,yV,wV,CV,IV,TV,NV,kV,EV,$V,RV,OV,LV,MV,zV,BV,VV,GV,UV,HV,qV,jV,YV,JV,tG,rG,nG,oG,eV,iG,aG,lG,uG,cG,pG,mG,fG,hG,gG,yG,wG,vG,IG,TG,NG,kG,EG,$G,RG,FG,PG,LG,MG,Sv,BG,GG,UG,HG,qG,KG,jG,mV,YG,JG,tW,rW,nW,oW,iW,lW,cW,pW,hV,fW,dW,gW,yW,wW,CW,vW,IW,SW,TW,kW,EW,AW,$W,DW,RW,OW,PW,LW,zW,VW,WW,nV,UW,HW];for(let r of Jat)Wu(r);var Uk=B();Uk.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])));Uk.registerFlag(\"WASM_HAS_MULTITHREAD_SUPPORT\",async()=>{if(Uk.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 Yk=Tl(XW()),eU=Tl(ZW()),Zk=Tl(JW());var QW=Yk.default||Yk,Qat=Zk.default||Zk,bg=class extends Ho{constructor(t){super(),this.wasm=t,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(nU),Xk=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new ra(this,go())}write(t,e,n){let o={id:this.dataIdNextNumber++};return this.move(o,t,e,n,1),o}numDataIds(){return this.dataIdMap.numDataIds()}async time(t){let e=y.now();return t(),{kernelMs:y.now()-e}}move(t,e,n,o,s){let i=this.dataIdNextNumber++;if(o===\"string\"){let c=e;this.dataIdMap.set(t,{id:i,stringBytes:c,shape:n,dtype:o,memoryOffset:null,refCount:s});return}let a=y.sizeFromShape(n),u=a*y.bytesPerElement(o),l=this.wasm._malloc(u);this.dataIdMap.set(t,{id:i,memoryOffset:l,shape:n,dtype:o,refCount:s}),this.wasm.tfjs.registerTensor(i,a,l),e!=null&&this.wasm.HEAPU8.set(new Uint8Array(e.buffer,e.byteOffset,u),l)}async read(t){return this.readSync(t)}readSync(t,e,n){let{memoryOffset:o,dtype:s,shape:i,stringBytes:a}=this.dataIdMap.get(t);if(s===\"string\")return(e==null||e===0)&&(n==null||n>=a.length)?a:a.slice(e,n);e=e||0,n=n||y.sizeFromShape(i);let u=y.bytesPerElement(s),l=this.wasm.HEAPU8.slice(o+e*u,o+n*u);return elt(l.buffer,s)}disposeData(t,e=!1){if(this.dataIdMap.has(t)){let n=this.dataIdMap.get(t);if(n.refCount--,!e&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(t)}return!0}refCount(t){return this.dataIdMap.has(t)?this.dataIdMap.get(t).refCount:0}incRef(t){let e=this.dataIdMap.get(t);e!=null&&e.refCount++}floatPrecision(){return 32}getMemoryOffset(t){return this.dataIdMap.get(t).memoryOffset}dispose(){this.wasm.tfjs.dispose(),\"PThread\"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(t,e,n){let o;if(n==null)o=this.write(null,t,e);else{let s=this.dataIdNextNumber++;o={id:s},this.dataIdMap.set(o,{id:s,memoryOffset:n,shape:t,dtype:e,refCount:1});let i=y.sizeFromShape(t);this.wasm.tfjs.registerTensor(s,i,n)}return{dataId:o,shape:t,dtype:e}}typedArrayFromHeap({shape:t,dtype:e,dataId:n}){let o=this.wasm.HEAPU8.buffer,{memoryOffset:s}=this.dataIdMap.get(n),i=y.sizeFromShape(t);switch(e){case\"float32\":return new Float32Array(o,s,i);case\"int32\":return new Int32Array(o,s,i);case\"bool\":return new Uint8Array(o,s,i);default:throw new Error(`Unknown dtype ${e}`)}}};function tlt(r){return(t,e)=>(y.fetch(r,{credentials:\"same-origin\"}).then(n=>{n.ok||t.env.a(`failed to load wasm binary file at '${r}'`),n.arrayBuffer().then(o=>{WebAssembly.instantiate(o,t).then(s=>{e(s.instance,s.module)})})}),{})}function tU(r,t,e){if(Ev!=null)return Ev;let n=\"tfjs-backend-wasm.wasm\";return r&&t?n=\"tfjs-backend-wasm-threaded-simd.wasm\":r&&(n=\"tfjs-backend-wasm-simd.wasm\"),xg!=null&&xg[n]!=null?xg[n]:e+n}async function rU(){let[r,t]=await Promise.all([B().getAsync(\"WASM_HAS_SIMD_SUPPORT\"),B().getAsync(\"WASM_HAS_MULTITHREAD_SUPPORT\")]);return new Promise((e,n)=>{let o={};o.locateFile=(a,u)=>{if(a.endsWith(\".worker.js\")){let l=eU.wasmWorkerContents.replace(/\\n/g,\"\\\\n\"),c=new Blob([l],{type:\"application/javascript\"});return URL.createObjectURL(c)}return a.endsWith(\".wasm\")?tU(r,t,gg!=null?gg:u):u+a},Jk&&(o.instantiateWasm=tlt(tU(r,t,gg!=null?gg:\"\")));let s=!1;o.onAbort=()=>{if(s||yg)return;yg=!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\"})};let i;t&&r&&Ev==null?(o.mainScriptUrlOrBlob=new Blob([\"var WasmBackendModuleThreadedSimd = \"+QW.toString()],{type:\"text/javascript\"}),i=QW(o)):i=Qat(o),i.then(a=>{s=!0,yg=!1;let u=null;a.tfjs={init:a.cwrap(\"init\",null,[]),initWithThreadsCount:a.cwrap(\"init_with_threads_count\",null,[\"number\"]),getThreadsCount:a.cwrap(\"get_threads_count\",\"number\",[]),registerTensor:a.cwrap(\"register_tensor\",null,[\"number\",\"number\",\"number\"]),disposeData:a.cwrap(\"dispose_data\",u,[\"number\"]),dispose:a.cwrap(\"dispose\",u,[])},e({wasm:a})}).catch(n)})}function elt(r,t){switch(t){case\"float32\":return new Float32Array(r);case\"int32\":return new Int32Array(r);case\"bool\":return new Uint8Array(r);default:throw new Error(`Unknown dtype ${t}`)}}var rlt=[\"tfjs-backend-wasm.wasm\",\"tfjs-backend-wasm-simd.wasm\",\"tfjs-backend-wasm-threaded-simd.wasm\"],Ev=null,gg=null,xg={},yg=!1,Jk=!1;function nlt(r,t=!1){if(tS(\"setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release.\"),yg)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`\");Ev=r,Jk=t}function olt(r,t=!1){if(yg)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\")gg=r;else{xg=r;let e=rlt.filter(n=>xg[n]==null);if(e.length>0)throw new Error(`There were no entries found for the following binaries: ${e.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.`)}Jk=t}var nU=-1,Xk=-1;function slt(r){nU=r}function ilt(){if(Xk===-1)throw new Error(\"WASM backend not initialized.\");return Xk}var alt=\"3.20.0\";var llt=2;lm(\"wasm\",async()=>{let{wasm:r}=await rU();return new bg(r)},llt);var ult=\"3.20.0\",clt=\"3.20.0\",plt=\"3.20.0\",mlt=\"3.20.0\",flt=\"3.20.0\",dlt=\"3.20.0\",hlt=\"3.20.0\",glt=\"3.20.0\",xlt={tfjs:ult,\"tfjs-core\":clt,\"tfjs-data\":plt,\"tfjs-layers\":mlt,\"tfjs-converter\":flt,\"tfjs-backend-cpu\":dlt,\"tfjs-backend-webgl\":hlt,\"tfjs-backend-wasm\":glt};export{pi as Abs,oa as Acos,sa as Acosh,cu as AdadeltaOptimizer,pu as AdagradOptimizer,mu as AdamOptimizer,fu as AdamaxOptimizer,jn as Add,jo as AddN,ia as All,aa as Any,Xo as ArgMax,Nl as ArgMin,la as Asin,ua as Asinh,ca as Atan,ma as Atan2,pa as Atanh,Yo as AvgPool,kl as AvgPool3D,Ip as AvgPool3DGrad,vp as AvgPoolGrad,bg as BackendWasm,Zo as BatchMatMul,mi as BatchToSpaceND,Sp as Bincount,Tp as BroadcastArgs,N1 as BroadcastTo,Lb as Callback,Yy as CallbackList,ao as Cast,Jo as Ceil,lo as ClipByValue,Np as Complex,_l as ComplexAbs,fi as Concat,Qo as Conv2D,kp as Conv2DBackpropFilter,ts as Conv2DBackpropInput,El as Conv3D,_p as Conv3DBackpropFilterV2,Ep as Conv3DBackpropInputV2,es as Cos,rs as Cosh,da as CropAndResize,fa as Cumprod,ns as Cumsum,Jy as CustomCallback,ra as DataStorage,Ap as DenseBincount,ha as DepthToSpace,os as DepthwiseConv2dNative,$p as DepthwiseConv2dNativeBackpropFilter,Dp as DepthwiseConv2dNativeBackpropInput,Rp as Diag,Al as Dilation2D,sh as Dilation2DBackpropFilter,oh as Dilation2DBackpropInput,y0 as ENV,Mb as EarlyStopping,Fp as Einsum,is as Elu,Op as EluGrad,rh as Environment,xa as Equal,ga as Erf,as as Exp,di as ExpandDims,ya as Expm1,Pp as FFT,$l as Fill,ba as FlipLeftRight,ls as Floor,us as FloorDiv,ih as FromPixels,cs as FusedBatchNorm,ki as FusedConv2D,_i as FusedDepthwiseConv2D,jc as GPGPUContext,wa as GatherNd,hi as GatherV2,Hh as GraphModel,Ca as Greater,ps as GreaterEqual,Zy as History,Lp as IFFT,uo as Identity,Mp as Imag,we as InputSpec,va as IsFinite,Ia as IsInf,Sa as IsNan,Ho as KernelBackend,Dl as LRN,Bp as LRNGrad,Ah as LayerVariable,Bn as LayersModel,ms as LeakyRelu,Ta as Less,Na as LessEqual,zp as LinSpace,fs as Log,ka as Log1p,_1 as LogSoftmax,_a as LogicalAnd,Ea as LogicalNot,Aa as LogicalOr,k1 as LogicalXor,Ilt as LowerBound,Eu as MathBackendWebGL,ds as Max,gs as MaxPool,Rl as MaxPool3D,Gp as MaxPool3DGrad,Vp as MaxPoolGrad,Wp as MaxPoolWithArgmax,hs as Maximum,xs as Mean,ys as Min,bs as Minimum,ws as MirrorPad,$a as Mod,du as MomentumOptimizer,Up as Multinomial,Cs as Multiply,gi as Neg,Ra as NonMaxSuppressionV3,Fa as NonMaxSuppressionV4,Oa as NonMaxSuppressionV5,Da as NotEqual,z0 as OP_SCOPE_SUFFIX,vs as OneHot,xi as OnesLike,Br as Optimizer,js as OptimizerConstructors,yi as Pack,Is as PadV2,Slt as Pool,Ss as Pow,Ts as Prelu,Ns as Prod,hu as RMSPropOptimizer,_n as RNN,Hp as RaggedTensorToTensor,Fl as Range,E0 as Rank,qp as Real,ss as RealDiv,Pa as Reciprocal,Ye as Reduction,ks as Relu,As as Relu6,bi as Reshape,Es as ResizeBilinear,jp as ResizeBilinearGrad,_s as ResizeNearestNeighbor,Kp as ResizeNearestNeighborGrad,$s as Reverse,qa as RotateWithOffset,Ds as Round,Rs as Rsqrt,qi as SGDOptimizer,La as ScatterNd,Xp as SearchSorted,wi as Select,Ma as Selu,Ji as Sequential,Os as Sigmoid,Ba as Sign,Fs as Sin,za as Sinh,Ci as Slice,Ms as Softmax,Va as Softplus,vi as SpaceToBatchND,Ol as SparseFillEmptyRows,Ga as SparseReshape,Pl as SparseSegmentMean,Ll as SparseSegmentSum,Yp as SparseToDense,Ii as SplitV,Ps as Sqrt,Ml as Square,zs as SquaredDifference,co as Step,Wa as StridedSlice,zl as StringNGrams,Bl as StringSplit,Vl as StringToHashBucketFast,Bs as Sub,Ls as Sum,Xr as SymbolicTensor,Vs as Tan,Gs as Tanh,Lt as Tensor,fe as TensorBuffer,Xn as Tile,Ua as TopK,Ha as Transform,Yn as Transpose,Zp as Unique,Si as Unpack,Gl as UnsortedSegmentSum,Tlt as UpperBound,Ka as Variable,Ti as ZerosLike,Ni as _FusedMatMul,$e as abs,Cx as acos,vx as acosh,J as add,J_ as addN,cm as all,Ju as any,Oi as argMax,Ix as argMin,Sx as asin,Tx as asinh,Nx as atan,kx as atan2,_x as atanh,Xl as avgPool,Ax as avgPool3d,$_ as backend,S as backend_util,eE as basicLSTMCell,Li as batchNorm,$x as batchNorm2d,Dx as batchNorm3d,Rx as batchNorm4d,Yl as batchToSpaceND,Fx as bincount,w6 as booleanMaskAsync,nE as broadcastArgs,Mi as broadcastTo,Lr as broadcast_util,xx as browser,vt as buffer,tZ as callbacks,tt as cast,Ox as ceil,Ir as clipByValue,an as clone,Cn as complex,se as concat,Px as concat1d,Lx as concat2d,Mx as concat3d,zx as concat4d,aD as constraints,mm as conv1d,Sn as conv2d,dm as conv2dTranspose,Bx as conv3d,Gx as conv3dTranspose,Dlt as copyRegisteredKernels,Zl as cos,hm as cosh,Sh as cosineWindow,ec as cumprod,gm as cumsum,un as customGrad,GR as data,oE as denseBincount,tS as deprecationWarn,Wx as depthToSpace,zi as depthwiseConv2d,oZ as deregisterOp,ql as device_util,sE as diag,Ux as dilation2d,vpt as disableDeprecationWarnings,_t as dispose,Ipt as disposeVariables,ct as div,Hx as divNoNan,qx as dot,bS as dropout,iE as einsum,Bi as elu,Cpt as enableDebugMode,wpt as enableProdMode,wS as enclosingPowerOfTwo,go as engine,B as env,Ar as equal,Kx as erf,jx as euclideanNorm,or as exp,yr as expandDims,Xx as expm1,nc as eye,iu as fft,Vi as fill,Ept as findBackend,Apt as findBackendFactory,Gi as floor,um as floorDiv,CM as forceHalfFloat,lu as fused,Wi as gather,E6 as gatherND,yx as gather_util,kpt as getBackend,C0 as getGradient,lh as getKernel,tx as getKernelsForBackend,ilt as getThreadsCount,xk as gpgpu_util,MK as grad,zK as grads,Xe as greater,Pn as greaterEqual,Qa as ifft,jl as imag,uu as image,D6 as inTopKAsync,lD as initializers,KS as input,vn as io,Am as irfft,Yx as isFinite,Zx as isInf,Jx as isNaN,Oe as keep,Vr as kernel_impls,BD as layers,Jl as leakyRelu,xm as less,Ln as lessEqual,vS as linalg,uE as linspace,ZZ as loadGraphModel,JZ as loadGraphModelSync,pY as loadLayersModel,Qx as localResponseNormalization,Sr as log,Ql as log1p,ry as logSigmoid,ym as logSoftmax,bm as logSumExp,Dr as logicalAnd,tu as logicalNot,wm as logicalOr,ny as logicalXor,D5 as losses,cE as lowerBound,Gt as matMul,R_ as math,Mr as max,eu as maxPool,sy as maxPool3d,pE as maxPoolWithArgmax,Tn as maximum,ke as mean,xh as memory,mE as meshgrid,VD as metrics,rc as min,Ui as minimum,iy as mirrorPad,ay as mod,uY as model,GD as models,oc as moments,v6 as movingAverage,O as mul,fE as multiRNNCell,dE as multinomial,Yt as neg,Th as nextFrame,Ja as norm,qs as notEqual,Ri as oneHot,cr as ones,br as onesLike,N as op,hE as outerProduct,cn as pad,gE as pad1d,xE as pad2d,yE as pad3d,bE as pad4d,ly as pool,ln as pow,nu as prelu,mx as print,uy as prod,Spt as profile,wE as raggedTensorToTensor,CE as rand,ME as randomGamma,ac as randomNormal,zE as randomStandardNormal,Hi as randomUniform,ou as range,Npt as ready,Za as real,dy as reciprocal,lm as registerBackend,mY as registerCallbackConstructor,A1 as registerGradient,Wu as registerKernel,nZ as registerOp,WD as regularizers,Rr as relu,Cm as relu6,_pt as removeBackend,F as reshape,pr as reverse,BE as reverse1d,VE as reverse2d,GE as reverse3d,WE as reverse4d,au as rfft,vm as round,Im as rsqrt,mt as scalar,S6 as scatterND,yh as scatter_util,Ch as searchSorted,Sm as selu,Tm as separableConv2d,cY as sequential,rt as serialization,bH as setBackend,$pt as setPlatform,slt as setThreadsCount,nlt as setWasmPath,olt as setWasmPaths,$N as setWebGLContext,UE as setdiff1dAsync,Kr as sigmoid,hy as sign,$5 as signal,Nm as sin,km as sinh,Ot as slice,_m as slice1d,Ih as slice2d,Em as slice3d,lc as slice4d,Be as slice_util,su as softmax,Hs as softplus,ru as spaceToBatchND,R5 as sparse,k6 as sparseToDense,A5 as spectral,mr as split,Ne as sqrt,Ht as square,$m as squaredDifference,Mn as squeeze,sr as stack,yo as step,gy as stridedSlice,F5 as string,ut as sub,ft as sum,Xu as sumOutType,xy as tan,Pi as tanh,vr as tensor,Ve as tensor1d,Ks as tensor2d,gx as tensor3d,HE as tensor4d,qE as tensor5d,KE as tensor6d,ho as tensor_util,Y_ as test_util,G as tidy,$r as tile,Tpt as time,yy as topk,fc as train,Mt as transpose,Dm as truncatedNormal,by as unique,$lt as unregisterGradient,Alt as unregisterKernel,Rm as unsortedSegmentSum,Tr as unstack,ir as upcastType,jE as upperBound,y as util,BK as valueAndGrad,VK as valueAndGrads,wy as variable,ty as variableGrads,xlt as version,vR as version_converter,Z_ as version_core,nf as version_layers,alt as version_wasm,wM as version_webgl,ike as webgl,Id as webgl_util,De as where,vy as whereAsync,_e as zeros,St as zerosLike};\n", "export * from './drawContour';\nexport * from './drawDetections';\nexport * from './drawFaceExpressions';\nexport * from './DrawBox';\nexport * from './DrawFaceLandmarks';\nexport * from './DrawTextField';\n", "import { Point } from '../classes/index';\n\nexport function drawContour(\n ctx: CanvasRenderingContext2D,\n points: Point[],\n isClosed = false,\n) {\n ctx.beginPath();\n\n points.slice(1).forEach(({ x, y }, prevIdx) => {\n const from = points[prevIdx];\n ctx.moveTo(from.x, from.y);\n ctx.lineTo(x, y);\n });\n\n if (isClosed) {\n const from = points[points.length - 1];\n const to = points[0];\n if (!from || !to) {\n return;\n }\n\n ctx.moveTo(from.x, from.y);\n ctx.lineTo(to.x, to.y);\n }\n\n ctx.stroke();\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Point } from '../classes/index';\nimport { Dimensions, IDimensions } from '../classes/Dimensions';\n\nexport function isTensor(tensor: any, dim: number) {\n return tensor instanceof tf.Tensor && tensor.shape.length === dim;\n}\n\nexport function isTensor1D(tensor: any): tensor is tf.Tensor1D {\n return isTensor(tensor, 1);\n}\n\nexport function isTensor2D(tensor: any): tensor is tf.Tensor2D {\n return isTensor(tensor, 2);\n}\n\nexport function isTensor3D(tensor: any): tensor is tf.Tensor3D {\n return isTensor(tensor, 3);\n}\n\nexport function isTensor4D(tensor: any): tensor is tf.Tensor4D {\n return isTensor(tensor, 4);\n}\n\nexport function isFloat(num: number) {\n return num % 1 !== 0;\n}\n\nexport function isEven(num: number) {\n return num % 2 === 0;\n}\n\nexport function round(num: number, prec = 2) {\n const f = 10 ** prec;\n return Math.floor(num * f) / f;\n}\n\nexport function isDimensions(obj: any): boolean {\n return obj && obj.width && obj.height;\n}\n\nexport function computeReshapedDimensions({ width, height }: IDimensions, inputSize: number) {\n const scale = inputSize / Math.max(height, width);\n return new Dimensions(Math.round(width * scale), Math.round(height * scale));\n}\n\nexport function getCenterPoint(pts: Point[]): Point {\n return pts.reduce((sum, pt) => sum.add(pt), new Point(0, 0))\n .div(new Point(pts.length, pts.length));\n}\n\nexport function range(num: number, start: number, step: number): number[] {\n return Array(num).fill(0).map((_, i) => start + (i * step));\n}\n\nexport function isValidNumber(num: any) {\n return !!num && (num !== Infinity) && (num !== -Infinity) && !Number.isNaN(num) || num === 0;\n}\n\nexport function isValidProbablitiy(num: any) {\n return isValidNumber(num) && num >= 0 && num <= 1.0;\n}\n", "import { isValidNumber } from '../utils/index';\n\nexport interface IDimensions {\n width: number\n height: number\n}\n\nexport class Dimensions implements IDimensions {\n private _width: number;\n\n private _height: number;\n\n constructor(width: number, height: number) {\n if (!isValidNumber(width) || !isValidNumber(height)) {\n throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({ width, height })}`);\n }\n\n this._width = width;\n this._height = height;\n }\n\n public get width(): number { return this._width; }\n\n public get height(): number { return this._height; }\n\n public reverse(): Dimensions {\n return new Dimensions(1 / this.width, 1 / this.height);\n }\n}\n", "export interface IPoint {\n x: number\n y: number\n}\n\nexport class Point implements IPoint {\n private _x: number;\n\n private _y: number;\n\n constructor(x: number, y: number) {\n this._x = x;\n this._y = y;\n }\n\n get x(): number { return this._x; }\n\n get y(): number { return this._y; }\n\n public add(pt: IPoint): Point {\n return new Point(this.x + pt.x, this.y + pt.y);\n }\n\n public sub(pt: IPoint): Point {\n return new Point(this.x - pt.x, this.y - pt.y);\n }\n\n public mul(pt: IPoint): Point {\n return new Point(this.x * pt.x, this.y * pt.y);\n }\n\n public div(pt: IPoint): Point {\n return new Point(this.x / pt.x, this.y / pt.y);\n }\n\n public abs(): Point {\n return new Point(Math.abs(this.x), Math.abs(this.y));\n }\n\n public magnitude(): number {\n return Math.sqrt((this.x ** 2) + (this.y ** 2));\n }\n\n public floor(): Point {\n return new Point(Math.floor(this.x), Math.floor(this.y));\n }\n}\n", "import { isDimensions, isValidNumber } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { IDimensions } from './Dimensions';\nimport { Point } from './Point';\nimport { IRect } from './Rect';\n\nexport class Box implements IBoundingBox, IRect {\n public static isRect(rect: any): boolean {\n return !!rect && [rect.x, rect.y, rect.width, rect.height].every(isValidNumber);\n }\n\n public static assertIsValidBox(box: any, callee: string, allowNegativeDimensions = false) {\n if (!Box.isRect(box)) {\n throw new Error(`${callee} - invalid box: ${JSON.stringify(box)}, expected object with properties x, y, width, height`);\n }\n\n if (!allowNegativeDimensions && (box.width < 0 || box.height < 0)) {\n throw new Error(`${callee} - width (${box.width}) and height (${box.height}) must be positive numbers`);\n }\n }\n\n private _x: number;\n\n private _y: number;\n\n private _width: number;\n\n private _height: number;\n\n constructor(_box: IBoundingBox | IRect, allowNegativeDimensions = true) {\n const box = (_box || {}) as any;\n\n const isBbox = [box.left, box.top, box.right, box.bottom].every(isValidNumber);\n const isRect = [box.x, box.y, box.width, box.height].every(isValidNumber);\n\n if (!isRect && !isBbox) {\n throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(box)}`);\n }\n\n const [x, y, width, height] = isRect\n ? [box.x, box.y, box.width, box.height]\n : [box.left, box.top, box.right - box.left, box.bottom - box.top];\n\n Box.assertIsValidBox({\n x, y, width, height,\n }, 'Box.constructor', allowNegativeDimensions);\n\n this._x = x;\n this._y = y;\n this._width = width;\n this._height = height;\n }\n\n public get x(): number { return this._x; }\n\n public get y(): number { return this._y; }\n\n public get width(): number { return this._width; }\n\n public get height(): number { return this._height; }\n\n public get left(): number { return this.x; }\n\n public get top(): number { return this.y; }\n\n public get right(): number { return this.x + this.width; }\n\n public get bottom(): number { return this.y + this.height; }\n\n public get area(): number { return this.width * this.height; }\n\n public get topLeft(): Point { return new Point(this.left, this.top); }\n\n public get topRight(): Point { return new Point(this.right, this.top); }\n\n public get bottomLeft(): Point { return new Point(this.left, this.bottom); }\n\n public get bottomRight(): Point { return new Point(this.right, this.bottom); }\n\n public round(): Box {\n const [x, y, width, height] = [this.x, this.y, this.width, this.height]\n .map((val) => Math.round(val));\n return new Box({\n x, y, width, height,\n });\n }\n\n public floor(): Box {\n const [x, y, width, height] = [this.x, this.y, this.width, this.height]\n .map((val) => Math.floor(val));\n return new Box({\n x, y, width, height,\n });\n }\n\n public toSquare(): Box {\n let {\n x, y, width, height,\n } = this;\n const diff = Math.abs(width - height);\n if (width < height) {\n x -= (diff / 2);\n width += diff;\n }\n if (height < width) {\n y -= (diff / 2);\n height += diff;\n }\n\n return new Box({ x, y, width, height });\n }\n\n public rescale(s: IDimensions | number): Box {\n const scaleX = isDimensions(s) ? (s as IDimensions).width : s as number;\n const scaleY = isDimensions(s) ? (s as IDimensions).height : s as number;\n return new Box({\n x: this.x * scaleX,\n y: this.y * scaleY,\n width: this.width * scaleX,\n height: this.height * scaleY,\n });\n }\n\n public pad(padX: number, padY: number): Box {\n const [x, y, width, height] = [\n this.x - (padX / 2),\n this.y - (padY / 2),\n this.width + padX,\n this.height + padY,\n ];\n return new Box({ x, y, width, height });\n }\n\n public clipAtImageBorders(imgWidth: number, imgHeight: number): Box {\n const { x, y, right, bottom } = this;\n const clippedX = Math.max(x, 0);\n const clippedY = Math.max(y, 0);\n\n const newWidth = right - clippedX;\n const newHeight = bottom - clippedY;\n const clippedWidth = Math.min(newWidth, imgWidth - clippedX);\n const clippedHeight = Math.min(newHeight, imgHeight - clippedY);\n\n return (new Box({ x: clippedX, y: clippedY, width: clippedWidth, height: clippedHeight })).floor();\n }\n\n public shift(sx: number, sy: number): Box {\n const { width, height } = this;\n const x = this.x + sx;\n const y = this.y + sy;\n\n return new Box({ x, y, width, height });\n }\n\n public padAtBorders(imageHeight: number, imageWidth: number) {\n const w = this.width + 1;\n const h = this.height + 1;\n\n const dx = 1;\n const dy = 1;\n let edx = w;\n let edy = h;\n\n let x = this.left;\n let y = this.top;\n let ex = this.right;\n let ey = this.bottom;\n\n if (ex > imageWidth) {\n edx = -ex + imageWidth + w;\n ex = imageWidth;\n }\n if (ey > imageHeight) {\n edy = -ey + imageHeight + h;\n ey = imageHeight;\n }\n if (x < 1) {\n edy = 2 - x;\n x = 1;\n }\n if (y < 1) {\n edy = 2 - y;\n y = 1;\n }\n\n return { dy, edy, dx, edx, y, ey, x, ex, w, h };\n }\n\n public calibrate(region: Box) {\n return new Box({\n left: this.left + (region.left * this.width),\n top: this.top + (region.top * this.height),\n right: this.right + (region.right * this.width),\n bottom: this.bottom + (region.bottom * this.height),\n }).toSquare().round();\n }\n}\n", "import { Box } from './Box';\n\nexport interface IBoundingBox {\n left: number\n top: number\n right: number\n bottom: number\n}\n\nexport class BoundingBox extends Box implements IBoundingBox {\n constructor(left: number, top: number, right: number, bottom: number, allowNegativeDimensions = false) {\n super({ left, top, right, bottom }, allowNegativeDimensions);\n }\n}\n", "import { Box } from './Box';\nimport { Dimensions, IDimensions } from './Dimensions';\nimport { IRect, Rect } from './Rect';\n\nexport class ObjectDetection {\n private _score: number;\n\n private _classScore: number;\n\n private _className: string;\n\n private _box: Rect;\n\n private _imageDims: Dimensions;\n\n constructor(\n score: number,\n classScore: number,\n className: string,\n relativeBox: IRect,\n imageDims: IDimensions,\n ) {\n this._imageDims = new Dimensions(imageDims.width, imageDims.height);\n this._score = score;\n this._classScore = classScore;\n this._className = className;\n this._box = new Box(relativeBox).rescale(this._imageDims);\n }\n\n public get score(): number { return this._score; }\n\n public get classScore(): number { return this._classScore; }\n\n public get className(): string { return this._className; }\n\n public get box(): Box { return this._box; }\n\n public get imageDims(): Dimensions { return this._imageDims; }\n\n public get imageWidth(): number { return this.imageDims.width; }\n\n public get imageHeight(): number { return this.imageDims.height; }\n\n public get relativeBox(): Box { return new Box(this._box).rescale(this.imageDims.reverse()); }\n\n public forSize(width: number, height: number): ObjectDetection {\n return new ObjectDetection(\n this.score,\n this.classScore,\n this.className,\n this.relativeBox,\n { width, height },\n );\n }\n}\n", "import { Box } from './Box';\nimport { IDimensions } from './Dimensions';\nimport { ObjectDetection } from './ObjectDetection';\nimport { Rect } from './Rect';\n\nexport interface IFaceDetecion {\n score: number\n box: Box\n}\n\nexport class FaceDetection extends ObjectDetection implements IFaceDetecion {\n constructor(\n score: number,\n relativeBox: Rect,\n imageDims: IDimensions,\n ) {\n super(score, score, '', relativeBox, imageDims);\n }\n\n public override forSize(width: number, height: number): FaceDetection {\n const { score, relativeBox, imageDims } = super.forSize(width, height);\n return new FaceDetection(score, relativeBox, imageDims);\n }\n}\n", "import { Box } from '../classes/Box';\n\nexport function iou(box1: Box, box2: Box, isIOU = true) {\n const width = Math.max(0.0, Math.min(box1.right, box2.right) - Math.max(box1.left, box2.left));\n const height = Math.max(0.0, Math.min(box1.bottom, box2.bottom) - Math.max(box1.top, box2.top));\n const interSection = width * height;\n\n return isIOU\n ? interSection / (box1.area + box2.area - interSection)\n : interSection / Math.min(box1.area, box2.area);\n}\n", "import { BoundingBox, IPoint } from '../classes/index';\n\nexport function minBbox(pts: IPoint[]): BoundingBox {\n const xs = pts.map((pt) => pt.x);\n const ys = pts.map((pt) => pt.y);\n const minX = xs.reduce((min, x) => (x < min ? x : min), Infinity);\n const minY = ys.reduce((min, y) => (y < min ? y : min), Infinity);\n const maxX = xs.reduce((max, x) => (max < x ? x : max), 0);\n const maxY = ys.reduce((max, y) => (max < y ? y : max), 0);\n\n return new BoundingBox(minX, minY, maxX, maxY);\n}\n", "import { Box } from '../classes/Box';\nimport { iou } from './iou';\n\nexport function nonMaxSuppression(\n boxes: Box[],\n scores: number[],\n iouThreshold: number,\n isIOU = true,\n): number[] {\n let indicesSortedByScore = scores\n .map((score, boxIndex) => ({ score, boxIndex }))\n .sort((c1, c2) => c1.score - c2.score)\n .map((c) => c.boxIndex);\n\n const pick: number[] = [];\n\n while (indicesSortedByScore.length > 0) {\n const curr = indicesSortedByScore.pop() as number;\n pick.push(curr);\n\n const indices = indicesSortedByScore;\n\n const outputs: number[] = [];\n for (let i = 0; i < indices.length; i++) {\n const idx = indices[i];\n\n const currBox = boxes[curr];\n const idxBox = boxes[idx];\n\n outputs.push(iou(currBox, idxBox, isIOU));\n }\n\n indicesSortedByScore = indicesSortedByScore.filter(\n (_, j) => outputs[j] <= iouThreshold,\n );\n }\n\n return pick;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function normalize(x: tf.Tensor4D, meanRgb: number[]): tf.Tensor4D {\n return tf.tidy(() => {\n const [r, g, b] = meanRgb;\n const avg_r = tf.fill([...x.shape.slice(0, 3), 1], r, 'float32');\n const avg_g = tf.fill([...x.shape.slice(0, 3), 1], g, 'float32');\n const avg_b = tf.fill([...x.shape.slice(0, 3), 1], b, 'float32');\n const avg_rgb = tf.concat([avg_r, avg_g, avg_b], 3);\n\n return tf.sub(x, avg_rgb);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\n/**\n * Pads the smaller dimension of an image tensor with zeros, such that width === height.\n *\n * @param imgTensor The image tensor.\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\n * both sides of the minor dimension oof the image.\n * @returns The padded tensor with width === height.\n */\nexport function padToSquare(imgTensor: tf.Tensor4D, isCenterImage = false): tf.Tensor4D {\n return tf.tidy(() => {\n const [height, width] = imgTensor.shape.slice(1);\n if (height === width) return imgTensor;\n const dimDiff = Math.abs(height - width);\n const paddingAmount = Math.round(dimDiff * (isCenterImage ? 0.5 : 1));\n const paddingAxis = height > width ? 2 : 1;\n const createPaddingTensor = (paddingAmountLocal: number): tf.Tensor => {\n const paddingTensorShape = imgTensor.shape.slice();\n paddingTensorShape[paddingAxis] = paddingAmountLocal;\n return tf.fill(paddingTensorShape, 0, 'float32');\n };\n const paddingTensorAppend = createPaddingTensor(paddingAmount);\n const remainingPaddingAmount = dimDiff - (paddingTensorAppend.shape[paddingAxis] as number);\n const paddingTensorPrepend = isCenterImage && remainingPaddingAmount ? createPaddingTensor(remainingPaddingAmount) : null;\n const tensorsToStack = [paddingTensorPrepend, imgTensor, paddingTensorAppend]\n .filter((t) => !!t)\n .map((t) => tf.cast(t as tf.Tensor4D, 'float32')) as tf.Tensor4D[];\n return tf.concat(tensorsToStack, paddingAxis);\n });\n}\n", "export function shuffleArray(inputArray: any[]) {\n const array = inputArray.slice();\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const x = array[i];\n array[i] = array[j];\n array[j] = x;\n }\n return array;\n}\n", "export * from './iou';\nexport * from './minBbox';\nexport * from './nonMaxSuppression';\nexport * from './normalize';\nexport * from './padToSquare';\nexport * from './shuffleArray';\n\nexport function sigmoid(x: number) {\n return 1 / (1 + Math.exp(-x));\n}\n\nexport function inverseSigmoid(x: number) {\n return Math.log(x / (1 - x));\n}\n", "import { Box } from './Box';\n\nexport interface IRect {\n x: number\n y: number\n width: number\n height: number\n}\n\nexport class Rect extends Box implements IRect {\n constructor(x: number, y: number, width: number, height: number, allowNegativeDimensions = false) {\n super({ x, y, width, height }, allowNegativeDimensions);\n }\n}\n", "import { minBbox } from '../ops/index';\nimport { getCenterPoint } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { Box } from './Box';\nimport { Dimensions, IDimensions } from './Dimensions';\nimport { FaceDetection } from './FaceDetection';\nimport { Point } from './Point';\nimport { IRect, Rect } from './Rect';\n\n// face alignment constants\nconst relX = 0.5;\nconst relY = 0.43;\nconst relScale = 0.45;\n\nexport interface IFaceLandmarks {\n positions: Point[]\n shift: Point\n}\n\nexport class FaceLandmarks implements IFaceLandmarks {\n protected _shift: Point;\n\n protected _positions: Point[];\n\n protected _imgDims: Dimensions;\n\n constructor(\n relativeFaceLandmarkPositions: Point[],\n imgDims: IDimensions,\n shift: Point = new Point(0, 0),\n ) {\n const { width, height } = imgDims;\n this._imgDims = new Dimensions(width, height);\n this._shift = shift;\n this._positions = relativeFaceLandmarkPositions.map(\n (pt) => pt.mul(new Point(width, height)).add(shift),\n );\n }\n\n public get shift(): Point { return new Point(this._shift.x, this._shift.y); }\n\n public get imageWidth(): number { return this._imgDims.width; }\n\n public get imageHeight(): number { return this._imgDims.height; }\n\n public get positions(): Point[] { return this._positions; }\n\n public get relativePositions(): Point[] {\n return this._positions.map(\n (pt) => pt.sub(this._shift).div(new Point(this.imageWidth, this.imageHeight)),\n );\n }\n\n public forSize(width: number, height: number): T {\n return new (this.constructor as any)(\n this.relativePositions,\n { width, height },\n );\n }\n\n public shiftBy(x: number, y: number): T {\n return new (this.constructor as any)(\n this.relativePositions,\n this._imgDims,\n new Point(x, y),\n );\n }\n\n public shiftByPoint(pt: Point): T {\n return this.shiftBy(pt.x, pt.y);\n }\n\n /**\n * Aligns the face landmarks after face detection from the relative positions of the faces\n * bounding box, or it's current shift. This function should be used to align the face images\n * after face detection has been performed, before they are passed to the face recognition net.\n * This will make the computed face descriptor more accurate.\n *\n * @param detection (optional) The bounding box of the face or the face detection result. If\n * no argument was passed the position of the face landmarks are assumed to be relative to\n * it's current shift.\n * @returns The bounding box of the aligned face.\n */\n public align(\n detection?: FaceDetection | IRect | IBoundingBox | null,\n options: { useDlibAlignment?: boolean, minBoxPadding?: number } = { },\n ): Box {\n if (detection) {\n const box = detection instanceof FaceDetection\n ? detection.box.floor()\n : new Box(detection);\n\n return this.shiftBy(box.x, box.y).align(null, options);\n }\n\n const { useDlibAlignment, minBoxPadding } = { useDlibAlignment: false, minBoxPadding: 0.2, ...options };\n\n if (useDlibAlignment) {\n return this.alignDlib();\n }\n\n return this.alignMinBbox(minBoxPadding);\n }\n\n private alignDlib(): Box {\n const centers = this.getRefPointsForAlignment();\n\n const [leftEyeCenter, rightEyeCenter, mouthCenter] = centers;\n const distToMouth = (pt: Point) => mouthCenter.sub(pt).magnitude();\n const eyeToMouthDist = (distToMouth(leftEyeCenter) + distToMouth(rightEyeCenter)) / 2;\n\n const size = Math.floor(eyeToMouthDist / relScale);\n\n const refPoint = getCenterPoint(centers);\n // TODO: pad in case rectangle is out of image bounds\n const x = Math.floor(Math.max(0, refPoint.x - (relX * size)));\n const y = Math.floor(Math.max(0, refPoint.y - (relY * size)));\n\n return new Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y));\n }\n\n private alignMinBbox(padding: number): Box {\n const box = minBbox(this.positions);\n return box.pad(box.width * padding, box.height * padding);\n }\n\n protected getRefPointsForAlignment(): Point[] {\n throw new Error('getRefPointsForAlignment not implemented by base class');\n }\n}\n", "import { getCenterPoint } from '../utils/index';\nimport { FaceLandmarks } from './FaceLandmarks';\nimport { Point } from './Point';\n\nexport class FaceLandmarks5 extends FaceLandmarks {\n protected override getRefPointsForAlignment(): Point[] {\n const pts = this.positions;\n return [\n pts[0],\n pts[1],\n getCenterPoint([pts[3], pts[4]]),\n ];\n }\n}\n", "import { getCenterPoint } from '../utils/index';\nimport { FaceLandmarks } from './FaceLandmarks';\nimport { Point } from './Point';\n\nexport class FaceLandmarks68 extends FaceLandmarks {\n public getJawOutline(): Point[] {\n return this.positions.slice(0, 17);\n }\n\n public getLeftEyeBrow(): Point[] {\n return this.positions.slice(17, 22);\n }\n\n public getRightEyeBrow(): Point[] {\n return this.positions.slice(22, 27);\n }\n\n public getNose(): Point[] {\n return this.positions.slice(27, 36);\n }\n\n public getLeftEye(): Point[] {\n return this.positions.slice(36, 42);\n }\n\n public getRightEye(): Point[] {\n return this.positions.slice(42, 48);\n }\n\n public getMouth(): Point[] {\n return this.positions.slice(48, 68);\n }\n\n protected override getRefPointsForAlignment(): Point[] {\n return [\n this.getLeftEye(),\n this.getRightEye(),\n this.getMouth(),\n ].map(getCenterPoint);\n }\n}\n", "import { round } from '../utils/index';\n\nexport interface IFaceMatch {\n label: string\n distance: number\n}\n\nexport class FaceMatch implements IFaceMatch {\n private _label: string;\n private _distance: number;\n\n constructor(label: string, distance: number) {\n this._label = label;\n this._distance = distance;\n }\n\n public get label(): string { return this._label; }\n\n public get distance(): number { return this._distance; }\n\n public toString(withDistance = true): string {\n return `${this.label}${withDistance ? ` (${round(this.distance)})` : ''}`;\n }\n}\n", "import { isValidNumber } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { Box } from './Box';\nimport { IRect } from './Rect';\n\nexport class LabeledBox extends Box {\n public static assertIsValidLabeledBox(box: any, callee: string) {\n Box.assertIsValidBox(box, callee);\n if (!isValidNumber(box.label)) {\n throw new Error(`${callee} - expected property label (${box.label}) to be a number`);\n }\n }\n\n private _label: number;\n\n constructor(box: IBoundingBox | IRect | any, label: number) {\n super(box);\n this._label = label;\n }\n\n public get label(): number { return this._label; }\n}\n", "export class LabeledFaceDescriptors {\n private _label: string;\n\n private _descriptors: Float32Array[];\n\n constructor(label: string, descriptors: Float32Array[]) {\n if (!(typeof label === 'string')) {\n throw new Error('LabeledFaceDescriptors - constructor expected label to be a string');\n }\n\n if (!Array.isArray(descriptors) || descriptors.some((desc) => !(desc instanceof Float32Array))) {\n throw new Error('LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array');\n }\n\n this._label = label;\n this._descriptors = descriptors;\n }\n\n public get label(): string { return this._label; }\n\n public get descriptors(): Float32Array[] { return this._descriptors; }\n\n public toJSON(): any {\n return {\n label: this.label,\n descriptors: this.descriptors.map((d) => Array.from(d)),\n };\n }\n\n public static fromJSON(json: any): LabeledFaceDescriptors {\n const descriptors = json.descriptors.map((d: any) => new Float32Array(d));\n return new LabeledFaceDescriptors(json.label, descriptors);\n }\n}\n", "import { isValidProbablitiy } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { LabeledBox } from './LabeledBox';\nimport { IRect } from './Rect';\n\nexport class PredictedBox extends LabeledBox {\n public static assertIsValidPredictedBox(box: any, callee: string) {\n LabeledBox.assertIsValidLabeledBox(box, callee);\n\n if (\n !isValidProbablitiy(box.score)\n || !isValidProbablitiy(box.classScore)\n ) {\n throw new Error(`${callee} - expected properties score (${box.score}) and (${box.classScore}) to be a number between [0, 1]`);\n }\n }\n\n private _score: number;\n\n private _classScore: number;\n\n constructor(box: IBoundingBox | IRect | any, label: number, score: number, classScore: number) {\n super(box, label);\n this._score = score;\n this._classScore = classScore;\n }\n\n public get score(): number { return this._score; }\n\n public get classScore(): number { return this._classScore; }\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\n\nexport type WithFaceDetection = TSource & {\n detection: FaceDetection\n}\n\nexport function isWithFaceDetection(obj: any): obj is WithFaceDetection<{}> {\n return obj.detection instanceof FaceDetection;\n}\n\nexport function extendWithFaceDetection(sourceObj: TSource, detection: FaceDetection): WithFaceDetection {\n const extension = { detection };\n return { ...sourceObj, ...extension };\n}\n", "import { Environment } from './types';\n\nexport function createBrowserEnv(): Environment {\n const fetch = window.fetch;\n if (!fetch) throw new Error('fetch - missing fetch implementation for browser environment');\n\n const readFile = () => {\n throw new Error('readFile - filesystem not available for browser environment');\n };\n\n return {\n Canvas: HTMLCanvasElement,\n CanvasRenderingContext2D,\n Image: HTMLImageElement,\n ImageData,\n Video: HTMLVideoElement,\n createCanvasElement: () => document.createElement('canvas'),\n createImageElement: () => document.createElement('img'),\n createVideoElement: () => document.createElement('video'),\n fetch,\n readFile,\n };\n}\n", "export function isNodejs(): boolean {\n return typeof global === 'object'\n && typeof process !== 'undefined'\n && process.versions != null\n && process.versions.node != null;\n}\n", "import { FileSystem } from './types';\nimport { isNodejs } from './isNodejs';\n\nexport function createFileSystem(fs?: any): FileSystem {\n let requireFsError = '';\n if (!fs && isNodejs()) {\n try {\n // eslint-disable-next-line global-require\n fs = require('fs');\n } catch (err) {\n requireFsError = (err as any).toString();\n }\n }\n\n const readFile = fs\n ? (filePath: string) => new Promise((resolve, reject) => { fs.readFile(filePath, (err: any, buffer) => (err ? reject(err) : resolve(buffer))); })\n : () => { throw new Error(`readFile - failed to require fs in nodejs environment with error: ${requireFsError}`); };\n return { readFile };\n}\n", "/* eslint-disable max-classes-per-file */\nimport { createFileSystem } from './createFileSystem';\nimport { Environment } from './types';\n\nexport function createNodejsEnv(): Environment {\n // eslint-disable-next-line dot-notation\n const Canvas = global['Canvas'] || global.HTMLCanvasElement;\n const Image = global.Image || global.HTMLImageElement;\n // eslint-disable-next-line dot-notation\n const Video = global['Video'] || global.HTMLVideoElement;\n\n const createCanvasElement = () => {\n if (Canvas) return new Canvas();\n throw new Error('createCanvasElement - missing Canvas implementation for nodejs environment');\n };\n\n const createImageElement = () => {\n if (Image) return new Image();\n throw new Error('createImageElement - missing Image implementation for nodejs environment');\n };\n\n const createVideoElement = () => {\n if (Video) return new Video();\n throw new Error('createVideoElement - missing Video implementation for nodejs environment');\n };\n\n const fetch = global.fetch;\n // if (!fetch) throw new Error('fetch - missing fetch implementation for nodejs environment');\n\n const fileSystem = createFileSystem();\n\n return {\n Canvas: Canvas || class {},\n CanvasRenderingContext2D: global.CanvasRenderingContext2D || class {},\n Image: Image || class {},\n ImageData: global.ImageData || class {},\n Video: global.HTMLVideoElement || class {},\n createCanvasElement,\n createImageElement,\n createVideoElement,\n fetch,\n ...fileSystem,\n };\n}\n", "export function isBrowser(): boolean {\n return typeof window === 'object'\n && typeof document !== 'undefined'\n && typeof HTMLImageElement !== 'undefined'\n && typeof HTMLCanvasElement !== 'undefined'\n && typeof HTMLVideoElement !== 'undefined'\n && typeof ImageData !== 'undefined'\n && typeof CanvasRenderingContext2D !== 'undefined';\n}\n", "import { createBrowserEnv } from './createBrowserEnv';\nimport { createFileSystem } from './createFileSystem';\nimport { createNodejsEnv } from './createNodejsEnv';\nimport { isBrowser } from './isBrowser';\nimport { isNodejs } from './isNodejs';\nimport { Environment } from './types';\n\nlet environment: Environment | null;\n\nfunction getEnv(): Environment {\n if (!environment) {\n throw new Error('getEnv - environment is not defined, check isNodejs() and isBrowser()');\n }\n return environment;\n}\n\nfunction setEnv(env: Environment) {\n environment = env;\n}\n\nfunction initialize() {\n // check for isBrowser() first to prevent electron renderer process\n // to be initialized with wrong environment due to isNodejs() returning true\n if (isBrowser()) return setEnv(createBrowserEnv());\n if (isNodejs()) return setEnv(createNodejsEnv());\n return null;\n}\n\nfunction monkeyPatch(env: Partial) {\n if (!environment) {\n initialize();\n }\n\n if (!environment) {\n throw new Error('monkeyPatch - environment is not defined, check isNodejs() and isBrowser()');\n }\n\n const { Canvas = environment.Canvas, Image = environment.Image } = env;\n environment.Canvas = Canvas;\n environment.Image = Image;\n environment.createCanvasElement = env.createCanvasElement || (() => new Canvas());\n environment.createImageElement = env.createImageElement || (() => new Image());\n\n environment.ImageData = env.ImageData || environment.ImageData;\n environment.Video = env.Video || environment.Video;\n environment.fetch = env.fetch || environment.fetch;\n environment.readFile = env.readFile || environment.readFile;\n}\n\nexport const env = {\n getEnv,\n setEnv,\n initialize,\n createBrowserEnv,\n createFileSystem,\n createNodejsEnv,\n monkeyPatch,\n isBrowser,\n isNodejs,\n};\n\ninitialize();\n\nexport * from './types';\n", "import { env } from '../env/index';\n\nexport function resolveInput(arg: string | any) {\n if (!env.isNodejs() && typeof arg === 'string') {\n return document.getElementById(arg);\n }\n return arg;\n}\n", "import { env } from '../env/index';\nimport { resolveInput } from './resolveInput';\n\nexport function getContext2dOrThrow(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D): CanvasRenderingContext2D {\n const { Canvas, CanvasRenderingContext2D } = env.getEnv();\n\n if (canvasArg instanceof CanvasRenderingContext2D) {\n return canvasArg;\n }\n\n const canvas = resolveInput(canvasArg);\n\n if (!(canvas instanceof Canvas)) {\n throw new Error('resolveContext2d - expected canvas to be of instance of Canvas');\n }\n\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n throw new Error('resolveContext2d - canvas 2d context is null');\n }\n\n return ctx;\n}\n", "/* eslint-disable max-classes-per-file */\nimport { IDimensions, IPoint } from '../classes/index';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { resolveInput } from '../dom/resolveInput';\n\n// eslint-disable-next-line no-shadow\nexport enum AnchorPosition {\n // eslint-disable-next-line no-unused-vars\n TOP_LEFT = 'TOP_LEFT',\n // eslint-disable-next-line no-unused-vars\n TOP_RIGHT = 'TOP_RIGHT',\n // eslint-disable-next-line no-unused-vars\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n // eslint-disable-next-line no-unused-vars\n BOTTOM_RIGHT = 'BOTTOM_RIGHT'\n}\n\nexport interface IDrawTextFieldOptions {\n anchorPosition?: AnchorPosition\n backgroundColor?: string\n fontColor?: string\n fontSize?: number\n fontStyle?: string\n padding?: number\n}\n\nexport class DrawTextFieldOptions implements IDrawTextFieldOptions {\n public anchorPosition: AnchorPosition;\n\n public backgroundColor: string;\n\n public fontColor: string;\n\n public fontSize: number;\n\n public fontStyle: string;\n\n public padding: number;\n\n constructor(options: IDrawTextFieldOptions = {}) {\n const {\n anchorPosition, backgroundColor, fontColor, fontSize, fontStyle, padding,\n } = options;\n this.anchorPosition = anchorPosition || AnchorPosition.TOP_LEFT;\n this.backgroundColor = backgroundColor || 'rgba(0, 0, 0, 0.5)';\n this.fontColor = fontColor || 'rgba(255, 255, 255, 1)';\n this.fontSize = fontSize || 14;\n this.fontStyle = fontStyle || 'Georgia';\n this.padding = padding || 4;\n }\n}\n\nexport class DrawTextField {\n public text: string[];\n\n public anchor : IPoint;\n\n public options: DrawTextFieldOptions;\n\n constructor(\n text: string | string[] | DrawTextField,\n anchor: IPoint,\n options: IDrawTextFieldOptions = {},\n ) {\n // eslint-disable-next-line no-nested-ternary\n this.text = typeof text === 'string'\n ? [text]\n : (text instanceof DrawTextField ? text.text : text);\n this.anchor = anchor;\n this.options = new DrawTextFieldOptions(options);\n }\n\n measureWidth(ctx: CanvasRenderingContext2D): number {\n const { padding } = this.options;\n return this.text.map((l) => ctx.measureText(l).width).reduce((w0, w1) => (w0 < w1 ? w1 : w0), 0) + (2 * padding);\n }\n\n measureHeight(): number {\n const { fontSize, padding } = this.options;\n return this.text.length * fontSize + (2 * padding);\n }\n\n getUpperLeft(ctx: CanvasRenderingContext2D, canvasDims?: IDimensions): IPoint {\n const { anchorPosition } = this.options;\n const isShiftLeft = anchorPosition === AnchorPosition.BOTTOM_RIGHT || anchorPosition === AnchorPosition.TOP_RIGHT;\n const isShiftTop = anchorPosition === AnchorPosition.BOTTOM_LEFT || anchorPosition === AnchorPosition.BOTTOM_RIGHT;\n\n const textFieldWidth = this.measureWidth(ctx);\n const textFieldHeight = this.measureHeight();\n const x = (isShiftLeft ? this.anchor.x - textFieldWidth : this.anchor.x);\n const y = isShiftTop ? this.anchor.y - textFieldHeight : this.anchor.y;\n\n // adjust anchor if text box exceeds canvas borders\n if (canvasDims) {\n const { width, height } = canvasDims;\n const newX = Math.max(Math.min(x, width - textFieldWidth), 0);\n const newY = Math.max(Math.min(y, height - textFieldHeight), 0);\n return { x: newX, y: newY };\n }\n return { x, y };\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const canvas = resolveInput(canvasArg);\n const ctx = getContext2dOrThrow(canvas);\n\n const {\n backgroundColor, fontColor, fontSize, fontStyle, padding,\n } = this.options;\n\n ctx.font = `${fontSize}px ${fontStyle}`;\n const maxTextWidth = this.measureWidth(ctx);\n const textHeight = this.measureHeight();\n\n ctx.fillStyle = backgroundColor;\n const upperLeft = this.getUpperLeft(ctx, canvas);\n ctx.fillRect(upperLeft.x, upperLeft.y, maxTextWidth, textHeight);\n\n ctx.fillStyle = fontColor;\n this.text.forEach((textLine, i) => {\n const x = padding + upperLeft.x;\n const y = padding + upperLeft.y + ((i + 1) * fontSize);\n ctx.fillText(textLine, x, y);\n });\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { Box, IBoundingBox, IRect } from '../classes/index';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { AnchorPosition, DrawTextField, DrawTextFieldOptions, IDrawTextFieldOptions } from './DrawTextField';\n\nexport interface IDrawBoxOptions {\n boxColor?: string\n lineWidth?: number\n drawLabelOptions?: IDrawTextFieldOptions\n label?: string\n}\n\nexport class DrawBoxOptions {\n public boxColor: string;\n\n public lineWidth: number;\n\n public drawLabelOptions: DrawTextFieldOptions;\n\n public label?: string;\n\n constructor(options: IDrawBoxOptions = {}) {\n const {\n boxColor, lineWidth, label, drawLabelOptions,\n } = options;\n this.boxColor = boxColor || 'rgba(0, 0, 255, 1)';\n this.lineWidth = lineWidth || 2;\n this.label = label;\n\n const defaultDrawLabelOptions = {\n anchorPosition: AnchorPosition.BOTTOM_LEFT,\n backgroundColor: this.boxColor,\n };\n this.drawLabelOptions = new DrawTextFieldOptions({ ...defaultDrawLabelOptions, ...drawLabelOptions });\n }\n}\n\nexport class DrawBox {\n public box: Box;\n\n public options: DrawBoxOptions;\n\n constructor(\n box: IBoundingBox | IRect,\n options: IDrawBoxOptions = {},\n ) {\n this.box = new Box(box);\n this.options = new DrawBoxOptions(options);\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const ctx = getContext2dOrThrow(canvasArg);\n\n const { boxColor, lineWidth } = this.options;\n\n const {\n x, y, width, height,\n } = this.box;\n ctx.strokeStyle = boxColor;\n ctx.lineWidth = lineWidth;\n ctx.strokeRect(x, y, width, height);\n\n const { label } = this.options;\n if (label) {\n new DrawTextField([label], { x: x - (lineWidth / 2), y }, this.options.drawLabelOptions).draw(canvasArg);\n }\n }\n}\n", "import { Box, IBoundingBox, IRect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { isWithFaceDetection, WithFaceDetection } from '../factories/WithFaceDetection';\nimport { round } from '../utils/index';\nimport { DrawBox } from './DrawBox';\n\nexport type TDrawDetectionsInput = IRect | IBoundingBox | FaceDetection | WithFaceDetection<{}>\n\nexport function drawDetections(\n canvasArg: string | HTMLCanvasElement,\n detections: TDrawDetectionsInput | Array,\n) {\n const detectionsArray = Array.isArray(detections) ? detections : [detections];\n\n detectionsArray.forEach((det) => {\n // eslint-disable-next-line no-nested-ternary\n const score = det instanceof FaceDetection\n ? det.score\n : (isWithFaceDetection(det) ? det.detection.score : undefined);\n\n // eslint-disable-next-line no-nested-ternary\n const box = det instanceof FaceDetection\n ? det.box\n : (isWithFaceDetection(det) ? det.detection.box : new Box(det));\n\n const label = score ? `${round(score)}` : undefined;\n new DrawBox(box, { label }).draw(canvasArg);\n });\n}\n", "import { env } from '../env/index';\n\nexport function isMediaLoaded(media: HTMLImageElement | HTMLVideoElement) : boolean {\n const { Image, Video } = env.getEnv();\n\n return (media instanceof Image && media.complete)\n || (media instanceof Video && media.readyState >= 3);\n}\n", "import { env } from '../env/index';\nimport { isMediaLoaded } from './isMediaLoaded';\n\nexport function awaitMediaLoaded(media: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement) {\n // eslint-disable-next-line consistent-return\n return new Promise((resolve, reject) => {\n if (media instanceof env.getEnv().Canvas || isMediaLoaded(media)) resolve(null);\n\n function onError(e: Event) {\n if (!e.currentTarget) return;\n // eslint-disable-next-line no-use-before-define\n e.currentTarget.removeEventListener('load', onLoad);\n e.currentTarget.removeEventListener('error', onError);\n reject(e);\n }\n\n function onLoad(e: Event) {\n if (!e.currentTarget) return;\n e.currentTarget.removeEventListener('load', onLoad);\n e.currentTarget.removeEventListener('error', onError);\n resolve(e);\n }\n\n media.addEventListener('load', onLoad);\n media.addEventListener('error', onError);\n });\n}\n", "import { env } from '../env/index';\n\nexport function bufferToImage(buf: Blob): Promise {\n return new Promise((resolve, reject) => {\n if (!(buf instanceof Blob)) reject(new Error('bufferToImage - expected buf to be of type: Blob'));\n const reader = new FileReader();\n reader.onload = () => {\n if (typeof reader.result !== 'string') reject(new Error('bufferToImage - expected reader.result to be a string, in onload'));\n const img = env.getEnv().createImageElement();\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.src = reader.result as string;\n };\n reader.onerror = reject;\n reader.readAsDataURL(buf);\n });\n}\n", "import { Dimensions, IDimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\n\nexport function getMediaDimensions(input: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | IDimensions): Dimensions {\n const { Image, Video } = env.getEnv();\n\n if (input instanceof Image) {\n return new Dimensions(input.naturalWidth, input.naturalHeight);\n }\n if (input instanceof Video) {\n return new Dimensions(input.videoWidth, input.videoHeight);\n }\n return new Dimensions(input.width, input.height);\n}\n", "import { IDimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { getMediaDimensions } from './getMediaDimensions';\nimport { isMediaLoaded } from './isMediaLoaded';\n\nexport function createCanvas({ width, height }: IDimensions): HTMLCanvasElement {\n const { createCanvasElement } = env.getEnv();\n const canvas = createCanvasElement();\n canvas.width = width;\n canvas.height = height;\n return canvas;\n}\n\nexport function createCanvasFromMedia(media: HTMLImageElement | HTMLVideoElement | ImageData, dims?: IDimensions): HTMLCanvasElement {\n const { ImageData } = env.getEnv();\n\n if (!(media instanceof ImageData) && !isMediaLoaded(media)) {\n throw new Error('createCanvasFromMedia - media has not finished loading yet');\n }\n\n const { width, height } = dims || getMediaDimensions(media);\n const canvas = createCanvas({ width, height });\n\n if (media instanceof ImageData) {\n getContext2dOrThrow(canvas).putImageData(media, 0, 0);\n } else {\n getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height);\n }\n return canvas;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { env } from '../env/index';\nimport { isTensor4D } from '../utils/index';\n\nexport async function imageTensorToCanvas(\n imgTensor: tf.Tensor,\n canvas?: HTMLCanvasElement,\n): Promise {\n const targetCanvas = canvas || env.getEnv().createCanvasElement();\n\n const [height, width, numChannels] = imgTensor.shape.slice(isTensor4D(imgTensor) ? 1 : 0);\n const imgTensor3D = tf.tidy(() => imgTensor.as3D(height, width, numChannels).toInt());\n await tf.browser.toPixels(imgTensor3D, targetCanvas);\n\n imgTensor3D.dispose();\n\n return targetCanvas;\n}\n", "import { env } from '../env/index';\n\nexport function isMediaElement(input: any) {\n const { Image, Canvas, Video } = env.getEnv();\n\n return input instanceof Image\n || input instanceof Canvas\n || input instanceof Video;\n}\n", "import { env } from '../env/index';\nimport { createCanvas, createCanvasFromMedia } from './createCanvas';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { getMediaDimensions } from './getMediaDimensions';\n\nexport function imageToSquare(input: HTMLImageElement | HTMLCanvasElement, inputSize: number, centerImage = false) {\n const { Image, Canvas } = env.getEnv();\n\n if (!(input instanceof Image || input instanceof Canvas)) {\n throw new Error('imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement');\n }\n\n if (inputSize <= 0) return createCanvas({ width: 1, height: 1 });\n const dims = getMediaDimensions(input);\n const scale = inputSize / Math.max(dims.height, dims.width);\n const width = scale * dims.width;\n const height = scale * dims.height;\n\n const targetCanvas = createCanvas({ width: inputSize, height: inputSize });\n const inputCanvas = input instanceof Canvas ? input : createCanvasFromMedia(input);\n\n const offset = Math.abs(width - height) / 2;\n const dx = centerImage && width < height ? offset : 0;\n const dy = centerImage && height < width ? offset : 0;\n if (inputCanvas.width > 0 && inputCanvas.height > 0) getContext2dOrThrow(targetCanvas).drawImage(inputCanvas, dx, dy, width, height);\n\n return targetCanvas;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Dimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\nimport { padToSquare } from '../ops/padToSquare';\nimport { computeReshapedDimensions, isTensor3D, isTensor4D, range } from '../utils/index';\nimport { createCanvasFromMedia } from './createCanvas';\nimport { imageToSquare } from './imageToSquare';\nimport { TResolvedNetInput } from './types';\n\nexport class NetInput {\n private _imageTensors: Array = [];\n\n private _canvases: HTMLCanvasElement[] = [];\n\n private _batchSize: number;\n\n private _treatAsBatchInput = false;\n\n private _inputDimensions: number[][] = [];\n\n private _inputSize = 0;\n\n constructor(inputs: Array, treatAsBatchInput = false) {\n if (!Array.isArray(inputs)) {\n throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${inputs}`);\n }\n\n this._treatAsBatchInput = treatAsBatchInput;\n this._batchSize = inputs.length;\n\n inputs.forEach((input, idx) => {\n if (isTensor3D(input)) {\n this._imageTensors[idx] = input;\n this._inputDimensions[idx] = input.shape;\n return;\n }\n\n if (isTensor4D(input)) {\n const batchSize = (input as any).shape[0];\n if (batchSize !== 1) {\n throw new Error(`NetInput - tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`);\n }\n\n this._imageTensors[idx] = input;\n this._inputDimensions[idx] = (input as any).shape.slice(1);\n return;\n }\n\n // @ts-ignore\n const canvas = (input as any) instanceof env.getEnv().Canvas ? input : createCanvasFromMedia(input);\n this._canvases[idx] = canvas as HTMLCanvasElement;\n this._inputDimensions[idx] = [canvas.height, canvas.width, 3];\n });\n }\n\n public get imageTensors(): Array {\n return this._imageTensors;\n }\n\n public get canvases(): HTMLCanvasElement[] {\n return this._canvases;\n }\n\n public get isBatchInput(): boolean {\n return this.batchSize > 1 || this._treatAsBatchInput;\n }\n\n public get batchSize(): number {\n return this._batchSize;\n }\n\n public get inputDimensions(): number[][] {\n return this._inputDimensions;\n }\n\n public get inputSize(): number | undefined {\n return this._inputSize;\n }\n\n public get reshapedInputDimensions(): Dimensions[] {\n return range(this.batchSize, 0, 1).map(\n (_, batchIdx) => this.getReshapedInputDimensions(batchIdx),\n );\n }\n\n public getInput(batchIdx: number): tf.Tensor3D | tf.Tensor4D | HTMLCanvasElement {\n return this.canvases[batchIdx] || this.imageTensors[batchIdx];\n }\n\n public getInputDimensions(batchIdx: number): number[] {\n return this._inputDimensions[batchIdx];\n }\n\n public getInputHeight(batchIdx: number): number {\n return this._inputDimensions[batchIdx][0];\n }\n\n public getInputWidth(batchIdx: number): number {\n return this._inputDimensions[batchIdx][1];\n }\n\n public getReshapedInputDimensions(batchIdx: number): Dimensions {\n if (typeof this.inputSize !== 'number') {\n throw new Error('getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet');\n }\n\n const width = this.getInputWidth(batchIdx);\n const height = this.getInputHeight(batchIdx);\n return computeReshapedDimensions({ width, height }, this.inputSize);\n }\n\n /**\n * Create a batch tensor from all input canvases and tensors\n * with size [batchSize, inputSize, inputSize, 3].\n *\n * @param inputSize Height and width of the tensor.\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\n * both sides of the minor dimension oof the image.\n * @returns The batch tensor.\n */\n public toBatchTensor(inputSize: number, isCenterInputs = true): tf.Tensor4D {\n this._inputSize = inputSize;\n\n return tf.tidy(() => {\n const inputTensors = range(this.batchSize, 0, 1).map((batchIdx) => {\n const input = this.getInput(batchIdx);\n\n if (input instanceof tf.Tensor) {\n let imgTensor = isTensor4D(input) ? input : tf.expandDims(input);\n imgTensor = padToSquare(imgTensor as tf.Tensor4D, isCenterInputs);\n\n if (imgTensor.shape[1] !== inputSize || imgTensor.shape[2] !== inputSize) {\n imgTensor = tf.image.resizeBilinear(imgTensor as tf.Tensor4D, [inputSize, inputSize], false, false);\n }\n\n return imgTensor.as3D(inputSize, inputSize, 3);\n }\n\n if (input instanceof env.getEnv().Canvas) {\n return tf.browser.fromPixels(imageToSquare(input, inputSize, isCenterInputs));\n }\n\n throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`);\n });\n\n const batchTensor = tf.stack(inputTensors.map((t) => tf.cast(t, 'float32'))).as4D(this.batchSize, inputSize, inputSize, 3);\n // const batchTensor = tf.stack(inputTensors.map((t) => tf.cast(t, 'float32'))) as tf.Tensor4D;\n\n return batchTensor;\n });\n }\n}\n", "import { isTensor3D, isTensor4D } from '../utils/index';\nimport { awaitMediaLoaded } from './awaitMediaLoaded';\nimport { isMediaElement } from './isMediaElement';\nimport { NetInput } from './NetInput';\nimport { resolveInput } from './resolveInput';\nimport { TNetInput } from './types';\n\n/**\n * Validates the input to make sure, they are valid net inputs and awaits all media elements\n * to be finished loading.\n *\n * @param input The input, which can be a media element or an array of different media elements.\n * @returns A NetInput instance, which can be passed into one of the neural networks.\n */\nexport async function toNetInput(inputs: TNetInput): Promise {\n if (inputs instanceof NetInput) return inputs;\n const inputArgArray = Array.isArray(inputs) ? inputs : [inputs];\n if (!inputArgArray.length) throw new Error('toNetInput - empty array passed as input');\n const getIdxHint = (idx: number) => (Array.isArray(inputs) ? ` at input index ${idx}:` : '');\n const inputArray = inputArgArray.map(resolveInput);\n inputArray.forEach((input, i) => {\n if (!isMediaElement(input) && !isTensor3D(input) && !isTensor4D(input)) {\n if (typeof inputArgArray[i] === 'string') throw new Error(`toNetInput -${getIdxHint(i)} string passed, but could not resolve HTMLElement for element id ${inputArgArray[i]}`);\n throw new Error(`toNetInput -${getIdxHint(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);\n }\n if (isTensor4D(input)) {\n // if tf.Tensor4D is passed in the input array, the batch size has to be 1\n const batchSize = input.shape[0];\n if (batchSize !== 1) throw new Error(`toNetInput -${getIdxHint(i)} tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`);\n }\n });\n // wait for all media elements being loaded\n await Promise.all(inputArray.map((input) => isMediaElement(input) && awaitMediaLoaded(input)));\n return new NetInput(inputArray, Array.isArray(inputs));\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\nimport { Rect } from '../classes/Rect';\nimport { env } from '../env/index';\nimport { createCanvas } from './createCanvas';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { imageTensorToCanvas } from './imageTensorToCanvas';\nimport { toNetInput } from './toNetInput';\nimport { TNetInput } from './types';\n\n/**\n * Extracts the image regions containing the detected faces.\n *\n * @param input The image that face detection has been performed on.\n * @param detections The face detection results or face bounding boxes for that image.\n * @returns The Canvases of the corresponding image region for each detected face.\n */\nexport async function extractFaces(input: TNetInput, detections: Array): Promise {\n const { Canvas } = env.getEnv();\n let canvas = input as HTMLCanvasElement;\n if (!(input instanceof Canvas)) {\n const netInput = await toNetInput(input);\n if (netInput.batchSize > 1) throw new Error('extractFaces - batchSize > 1 not supported');\n const tensorOrCanvas = netInput.getInput(0);\n canvas = tensorOrCanvas instanceof Canvas ? tensorOrCanvas : await imageTensorToCanvas(tensorOrCanvas);\n }\n const ctx = getContext2dOrThrow(canvas);\n const boxes = detections\n .map((det) => (det instanceof FaceDetection ? det.forSize(canvas.width, canvas.height).box.floor() : det))\n .map((box) => box.clipAtImageBorders(canvas.width, canvas.height));\n return boxes.map(({ x, y, width, height }) => {\n const faceImg = createCanvas({ width, height });\n if (width > 0 && height > 0) getContext2dOrThrow(faceImg).putImageData(ctx.getImageData(x, y, width, height), 0, 0);\n return faceImg;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Rect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { isTensor3D, isTensor4D } from '../utils/index';\n\n/**\n * Extracts the tensors of the image regions containing the detected faces.\n * Useful if you want to compute the face descriptors for the face images.\n * Using this method is faster then extracting a canvas for each face and\n * converting them to tensors individually.\n *\n * @param imageTensor The image tensor that face detection has been performed on.\n * @param detections The face detection results or face bounding boxes for that image.\n * @returns Tensors of the corresponding image region for each detected face.\n */\nexport async function extractFaceTensors(imageTensor: tf.Tensor3D | tf.Tensor4D, detections: Array): Promise {\n if (!isTensor3D(imageTensor) && !isTensor4D(imageTensor)) {\n throw new Error('extractFaceTensors - expected image tensor to be 3D or 4D');\n }\n\n if (isTensor4D(imageTensor) && imageTensor.shape[0] > 1) {\n throw new Error('extractFaceTensors - batchSize > 1 not supported');\n }\n\n return tf.tidy(() => {\n const [imgHeight, imgWidth, numChannels] = imageTensor.shape.slice(isTensor4D(imageTensor) ? 1 : 0);\n const boxes = detections.map((det) => (det instanceof FaceDetection ? det.forSize(imgWidth, imgHeight).box : det))\n .map((box) => box.clipAtImageBorders(imgWidth, imgHeight));\n const faceTensors = boxes\n .filter((box) => box.width > 0 && box.height > 0)\n .map(({ x, y, width, height }) => tf.slice3d(imageTensor.as3D(imgHeight, imgWidth, numChannels), [y, x, 0], [height, width, numChannels]));\n return faceTensors;\n });\n}\n", "import { env } from '../env/index';\n\nexport async function fetchOrThrow(\n url: string,\n // eslint-disable-next-line no-undef\n init?: RequestInit,\n): Promise {\n const { fetch } = env.getEnv();\n const res = await fetch(url, init);\n if (!(res.status < 400)) {\n throw new Error(`failed to fetch: (${res.status}) ${res.statusText}, from url: ${res.url}`);\n }\n return res;\n}\n", "import { bufferToImage } from './bufferToImage';\nimport { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchImage(uri: string): Promise {\n const res = await fetchOrThrow(uri);\n const blob = await (res).blob();\n\n if (!blob.type.startsWith('image/')) {\n throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${blob.type}, for url: ${res.url}`);\n }\n return bufferToImage(blob);\n}\n", "import { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchJson(uri: string): Promise {\n return (await fetchOrThrow(uri)).json();\n}\n", "import { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchNetWeights(uri: string): Promise {\n return new Float32Array(await (await fetchOrThrow(uri)).arrayBuffer());\n}\n", "import { env } from '../env/index';\n\nexport function bufferToVideo(buf: Blob): Promise {\n return new Promise((resolve, reject) => {\n if (!(buf instanceof Blob)) reject(new Error('bufferToVideo - expected buf to be of type: Blob'));\n\n const video = env.getEnv().createVideoElement();\n video.oncanplay = () => resolve(video);\n video.onerror = reject;\n video.playsInline = true;\n video.muted = true;\n video.src = URL.createObjectURL(buf);\n video.play();\n });\n}\n", "import { bufferToVideo } from './bufferToVideo';\nimport { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchVideo(uri: string): Promise {\n const res = await fetchOrThrow(uri);\n const blob = await (res).blob();\n\n if (!blob.type.startsWith('video/')) {\n throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${blob.type}, for url: ${res.url}`);\n }\n return bufferToVideo(blob);\n}\n", "export function getModelUris(uri: string | undefined, defaultModelName: string) {\n const defaultManifestFilename = `${defaultModelName}-weights_manifest.json`;\n\n if (!uri) {\n return {\n modelBaseUri: '',\n manifestUri: defaultManifestFilename,\n };\n }\n\n if (uri === '/') {\n return {\n modelBaseUri: '/',\n manifestUri: `/${defaultManifestFilename}`,\n };\n }\n // eslint-disable-next-line no-nested-ternary\n const protocol = uri.startsWith('http://') ? 'http://' : uri.startsWith('https://') ? 'https://' : '';\n uri = uri.replace(protocol, '');\n\n const parts = uri.split('/').filter((s) => s);\n\n const manifestFile = uri.endsWith('.json')\n ? parts[parts.length - 1]\n : defaultManifestFilename;\n\n let modelBaseUri = protocol + (uri.endsWith('.json') ? parts.slice(0, parts.length - 1) : parts).join('/');\n modelBaseUri = uri.startsWith('/') ? `/${modelBaseUri}` : modelBaseUri;\n\n return {\n modelBaseUri,\n manifestUri: modelBaseUri === '/' ? `/${manifestFile}` : `${modelBaseUri}/${manifestFile}`,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { getModelUris } from '../common/getModelUris';\nimport { fetchJson } from './fetchJson';\n\nexport async function loadWeightMap(\n uri: string | undefined,\n defaultModelName: string,\n): Promise {\n const { manifestUri, modelBaseUri } = getModelUris(uri, defaultModelName);\n const manifest = await fetchJson(manifestUri);\n // if (manifest['weightsManifest']) manifest = manifest['weightsManifest'];\n return tf.io.loadWeights(manifest, modelBaseUri);\n}\n", "import { IDimensions } from '../classes/index';\nimport { getMediaDimensions } from './getMediaDimensions';\n\nexport function matchDimensions(input: IDimensions, reference: IDimensions, useMediaDimensions = false) {\n const { width, height } = useMediaDimensions\n ? getMediaDimensions(reference)\n : reference;\n input.width = width;\n input.height = height;\n return { width, height };\n}\n", "import * as tf from '../dist/tfjs.esm';\n\nimport { ParamMapping } from './common/index';\nimport { getModelUris } from './common/getModelUris';\nimport { loadWeightMap } from './dom/index';\nimport { env } from './env/index';\n\nexport abstract class NeuralNetwork {\n constructor(name: string) {\n this._name = name;\n }\n\n protected _params: TNetParams | undefined = undefined;\n\n protected _paramMappings: ParamMapping[] = [];\n\n public _name: any;\n\n public get params(): TNetParams | undefined { return this._params; }\n\n public get paramMappings(): ParamMapping[] { return this._paramMappings; }\n\n public get isLoaded(): boolean { return !!this.params; }\n\n public getParamFromPath(paramPath: string): tf.Tensor {\n const { obj, objProp } = this.traversePropertyPath(paramPath);\n return obj[objProp];\n }\n\n public reassignParamFromPath(paramPath: string, tensor: tf.Tensor) {\n const { obj, objProp } = this.traversePropertyPath(paramPath);\n obj[objProp].dispose();\n obj[objProp] = tensor;\n }\n\n public getParamList() {\n return this._paramMappings.map(({ paramPath }) => ({\n path: paramPath,\n tensor: this.getParamFromPath(paramPath),\n }));\n }\n\n public getTrainableParams() {\n return this.getParamList().filter((param) => param.tensor instanceof tf.Variable);\n }\n\n public getFrozenParams() {\n return this.getParamList().filter((param) => !(param.tensor instanceof tf.Variable));\n }\n\n public variable() {\n this.getFrozenParams().forEach(({ path, tensor }) => {\n this.reassignParamFromPath(path, tensor.variable());\n });\n }\n\n public freeze() {\n this.getTrainableParams().forEach(({ path, tensor: variable }) => {\n const tensor = tf.tensor(variable.dataSync());\n variable.dispose();\n this.reassignParamFromPath(path, tensor);\n });\n }\n\n public dispose(throwOnRedispose = true) {\n this.getParamList().forEach((param) => {\n if (throwOnRedispose && param.tensor.isDisposed) {\n throw new Error(`param tensor has already been disposed for path ${param.path}`);\n }\n param.tensor.dispose();\n });\n this._params = undefined;\n }\n\n public serializeParams(): Float32Array {\n return new Float32Array(\n this.getParamList()\n .map(({ tensor }) => Array.from(tensor.dataSync()) as number[])\n .reduce((flat, arr) => flat.concat(arr)),\n );\n }\n\n public async load(weightsOrUrl: Float32Array | string | undefined): Promise {\n if (weightsOrUrl instanceof Float32Array) {\n this.extractWeights(weightsOrUrl);\n return;\n }\n await this.loadFromUri(weightsOrUrl);\n }\n\n public async loadFromUri(uri: string | undefined) {\n if (uri && typeof uri !== 'string') {\n throw new Error(`${this._name}.loadFromUri - expected model uri`);\n }\n const weightMap = await loadWeightMap(uri, this.getDefaultModelName());\n this.loadFromWeightMap(weightMap);\n }\n\n public async loadFromDisk(filePath: string | undefined) {\n if (filePath && typeof filePath !== 'string') {\n throw new Error(`${this._name}.loadFromDisk - expected model file path`);\n }\n const { readFile } = env.getEnv();\n const { manifestUri, modelBaseUri } = getModelUris(filePath, this.getDefaultModelName());\n const fetchWeightsFromDisk = (filePaths: string[]) => Promise.all(filePaths.map((fp) => readFile(fp).then((buf) => buf.buffer)));\n const loadWeights = tf.io.weightsLoaderFactory(fetchWeightsFromDisk);\n const manifest = JSON.parse((await readFile(manifestUri)).toString());\n const weightMap = await loadWeights(manifest, modelBaseUri);\n this.loadFromWeightMap(weightMap);\n }\n\n public loadFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { paramMappings, params } = this.extractParamsFromWeightMap(weightMap);\n this._paramMappings = paramMappings;\n this._params = params;\n }\n\n public extractWeights(weights: Float32Array) {\n const { paramMappings, params } = this.extractParams(weights);\n this._paramMappings = paramMappings;\n this._params = params;\n }\n\n private traversePropertyPath(paramPath: string) {\n if (!this.params) {\n throw new Error('traversePropertyPath - model has no loaded params');\n }\n\n const result = paramPath.split('/').reduce((res: { nextObj: any, obj?: any, objProp?: string }, objProp) => {\n // eslint-disable-next-line no-prototype-builtins\n if (!res.nextObj.hasOwnProperty(objProp)) {\n throw new Error(`traversePropertyPath - object does not have property ${objProp}, for path ${paramPath}`);\n }\n return { obj: res.nextObj, objProp, nextObj: res.nextObj[objProp] };\n }, { nextObj: this.params });\n\n const { obj, objProp } = result;\n if (!obj || !objProp || !(obj[objProp] instanceof tf.Tensor)) {\n throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${paramPath}`);\n }\n\n return { obj, objProp };\n }\n\n protected abstract getDefaultModelName(): string\n\n // eslint-disable-next-line no-unused-vars\n protected abstract extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TNetParams, paramMappings: ParamMapping[] }\n\n // eslint-disable-next-line no-unused-vars\n protected abstract extractParams(weights: Float32Array): { params: TNetParams, paramMappings: ParamMapping[] }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { SeparableConvParams } from './types';\n\nexport function depthwiseSeparableConv(\n x: tf.Tensor4D,\n params: SeparableConvParams,\n stride: [number, number],\n): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.separableConv2d(x, params.depthwise_filter, params.pointwise_filter, stride, 'same');\n out = tf.add(out, params.bias);\n return out;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, SeparableConvParams } from '../common/index';\nimport { depthwiseSeparableConv } from '../common/depthwiseSeparableConv';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function denseBlock3(\n x: tf.Tensor4D,\n denseBlockParams: DenseBlock3Params,\n isFirstLayer = false,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out1 = tf.relu(\n isFirstLayer\n ? tf.add(\n tf.conv2d(x, (denseBlockParams.conv0 as ConvParams).filters, [2, 2], 'same'),\n denseBlockParams.conv0.bias,\n )\n : depthwiseSeparableConv(x, denseBlockParams.conv0 as SeparableConvParams, [2, 2]),\n ) as tf.Tensor4D;\n const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]);\n\n const in3 = tf.relu(tf.add(out1, out2)) as tf.Tensor4D;\n const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]);\n\n return tf.relu(tf.add(out1, tf.add(out2, out3))) as tf.Tensor4D;\n });\n}\n\nexport function denseBlock4(\n x: tf.Tensor4D,\n denseBlockParams: DenseBlock4Params,\n isFirstLayer = false,\n isScaleDown = true,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out1 = tf.relu(\n isFirstLayer\n ? tf.add(\n tf.conv2d(x, (denseBlockParams.conv0 as ConvParams).filters, isScaleDown ? [2, 2] : [1, 1], 'same'),\n denseBlockParams.conv0.bias,\n )\n : depthwiseSeparableConv(x, denseBlockParams.conv0 as SeparableConvParams, isScaleDown ? [2, 2] : [1, 1]),\n ) as tf.Tensor4D;\n const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]);\n\n const in3 = tf.relu(tf.add(out1, out2)) as tf.Tensor4D;\n const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]);\n\n const in4 = tf.relu(tf.add(out1, tf.add(out2, out3))) as tf.Tensor4D;\n const out4 = depthwiseSeparableConv(in4, denseBlockParams.conv3, [1, 1]);\n\n return tf.relu(tf.add(out1, tf.add(out2, tf.add(out3, out4)))) as tf.Tensor4D;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from './types';\n\nexport function convLayer(\n x: tf.Tensor4D,\n params: ConvParams,\n padding: 'valid' | 'same' = 'same',\n withRelu = false,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out = tf.add(\n tf.conv2d(x, params.filters, [1, 1], padding),\n params.bias,\n ) as tf.Tensor4D;\n\n return withRelu ? tf.relu(out) : out;\n });\n}\n", "import { ParamMapping } from './types';\n\nexport function disposeUnusedWeightTensors(weightMap: any, paramMappings: ParamMapping[]) {\n Object.keys(weightMap).forEach((path) => {\n if (!paramMappings.some((pm) => pm.originalPath === path)) {\n weightMap[path].dispose();\n }\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, ExtractWeightsFunction, ParamMapping } from './types';\n\nexport function extractConvParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvParams => {\n const filters = tf.tensor4d(\n extractWeights(channelsIn * channelsOut * filterSize * filterSize),\n [filterSize, filterSize, channelsIn, channelsOut],\n );\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return { filters, bias };\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, FCParams, ParamMapping } from './types';\n\nexport function extractFCParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (\n channelsIn: number,\n channelsOut: number,\n mappedPrefix: string,\n ): FCParams => {\n const fc_weights = tf.tensor2d(extractWeights(channelsIn * channelsOut), [channelsIn, channelsOut]);\n const fc_bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/weights` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return {\n weights: fc_weights,\n bias: fc_bias,\n };\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\n// eslint-disable-next-line no-unused-vars\nexport type ExtractWeightsFunction = (numWeights: number) => Float32Array\n\nexport type ParamMapping = {\n originalPath?: string\n paramPath: string\n}\n\nexport type ConvParams = {\n filters: tf.Tensor4D\n bias: tf.Tensor1D\n}\n\nexport type FCParams = {\n weights: tf.Tensor2D\n bias: tf.Tensor1D\n}\n\nexport class SeparableConvParams {\n // eslint-disable-next-line no-useless-constructor\n constructor(\n // eslint-disable-next-line no-unused-vars\n public depthwise_filter: tf.Tensor4D,\n // eslint-disable-next-line no-unused-vars\n public pointwise_filter: tf.Tensor4D,\n // eslint-disable-next-line no-unused-vars\n public bias: tf.Tensor1D,\n // eslint-disable-next-line no-empty-function\n ) {}\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, ParamMapping, SeparableConvParams } from './types';\n\nexport function extractSeparableConvParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (channelsIn: number, channelsOut: number, mappedPrefix: string): SeparableConvParams => {\n const depthwise_filter = tf.tensor4d(extractWeights(3 * 3 * channelsIn), [3, 3, channelsIn, 1]);\n const pointwise_filter = tf.tensor4d(extractWeights(channelsIn * channelsOut), [1, 1, channelsIn, channelsOut]);\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/depthwise_filter` },\n { paramPath: `${mappedPrefix}/pointwise_filter` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return new SeparableConvParams(\n depthwise_filter,\n pointwise_filter,\n bias,\n );\n };\n}\n\nexport function loadSeparableConvParamsFactory(\n // eslint-disable-next-line no-unused-vars\n extractWeightEntry: (originalPath: string, paramRank: number) => T,\n) {\n return (prefix: string): SeparableConvParams => {\n const depthwise_filter = extractWeightEntry(`${prefix}/depthwise_filter`, 4);\n const pointwise_filter = extractWeightEntry(`${prefix}/pointwise_filter`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n\n return new SeparableConvParams(\n depthwise_filter,\n pointwise_filter,\n bias,\n );\n };\n}\n", "import { isTensor } from '../utils/index';\nimport { ParamMapping } from './types';\n\nexport function extractWeightEntryFactory(weightMap: any, paramMappings: ParamMapping[]) {\n return (originalPath: string, paramRank: number, mappedPath?: string) => {\n const tensor = weightMap[originalPath];\n\n if (!isTensor(tensor, paramRank)) {\n throw new Error(`expected weightMap[${originalPath}] to be a Tensor${paramRank}D, instead have ${tensor}`);\n }\n\n paramMappings.push(\n { originalPath, paramPath: mappedPath || originalPath },\n );\n\n return tensor;\n };\n}\n", "export function extractWeightsFactory(weights: Float32Array) {\n let remainingWeights = weights;\n\n function extractWeights(numWeights: number): Float32Array {\n const ret = remainingWeights.slice(0, numWeights);\n remainingWeights = remainingWeights.slice(numWeights);\n return ret;\n }\n\n function getRemainingWeights(): Float32Array {\n return remainingWeights;\n }\n\n return {\n extractWeights,\n getRemainingWeights,\n };\n}\n", "import { extractConvParamsFactory, extractSeparableConvParamsFactory, ExtractWeightsFunction, ParamMapping } from '../common/index';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n function extractDenseBlock3Params(channelsIn: number, channelsOut: number, mappedPrefix: string, isFirstLayer = false): DenseBlock3Params {\n const conv0 = isFirstLayer\n ? extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv0`)\n : extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/conv0`);\n const conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv1`);\n const conv2 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv2`);\n\n return { conv0, conv1, conv2 };\n }\n\n function extractDenseBlock4Params(channelsIn: number, channelsOut: number, mappedPrefix: string, isFirstLayer = false): DenseBlock4Params {\n const { conv0, conv1, conv2 } = extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer);\n const conv3 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv3`);\n\n return {\n conv0, conv1, conv2, conv3,\n };\n }\n\n return {\n extractDenseBlock3Params,\n extractDenseBlock4Params,\n };\n}\n", "import { extractWeightsFactory, ParamMapping } from '../common/index';\nimport { extractorsFactory } from './extractorsFactory';\nimport { FaceFeatureExtractorParams } from './types';\n\nexport function extractParams(weights: Float32Array): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractDenseBlock4Params,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const dense0 = extractDenseBlock4Params(3, 32, 'dense0', true);\n const dense1 = extractDenseBlock4Params(32, 64, 'dense1');\n const dense2 = extractDenseBlock4Params(64, 128, 'dense2');\n const dense3 = extractDenseBlock4Params(128, 256, 'dense3');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: {\n dense0, dense1, dense2, dense3,\n },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from './types';\n\n// eslint-disable-next-line no-unused-vars\nexport function loadConvParamsFactory(extractWeightEntry: (originalPath: string, paramRank: number) => T) {\n return (prefix: string): ConvParams => {\n const filters = extractWeightEntry(`${prefix}/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n\n return { filters, bias };\n };\n}\n", "import { extractWeightEntryFactory, loadSeparableConvParamsFactory, ParamMapping } from '../common/index';\nimport { loadConvParamsFactory } from '../common/loadConvParamsFactory';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function loadParamsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n const extractConvParams = loadConvParamsFactory(extractWeightEntry);\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n\n function extractDenseBlock3Params(prefix: string, isFirstLayer = false): DenseBlock3Params {\n const conv0 = isFirstLayer\n ? extractConvParams(`${prefix}/conv0`)\n : extractSeparableConvParams(`${prefix}/conv0`);\n const conv1 = extractSeparableConvParams(`${prefix}/conv1`);\n const conv2 = extractSeparableConvParams(`${prefix}/conv2`);\n\n return { conv0, conv1, conv2 };\n }\n\n function extractDenseBlock4Params(prefix: string, isFirstLayer = false): DenseBlock4Params {\n const conv0 = isFirstLayer\n ? extractConvParams(`${prefix}/conv0`)\n : extractSeparableConvParams(`${prefix}/conv0`);\n const conv1 = extractSeparableConvParams(`${prefix}/conv1`);\n const conv2 = extractSeparableConvParams(`${prefix}/conv2`);\n const conv3 = extractSeparableConvParams(`${prefix}/conv3`);\n\n return {\n conv0, conv1, conv2, conv3,\n };\n }\n\n return {\n extractDenseBlock3Params,\n extractDenseBlock4Params,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, ParamMapping } from '../common/index';\nimport { loadParamsFactory } from './loadParamsFactory';\nimport { FaceFeatureExtractorParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractDenseBlock4Params,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const params = {\n dense0: extractDenseBlock4Params('dense0', true),\n dense1: extractDenseBlock4Params('dense1'),\n dense2: extractDenseBlock4Params('dense2'),\n dense3: extractDenseBlock4Params('dense3'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { denseBlock4 } from './denseBlock';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { FaceFeatureExtractorParams, IFaceFeatureExtractor } from './types';\n\nexport class FaceFeatureExtractor extends NeuralNetwork implements IFaceFeatureExtractor {\n constructor() {\n super('FaceFeatureExtractor');\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('FaceFeatureExtractor - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = denseBlock4(normalized, params.dense0, true);\n out = denseBlock4(out, params.dense1);\n out = denseBlock4(out, params.dense2);\n out = denseBlock4(out, params.dense3);\n out = tf.avgPool(out, [7, 7], [2, 2], 'valid');\n\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'face_feature_extractor_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FCParams } from './types';\n\nexport function fullyConnectedLayer(\n x: tf.Tensor2D,\n params: FCParams,\n): tf.Tensor2D {\n return tf.tidy(() => tf.add(\n tf.matMul(x, params.weights),\n params.bias,\n ));\n}\n", "import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParams(weights: Float32Array, channelsIn: number, channelsOut: number): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);\n\n const fc = extractFCParams(channelsIn, channelsOut, 'fc');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { fc },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, FCParams, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractFcParams(prefix: string): FCParams {\n const weights = extractWeightEntry(`${prefix}/weights`, 2);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { weights, bias };\n }\n\n const params = {\n fc: extractFcParams('fc'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function seperateWeightMaps(weightMap: tf.NamedTensorMap) {\n const featureExtractorMap: tf.NamedTensorMap = {};\n const classifierMap: tf.NamedTensorMap = {};\n\n Object.keys(weightMap).forEach((key) => {\n const map = key.startsWith('fc') ? classifierMap : featureExtractorMap;\n map[key] = weightMap[key];\n });\n\n return { featureExtractorMap, classifierMap };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { fullyConnectedLayer } from '../common/fullyConnectedLayer';\nimport { NetInput } from '../dom/index';\nimport { FaceFeatureExtractorParams, IFaceFeatureExtractor, TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { NetParams } from './types';\nimport { seperateWeightMaps } from './util';\n\nexport abstract class FaceProcessor<\n TExtractorParams extends FaceFeatureExtractorParams | TinyFaceFeatureExtractorParams\n>\n extends NeuralNetwork {\n protected _faceFeatureExtractor: IFaceFeatureExtractor;\n\n constructor(_name: string, faceFeatureExtractor: IFaceFeatureExtractor) {\n super(_name);\n this._faceFeatureExtractor = faceFeatureExtractor;\n }\n\n public get faceFeatureExtractor(): IFaceFeatureExtractor {\n return this._faceFeatureExtractor;\n }\n\n protected abstract override getDefaultModelName(): string\n\n protected abstract getClassifierChannelsIn(): number\n\n protected abstract getClassifierChannelsOut(): number\n\n public runNet(input: NetInput | tf.Tensor4D): tf.Tensor2D {\n const { params } = this;\n\n if (!params) {\n throw new Error(`${this._name} - load model before inference`);\n }\n\n return tf.tidy(() => {\n const bottleneckFeatures = input instanceof NetInput\n ? this.faceFeatureExtractor.forwardInput(input)\n : input;\n return fullyConnectedLayer(bottleneckFeatures.as2D(bottleneckFeatures.shape[0], -1), params.fc);\n });\n }\n\n public override dispose(throwOnRedispose = true) {\n this.faceFeatureExtractor.dispose(throwOnRedispose);\n super.dispose(throwOnRedispose);\n }\n\n public loadClassifierParams(weights: Float32Array) {\n const { params, paramMappings } = this.extractClassifierParams(weights);\n this._params = params;\n this._paramMappings = paramMappings;\n }\n\n public extractClassifierParams(weights: Float32Array) {\n return extractParams(weights, this.getClassifierChannelsIn(), this.getClassifierChannelsOut());\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap);\n\n this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap);\n\n return extractParamsFromWeightMap(classifierMap);\n }\n\n protected extractParams(weights: Float32Array) {\n const cIn = this.getClassifierChannelsIn();\n const cOut = this.getClassifierChannelsOut();\n const classifierWeightSize = (cOut * cIn) + cOut;\n\n const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize);\n const classifierWeights = weights.slice(weights.length - classifierWeightSize);\n\n this.faceFeatureExtractor.extractWeights(featureExtractorWeights);\n return this.extractClassifierParams(classifierWeights);\n }\n}\n", "export const FACE_EXPRESSION_LABELS = ['neutral', 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised'];\n\nexport class FaceExpressions {\n public neutral = 0;\n public happy = 0;\n public sad = 0;\n public angry = 0;\n public fearful = 0;\n public disgusted = 0;\n public surprised = 0;\n\n constructor(probabilities: number[] | Float32Array) {\n if (probabilities.length !== 7) {\n throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${probabilities.length}`);\n }\n\n FACE_EXPRESSION_LABELS.forEach((expression, idx) => {\n this[expression] = probabilities[idx];\n });\n }\n\n asSortedArray() {\n return FACE_EXPRESSION_LABELS\n .map((expression) => ({ expression, probability: this[expression] as number }))\n .sort((e0, e1) => e1.probability - e0.probability);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor';\nimport { FaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceProcessor } from '../faceProcessor/FaceProcessor';\nimport { FaceExpressions } from './FaceExpressions';\n\nexport class FaceExpressionNet extends FaceProcessor {\n constructor(faceFeatureExtractor: FaceFeatureExtractor = new FaceFeatureExtractor()) {\n super('FaceExpressionNet', faceFeatureExtractor);\n }\n\n public forwardInput(input: NetInput | tf.Tensor4D): tf.Tensor2D {\n return tf.tidy(() => tf.softmax(this.runNet(input)));\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async predictExpressions(input: TNetInput) {\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput);\n const probabilitesByBatch = await Promise.all(tf.unstack(out).map(async (t) => {\n const data = t.dataSync();\n t.dispose();\n return data;\n }));\n out.dispose();\n\n const predictionsByBatch = probabilitesByBatch\n .map((probabilites) => new FaceExpressions(probabilites as Float32Array));\n\n return netInput.isBatchInput\n ? predictionsByBatch\n : predictionsByBatch[0];\n }\n\n protected getDefaultModelName(): string {\n return 'face_expression_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 256;\n }\n\n protected getClassifierChannelsOut(): number {\n return 7;\n }\n}\n", "import { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\n\nexport type WithFaceExpressions = TSource & { expressions: FaceExpressions }\n\nexport function isWithFaceExpressions(obj: any): obj is WithFaceExpressions<{}> {\n return obj.expressions instanceof FaceExpressions;\n}\n\nexport function extendWithFaceExpressions(sourceObj: TSource, expressions: FaceExpressions): WithFaceExpressions {\n const extension = { expressions };\n return { ...sourceObj, ...extension };\n}\n", "import { IPoint, Point } from '../classes/index';\nimport { FaceExpressions } from '../faceExpressionNet/index';\nimport { isWithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceExpressions, WithFaceExpressions } from '../factories/WithFaceExpressions';\nimport { round } from '../utils/index';\nimport { DrawTextField } from './DrawTextField';\n\nexport type DrawFaceExpressionsInput = FaceExpressions | WithFaceExpressions<{}>\n\nexport function drawFaceExpressions(canvasArg: string | HTMLCanvasElement, faceExpressions: DrawFaceExpressionsInput | Array, minConfidence = 0.1, textFieldAnchor?: IPoint) {\n const faceExpressionsArray = Array.isArray(faceExpressions) ? faceExpressions : [faceExpressions];\n\n faceExpressionsArray.forEach((e) => {\n // eslint-disable-next-line no-nested-ternary\n const expr = e instanceof FaceExpressions\n ? e\n : (isWithFaceExpressions(e) ? e.expressions : undefined);\n if (!expr) {\n throw new Error('drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof');\n }\n\n const sorted = expr.asSortedArray();\n const resultsToDisplay = sorted.filter((exprLocal) => exprLocal.probability > minConfidence);\n\n const anchor = isWithFaceDetection(e)\n ? e.detection.box.bottomLeft\n : (textFieldAnchor || new Point(0, 0));\n\n const drawTextField = new DrawTextField(\n resultsToDisplay.map((exprLocal) => `${exprLocal.expression} (${round(exprLocal.probability)})`),\n anchor,\n );\n drawTextField.draw(canvasArg);\n });\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\nimport { FaceLandmarks } from '../classes/FaceLandmarks';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { isWithFaceDetection, WithFaceDetection } from './WithFaceDetection';\n\nexport type WithFaceLandmarks<\n TSource extends WithFaceDetection<{}>,\n TFaceLandmarks extends FaceLandmarks = FaceLandmarks68 > = TSource & {\n landmarks: TFaceLandmarks,\n unshiftedLandmarks: TFaceLandmarks,\n alignedRect: FaceDetection,\n angle: { roll: number | undefined, pitch: number | undefined, yaw: number | undefined },\n }\n\nexport function isWithFaceLandmarks(obj: any): obj is WithFaceLandmarks, FaceLandmarks> {\n return isWithFaceDetection(obj)\n // eslint-disable-next-line dot-notation\n && obj['landmarks'] instanceof FaceLandmarks\n // eslint-disable-next-line dot-notation\n && obj['unshiftedLandmarks'] instanceof FaceLandmarks\n // eslint-disable-next-line dot-notation\n && obj['alignedRect'] instanceof FaceDetection;\n}\n\nfunction calculateFaceAngle(mesh) {\n // returns the angle in the plane (in radians) between the positive x-axis and the ray from (0,0) to the point (x,y)\n const radians = (a1, a2, b1, b2) => (Math.atan2(b2 - a2, b1 - a1) % Math.PI);\n // convert radians to degrees\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const degrees = (theta) => (theta * 180) / Math.PI;\n\n const angle = { roll: undefined, pitch: undefined, yaw: undefined };\n\n if (!mesh || !mesh._positions || mesh._positions.length !== 68) return angle;\n const pt = mesh._positions;\n\n // values are in radians in range of -pi/2 to pi/2 which is -90 to +90 degrees\n // value of 0 means center\n\n // roll is face lean from left to right\n // comparing x,y of outside corners of leftEye and rightEye\n angle.roll = -radians(pt[36]._x, pt[36]._y, pt[45]._x, pt[45]._y);\n\n // pitch is face turn from left right\n // comparing x distance of top of nose to left and right edge of face\n // precision is lacking since coordinates are not precise enough\n angle.pitch = radians(0, Math.abs(pt[0]._x - pt[30]._x) / pt[30]._x, Math.PI, Math.abs(pt[16]._x - pt[30]._x) / pt[30]._x);\n\n // yaw is face move from up to down\n // comparing size of the box around the face with top and bottom of detected landmarks\n // silly hack, but this gives us face compression on y-axis\n // e.g., tilting head up hides the forehead that doesn't have any landmarks so ratio drops\n const bottom = pt.reduce((prev, cur) => (prev < cur._y ? prev : cur._y), +Infinity);\n const top = pt.reduce((prev, cur) => (prev > cur._y ? prev : cur._y), -Infinity);\n angle.yaw = Math.PI * (mesh._imgDims._height / (top - bottom) / 1.40 - 1);\n\n return angle;\n}\n\nexport function extendWithFaceLandmarks, TFaceLandmarks extends FaceLandmarks = FaceLandmarks68 >(sourceObj: TSource, unshiftedLandmarks: TFaceLandmarks): WithFaceLandmarks {\n const { box: shift } = sourceObj.detection;\n const landmarks = unshiftedLandmarks.shiftBy(shift.x, shift.y);\n const rect = landmarks.align();\n const { imageDims } = sourceObj.detection;\n const alignedRect = new FaceDetection(sourceObj.detection.score, rect.rescale(imageDims.reverse()), imageDims);\n const angle = calculateFaceAngle(unshiftedLandmarks);\n\n const extension = {\n landmarks,\n unshiftedLandmarks,\n alignedRect,\n angle,\n };\n\n return { ...sourceObj, ...extension };\n}\n", "/* eslint-disable max-classes-per-file */\nimport { IPoint } from '../classes/index';\nimport { FaceLandmarks } from '../classes/FaceLandmarks';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { drawContour } from './drawContour';\n\nexport interface IDrawFaceLandmarksOptions {\n drawLines?: boolean\n drawPoints?: boolean\n lineWidth?: number\n pointSize?: number\n lineColor?: string\n pointColor?: string\n}\n\nexport class DrawFaceLandmarksOptions {\n public drawLines: boolean;\n\n public drawPoints: boolean;\n\n public lineWidth: number;\n\n public pointSize: number;\n\n public lineColor: string;\n\n public pointColor: string;\n\n constructor(options: IDrawFaceLandmarksOptions = {}) {\n const {\n drawLines = true, drawPoints = true, lineWidth, lineColor, pointSize, pointColor,\n } = options;\n this.drawLines = drawLines;\n this.drawPoints = drawPoints;\n this.lineWidth = lineWidth || 1;\n this.pointSize = pointSize || 2;\n this.lineColor = lineColor || 'rgba(0, 255, 255, 1)';\n this.pointColor = pointColor || 'rgba(255, 0, 255, 1)';\n }\n}\n\nexport class DrawFaceLandmarks {\n public faceLandmarks: FaceLandmarks;\n\n public options: DrawFaceLandmarksOptions;\n\n constructor(\n faceLandmarks: FaceLandmarks,\n options: IDrawFaceLandmarksOptions = {},\n ) {\n this.faceLandmarks = faceLandmarks;\n this.options = new DrawFaceLandmarksOptions(options);\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const ctx = getContext2dOrThrow(canvasArg);\n\n const {\n drawLines, drawPoints, lineWidth, lineColor, pointSize, pointColor,\n } = this.options;\n\n if (drawLines && this.faceLandmarks instanceof FaceLandmarks68) {\n ctx.strokeStyle = lineColor;\n ctx.lineWidth = lineWidth;\n drawContour(ctx, this.faceLandmarks.getJawOutline());\n drawContour(ctx, this.faceLandmarks.getLeftEyeBrow());\n drawContour(ctx, this.faceLandmarks.getRightEyeBrow());\n drawContour(ctx, this.faceLandmarks.getNose());\n drawContour(ctx, this.faceLandmarks.getLeftEye(), true);\n drawContour(ctx, this.faceLandmarks.getRightEye(), true);\n drawContour(ctx, this.faceLandmarks.getMouth(), true);\n }\n\n if (drawPoints) {\n ctx.strokeStyle = pointColor;\n ctx.fillStyle = pointColor;\n\n const drawPoint = (pt: IPoint) => {\n ctx.beginPath();\n ctx.arc(pt.x, pt.y, pointSize, 0, 2 * Math.PI);\n ctx.fill();\n };\n this.faceLandmarks.positions.forEach(drawPoint);\n }\n }\n}\n\nexport type DrawFaceLandmarksInput = FaceLandmarks | WithFaceLandmarks>\n\nexport function drawFaceLandmarks(\n canvasArg: string | HTMLCanvasElement,\n faceLandmarks: DrawFaceLandmarksInput | Array,\n) {\n const faceLandmarksArray = Array.isArray(faceLandmarks) ? faceLandmarks : [faceLandmarks];\n faceLandmarksArray.forEach((f) => {\n // eslint-disable-next-line no-nested-ternary\n const landmarks = f instanceof FaceLandmarks\n ? f\n : (isWithFaceLandmarks(f) ? f.landmarks : undefined);\n if (!landmarks) {\n throw new Error('drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof');\n }\n\n new DrawFaceLandmarks(landmarks).draw(canvasArg);\n });\n}\n", "import { extractConvParamsFactory, extractSeparableConvParamsFactory, extractWeightsFactory } from '../common/index';\nimport { ExtractWeightsFunction, ParamMapping } from '../common/types';\nimport { range } from '../utils/index';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n function extractReductionBlockParams(channelsIn: number, channelsOut: number, mappedPrefix: string): ReductionBlockParams {\n const separable_conv0 = extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/separable_conv1`);\n const expansion_conv = extractConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/expansion_conv`);\n\n return { separable_conv0, separable_conv1, expansion_conv };\n }\n\n function extractMainBlockParams(channels: number, mappedPrefix: string): MainBlockParams {\n const separable_conv0 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv1`);\n const separable_conv2 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv2`);\n\n return { separable_conv0, separable_conv1, separable_conv2 };\n }\n\n return {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n };\n}\n\nexport function extractParams(weights: Float32Array, numMainBlocks: number): { params: TinyXceptionParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const entry_flow_conv_in = extractConvParams(3, 32, 3, 'entry_flow/conv_in');\n const entry_flow_reduction_block_0 = extractReductionBlockParams(32, 64, 'entry_flow/reduction_block_0');\n const entry_flow_reduction_block_1 = extractReductionBlockParams(64, 128, 'entry_flow/reduction_block_1');\n\n const entry_flow = {\n conv_in: entry_flow_conv_in,\n reduction_block_0: entry_flow_reduction_block_0,\n reduction_block_1: entry_flow_reduction_block_1,\n };\n\n const middle_flow = {};\n range(numMainBlocks, 0, 1).forEach((idx) => {\n middle_flow[`main_block_${idx}`] = extractMainBlockParams(128, `middle_flow/main_block_${idx}`);\n });\n\n const exit_flow_reduction_block = extractReductionBlockParams(128, 256, 'exit_flow/reduction_block');\n const exit_flow_separable_conv = extractSeparableConvParams(256, 512, 'exit_flow/separable_conv');\n\n const exit_flow = {\n reduction_block: exit_flow_reduction_block,\n separable_conv: exit_flow_separable_conv,\n };\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { entry_flow, middle_flow, exit_flow },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, loadSeparableConvParamsFactory, ParamMapping } from '../common/index';\nimport { loadConvParamsFactory } from '../common/loadConvParamsFactory';\nimport { range } from '../utils/index';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction loadParamsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n const extractConvParams = loadConvParamsFactory(extractWeightEntry);\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n\n function extractReductionBlockParams(mappedPrefix: string): ReductionBlockParams {\n const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`);\n const expansion_conv = extractConvParams(`${mappedPrefix}/expansion_conv`);\n\n return { separable_conv0, separable_conv1, expansion_conv };\n }\n\n function extractMainBlockParams(mappedPrefix: string): MainBlockParams {\n const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`);\n const separable_conv2 = extractSeparableConvParams(`${mappedPrefix}/separable_conv2`);\n\n return { separable_conv0, separable_conv1, separable_conv2 };\n }\n\n return {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n numMainBlocks: number,\n): { params: TinyXceptionParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const entry_flow_conv_in = extractConvParams('entry_flow/conv_in');\n const entry_flow_reduction_block_0 = extractReductionBlockParams('entry_flow/reduction_block_0');\n const entry_flow_reduction_block_1 = extractReductionBlockParams('entry_flow/reduction_block_1');\n\n const entry_flow = {\n conv_in: entry_flow_conv_in,\n reduction_block_0: entry_flow_reduction_block_0,\n reduction_block_1: entry_flow_reduction_block_1,\n };\n\n const middle_flow = {};\n range(numMainBlocks, 0, 1).forEach((idx) => {\n middle_flow[`main_block_${idx}`] = extractMainBlockParams(`middle_flow/main_block_${idx}`);\n });\n\n const exit_flow_reduction_block = extractReductionBlockParams('exit_flow/reduction_block');\n const exit_flow_separable_conv = extractSeparableConvParams('exit_flow/separable_conv');\n\n const exit_flow = {\n reduction_block: exit_flow_reduction_block,\n separable_conv: exit_flow_separable_conv,\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params: { entry_flow, middle_flow, exit_flow }, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, depthwiseSeparableConv } from '../common/index';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { range } from '../utils/index';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction conv(x: tf.Tensor4D, params: ConvParams, stride: [number, number]): tf.Tensor4D {\n return tf.add(tf.conv2d(x, params.filters, stride, 'same'), params.bias);\n}\n\nfunction reductionBlock(x: tf.Tensor4D, params: ReductionBlockParams, isActivateInput = true): tf.Tensor4D {\n let out = isActivateInput ? tf.relu(x) : x;\n out = depthwiseSeparableConv(out, params.separable_conv0, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]);\n out = tf.maxPool(out, [3, 3], [2, 2], 'same');\n out = tf.add(out, conv(x, params.expansion_conv, [2, 2]));\n return out;\n}\n\nfunction mainBlock(x: tf.Tensor4D, params: MainBlockParams): tf.Tensor4D {\n let out = depthwiseSeparableConv(tf.relu(x), params.separable_conv0, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv2, [1, 1]);\n out = tf.add(out, x);\n return out;\n}\n\nexport class TinyXception extends NeuralNetwork {\n private _numMainBlocks: number;\n\n constructor(numMainBlocks: number) {\n super('TinyXception');\n this._numMainBlocks = numMainBlocks;\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n if (!params) {\n throw new Error('TinyXception - load model before inference');\n }\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n let out = tf.relu(conv(normalized, params.entry_flow.conv_in, [2, 2]));\n out = reductionBlock(out, params.entry_flow.reduction_block_0, false);\n out = reductionBlock(out, params.entry_flow.reduction_block_1);\n range(this._numMainBlocks, 0, 1).forEach((idx) => {\n out = mainBlock(out, params.middle_flow[`main_block_${idx}`]);\n });\n out = reductionBlock(out, params.exit_flow.reduction_block);\n out = tf.relu(depthwiseSeparableConv(out, params.exit_flow.separable_conv, [1, 1]));\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'tiny_xception_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap, this._numMainBlocks);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights, this._numMainBlocks);\n }\n}\n", "import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);\n\n const age = extractFCParams(512, 1, 'fc/age');\n const gender = extractFCParams(512, 2, 'fc/gender');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { fc: { age, gender } },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, FCParams, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractFcParams(prefix: string): FCParams {\n const weights = extractWeightEntry(`${prefix}/weights`, 2);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { weights, bias };\n }\n\n const params = {\n fc: {\n age: extractFcParams('fc/age'),\n gender: extractFcParams('fc/gender'),\n },\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FCParams } from '../common/index';\n\n// eslint-disable-next-line no-shadow\nexport enum Gender {\n // eslint-disable-next-line no-unused-vars\n FEMALE = 'female',\n // eslint-disable-next-line no-unused-vars\n MALE = 'male'\n}\n\nexport type AgeAndGenderPrediction = {\n age: number\n gender: Gender\n genderProbability: number\n}\n\nexport type NetOutput = { age: tf.Tensor1D, gender: tf.Tensor2D }\n\nexport type NetParams = {\n fc: {\n age: FCParams\n gender: FCParams\n }\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport { fullyConnectedLayer } from '../common/fullyConnectedLayer';\nimport { seperateWeightMaps } from '../faceProcessor/util';\nimport { TinyXception } from '../xception/TinyXception';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { AgeAndGenderPrediction, Gender, NetOutput, NetParams } from './types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\n\nexport class AgeGenderNet extends NeuralNetwork {\n private _faceFeatureExtractor: TinyXception;\n\n constructor(faceFeatureExtractor: TinyXception = new TinyXception(2)) {\n super('AgeGenderNet');\n this._faceFeatureExtractor = faceFeatureExtractor;\n }\n\n public get faceFeatureExtractor(): TinyXception {\n return this._faceFeatureExtractor;\n }\n\n public runNet(input: NetInput | tf.Tensor4D): NetOutput {\n const { params } = this;\n\n if (!params) {\n throw new Error(`${this._name} - load model before inference`);\n }\n\n return tf.tidy(() => {\n const bottleneckFeatures = input instanceof NetInput\n ? this.faceFeatureExtractor.forwardInput(input)\n : input;\n\n const pooled = tf.avgPool(bottleneckFeatures, [7, 7], [2, 2], 'valid').as2D(bottleneckFeatures.shape[0], -1);\n const age = fullyConnectedLayer(pooled, params.fc.age).as1D();\n const gender = fullyConnectedLayer(pooled, params.fc.gender);\n return { age, gender };\n });\n }\n\n public forwardInput(input: NetInput | tf.Tensor4D): NetOutput {\n return tf.tidy(() => {\n const { age, gender } = this.runNet(input);\n return { age, gender: tf.softmax(gender) };\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async predictAgeAndGender(input: TNetInput): Promise {\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput);\n\n const ages = tf.unstack(out.age);\n const genders = tf.unstack(out.gender);\n const ageAndGenderTensors = ages.map((ageTensor, i) => ({\n ageTensor,\n genderTensor: genders[i],\n }));\n\n const predictionsByBatch = await Promise.all(\n ageAndGenderTensors.map(async ({ ageTensor, genderTensor }) => {\n const age = (ageTensor.dataSync())[0];\n const probMale = (genderTensor.dataSync())[0];\n const isMale = probMale > 0.5;\n const gender = isMale ? Gender.MALE : Gender.FEMALE;\n const genderProbability = isMale ? probMale : (1 - probMale);\n\n ageTensor.dispose();\n genderTensor.dispose();\n return { age, gender, genderProbability };\n }),\n );\n out.age.dispose();\n out.gender.dispose();\n\n return netInput.isBatchInput ? predictionsByBatch as AgeAndGenderPrediction[] : predictionsByBatch[0] as AgeAndGenderPrediction;\n }\n\n protected getDefaultModelName(): string {\n return 'age_gender_model';\n }\n\n public override dispose(throwOnRedispose = true) {\n this.faceFeatureExtractor.dispose(throwOnRedispose);\n super.dispose(throwOnRedispose);\n }\n\n public loadClassifierParams(weights: Float32Array) {\n const { params, paramMappings } = this.extractClassifierParams(weights);\n this._params = params;\n this._paramMappings = paramMappings;\n }\n\n public extractClassifierParams(weights: Float32Array) {\n return extractParams(weights);\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap);\n\n this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap);\n\n return extractParamsFromWeightMap(classifierMap);\n }\n\n protected extractParams(weights: Float32Array) {\n const classifierWeightSize = (512 * 1 + 1) + (512 * 2 + 2);\n\n const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize);\n const classifierWeights = weights.slice(weights.length - classifierWeightSize);\n\n this.faceFeatureExtractor.extractWeights(featureExtractorWeights);\n return this.extractClassifierParams(classifierWeights);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { IDimensions, Point } from '../classes/index';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { FaceFeatureExtractorParams, TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceProcessor } from '../faceProcessor/FaceProcessor';\nimport { isEven } from '../utils/index';\n\nexport abstract class FaceLandmark68NetBase<\n TExtractorParams extends FaceFeatureExtractorParams | TinyFaceFeatureExtractorParams\n>\n extends FaceProcessor {\n public postProcess(output: tf.Tensor2D, inputSize: number, originalDimensions: IDimensions[]): tf.Tensor2D {\n const inputDimensions = originalDimensions.map(({ width, height }) => {\n const scale = inputSize / Math.max(height, width);\n return {\n width: width * scale,\n height: height * scale,\n };\n });\n\n const batchSize = inputDimensions.length;\n\n return tf.tidy(() => {\n const createInterleavedTensor = (fillX: number, fillY: number) => tf.stack([tf.fill([68], fillX, 'float32'), tf.fill([68], fillY, 'float32')], 1).as2D(1, 136).as1D();\n\n // eslint-disable-next-line no-unused-vars\n const getPadding = (batchIdx: number, cond: (w: number, h: number) => boolean): number => {\n const { width, height } = inputDimensions[batchIdx];\n return cond(width, height) ? Math.abs(width - height) / 2 : 0;\n };\n\n const getPaddingX = (batchIdx: number) => getPadding(batchIdx, (w, h) => w < h);\n const getPaddingY = (batchIdx: number) => getPadding(batchIdx, (w, h) => h < w);\n\n const landmarkTensors = output\n .mul(tf.fill([batchSize, 136], inputSize, 'float32'))\n .sub(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(\n getPaddingX(batchIdx),\n getPaddingY(batchIdx),\n ))))\n .div(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(\n inputDimensions[batchIdx].width,\n inputDimensions[batchIdx].height,\n ))));\n\n return landmarkTensors as tf.Tensor2D;\n });\n }\n\n public forwardInput(input: NetInput): tf.Tensor2D {\n return tf.tidy(() => {\n const out = this.runNet(input);\n return this.postProcess(\n out,\n input.inputSize as number,\n input.inputDimensions.map(([height, width]) => ({ height, width })),\n );\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async detectLandmarks(input: TNetInput): Promise {\n const netInput = await toNetInput(input);\n const landmarkTensors = tf.tidy(\n () => tf.unstack(this.forwardInput(netInput)),\n );\n\n const landmarksForBatch = await Promise.all(landmarkTensors.map(\n async (landmarkTensor, batchIdx) => {\n const landmarksArray = Array.from(landmarkTensor.dataSync());\n const xCoords = landmarksArray.filter((_, i) => isEven(i));\n const yCoords = landmarksArray.filter((_, i) => !isEven(i));\n\n return new FaceLandmarks68(\n Array(68).fill(0).map((_, i) => new Point(xCoords[i] as number, yCoords[i] as number)),\n {\n height: netInput.getInputHeight(batchIdx),\n width: netInput.getInputWidth(batchIdx),\n },\n );\n },\n ));\n\n landmarkTensors.forEach((t) => t.dispose());\n\n return netInput.isBatchInput ? landmarksForBatch as FaceLandmarks68[] : landmarksForBatch[0] as FaceLandmarks68;\n }\n\n protected getClassifierChannelsOut(): number {\n return 136;\n }\n}\n", "import { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor';\nimport { FaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceLandmark68NetBase } from './FaceLandmark68NetBase';\n\nexport class FaceLandmark68Net extends FaceLandmark68NetBase {\n constructor(faceFeatureExtractor: FaceFeatureExtractor = new FaceFeatureExtractor()) {\n super('FaceLandmark68Net', faceFeatureExtractor);\n }\n\n protected getDefaultModelName(): string {\n return 'face_landmark_68_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 256;\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, ParamMapping } from '../common/index';\nimport { loadParamsFactory } from './loadParamsFactory';\nimport { TinyFaceFeatureExtractorParams } from './types';\n\nexport function extractParamsFromWeightMapTiny(\n weightMap: tf.NamedTensorMap,\n): { params: TinyFaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractDenseBlock3Params,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const params = {\n dense0: extractDenseBlock3Params('dense0', true),\n dense1: extractDenseBlock3Params('dense1'),\n dense2: extractDenseBlock3Params('dense2'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import { extractWeightsFactory, ParamMapping } from '../common/index';\nimport { extractorsFactory } from './extractorsFactory';\nimport { TinyFaceFeatureExtractorParams } from './types';\n\nexport function extractParamsTiny(weights: Float32Array): { params: TinyFaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractDenseBlock3Params,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const dense0 = extractDenseBlock3Params(3, 32, 'dense0', true);\n const dense1 = extractDenseBlock3Params(32, 64, 'dense1');\n const dense2 = extractDenseBlock3Params(64, 128, 'dense2');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { dense0, dense1, dense2 },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { denseBlock3 } from './denseBlock';\nimport { extractParamsFromWeightMapTiny } from './extractParamsFromWeightMapTiny';\nimport { extractParamsTiny } from './extractParamsTiny';\nimport { IFaceFeatureExtractor, TinyFaceFeatureExtractorParams } from './types';\n\nexport class TinyFaceFeatureExtractor extends NeuralNetwork implements IFaceFeatureExtractor {\n constructor() {\n super('TinyFaceFeatureExtractor');\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('TinyFaceFeatureExtractor - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = denseBlock3(normalized, params.dense0, true);\n out = denseBlock3(out, params.dense1);\n out = denseBlock3(out, params.dense2);\n out = tf.avgPool(out, [14, 14], [2, 2], 'valid');\n\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'face_feature_extractor_tiny_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMapTiny(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParamsTiny(weights);\n }\n}\n", "import { TinyFaceFeatureExtractor } from '../faceFeatureExtractor/TinyFaceFeatureExtractor';\nimport { TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceLandmark68NetBase } from './FaceLandmark68NetBase';\n\nexport class FaceLandmark68TinyNet extends FaceLandmark68NetBase {\n constructor(faceFeatureExtractor: TinyFaceFeatureExtractor = new TinyFaceFeatureExtractor()) {\n super('FaceLandmark68TinyNet', faceFeatureExtractor);\n }\n\n protected getDefaultModelName(): string {\n return 'face_landmark_68_tiny_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 128;\n }\n}\n", "import { FaceLandmark68Net } from './FaceLandmark68Net';\n\nexport * from './FaceLandmark68Net';\nexport * from './FaceLandmark68TinyNet';\nexport class FaceLandmarkNet extends FaceLandmark68Net {}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ScaleLayerParams } from './types';\n\nexport function scale(x: tf.Tensor4D, params: ScaleLayerParams): tf.Tensor4D {\n return tf.add(tf.mul(x, params.weights), params.biases);\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { scale } from './scaleLayer';\nimport { ConvLayerParams } from './types';\n\nfunction convLayer(\n x: tf.Tensor4D,\n params: ConvLayerParams,\n strides: [number, number],\n withRelu: boolean,\n padding: 'valid' | 'same' = 'same',\n): tf.Tensor4D {\n const { filters, bias } = params.conv;\n\n let out = tf.conv2d(x, filters, strides, padding);\n out = tf.add(out, bias);\n out = scale(out, params.scale);\n return withRelu ? tf.relu(out) : out;\n}\n\nexport function conv(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [1, 1], true);\n}\n\nexport function convNoRelu(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [1, 1], false);\n}\n\nexport function convDown(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [2, 2], true, 'valid');\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, extractWeightsFactory, ExtractWeightsFunction, ParamMapping } from '../common/index';\nimport { isFloat } from '../utils/index';\nimport { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n function extractFilterValues(numFilterValues: number, numFilters: number, filterSize: number): tf.Tensor4D {\n const weights = extractWeights(numFilterValues);\n const depth = weights.length / (numFilters * filterSize * filterSize);\n\n if (isFloat(depth)) {\n throw new Error(`depth has to be an integer: ${depth}, weights.length: ${weights.length}, numFilters: ${numFilters}, filterSize: ${filterSize}`);\n }\n\n return tf.tidy(\n () => tf.transpose(\n tf.tensor4d(weights, [numFilters, depth, filterSize, filterSize]),\n [2, 3, 1, 0],\n ),\n );\n }\n\n function extractConvParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvParams {\n const filters = extractFilterValues(numFilterValues, numFilters, filterSize);\n const bias = tf.tensor1d(extractWeights(numFilters));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return { filters, bias };\n }\n\n function extractScaleLayerParams(numWeights: number, mappedPrefix: string): ScaleLayerParams {\n const weights = tf.tensor1d(extractWeights(numWeights));\n const biases = tf.tensor1d(extractWeights(numWeights));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/weights` },\n { paramPath: `${mappedPrefix}/biases` },\n );\n\n return {\n weights,\n biases,\n };\n }\n\n function extractConvLayerParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvLayerParams {\n const conv = extractConvParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv`);\n const scale = extractScaleLayerParams(numFilters, `${mappedPrefix}/scale`);\n\n return { conv, scale };\n }\n\n function extractResidualLayerParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n isDown = false,\n ): ResidualLayerParams {\n const conv1 = extractConvLayerParams((isDown ? 0.5 : 1) * numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv1`);\n const conv2 = extractConvLayerParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv2`);\n\n return { conv1, conv2 };\n }\n\n return {\n extractConvLayerParams,\n extractResidualLayerParams,\n };\n}\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvLayerParams,\n extractResidualLayerParams,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const conv32_down = extractConvLayerParams(4704, 32, 7, 'conv32_down');\n const conv32_1 = extractResidualLayerParams(9216, 32, 3, 'conv32_1');\n const conv32_2 = extractResidualLayerParams(9216, 32, 3, 'conv32_2');\n const conv32_3 = extractResidualLayerParams(9216, 32, 3, 'conv32_3');\n\n const conv64_down = extractResidualLayerParams(36864, 64, 3, 'conv64_down', true);\n const conv64_1 = extractResidualLayerParams(36864, 64, 3, 'conv64_1');\n const conv64_2 = extractResidualLayerParams(36864, 64, 3, 'conv64_2');\n const conv64_3 = extractResidualLayerParams(36864, 64, 3, 'conv64_3');\n\n const conv128_down = extractResidualLayerParams(147456, 128, 3, 'conv128_down', true);\n const conv128_1 = extractResidualLayerParams(147456, 128, 3, 'conv128_1');\n const conv128_2 = extractResidualLayerParams(147456, 128, 3, 'conv128_2');\n\n const conv256_down = extractResidualLayerParams(589824, 256, 3, 'conv256_down', true);\n const conv256_1 = extractResidualLayerParams(589824, 256, 3, 'conv256_1');\n const conv256_2 = extractResidualLayerParams(589824, 256, 3, 'conv256_2');\n const conv256_down_out = extractResidualLayerParams(589824, 256, 3, 'conv256_down_out');\n\n const fc = tf.tidy(\n () => tf.transpose(tf.tensor2d(extractWeights(256 * 128), [128, 256]), [1, 0]),\n );\n paramMappings.push({ paramPath: 'fc' });\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n const params = {\n conv32_down,\n conv32_1,\n conv32_2,\n conv32_3,\n conv64_down,\n conv64_1,\n conv64_2,\n conv64_3,\n conv128_down,\n conv128_1,\n conv128_2,\n conv256_down,\n conv256_1,\n conv256_2,\n conv256_down_out,\n fc,\n };\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, ParamMapping } from '../common/index';\nimport { isTensor2D } from '../utils/index';\nimport { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractScaleLayerParams(prefix: string): ScaleLayerParams {\n const weights = extractWeightEntry(`${prefix}/scale/weights`, 1);\n const biases = extractWeightEntry(`${prefix}/scale/biases`, 1);\n\n return { weights, biases };\n }\n\n function extractConvLayerParams(prefix: string): ConvLayerParams {\n const filters = extractWeightEntry(`${prefix}/conv/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/conv/bias`, 1);\n const scale = extractScaleLayerParams(prefix);\n\n return { conv: { filters, bias }, scale };\n }\n\n function extractResidualLayerParams(prefix: string): ResidualLayerParams {\n return {\n conv1: extractConvLayerParams(`${prefix}/conv1`),\n conv2: extractConvLayerParams(`${prefix}/conv2`),\n };\n }\n\n return {\n extractConvLayerParams,\n extractResidualLayerParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvLayerParams,\n extractResidualLayerParams,\n } = extractorsFactory(weightMap, paramMappings);\n\n const conv32_down = extractConvLayerParams('conv32_down');\n const conv32_1 = extractResidualLayerParams('conv32_1');\n const conv32_2 = extractResidualLayerParams('conv32_2');\n const conv32_3 = extractResidualLayerParams('conv32_3');\n\n const conv64_down = extractResidualLayerParams('conv64_down');\n const conv64_1 = extractResidualLayerParams('conv64_1');\n const conv64_2 = extractResidualLayerParams('conv64_2');\n const conv64_3 = extractResidualLayerParams('conv64_3');\n\n const conv128_down = extractResidualLayerParams('conv128_down');\n const conv128_1 = extractResidualLayerParams('conv128_1');\n const conv128_2 = extractResidualLayerParams('conv128_2');\n\n const conv256_down = extractResidualLayerParams('conv256_down');\n const conv256_1 = extractResidualLayerParams('conv256_1');\n const conv256_2 = extractResidualLayerParams('conv256_2');\n const conv256_down_out = extractResidualLayerParams('conv256_down_out');\n\n const { fc } = weightMap;\n paramMappings.push({ originalPath: 'fc', paramPath: 'fc' });\n\n if (!isTensor2D(fc)) {\n throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${fc}`);\n }\n\n const params = {\n conv32_down,\n conv32_1,\n conv32_2,\n conv32_3,\n conv64_down,\n conv64_1,\n conv64_2,\n conv64_3,\n conv128_down,\n conv128_1,\n conv128_2,\n conv256_down,\n conv256_1,\n conv256_2,\n conv256_down_out,\n fc,\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { conv, convDown, convNoRelu } from './convLayer';\nimport { ResidualLayerParams } from './types';\n\nexport function residual(x: tf.Tensor4D, params: ResidualLayerParams): tf.Tensor4D {\n let out = conv(x, params.conv1);\n out = convNoRelu(out, params.conv2);\n out = tf.add(out, x);\n out = tf.relu(out);\n return out;\n}\n\nexport function residualDown(x: tf.Tensor4D, params: ResidualLayerParams): tf.Tensor4D {\n let out = convDown(x, params.conv1);\n out = convNoRelu(out, params.conv2);\n\n let pooled = tf.avgPool(x, 2, 2, 'valid') as tf.Tensor4D;\n const zeros = tf.zeros(pooled.shape);\n const isPad = pooled.shape[3] !== out.shape[3];\n const isAdjustShape = pooled.shape[1] !== out.shape[1] || pooled.shape[2] !== out.shape[2];\n\n if (isAdjustShape) {\n const padShapeX = [...out.shape] as [number, number, number, number];\n padShapeX[1] = 1;\n const zerosW = tf.zeros(padShapeX);\n out = tf.concat([out, zerosW], 1);\n\n const padShapeY = [...out.shape] as [number, number, number, number];\n padShapeY[2] = 1;\n const zerosH = tf.zeros(padShapeY);\n out = tf.concat([out, zerosH], 2);\n }\n\n pooled = isPad ? tf.concat([pooled, zeros], 3) : pooled;\n out = tf.add(pooled, out) as tf.Tensor4D;\n\n out = tf.relu(out);\n return out;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { convDown } from './convLayer';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { residual, residualDown } from './residualLayer';\nimport { NetParams } from './types';\n\nexport class FaceRecognitionNet extends NeuralNetwork {\n constructor() {\n super('FaceRecognitionNet');\n }\n\n public forwardInput(input: NetInput): tf.Tensor2D {\n const { params } = this;\n\n if (!params) {\n throw new Error('FaceRecognitionNet - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(150, true), 'float32');\n\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = convDown(normalized, params.conv32_down);\n out = tf.maxPool(out, 3, 2, 'valid');\n\n out = residual(out, params.conv32_1);\n out = residual(out, params.conv32_2);\n out = residual(out, params.conv32_3);\n\n out = residualDown(out, params.conv64_down);\n out = residual(out, params.conv64_1);\n out = residual(out, params.conv64_2);\n out = residual(out, params.conv64_3);\n\n out = residualDown(out, params.conv128_down);\n out = residual(out, params.conv128_1);\n out = residual(out, params.conv128_2);\n\n out = residualDown(out, params.conv256_down);\n out = residual(out, params.conv256_1);\n out = residual(out, params.conv256_2);\n out = residualDown(out, params.conv256_down_out);\n\n const globalAvg = out.mean([1, 2]) as tf.Tensor2D;\n const fullyConnected = tf.matMul(globalAvg, params.fc);\n\n return fullyConnected as tf.Tensor2D;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async computeFaceDescriptor(input: TNetInput): Promise {\n // @ts-ignore\n if (input?.shape?.some((dim) => dim <= 0)) return new Float32Array(128);\n const netInput = await toNetInput(input);\n const faceDescriptorTensors = tf.tidy(() => tf.unstack(this.forwardInput(netInput)));\n const faceDescriptorsForBatch = await Promise.all(faceDescriptorTensors.map((t) => t.data())) as Float32Array[];\n faceDescriptorTensors.forEach((t) => t.dispose());\n return netInput.isBatchInput ? faceDescriptorsForBatch : faceDescriptorsForBatch[0];\n }\n\n protected getDefaultModelName(): string {\n return 'face_recognition_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import { FaceRecognitionNet } from './FaceRecognitionNet';\n\nexport * from './FaceRecognitionNet';\n\nexport function createFaceRecognitionNet(weights: Float32Array) {\n const net = new FaceRecognitionNet();\n net.extractWeights(weights);\n return net;\n}\n", "export type WithFaceDescriptor = TSource & {\n descriptor: Float32Array\n}\n\nexport function extendWithFaceDescriptor<\n TSource\n>(\n sourceObj: TSource,\n descriptor: Float32Array,\n): WithFaceDescriptor {\n const extension = { descriptor };\n return { ...sourceObj, ...extension };\n}\n", "export type WithAge = TSource & {\n age: number\n}\n\nexport function isWithAge(obj: any): obj is WithAge<{}> {\n return typeof obj.age === 'number';\n}\n\nexport function extendWithAge<\n TSource\n>(\n sourceObj: TSource,\n age: number,\n): WithAge {\n const extension = { age };\n return { ...sourceObj, ...extension };\n}\n", "import { Gender } from '../ageGenderNet/types';\nimport { isValidProbablitiy } from '../utils/index';\n\nexport type WithGender = TSource & {\n gender: Gender\n genderProbability: number\n}\n\nexport function isWithGender(obj: any): obj is WithGender<{}> {\n return (obj.gender === Gender.MALE || obj.gender === Gender.FEMALE)\n && isValidProbablitiy(obj.genderProbability);\n}\n\nexport function extendWithGender<\n TSource\n>(\n sourceObj: TSource,\n gender: Gender,\n genderProbability: number,\n): WithGender {\n const extension = { gender, genderProbability };\n return { ...sourceObj, ...extension };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, ParamMapping, ConvParams, extractWeightsFactory } from '../common/index';\nimport { MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n function extractDepthwiseConvParams(numChannels: number, mappedPrefix: string): MobileNetV1.DepthwiseConvParams {\n const filters = tf.tensor4d(extractWeights(3 * 3 * numChannels), [3, 3, numChannels, 1]);\n const batch_norm_scale = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_offset = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_mean = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_variance = tf.tensor1d(extractWeights(numChannels));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/batch_norm_scale` },\n { paramPath: `${mappedPrefix}/batch_norm_offset` },\n { paramPath: `${mappedPrefix}/batch_norm_mean` },\n { paramPath: `${mappedPrefix}/batch_norm_variance` },\n );\n\n return {\n filters,\n batch_norm_scale,\n batch_norm_offset,\n batch_norm_mean,\n batch_norm_variance,\n };\n }\n\n function extractConvParams(\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n isPointwiseConv?: boolean,\n ): ConvParams {\n const filters = tf.tensor4d(\n extractWeights(channelsIn * channelsOut * filterSize * filterSize),\n [filterSize, filterSize, channelsIn, channelsOut],\n );\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/${isPointwiseConv ? 'batch_norm_offset' : 'bias'}` },\n );\n\n return { filters, bias };\n }\n\n function extractPointwiseConvParams(\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n ): PointwiseConvParams {\n const {\n filters,\n bias,\n } = extractConvParams(channelsIn, channelsOut, filterSize, mappedPrefix, true);\n\n return {\n filters,\n batch_norm_offset: bias,\n };\n }\n\n function extractConvPairParams(\n channelsIn: number,\n channelsOut: number,\n mappedPrefix: string,\n ): MobileNetV1.ConvPairParams {\n const depthwise_conv = extractDepthwiseConvParams(channelsIn, `${mappedPrefix}/depthwise_conv`);\n const pointwise_conv = extractPointwiseConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/pointwise_conv`);\n\n return { depthwise_conv, pointwise_conv };\n }\n\n function extractMobilenetV1Params(): MobileNetV1.Params {\n const conv_0 = extractPointwiseConvParams(3, 32, 3, 'mobilenetv1/conv_0');\n const conv_1 = extractConvPairParams(32, 64, 'mobilenetv1/conv_1');\n const conv_2 = extractConvPairParams(64, 128, 'mobilenetv1/conv_2');\n const conv_3 = extractConvPairParams(128, 128, 'mobilenetv1/conv_3');\n const conv_4 = extractConvPairParams(128, 256, 'mobilenetv1/conv_4');\n const conv_5 = extractConvPairParams(256, 256, 'mobilenetv1/conv_5');\n const conv_6 = extractConvPairParams(256, 512, 'mobilenetv1/conv_6');\n const conv_7 = extractConvPairParams(512, 512, 'mobilenetv1/conv_7');\n const conv_8 = extractConvPairParams(512, 512, 'mobilenetv1/conv_8');\n const conv_9 = extractConvPairParams(512, 512, 'mobilenetv1/conv_9');\n const conv_10 = extractConvPairParams(512, 512, 'mobilenetv1/conv_10');\n const conv_11 = extractConvPairParams(512, 512, 'mobilenetv1/conv_11');\n const conv_12 = extractConvPairParams(512, 1024, 'mobilenetv1/conv_12');\n const conv_13 = extractConvPairParams(1024, 1024, 'mobilenetv1/conv_13');\n return {\n conv_0,\n conv_1,\n conv_2,\n conv_3,\n conv_4,\n conv_5,\n conv_6,\n conv_7,\n conv_8,\n conv_9,\n conv_10,\n conv_11,\n conv_12,\n conv_13,\n };\n }\n\n function extractPredictionLayerParams(): PredictionLayerParams {\n const conv_0 = extractPointwiseConvParams(1024, 256, 1, 'prediction_layer/conv_0');\n const conv_1 = extractPointwiseConvParams(256, 512, 3, 'prediction_layer/conv_1');\n const conv_2 = extractPointwiseConvParams(512, 128, 1, 'prediction_layer/conv_2');\n const conv_3 = extractPointwiseConvParams(128, 256, 3, 'prediction_layer/conv_3');\n const conv_4 = extractPointwiseConvParams(256, 128, 1, 'prediction_layer/conv_4');\n const conv_5 = extractPointwiseConvParams(128, 256, 3, 'prediction_layer/conv_5');\n const conv_6 = extractPointwiseConvParams(256, 64, 1, 'prediction_layer/conv_6');\n const conv_7 = extractPointwiseConvParams(64, 128, 3, 'prediction_layer/conv_7');\n const box_encoding_0_predictor = extractConvParams(512, 12, 1, 'prediction_layer/box_predictor_0/box_encoding_predictor');\n const class_predictor_0 = extractConvParams(512, 9, 1, 'prediction_layer/box_predictor_0/class_predictor');\n const box_encoding_1_predictor = extractConvParams(1024, 24, 1, 'prediction_layer/box_predictor_1/box_encoding_predictor');\n const class_predictor_1 = extractConvParams(1024, 18, 1, 'prediction_layer/box_predictor_1/class_predictor');\n const box_encoding_2_predictor = extractConvParams(512, 24, 1, 'prediction_layer/box_predictor_2/box_encoding_predictor');\n const class_predictor_2 = extractConvParams(512, 18, 1, 'prediction_layer/box_predictor_2/class_predictor');\n const box_encoding_3_predictor = extractConvParams(256, 24, 1, 'prediction_layer/box_predictor_3/box_encoding_predictor');\n const class_predictor_3 = extractConvParams(256, 18, 1, 'prediction_layer/box_predictor_3/class_predictor');\n const box_encoding_4_predictor = extractConvParams(256, 24, 1, 'prediction_layer/box_predictor_4/box_encoding_predictor');\n const class_predictor_4 = extractConvParams(256, 18, 1, 'prediction_layer/box_predictor_4/class_predictor');\n const box_encoding_5_predictor = extractConvParams(128, 24, 1, 'prediction_layer/box_predictor_5/box_encoding_predictor');\n const class_predictor_5 = extractConvParams(128, 18, 1, 'prediction_layer/box_predictor_5/class_predictor');\n\n const box_predictor_0 = {\n box_encoding_predictor: box_encoding_0_predictor,\n class_predictor: class_predictor_0,\n };\n const box_predictor_1 = {\n box_encoding_predictor: box_encoding_1_predictor,\n class_predictor: class_predictor_1,\n };\n const box_predictor_2 = {\n box_encoding_predictor: box_encoding_2_predictor,\n class_predictor: class_predictor_2,\n };\n const box_predictor_3 = {\n box_encoding_predictor: box_encoding_3_predictor,\n class_predictor: class_predictor_3,\n };\n const box_predictor_4 = {\n box_encoding_predictor: box_encoding_4_predictor,\n class_predictor: class_predictor_4,\n };\n const box_predictor_5 = {\n box_encoding_predictor: box_encoding_5_predictor,\n class_predictor: class_predictor_5,\n };\n return {\n conv_0,\n conv_1,\n conv_2,\n conv_3,\n conv_4,\n conv_5,\n conv_6,\n conv_7,\n box_predictor_0,\n box_predictor_1,\n box_predictor_2,\n box_predictor_3,\n box_predictor_4,\n box_predictor_5,\n };\n }\n\n return {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n };\n}\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n const {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n } = extractorsFactory(extractWeights, paramMappings);\n const mobilenetv1 = extractMobilenetV1Params();\n const prediction_layer = extractPredictionLayerParams();\n const extra_dim = tf.tensor3d(\n extractWeights(5118 * 4),\n [1, 5118, 4],\n );\n const output_layer = {\n extra_dim,\n };\n paramMappings.push({ paramPath: 'output_layer/extra_dim' });\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n params: {\n mobilenetv1,\n prediction_layer,\n output_layer,\n },\n paramMappings,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, disposeUnusedWeightTensors, extractWeightEntryFactory, ParamMapping } from '../common/index';\nimport { isTensor3D } from '../utils/index';\nimport { BoxPredictionParams, MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractPointwiseConvParams(prefix: string, idx: number, mappedPrefix: string): PointwiseConvParams {\n const filters = extractWeightEntry(`${prefix}/Conv2d_${idx}_pointwise/weights`, 4, `${mappedPrefix}/filters`);\n const batch_norm_offset = extractWeightEntry(`${prefix}/Conv2d_${idx}_pointwise/convolution_bn_offset`, 1, `${mappedPrefix}/batch_norm_offset`);\n return { filters, batch_norm_offset };\n }\n\n function extractConvPairParams(idx: number): MobileNetV1.ConvPairParams {\n const mappedPrefix = `mobilenetv1/conv_${idx}`;\n const prefixDepthwiseConv = `MobilenetV1/Conv2d_${idx}_depthwise`;\n const mappedPrefixDepthwiseConv = `${mappedPrefix}/depthwise_conv`;\n const mappedPrefixPointwiseConv = `${mappedPrefix}/pointwise_conv`;\n\n const filters = extractWeightEntry(`${prefixDepthwiseConv}/depthwise_weights`, 4, `${mappedPrefixDepthwiseConv}/filters`);\n const batch_norm_scale = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/gamma`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_scale`);\n const batch_norm_offset = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/beta`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_offset`);\n const batch_norm_mean = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/moving_mean`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_mean`);\n const batch_norm_variance = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/moving_variance`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_variance`);\n\n return {\n depthwise_conv: {\n filters,\n batch_norm_scale,\n batch_norm_offset,\n batch_norm_mean,\n batch_norm_variance,\n },\n pointwise_conv: extractPointwiseConvParams('MobilenetV1', idx, mappedPrefixPointwiseConv),\n };\n }\n\n function extractMobilenetV1Params(): MobileNetV1.Params {\n return {\n conv_0: extractPointwiseConvParams('MobilenetV1', 0, 'mobilenetv1/conv_0'),\n conv_1: extractConvPairParams(1),\n conv_2: extractConvPairParams(2),\n conv_3: extractConvPairParams(3),\n conv_4: extractConvPairParams(4),\n conv_5: extractConvPairParams(5),\n conv_6: extractConvPairParams(6),\n conv_7: extractConvPairParams(7),\n conv_8: extractConvPairParams(8),\n conv_9: extractConvPairParams(9),\n conv_10: extractConvPairParams(10),\n conv_11: extractConvPairParams(11),\n conv_12: extractConvPairParams(12),\n conv_13: extractConvPairParams(13),\n };\n }\n\n function extractConvParams(prefix: string, mappedPrefix: string): ConvParams {\n const filters = extractWeightEntry(`${prefix}/weights`, 4, `${mappedPrefix}/filters`);\n const bias = extractWeightEntry(`${prefix}/biases`, 1, `${mappedPrefix}/bias`);\n return { filters, bias };\n }\n\n function extractBoxPredictorParams(idx: number): BoxPredictionParams {\n const box_encoding_predictor = extractConvParams(\n `Prediction/BoxPredictor_${idx}/BoxEncodingPredictor`,\n `prediction_layer/box_predictor_${idx}/box_encoding_predictor`,\n );\n const class_predictor = extractConvParams(\n `Prediction/BoxPredictor_${idx}/ClassPredictor`,\n `prediction_layer/box_predictor_${idx}/class_predictor`,\n );\n return { box_encoding_predictor, class_predictor };\n }\n\n function extractPredictionLayerParams(): PredictionLayerParams {\n return {\n conv_0: extractPointwiseConvParams('Prediction', 0, 'prediction_layer/conv_0'),\n conv_1: extractPointwiseConvParams('Prediction', 1, 'prediction_layer/conv_1'),\n conv_2: extractPointwiseConvParams('Prediction', 2, 'prediction_layer/conv_2'),\n conv_3: extractPointwiseConvParams('Prediction', 3, 'prediction_layer/conv_3'),\n conv_4: extractPointwiseConvParams('Prediction', 4, 'prediction_layer/conv_4'),\n conv_5: extractPointwiseConvParams('Prediction', 5, 'prediction_layer/conv_5'),\n conv_6: extractPointwiseConvParams('Prediction', 6, 'prediction_layer/conv_6'),\n conv_7: extractPointwiseConvParams('Prediction', 7, 'prediction_layer/conv_7'),\n box_predictor_0: extractBoxPredictorParams(0),\n box_predictor_1: extractBoxPredictorParams(1),\n box_predictor_2: extractBoxPredictorParams(2),\n box_predictor_3: extractBoxPredictorParams(3),\n box_predictor_4: extractBoxPredictorParams(4),\n box_predictor_5: extractBoxPredictorParams(5),\n };\n }\n\n return {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n const {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n } = extractorsFactory(weightMap, paramMappings);\n const extra_dim = weightMap['Output/extra_dim'];\n paramMappings.push({ originalPath: 'Output/extra_dim', paramPath: 'output_layer/extra_dim' });\n if (!isTensor3D(extra_dim)) {\n throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${extra_dim}`);\n }\n\n const params = {\n mobilenetv1: extractMobilenetV1Params(),\n prediction_layer: extractPredictionLayerParams(),\n output_layer: {\n extra_dim,\n },\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { PointwiseConvParams } from './types';\n\nexport function pointwiseConvLayer(x: tf.Tensor4D, params: PointwiseConvParams, strides: [number, number]) {\n return tf.tidy(() => {\n let out = tf.conv2d(x, params.filters, strides, 'same');\n out = tf.add(out, params.batch_norm_offset);\n return tf.clipByValue(out, 0, 6);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { pointwiseConvLayer } from './pointwiseConvLayer';\nimport { MobileNetV1 } from './types';\n\nconst epsilon = 0.0010000000474974513;\n\nfunction depthwiseConvLayer(x: tf.Tensor4D, params: MobileNetV1.DepthwiseConvParams, strides: [number, number]) {\n return tf.tidy(() => {\n let out = tf.depthwiseConv2d(x, params.filters, strides, 'same');\n out = tf.batchNorm(\n out,\n params.batch_norm_mean,\n params.batch_norm_variance,\n params.batch_norm_offset,\n params.batch_norm_scale,\n epsilon,\n );\n return tf.clipByValue(out, 0, 6);\n });\n}\n\nfunction getStridesForLayerIdx(layerIdx: number): [number, number] {\n return [2, 4, 6, 12].some((idx) => idx === layerIdx) ? [2, 2] : [1, 1];\n}\n\nexport function mobileNetV1(x: tf.Tensor4D, params: MobileNetV1.Params) {\n return tf.tidy(() => {\n let conv11;\n let out = pointwiseConvLayer(x, params.conv_0, [2, 2]);\n\n const convPairParams = [\n params.conv_1,\n params.conv_2,\n params.conv_3,\n params.conv_4,\n params.conv_5,\n params.conv_6,\n params.conv_7,\n params.conv_8,\n params.conv_9,\n params.conv_10,\n params.conv_11,\n params.conv_12,\n params.conv_13,\n ];\n\n convPairParams.forEach((param, i) => {\n const layerIdx = i + 1;\n const depthwiseConvStrides = getStridesForLayerIdx(layerIdx);\n out = depthwiseConvLayer(out, param.depthwise_conv, depthwiseConvStrides);\n out = pointwiseConvLayer(out, param.pointwise_conv, [1, 1]);\n if (layerIdx === 11) conv11 = out;\n });\n\n if (conv11 === null) {\n throw new Error('mobileNetV1 - output of conv layer 11 is null');\n }\n\n return {\n out,\n conv11: conv11 as any,\n };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nfunction IOU(boxes: tf.Tensor2D, i: number, j: number) {\n const boxesData = boxes.arraySync();\n const yminI = Math.min(boxesData[i][0], boxesData[i][2]);\n const xminI = Math.min(boxesData[i][1], boxesData[i][3]);\n const ymaxI = Math.max(boxesData[i][0], boxesData[i][2]);\n const xmaxI = Math.max(boxesData[i][1], boxesData[i][3]);\n const yminJ = Math.min(boxesData[j][0], boxesData[j][2]);\n const xminJ = Math.min(boxesData[j][1], boxesData[j][3]);\n const ymaxJ = Math.max(boxesData[j][0], boxesData[j][2]);\n const xmaxJ = Math.max(boxesData[j][1], boxesData[j][3]);\n const areaI = (ymaxI - yminI) * (xmaxI - xminI);\n const areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ);\n if (areaI <= 0 || areaJ <= 0) return 0.0;\n const intersectionYmin = Math.max(yminI, yminJ);\n const intersectionXmin = Math.max(xminI, xminJ);\n const intersectionYmax = Math.min(ymaxI, ymaxJ);\n const intersectionXmax = Math.min(xmaxI, xmaxJ);\n const intersectionArea = Math.max(intersectionYmax - intersectionYmin, 0.0) * Math.max(intersectionXmax - intersectionXmin, 0.0);\n return intersectionArea / (areaI + areaJ - intersectionArea);\n}\n\nexport function nonMaxSuppression(\n boxes: tf.Tensor2D,\n scores: number[],\n maxOutputSize: number,\n iouThreshold: number,\n scoreThreshold: number,\n): number[] {\n const numBoxes = boxes.shape[0];\n const outputSize = Math.min(maxOutputSize, numBoxes);\n\n const candidates = scores\n .map((score, boxIndex) => ({ score, boxIndex }))\n .filter((c) => c.score > scoreThreshold)\n .sort((c1, c2) => c2.score - c1.score);\n\n const suppressFunc = (x: number) => (x <= iouThreshold ? 1 : 0);\n const selected: number[] = [];\n\n candidates.forEach((c) => {\n if (selected.length >= outputSize) return;\n const originalScore = c.score;\n for (let j = selected.length - 1; j >= 0; --j) {\n const iou = IOU(boxes, c.boxIndex, selected[j]);\n if (iou === 0.0) continue;\n c.score *= suppressFunc(iou);\n if (c.score <= scoreThreshold) break;\n }\n if (originalScore === c.score) {\n selected.push(c.boxIndex);\n }\n });\n return selected;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { OutputLayerParams } from './types';\n\nfunction getCenterCoordinatesAndSizesLayer(x: tf.Tensor2D) {\n const vec = tf.unstack(tf.transpose(x, [1, 0]));\n\n const sizes = [\n tf.sub(vec[2], vec[0]),\n tf.sub(vec[3], vec[1]),\n ];\n const centers = [\n tf.add(vec[0], tf.div(sizes[0], 2)),\n tf.add(vec[1], tf.div(sizes[1], 2)),\n ];\n return { sizes, centers };\n}\n\nfunction decodeBoxesLayer(x0: tf.Tensor2D, x1: tf.Tensor2D) {\n const { sizes, centers } = getCenterCoordinatesAndSizesLayer(x0);\n\n const vec = tf.unstack(tf.transpose(x1, [1, 0]));\n const div0_out = tf.div(tf.mul(tf.exp(tf.div(vec[2], 5)), sizes[0]), 2);\n const add0_out = tf.add(tf.mul(tf.div(vec[0], 10), sizes[0]), centers[0]);\n const div1_out = tf.div(tf.mul(tf.exp(tf.div(vec[3], 5)), sizes[1]), 2);\n const add1_out = tf.add(tf.mul(tf.div(vec[1], 10), sizes[1]), centers[1]);\n\n return tf.transpose(\n tf.stack([\n tf.sub(add0_out, div0_out),\n tf.sub(add1_out, div1_out),\n tf.add(add0_out, div0_out),\n tf.add(add1_out, div1_out),\n ]),\n [1, 0],\n );\n}\n\nexport function outputLayer(boxPredictions: tf.Tensor4D, classPredictions: tf.Tensor4D, params: OutputLayerParams) {\n return tf.tidy(() => {\n const batchSize = boxPredictions.shape[0];\n\n let boxes = decodeBoxesLayer(\n tf.reshape(tf.tile(params.extra_dim, [batchSize, 1, 1]), [-1, 4]) as tf.Tensor2D,\n tf.reshape(boxPredictions, [-1, 4]) as tf.Tensor2D,\n );\n boxes = tf.reshape(boxes, [batchSize, (boxes.shape[0] / batchSize), 4]);\n\n const scoresAndClasses = tf.sigmoid(tf.slice(classPredictions, [0, 0, 1], [-1, -1, -1]));\n let scores = tf.slice(scoresAndClasses, [0, 0, 0], [-1, -1, 1]) as tf.Tensor;\n\n scores = tf.reshape(scores, [batchSize, scores.shape[1] as number]);\n\n const boxesByBatch = tf.unstack(boxes) as tf.Tensor2D[];\n const scoresByBatch = tf.unstack(scores) as tf.Tensor1D[];\n\n return { boxes: boxesByBatch, scores: scoresByBatch };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { convLayer } from '../common/index';\nimport { BoxPredictionParams } from './types';\n\nexport function boxPredictionLayer(\n x: tf.Tensor4D,\n params: BoxPredictionParams,\n) {\n return tf.tidy(() => {\n const batchSize = x.shape[0];\n const boxPredictionEncoding = tf.reshape(\n convLayer(x, params.box_encoding_predictor),\n [batchSize, -1, 1, 4],\n );\n const classPrediction = tf.reshape(\n convLayer(x, params.class_predictor),\n [batchSize, -1, 3],\n );\n return { boxPredictionEncoding, classPrediction };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { boxPredictionLayer } from './boxPredictionLayer';\nimport { pointwiseConvLayer } from './pointwiseConvLayer';\nimport { PredictionLayerParams } from './types';\n\nexport function predictionLayer(\n x: tf.Tensor4D,\n conv11: tf.Tensor4D,\n params: PredictionLayerParams,\n) {\n return tf.tidy(() => {\n const conv0 = pointwiseConvLayer(x, params.conv_0, [1, 1]);\n const conv1 = pointwiseConvLayer(conv0, params.conv_1, [2, 2]);\n const conv2 = pointwiseConvLayer(conv1, params.conv_2, [1, 1]);\n const conv3 = pointwiseConvLayer(conv2, params.conv_3, [2, 2]);\n const conv4 = pointwiseConvLayer(conv3, params.conv_4, [1, 1]);\n const conv5 = pointwiseConvLayer(conv4, params.conv_5, [2, 2]);\n const conv6 = pointwiseConvLayer(conv5, params.conv_6, [1, 1]);\n const conv7 = pointwiseConvLayer(conv6, params.conv_7, [2, 2]);\n\n const boxPrediction0 = boxPredictionLayer(conv11, params.box_predictor_0);\n const boxPrediction1 = boxPredictionLayer(x, params.box_predictor_1);\n const boxPrediction2 = boxPredictionLayer(conv1, params.box_predictor_2);\n const boxPrediction3 = boxPredictionLayer(conv3, params.box_predictor_3);\n const boxPrediction4 = boxPredictionLayer(conv5, params.box_predictor_4);\n const boxPrediction5 = boxPredictionLayer(conv7, params.box_predictor_5);\n\n const boxPredictions = tf.concat([\n boxPrediction0.boxPredictionEncoding,\n boxPrediction1.boxPredictionEncoding,\n boxPrediction2.boxPredictionEncoding,\n boxPrediction3.boxPredictionEncoding,\n boxPrediction4.boxPredictionEncoding,\n boxPrediction5.boxPredictionEncoding,\n ], 1) as tf.Tensor4D;\n\n const classPredictions = tf.concat([\n boxPrediction0.classPrediction,\n boxPrediction1.classPrediction,\n boxPrediction2.classPrediction,\n boxPrediction3.classPrediction,\n boxPrediction4.classPrediction,\n boxPrediction5.classPrediction,\n ], 1) as tf.Tensor4D;\n\n return {\n boxPredictions,\n classPredictions,\n };\n });\n}\n", "export interface ISsdMobilenetv1Options {\n minConfidence?: number\n maxResults?: number\n}\n\nexport class SsdMobilenetv1Options {\n protected _name = 'SsdMobilenetv1Options';\n\n private _minConfidence: number;\n\n private _maxResults: number;\n\n constructor({ minConfidence, maxResults }: ISsdMobilenetv1Options = {}) {\n this._minConfidence = minConfidence || 0.5;\n this._maxResults = maxResults || 100;\n\n if (typeof this._minConfidence !== 'number' || this._minConfidence <= 0 || this._minConfidence >= 1) {\n throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);\n }\n\n if (typeof this._maxResults !== 'number') {\n throw new Error(`${this._name} - expected maxResults to be a number`);\n }\n }\n\n get minConfidence(): number { return this._minConfidence; }\n\n get maxResults(): number { return this._maxResults; }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Rect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { mobileNetV1 } from './mobileNetV1';\nimport { nonMaxSuppression } from './nonMaxSuppression';\nimport { outputLayer } from './outputLayer';\nimport { predictionLayer } from './predictionLayer';\nimport { ISsdMobilenetv1Options, SsdMobilenetv1Options } from './SsdMobilenetv1Options';\nimport { NetParams } from './types';\n\nexport class SsdMobilenetv1 extends NeuralNetwork {\n constructor() {\n super('SsdMobilenetv1');\n }\n\n public forwardInput(input: NetInput) {\n const { params } = this;\n if (!params) throw new Error('SsdMobilenetv1 - load model before inference');\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(512, false), 'float32');\n const x = tf.sub(tf.div(batchTensor, 127.5), 1) as tf.Tensor4D; // input is normalized -1..1\n const features = mobileNetV1(x, params.mobilenetv1);\n const { boxPredictions, classPredictions } = predictionLayer(features.out, features.conv11, params.prediction_layer);\n return outputLayer(boxPredictions, classPredictions, params.output_layer);\n });\n }\n\n public async forward(input: TNetInput) {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async locateFaces(input: TNetInput, options: ISsdMobilenetv1Options = {}): Promise {\n const { maxResults, minConfidence } = new SsdMobilenetv1Options(options);\n const netInput = await toNetInput(input);\n const { boxes: _boxes, scores: _scores } = this.forwardInput(netInput);\n const boxes = _boxes[0];\n const scores = _scores[0];\n for (let i = 1; i < _boxes.length; i++) {\n _boxes[i].dispose();\n _scores[i].dispose();\n }\n const scoresData = Array.from(scores.dataSync());\n const iouThreshold = 0.5;\n const indices = nonMaxSuppression(boxes, scoresData as number[], maxResults, iouThreshold, minConfidence);\n const reshapedDims = netInput.getReshapedInputDimensions(0);\n const inputSize = netInput.inputSize as number;\n const padX = inputSize / reshapedDims.width;\n const padY = inputSize / reshapedDims.height;\n const boxesData = boxes.arraySync();\n const results = indices\n .map((idx) => {\n const [top, bottom] = [\n Math.max(0, boxesData[idx][0]),\n Math.min(1.0, boxesData[idx][2]),\n ].map((val) => val * padY);\n const [left, right] = [\n Math.max(0, boxesData[idx][1]),\n Math.min(1.0, boxesData[idx][3]),\n ].map((val) => val * padX);\n return new FaceDetection(\n scoresData[idx] as number,\n new Rect(left, top, right - left, bottom - top),\n { height: netInput.getInputHeight(0), width: netInput.getInputWidth(0) },\n );\n });\n boxes.dispose();\n scores.dispose();\n return results;\n }\n\n protected getDefaultModelName(): string {\n return 'ssd_mobilenetv1_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import { SsdMobilenetv1 } from './SsdMobilenetv1';\n\nexport * from './SsdMobilenetv1';\nexport * from './SsdMobilenetv1Options';\n\nexport function createSsdMobilenetv1(weights: Float32Array) {\n const net = new SsdMobilenetv1();\n net.extractWeights(weights);\n return net;\n}\n\nexport function createFaceDetectionNet(weights: Float32Array) {\n return createSsdMobilenetv1(weights);\n}\n\n// alias for backward compatibily\nexport class FaceDetectionNet extends SsdMobilenetv1 {}\n", "import { Point } from '../classes/index';\n\nexport const IOU_THRESHOLD = 0.4;\n\nexport const BOX_ANCHORS = [\n new Point(0.738768, 0.874946),\n new Point(2.42204, 2.65704),\n new Point(4.30971, 7.04493),\n new Point(10.246, 4.59428),\n new Point(12.6868, 11.8741),\n];\n\nexport const BOX_ANCHORS_SEPARABLE = [\n new Point(1.603231, 2.094468),\n new Point(6.041143, 7.080126),\n new Point(2.882459, 3.518061),\n new Point(4.266906, 5.178857),\n new Point(9.041765, 10.66308),\n];\n\nexport const MEAN_RGB_SEPARABLE: [number, number, number] = [117.001, 114.697, 97.404];\n\nexport const DEFAULT_MODEL_NAME = 'tiny_yolov2_model';\nexport const DEFAULT_MODEL_NAME_SEPARABLE_CONV = 'tiny_yolov2_separable_conv_model';\n", "import { Point } from '../classes/Point';\n\nexport type TinyYolov2Config = {\n withSeparableConvs: boolean\n iouThreshold: number\n anchors: Point[]\n classes: string[]\n meanRgb?: [number, number, number]\n withClassScores?: boolean,\n filterSizes?: number[]\n isFirstLayerConv2d?: boolean\n}\n\nconst isNumber = (arg: any) => typeof arg === 'number';\n\nexport function validateConfig(config: any) {\n if (!config) {\n throw new Error(`invalid config: ${config}`);\n }\n\n if (typeof config.withSeparableConvs !== 'boolean') {\n throw new Error(`config.withSeparableConvs has to be a boolean, have: ${config.withSeparableConvs}`);\n }\n\n if (!isNumber(config.iouThreshold) || config.iouThreshold < 0 || config.iouThreshold > 1.0) {\n throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${config.iouThreshold}`);\n }\n\n if (\n !Array.isArray(config.classes)\n || !config.classes.length\n || !config.classes.every((c: any) => typeof c === 'string')\n ) {\n throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(config.classes)}`);\n }\n\n if (\n !Array.isArray(config.anchors)\n || !config.anchors.length\n || !config.anchors.map((a: any) => a || {}).every((a: any) => isNumber(a.x) && isNumber(a.y))\n ) {\n throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(config.anchors)}`);\n }\n\n if (config.meanRgb && (\n !Array.isArray(config.meanRgb)\n || config.meanRgb.length !== 3\n || !config.meanRgb.every(isNumber)\n )) {\n throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(config.meanRgb)}`);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function leaky(x: tf.Tensor4D): tf.Tensor4D {\n return tf.tidy(() => {\n const min = tf.mul(x, tf.scalar(0.10000000149011612));\n return tf.add(tf.relu(tf.sub(x, min)), min);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { leaky } from './leaky';\nimport { ConvWithBatchNorm } from './types';\n\nexport function convWithBatchNorm(x: tf.Tensor4D, params: ConvWithBatchNorm): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;\n out = tf.conv2d(out, params.conv.filters, [1, 1], 'valid');\n out = tf.sub(out, params.bn.sub);\n out = tf.mul(out, params.bn.truediv);\n out = tf.add(out, params.conv.bias);\n return leaky(out);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { SeparableConvParams } from '../common/types';\nimport { leaky } from './leaky';\n\nexport function depthwiseSeparableConv(x: tf.Tensor4D, params: SeparableConvParams): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;\n out = tf.separableConv2d(out, params.depthwise_filter, params.pointwise_filter, [1, 1], 'valid');\n out = tf.add(out, params.bias);\n return leaky(out);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { extractConvParamsFactory } from '../common/index';\nimport { extractSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory';\nimport { extractWeightsFactory } from '../common/extractWeightsFactory';\nimport { ExtractWeightsFunction, ParamMapping } from '../common/types';\nimport { TinyYolov2Config } from './config';\nimport { BatchNorm, ConvWithBatchNorm, TinyYolov2NetParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n\n function extractBatchNormParams(size: number, mappedPrefix: string): BatchNorm {\n const sub = tf.tensor1d(extractWeights(size));\n const truediv = tf.tensor1d(extractWeights(size));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/sub` },\n { paramPath: `${mappedPrefix}/truediv` },\n );\n return { sub, truediv };\n }\n\n function extractConvWithBatchNormParams(channelsIn: number, channelsOut: number, mappedPrefix: string): ConvWithBatchNorm {\n const conv = extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv`);\n const bn = extractBatchNormParams(channelsOut, `${mappedPrefix}/bn`);\n return { conv, bn };\n }\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n return {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n };\n}\n\nexport function extractParams(\n weights: Float32Array,\n config: TinyYolov2Config,\n boxEncodingSize: number,\n filterSizes: number[],\n): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const paramMappings: ParamMapping[] = [];\n const {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n } = extractorsFactory(extractWeights, paramMappings);\n let params: TinyYolov2NetParams;\n\n if (config.withSeparableConvs) {\n const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes;\n const conv0 = config.isFirstLayerConv2d\n ? extractConvParams(s0, s1, 3, 'conv0')\n : extractSeparableConvParams(s0, s1, 'conv0');\n const conv1 = extractSeparableConvParams(s1, s2, 'conv1');\n const conv2 = extractSeparableConvParams(s2, s3, 'conv2');\n const conv3 = extractSeparableConvParams(s3, s4, 'conv3');\n const conv4 = extractSeparableConvParams(s4, s5, 'conv4');\n const conv5 = extractSeparableConvParams(s5, s6, 'conv5');\n const conv6 = s7 ? extractSeparableConvParams(s6, s7, 'conv6') : undefined;\n const conv7 = s8 ? extractSeparableConvParams(s7, s8, 'conv7') : undefined;\n const conv8 = extractConvParams(s8 || s7 || s6, 5 * boxEncodingSize, 1, 'conv8');\n params = {\n conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8,\n };\n } else {\n const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes;\n const conv0 = extractConvWithBatchNormParams(s0, s1, 'conv0');\n const conv1 = extractConvWithBatchNormParams(s1, s2, 'conv1');\n const conv2 = extractConvWithBatchNormParams(s2, s3, 'conv2');\n const conv3 = extractConvWithBatchNormParams(s3, s4, 'conv3');\n const conv4 = extractConvWithBatchNormParams(s4, s5, 'conv4');\n const conv5 = extractConvWithBatchNormParams(s5, s6, 'conv5');\n const conv6 = extractConvWithBatchNormParams(s6, s7, 'conv6');\n const conv7 = extractConvWithBatchNormParams(s7, s8, 'conv7');\n const conv8 = extractConvParams(s8, 5 * boxEncodingSize, 1, 'conv8');\n params = {\n conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8,\n };\n }\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from '../common/index';\nimport { disposeUnusedWeightTensors } from '../common/disposeUnusedWeightTensors';\nimport { loadSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory';\nimport { extractWeightEntryFactory } from '../common/extractWeightEntryFactory';\nimport { ParamMapping } from '../common/types';\nimport { TinyYolov2Config } from './config';\nimport { BatchNorm, ConvWithBatchNorm, TinyYolov2NetParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractBatchNormParams(prefix: string): BatchNorm {\n const sub = extractWeightEntry(`${prefix}/sub`, 1);\n const truediv = extractWeightEntry(`${prefix}/truediv`, 1);\n return { sub, truediv };\n }\n\n function extractConvParams(prefix: string): ConvParams {\n const filters = extractWeightEntry(`${prefix}/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { filters, bias };\n }\n\n function extractConvWithBatchNormParams(prefix: string): ConvWithBatchNorm {\n const conv = extractConvParams(`${prefix}/conv`);\n const bn = extractBatchNormParams(`${prefix}/bn`);\n return { conv, bn };\n }\n\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n return {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n config: TinyYolov2Config,\n): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n } = extractorsFactory(weightMap, paramMappings);\n\n let params: TinyYolov2NetParams;\n\n if (config.withSeparableConvs) {\n // eslint-disable-next-line no-mixed-operators\n const numFilters = (config.filterSizes && config.filterSizes.length || 9);\n params = {\n conv0: config.isFirstLayerConv2d ? extractConvParams('conv0') : extractSeparableConvParams('conv0'),\n conv1: extractSeparableConvParams('conv1'),\n conv2: extractSeparableConvParams('conv2'),\n conv3: extractSeparableConvParams('conv3'),\n conv4: extractSeparableConvParams('conv4'),\n conv5: extractSeparableConvParams('conv5'),\n conv6: numFilters > 7 ? extractSeparableConvParams('conv6') : undefined,\n conv7: numFilters > 8 ? extractSeparableConvParams('conv7') : undefined,\n conv8: extractConvParams('conv8'),\n };\n } else {\n params = {\n conv0: extractConvWithBatchNormParams('conv0'),\n conv1: extractConvWithBatchNormParams('conv1'),\n conv2: extractConvWithBatchNormParams('conv2'),\n conv3: extractConvWithBatchNormParams('conv3'),\n conv4: extractConvWithBatchNormParams('conv4'),\n conv5: extractConvWithBatchNormParams('conv5'),\n conv6: extractConvWithBatchNormParams('conv6'),\n conv7: extractConvWithBatchNormParams('conv7'),\n conv8: extractConvParams('conv8'),\n };\n }\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n return { params, paramMappings };\n}\n", "export interface ITinyYolov2Options {\n inputSize?: number\n scoreThreshold?: number\n}\n\nexport class TinyYolov2Options {\n protected _name = 'TinyYolov2Options';\n\n private _inputSize: number;\n\n private _scoreThreshold: number;\n\n constructor({ inputSize, scoreThreshold }: ITinyYolov2Options = {}) {\n this._inputSize = inputSize || 416;\n this._scoreThreshold = scoreThreshold || 0.5;\n\n if (typeof this._inputSize !== 'number' || this._inputSize % 32 !== 0) {\n throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);\n }\n\n if (typeof this._scoreThreshold !== 'number' || this._scoreThreshold <= 0 || this._scoreThreshold >= 1) {\n throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`);\n }\n }\n\n get inputSize(): number { return this._inputSize; }\n\n get scoreThreshold(): number { return this._scoreThreshold; }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { BoundingBox } from '../classes/BoundingBox';\nimport { Dimensions } from '../classes/Dimensions';\nimport { ObjectDetection } from '../classes/ObjectDetection';\nimport { convLayer } from '../common/index';\nimport { ConvParams, SeparableConvParams } from '../common/types';\nimport { toNetInput } from '../dom/index';\nimport { NetInput } from '../dom/NetInput';\nimport { TNetInput } from '../dom/types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { sigmoid } from '../ops/index';\nimport { nonMaxSuppression } from '../ops/nonMaxSuppression';\nimport { normalize } from '../ops/normalize';\nimport { TinyYolov2Config, validateConfig } from './config';\nimport { convWithBatchNorm } from './convWithBatchNorm';\nimport { depthwiseSeparableConv } from './depthwiseSeparableConv';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { leaky } from './leaky';\nimport { ITinyYolov2Options, TinyYolov2Options } from './TinyYolov2Options';\nimport { DefaultTinyYolov2NetParams, MobilenetParams, TinyYolov2NetParams } from './types';\n\nexport class TinyYolov2Base extends NeuralNetwork {\n public static DEFAULT_FILTER_SIZES = [3, 16, 32, 64, 128, 256, 512, 1024, 1024];\n\n private _config: TinyYolov2Config;\n\n constructor(config: TinyYolov2Config) {\n super('TinyYolov2');\n validateConfig(config);\n this._config = config;\n }\n\n public get config(): TinyYolov2Config {\n return this._config;\n }\n\n public get withClassScores(): boolean {\n return this.config.withClassScores || this.config.classes.length > 1;\n }\n\n public get boxEncodingSize(): number {\n return 5 + (this.withClassScores ? this.config.classes.length : 0);\n }\n\n public runTinyYolov2(x: tf.Tensor4D, params: DefaultTinyYolov2NetParams): tf.Tensor4D {\n let out = convWithBatchNorm(x, params.conv0);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv1);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv2);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv3);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv4);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv5);\n out = tf.maxPool(out, [2, 2], [1, 1], 'same');\n out = convWithBatchNorm(out, params.conv6);\n out = convWithBatchNorm(out, params.conv7);\n return convLayer(out, params.conv8, 'valid', false);\n }\n\n public runMobilenet(x: tf.Tensor4D, params: MobilenetParams): tf.Tensor4D {\n let out = this.config.isFirstLayerConv2d\n ? leaky(convLayer(x, params.conv0 as ConvParams, 'valid', false))\n : depthwiseSeparableConv(x, params.conv0 as SeparableConvParams);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv1);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv2);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv3);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv4);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv5);\n out = tf.maxPool(out, [2, 2], [1, 1], 'same');\n out = params.conv6 ? depthwiseSeparableConv(out, params.conv6) : out;\n out = params.conv7 ? depthwiseSeparableConv(out, params.conv7) : out;\n return convLayer(out, params.conv8, 'valid', false);\n }\n\n public forwardInput(input: NetInput, inputSize: number): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('TinyYolov2 - load model before inference');\n }\n\n return tf.tidy(() => {\n let batchTensor = tf.cast(input.toBatchTensor(inputSize, false), 'float32');\n batchTensor = this.config.meanRgb\n ? normalize(batchTensor, this.config.meanRgb)\n : batchTensor;\n batchTensor = batchTensor.div(255) as tf.Tensor4D;\n return this.config.withSeparableConvs\n ? this.runMobilenet(batchTensor, params as MobilenetParams)\n : this.runTinyYolov2(batchTensor, params as DefaultTinyYolov2NetParams);\n });\n }\n\n public async forward(input: TNetInput, inputSize: number): Promise {\n return this.forwardInput(await toNetInput(input), inputSize);\n }\n\n public async detect(input: TNetInput, forwardParams: ITinyYolov2Options = {}): Promise {\n const { inputSize, scoreThreshold } = new TinyYolov2Options(forwardParams);\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput, inputSize);\n const out0 = tf.tidy(() => tf.unstack(out)[0].expandDims()) as tf.Tensor4D;\n const inputDimensions = {\n width: netInput.getInputWidth(0),\n height: netInput.getInputHeight(0),\n };\n\n const results = await this.extractBoxes(out0, netInput.getReshapedInputDimensions(0), scoreThreshold);\n out.dispose();\n out0.dispose();\n\n const boxes = results.map((res) => res.box);\n const scores = results.map((res) => res.score);\n const classScores = results.map((res) => res.classScore);\n const classNames = results.map((res) => this.config.classes[res.label]);\n\n const indices = nonMaxSuppression(\n boxes.map((box) => box.rescale(inputSize)),\n scores,\n this.config.iouThreshold,\n true,\n );\n\n const detections = indices.map((idx) => new ObjectDetection(\n scores[idx],\n classScores[idx],\n classNames[idx],\n boxes[idx],\n inputDimensions,\n ));\n return detections;\n }\n\n protected getDefaultModelName(): string {\n return '';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap, this.config);\n }\n\n protected extractParams(weights: Float32Array) {\n const filterSizes = this.config.filterSizes || TinyYolov2Base.DEFAULT_FILTER_SIZES;\n\n const numFilters = filterSizes ? filterSizes.length : undefined;\n if (numFilters !== 7 && numFilters !== 8 && numFilters !== 9) {\n throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${numFilters} filterSizes in config`);\n }\n return extractParams(weights, this.config, this.boxEncodingSize, filterSizes);\n }\n\n protected async extractBoxes(\n outputTensor: tf.Tensor4D,\n inputBlobDimensions: Dimensions,\n scoreThreshold?: number,\n ) {\n const { width, height } = inputBlobDimensions;\n const inputSize = Math.max(width, height);\n const correctionFactorX = inputSize / width;\n const correctionFactorY = inputSize / height;\n\n const numCells = outputTensor.shape[1];\n const numBoxes = this.config.anchors.length;\n\n const [boxesTensor, scoresTensor, classScoresTensor] = tf.tidy(() => {\n const reshaped = outputTensor.reshape([numCells, numCells, numBoxes, this.boxEncodingSize]);\n\n const boxes = reshaped.slice([0, 0, 0, 0], [numCells, numCells, numBoxes, 4]);\n const scores = reshaped.slice([0, 0, 0, 4], [numCells, numCells, numBoxes, 1]);\n const classScores = this.withClassScores\n ? tf.softmax(reshaped.slice([0, 0, 0, 5], [numCells, numCells, numBoxes, this.config.classes.length]), 3)\n : tf.scalar(0);\n return [boxes, scores, classScores];\n });\n\n const results = [] as any;\n const scoresData = await scoresTensor.array();\n const boxesData = await boxesTensor.array();\n for (let row = 0; row < numCells; row++) {\n for (let col = 0; col < numCells; col++) {\n for (let anchor = 0; anchor < numBoxes; anchor++) {\n const score = sigmoid(scoresData[row][col][anchor][0]);\n if (!scoreThreshold || score > scoreThreshold) {\n const ctX = ((col + sigmoid(boxesData[row][col][anchor][0])) / numCells) * correctionFactorX;\n const ctY = ((row + sigmoid(boxesData[row][col][anchor][1])) / numCells) * correctionFactorY;\n const widthLocal = ((Math.exp(boxesData[row][col][anchor][2]) * this.config.anchors[anchor].x) / numCells) * correctionFactorX;\n const heightLocal = ((Math.exp(boxesData[row][col][anchor][3]) * this.config.anchors[anchor].y) / numCells) * correctionFactorY;\n const x = (ctX - (widthLocal / 2));\n const y = (ctY - (heightLocal / 2));\n const pos = { row, col, anchor };\n const { classScore, label } = this.withClassScores\n ? await this.extractPredictedClass(classScoresTensor as tf.Tensor4D, pos)\n : { classScore: 1, label: 0 };\n results.push({\n box: new BoundingBox(x, y, x + widthLocal, y + heightLocal),\n score,\n classScore: score * classScore,\n label,\n ...pos,\n });\n }\n }\n }\n }\n\n boxesTensor.dispose();\n scoresTensor.dispose();\n classScoresTensor.dispose();\n return results;\n }\n\n private async extractPredictedClass(classesTensor: tf.Tensor4D, pos: { row: number, col: number, anchor: number }) {\n const { row, col, anchor } = pos;\n const classesData = await classesTensor.array();\n return Array(this.config.classes.length).fill(0)\n .map((_, i) => classesData[row][col][anchor][i])\n .map((classScore, label) => ({\n classScore,\n label,\n }))\n .reduce((max, curr) => (max.classScore > curr.classScore ? max : curr));\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection, Point } from '../classes/index';\nimport { ParamMapping } from '../common/types';\nimport { TNetInput } from '../dom/types';\nimport {\n BOX_ANCHORS,\n BOX_ANCHORS_SEPARABLE,\n DEFAULT_MODEL_NAME,\n DEFAULT_MODEL_NAME_SEPARABLE_CONV,\n IOU_THRESHOLD,\n MEAN_RGB_SEPARABLE,\n} from './const';\nimport { TinyYolov2Base } from './TinyYolov2Base';\nimport { ITinyYolov2Options } from './TinyYolov2Options';\nimport { TinyYolov2NetParams } from './types';\n\nexport class TinyYolov2 extends TinyYolov2Base {\n constructor(withSeparableConvs = true) {\n const config = {\n withSeparableConvs,\n iouThreshold: IOU_THRESHOLD,\n classes: ['face'],\n ...(withSeparableConvs\n ? {\n anchors: BOX_ANCHORS_SEPARABLE,\n meanRgb: MEAN_RGB_SEPARABLE,\n }\n : {\n anchors: BOX_ANCHORS,\n withClassScores: true,\n }),\n };\n\n super(config);\n }\n\n public get withSeparableConvs(): boolean {\n return this.config.withSeparableConvs;\n }\n\n public get anchors(): Point[] {\n return this.config.anchors;\n }\n\n public async locateFaces(input: TNetInput, forwardParams: ITinyYolov2Options): Promise {\n const objectDetections = await this.detect(input, forwardParams);\n return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight }));\n }\n\n protected override getDefaultModelName(): string {\n return this.withSeparableConvs ? DEFAULT_MODEL_NAME_SEPARABLE_CONV : DEFAULT_MODEL_NAME;\n }\n\n protected override extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n return super.extractParamsFromWeightMap(weightMap);\n }\n}\n", "import { TinyYolov2 } from './TinyYolov2';\n\nexport * from './TinyYolov2Options';\nexport * from './config';\nexport * from './types';\nexport { TinyYolov2 };\n\nexport function createTinyYolov2(weights: Float32Array, withSeparableConvs = true) {\n const net = new TinyYolov2(withSeparableConvs);\n net.extractWeights(weights);\n return net;\n}\n", "import { ITinyYolov2Options, TinyYolov2Options } from '../tinyYolov2/index';\n\nexport type ITinyFaceDetectorOptions = ITinyYolov2Options\n\nexport class TinyFaceDetectorOptions extends TinyYolov2Options {\n protected override _name = 'TinyFaceDetectorOptions';\n}\n", "export class ComposableTask {\n // eslint-disable-next-line no-unused-vars\n public async then(onfulfilled: (value: T) => T | PromiseLike): Promise {\n return onfulfilled(await this.run());\n }\n\n public async run(): Promise {\n throw new Error('ComposableTask - run is not implemented');\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { extractFaces, extractFaceTensors, TNetInput } from '../dom/index';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\n\nexport async function extractAllFacesAndComputeResults, TResult>(\n parentResults: TSource[],\n input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n computeResults: (faces: Array) => Promise,\n extractedFaces?: Array | null,\n // eslint-disable-next-line no-unused-vars\n getRectForAlignment: (parentResult: WithFaceLandmarks) => FaceDetection = ({ alignedRect }) => alignedRect,\n) {\n const faceBoxes = parentResults.map((parentResult) => (isWithFaceLandmarks(parentResult)\n ? getRectForAlignment(parentResult)\n : parentResult.detection));\n const faces: Array = extractedFaces || (\n input instanceof tf.Tensor\n ? await extractFaceTensors(input, faceBoxes)\n : await extractFaces(input, faceBoxes)\n );\n const results = await computeResults(faces);\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n return results;\n}\n\nexport async function extractSingleFaceAndComputeResult, TResult>(\n parentResult: TSource,\n input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n computeResult: (face: HTMLCanvasElement | tf.Tensor3D) => Promise,\n extractedFaces?: Array | null,\n // eslint-disable-next-line no-unused-vars\n getRectForAlignment?: (parentResultLocal: WithFaceLandmarks) => FaceDetection,\n) {\n return extractAllFacesAndComputeResults(\n [parentResult],\n input,\n async (faces) => computeResult(faces[0]),\n extractedFaces,\n getRectForAlignment,\n );\n}\n", "import { Point } from '../classes/index';\n\nexport const IOU_THRESHOLD = 0.4;\n\nexport const BOX_ANCHORS = [\n new Point(1.603231, 2.094468),\n new Point(6.041143, 7.080126),\n new Point(2.882459, 3.518061),\n new Point(4.266906, 5.178857),\n new Point(9.041765, 10.66308),\n];\n\nexport const MEAN_RGB: [number, number, number] = [117.001, 114.697, 97.404];\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection, Point } from '../classes/index';\nimport { ParamMapping } from '../common/index';\nimport { TNetInput } from '../dom/index';\nimport { ITinyYolov2Options } from '../tinyYolov2/index';\nimport { TinyYolov2Base } from '../tinyYolov2/TinyYolov2Base';\nimport { TinyYolov2NetParams } from '../tinyYolov2/types';\nimport { BOX_ANCHORS, IOU_THRESHOLD, MEAN_RGB } from './const';\n\nexport class TinyFaceDetector extends TinyYolov2Base {\n constructor() {\n const config = {\n withSeparableConvs: true,\n iouThreshold: IOU_THRESHOLD,\n classes: ['face'],\n anchors: BOX_ANCHORS,\n meanRgb: MEAN_RGB,\n isFirstLayerConv2d: true,\n filterSizes: [3, 16, 32, 64, 128, 256, 512],\n };\n\n super(config);\n }\n\n public get anchors(): Point[] {\n return this.config.anchors;\n }\n\n public async locateFaces(input: TNetInput, forwardParams: ITinyYolov2Options): Promise {\n const objectDetections = await this.detect(input, forwardParams);\n return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight }));\n }\n\n protected override getDefaultModelName(): string {\n return 'tiny_face_detector_model';\n }\n\n protected override extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n return super.extractParamsFromWeightMap(weightMap);\n }\n}\n", "import { AgeGenderNet } from '../ageGenderNet/AgeGenderNet';\nimport { AgeAndGenderPrediction } from '../ageGenderNet/types';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { TNetInput } from '../dom/index';\nimport { FaceExpressionNet } from '../faceExpressionNet/FaceExpressionNet';\nimport { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\nimport { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net';\nimport { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet';\nimport { FaceRecognitionNet } from '../faceRecognitionNet/FaceRecognitionNet';\nimport { SsdMobilenetv1 } from '../ssdMobilenetv1/SsdMobilenetv1';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { TinyFaceDetector } from '../tinyFaceDetector/TinyFaceDetector';\nimport { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions';\nimport { ITinyYolov2Options, TinyYolov2 } from '../tinyYolov2/index';\n\nexport const nets = {\n ssdMobilenetv1: new SsdMobilenetv1(),\n tinyFaceDetector: new TinyFaceDetector(),\n tinyYolov2: new TinyYolov2(),\n faceLandmark68Net: new FaceLandmark68Net(),\n faceLandmark68TinyNet: new FaceLandmark68TinyNet(),\n faceRecognitionNet: new FaceRecognitionNet(),\n faceExpressionNet: new FaceExpressionNet(),\n ageGenderNet: new AgeGenderNet(),\n};\n\n/**\n * Attempts to detect all faces in an image using SSD Mobilenetv1 Network.\n *\n * @param input The input image.\n * @param options (optional, default: see SsdMobilenetv1Options constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const ssdMobilenetv1 = (input: TNetInput, options: SsdMobilenetv1Options): Promise => nets.ssdMobilenetv1.locateFaces(input, options);\n\n/**\n * Attempts to detect all faces in an image using the Tiny Face Detector.\n *\n * @param input The input image.\n * @param options (optional, default: see TinyFaceDetectorOptions constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const tinyFaceDetector = (input: TNetInput, options: TinyFaceDetectorOptions): Promise => nets.tinyFaceDetector.locateFaces(input, options);\n\n/**\n * Attempts to detect all faces in an image using the Tiny Yolov2 Network.\n *\n * @param input The input image.\n * @param options (optional, default: see TinyYolov2Options constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const tinyYolov2 = (input: TNetInput, options: ITinyYolov2Options): Promise => nets.tinyYolov2.locateFaces(input, options);\n\n/**\n * Detects the 68 point face landmark positions of the face shown in an image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns 68 point face landmarks or array thereof in case of batch input.\n */\nexport const detectFaceLandmarks = (input: TNetInput): Promise => nets.faceLandmark68Net.detectLandmarks(input);\n\n/**\n * Detects the 68 point face landmark positions of the face shown in an image\n * using a tinier version of the 68 point face landmark model, which is slightly\n * faster at inference, but also slightly less accurate.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns 68 point face landmarks or array thereof in case of batch input.\n */\nexport const detectFaceLandmarksTiny = (input: TNetInput): Promise => nets.faceLandmark68TinyNet.detectLandmarks(input);\n\n/**\n * Computes a 128 entry vector (face descriptor / face embeddings) from the face shown in an image,\n * which uniquely represents the features of that persons face. The computed face descriptor can\n * be used to measure the similarity between faces, by computing the euclidean distance of two\n * face descriptors.\n *\n * @param inputs The face image extracted from the aligned bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Face descriptor with 128 entries or array thereof in case of batch input.\n */\nexport const computeFaceDescriptor = (input: TNetInput): Promise => nets.faceRecognitionNet.computeFaceDescriptor(input);\n\n/**\n * Recognizes the facial expressions from a face image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Facial expressions with corresponding probabilities or array thereof in case of batch input.\n */\nexport const recognizeFaceExpressions = (input: TNetInput): Promise => nets.faceExpressionNet.predictExpressions(input);\n\n/**\n * Predicts age and gender from a face image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Predictions with age, gender and gender probability or array thereof in case of batch input.\n */\nexport const predictAgeAndGender = (input: TNetInput): Promise => nets.ageGenderNet.predictAgeAndGender(input);\n\nexport const loadSsdMobilenetv1Model = (url: string) => nets.ssdMobilenetv1.load(url);\nexport const loadTinyFaceDetectorModel = (url: string) => nets.tinyFaceDetector.load(url);\nexport const loadTinyYolov2Model = (url: string) => nets.tinyYolov2.load(url);\nexport const loadFaceLandmarkModel = (url: string) => nets.faceLandmark68Net.load(url);\nexport const loadFaceLandmarkTinyModel = (url: string) => nets.faceLandmark68TinyNet.load(url);\nexport const loadFaceRecognitionModel = (url: string) => nets.faceRecognitionNet.load(url);\nexport const loadFaceExpressionModel = (url: string) => nets.faceExpressionNet.load(url);\nexport const loadAgeGenderModel = (url: string) => nets.ageGenderNet.load(url);\n\n// backward compatibility\nexport const loadFaceDetectionModel = loadSsdMobilenetv1Model;\nexport const locateFaces = ssdMobilenetv1;\nexport const detectLandmarks = detectFaceLandmarks;\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { TNetInput } from '../dom/index';\nimport { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { extendWithFaceExpressions, WithFaceExpressions } from '../factories/WithFaceExpressions';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderTask, PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\n\nexport class PredictFaceExpressionsTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected extractedFaces?: Array,\n ) {\n super();\n }\n}\n\nexport class PredictAllFaceExpressionsTask> extends PredictFaceExpressionsTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n\n const faceExpressionsByFace = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n async (faces) => Promise.all(\n faces.map((face) => nets.faceExpressionNet.predictExpressions(face) as Promise),\n ),\n this.extractedFaces,\n );\n\n return parentResults.map(\n (parentResult, i) => extendWithFaceExpressions(parentResult, faceExpressionsByFace[i]),\n );\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderTask(this, this.input);\n }\n}\n\nexport class PredictSingleFaceExpressionsTask> extends PredictFaceExpressionsTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) {\n return undefined;\n }\n\n const faceExpressions = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.faceExpressionNet.predictExpressions(face) as Promise,\n this.extractedFaces,\n );\n\n return extendWithFaceExpressions(parentResult, faceExpressions);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderTask(this, this.input);\n }\n}\n\nexport class PredictAllFaceExpressionsWithFaceAlignmentTask>> extends PredictAllFaceExpressionsTask {\n override withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class PredictSingleFaceExpressionsWithFaceAlignmentTask>> extends PredictSingleFaceExpressionsTask {\n override withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { AgeAndGenderPrediction } from '../ageGenderNet/types';\nimport { TNetInput } from '../dom/index';\nimport { extendWithAge, WithAge } from '../factories/WithAge';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { extendWithGender, WithGender } from '../factories/WithGender';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllFaceExpressionsTask, PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class PredictAgeAndGenderTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected extractedFaces?: Array,\n ) {\n super();\n }\n}\n\nexport class PredictAllAgeAndGenderTask> extends PredictAgeAndGenderTaskBase>[], TSource[]> {\n public override async run(): Promise>[]> {\n const parentResults = await this.parentTask;\n const ageAndGenderByFace = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n async (faces) => Promise.all(faces.map((face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise)),\n this.extractedFaces,\n );\n return parentResults.map((parentResult, i) => {\n const { age, gender, genderProbability } = ageAndGenderByFace[i];\n return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);\n });\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsTask(this, this.input);\n }\n}\n\nexport class PredictSingleAgeAndGenderTask> extends PredictAgeAndGenderTaskBase> | undefined, TSource | undefined> {\n public override async run(): Promise> | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) return undefined;\n const { age, gender, genderProbability } = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise,\n this.extractedFaces,\n );\n return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsTask(this, this.input);\n }\n}\n\nexport class PredictAllAgeAndGenderWithFaceAlignmentTask>> extends PredictAllAgeAndGenderTask {\n override withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class PredictSingleAgeAndGenderWithFaceAlignmentTask>> extends PredictSingleAgeAndGenderTask {\n override withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { TNetInput } from '../dom/index';\nimport { extendWithFaceDescriptor, WithFaceDescriptor } from '../factories/WithFaceDescriptor';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class ComputeFaceDescriptorsTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n ) {\n super();\n }\n}\n\nexport class ComputeAllFaceDescriptorsTask>> extends ComputeFaceDescriptorsTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n const descriptors = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n (faces) => Promise.all(faces.map((face) => nets.faceRecognitionNet.computeFaceDescriptor(face) as Promise)),\n null,\n (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),\n );\n return descriptors.map((descriptor, i) => extendWithFaceDescriptor(parentResults[i], descriptor));\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n}\n\nexport class ComputeSingleFaceDescriptorTask>> extends ComputeFaceDescriptorsTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) return undefined;\n const descriptor = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.faceRecognitionNet.computeFaceDescriptor(face) as Promise,\n null,\n // eslint-disable-next-line no-shadow, @typescript-eslint/no-shadow\n (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),\n );\n return extendWithFaceDescriptor(parentResult, descriptor);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { extractFaces, extractFaceTensors, TNetInput } from '../dom/index';\nimport { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net';\nimport { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { extendWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class DetectFaceLandmarksTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected useTinyLandmarkNet: boolean,\n ) {\n super();\n }\n\n protected get landmarkNet(): FaceLandmark68Net | FaceLandmark68TinyNet {\n return this.useTinyLandmarkNet\n ? nets.faceLandmark68TinyNet\n : nets.faceLandmark68Net;\n }\n}\n\nexport class DetectAllFaceLandmarksTask> extends DetectFaceLandmarksTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n const detections = parentResults.map((res) => res.detection);\n const faces: Array = this.input instanceof tf.Tensor\n ? await extractFaceTensors(this.input, detections)\n : await extractFaces(this.input, detections);\n const faceLandmarksByFace = await Promise.all(faces.map((face) => this.landmarkNet.detectLandmarks(face))) as FaceLandmarks68[];\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n const result = parentResults\n .filter((_parentResult, i) => faceLandmarksByFace[i])\n .map((parentResult, i) => extendWithFaceLandmarks(parentResult, faceLandmarksByFace[i]));\n return result;\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class DetectSingleFaceLandmarksTask> extends DetectFaceLandmarksTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) {\n return undefined;\n }\n const { detection } = parentResult;\n const faces: Array = this.input instanceof tf.Tensor\n ? await extractFaceTensors(this.input, [detection])\n : await extractFaces(this.input, [detection]);\n const landmarks = await this.landmarkNet.detectLandmarks(faces[0]) as FaceLandmarks68;\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n return extendWithFaceLandmarks(parentResult, landmarks);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { TNetInput } from '../dom/index';\nimport { extendWithFaceDetection, WithFaceDetection } from '../factories/WithFaceDetection';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions';\nimport { TinyYolov2Options } from '../tinyYolov2/index';\nimport { ComposableTask } from './ComposableTask';\nimport { DetectAllFaceLandmarksTask, DetectSingleFaceLandmarksTask } from './DetectFaceLandmarksTasks';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderTask, PredictSingleAgeAndGenderTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsTask, PredictSingleFaceExpressionsTask } from './PredictFaceExpressionsTask';\nimport { FaceDetectionOptions } from './types';\n\nexport class DetectFacesTaskBase extends ComposableTask {\n // eslint-disable-next-line no-unused-vars\n constructor(protected input: TNetInput, protected options: FaceDetectionOptions = new SsdMobilenetv1Options()) {\n super();\n }\n}\n\nexport class DetectAllFacesTask extends DetectFacesTaskBase {\n public override async run(): Promise {\n const { input, options } = this;\n let result;\n if (options instanceof TinyFaceDetectorOptions) result = nets.tinyFaceDetector.locateFaces(input, options);\n else if (options instanceof SsdMobilenetv1Options) result = nets.ssdMobilenetv1.locateFaces(input, options);\n else if (options instanceof TinyYolov2Options) result = nets.tinyYolov2.locateFaces(input, options);\n else throw new Error('detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options');\n return result;\n }\n\n private runAndExtendWithFaceDetections(): Promise[]> {\n return new Promise[]>((resolve, reject) => {\n this.run()\n .then((detections) => resolve(detections.map((detection) => extendWithFaceDetection({}, detection))))\n .catch((err) => reject(err));\n });\n }\n\n withFaceLandmarks(useTinyLandmarkNet = false) {\n return new DetectAllFaceLandmarksTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n useTinyLandmarkNet,\n );\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n );\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n );\n }\n}\n\nexport class DetectSingleFaceTask extends DetectFacesTaskBase {\n public override async run(): Promise {\n const faceDetections = await new DetectAllFacesTask(this.input, this.options);\n let faceDetectionWithHighestScore = faceDetections[0];\n faceDetections.forEach((faceDetection) => {\n if (faceDetection.score > faceDetectionWithHighestScore.score) faceDetectionWithHighestScore = faceDetection;\n });\n return faceDetectionWithHighestScore;\n }\n\n private runAndExtendWithFaceDetection(): Promise | undefined> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise | undefined>(async (resolve) => {\n const detection = await this.run();\n resolve(detection ? extendWithFaceDetection<{}>({}, detection) : undefined);\n });\n }\n\n withFaceLandmarks(useTinyLandmarkNet = false) {\n return new DetectSingleFaceLandmarksTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n useTinyLandmarkNet,\n );\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n );\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n );\n }\n}\n", "import { TNetInput } from '../dom/index';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { DetectAllFacesTask, DetectSingleFaceTask } from './DetectFacesTasks';\nimport { FaceDetectionOptions } from './types';\n\nexport function detectSingleFace(input: TNetInput, options: FaceDetectionOptions = new SsdMobilenetv1Options()): DetectSingleFaceTask {\n return new DetectSingleFaceTask(input, options);\n}\n\nexport function detectAllFaces(input: TNetInput, options: FaceDetectionOptions = new SsdMobilenetv1Options()): DetectAllFacesTask {\n return new DetectAllFacesTask(input, options);\n}\n", "import { TNetInput } from '../dom/index';\nimport { WithFaceDescriptor, WithFaceDetection, WithFaceLandmarks } from '../factories/index';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/index';\nimport { ITinyYolov2Options, TinyYolov2Options } from '../tinyYolov2/index';\nimport { detectAllFaces } from './detectFaces';\n\nexport async function allFacesSsdMobilenetv1(input: TNetInput, minConfidence?: number): Promise>>[]> {\n return detectAllFaces(input, new SsdMobilenetv1Options(minConfidence ? { minConfidence } : {}))\n .withFaceLandmarks()\n .withFaceDescriptors();\n}\n\nexport async function allFacesTinyYolov2(input: TNetInput, forwardParams: ITinyYolov2Options = {}): Promise>>[]> {\n return detectAllFaces(input, new TinyYolov2Options(forwardParams))\n .withFaceLandmarks()\n .withFaceDescriptors();\n}\n\nexport const allFaces = allFacesSsdMobilenetv1;\n", "export function euclideanDistance(arr1: number[] | Float32Array, arr2: number[] | Float32Array) {\n if (arr1.length !== arr2.length) throw new Error('euclideanDistance: arr1.length !== arr2.length');\n\n const desc1 = Array.from(arr1);\n const desc2 = Array.from(arr2);\n\n return Math.sqrt(\n desc1\n .map((val, i) => val - desc2[i])\n .reduce((res, diff) => res + (diff ** 2), 0),\n );\n}\n", "import { FaceMatch } from '../classes/FaceMatch';\nimport { LabeledFaceDescriptors } from '../classes/LabeledFaceDescriptors';\nimport { euclideanDistance } from '../euclideanDistance';\nimport { WithFaceDescriptor } from '../factories/index';\n\nexport class FaceMatcher {\n private _labeledDescriptors: LabeledFaceDescriptors[];\n private _distanceThreshold: number;\n\n constructor(inputs: LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>, distanceThreshold = 0.6) {\n this._distanceThreshold = distanceThreshold;\n const inputArray = Array.isArray(inputs) ? inputs : [inputs];\n if (!inputArray.length) throw new Error('FaceRecognizer.constructor - expected atleast one input');\n let count = 1;\n const createUniqueLabel = () => `person ${count++}`;\n this._labeledDescriptors = inputArray.map((desc) => {\n if (desc instanceof LabeledFaceDescriptors) return desc;\n if (desc instanceof Float32Array) return new LabeledFaceDescriptors(createUniqueLabel(), [desc]);\n if (desc.descriptor && desc.descriptor instanceof Float32Array) return new LabeledFaceDescriptors(createUniqueLabel(), [desc.descriptor]);\n throw new Error('FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>');\n });\n }\n\n public get labeledDescriptors(): LabeledFaceDescriptors[] { return this._labeledDescriptors; }\n\n public get distanceThreshold(): number { return this._distanceThreshold; }\n\n public computeMeanDistance(queryDescriptor: Float32Array, descriptors: Float32Array[]): number {\n return descriptors\n .map((d) => euclideanDistance(d, queryDescriptor))\n .reduce((d1, d2) => d1 + d2, 0) / (descriptors.length || 1);\n }\n\n public matchDescriptor(queryDescriptor: Float32Array): FaceMatch {\n return this.labeledDescriptors\n .map(({ descriptors, label }) => new FaceMatch(label, this.computeMeanDistance(queryDescriptor, descriptors)))\n .reduce((best, curr) => (best.distance < curr.distance ? best : curr));\n }\n\n public findBestMatch(queryDescriptor: Float32Array): FaceMatch {\n const bestMatch = this.matchDescriptor(queryDescriptor);\n return (bestMatch.distance < this._distanceThreshold) ? bestMatch : new FaceMatch('unknown', bestMatch.distance);\n }\n\n public toJSON(): any {\n return {\n distanceThreshold: this._distanceThreshold,\n labeledDescriptors: this._labeledDescriptors.map((ld) => ld.toJSON()),\n };\n }\n\n public static fromJSON(json: any): FaceMatcher {\n const labeledDescriptors = json.labeledDescriptors.map((ld: any) => LabeledFaceDescriptors.fromJSON(ld));\n return new FaceMatcher(labeledDescriptors, json.distanceThreshold);\n }\n}\n", "import { TinyFaceDetector } from './TinyFaceDetector';\n\nexport * from './TinyFaceDetector';\nexport * from './TinyFaceDetectorOptions';\n\nexport function createTinyFaceDetector(weights: Float32Array) {\n const net = new TinyFaceDetector();\n net.extractWeights(weights);\n return net;\n}\n", "import { Dimensions, IDimensions } from './classes/index';\nimport { FaceDetection } from './classes/FaceDetection';\nimport { FaceLandmarks } from './classes/FaceLandmarks';\nimport { extendWithFaceDetection, isWithFaceDetection } from './factories/WithFaceDetection';\nimport { extendWithFaceLandmarks, isWithFaceLandmarks } from './factories/WithFaceLandmarks';\n\nexport function resizeResults(results: T, dimensions: IDimensions): T {\n const { width, height } = new Dimensions(dimensions.width, dimensions.height);\n\n if (width <= 0 || height <= 0) {\n throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({ width, height })}`);\n }\n\n if (Array.isArray(results)) {\n // return results.map(obj => resizeResults(obj, { width, height })) as any as T\n return (results as Array).map((obj) => resizeResults(obj, { width, height } as IDimensions)) as any as T;\n }\n\n if (isWithFaceLandmarks(results)) {\n const resizedDetection = results.detection.forSize(width, height);\n const resizedLandmarks = results.unshiftedLandmarks.forSize(resizedDetection.box.width, resizedDetection.box.height);\n return extendWithFaceLandmarks(extendWithFaceDetection(results, resizedDetection), resizedLandmarks);\n }\n\n if (isWithFaceDetection(results)) {\n return extendWithFaceDetection(results, results.detection.forSize(width, height));\n }\n\n if (results instanceof FaceLandmarks || results instanceof FaceDetection) {\n return (results as any).forSize(width, height);\n }\n\n return results;\n}\n", "import * as tf from '../dist/tfjs.esm';\nimport * as draw from './draw/index';\nimport * as utils from './utils/index';\nimport * as pkg from '../package.json';\n\nexport { tf, draw, utils };\n\nexport * from './ageGenderNet/index';\nexport * from './classes/index';\nexport * from './dom/index';\nexport * from './env/index';\nexport * from './faceExpressionNet/index';\nexport * from './faceLandmarkNet/index';\nexport * from './faceRecognitionNet/index';\nexport * from './factories/index';\nexport * from './globalApi/index';\nexport * from './ops/index';\nexport * from './ssdMobilenetv1/index';\nexport * from './tinyFaceDetector/index';\nexport * from './tinyYolov2/index';\nexport * from './euclideanDistance';\nexport * from './NeuralNetwork';\nexport * from './resizeResults';\n\nexport const version = pkg.version as string;\n\n// set webgl defaults\n// if (browser) tf.ENV.set('WEBGL_USE_SHAPES_UNIFORMS', true);\n"], - "mappings": "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,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,aAAa,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,aAAa,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI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", + "sourcesContent": ["/*\n Face-API\n homepage: \n author: '\n*/\n\nvar ZU=Object.create;var p0=Object.defineProperty;var JU=Object.getOwnPropertyDescriptor;var QU=Object.getOwnPropertyNames;var t4=Object.getPrototypeOf,e4=Object.prototype.hasOwnProperty;var gr=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),jt=(r,t)=>{for(var e in t)p0(r,e,{get:t[e],enumerable:!0})},r4=(r,t,e,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of QU(t))!e4.call(r,o)&&o!==e&&p0(r,o,{get:()=>t[o],enumerable:!(n=JU(t,o))||n.enumerable});return r};var Tl=(r,t,e)=>(e=r!=null?ZU(t4(r)):{},r4(t||!r||!r.__esModule?p0(e,\"default\",{value:r,enumerable:!0}):e,r));var V1=gr((Flt,B1)=>{B1.exports=Ke;var po=null;try{po=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(r){}function Ke(r,t,e){this.low=r|0,this.high=t|0,this.unsigned=!!e}Ke.prototype.__isLong__;Object.defineProperty(Ke.prototype,\"__isLong__\",{value:!0});function On(r){return(r&&r.__isLong__)===!0}Ke.isLong=On;var $1={},D1={};function Hu(r,t){var e,n,o;return t?(r>>>=0,(o=0<=r&&r<256)&&(n=D1[r],n)?n:(e=je(r,(r|0)<0?-1:0,!0),o&&(D1[r]=e),e)):(r|=0,(o=-128<=r&&r<128)&&(n=$1[r],n)?n:(e=je(r,r<0?-1:0,!1),o&&($1[r]=e),e))}Ke.fromInt=Hu;function mo(r,t){if(isNaN(r))return t?Uu:fo;if(t){if(r<0)return Uu;if(r>=P1)return z1}else{if(r<=-F1)return Fn;if(r+1>=F1)return M1}return r<0?mo(-r,t).neg():je(r%tm|0,r/tm|0,t)}Ke.fromNumber=mo;function je(r,t,e){return new Ke(r,t,e)}Ke.fromBits=je;var ex=Math.pow;function S0(r,t,e){if(r.length===0)throw Error(\"empty string\");if(r===\"NaN\"||r===\"Infinity\"||r===\"+Infinity\"||r===\"-Infinity\")return fo;if(typeof t==\"number\"?(e=t,t=!1):t=!!t,e=e||10,e<2||360)throw Error(\"interior hyphen\");if(n===0)return S0(r.substring(1),t,e).neg();for(var o=mo(ex(e,8)),s=fo,i=0;i>>0:this.low};yt.toNumber=function(){return this.unsigned?(this.high>>>0)*tm+(this.low>>>0):this.high*tm+(this.low>>>0)};yt.toString=function(t){if(t=t||10,t<2||36>>0,c=l.toString(t);if(i=u,i.isZero())return c+a;for(;c.length<6;)c=\"0\"+c;a=\"\"+c+a}};yt.getHighBits=function(){return this.high};yt.getHighBitsUnsigned=function(){return this.high>>>0};yt.getLowBits=function(){return this.low};yt.getLowBitsUnsigned=function(){return this.low>>>0};yt.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Fn)?64:this.neg().getNumBitsAbs();for(var t=this.high!=0?this.high:this.low,e=31;e>0&&(t&1<=0};yt.isOdd=function(){return(this.low&1)===1};yt.isEven=function(){return(this.low&1)===0};yt.equals=function(t){return On(t)||(t=Ws(t)),this.unsigned!==t.unsigned&&this.high>>>31===1&&t.high>>>31===1?!1:this.high===t.high&&this.low===t.low};yt.eq=yt.equals;yt.notEquals=function(t){return!this.eq(t)};yt.neq=yt.notEquals;yt.ne=yt.notEquals;yt.lessThan=function(t){return this.comp(t)<0};yt.lt=yt.lessThan;yt.lessThanOrEqual=function(t){return this.comp(t)<=0};yt.lte=yt.lessThanOrEqual;yt.le=yt.lessThanOrEqual;yt.greaterThan=function(t){return this.comp(t)>0};yt.gt=yt.greaterThan;yt.greaterThanOrEqual=function(t){return this.comp(t)>=0};yt.gte=yt.greaterThanOrEqual;yt.ge=yt.greaterThanOrEqual;yt.compare=function(t){if(On(t)||(t=Ws(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1};yt.comp=yt.compare;yt.negate=function(){return!this.unsigned&&this.eq(Fn)?Fn:this.not().add(Qp)};yt.neg=yt.negate;yt.add=function(t){On(t)||(t=Ws(t));var e=this.high>>>16,n=this.high&65535,o=this.low>>>16,s=this.low&65535,i=t.high>>>16,a=t.high&65535,u=t.low>>>16,l=t.low&65535,c=0,p=0,m=0,f=0;return f+=s+l,m+=f>>>16,f&=65535,m+=o+u,p+=m>>>16,m&=65535,p+=n+a,c+=p>>>16,p&=65535,c+=e+i,c&=65535,je(m<<16|f,c<<16|p,this.unsigned)};yt.subtract=function(t){return On(t)||(t=Ws(t)),this.add(t.neg())};yt.sub=yt.subtract;yt.multiply=function(t){if(this.isZero())return fo;if(On(t)||(t=Ws(t)),po){var e=po.mul(this.low,this.high,t.low,t.high);return je(e,po.get_high(),this.unsigned)}if(t.isZero())return fo;if(this.eq(Fn))return t.isOdd()?Fn:fo;if(t.eq(Fn))return this.isOdd()?Fn:fo;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(O1)&&t.lt(O1))return mo(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,o=this.high&65535,s=this.low>>>16,i=this.low&65535,a=t.high>>>16,u=t.high&65535,l=t.low>>>16,c=t.low&65535,p=0,m=0,f=0,d=0;return d+=i*c,f+=d>>>16,d&=65535,f+=s*c,m+=f>>>16,f&=65535,f+=i*l,m+=f>>>16,f&=65535,m+=o*c,p+=m>>>16,m&=65535,m+=s*l,p+=m>>>16,m&=65535,m+=i*u,p+=m>>>16,m&=65535,p+=n*c+o*l+s*u+i*a,p&=65535,je(f<<16|d,p<<16|m,this.unsigned)};yt.mul=yt.multiply;yt.divide=function(t){if(On(t)||(t=Ws(t)),t.isZero())throw Error(\"division by zero\");if(po){if(!this.unsigned&&this.high===-2147483648&&t.low===-1&&t.high===-1)return this;var e=(this.unsigned?po.div_u:po.div_s)(this.low,this.high,t.low,t.high);return je(e,po.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Uu:fo;var n,o,s;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return Uu;if(t.gt(this.shru(1)))return L1;s=Uu}else{if(this.eq(Fn)){if(t.eq(Qp)||t.eq(I0))return Fn;if(t.eq(Fn))return Qp;var i=this.shr(1);return n=i.div(t).shl(1),n.eq(fo)?t.isNegative()?Qp:I0:(o=this.sub(t.mul(n)),s=n.add(o.div(t)),s)}else if(t.eq(Fn))return this.unsigned?Uu:fo;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();s=fo}for(o=this;o.gte(t);){n=Math.max(1,Math.floor(o.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),u=a<=48?1:ex(2,a-48),l=mo(n),c=l.mul(t);c.isNegative()||c.gt(o);)n-=u,l=mo(n,this.unsigned),c=l.mul(t);l.isZero()&&(l=Qp),s=s.add(l),o=o.sub(c)}return s};yt.div=yt.divide;yt.modulo=function(t){if(On(t)||(t=Ws(t)),po){var e=(this.unsigned?po.rem_u:po.rem_s)(this.low,this.high,t.low,t.high);return je(e,po.get_high(),this.unsigned)}return this.sub(this.div(t).mul(t))};yt.mod=yt.modulo;yt.rem=yt.modulo;yt.not=function(){return je(~this.low,~this.high,this.unsigned)};yt.and=function(t){return On(t)||(t=Ws(t)),je(this.low&t.low,this.high&t.high,this.unsigned)};yt.or=function(t){return On(t)||(t=Ws(t)),je(this.low|t.low,this.high|t.high,this.unsigned)};yt.xor=function(t){return On(t)||(t=Ws(t)),je(this.low^t.low,this.high^t.high,this.unsigned)};yt.shiftLeft=function(t){return On(t)&&(t=t.toInt()),(t&=63)===0?this:t<32?je(this.low<>>32-t,this.unsigned):je(0,this.low<>>t|this.high<<32-t,this.high>>t,this.unsigned):je(this.high>>t-32,this.high>=0?0:-1,this.unsigned)};yt.shr=yt.shiftRight;yt.shiftRightUnsigned=function(t){if(On(t)&&(t=t.toInt()),t&=63,t===0)return this;var e=this.high;if(t<32){var n=this.low;return je(n>>>t|e<<32-t,e>>>t,this.unsigned)}else return t===32?je(e,0,this.unsigned):je(e>>>t-32,0,this.unsigned)};yt.shru=yt.shiftRightUnsigned;yt.shr_u=yt.shiftRightUnsigned;yt.toSigned=function(){return this.unsigned?je(this.low,this.high,!1):this};yt.toUnsigned=function(){return this.unsigned?this:je(this.low,this.high,!0)};yt.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()};yt.toBytesLE=function(){var t=this.high,e=this.low;return[e&255,e>>>8&255,e>>>16&255,e>>>24,t&255,t>>>8&255,t>>>16&255,t>>>24]};yt.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,t&255,e>>>24,e>>>16&255,e>>>8&255,e&255]};Ke.fromBytes=function(t,e,n){return n?Ke.fromBytesLE(t,e):Ke.fromBytesBE(t,e)};Ke.fromBytesLE=function(t,e){return new Ke(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)};Ke.fromBytesBE=function(t,e){return new Ke(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}});var C_=gr(()=>{});var v_=gr(()=>{});var IE=gr((vE,fS)=>{(function(r,t,e){function n(a){var u=this,l=i();u.next=function(){var c=2091639*u.s0+u.c*23283064365386963e-26;return u.s0=u.s1,u.s1=u.s2,u.s2=c-(u.c=c|0)},u.c=1,u.s0=l(\" \"),u.s1=l(\" \"),u.s2=l(\" \"),u.s0-=l(a),u.s0<0&&(u.s0+=1),u.s1-=l(a),u.s1<0&&(u.s1+=1),u.s2-=l(a),u.s2<0&&(u.s2+=1),l=null}function o(a,u){return u.c=a.c,u.s0=a.s0,u.s1=a.s1,u.s2=a.s2,u}function s(a,u){var l=new n(a),c=u&&u.state,p=l.next;return p.int32=function(){return l.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,c&&(typeof c==\"object\"&&o(c,l),p.state=function(){return o(l,{})}),p}function i(){var a=4022871197,u=function(l){l=String(l);for(var c=0;c>>0,p-=a,p*=a,a=p>>>0,p-=a,a+=p*4294967296}return(a>>>0)*23283064365386963e-26};return u}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.alea=s})(vE,typeof fS==\"object\"&&fS,typeof define==\"function\"&&define)});var TE=gr((SE,dS)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.x=0,a.y=0,a.z=0,a.w=0,a.next=function(){var c=a.x^a.x<<11;return a.x=a.y,a.y=a.z,a.z=a.w,a.w^=a.w>>>19^c^c>>>8},i===(i|0)?a.x=i:u+=i;for(var l=0;l>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xor128=s})(SE,typeof dS==\"object\"&&dS,typeof define==\"function\"&&define)});var kE=gr((NE,hS)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.next=function(){var c=a.x^a.x>>>2;return a.x=a.y,a.y=a.z,a.z=a.w,a.w=a.v,(a.d=a.d+362437|0)+(a.v=a.v^a.v<<4^(c^c<<1))|0},a.x=0,a.y=0,a.z=0,a.w=0,a.v=0,i===(i|0)?a.x=i:u+=i;for(var l=0;l>>4),a.next()}function o(i,a){return a.x=i.x,a.y=i.y,a.z=i.z,a.w=i.w,a.v=i.v,a.d=i.d,a}function s(i,a){var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xorwow=s})(NE,typeof hS==\"object\"&&hS,typeof define==\"function\"&&define)});var EE=gr((_E,gS)=>{(function(r,t,e){function n(i){var a=this;a.next=function(){var l=a.x,c=a.i,p,m,f;return p=l[c],p^=p>>>7,m=p^p<<24,p=l[c+1&7],m^=p^p>>>10,p=l[c+3&7],m^=p^p>>>3,p=l[c+4&7],m^=p^p<<7,p=l[c+7&7],p=p^p<<13,m^=p^p<<9,l[c]=m,a.i=c+1&7,m};function u(l,c){var p,m,f=[];if(c===(c|0))m=f[0]=c;else for(c=\"\"+c,p=0;p0;--p)l.next()}u(a,i)}function o(i,a){return a.x=i.x.slice(),a.i=i.i,a}function s(i,a){i==null&&(i=+new Date);var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(l.x&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xorshift7=s})(_E,typeof gS==\"object\"&&gS,typeof define==\"function\"&&define)});var $E=gr((AE,xS)=>{(function(r,t,e){function n(i){var a=this;a.next=function(){var l=a.w,c=a.X,p=a.i,m,f;return a.w=l=l+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,a.i=p,f+(l^l>>>16)|0};function u(l,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;l.w=h,l.X=g,l.i=f}u(a,i)}function o(i,a){return a.i=i.i,a.w=i.w,a.X=i.X.slice(),a}function s(i,a){i==null&&(i=+new Date);var u=new n(i),l=a&&a.state,c=function(){return(u.next()>>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(l.X&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.xor4096=s})(AE,typeof xS==\"object\"&&xS,typeof define==\"function\"&&define)});var RE=gr((DE,yS)=>{(function(r,t,e){function n(i){var a=this,u=\"\";a.next=function(){var c=a.b,p=a.c,m=a.d,f=a.a;return c=c<<25^c>>>7^p,p=p-m|0,m=m<<24^m>>>8^f,f=f-c|0,a.b=c=c<<20^c>>>12^p,a.c=p=p-m|0,a.d=m<<16^p>>>16^f,a.a=f-c|0},a.a=0,a.b=0,a.c=-1640531527,a.d=1367130551,i===Math.floor(i)?(a.a=i/4294967296|0,a.b=i|0):u+=i;for(var l=0;l>>0)/4294967296};return c.double=function(){do var p=u.next()>>>11,m=(u.next()>>>0)/4294967296,f=(p+m)/(1<<21);while(f===0);return f},c.int32=u.next,c.quick=c,l&&(typeof l==\"object\"&&o(l,u),c.state=function(){return o(u,{})}),c}t&&t.exports?t.exports=s:e&&e.amd?e(function(){return s}):this.tychei=s})(DE,typeof yS==\"object\"&&yS,typeof define==\"function\"&&define)});var FE=gr(()=>{});var PE=gr((OE,cy)=>{(function(r,t,e){var n=256,o=6,s=52,i=\"random\",a=e.pow(n,o),u=e.pow(2,s),l=u*2,c=n-1,p;function m(w,C,T){var E=[];C=C==!0?{entropy:!0}:C||{};var $=g(h(C.entropy?[w,b(t)]:w==null?x():w,3),E),D=new f(E),P=function(){for(var M=D.g(o),W=a,H=0;M=l;)M/=2,W/=2,H>>>=1;return(M+H)/W};return P.int32=function(){return D.g(4)|0},P.quick=function(){return D.g(4)/4294967296},P.double=P,g(b(D.S),t),(C.pass||T||function(M,W,H,q){return q&&(q.S&&d(q,D),M.state=function(){return d(D,{})}),H?(e[i]=M,W):M})(P,$,\"global\"in C?C.global:this==e,C.state)}function f(w){var C,T=w.length,E=this,$=0,D=E.i=E.j=0,P=E.S=[];for(T||(w=[T++]);${var Tj=IE(),Nj=TE(),kj=kE(),_j=EE(),Ej=$E(),Aj=RE(),sc=PE();sc.alea=Tj;sc.xor128=Nj;sc.xorwow=kj;sc.xorshift7=_j;sc.xor4096=Ej;sc.tychei=Aj;LE.exports=sc});var kT=gr(()=>{});var pw=gr(()=>{});var hg=gr(()=>{});var qW=gr(()=>{});var KW=gr(()=>{});var jW=gr(()=>{});var XW=gr((kv,qk)=>{var Hk=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(t){t=t||{};function e(){return Ft.buffer!=dr&&zo(Ft.buffer),op}function n(){return Ft.buffer!=dr&&zo(Ft.buffer),sp}function o(){return Ft.buffer!=dr&&zo(Ft.buffer),Vd}function s(){return Ft.buffer!=dr&&zo(Ft.buffer),wg}function i(){return Ft.buffer!=dr&&zo(Ft.buffer),Cg}function a(){return Ft.buffer!=dr&&zo(Ft.buffer),vg}function u(){return Ft.buffer!=dr&&zo(Ft.buffer),Ig}var l=typeof t!=\"undefined\"?t:{},c,p;l.ready=new Promise(function(k,R){c=k,p=R});var m;typeof process!=\"undefined\"&&process.listeners&&(m={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var f=Object.assign({},l),d=[],h=\"./this.program\",g=(k,R)=>{throw R},x=typeof window==\"object\",b=typeof importScripts==\"function\",w=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",C=l.ENVIRONMENT_IS_PTHREAD||!1,T=\"\";function E(k){return l.locateFile?l.locateFile(k,T):T+k}var $,D,P,M;function W(k){if(k instanceof Zd)return;K(\"exiting due to exception: \"+k)}var H,q,X;if(w){b?T=hg().dirname(T)+\"/\":T=__dirname+\"/\",X=()=>{q||(H=pw(),q=hg())},$=function(V,Y){return X(),V=q.normalize(V),H.readFileSync(V,Y?void 0:\"utf8\")},P=R=>{var V=$(R,!0);return V.buffer||(V=new Uint8Array(V)),V},D=(R,V,Y)=>{X(),R=q.normalize(R),H.readFile(R,function(ht,wt){ht?Y(ht):V(wt.buffer)})},process.argv.length>1&&(h=process.argv[1].replace(/\\\\/g,\"/\")),d=process.argv.slice(2),process.on(\"uncaughtException\",function(R){if(!(R instanceof Zd))throw R}),process.on(\"unhandledRejection\",function(R){throw R}),g=(R,V)=>{if(Pu())throw process.exitCode=R,V;W(V),process.exit(R)},l.inspect=function(){return\"[Emscripten Module object]\"};let k;try{k=qW()}catch(R){throw console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?'),R}global.Worker=k.Worker}else(x||b)&&(b?T=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(T=document.currentScript.src),typeof r!=\"undefined\"&&r&&(T=r),T.indexOf(\"blob:\")!==0?T=T.substr(0,T.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):T=\"\",w||($=k=>{var R=new XMLHttpRequest;return R.open(\"GET\",k,!1),R.send(null),R.responseText},b&&(P=k=>{var R=new XMLHttpRequest;return R.open(\"GET\",k,!1),R.responseType=\"arraybuffer\",R.send(null),new Uint8Array(R.response)}),D=(k,R,V)=>{var Y=new XMLHttpRequest;Y.open(\"GET\",k,!0),Y.responseType=\"arraybuffer\",Y.onload=()=>{if(Y.status==200||Y.status==0&&Y.response){R(Y.response);return}V()},Y.onerror=V,Y.send(null)}),M=k=>document.title=k);w&&typeof performance==\"undefined\"&&(global.performance=KW().performance);var j=console.log.bind(console),Z=console.warn.bind(console);w&&(X(),j=k=>H.writeSync(1,k+`\n`),Z=k=>H.writeSync(2,k+`\n`));var et=l.print||j,K=l.printErr||Z;Object.assign(l,f),f=null,l.arguments&&(d=l.arguments),l.thisProgram&&(h=l.thisProgram),l.quit&&(g=l.quit);var ot=4;function st(k){st.shown||(st.shown={}),st.shown[k]||(st.shown[k]=1,K(k))}function it(k,R){if(typeof WebAssembly.Function==\"function\"){for(var V={i:\"i32\",j:\"i64\",f:\"f32\",d:\"f64\"},Y={parameters:[],results:R[0]==\"v\"?[]:[V[R[0]]]},ht=1;ht{bt=k},At=Atomics.load,Rt=Atomics.store,qt=Atomics.compareExchange,Kt;l.wasmBinary&&(Kt=l.wasmBinary);var me=l.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&ap(\"no native wasm support detected\");var Ft,Ae,Ie=!1,le;function qe(k,R){k||ap(R)}function Re(k){var R=l[\"_\"+k];return R}function Jr(k,R,V,Y,ht){var wt={string:function(Dn){var xp=0;if(Dn!=null&&Dn!==0){var b1=(Dn.length<<2)+1;xp=gp(b1),$n(Dn,xp,b1)}return xp},array:function(Dn){var xp=gp(Dn.length);return Cl(Dn,xp),xp}};function kt(Dn){return R===\"string\"?qr(Dn):R===\"boolean\"?Boolean(Dn):Dn}var Vt=Re(k),nr=[],Wo=0;if(Y)for(var Uo=0;Uo(V.buffer instanceof SharedArrayBuffer&&(V=new Uint8Array(V)),R.decode.call(R,V))}var Qr=typeof TextDecoder!=\"undefined\"?new Or(\"utf8\"):void 0;function tn(k,R,V){for(var Y=R+V,ht=R;k[ht]&&!(ht>=Y);)++ht;if(ht-R>16&&k.subarray&&Qr)return Qr.decode(k.subarray(R,ht));for(var wt=\"\";R>10,56320|Wo&1023)}}return wt}function qr(k,R){return k?tn(n(),k,R):\"\"}function so(k,R,V,Y){if(!(Y>0))return 0;for(var ht=V,wt=V+Y-1,kt=0;kt=55296&&Vt<=57343){var nr=k.charCodeAt(++kt);Vt=65536+((Vt&1023)<<10)|nr&1023}if(Vt<=127){if(V>=wt)break;R[V++]=Vt}else if(Vt<=2047){if(V+1>=wt)break;R[V++]=192|Vt>>6,R[V++]=128|Vt&63}else if(Vt<=65535){if(V+2>=wt)break;R[V++]=224|Vt>>12,R[V++]=128|Vt>>6&63,R[V++]=128|Vt&63}else{if(V+3>=wt)break;R[V++]=240|Vt>>18,R[V++]=128|Vt>>12&63,R[V++]=128|Vt>>6&63,R[V++]=128|Vt&63}}return R[V]=0,V-ht}function $n(k,R,V){return so(k,n(),R,V)}function Mo(k){for(var R=0,V=0;V=55296&&Y<=57343&&(Y=65536+((Y&1023)<<10)|k.charCodeAt(++V)&1023),Y<=127?++R:Y<=2047?R+=2:Y<=65535?R+=3:R+=4}return R}var io=typeof TextDecoder!=\"undefined\"?new Or(\"utf-16le\"):void 0;function Cl(k,R){e().set(k,R)}function Fu(k,R,V){for(var Y=0;Y>0]=k.charCodeAt(Y);V||(e()[R>>0]=0)}function np(k,R){return k%R>0&&(k+=R-k%R),k}var dr,op,sp,Vd,wg,Cg,Qk,vg,Ig;C&&(dr=l.buffer);function zo(k){dr=k,l.HEAP8=op=new Int8Array(k),l.HEAP16=Vd=new Int16Array(k),l.HEAP32=Cg=new Int32Array(k),l.HEAPU8=sp=new Uint8Array(k),l.HEAPU16=wg=new Uint16Array(k),l.HEAPU32=Qk=new Uint32Array(k),l.HEAPF32=vg=new Float32Array(k),l.HEAPF64=Ig=new Float64Array(k)}var Sg=l.INITIAL_MEMORY||16777216;if(C)Ft=l.wasmMemory,dr=l.buffer;else if(l.wasmMemory)Ft=l.wasmMemory;else if(Ft=new WebAssembly.Memory({initial:Sg/65536,maximum:32768,shared:!0}),!(Ft.buffer instanceof SharedArrayBuffer))throw K(\"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\"),w&&console.log(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)\"),Error(\"bad memory\");Ft&&(dr=Ft.buffer),Sg=dr.byteLength,zo(dr);var Hn,ip=[],vl=[],Av=[],Tg=[],Ou=!1,$v=!1,Ng=0;function Pu(){return me||Ng>0}function en(){if(l.preRun)for(typeof l.preRun==\"function\"&&(l.preRun=[l.preRun]);l.preRun.length;)t1(l.preRun.shift());Ag(ip)}function Gd(){Ou=!0,!C&&Ag(vl)}function Dv(){C||(Ut.terminateAllThreads(),$v=!0)}function Rv(){if(!C){if(l.postRun)for(typeof l.postRun==\"function\"&&(l.postRun=[l.postRun]);l.postRun.length;)Wd(l.postRun.shift());Ag(Tg)}}function t1(k){ip.unshift(k)}function e1(k){vl.unshift(k)}function Wd(k){Tg.unshift(k)}var Il=0,kg=null,Bo=null;function Ud(k){Il++,l.monitorRunDependencies&&l.monitorRunDependencies(Il)}function r1(k){if(Il--,l.monitorRunDependencies&&l.monitorRunDependencies(Il),Il==0&&(kg!==null&&(clearInterval(kg),kg=null),Bo)){var R=Bo;Bo=null,R()}}l.preloadedImages={},l.preloadedAudios={};function ap(k){C?postMessage({cmd:\"onAbort\",arg:k}):l.onAbort&&l.onAbort(k),k=\"Aborted(\"+k+\")\",K(k),Ie=!0,le=1,k+=\". Build with -s ASSERTIONS=1 for more info.\";var R=new WebAssembly.RuntimeError(k);throw p(R),R}var Fv=\"data:application/octet-stream;base64,\";function Hd(k){return k.startsWith(Fv)}function _g(k){return k.startsWith(\"file://\")}var rn;rn=\"tfjs-backend-wasm-threaded-simd.wasm\",Hd(rn)||(rn=E(rn));function Eg(k){try{if(k==rn&&Kt)return new Uint8Array(Kt);if(P)return P(k);throw\"both async and sync fetching of the wasm failed\"}catch(R){ap(R)}}function lp(){if(!Kt&&(x||b)){if(typeof fetch==\"function\"&&!_g(rn))return fetch(rn,{credentials:\"same-origin\"}).then(function(k){if(!k.ok)throw\"failed to load wasm binary file at '\"+rn+\"'\";return k.arrayBuffer()}).catch(function(){return Eg(rn)});if(D)return new Promise(function(k,R){D(rn,function(V){k(new Uint8Array(V))},R)})}return Promise.resolve().then(function(){return Eg(rn)})}function Ov(){var k={env:Gg,wasi_snapshot_preview1:Gg};function R(kt,Vt){var nr=kt.exports;if(l.asm=nr,Gv(l.asm.emscripten_tls_init),Hn=l.asm.__indirect_function_table,e1(l.asm.__wasm_call_ctors),Ae=Vt,!C){var Wo=Ut.unusedWorkers.length;Ut.unusedWorkers.forEach(function(Uo){Ut.loadWasmModuleToWorker(Uo,function(){--Wo||r1(\"wasm-instantiate\")})})}}C||Ud(\"wasm-instantiate\");function V(kt){R(kt.instance,kt.module)}function Y(kt){return lp().then(function(Vt){return WebAssembly.instantiate(Vt,k)}).then(function(Vt){return Vt}).then(kt,function(Vt){K(\"failed to asynchronously prepare wasm: \"+Vt),ap(Vt)})}function ht(){return!Kt&&typeof WebAssembly.instantiateStreaming==\"function\"&&!Hd(rn)&&!_g(rn)&&typeof fetch==\"function\"?fetch(rn,{credentials:\"same-origin\"}).then(function(kt){var Vt=WebAssembly.instantiateStreaming(kt,k);return Vt.then(V,function(nr){return K(\"wasm streaming compile failed: \"+nr),K(\"falling back to ArrayBuffer instantiation\"),Y(V)})}):Y(V)}if(l.instantiateWasm)try{var wt=l.instantiateWasm(k,R);return wt}catch(kt){return K(\"Module.instantiateWasm callback failed with error: \"+kt),!1}return ht().catch(p),{}}var n1,o1,Pv={};function Ag(k){for(;k.length>0;){var R=k.shift();if(typeof R==\"function\"){R(l);continue}var V=R.func;typeof V==\"number\"?R.arg===void 0?cp(V)():cp(V)(R.arg):V(R.arg===void 0?null:R.arg)}}function up(k){var R=u0(),V=k();return Kg(R),V}function oU(k){return k}function s1(k){var R=/\\b_Z[\\w\\d_]+/g;return k.replace(R,function(V){var Y=V;return V===Y?V:Y+\" [\"+V+\"]\"})}function Lv(k){i()[k>>2]=0;var R=Ut.pthreads[k];delete Ut.pthreads[k],R.worker.terminate(),l0(k),Ut.runningWorkers.splice(Ut.runningWorkers.indexOf(R.worker),1),R.worker.pthread=void 0}function Mv(k){var R=Ut.pthreads[k];R.worker.postMessage({cmd:\"cancel\"})}function $g(k){var R=Ut.pthreads[k];if(R){i()[k>>2]=0;var V=R.worker;Ut.returnWorkerToPool(V)}}function Dg(k){KU(k)}function zv(k){if(k instanceof Zd||k==\"unwind\")return le;g(1,k)}var Ut={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],init:function(){C?Ut.initWorker():Ut.initMainThread()},initMainThread:function(){for(var k=8,R=0;R>2]=0;try{k()}finally{i()[y1>>2]=1}},receiveObjectTransfer:function(k){},threadInit:function(){for(var k in Ut.tlsInitFunctions)Ut.tlsInitFunctions[k]()},loadWasmModuleToWorker:function(k,R){k.onmessage=V=>{var Y=V.data,ht=Y.cmd;if(k.pthread&&(Ut.currentProxiedOperationCallerThread=k.pthread.threadInfoStruct),Y.targetThread&&Y.targetThread!=qg()){var wt=Ut.pthreads[Y.targetThread];wt?wt.worker.postMessage(Y,Y.transferList):K('Internal error! Worker sent a message \"'+ht+'\" to target pthread '+Y.targetThread+\", but that thread no longer exists!\"),Ut.currentProxiedOperationCallerThread=void 0;return}ht===\"processQueuedMainThreadWork\"?f1():ht===\"spawnThread\"?Fg(Y):ht===\"cleanupThread\"?$g(Y.thread):ht===\"killThread\"?Lv(Y.thread):ht===\"cancelThread\"?Mv(Y.thread):ht===\"loaded\"?(k.loaded=!0,R&&R(k),k.runPthread&&(k.runPthread(),delete k.runPthread)):ht===\"print\"?et(\"Thread \"+Y.threadId+\": \"+Y.text):ht===\"printErr\"?K(\"Thread \"+Y.threadId+\": \"+Y.text):ht===\"alert\"?alert(\"Thread \"+Y.threadId+\": \"+Y.text):Y.target===\"setimmediate\"?k.postMessage(Y):ht===\"onAbort\"?l.onAbort&&l.onAbort(Y.arg):K(\"worker sent an unknown command \"+ht),Ut.currentProxiedOperationCallerThread=void 0},k.onerror=V=>{var Y=\"worker sent an error!\";throw K(Y+\" \"+V.filename+\":\"+V.lineno+\": \"+V.message),V},w&&(k.on(\"message\",function(V){k.onmessage({data:V})}),k.on(\"error\",function(V){k.onerror(V)}),k.on(\"detachedExit\",function(){})),k.postMessage({cmd:\"load\",urlOrBlob:l.mainScriptUrlOrBlob||r,wasmMemory:Ft,wasmModule:Ae})},allocateUnusedWorker:function(){var k=E(\"tfjs-backend-wasm-threaded-simd.worker.js\");Ut.unusedWorkers.push(new Worker(k))},getNewWorker:function(){return Ut.unusedWorkers.length==0&&(Ut.allocateUnusedWorker(),Ut.loadWasmModuleToWorker(Ut.unusedWorkers[0])),Ut.unusedWorkers.pop()}};function Bv(){var k=qg(),R=i()[k+44>>2],V=i()[k+48>>2],Y=R-V;x1(R,Y),Kg(R)}l.establishStackSpace=Bv;function Rg(k){if(C)return zu(1,0,k);try{Dg(k)}catch(R){zv(R)}}var Lu=[];function cp(k){var R=Lu[k];return R||(k>=Lu.length&&(Lu.length=k+1),Lu[k]=R=Hn.get(k)),R}function Vv(k,R){return cp(k)(R)}l.invokeEntryPoint=Vv;function i1(){var k=new Error;if(!k.stack){try{throw new Error}catch(R){k=R}if(!k.stack)return\"(no stack trace available)\"}return k.stack.toString()}function Gv(k,R,V){Ut.tlsInitFunctions.push(k)}function a1(k,R){Hn.set(k,R),Lu[k]=R}var Mu;w?Mu=()=>{var k=process.hrtime();return k[0]*1e3+k[1]/1e6}:C?Mu=()=>performance.now()-l.__performance_now_clock_drift:Mu=()=>performance.now();var Wv=!0;function Uv(k){return i()[m1()>>2]=k,k}function Hv(k,R){var V;if(k===0)V=Date.now();else if((k===1||k===4)&&Wv)V=Mu();else return Uv(28),-1;return i()[R>>2]=V/1e3|0,i()[R+4>>2]=V%1e3*1e3*1e3|0,0}function qv(k,R){return Hv(k,R)}function Kv(k){d1(k,!b,1,!x),Ut.threadInit()}function jv(k){C?postMessage({cmd:\"cleanupThread\",thread:k}):$g(k)}function Fg(k){var R=Ut.getNewWorker();if(!R)return 6;Ut.runningWorkers.push(R);var V=Ut.pthreads[k.pthread_ptr]={worker:R,threadInfoStruct:k.pthread_ptr};R.pthread=V;var Y={cmd:\"run\",start_routine:k.startRoutine,arg:k.arg,threadInfoStruct:k.pthread_ptr};return R.runPthread=()=>{Y.time=performance.now(),R.postMessage(Y,k.transferList)},R.loaded&&(R.runPthread(),delete R.runPthread),0}function Xv(k,R,V,Y){if(typeof SharedArrayBuffer==\"undefined\")return K(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var ht=[],wt=0;if(C&&(ht.length===0||wt))return h1(687865856,k,R,V,Y);if(wt)return wt;var kt={startRoutine:V,pthread_ptr:k,arg:Y,transferList:ht};return C?(kt.cmd=\"spawnThread\",postMessage(kt,ht),0):Fg(kt)}function Yv(){return 2097152}function Zv(k,R){if(k==R)postMessage({cmd:\"processQueuedMainThreadWork\"});else if(C)postMessage({targetThread:k,cmd:\"processThreadQueue\"});else{var V=Ut.pthreads[k],Y=V&&V.worker;if(!Y)return;Y.postMessage({cmd:\"processThreadQueue\"})}return 1}function Jv(){ap(\"\")}function Qv(){w||b||st(\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\")}function Og(){return 2147483648}function tI(k,R,V){n().copyWithin(k,R,R+V)}function eI(){return w?jW().cpus().length:navigator.hardwareConcurrency}function zu(k,R){var V=arguments.length-2,Y=arguments;return up(function(){for(var ht=V,wt=gp(ht*8),kt=wt>>3,Vt=0;Vt>3,ht=0;ht>>16),zo(Ft.buffer),1}catch(R){}}function oI(k){var R=n().length;if(k=k>>>0,k<=R)return!1;var V=Og();if(k>V)return!1;for(var Y=1;Y<=4;Y*=2){var ht=R*(1+.2/Y);ht=Math.min(ht,k+100663296);var wt=Math.min(V,np(Math.max(k,ht),65536)),kt=nI(wt);if(kt)return!0}return!1}var ne={inEventHandler:0,removeAllEventListeners:function(){for(var k=ne.eventHandlers.length-1;k>=0;--k)ne._removeHandler(k);ne.eventHandlers=[],ne.deferredCalls=[]},registerRemoveEventListeners:function(){ne.removeEventListenersRegistered||(Av.push(ne.removeAllEventListeners),ne.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(k,R,V){function Y(kt,Vt){if(kt.length!=Vt.length)return!1;for(var nr in kt)if(kt[nr]!=Vt[nr])return!1;return!0}for(var ht in ne.deferredCalls){var wt=ne.deferredCalls[ht];if(wt.targetFunction==k&&Y(wt.argsList,V))return}ne.deferredCalls.push({targetFunction:k,precedence:R,argsList:V}),ne.deferredCalls.sort(function(kt,Vt){return kt.precedence>2]=V,i()[wt+4>>2]=Y,i()[wt+8>>2]=ht,a0(k,637534208,R,Y,wt)})},getTargetThreadForEventCallback:function(k){switch(k){case 1:return 0;case 2:return Ut.currentProxiedOperationCallerThread;default:return k}},getNodeNameForTarget:function(k){return k?k==window?\"#window\":k==screen?\"#screen\":k&&k.nodeName?k.nodeName:\"\":\"\"},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function sI(k){var R=Mo(k)+1,V=i0(R);return $n(k,V,R),V}function iI(k,R,V,Y){up(function(){var ht=gp(12),wt=0;R&&(wt=sI(R)),i()[ht>>2]=wt,i()[ht+4>>2]=V,i()[ht+8>>2]=Y,a0(k,657457152,0,wt,ht)})}function aI(k,R,V,Y){R=R?qr(R):\"\",iI(k,R,V,Y)}function lI(k){return k>2?qr(k):k}var uI=[0,typeof document!=\"undefined\"?document:0,typeof window!=\"undefined\"?window:0];function cI(k){k=lI(k);var R=uI[k]||(typeof document!=\"undefined\"?document.querySelector(k):void 0);return R}function Kd(k){return cI(k)}function Pg(k,R,V){var Y=Kd(k);if(!Y)return-4;if(Y.canvasSharedPtr&&(i()[Y.canvasSharedPtr>>2]=R,i()[Y.canvasSharedPtr+4>>2]=V),Y.offscreenCanvas||!Y.controlTransferredOffscreen){Y.offscreenCanvas&&(Y=Y.offscreenCanvas);var ht=!1;if(Y.GLctxObject&&Y.GLctxObject.GLctx){var wt=Y.GLctxObject.GLctx.getParameter(2978);ht=wt[0]===0&&wt[1]===0&&wt[2]===Y.width&&wt[3]===Y.height}Y.width=R,Y.height=V,ht&&Y.GLctxObject.GLctx.viewport(0,0,R,V)}else if(Y.canvasSharedPtr){var kt=i()[Y.canvasSharedPtr+8>>2];return aI(kt,k,R,V),1}else return-4;return 0}function Lg(k,R,V){return C?zu(2,1,k,R,V):Pg(k,R,V)}function pI(k,R,V){var Y=Kd(k);return Y?Pg(k,R,V):Lg(k,R,V)}function mI(){throw\"unwind\"}function fI(k){var R=k.getExtension(\"ANGLE_instanced_arrays\");if(R)return k.vertexAttribDivisor=function(V,Y){R.vertexAttribDivisorANGLE(V,Y)},k.drawArraysInstanced=function(V,Y,ht,wt){R.drawArraysInstancedANGLE(V,Y,ht,wt)},k.drawElementsInstanced=function(V,Y,ht,wt,kt){R.drawElementsInstancedANGLE(V,Y,ht,wt,kt)},1}function dI(k){var R=k.getExtension(\"OES_vertex_array_object\");if(R)return k.createVertexArray=function(){return R.createVertexArrayOES()},k.deleteVertexArray=function(V){R.deleteVertexArrayOES(V)},k.bindVertexArray=function(V){R.bindVertexArrayOES(V)},k.isVertexArray=function(V){return R.isVertexArrayOES(V)},1}function hI(k){var R=k.getExtension(\"WEBGL_draw_buffers\");if(R)return k.drawBuffers=function(V,Y){R.drawBuffersWEBGL(V,Y)},1}function gI(k){return!!(k.multiDrawWebgl=k.getExtension(\"WEBGL_multi_draw\"))}var rr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function(R){rr.lastError||(rr.lastError=R)},getNewId:function(k){for(var R=rr.counter++,V=k.length;V>2]:-1;ht+=qr(i()[V+wt*4>>2],kt<0?void 0:kt)}return ht},createContext:function(k,R){k.getContextSafariWebGL2Fixed||(k.getContextSafariWebGL2Fixed=k.getContext,k.getContext=function(ht,wt){var kt=k.getContextSafariWebGL2Fixed(ht,wt);return ht==\"webgl\"==kt instanceof WebGLRenderingContext?kt:null});var V=k.getContext(\"webgl\",R);if(!V)return 0;var Y=rr.registerContext(V,R);return Y},registerContext:function(k,R){var V=i0(8);i()[V+4>>2]=qg();var Y={handle:V,attributes:R,version:R.majorVersion,GLctx:k};return k.canvas&&(k.canvas.GLctxObject=Y),rr.contexts[V]=Y,(typeof R.enableExtensionsByDefault==\"undefined\"||R.enableExtensionsByDefault)&&rr.initExtensions(Y),V},makeContextCurrent:function(k){return rr.currentContext=rr.contexts[k],l.ctx=Vg=rr.currentContext&&rr.currentContext.GLctx,!(k&&!Vg)},getContext:function(k){return rr.contexts[k]},deleteContext:function(k){rr.currentContext===rr.contexts[k]&&(rr.currentContext=null),typeof ne==\"object\"&&ne.removeAllHandlersOnTarget(rr.contexts[k].GLctx.canvas),rr.contexts[k]&&rr.contexts[k].GLctx.canvas&&(rr.contexts[k].GLctx.canvas.GLctxObject=void 0),p1(rr.contexts[k].handle),rr.contexts[k]=null},initExtensions:function(k){if(k||(k=rr.currentContext),!k.initExtensionsDone){k.initExtensionsDone=!0;var R=k.GLctx;fI(R),dI(R),hI(R),R.disjointTimerQueryExt=R.getExtension(\"EXT_disjoint_timer_query\"),gI(R);var V=R.getSupportedExtensions()||[];V.forEach(function(Y){!Y.includes(\"lose_context\")&&!Y.includes(\"debug\")&&R.getExtension(Y)})}}},xI=[\"default\",\"low-power\",\"high-performance\"];function yI(k,R){var V=R>>2,Y=i()[V+6],ht={alpha:!!i()[V+0],depth:!!i()[V+1],stencil:!!i()[V+2],antialias:!!i()[V+3],premultipliedAlpha:!!i()[V+4],preserveDrawingBuffer:!!i()[V+5],powerPreference:xI[Y],failIfMajorPerformanceCaveat:!!i()[V+7],majorVersion:i()[V+8],minorVersion:i()[V+9],enableExtensionsByDefault:i()[V+10],explicitSwapControl:i()[V+11],proxyContextToMainThread:i()[V+12],renderViaOffscreenBackBuffer:i()[V+13]},wt=Kd(k);if(!wt||ht.explicitSwapControl)return 0;var kt=rr.createContext(wt,ht);return kt}function bI(k,R){return yI(k,R)}var pp={mappings:{},buffers:[null,[],[]],printChar:function(k,R){var V=pp.buffers[k];R===0||R===10?((k===1?et:K)(tn(V,0)),V.length=0):V.push(R)},varargs:void 0,get:function(){pp.varargs+=4;var k=i()[pp.varargs-4>>2];return k},getStr:function(k){var R=qr(k);return R},get64:function(k,R){return k}};function Mg(k){return C?zu(3,1,k):0}function zg(k,R,V,Y,ht){if(C)return zu(4,1,k,R,V,Y,ht)}function Bg(k,R,V,Y){if(C)return zu(5,1,k,R,V,Y);for(var ht=0,wt=0;wt>2],Vt=i()[R+4>>2];R+=8;for(var nr=0;nr>2]=ht,0}function wI(k){Tt(k)}Ut.init();var Vg,CI=[null,Rg,Lg,Mg,zg,Bg],l1=!1,Gg={__clock_gettime:qv,__emscripten_init_main_thread_js:Kv,__emscripten_thread_cleanup:jv,__pthread_create_js:Xv,_emscripten_default_pthread_stack_size:Yv,_emscripten_notify_thread_queue:Zv,abort:Jv,emscripten_check_blocking_allowed:Qv,emscripten_get_heap_max:Og,emscripten_get_now:Mu,emscripten_memcpy_big:tI,emscripten_num_logical_cores:eI,emscripten_receive_on_main_thread_js:rI,emscripten_resize_heap:oI,emscripten_set_canvas_element_size:pI,emscripten_unwind_to_js_event_loop:mI,emscripten_webgl_create_context:bI,exit:Dg,fd_close:Mg,fd_seek:zg,fd_write:Bg,memory:Ft||l.wasmMemory,setTempRet0:wI},u1=Ov(),vI=l.___wasm_call_ctors=function(){return(vI=l.___wasm_call_ctors=l.asm.__wasm_call_ctors).apply(null,arguments)},II=l._init=function(){return(II=l._init=l.asm.init).apply(null,arguments)},SI=l._init_with_threads_count=function(){return(SI=l._init_with_threads_count=l.asm.init_with_threads_count).apply(null,arguments)},TI=l._get_threads_count=function(){return(TI=l._get_threads_count=l.asm.get_threads_count).apply(null,arguments)},NI=l._register_tensor=function(){return(NI=l._register_tensor=l.asm.register_tensor).apply(null,arguments)},kI=l._dispose_data=function(){return(kI=l._dispose_data=l.asm.dispose_data).apply(null,arguments)},_I=l._dispose=function(){return(_I=l._dispose=l.asm.dispose).apply(null,arguments)},EI=l._Abs=function(){return(EI=l._Abs=l.asm.Abs).apply(null,arguments)},AI=l._Add=function(){return(AI=l._Add=l.asm.Add).apply(null,arguments)},$I=l._AddN=function(){return($I=l._AddN=l.asm.AddN).apply(null,arguments)},DI=l._All=function(){return(DI=l._All=l.asm.All).apply(null,arguments)},RI=l._Any=function(){return(RI=l._Any=l.asm.Any).apply(null,arguments)},FI=l._ArgMax=function(){return(FI=l._ArgMax=l.asm.ArgMax).apply(null,arguments)},OI=l._AvgPool=function(){return(OI=l._AvgPool=l.asm.AvgPool).apply(null,arguments)},PI=l._BatchMatMul=function(){return(PI=l._BatchMatMul=l.asm.BatchMatMul).apply(null,arguments)},LI=l._Ceil=function(){return(LI=l._Ceil=l.asm.Ceil).apply(null,arguments)},MI=l._ClipByValue=function(){return(MI=l._ClipByValue=l.asm.ClipByValue).apply(null,arguments)},zI=l._Conv2D=function(){return(zI=l._Conv2D=l.asm.Conv2D).apply(null,arguments)},BI=l._Conv2DBackpropInput=function(){return(BI=l._Conv2DBackpropInput=l.asm.Conv2DBackpropInput).apply(null,arguments)},VI=l._Cos=function(){return(VI=l._Cos=l.asm.Cos).apply(null,arguments)},GI=l._Cosh=function(){return(GI=l._Cosh=l.asm.Cosh).apply(null,arguments)},WI=l._CropAndResize=function(){return(WI=l._CropAndResize=l.asm.CropAndResize).apply(null,arguments)},UI=l._Cumprod=function(){return(UI=l._Cumprod=l.asm.Cumprod).apply(null,arguments)},HI=l._Cumsum=function(){return(HI=l._Cumsum=l.asm.Cumsum).apply(null,arguments)},qI=l._DepthToSpace=function(){return(qI=l._DepthToSpace=l.asm.DepthToSpace).apply(null,arguments)},KI=l._DepthwiseConv2dNative=function(){return(KI=l._DepthwiseConv2dNative=l.asm.DepthwiseConv2dNative).apply(null,arguments)},jI=l._Elu=function(){return(jI=l._Elu=l.asm.Elu).apply(null,arguments)},XI=l._Equal=function(){return(XI=l._Equal=l.asm.Equal).apply(null,arguments)},YI=l._Exp=function(){return(YI=l._Exp=l.asm.Exp).apply(null,arguments)},ZI=l._FlipLeftRight=function(){return(ZI=l._FlipLeftRight=l.asm.FlipLeftRight).apply(null,arguments)},JI=l._Floor=function(){return(JI=l._Floor=l.asm.Floor).apply(null,arguments)},QI=l._FloorDiv=function(){return(QI=l._FloorDiv=l.asm.FloorDiv).apply(null,arguments)},t0=l._FusedBatchNorm=function(){return(t0=l._FusedBatchNorm=l.asm.FusedBatchNorm).apply(null,arguments)},e0=l._FusedConv2D=function(){return(e0=l._FusedConv2D=l.asm.FusedConv2D).apply(null,arguments)},Wg=l._FusedDepthwiseConv2D=function(){return(Wg=l._FusedDepthwiseConv2D=l.asm.FusedDepthwiseConv2D).apply(null,arguments)},Ug=l._Gather=function(){return(Ug=l._Gather=l.asm.Gather).apply(null,arguments)},jd=l._GatherNd=function(){return(jd=l._GatherNd=l.asm.GatherNd).apply(null,arguments)},r0=l._Greater=function(){return(r0=l._Greater=l.asm.Greater).apply(null,arguments)},n0=l._GreaterEqual=function(){return(n0=l._GreaterEqual=l.asm.GreaterEqual).apply(null,arguments)},mp=l._LeakyRelu=function(){return(mp=l._LeakyRelu=l.asm.LeakyRelu).apply(null,arguments)},Xd=l._Less=function(){return(Xd=l._Less=l.asm.Less).apply(null,arguments)},Yd=l._LessEqual=function(){return(Yd=l._LessEqual=l.asm.LessEqual).apply(null,arguments)},c1=l._Log=function(){return(c1=l._Log=l.asm.Log).apply(null,arguments)},fp=l._LogicalAnd=function(){return(fp=l._LogicalAnd=l.asm.LogicalAnd).apply(null,arguments)},dp=l._LogicalNot=function(){return(dp=l._LogicalNot=l.asm.LogicalNot).apply(null,arguments)},o0=l._LogicalOr=function(){return(o0=l._LogicalOr=l.asm.LogicalOr).apply(null,arguments)},U=l._LogicalXor=function(){return(U=l._LogicalXor=l.asm.LogicalXor).apply(null,arguments)},Q=l._Max=function(){return(Q=l._Max=l.asm.Max).apply(null,arguments)},xt=l._MaxPool=function(){return(xt=l._MaxPool=l.asm.MaxPool).apply(null,arguments)},$t=l._Maximum=function(){return($t=l._Maximum=l.asm.Maximum).apply(null,arguments)},he=l._Mean=function(){return(he=l._Mean=l.asm.Mean).apply(null,arguments)},xe=l._Min=function(){return(xe=l._Min=l.asm.Min).apply(null,arguments)},oe=l._Minimum=function(){return(oe=l._Minimum=l.asm.Minimum).apply(null,arguments)},ee=l._MirrorPad=function(){return(ee=l._MirrorPad=l.asm.MirrorPad).apply(null,arguments)},hr=l._Multiply=function(){return(hr=l._Multiply=l.asm.Multiply).apply(null,arguments)},Vo=l._Neg=function(){return(Vo=l._Neg=l.asm.Neg).apply(null,arguments)},Go=l._NonMaxSuppressionV3=function(){return(Go=l._NonMaxSuppressionV3=l.asm.NonMaxSuppressionV3).apply(null,arguments)},hp=l._NonMaxSuppressionV4=function(){return(hp=l._NonMaxSuppressionV4=l.asm.NonMaxSuppressionV4).apply(null,arguments)},Bu=l._NonMaxSuppressionV5=function(){return(Bu=l._NonMaxSuppressionV5=l.asm.NonMaxSuppressionV5).apply(null,arguments)},s0=l._NotEqual=function(){return(s0=l._NotEqual=l.asm.NotEqual).apply(null,arguments)},nn=l._OneHot=function(){return(nn=l._OneHot=l.asm.OneHot).apply(null,arguments)},Sl=l._PadV2=function(){return(Sl=l._PadV2=l.asm.PadV2).apply(null,arguments)},Hg=l._Pow=function(){return(Hg=l._Pow=l.asm.Pow).apply(null,arguments)},sU=l._Prelu=function(){return(sU=l._Prelu=l.asm.Prelu).apply(null,arguments)},iU=l._Prod=function(){return(iU=l._Prod=l.asm.Prod).apply(null,arguments)},aU=l._RealDiv=function(){return(aU=l._RealDiv=l.asm.RealDiv).apply(null,arguments)},lU=l._Relu=function(){return(lU=l._Relu=l.asm.Relu).apply(null,arguments)},uU=l._Relu6=function(){return(uU=l._Relu6=l.asm.Relu6).apply(null,arguments)},cU=l._ResizeBilinear=function(){return(cU=l._ResizeBilinear=l.asm.ResizeBilinear).apply(null,arguments)},pU=l._ResizeNearestNeighbor=function(){return(pU=l._ResizeNearestNeighbor=l.asm.ResizeNearestNeighbor).apply(null,arguments)},mU=l._Reverse=function(){return(mU=l._Reverse=l.asm.Reverse).apply(null,arguments)},fU=l._RotateWithOffset=function(){return(fU=l._RotateWithOffset=l.asm.RotateWithOffset).apply(null,arguments)},dU=l._Round=function(){return(dU=l._Round=l.asm.Round).apply(null,arguments)},hU=l._Rsqrt=function(){return(hU=l._Rsqrt=l.asm.Rsqrt).apply(null,arguments)},gU=l._ScatterNd=function(){return(gU=l._ScatterNd=l.asm.ScatterNd).apply(null,arguments)},xU=l._SelectV2=function(){return(xU=l._SelectV2=l.asm.SelectV2).apply(null,arguments)},yU=l._Sigmoid=function(){return(yU=l._Sigmoid=l.asm.Sigmoid).apply(null,arguments)},bU=l._Sin=function(){return(bU=l._Sin=l.asm.Sin).apply(null,arguments)},wU=l._Softmax=function(){return(wU=l._Softmax=l.asm.Softmax).apply(null,arguments)},CU=l._SparseFillEmptyRows=function(){return(CU=l._SparseFillEmptyRows=l.asm.SparseFillEmptyRows).apply(null,arguments)},vU=l._SparseReshape=function(){return(vU=l._SparseReshape=l.asm.SparseReshape).apply(null,arguments)},IU=l._SparseSegmentReduction=function(){return(IU=l._SparseSegmentReduction=l.asm.SparseSegmentReduction).apply(null,arguments)},SU=l._Sqrt=function(){return(SU=l._Sqrt=l.asm.Sqrt).apply(null,arguments)},TU=l._Square=function(){return(TU=l._Square=l.asm.Square).apply(null,arguments)},NU=l._SquaredDifference=function(){return(NU=l._SquaredDifference=l.asm.SquaredDifference).apply(null,arguments)},kU=l._Step=function(){return(kU=l._Step=l.asm.Step).apply(null,arguments)},_U=l._StridedSlice=function(){return(_U=l._StridedSlice=l.asm.StridedSlice).apply(null,arguments)},EU=l._Sub=function(){return(EU=l._Sub=l.asm.Sub).apply(null,arguments)},AU=l._Sum=function(){return(AU=l._Sum=l.asm.Sum).apply(null,arguments)},$U=l._Tan=function(){return($U=l._Tan=l.asm.Tan).apply(null,arguments)},DU=l._Tanh=function(){return(DU=l._Tanh=l.asm.Tanh).apply(null,arguments)},RU=l._Tile=function(){return(RU=l._Tile=l.asm.Tile).apply(null,arguments)},FU=l._TopK=function(){return(FU=l._TopK=l.asm.TopK).apply(null,arguments)},OU=l._Transform=function(){return(OU=l._Transform=l.asm.Transform).apply(null,arguments)},PU=l._Transpose=function(){return(PU=l._Transpose=l.asm.Transpose).apply(null,arguments)},LU=l.__FusedMatMul=function(){return(LU=l.__FusedMatMul=l.asm._FusedMatMul).apply(null,arguments)},i0=l._malloc=function(){return(i0=l._malloc=l.asm.malloc).apply(null,arguments)},p1=l._free=function(){return(p1=l._free=l.asm.free).apply(null,arguments)},MU=l._emscripten_tls_init=function(){return(MU=l._emscripten_tls_init=l.asm.emscripten_tls_init).apply(null,arguments)},m1=l.___errno_location=function(){return(m1=l.___errno_location=l.asm.__errno_location).apply(null,arguments)},qg=l._pthread_self=function(){return(qg=l._pthread_self=l.asm.pthread_self).apply(null,arguments)},f1=l._emscripten_main_thread_process_queued_calls=function(){return(f1=l._emscripten_main_thread_process_queued_calls=l.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},zU=l.__emscripten_thread_crashed=function(){return(zU=l.__emscripten_thread_crashed=l.asm._emscripten_thread_crashed).apply(null,arguments)},d1=l.__emscripten_thread_init=function(){return(d1=l.__emscripten_thread_init=l.asm._emscripten_thread_init).apply(null,arguments)},BU=l._emscripten_current_thread_process_queued_calls=function(){return(BU=l._emscripten_current_thread_process_queued_calls=l.asm.emscripten_current_thread_process_queued_calls).apply(null,arguments)},VU=l._emscripten_main_browser_thread_id=function(){return(VU=l._emscripten_main_browser_thread_id=l.asm.emscripten_main_browser_thread_id).apply(null,arguments)},GU=l._emscripten_sync_run_in_main_thread_2=function(){return(GU=l._emscripten_sync_run_in_main_thread_2=l.asm.emscripten_sync_run_in_main_thread_2).apply(null,arguments)},h1=l._emscripten_sync_run_in_main_thread_4=function(){return(h1=l._emscripten_sync_run_in_main_thread_4=l.asm.emscripten_sync_run_in_main_thread_4).apply(null,arguments)},g1=l._emscripten_run_in_main_runtime_thread_js=function(){return(g1=l._emscripten_run_in_main_runtime_thread_js=l.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},a0=l._emscripten_dispatch_to_thread_=function(){return(a0=l._emscripten_dispatch_to_thread_=l.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},l0=l.__emscripten_thread_free_data=function(){return(l0=l.__emscripten_thread_free_data=l.asm._emscripten_thread_free_data).apply(null,arguments)},WU=l.__emscripten_thread_exit=function(){return(WU=l.__emscripten_thread_exit=l.asm._emscripten_thread_exit).apply(null,arguments)},UU=l._memalign=function(){return(UU=l._memalign=l.asm.memalign).apply(null,arguments)},x1=l._emscripten_stack_set_limits=function(){return(x1=l._emscripten_stack_set_limits=l.asm.emscripten_stack_set_limits).apply(null,arguments)},u0=l.stackSave=function(){return(u0=l.stackSave=l.asm.stackSave).apply(null,arguments)},Kg=l.stackRestore=function(){return(Kg=l.stackRestore=l.asm.stackRestore).apply(null,arguments)},gp=l.stackAlloc=function(){return(gp=l.stackAlloc=l.asm.stackAlloc).apply(null,arguments)},HU=l.dynCall_iijjiiii=function(){return(HU=l.dynCall_iijjiiii=l.asm.dynCall_iijjiiii).apply(null,arguments)},qU=l.dynCall_jiji=function(){return(qU=l.dynCall_jiji=l.asm.dynCall_jiji).apply(null,arguments)},y1=l.__emscripten_allow_main_runtime_queued_calls=21672;l.cwrap=Me,l.keepRuntimeAlive=Pu,l.PThread=Ut,l.PThread=Ut,l.wasmMemory=Ft,l.ExitStatus=Zd;var jg;function Zd(k){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+k+\")\",this.status=k}Bo=function k(){jg||c0(),jg||(Bo=k)};function c0(k){if(k=k||d,Il>0)return;if(C){c(l),Gd(),postMessage({cmd:\"loaded\"});return}if(en(),Il>0)return;function R(){jg||(jg=!0,l.calledRun=!0,!Ie&&(Gd(),c(l),l.onRuntimeInitialized&&l.onRuntimeInitialized(),Rv()))}l.setStatus?(l.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){l.setStatus(\"\")},1),R()},1)):R()}l.run=c0;function KU(k,R){if(le=k,!R&&C)throw Rg(k),\"unwind\";Pu()||Dv(),jU(k)}function jU(k){le=k,Pu()||(Ut.terminateAllThreads(),l.onExit&&l.onExit(k),Ie=!0),g(k,new Zd(k))}if(l.preInit)for(typeof l.preInit==\"function\"&&(l.preInit=[l.preInit]);l.preInit.length>0;)l.preInit.pop()();c0();var Xg;m&&(Xg={uncaughtException:process.listeners(\"uncaughtException\").filter(function(k){return!m.uncaughtException.indexOf(k)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(k){return!m.unhandledRejection.indexOf(k)>-1})});var Yg;if(typeof WasmBackendModule!=\"undefined\")Yg=WasmBackendModule;else if(typeof t!=\"undefined\")Yg=t;else throw new Error(\"Could not find wasm module in post.js\");if(Xg){var XU=Yg._dispose;Yg._dispose=function(){XU(),Xg.uncaughtException.forEach(function(k){process.removeListener(\"uncaughtException\",k)}),Xg.unhandledRejection.forEach(function(k){process.removeListener(\"unhandledRejection\",k)})}}return t.ready}})();typeof kv==\"object\"&&typeof qk==\"object\"?qk.exports=Hk:typeof define==\"function\"&&define.amd?define([],function(){return Hk}):typeof kv==\"object\"&&(kv.WasmBackendModuleThreadedSimd=Hk)});var ZW=gr((B5e,YW)=>{YW.exports.wasmWorkerContents=`\"use strict\";var Module={};var ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof process.versions===\"object\"&&typeof process.versions.node===\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\");var parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",function(data){onmessage({data:data})});var fs=require(\"fs\");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,\"utf8\"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+\"\n\");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:text,threadId:Module[\"_pthread_self\"]()})}var err=threadPrintErr;self.alert=threadAlert;Module[\"instantiateWasm\"]=((info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module[\"wasmModule\"],info);receiveInstance(instance);Module[\"wasmModule\"]=null;return instance.exports});self.onmessage=(e=>{try{if(e.data.cmd===\"load\"){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)}WasmBackendModuleThreadedSimd(Module).then(function(instance){Module=instance})}else if(e.data.cmd===\"run\"){Module[\"__performance_now_clock_drift\"]=performance.now()-e.data.time;Module[\"__emscripten_thread_init\"](e.data.threadInfoStruct,0,0,1);Module[\"establishStackSpace\"]();Module[\"PThread\"].receiveObjectTransfer(e.data);Module[\"PThread\"].threadInit();try{var result=Module[\"invokeEntryPoint\"](e.data.start_routine,e.data.arg);if(Module[\"keepRuntimeAlive\"]()){Module[\"PThread\"].setExitStatus(result)}else{Module[\"__emscripten_thread_exit\"](result)}}catch(ex){if(ex!=\"unwind\"){if(ex instanceof Module[\"ExitStatus\"]){if(Module[\"keepRuntimeAlive\"]()){}else{Module[\"__emscripten_thread_exit\"](ex.status)}}else{throw ex}}}}else if(e.data.cmd===\"cancel\"){if(Module[\"_pthread_self\"]()){Module[\"__emscripten_thread_exit\"](-1)}}else if(e.data.target===\"setimmediate\"){}else if(e.data.cmd===\"processThreadQueue\"){if(Module[\"_pthread_self\"]()){Module[\"_emscripten_current_thread_process_queued_calls\"]()}}else if(e.data.cmd===\"processProxyingQueue\"){if(Module[\"_pthread_self\"]()){Module[\"_emscripten_proxy_execute_queue\"](e.data.queue)}}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&&ex.stack)err(ex.stack);if(Module[\"__emscripten_thread_crashed\"]){Module[\"__emscripten_thread_crashed\"]()}throw ex}});`});var JW=gr((_v,jk)=>{var Kk=(()=>{var r=typeof document!=\"undefined\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!=\"undefined\"&&(r=r||__filename),function(t){t=t||{};var e=typeof t!=\"undefined\"?t:{},n,o;e.ready=new Promise(function(U,Q){n=U,o=Q});var s;typeof process!=\"undefined\"&&process.listeners&&(s={uncaughtException:process.listeners(\"uncaughtException\"),unhandledRejection:process.listeners(\"unhandledRejection\")});var i=Object.assign({},e),a=[],u=\"./this.program\",l=(U,Q)=>{throw Q},c=typeof window==\"object\",p=typeof importScripts==\"function\",m=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",f=\"\";function d(U){return e.locateFile?e.locateFile(U,f):f+U}var h,g,x,b;function w(U){if(U instanceof Xd)return;D(\"exiting due to exception: \"+U)}var C,T,E;m?(p?f=hg().dirname(f)+\"/\":f=__dirname+\"/\",E=()=>{T||(C=pw(),T=hg())},h=function(Q,xt){return E(),Q=T.normalize(Q),C.readFileSync(Q,xt?void 0:\"utf8\")},x=U=>{var Q=h(U,!0);return Q.buffer||(Q=new Uint8Array(Q)),Q},g=(U,Q,xt)=>{E(),U=T.normalize(U),C.readFile(U,function($t,he){$t?xt($t):Q(he.buffer)})},process.argv.length>1&&(u=process.argv[1].replace(/\\\\/g,\"/\")),a=process.argv.slice(2),process.on(\"uncaughtException\",function(U){if(!(U instanceof Xd))throw U}),process.on(\"unhandledRejection\",function(U){throw U}),l=(U,Q)=>{if(Vd())throw process.exitCode=U,Q;w(Q),process.exit(U)},e.inspect=function(){return\"[Emscripten Module object]\"}):(c||p)&&(p?f=self.location.href:typeof document!=\"undefined\"&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f.indexOf(\"blob:\")!==0?f=f.substr(0,f.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):f=\"\",h=U=>{var Q=new XMLHttpRequest;return Q.open(\"GET\",U,!1),Q.send(null),Q.responseText},p&&(x=U=>{var Q=new XMLHttpRequest;return Q.open(\"GET\",U,!1),Q.responseType=\"arraybuffer\",Q.send(null),new Uint8Array(Q.response)}),g=(U,Q,xt)=>{var $t=new XMLHttpRequest;$t.open(\"GET\",U,!0),$t.responseType=\"arraybuffer\",$t.onload=()=>{if($t.status==200||$t.status==0&&$t.response){Q($t.response);return}xt()},$t.onerror=xt,$t.send(null)},b=U=>document.title=U);var $=e.print||console.log.bind(console),D=e.printErr||console.warn.bind(console);Object.assign(e,i),i=null,e.arguments&&(a=e.arguments),e.thisProgram&&(u=e.thisProgram),e.quit&&(l=e.quit);var P=4;function M(U){M.shown||(M.shown={}),M.shown[U]||(M.shown[U]=1,D(U))}function W(U,Q){if(typeof WebAssembly.Function==\"function\"){for(var xt={i:\"i32\",j:\"i64\",f:\"f32\",d:\"f64\"},$t={parameters:[],results:Q[0]==\"v\"?[]:[xt[Q[0]]]},he=1;he{Z=U},K;e.wasmBinary&&(K=e.wasmBinary);var ot=e.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&Ou(\"no native wasm support detected\");var st,it=!1,pt;function at(U,Q){U||Ou(Q)}function gt(U){var Q=e[\"_\"+U];return Q}function dt(U,Q,xt,$t,he){var xe={string:function(nn){var Sl=0;if(nn!=null&&nn!==0){var Hg=(nn.length<<2)+1;Sl=jd(Hg),me(nn,Sl,Hg)}return Sl},array:function(nn){var Sl=jd(nn.length);return Ie(nn,Sl),Sl}};function oe(nn){return Q===\"string\"?qt(nn):Q===\"boolean\"?Boolean(nn):nn}var ee=gt(U),hr=[],Vo=0;if($t)for(var Go=0;Go<$t.length;Go++){var hp=xe[xt[Go]];hp?(Vo===0&&(Vo=Wg()),hr[Go]=hp($t[Go])):hr[Go]=$t[Go]}var Bu=ee.apply(null,hr);function s0(nn){return Vo!==0&&Ug(Vo),oe(nn)}return Bu=s0(Bu),Bu}function bt(U,Q,xt,$t){xt=xt||[];var he=xt.every(function(oe){return oe===\"number\"}),xe=Q!==\"string\";return xe&&he&&!$t?gt(U):function(){return dt(U,Q,xt,arguments,$t)}}var Tt=1,At=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function Rt(U,Q,xt){for(var $t=Q+xt,he=Q;U[he]&&!(he>=$t);)++he;if(he-Q>16&&U.subarray&&At)return At.decode(U.subarray(Q,he));for(var xe=\"\";Q>10,56320|Vo&1023)}}return xe}function qt(U,Q){return U?Rt(Me,U,Q):\"\"}function Kt(U,Q,xt,$t){if(!($t>0))return 0;for(var he=xt,xe=xt+$t-1,oe=0;oe=55296&&ee<=57343){var hr=U.charCodeAt(++oe);ee=65536+((ee&1023)<<10)|hr&1023}if(ee<=127){if(xt>=xe)break;Q[xt++]=ee}else if(ee<=2047){if(xt+1>=xe)break;Q[xt++]=192|ee>>6,Q[xt++]=128|ee&63}else if(ee<=65535){if(xt+2>=xe)break;Q[xt++]=224|ee>>12,Q[xt++]=128|ee>>6&63,Q[xt++]=128|ee&63}else{if(xt+3>=xe)break;Q[xt++]=240|ee>>18,Q[xt++]=128|ee>>12&63,Q[xt++]=128|ee>>6&63,Q[xt++]=128|ee&63}}return Q[xt]=0,xt-he}function me(U,Q,xt){return Kt(U,Me,Q,xt)}function Ft(U){for(var Q=0,xt=0;xt=55296&&$t<=57343&&($t=65536+(($t&1023)<<10)|U.charCodeAt(++xt)&1023),$t<=127?++Q:$t<=2047?Q+=2:$t<=65535?Q+=3:Q+=4}return Q}var Ae=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):void 0;function Ie(U,Q){Jr.set(U,Q)}function le(U,Q,xt){for(var $t=0;$t>0]=U.charCodeAt($t);xt||(Jr[Q>>0]=0)}function qe(U,Q){return U%Q>0&&(U+=Q-U%Q),U}var Re,Jr,Me,Lo,Or,Qr,tn,qr,so;function $n(U){Re=U,e.HEAP8=Jr=new Int8Array(U),e.HEAP16=Lo=new Int16Array(U),e.HEAP32=Qr=new Int32Array(U),e.HEAPU8=Me=new Uint8Array(U),e.HEAPU16=Or=new Uint16Array(U),e.HEAPU32=tn=new Uint32Array(U),e.HEAPF32=qr=new Float32Array(U),e.HEAPF64=so=new Float64Array(U)}var Mo=e.INITIAL_MEMORY||16777216,io,Cl=[],Fu=[],np=[],dr=!1,op=!1,sp=0;function Vd(){return ot||sp>0}function wg(){if(e.preRun)for(typeof e.preRun==\"function\"&&(e.preRun=[e.preRun]);e.preRun.length;)Ig(e.preRun.shift());Wd(Cl)}function Cg(){dr=!0,Wd(Fu)}function Qk(){op=!0}function vg(){if(e.postRun)for(typeof e.postRun==\"function\"&&(e.postRun=[e.postRun]);e.postRun.length;)Sg(e.postRun.shift());Wd(np)}function Ig(U){Cl.unshift(U)}function zo(U){Fu.unshift(U)}function Sg(U){np.unshift(U)}var Hn=0,ip=null,vl=null;function Av(U){Hn++,e.monitorRunDependencies&&e.monitorRunDependencies(Hn)}function Tg(U){if(Hn--,e.monitorRunDependencies&&e.monitorRunDependencies(Hn),Hn==0&&(ip!==null&&(clearInterval(ip),ip=null),vl)){var Q=vl;vl=null,Q()}}e.preloadedImages={},e.preloadedAudios={};function Ou(U){e.onAbort&&e.onAbort(U),U=\"Aborted(\"+U+\")\",D(U),it=!0,pt=1,U+=\". Build with -s ASSERTIONS=1 for more info.\";var Q=new WebAssembly.RuntimeError(U);throw o(Q),Q}var $v=\"data:application/octet-stream;base64,\";function Ng(U){return U.startsWith($v)}function Pu(U){return U.startsWith(\"file://\")}var en;en=\"tfjs-backend-wasm.wasm\",Ng(en)||(en=d(en));function Gd(U){try{if(U==en&&K)return new Uint8Array(K);if(x)return x(U);throw\"both async and sync fetching of the wasm failed\"}catch(Q){Ou(Q)}}function Dv(){if(!K&&(c||p)){if(typeof fetch==\"function\"&&!Pu(en))return fetch(en,{credentials:\"same-origin\"}).then(function(U){if(!U.ok)throw\"failed to load wasm binary file at '\"+en+\"'\";return U.arrayBuffer()}).catch(function(){return Gd(en)});if(g)return new Promise(function(U,Q){g(en,function(xt){U(new Uint8Array(xt))},Q)})}return Promise.resolve().then(function(){return Gd(en)})}function Rv(){var U={env:up,wasi_snapshot_preview1:up};function Q(oe,ee){var hr=oe.exports;e.asm=hr,st=e.asm.memory,$n(st.buffer),io=e.asm.__indirect_function_table,zo(e.asm.__wasm_call_ctors),Tg(\"wasm-instantiate\")}Av(\"wasm-instantiate\");function xt(oe){Q(oe.instance)}function $t(oe){return Dv().then(function(ee){return WebAssembly.instantiate(ee,U)}).then(function(ee){return ee}).then(oe,function(ee){D(\"failed to asynchronously prepare wasm: \"+ee),Ou(ee)})}function he(){return!K&&typeof WebAssembly.instantiateStreaming==\"function\"&&!Ng(en)&&!Pu(en)&&typeof fetch==\"function\"?fetch(en,{credentials:\"same-origin\"}).then(function(oe){var ee=WebAssembly.instantiateStreaming(oe,U);return ee.then(xt,function(hr){return D(\"wasm streaming compile failed: \"+hr),D(\"falling back to ArrayBuffer instantiation\"),$t(xt)})}):$t(xt)}if(e.instantiateWasm)try{var xe=e.instantiateWasm(U,Q);return xe}catch(oe){return D(\"Module.instantiateWasm callback failed with error: \"+oe),!1}return he().catch(o),{}}var t1,e1;function Wd(U){for(;U.length>0;){var Q=U.shift();if(typeof Q==\"function\"){Q(e);continue}var xt=Q.func;typeof xt==\"number\"?Q.arg===void 0?Ud(xt)():Ud(xt)(Q.arg):xt(Q.arg===void 0?null:Q.arg)}}function Il(U){return U}function kg(U){var Q=/\\b_Z[\\w\\d_]+/g;return U.replace(Q,function(xt){var $t=xt;return xt===$t?xt:$t+\" [\"+xt+\"]\"})}var Bo=[];function Ud(U){var Q=Bo[U];return Q||(U>=Bo.length&&(Bo.length=U+1),Bo[U]=Q=io.get(U)),Q}function r1(){var U=new Error;if(!U.stack){try{throw new Error}catch(Q){U=Q}if(!U.stack)return\"(no stack trace available)\"}return U.stack.toString()}function ap(U,Q){io.set(U,Q),Bo[U]=Q}function Fv(){Ou(\"\")}function Hd(){return 2147483648}function _g(U,Q,xt){Me.copyWithin(U,Q,Q+xt)}function rn(U){try{return st.grow(U-Re.byteLength+65535>>>16),$n(st.buffer),1}catch(Q){}}function Eg(U){var Q=Me.length;U=U>>>0;var xt=Hd();if(U>xt)return!1;for(var $t=1;$t<=4;$t*=2){var he=Q*(1+.2/$t);he=Math.min(he,U+100663296);var xe=Math.min(xt,qe(Math.max(U,he),65536)),oe=rn(xe);if(oe)return!0}return!1}var lp={mappings:{},buffers:[null,[],[]],printChar:function(U,Q){var xt=lp.buffers[U];Q===0||Q===10?((U===1?$:D)(Rt(xt,0)),xt.length=0):xt.push(Q)},varargs:void 0,get:function(){lp.varargs+=4;var U=Qr[lp.varargs-4>>2];return U},getStr:function(U){var Q=qt(U);return Q},get64:function(U,Q){return U}};function Ov(U){return 0}function n1(U,Q,xt,$t,he){}function o1(U,Q,xt,$t){for(var he=0,xe=0;xe>2],ee=Qr[Q+4>>2];Q+=8;for(var hr=0;hr>2]=he,0}function Pv(U){et(U)}var Ag=!1,up={abort:Fv,emscripten_get_heap_max:Hd,emscripten_memcpy_big:_g,emscripten_resize_heap:Eg,fd_close:Ov,fd_seek:n1,fd_write:o1,setTempRet0:Pv},oU=Rv(),s1=e.___wasm_call_ctors=function(){return(s1=e.___wasm_call_ctors=e.asm.__wasm_call_ctors).apply(null,arguments)},Lv=e._init=function(){return(Lv=e._init=e.asm.init).apply(null,arguments)},Mv=e._init_with_threads_count=function(){return(Mv=e._init_with_threads_count=e.asm.init_with_threads_count).apply(null,arguments)},$g=e._get_threads_count=function(){return($g=e._get_threads_count=e.asm.get_threads_count).apply(null,arguments)},Dg=e._register_tensor=function(){return(Dg=e._register_tensor=e.asm.register_tensor).apply(null,arguments)},zv=e._dispose_data=function(){return(zv=e._dispose_data=e.asm.dispose_data).apply(null,arguments)},Ut=e._dispose=function(){return(Ut=e._dispose=e.asm.dispose).apply(null,arguments)},Bv=e._Abs=function(){return(Bv=e._Abs=e.asm.Abs).apply(null,arguments)},Rg=e._Add=function(){return(Rg=e._Add=e.asm.Add).apply(null,arguments)},Lu=e._AddN=function(){return(Lu=e._AddN=e.asm.AddN).apply(null,arguments)},cp=e._All=function(){return(cp=e._All=e.asm.All).apply(null,arguments)},Vv=e._Any=function(){return(Vv=e._Any=e.asm.Any).apply(null,arguments)},i1=e._ArgMax=function(){return(i1=e._ArgMax=e.asm.ArgMax).apply(null,arguments)},Gv=e._AvgPool=function(){return(Gv=e._AvgPool=e.asm.AvgPool).apply(null,arguments)},a1=e._BatchMatMul=function(){return(a1=e._BatchMatMul=e.asm.BatchMatMul).apply(null,arguments)},Mu=e._Ceil=function(){return(Mu=e._Ceil=e.asm.Ceil).apply(null,arguments)},Wv=e._ClipByValue=function(){return(Wv=e._ClipByValue=e.asm.ClipByValue).apply(null,arguments)},Uv=e._Conv2D=function(){return(Uv=e._Conv2D=e.asm.Conv2D).apply(null,arguments)},Hv=e._Conv2DBackpropInput=function(){return(Hv=e._Conv2DBackpropInput=e.asm.Conv2DBackpropInput).apply(null,arguments)},qv=e._Cos=function(){return(qv=e._Cos=e.asm.Cos).apply(null,arguments)},Kv=e._Cosh=function(){return(Kv=e._Cosh=e.asm.Cosh).apply(null,arguments)},jv=e._CropAndResize=function(){return(jv=e._CropAndResize=e.asm.CropAndResize).apply(null,arguments)},Fg=e._Cumprod=function(){return(Fg=e._Cumprod=e.asm.Cumprod).apply(null,arguments)},Xv=e._Cumsum=function(){return(Xv=e._Cumsum=e.asm.Cumsum).apply(null,arguments)},Yv=e._DepthToSpace=function(){return(Yv=e._DepthToSpace=e.asm.DepthToSpace).apply(null,arguments)},Zv=e._DepthwiseConv2dNative=function(){return(Zv=e._DepthwiseConv2dNative=e.asm.DepthwiseConv2dNative).apply(null,arguments)},Jv=e._Elu=function(){return(Jv=e._Elu=e.asm.Elu).apply(null,arguments)},Qv=e._Equal=function(){return(Qv=e._Equal=e.asm.Equal).apply(null,arguments)},Og=e._Exp=function(){return(Og=e._Exp=e.asm.Exp).apply(null,arguments)},tI=e._FlipLeftRight=function(){return(tI=e._FlipLeftRight=e.asm.FlipLeftRight).apply(null,arguments)},eI=e._Floor=function(){return(eI=e._Floor=e.asm.Floor).apply(null,arguments)},zu=e._FloorDiv=function(){return(zu=e._FloorDiv=e.asm.FloorDiv).apply(null,arguments)},qd=e._FusedBatchNorm=function(){return(qd=e._FusedBatchNorm=e.asm.FusedBatchNorm).apply(null,arguments)},rI=e._FusedConv2D=function(){return(rI=e._FusedConv2D=e.asm.FusedConv2D).apply(null,arguments)},nI=e._FusedDepthwiseConv2D=function(){return(nI=e._FusedDepthwiseConv2D=e.asm.FusedDepthwiseConv2D).apply(null,arguments)},oI=e._Gather=function(){return(oI=e._Gather=e.asm.Gather).apply(null,arguments)},ne=e._GatherNd=function(){return(ne=e._GatherNd=e.asm.GatherNd).apply(null,arguments)},sI=e._Greater=function(){return(sI=e._Greater=e.asm.Greater).apply(null,arguments)},iI=e._GreaterEqual=function(){return(iI=e._GreaterEqual=e.asm.GreaterEqual).apply(null,arguments)},aI=e._LeakyRelu=function(){return(aI=e._LeakyRelu=e.asm.LeakyRelu).apply(null,arguments)},lI=e._Less=function(){return(lI=e._Less=e.asm.Less).apply(null,arguments)},uI=e._LessEqual=function(){return(uI=e._LessEqual=e.asm.LessEqual).apply(null,arguments)},cI=e._Log=function(){return(cI=e._Log=e.asm.Log).apply(null,arguments)},Kd=e._LogicalAnd=function(){return(Kd=e._LogicalAnd=e.asm.LogicalAnd).apply(null,arguments)},Pg=e._LogicalNot=function(){return(Pg=e._LogicalNot=e.asm.LogicalNot).apply(null,arguments)},Lg=e._LogicalOr=function(){return(Lg=e._LogicalOr=e.asm.LogicalOr).apply(null,arguments)},pI=e._LogicalXor=function(){return(pI=e._LogicalXor=e.asm.LogicalXor).apply(null,arguments)},mI=e._Max=function(){return(mI=e._Max=e.asm.Max).apply(null,arguments)},fI=e._MaxPool=function(){return(fI=e._MaxPool=e.asm.MaxPool).apply(null,arguments)},dI=e._Maximum=function(){return(dI=e._Maximum=e.asm.Maximum).apply(null,arguments)},hI=e._Mean=function(){return(hI=e._Mean=e.asm.Mean).apply(null,arguments)},gI=e._Min=function(){return(gI=e._Min=e.asm.Min).apply(null,arguments)},rr=e._Minimum=function(){return(rr=e._Minimum=e.asm.Minimum).apply(null,arguments)},xI=e._MirrorPad=function(){return(xI=e._MirrorPad=e.asm.MirrorPad).apply(null,arguments)},yI=e._Multiply=function(){return(yI=e._Multiply=e.asm.Multiply).apply(null,arguments)},bI=e._Neg=function(){return(bI=e._Neg=e.asm.Neg).apply(null,arguments)},pp=e._NonMaxSuppressionV3=function(){return(pp=e._NonMaxSuppressionV3=e.asm.NonMaxSuppressionV3).apply(null,arguments)},Mg=e._NonMaxSuppressionV4=function(){return(Mg=e._NonMaxSuppressionV4=e.asm.NonMaxSuppressionV4).apply(null,arguments)},zg=e._NonMaxSuppressionV5=function(){return(zg=e._NonMaxSuppressionV5=e.asm.NonMaxSuppressionV5).apply(null,arguments)},Bg=e._NotEqual=function(){return(Bg=e._NotEqual=e.asm.NotEqual).apply(null,arguments)},wI=e._OneHot=function(){return(wI=e._OneHot=e.asm.OneHot).apply(null,arguments)},Vg=e._PadV2=function(){return(Vg=e._PadV2=e.asm.PadV2).apply(null,arguments)},CI=e._Pow=function(){return(CI=e._Pow=e.asm.Pow).apply(null,arguments)},l1=e._Prelu=function(){return(l1=e._Prelu=e.asm.Prelu).apply(null,arguments)},Gg=e._Prod=function(){return(Gg=e._Prod=e.asm.Prod).apply(null,arguments)},u1=e._RealDiv=function(){return(u1=e._RealDiv=e.asm.RealDiv).apply(null,arguments)},vI=e._Relu=function(){return(vI=e._Relu=e.asm.Relu).apply(null,arguments)},II=e._Relu6=function(){return(II=e._Relu6=e.asm.Relu6).apply(null,arguments)},SI=e._ResizeBilinear=function(){return(SI=e._ResizeBilinear=e.asm.ResizeBilinear).apply(null,arguments)},TI=e._ResizeNearestNeighbor=function(){return(TI=e._ResizeNearestNeighbor=e.asm.ResizeNearestNeighbor).apply(null,arguments)},NI=e._Reverse=function(){return(NI=e._Reverse=e.asm.Reverse).apply(null,arguments)},kI=e._RotateWithOffset=function(){return(kI=e._RotateWithOffset=e.asm.RotateWithOffset).apply(null,arguments)},_I=e._Round=function(){return(_I=e._Round=e.asm.Round).apply(null,arguments)},EI=e._Rsqrt=function(){return(EI=e._Rsqrt=e.asm.Rsqrt).apply(null,arguments)},AI=e._ScatterNd=function(){return(AI=e._ScatterNd=e.asm.ScatterNd).apply(null,arguments)},$I=e._SelectV2=function(){return($I=e._SelectV2=e.asm.SelectV2).apply(null,arguments)},DI=e._Sigmoid=function(){return(DI=e._Sigmoid=e.asm.Sigmoid).apply(null,arguments)},RI=e._Sin=function(){return(RI=e._Sin=e.asm.Sin).apply(null,arguments)},FI=e._Softmax=function(){return(FI=e._Softmax=e.asm.Softmax).apply(null,arguments)},OI=e._SparseFillEmptyRows=function(){return(OI=e._SparseFillEmptyRows=e.asm.SparseFillEmptyRows).apply(null,arguments)},PI=e._SparseReshape=function(){return(PI=e._SparseReshape=e.asm.SparseReshape).apply(null,arguments)},LI=e._SparseSegmentReduction=function(){return(LI=e._SparseSegmentReduction=e.asm.SparseSegmentReduction).apply(null,arguments)},MI=e._Sqrt=function(){return(MI=e._Sqrt=e.asm.Sqrt).apply(null,arguments)},zI=e._Square=function(){return(zI=e._Square=e.asm.Square).apply(null,arguments)},BI=e._SquaredDifference=function(){return(BI=e._SquaredDifference=e.asm.SquaredDifference).apply(null,arguments)},VI=e._Step=function(){return(VI=e._Step=e.asm.Step).apply(null,arguments)},GI=e._StridedSlice=function(){return(GI=e._StridedSlice=e.asm.StridedSlice).apply(null,arguments)},WI=e._Sub=function(){return(WI=e._Sub=e.asm.Sub).apply(null,arguments)},UI=e._Sum=function(){return(UI=e._Sum=e.asm.Sum).apply(null,arguments)},HI=e._Tan=function(){return(HI=e._Tan=e.asm.Tan).apply(null,arguments)},qI=e._Tanh=function(){return(qI=e._Tanh=e.asm.Tanh).apply(null,arguments)},KI=e._Tile=function(){return(KI=e._Tile=e.asm.Tile).apply(null,arguments)},jI=e._TopK=function(){return(jI=e._TopK=e.asm.TopK).apply(null,arguments)},XI=e._Transform=function(){return(XI=e._Transform=e.asm.Transform).apply(null,arguments)},YI=e._Transpose=function(){return(YI=e._Transpose=e.asm.Transpose).apply(null,arguments)},ZI=e.__FusedMatMul=function(){return(ZI=e.__FusedMatMul=e.asm._FusedMatMul).apply(null,arguments)},JI=e._malloc=function(){return(JI=e._malloc=e.asm.malloc).apply(null,arguments)},QI=e._free=function(){return(QI=e._free=e.asm.free).apply(null,arguments)},t0=e.___errno_location=function(){return(t0=e.___errno_location=e.asm.__errno_location).apply(null,arguments)},e0=e._emscripten_main_thread_process_queued_calls=function(){return(e0=e._emscripten_main_thread_process_queued_calls=e.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Wg=e.stackSave=function(){return(Wg=e.stackSave=e.asm.stackSave).apply(null,arguments)},Ug=e.stackRestore=function(){return(Ug=e.stackRestore=e.asm.stackRestore).apply(null,arguments)},jd=e.stackAlloc=function(){return(jd=e.stackAlloc=e.asm.stackAlloc).apply(null,arguments)},r0=e.dynCall_iijjiiii=function(){return(r0=e.dynCall_iijjiiii=e.asm.dynCall_iijjiiii).apply(null,arguments)},n0=e.dynCall_jiji=function(){return(n0=e.dynCall_jiji=e.asm.dynCall_jiji).apply(null,arguments)};e.cwrap=bt;var mp;function Xd(U){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+U+\")\",this.status=U}vl=function U(){mp||Yd(),mp||(vl=U)};function Yd(U){if(U=U||a,Hn>0||(wg(),Hn>0))return;function Q(){mp||(mp=!0,e.calledRun=!0,!it&&(Cg(),n(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),vg()))}e.setStatus?(e.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){e.setStatus(\"\")},1),Q()},1)):Q()}e.run=Yd;function c1(U){pt=U,Vd()||(e.onExit&&e.onExit(U),it=!0),l(U,new Xd(U))}if(e.preInit)for(typeof e.preInit==\"function\"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();Yd();var fp;s&&(fp={uncaughtException:process.listeners(\"uncaughtException\").filter(function(U){return!s.uncaughtException.indexOf(U)>-1}),unhandledRejection:process.listeners(\"unhandledRejection\").filter(function(U){return!s.unhandledRejection.indexOf(U)>-1})});var dp;if(typeof t!=\"undefined\")dp=t;else if(typeof WasmBackendModuleThreadedSimd!=\"undefined\")dp=WasmBackendModuleThreadedSimd;else throw new Error(\"Could not find wasm module in post.js\");if(fp){var o0=dp._dispose;dp._dispose=function(){o0(),fp.uncaughtException.forEach(function(U){process.removeListener(\"uncaughtException\",U)}),fp.unhandledRejection.forEach(function(U){process.removeListener(\"unhandledRejection\",U)})}}return t.ready}})();typeof _v==\"object\"&&typeof jk==\"object\"?jk.exports=Kk:typeof define==\"function\"&&define.amd?define([],function(){return Kk}):typeof _v==\"object\"&&(_v.WasmBackendModule=Kk)});var ra=class{constructor(t,e){this.backend=t,this.dataMover=e,this.data=new WeakMap,this.dataIdsCount=0}get(t){return this.data.has(t)||this.dataMover.moveData(this.backend,t),this.data.get(t)}set(t,e){this.dataIdsCount++,this.data.set(t,e)}has(t){return this.data.has(t)}delete(t){return this.dataIdsCount--,this.data.delete(t)}numDataIds(){return this.dataIdsCount}},Ho=class{refCount(t){return qn(\"refCount\")}incRef(t){return qn(\"incRef\")}timerAvailable(){return!0}time(t){return qn(\"time\")}read(t){return qn(\"read\")}readSync(t){return qn(\"readSync\")}readToGPU(t,e){return qn(\"readToGPU\")}numDataIds(){return qn(\"numDataIds\")}disposeData(t,e){return qn(\"disposeData\")}write(t,e,n){return qn(\"write\")}move(t,e,n,o,s){return qn(\"move\")}memory(){return qn(\"memory\")}floatPrecision(){return qn(\"floatPrecision\")}epsilon(){return this.floatPrecision()===32?1e-7:1e-4}dispose(){return qn(\"dispose\")}};function qn(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 w1(r){let t=r.length,e=0;for(;t>0;)e=Math.random()*t|0,t--,Jg(r,t,e)}function n4(r,t){if(r.length!==t.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${r.length}Second array length was ${t.length}`);let e=r.length,n=0;for(;e>0;)n=Math.random()*e|0,e--,Jg(r,e,n),Jg(t,e,n)}function yp(r,t,e){return Math.max(r,Math.min(t,e))}function o4(r){return r%2===0?r:r+1}function Jg(r,t,e){let n=r[t];r[t]=r[e],r[e]=n}function s4(r){let t=0;for(let e=0;ee+` Shapes ${r} and ${t} must match`)}function Kn(r){A(r!=null,()=>\"The input to the tensor constructor must be a non-null value.\")}function qo(r,t=[],e=!1){if(t==null&&(t=[]),Array.isArray(r)||xr(r)&&!e)for(let n=0;n0,e){return new Promise((n,o)=>{let s=0,i=()=>{if(r()){n();return}s++;let a=t(s);if(e!=null&&s>=e){o();return}setTimeout(i,a)};i()})}function f4(r,t){let e=1,n=-1;for(let s=0;s=0)e*=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(t>0&&t!==e)throw Error(`Size(${t}) must match the product of shape ${r}`);return r}if(e===0)throw Error(`Cannot infer the missing size in [${r}] when there are 0 elements`);if(t%e!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${e}`);let o=r.slice();return o[n]=t/e,o}function ur(r,t){let e=t.length;return r=r==null?t.map((n,o)=>o):[].concat(r),A(r.every(n=>n>=-e&&n`All values in axis param must be in range [-${e}, ${e}) but got axis ${r}`),A(r.every(n=>na(n)),()=>`All values in axis param must be integers but got axis ${r}`),r.map(n=>n<0?e+n:n)}function m0(r,t){let e=[],n=[],o=t!=null&&Array.isArray(t)&&t.length===0,s=t==null||o?null:ur(t,r).sort(),i=0;for(let a=0;aa)&&r[a]===1&&(e.push(r[a]),n.push(a)),s[i]<=a&&i++}r[a]!==1&&(e.push(r[a]),n.push(a))}return{newShape:e,keptDims:n}}function f0(r,t){let e=null;if(r==null||r===\"float32\")e=new Float32Array(t);else if(r===\"int32\")e=new Int32Array(t);else if(r===\"bool\")e=new Uint8Array(t);else throw new Error(`Unknown data type ${r}`);return e}function d0(r,t){let e=null;if(r==null||r===\"float32\")e=new Float32Array(t);else if(r===\"int32\")e=new Int32Array(t);else if(r===\"bool\")e=new Uint8Array(t);else if(r===\"string\")e=new Array(t);else throw new Error(`Unknown data type ${r}`);return e}function h0(r,t){for(let e=0;et+=e.length),t}function Ko(r){return typeof r==\"string\"||r instanceof String}function C1(r){return typeof r==\"boolean\"}function v1(r){return typeof r==\"number\"}function bp(r){return Array.isArray(r)?bp(r[0]):r instanceof Float32Array?\"float32\":r instanceof Int32Array||r instanceof Uint8Array||r instanceof Uint8ClampedArray?\"int32\":v1(r)?\"float32\":Ko(r)?\"string\":C1(r)?\"bool\":\"float32\"}function ui(r){return!!(r&&r.constructor&&r.call&&r.apply)}function wp(r,t){for(let e=t;e=0;--n)e[n]=e[n+1]*r[n+1];return e}function I1(r,t,e,n=!1){let o=new Array;if(t.length===1){let s=t[0]*(n?2:1);for(let i=0;iu*l)*(n?2:1);for(let u=0;uo*s)*(e?2:1);if(n===0)return[];if(n!==t.length)throw new Error(`[${r}] does not match the input size ${t.length}${e?\" for a complex tensor\":\"\"}.`);return I1(0,r,t,e)}function Qd(r,t){let e=Cp(r,t);for(let n=0;nn*o,1);if(t==null||t===\"float32\")return Vu(r,new Float32Array(e));if(t===\"int32\")return Vu(r,new Int32Array(e));if(t===\"bool\")return Vu(r,new Uint8Array(e));throw new Error(`Unknown data type ${t}`)}function th(r){r.forEach(t=>{A(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${r}].`)})}function g4(r,t,e){if(t===0)return 0;if(t===1)return r[0];let n=r[r.length-1];for(let o=0;o{let[o,s]=n.split(\":\");this.urlFlags[o]=C4(o,s)})}};function b4(r){let t={};return r.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(e,...n)=>(w4(t,n[0],n[1]),n.join(\"=\"))),t}function w4(r,t,e){r[decodeURIComponent(t)]=decodeURIComponent(e||\"\")}function C4(r,t){if(t=t.toLowerCase(),t===\"true\"||t===\"false\")return t===\"true\";if(`${+t}`===t)return+t;throw new Error(`Could not parse value flag value ${t} for flag ${r}.`)}function B(){return y0}var y0=null;function T1(r){y0=r}var b0;function w0(){if(b0==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\");b0=r}return b0}function v4(){let r=w0();return r._tfGlobals==null&&(r._tfGlobals=new Map),r._tfGlobals}function nh(r,t){let e=v4();if(e.has(r))return e.get(r);{let n=t();return e.set(r,n),e.get(r)}}var pi=\"Abs\",oa=\"Acos\",sa=\"Acosh\",jn=\"Add\",jo=\"AddN\",ia=\"All\",aa=\"Any\",Xo=\"ArgMax\",Nl=\"ArgMin\",la=\"Asin\",ua=\"Asinh\",ca=\"Atan\",pa=\"Atanh\",ma=\"Atan2\",Yo=\"AvgPool\",vp=\"AvgPoolGrad\",kl=\"AvgPool3D\",Ip=\"AvgPool3DGrad\",Zo=\"BatchMatMul\",mi=\"BatchToSpaceND\",Sp=\"Bincount\",N1=\"BroadcastTo\",Tp=\"BroadcastArgs\",ao=\"Cast\",Jo=\"Ceil\",lo=\"ClipByValue\",Np=\"Complex\",_l=\"ComplexAbs\",fi=\"Concat\",Qo=\"Conv2D\",kp=\"Conv2DBackpropFilter\",ts=\"Conv2DBackpropInput\",El=\"Conv3D\",_p=\"Conv3DBackpropFilterV2\",Ep=\"Conv3DBackpropInputV2\",es=\"Cos\",rs=\"Cosh\",fa=\"Cumprod\",ns=\"Cumsum\",da=\"CropAndResize\",Ap=\"DenseBincount\",ha=\"DepthToSpace\",os=\"DepthwiseConv2dNative\",$p=\"DepthwiseConv2dNativeBackpropFilter\",Dp=\"DepthwiseConv2dNativeBackpropInput\",Rp=\"Diag\",Al=\"Dilation2D\",oh=\"Dilation2DBackpropInput\",sh=\"Dilation2DBackpropFilter\",ss=\"RealDiv\",Fp=\"Einsum\",is=\"Elu\",Op=\"EluGrad\",ga=\"Erf\",xa=\"Equal\",as=\"Exp\",di=\"ExpandDims\",ya=\"Expm1\",Pp=\"FFT\",$l=\"Fill\",ba=\"FlipLeftRight\",ls=\"Floor\",us=\"FloorDiv\",cs=\"FusedBatchNorm\",hi=\"GatherV2\",wa=\"GatherNd\",Ca=\"Greater\",ps=\"GreaterEqual\",uo=\"Identity\",Lp=\"IFFT\",Mp=\"Imag\",va=\"IsFinite\",Ia=\"IsInf\",Sa=\"IsNan\",ms=\"LeakyRelu\",Ta=\"Less\",Na=\"LessEqual\",zp=\"LinSpace\",fs=\"Log\",ka=\"Log1p\",_a=\"LogicalAnd\",Ea=\"LogicalNot\",Aa=\"LogicalOr\",k1=\"LogicalXor\",_1=\"LogSoftmax\",Ilt=\"LowerBound\",Dl=\"LRN\",Bp=\"LRNGrad\",ds=\"Max\",hs=\"Maximum\",gs=\"MaxPool\",Vp=\"MaxPoolGrad\",Rl=\"MaxPool3D\",Gp=\"MaxPool3DGrad\",Wp=\"MaxPoolWithArgmax\",xs=\"Mean\",ys=\"Min\",bs=\"Minimum\",ws=\"MirrorPad\",$a=\"Mod\",Up=\"Multinomial\",Cs=\"Multiply\",gi=\"Neg\",Da=\"NotEqual\",Ra=\"NonMaxSuppressionV3\",Fa=\"NonMaxSuppressionV4\",Oa=\"NonMaxSuppressionV5\",xi=\"OnesLike\",vs=\"OneHot\",yi=\"Pack\",Is=\"PadV2\",Slt=\"Pool\",Ss=\"Pow\",Ts=\"Prelu\",Ns=\"Prod\",Hp=\"RaggedTensorToTensor\",Fl=\"Range\",qp=\"Real\",Pa=\"Reciprocal\",ks=\"Relu\",bi=\"Reshape\",_s=\"ResizeNearestNeighbor\",Kp=\"ResizeNearestNeighborGrad\",Es=\"ResizeBilinear\",jp=\"ResizeBilinearGrad\",As=\"Relu6\",$s=\"Reverse\",Ds=\"Round\",Rs=\"Rsqrt\",La=\"ScatterNd\",Xp=\"SearchSorted\",wi=\"Select\",Ma=\"Selu\",Ci=\"Slice\",Fs=\"Sin\",za=\"Sinh\",Ba=\"Sign\",Os=\"Sigmoid\",Va=\"Softplus\",Ps=\"Sqrt\",Ls=\"Sum\",vi=\"SpaceToBatchND\",Ii=\"SplitV\",Ms=\"Softmax\",Ol=\"SparseFillEmptyRows\",Ga=\"SparseReshape\",Pl=\"SparseSegmentMean\",Ll=\"SparseSegmentSum\",Yp=\"SparseToDense\",zs=\"SquaredDifference\",Ml=\"Square\",Wa=\"StridedSlice\",zl=\"StringNGrams\",Bl=\"StringSplit\",Vl=\"StringToHashBucketFast\",Bs=\"Sub\",Vs=\"Tan\",Gs=\"Tanh\",Xn=\"Tile\",Ua=\"TopK\",Ha=\"Transform\",Yn=\"Transpose\",Zp=\"Unique\",Si=\"Unpack\",Gl=\"UnsortedSegmentSum\",Tlt=\"UpperBound\",Ti=\"ZerosLike\",co=\"Step\",ih=\"FromPixels\",qa=\"RotateWithOffset\",Ni=\"_FusedMatMul\",ki=\"FusedConv2D\",_i=\"FusedDepthwiseConv2D\";function Ei(...r){B().getBool(\"IS_TEST\")||B().getBool(\"PROD\")||console.warn(...r)}function I4(...r){B().getBool(\"IS_TEST\")||B().getBool(\"PROD\")||console.log(...r)}var Jp=nh(\"kernelRegistry\",()=>new Map),ah=nh(\"gradRegistry\",()=>new Map);function lh(r,t){let e=v0(r,t);return Jp.get(e)}function C0(r){return ah.get(r)}function tx(r){let t=Jp.entries(),e=[];for(;;){let{done:n,value:o}=t.next();if(n)break;let[s,i]=o,[a]=s.split(\"_\");a===r&&e.push(i)}return e}function Wu(r){let{kernelName:t,backendName:e}=r,n=v0(t,e);Jp.has(n)&&Ei(`The kernel '${t}' for backend '${e}' is already registered`),Jp.set(n,r)}function A1(r){let{kernelName:t}=r;ah.has(t)&&B().getBool(\"DEBUG\")&&Ei(`Overriding the gradient for '${t}'`),ah.set(t,r)}function Alt(r,t){let e=v0(r,t);if(!Jp.has(e))throw new Error(`The kernel '${r}' for backend '${t}' is not registered`);Jp.delete(e)}function $lt(r){if(!ah.has(r))throw new Error(`The gradient '${r}' for backend is not registered`);ah.delete(r)}function Dlt(r,t){tx(r).forEach(n=>{let o=Object.assign({},n,{backendName:t});Wu(o)})}function v0(r,t){return`${t}_${r}`}var y={};jt(y,{arraysEqual:()=>Rn,assert:()=>A,assertNonNegativeIntegerDimensions:()=>th,assertNonNull:()=>Kn,assertShapesMatch:()=>Fe,bytesFromStringArray:()=>x0,bytesPerElement:()=>Qg,checkConversionForErrors:()=>h0,clamp:()=>yp,computeStrides:()=>ci,createScalarValue:()=>A4,createShuffledIndices:()=>p4,decodeString:()=>rm,distSquared:()=>a4,encodeString:()=>Ul,fetch:()=>D4,fingerPrint64:()=>E4,flatten:()=>qo,getArrayFromDType:()=>d0,getTypedArrayFromDType:()=>f0,hasEncodingLoss:()=>d4,hexToLong:()=>uh,indexToLoc:()=>x4,inferDtype:()=>bp,inferFromImplicitShape:()=>f4,isBoolean:()=>C1,isFunction:()=>ui,isInt:()=>na,isNumber:()=>v1,isPromise:()=>eh,isScalarShape:()=>l4,isString:()=>Ko,isTypedArray:()=>xr,isValidDtype:()=>g0,locToIndex:()=>g4,makeOnesTypedArray:()=>Qd,makeZerosNestedTypedArray:()=>h4,makeZerosTypedArray:()=>Cp,nearestDivisor:()=>wp,nearestLargerEven:()=>o4,now:()=>ju,parseAxisParam:()=>ur,randUniform:()=>i4,repeatedTry:()=>m4,rightPad:()=>Gu,shuffle:()=>w1,shuffleCombo:()=>n4,sizeFromShape:()=>Qt,sizeToSquarishShape:()=>c4,squeezeShape:()=>m0,sum:()=>s4,swap:()=>Jg,tanh:()=>u4,toNestedArray:()=>Vu,toTypedArray:()=>em});var N0=Tl(V1());var Ku=N0.default||N0;function uh(r){return Ku.fromString(r,!0,16)}var W1=uh(\"c3a5c85c97cb3127\"),qu=uh(\"b492b66fbe98f273\"),on=uh(\"9ae16a3b2f90404f\");function T0(r){return r.xor(r.shru(47))}function U1(r,t,e){let n=r.slice(t,t+e);return Ku.fromBytes(Array.from(n),!0,!0)}function ze(r,t){return U1(r,t,8)}function G1(r,t){return U1(r,t,4)}function kr(r,t){return t===0?r:r.shru(t).or(r.shl(64-t))}function Wl(r,t,e=uh(\"9ddfea08eb382d69\")){let n=r.xor(t).mul(e);n=n.xor(n.shru(47));let o=t.xor(n).mul(e);return o=o.xor(o.shru(47)),o=o.mul(e),o}function T4(r,t,e,n,o,s){o=o.add(r),s=kr(s.add(o).add(n),21);let i=o;return o=o.add(t),o=o.add(e),s=s.add(kr(o,44)),[o.add(n),s.add(i)]}function rx(r,t,e,n){return T4(ze(r,t),ze(r,t+8),ze(r,t+16),ze(r,t+24),e,n)}function N4(r,t=r.length){if(t>=8){let e=on.add(t*2),n=ze(r,0).add(on),o=ze(r,t-8),s=kr(o,37).mul(e).add(n),i=kr(n,25).add(o).mul(e);return Wl(s,i,e)}if(t>=4){let e=on.add(t*2),n=G1(r,0);return Wl(n.shl(3).add(t),G1(r,t-4),e)}if(t>0){let e=r[0],n=r[t>>1],o=r[t-1],s=e+(n<<8),i=t+(o<<2);return T0(on.mul(s).xor(W1.mul(i))).mul(on)}return on}function k4(r,t=r.length){let e=on.add(t*2),n=ze(r,0).mul(qu),o=ze(r,8),s=ze(r,t-8).mul(e),i=ze(r,t-16).mul(on);return Wl(kr(n.add(o),43).add(kr(s,30)).add(i),n.add(kr(o.add(on),18)).add(s),e)}function _4(r,t=r.length){let e=on.add(t*2),n=ze(r,0).mul(on),o=ze(r,8),s=ze(r,t-8).mul(e),i=ze(r,t-16).mul(on),a=kr(n.add(o),43).add(kr(s,30)).add(i),u=Wl(a,n.add(kr(o.add(on),18)).add(s),e),l=ze(r,16).mul(e),c=ze(r,24),p=a.add(ze(r,t-32)).mul(e),m=u.add(ze(r,t-24)).mul(e);return Wl(kr(l.add(c),43).add(kr(p,30)).add(m),l.add(kr(c.add(n),18)).add(p),e)}function E4(r,t=r.length){let e=Ku.fromNumber(81,!0);if(t<=32)return t<=16?N4(r,t):k4(r,t);if(t<=64)return _4(r,t);let n=e,o=e.mul(qu).add(113),s=T0(o.mul(on).add(113)).mul(on),i=[Ku.UZERO,Ku.UZERO],a=[Ku.UZERO,Ku.UZERO];n=n.mul(on).add(ze(r,0));let u=0,l=(t-1>>6)*64,c=l+(t-1&63)-63;do n=kr(n.add(o).add(i[0]).add(ze(r,u+8)),37).mul(qu),o=kr(o.add(i[1]).add(ze(r,u+48)),42).mul(qu),n=n.xor(a[1]),o=o.add(i[0]).add(ze(r,u+40)),s=kr(s.add(a[0]),33).mul(qu),i=rx(r,u,i[1].mul(qu),n.add(a[0])),a=rx(r,u+32,s.add(a[1]),o.add(ze(r,u+16))),[s,n]=[n,s],u+=64;while(u!==l);let p=qu.add(s.and(255).shl(1));return u=c,a[0]=a[0].add(t-1&63),i[0]=i[0].add(a[0]),a[0]=a[0].add(i[0]),n=kr(n.add(o).add(i[0]).add(ze(r,u+8)),37).mul(p),o=kr(o.add(i[1]).add(ze(r,u+48)),42).mul(p),n=n.xor(a[1].mul(9)),o=o.add(i[0].mul(9).add(ze(r,u+40))),s=kr(s.add(a[0]),33).mul(p),i=rx(r,u,i[1].mul(p),n.add(a[0])),a=rx(r,u+32,s.add(a[1]),o.add(ze(r,u+16))),[s,n]=[n,s],Wl(Wl(i[0],a[0],p).add(T0(o).mul(W1)).add(s),Wl(i[1],a[1],p).add(n),p)}function A4(r,t){return t===\"string\"?Ul(r):em([r],t)}function $4(r,t){return r instanceof Float32Array&&t===\"float32\"||r instanceof Int32Array&&t===\"int32\"||r instanceof Uint8Array&&t===\"bool\"}function em(r,t){if(t===\"string\")throw new Error(\"Cannot convert a string[] to a TypedArray\");if(Array.isArray(r)&&(r=qo(r)),B().getBool(\"DEBUG\")&&h0(r,t),$4(r,t))return r;if(t==null||t===\"float32\"||t===\"complex64\")return new Float32Array(r);if(t===\"int32\")return new Int32Array(r);if(t===\"bool\"){let e=new Uint8Array(r.length);for(let n=0;n{o=n()},i,a=ju();if(this.backendTimer.timerAvailable())i=this.backendTimer.time(s);else{s();for(let l of o)l.dataSync();i=Promise.resolve({kernelMs:ju()-a})}if(B().getBool(\"CHECK_COMPUTATION_FOR_ERRORS\"))for(let l=0;l{R4(p,c.dtype,t)})}return{kernelName:t,outputs:o,inputs:e,timeMs:i.then(l=>l.kernelMs),extraInfo:i.then(l=>l.getExtraProfileInfo!=null?l.getExtraProfileInfo():\"\")}}logKernelProfile(t){let{kernelName:e,outputs:n,timeMs:o,inputs:s,extraInfo:i}=t;n.forEach(a=>{Promise.all([a.data(),o,i]).then(u=>{this.logger.logKernelProfile(e,a,u[0],u[1],s,u[2])})})}};function R4(r,t,e){if(t!==\"float32\")return!1;for(let n=0;n0?h:\"\"} `}}console.log(`%c${u}\t%c${a}\t%c${l}D ${p}\t%c${c}\t%c${m}\t%c${i}`,\"font-weight:bold\",\"color:red\",\"color:blue\",\"color: orange\",\"color: green\",\"color: steelblue\")}};function H1(r,t,e){let n={},o={};for(let u=0;un[h.id]=!0),f=!0,o[l.id]=!0;break}if(f)break}}let s={};s[e.id]=!0;let i={};for(let u=r.length-1;u>=0;u--){let l=r[u],c=l.inputs;for(let p=0;p=0;o--){let s=t[o],i=[];if(s.outputs.forEach(u=>{let l=r[u.id];l!=null?i.push(l):i.push(null)}),s.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${s.kernelName}.`);let a=s.gradient(i);for(let u in s.inputs){if(!(u in a))throw new Error(`Cannot backprop through input ${u}. Available gradients found: ${Object.keys(a)}.`);let l=e(()=>a[u]());if(l.dtype!==\"float32\")throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input ${u} must have 'float32' dtype, but has '${l.dtype}'`);let c=s.inputs[u];if(!Rn(l.shape,c.shape))throw new Error(`Error in gradient for op ${s.kernelName}. The gradient of input '${u}' has shape '${l.shape}', which does not match the shape of the input '${c.shape}'`);if(r[c.id]==null)r[c.id]=l;else{let p=r[c.id];r[c.id]=n(p,l),p.dispose()}}}}var K1=20,ch=3,_0=7;function j1(r,t,e,n){let o=ci(t),s=F4(r,t,e,o),i=t.length,a=ox(r,t,e,o,s),u=[\"Tensor\"];return n&&(u.push(` dtype: ${e}`),u.push(` rank: ${i}`),u.push(` shape: [${t}]`),u.push(\" values:\")),u.push(a.map(l=>\" \"+l).join(`\n`)),u.join(`\n`)}function F4(r,t,e,n){let o=Qt(t),s=n[n.length-1],i=new Array(s).fill(0),a=t.length,u=e===\"complex64\"?mh(r):r;if(a>1)for(let l=0;lK1){let g=ch*i,x=Array.from(r.slice(0,g)),b=Array.from(r.slice((a-ch)*i,a*i));return e===\"complex64\"&&(x=mh(x),b=mh(b)),[\"[\"+x.map((w,C)=>ph(w,o[C],e)).join(\", \")+\", ..., \"+b.map((w,C)=>ph(w,o[a-ch+C],e)).join(\", \")+\"]\"]}let h=e===\"complex64\"?mh(r):Array.from(r);return[\"[\"+h.map((g,x)=>ph(g,o[x],e)).join(\", \")+\"]\"]}let l=t.slice(1),c=n.slice(1),p=n[0]*i,m=[];if(a>K1){for(let h=0;h`Length of values '${o}' does not match the size inferred by the shape '${this.size}'.`)}if(e===\"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||d0(e,this.size),this.strides=ci(t)}set(t,...e){e.length===0&&(e=[0]),A(e.length===this.rank,()=>`The number of provided coordinates (${e.length}) must match the rank (${this.rank})`);let n=this.locToIndex(e);this.values[n]=t}get(...t){t.length===0&&(t=[0]);let e=0;for(let o of t){if(o<0||o>=this.shape[e]){let s=`Requested out of range element at ${t}. Buffer shape=${this.shape}`;throw new Error(s)}e++}let n=t[t.length-1];for(let o=0;orm(n))}catch(n){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}}return t}dataToGPU(t){return this.throwIfDisposed(),Us().readToGPU(this.dataId,t)}dataSync(){this.throwIfDisposed();let t=Us().readSync(this.dataId);if(this.dtype===\"string\")try{return t.map(e=>rm(e))}catch(e){throw new Error(\"Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().\")}return t}async bytes(){this.throwIfDisposed();let t=await Us().read(this.dataId);return this.dtype===\"string\"?t:new Uint8Array(t.buffer)}dispose(){this.isDisposed||(Us().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error(\"Tensor is disposed.\")}print(t=!1){return nm.print(this,t)}clone(){return this.throwIfDisposed(),nm.clone(this)}toString(t=!1){let e=this.dataSync();return j1(e,this.shape,this.dtype,t)}cast(t){return this.throwIfDisposed(),nm.cast(this,t)}variable(t=!0,e,n){return this.throwIfDisposed(),Us().makeVariable(this,t,e,n)}};Object.defineProperty(Lt,Symbol.hasInstance,{value:r=>!!r&&r.data!=null&&r.dataSync!=null&&r.throwIfDisposed!=null});function L(){return nh(\"Tensor\",()=>Lt)}L();var Ka=class extends Lt{constructor(t,e,n,o){super(t.shape,t.dtype,t.dataId,o),this.trainable=e,this.name=n}assign(t){if(t.dtype!==this.dtype)throw new Error(`dtype of the new value (${t.dtype}) and previous value (${this.dtype}) must match`);if(!Rn(t.shape,this.shape))throw new Error(`shape of the new value (${t.shape}) and previous value (${this.shape}) must match`);Us().disposeTensor(this),this.dataId=t.dataId,Us().incRef(this,null)}dispose(){Us().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(Ka,Symbol.hasInstance,{value:r=>r instanceof Lt&&r.assign!=null&&r.assign instanceof Function});var ho={};jt(ho,{assertTypesMatch:()=>F0,getTensorsInContainer:()=>fh,isTensorInList:()=>L4,makeTypesMatch:()=>Xt});var E0;(function(r){r.R0=\"R0\",r.R1=\"R1\",r.R2=\"R2\",r.R3=\"R3\",r.R4=\"R4\",r.R5=\"R5\",r.R6=\"R6\"})(E0||(E0={}));var A0;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"int32\",r.complex64=\"complex64\"})(A0||(A0={}));var $0;(function(r){r.float32=\"float32\",r.int32=\"int32\",r.bool=\"bool\",r.complex64=\"complex64\"})($0||($0={}));var D0;(function(r){r.float32=\"float32\",r.int32=\"float32\",r.bool=\"float32\",r.complex64=\"complex64\"})(D0||(D0={}));var R0;(function(r){r.float32=\"complex64\",r.int32=\"complex64\",r.bool=\"complex64\",r.complex64=\"complex64\"})(R0||(R0={}));var P4={float32:D0,int32:A0,bool:$0,complex64:R0};function ir(r,t){if(r===\"string\"||t===\"string\"){if(r===\"string\"&&t===\"string\")return\"string\";throw new Error(`Can not upcast ${r} with ${t}`)}return P4[r][t]}function Xu(r){return ir(r,\"int32\")}function Xt(r,t){if(r.dtype===t.dtype)return[r,t];let e=ir(r.dtype,t.dtype);return[r.cast(e),t.cast(e)]}function F0(r,t){A(r.dtype===t.dtype,()=>`The dtypes of the first(${r.dtype}) and second(${t.dtype}) input must match`)}function L4(r,t){return t.some(e=>e.id===r.id)}function fh(r){let t=[];return Q1(r,t,new Set),t}function Q1(r,t,e){if(r==null)return;if(r instanceof Lt){t.push(r);return}if(!M4(r))return;let n=r;for(let o in n){let s=n[o];e.has(s)||(e.add(s),Q1(s,t,e))}}function M4(r){return Array.isArray(r)||typeof r==\"object\"}function O0(r){return r.kernelName!=null}var sx=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(t=>t.name)))}}}dispose(){for(let t in this.registeredVariables)this.registeredVariables[t].dispose()}},Hl=class{constructor(t){this.ENV=t,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new sx}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let t=this.getSortedBackends();for(let e=0;e{e.setupFunc!=null&&e.setupFunc(this.backendInstance)})}disposeRegisteredKernels(t){tx(t).forEach(n=>{n.disposeFunc!=null&&n.disposeFunc(this.registry[t])})}initializeBackend(t){let e=this.registryFactory[t];if(e==null)throw new Error(`Cannot initialize backend ${t}, no registration found.`);try{let n=e.factory();if(n&&!(n instanceof Ho)&&typeof n.then==\"function\"){let o=++this.pendingBackendInitId,s=n.then(i=>o(othis.registryFactory[e].priority-this.registryFactory[t].priority)}initializeBackendsAndReturnBest(){let t=this.getSortedBackends();for(let e=0;ethis.startScope(n),()=>this.endScope(o),()=>(o=e(),o instanceof Promise&&console.error(\"Cannot return a Promise inside of tidy.\"),o))}scopedRun(t,e,n){t();try{let o=n();return e(),o}catch(o){throw e(),o}}nextTensorId(){return Hl.nextTensorId++}nextVariableId(){return Hl.nextVariableId++}clone(t){let e=_.runKernel(uo,{x:t}),n={x:t},o=i=>({x:()=>{let a=\"float32\",u={x:i},l={dtype:a};return _.runKernel(ao,u,l)}}),s=[];return this.addTapeNode(this.state.activeScope.name,n,[e],o,s,{}),e}runKernel(t,e,n){if(this.backendName==null&&this.backend,!(lh(t,this.backendName)!=null))throw new Error(`Kernel '${t}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:t,inputs:e,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool(\"IS_TEST\")}checkKernelForMemLeak(t,e,n){let o=this.backend.numDataIds(),s=0;n.forEach(u=>{s+=u.dtype===\"complex64\"?3:1});let i=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],a=o-e-s-i;if(a>0)throw new Error(`Backend '${this.backendName}' has an internal memory leak (${a} data ids) after running '${t}'`)}runKernelFunc(t){let e,n=[],o=this.isTapeOn(),s=this.state.numBytes,i=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let a;this.backendName==null&&this.backend;let u,l=O0(t)?t.kernelName:this.state.activeScope!=null?this.state.activeScope.name:\"\";if(O0(t)){let{kernelName:d,inputs:h,attrs:g}=t;this.backendName==null&&this.backend;let x=lh(d,this.backendName);A(x!=null,()=>`Cannot find registered kernel '${d}' for backend '${this.backendName}'`),a=()=>{let b=this.backend.numDataIds();u=x.kernelFunc({inputs:h,attrs:g,backend:this.backend});let w=Array.isArray(u)?u:[u];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(d,b,w);let C=w.map(T=>T.rank!=null?T:this.makeTensorFromTensorInfo(T));if(o){let T=this.getTensorsForGradient(d,h,C);n=this.saveTensorsForBackwardMode(T)}return C}}else{let{forwardFunc:d}=t,h=g=>{!o||(n=g.map(x=>this.keep(this.clone(x))))};a=()=>{let g=this.backend.numDataIds();u=this.tidy(()=>d(this.backend,h));let x=Array.isArray(u)?u:[u];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(l,g,x),x}}let{inputs:c,attrs:p}=t,m=O0(t)?null:t.backwardsFunc,f;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool(\"DEBUG\")&&!this.state.profiling?e=a():(f=this.profiler.profileKernel(l,c,()=>a()),this.ENV.getBool(\"DEBUG\")&&this.profiler.logKernelProfile(f),e=f.outputs)}),o&&this.addTapeNode(l,c,e,m,n,p),this.state.profiling&&this.state.activeProfile.kernels.push({name:l,bytesAdded:this.state.numBytes-s,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-i,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(c).map(d=>c[d]!=null?c[d].shape:null),outputShapes:e.map(d=>d.shape),kernelTimeMs:f.timeMs,extraInfo:f.extraInfo}),Array.isArray(u)?e:e[0]}saveTensorsForBackwardMode(t){return t.map(n=>this.keep(this.clone(n)))}getTensorsForGradient(t,e,n){let o=C0(t);if(o!=null){let s=o.inputsToSave||[],i=o.outputsToSave||[],a;o.saveAllInputs?(A(Array.isArray(e),()=>\"saveAllInputs is true, expected inputs to be an array.\"),a=Object.keys(e).map(l=>e[l])):a=s.map(l=>e[l]);let u=n.filter((l,c)=>i[c]);return a.concat(u)}return[]}makeTensor(t,e,n,o){if(t==null)throw new Error(\"Values passed to engine.makeTensor() are null\");n=n||\"float32\",o=o||this.backend;let s=t;n===\"string\"&&Ko(t[0])&&(s=t.map(u=>Ul(u)));let i=o.write(s,e,n),a=new Lt(e,n,i,this.nextTensorId());if(this.trackTensor(a,o),n===\"string\"){let u=this.state.tensorInfo.get(i),l=x0(s);this.state.numBytes+=l-u.bytes,u.bytes=l}return a}makeTensorFromDataId(t,e,n,o){n=n||\"float32\";let s={dataId:t,shape:e,dtype:n};return this.makeTensorFromTensorInfo(s,o)}makeTensorFromTensorInfo(t,e){let{dataId:n,shape:o,dtype:s}=t,i=new Lt(o,s,n,this.nextTensorId());return this.trackTensor(i,e),i}makeVariable(t,e=!0,n,o){n=n||this.nextVariableId().toString(),o!=null&&o!==t.dtype&&(t=t.cast(o));let s=new Ka(t,e,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}trackTensor(t,e){this.state.numTensors++,t.dtype===\"string\"&&this.state.numStringTensors++;let n=0;t.dtype!==\"complex64\"&&t.dtype!==\"string\"&&(n=t.size*Qg(t.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(t.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(t.dataId,{backend:e||this.backend,dtype:t.dtype,shape:t.shape,bytes:n})),t instanceof Ka||this.track(t)}incRef(t,e){this.trackTensor(t,e),this.backend.incRef(t.dataId)}removeDataId(t,e){this.state.tensorInfo.has(t)&&this.state.tensorInfo.get(t).backend===e&&(this.state.tensorInfo.delete(t),this.state.numDataBuffers--)}disposeTensor(t){if(!this.state.tensorInfo.has(t.dataId))return;let e=this.state.tensorInfo.get(t.dataId);if(this.state.numTensors--,t.dtype===\"string\"&&(this.state.numStringTensors--,this.state.numBytes-=e.bytes),t.dtype!==\"complex64\"&&t.dtype!==\"string\"){let n=t.size*Qg(t.dtype);this.state.numBytes-=n}e.backend.disposeData(t.dataId)&&this.removeDataId(t.dataId,e.backend)}disposeVariables(){for(let t in this.state.registeredVariables){let e=this.state.registeredVariables[t];this.disposeVariable(e)}}disposeVariable(t){this.disposeTensor(t),this.state.registeredVariables[t.name]!=null&&delete this.state.registeredVariables[t.name]}memory(){let t=this.backend.memory();return t.numTensors=this.state.numTensors,t.numDataBuffers=this.state.numDataBuffers,t.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(t.unreliable=!0,t.reasons==null&&(t.reasons=[]),t.reasons.push(\"Memory usage by string tensors is approximate (2 bytes per character)\")),t}async profile(t){this.state.profiling=!0;let e=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await t(),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-e,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(t,e,n,o,s,i){let a={id:this.state.nextTapeNodeId++,kernelName:t,inputs:e,outputs:n,saved:s},u=C0(t);u!=null&&(o=u.gradFunc),o!=null&&(a.gradient=l=>(l=l.map((c,p)=>{if(c==null){let m=n[p],f=Cp(m.size,m.dtype);return this.makeTensor(f,m.shape,m.dtype)}return c}),o(l.length>1?l:l[0],s,i))),this.state.activeTape.push(a)}keep(t){return t.kept=!0,t}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(t){let e={track:[],name:\"unnamed scope\",id:this.state.nextScopeId++};t&&(e.name=t),this.state.scopeStack.push(e),this.state.activeScope=e}endScope(t){let e=fh(t),n=new Set(e.map(s=>s.id));for(let s=0;s{!s.kept&&s.scopeId===o.id&&this.track(s)})}gradients(t,e,n,o=!1){if(A(e.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\",t));A(s instanceof Lt,()=>\"The result y returned by f() must be a tensor.\");let i=H1(this.state.activeTape,e,s);if(!o&&i.length===0&&e.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 a={};a[s.id]=n==null?z4(s.shape):n,q1(a,i,l=>this.tidy(l),B4);let u=e.map(l=>a[l.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(l=>{for(let c of l.saved)c.dispose()}),this.state.activeTape=null),{value:s,grads:u}})}customGrad(t){return A(ui(t),()=>\"The f passed in customGrad(f) must be a function.\"),(...e)=>{A(e.every(a=>a instanceof Lt),()=>\"The args passed in customGrad(f)(x1, x2,...) must all be tensors\");let n,o={};e.forEach((a,u)=>{o[u]=a});let s=(a,u)=>(n=t(...e,u),A(n.value instanceof Lt,()=>\"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor\"),A(ui(n.gradFunc),()=>\"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function.\"),n.value),i=(a,u)=>{let l=n.gradFunc(a,u),c=Array.isArray(l)?l:[l];A(c.length===e.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 Lt),()=>\"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:i,inputs:o})}}readSync(t){return this.state.tensorInfo.get(t).backend.readSync(t)}read(t){return this.state.tensorInfo.get(t).backend.read(t)}readToGPU(t,e){return this.state.tensorInfo.get(t).backend.readToGPU(t,e)}async time(t){let e=ju(),n=await this.backend.time(t);return n.wallMs=ju()-e,n}track(t){return this.state.activeScope!=null&&(t.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(t)),t}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new sx;for(let t in this.registry)this.disposeRegisteredKernels(t),this.registry[t].dispose(),delete this.registry[t];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};Hl.nextTensorId=0;Hl.nextVariableId=0;function z4(r){let t=Qd(Qt(r),\"float32\");return _.makeTensor(t,r,\"float32\")}function P0(){let r=w0();if(r._tfengine==null){let t=new rh(r);r._tfengine=new Hl(t)}return T1(r._tfengine.ENV),Y1(()=>r._tfengine),r._tfengine}var _=P0();function B4(r,t){let e={a:r,b:t};return _.runKernel(jn,e)}var ql={};jt(ql,{isBrowser:()=>M0,isMobile:()=>W4,mockIsMobile:()=>G4});function V4(){return typeof navigator!=\"undefined\"&&navigator!=null}var L0;function G4(r){L0=r}function W4(r){if(L0!==void 0)return L0;if(r||V4()){if(r||(r=navigator),r.product===\"ReactNative\")return!0;let t=r.userAgent||r.vendor||(typeof window!=\"undefined\"?window.opera:\"\");if(!t){let e=r;return e.userAgentData&&e.userAgentData.mobile}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(t)||/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(t.substr(0,4))}return!1}function M0(){return typeof window!=\"undefined\"&&window.document!=null||typeof WorkerGlobalScope!=\"undefined\"}var Zn=B();Zn.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.\")});Zn.registerFlag(\"IS_BROWSER\",()=>M0());Zn.registerFlag(\"IS_NODE\",()=>typeof process!=\"undefined\"&&typeof process.versions!=\"undefined\"&&typeof process.versions.node!=\"undefined\");Zn.registerFlag(\"IS_CHROME\",()=>typeof navigator!=\"undefined\"&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor));Zn.registerFlag(\"PROD\",()=>!1);Zn.registerFlag(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\",()=>Zn.getBool(\"DEBUG\"));Zn.registerFlag(\"DEPRECATION_WARNINGS_ENABLED\",()=>!0);Zn.registerFlag(\"IS_TEST\",()=>!1);Zn.registerFlag(\"CHECK_COMPUTATION_FOR_ERRORS\",()=>!0);Zn.registerFlag(\"WRAP_TO_IMAGEBITMAP\",()=>!1);Zn.registerFlag(\"ENGINE_COMPILE_ONLY\",()=>!1);Zn.registerFlag(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\",()=>!1);function Pr(r,t){let e=r;if(xr(r))return t===\"string\"?[]:[r.length];if(!Array.isArray(r))return[];let n=[];for(;Array.isArray(e)||xr(e)&&t!==\"string\";)n.push(e.length),e=e[0];return Array.isArray(r)&&B().getBool(\"TENSORLIKE_CHECK_SHAPE_CONSISTENCY\")&&e_(r,n,[]),n}function e_(r,t,e){if(e=e||[],!Array.isArray(r)&&!xr(r)){A(t.length===0,()=>`Element arr[${e.join(\"][\")}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}A(t.length>0,()=>`Element arr[${e.join(\"][\")}] should be a primitive, but is an array of ${r.length} elements`),A(r.length===t[0],()=>`Element arr[${e.join(\"][\")}] should have ${t[0]} elements, but has ${r.length} elements`);let n=t.slice(1);for(let o=0;o=0&&(o=n),t_(n,o,t,e),r==null||!xr(r)&&!Array.isArray(r)&&typeof r!=\"number\"&&typeof r!=\"boolean\"&&typeof r!=\"string\"){let u=r==null?\"null\":r.constructor.name;throw new Error(`Argument '${t}' passed to '${e}' must be a Tensor or TensorLike, but got '${u}'`)}let s=Pr(r,o);!xr(r)&&!Array.isArray(r)&&(r=[r]);let a=o!==\"string\"?em(r,o):qo(r,[],!0);return _.makeTensor(a,s,o)}function ja(r,t,e,n=\"numeric\"){if(!Array.isArray(r))throw new Error(`Argument ${t} passed to ${e} must be a \\`Tensor[]\\` or \\`TensorLike[]\\``);return r.map((s,i)=>v(s,`${t}[${i}]`,e,n))}var z0=\"__op\";function N(r){let t=Object.keys(r);if(t.length!==1)throw new Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let e=t[0],n=r[e];e.endsWith(\"_\")&&(e=e.substring(0,e.length-1)),e=e+z0;let o=(...s)=>{_.startScope(e);try{let i=n(...s);return eh(i)&&console.error(\"Cannot return a Promise inside of tidy.\"),_.endScope(i),i}catch(i){throw _.endScope(null),i}};return Object.defineProperty(o,\"name\",{value:e,configurable:!0}),o}function U4(r,t){let e=v(r,\"real\",\"complex\"),n=v(t,\"imag\",\"complex\");Fe(e.shape,n.shape,`real and imag shapes, ${e.shape} and ${n.shape}, must match in call to tf.complex().`);let o={real:e,imag:n};return _.runKernel(Np,o)}var Cn=N({complex_:U4});function sn(r,t,e,n){if(n==null&&(n=bp(r)),n===\"complex64\")throw new Error(\"Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).\");if(!xr(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(t!=null){th(t);let o=Qt(t),s=Qt(e);A(o===s,()=>`Based on the provided shape, [${t}], the tensor should have ${o} values but has ${s}`);for(let i=0;i`Error creating a new Tensor. Inferred shape (${e}) does not match the provided shape (${t}). `)}}return!xr(r)&&!Array.isArray(r)&&(r=[r]),t=t||e,r=n!==\"string\"?em(r,n):qo(r,[],!0),_.makeTensor(r,t,n)}function vr(r,t,e){let n=Pr(r,e);return sn(r,t,n,e)}var dh={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8};var ix=4;async function n_(r,t){let e=[],n=[],o=Array.isArray(r)?r.map(i=>i.name):Object.keys(r);for(let i=0;i{let m=await u.bytes(),f=m.reduce((g,x)=>g+x.length,0)+ix*m.length,d=new Uint8Array(f),h=0;for(let g=0;g{if(t+=s.byteLength,e.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(t),o=0;return e.forEach(s=>{n.set(new Uint8Array(s.buffer),o),o+=s.byteLength}),n.buffer}var B0=typeof Buffer!=\"undefined\"&&(typeof Blob==\"undefined\"||typeof atob==\"undefined\"||typeof btoa==\"undefined\");function r_(r){return B0?Buffer.byteLength(r):new Blob([r]).size}function o_(r){if(B0)return Buffer.from(r).toString(\"base64\");let t=new Uint8Array(r),e=\"\";for(let n=0,o=t.length;n{t+=o.byteLength});let e=new Uint8Array(t),n=0;return r.forEach(o=>{e.set(new Uint8Array(o),n),n+=o.byteLength}),e.buffer}function V0(r){let t=\"/\";for(r=r.trim();r.endsWith(t);)r=r.slice(0,r.length-1);let e=r.split(t);return e[e.length-1]}function lx(r,t){let e={modelTopology:r.modelTopology,format:r.format,generatedBy:r.generatedBy,convertedBy:r.convertedBy,weightsManifest:t};return r.signature!=null&&(e.signature=r.signature),r.userDefinedMetadata!=null&&(e.userDefinedMetadata=r.userDefinedMetadata),r.modelInitializer!=null&&(e.modelInitializer=r.modelInitializer),r.trainingConfig!=null&&(e.trainingConfig=r.trainingConfig),e}async function sm(r,t){let e={modelTopology:r.modelTopology,format:r.format,generatedBy:r.generatedBy,convertedBy:r.convertedBy};if(r.trainingConfig!=null&&(e.trainingConfig=r.trainingConfig),r.weightsManifest!=null){let[n,o]=await t(r.weightsManifest);e.weightSpecs=n,e.weightData=o}return r.signature!=null&&(e.signature=r.signature),r.userDefinedMetadata!=null&&(e.userDefinedMetadata=r.userDefinedMetadata),r.modelInitializer!=null&&(e.modelInitializer=r.modelInitializer),e}function Ai(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:r_(JSON.stringify(r.modelTopology)),weightSpecsBytes:r.weightSpecs==null?0:r_(JSON.stringify(r.weightSpecs)),weightDataBytes:r.weightData==null?0:r.weightData.byteLength}}function q4(){let r=e=>{let n=e<<13,o=0;for(;(n&8388608)===0;)o-=8388608,n<<=1;return n&=-8388609,o+=947912704,n|o},t=new Uint32Array(2048);t[0]=0;for(let e=1;e<1024;e++)t[e]=r(e);for(let e=1024;e<2048;e++)t[e]=939524096+(e-1024<<13);return t}function K4(){let r=new Uint32Array(64);r[0]=0,r[31]=1199570944,r[32]=2147483648,r[63]=3347054592;for(let t=1;t<31;t++)r[t]=t<<23;for(let t=33;t<63;t++)r[t]=2147483648+(t-32<<23);return r}function j4(){let r=new Uint32Array(64);for(let t=0;t<64;t++)r[t]=1024;return r[0]=r[32]=0,r}function X4(){let r=q4(),t=K4(),e=j4();return n=>{let o=new ArrayBuffer(4*n.length),s=new Uint32Array(o);for(let i=0;i>10]+(a&1023)]+t[a>>10];s[i]=u}return new Float32Array(o)}}var Se=class{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return Se.instance==null&&(Se.instance=new Se),Se.instance}static registerSaveRouter(t){Se.getInstance().saveRouters.push(t)}static registerLoadRouter(t){Se.getInstance().loadRouters.push(t)}static getSaveHandlers(t){return Se.getHandlers(t,\"save\")}static getLoadHandlers(t,e){return Se.getHandlers(t,\"load\",e)}static getHandlers(t,e,n){let o=[];return(e===\"load\"?Se.getInstance().loadRouters:Se.getInstance().saveRouters).forEach(i=>{let a=i(t,n);a!==null&&o.push(a)}),o}},i_=r=>Se.registerSaveRouter(r),a_=r=>Se.registerLoadRouter(r),l_=r=>Se.getSaveHandlers(r),u_=(r,t)=>Se.getLoadHandlers(r,t);var G0=\"tensorflowjs\",W0=1,Yu=\"models_store\",Kl=\"model_info_store\";function c_(){if(!B().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,t=r.indexedDB||r.mozIndexedDB||r.webkitIndexedDB||r.msIndexedDB||r.shimIndexedDB;if(t==null)throw new Error(\"The current browser does not appear to support IndexedDB.\");return t}function U0(r){let t=r.result;t.createObjectStore(Yu,{keyPath:\"modelPath\"}),t.createObjectStore(Kl,{keyPath:\"modelPath\"})}var $i=class{constructor(t){if(this.indexedDB=c_(),t==null||!t)throw new Error(\"For IndexedDB, modelPath must not be null, undefined or empty.\");this.modelPath=t}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");return this.databaseAction(this.modelPath,t)}async load(){return this.databaseAction(this.modelPath)}databaseAction(t,e){return new Promise((n,o)=>{let s=this.indexedDB.open(G0,W0);s.onupgradeneeded=()=>U0(s),s.onsuccess=()=>{let i=s.result;if(e==null){let a=i.transaction(Yu,\"readonly\"),l=a.objectStore(Yu).get(this.modelPath);l.onsuccess=()=>{if(l.result==null)return i.close(),o(new Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));n(l.result.modelArtifacts)},l.onerror=c=>(i.close(),o(l.error)),a.oncomplete=()=>i.close()}else{let a=Ai(e),u=i.transaction(Kl,\"readwrite\"),l=u.objectStore(Kl),c=l.put({modelPath:this.modelPath,modelArtifactsInfo:a}),p;c.onsuccess=()=>{p=i.transaction(Yu,\"readwrite\");let f=p.objectStore(Yu).put({modelPath:this.modelPath,modelArtifacts:e,modelArtifactsInfo:a});f.onsuccess=()=>n({modelArtifactsInfo:a}),f.onerror=d=>{l=u.objectStore(Kl);let h=l.delete(this.modelPath);h.onsuccess=()=>(i.close(),o(f.error)),h.onerror=g=>(i.close(),o(f.error))}},c.onerror=m=>(i.close(),o(c.error)),u.oncomplete=()=>{p==null?i.close():p.oncomplete=()=>i.close()}}},s.onerror=i=>o(s.error)})}};$i.URL_SCHEME=\"indexeddb://\";var p_=r=>B().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith($i.URL_SCHEME)?Y4(r.slice($i.URL_SCHEME.length)):null;Se.registerSaveRouter(p_);Se.registerLoadRouter(p_);function Y4(r){return new $i(r)}function Z4(r){return r.startsWith($i.URL_SCHEME)?r.slice($i.URL_SCHEME.length):r}var ux=class{constructor(){this.indexedDB=c_()}async listModels(){return new Promise((t,e)=>{let n=this.indexedDB.open(G0,W0);n.onupgradeneeded=()=>U0(n),n.onsuccess=()=>{let o=n.result,s=o.transaction(Kl,\"readonly\"),a=s.objectStore(Kl).getAll();a.onsuccess=()=>{let u={};for(let l of a.result)u[l.modelPath]=l.modelArtifactsInfo;t(u)},a.onerror=u=>(o.close(),e(a.error)),s.oncomplete=()=>o.close()},n.onerror=o=>e(n.error)})}async removeModel(t){return t=Z4(t),new Promise((e,n)=>{let o=this.indexedDB.open(G0,W0);o.onupgradeneeded=()=>U0(o),o.onsuccess=()=>{let s=o.result,i=s.transaction(Kl,\"readwrite\"),a=i.objectStore(Kl),u=a.get(t),l;u.onsuccess=()=>{if(u.result==null)return s.close(),n(new Error(`Cannot find model with path '${t}' in IndexedDB.`));{let c=a.delete(t),p=()=>{l=s.transaction(Yu,\"readwrite\");let f=l.objectStore(Yu).delete(t);f.onsuccess=()=>e(u.result.modelArtifactsInfo),f.onerror=d=>n(u.error)};c.onsuccess=p,c.onerror=m=>(p(),s.close(),n(u.error))}},u.onerror=c=>(s.close(),n(u.error)),i.oncomplete=()=>{l==null?s.close():l.oncomplete=()=>s.close()}},o.onerror=s=>n(o.error)})}};var Xa=\"/\",im=\"tensorflowjs_models\",m_=\"info\",J4=\"model_topology\",Q4=\"weight_specs\",tH=\"weight_data\",eH=\"model_metadata\";function f_(r){return{info:[im,r,m_].join(Xa),topology:[im,r,J4].join(Xa),weightSpecs:[im,r,Q4].join(Xa),weightData:[im,r,tH].join(Xa),modelMetadata:[im,r,eH].join(Xa)}}function d_(r){for(let t of Object.values(r))window.localStorage.removeItem(t)}function rH(r){let t=r.split(Xa);if(t.length<3)throw new Error(`Invalid key format: ${r}`);return t.slice(1,t.length-1).join(Xa)}function nH(r){return r.startsWith(Di.URL_SCHEME)?r.slice(Di.URL_SCHEME.length):r}var Di=class{constructor(t){if(!B().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,t==null||!t)throw new Error(\"For local storage, modelPath must not be null, undefined or empty.\");this.modelPath=t,this.keys=f_(this.modelPath)}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserLocalStorage.save() does not support saving model topology in binary formats yet.\");{let e=JSON.stringify(t.modelTopology),n=JSON.stringify(t.weightSpecs),o=Ai(t);try{this.LS.setItem(this.keys.info,JSON.stringify(o)),this.LS.setItem(this.keys.topology,e),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,o_(t.weightData));let s={format:t.format,generatedBy:t.generatedBy,convertedBy:t.convertedBy,signature:t.signature!=null?t.signature:void 0,userDefinedMetadata:t.userDefinedMetadata!=null?t.userDefinedMetadata:void 0,modelInitializer:t.modelInitializer!=null?t.modelInitializer:void 0,trainingConfig:t.trainingConfig!=null?t.trainingConfig:void 0};return this.LS.setItem(this.keys.modelMetadata,JSON.stringify(s)),{modelArtifactsInfo:o}}catch(s){throw d_(this.keys),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 t=JSON.parse(this.LS.getItem(this.keys.info));if(t==null)throw new Error(`In local storage, there is no model with name '${this.modelPath}'`);if(t.modelTopologyType!==\"JSON\")throw new Error(\"BrowserLocalStorage does not support loading non-JSON model topology yet.\");let e={},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.`);e.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.`);e.weightSpecs=o;let s=this.LS.getItem(this.keys.modelMetadata);if(s!=null){let a=JSON.parse(s);e.format=a.format,e.generatedBy=a.generatedBy,e.convertedBy=a.convertedBy,a.signature!=null&&(e.signature=a.signature),a.userDefinedMetadata!=null&&(e.userDefinedMetadata=a.userDefinedMetadata),a.modelInitializer!=null&&(e.modelInitializer=a.modelInitializer),a.trainingConfig!=null&&(e.trainingConfig=a.trainingConfig)}let i=this.LS.getItem(this.keys.weightData);if(i==null)throw new Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return e.weightData=s_(i),e}};Di.URL_SCHEME=\"localstorage://\";var h_=r=>B().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Di.URL_SCHEME)?oH(r.slice(Di.URL_SCHEME.length)):null;Se.registerSaveRouter(h_);Se.registerLoadRouter(h_);function oH(r){return new Di(r)}var cx=class{constructor(){A(B().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 t={},e=im+Xa,n=Xa+m_;for(let o=0;o\"scheme must not be undefined or null.\"),t.endsWith(am)&&(t=t.slice(0,t.indexOf(am))),A(t.length>0,()=>\"scheme must not be an empty string.\");let n=_r.getInstance();A(n.managers[t]==null,()=>`A model store manager is already registered for scheme '${t}'.`),n.managers[t]=e}static getManager(t){let e=_r.getInstance().managers[t];if(e==null)throw new Error(`Cannot find model manager for scheme '${t}'`);return e}static getSchemes(){return Object.keys(_r.getInstance().managers)}};function px(r){if(r.indexOf(am)===-1)throw new Error(`The url string provided does not contain a scheme. Supported schemes are: ${_r.getSchemes().join(\",\")}`);return{scheme:r.split(am)[0],path:r.split(am)[1]}}async function g_(r,t,e=!1){A(r!==t,()=>`Old path and new path are the same: '${r}'`);let n=Se.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=Se.getSaveHandlers(t);A(s.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),A(s.length<2,()=>`Copying failed because more than one (${n.length}) save handlers for destination URL ${t}.`);let i=s[0],a=px(r).scheme,u=px(r).path,l=a===px(r).scheme,c=await o.load();e&&l&&await _r.getManager(a).removeModel(u);let p=await i.save(c);return e&&!l&&await _r.getManager(a).removeModel(u),p.modelArtifactsInfo}async function x_(){let r=_r.getSchemes(),t={};for(let e of r){let n=await _r.getManager(e).listModels();for(let o in n){let s=e+am+o;t[s]=n[o]}}return t}async function y_(r){let t=px(r);return _r.getManager(t.scheme).removeModel(t.path)}async function b_(r,t){return g_(r,t,!1)}async function w_(r,t){return g_(r,t,!0)}var H0=class{fetch(t,e){return fetch(t,e)}now(){return performance.now()}encode(t,e){if(e!==\"utf-8\"&&e!==\"utf8\")throw new Error(`Browser's encoder only supports utf-8, but got ${e}`);return this.textEncoder==null&&(this.textEncoder=new TextEncoder),this.textEncoder.encode(t)}decode(t,e){return new TextDecoder(e).decode(t)}};if(B().get(\"IS_BROWSER\")){B().setPlatform(\"browser\",new H0);try{_r.registerManager(Di.URL_SCHEME,new cx)}catch(r){}try{_r.registerManager($i.URL_SCHEME,new ux)}catch(r){}}var sH={importFetch:()=>C_()},q0;var K0=class{constructor(){this.util=v_(),this.textEncoder=new this.util.TextEncoder}fetch(t,e){return B().global.fetch!=null?B().global.fetch(t,e):(q0==null&&(q0=sH.importFetch()),q0(t,e))}now(){let t=process.hrtime();return t[0]*1e3+t[1]/1e6}encode(t,e){if(e!==\"utf-8\"&&e!==\"utf8\")throw new Error(`Node built-in encoder only supports utf-8, but got ${e}`);return this.textEncoder.encode(t)}decode(t,e){return t.length===0?\"\":new this.util.TextDecoder(e).decode(t)}};B().get(\"IS_NODE\")&&!B().get(\"IS_BROWSER\")&&B().setPlatform(\"node\",new K0);function vt(r,t=\"float32\",e){return t=t||\"float32\",th(r),new fe(r,t,e)}function iH(r,t){let e=v(r,\"x\",\"cast\");if(!g0(t))throw new Error(`Failed to cast to unknown dtype ${t}`);if(t===\"string\"&&e.dtype!==\"string\"||t!==\"string\"&&e.dtype===\"string\")throw new Error(\"Only strings can be casted to strings\");let n={x:e},o={dtype:t};return _.runKernel(ao,n,o)}var tt=N({cast_:iH});function aH(r){let e={x:v(r,\"x\",\"clone\",\"string_or_numeric\")};return _.runKernel(uo,e)}var an=N({clone_:aH});function mx(r,t=!1){console.log(r.toString(t))}P0();var lH={buffer:vt,cast:tt,clone:an,print:mx};Z1(lH);var vn={};jt(vn,{browserFiles:()=>S_,browserHTTPRequest:()=>k_,concatenateArrayBuffers:()=>om,copyModel:()=>b_,decodeWeights:()=>ax,encodeWeights:()=>n_,fromMemory:()=>__,fromMemorySync:()=>Q0,getLoadHandlers:()=>u_,getModelArtifactsForJSON:()=>sm,getModelArtifactsInfoForJSON:()=>Ai,getSaveHandlers:()=>l_,http:()=>dx,isHTTPScheme:()=>fx,listModels:()=>x_,loadWeights:()=>T_,moveModel:()=>w_,registerLoadRouter:()=>a_,registerSaveRouter:()=>i_,removeModel:()=>y_,weightsLoaderFactory:()=>Z0,withSaveHandler:()=>E_,withSaveHandlerSync:()=>A_});var uH=\"model\",cH=\".json\",pH=\".weights.bin\";function I_(r){return new Promise(t=>setTimeout(t)).then(r)}var Ya=class{constructor(t){if(!B().getBool(\"IS_BROWSER\"))throw new Error(\"browserDownloads() cannot proceed because the current environment is not a browser.\");t.startsWith(Ya.URL_SCHEME)&&(t=t.slice(Ya.URL_SCHEME.length)),(t==null||t.length===0)&&(t=uH),this.modelJsonFileName=t+cH,this.weightDataFileName=t+pH}async save(t){if(typeof document==\"undefined\")throw new Error(\"Browser downloads are not supported in this environment since `document` is not present\");let e=window.URL.createObjectURL(new Blob([t.weightData],{type:\"application/octet-stream\"}));if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserDownloads.save() does not support saving model topology in binary formats yet.\");{let n=[{paths:[\"./\"+this.weightDataFileName],weights:t.weightSpecs}],o=lx(t,n),s=window.URL.createObjectURL(new Blob([JSON.stringify(o)],{type:\"application/json\"})),i=this.modelJsonAnchor==null?document.createElement(\"a\"):this.modelJsonAnchor;if(i.download=this.modelJsonFileName,i.href=s,await I_(()=>i.dispatchEvent(new MouseEvent(\"click\"))),t.weightData!=null){let a=this.weightDataAnchor==null?document.createElement(\"a\"):this.weightDataAnchor;a.download=this.weightDataFileName,a.href=e,await I_(()=>a.dispatchEvent(new MouseEvent(\"click\")))}return{modelArtifactsInfo:Ai(t)}}}};Ya.URL_SCHEME=\"downloads://\";var j0=class{constructor(t){if(t==null||t.length<1)throw new Error(`When calling browserFiles, at least 1 file is required, but received ${t}`);this.jsonFile=t[0],this.weightsFiles=t.slice(1)}async load(){return new Promise((t,e)=>{let n=new FileReader;n.onload=o=>{let s=JSON.parse(o.target.result),i=s.modelTopology;if(i==null){e(new Error(`modelTopology field is missing from file ${this.jsonFile.name}`));return}if(s.weightsManifest==null){e(new Error(`weightManifest field is missing from file ${this.jsonFile.name}`));return}if(this.weightsFiles.length===0){t({modelTopology:i});return}let u=sm(s,l=>this.loadWeights(l));t(u)},n.onerror=o=>e(`Failed to read model topology and weights manifest JSON from file '${this.jsonFile.name}'. BrowserFiles supports loading Keras-style tf.Model artifacts only.`),n.readAsText(this.jsonFile)})}loadWeights(t){let e=[],n=[];for(let i of t)e.push(...i.weights),n.push(...i.paths);let o=this.checkManifestAndWeightFiles(t),s=n.map(i=>this.loadWeightsFile(i,o[i]));return Promise.all(s).then(i=>[e,om(i)])}loadWeightsFile(t,e){return new Promise((n,o)=>{let s=new FileReader;s.onload=i=>{let a=i.target.result;n(a)},s.onerror=i=>o(`Failed to weights data from file of path '${t}'.`),s.readAsArrayBuffer(e)})}checkManifestAndWeightFiles(t){let e=[],n=this.weightsFiles.map(s=>V0(s.name)),o={};for(let s of t)s.paths.forEach(i=>{let a=V0(i);if(e.indexOf(a)!==-1)throw new Error(`Duplicate file basename found in weights manifest: '${a}'`);if(e.push(a),n.indexOf(a)===-1)throw new Error(`Weight file with basename '${a}' is not provided.`);o[i]=this.weightsFiles[n.indexOf(a)]});if(e.length!==this.weightsFiles.length)throw new Error(`Mismatch in the number of files in weights manifest (${e.length}) and the number of weight files provided (${this.weightsFiles.length}).`);return o}},mH=r=>B().getBool(\"IS_BROWSER\")&&!Array.isArray(r)&&r.startsWith(Ya.URL_SCHEME)?fH(r.slice(Ya.URL_SCHEME.length)):null;Se.registerSaveRouter(mH);function fH(r=\"model\"){return new Ya(r)}function S_(r){return new j0(r)}function X0(r,t,e,n){i(r),e=e==null?0:e,n=n==null?1:n,a(e,n);let o=0,s=u=>(u.then(l=>{let c=e+ ++o/r.length*(n-e);return t(c),l}),u);function i(u){A(u!=null&&Array.isArray(u)&&u.length>0,()=>\"promises must be a none empty array\")}function a(u,l){A(u>=0&&u<=1,()=>`Progress fraction must be in range [0, 1], but got startFraction ${u}`),A(l>=0&&l<=1,()=>`Progress fraction must be in range [0, 1], but got endFraction ${l}`),A(l>=u,()=>`startFraction must be no more than endFraction, but got startFraction ${u} and endFraction ${l}`)}return Promise.all(r.map(s))}async function Y0(r,t){t==null&&(t={});let e=t.fetchFunc==null?B().platform.fetch:t.fetchFunc,n=r.map(p=>e(p,t.requestInit,{isBinary:!0})),o=0,s=.5,a=(t.onProgress==null?await Promise.all(n):await X0(n,t.onProgress,o,s)).map(p=>p.arrayBuffer()),u=.5,l=1;return t.onProgress==null?await Promise.all(a):await X0(a,t.onProgress,u,l)}async function T_(r,t=\"\",e,n){return Z0(i=>Y0(i,{requestInit:n}))(r,t,e)}function Z0(r){return async(t,e=\"\",n)=>{let o=t.map(()=>!1),s={},i=n!=null?n.map(()=>!1):[],a=[];if(t.forEach((f,d)=>{let h=0;f.weights.forEach(g=>{let x=\"quantization\"in g?g.quantization.dtype:g.dtype,b=dh[x]*Qt(g.shape),w=()=>{o[d]=!0,s[d]==null&&(s[d]=[]),s[d].push({manifestEntry:g,groupOffset:h,sizeBytes:b})};n!=null?n.forEach((C,T)=>{C===g.name&&(w(),i[T]=!0)}):w(),a.push(g.name),h+=b})}),!i.every(f=>f)){let f=n.filter((d,h)=>!i[h]);throw new Error(`Could not find weights in manifest with names: ${f.join(\", \")}. \nManifest JSON has weights with names: ${a.join(\", \")}.`)}let u=o.reduce((f,d,h)=>(d&&f.push(h),f),[]),l=[];u.forEach(f=>{t[f].paths.forEach(d=>{let h=e+(e.endsWith(\"/\")?\"\":\"/\")+d;l.push(h)})});let c=await r(l),p={},m=0;return u.forEach(f=>{let d=t[f].paths.length,h=0;for(let C=0;C{let T=g.slice(C.groupOffset,C.groupOffset+C.sizeBytes),E=ax(T,[C.manifestEntry]);for(let $ in E)p[$]=E[$]}),m+=d}),p}}var dH=\"application/octet-stream\",hH=\"application/json\",hh=class{constructor(t,e){if(this.DEFAULT_METHOD=\"POST\",e==null&&(e={}),this.weightPathPrefix=e.weightPathPrefix,this.onProgress=e.onProgress,this.weightUrlConverter=e.weightUrlConverter,e.fetchFunc!=null?(A(typeof e.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=e.fetchFunc):this.fetch=B().platform.fetch,A(t!=null&&t.length>0,()=>\"URL path for http must not be null, undefined or empty.\"),Array.isArray(t)&&A(t.length===2,()=>`URL paths for http must have a length of 2, (actual length is ${t.length}).`),this.path=t,e.requestInit!=null&&e.requestInit.body!=null)throw new Error(\"requestInit is expected to have no pre-existing body, but has one.\");this.requestInit=e.requestInit||{}}async save(t){if(t.modelTopology instanceof ArrayBuffer)throw new Error(\"BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.\");let e=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);e.body=new FormData;let n=[{paths:[\"./model.weights.bin\"],weights:t.weightSpecs}],o=lx(t,n);e.body.append(\"model.json\",new Blob([JSON.stringify(o)],{type:hH}),\"model.json\"),t.weightData!=null&&e.body.append(\"model.weights.bin\",new Blob([t.weightData],{type:dH}),\"model.weights.bin\");let s=await this.fetch(this.path,e);if(s.ok)return{modelArtifactsInfo:Ai(t),responses:[s]};throw new Error(`BrowserHTTPRequest.save() failed due to HTTP response status ${s.status}.`)}async load(){let t=await this.fetch(this.path,this.requestInit);if(!t.ok)throw new Error(`Request to ${this.path} failed with status code ${t.status}. Please verify this URL points to the model JSON of the model to load.`);let e;try{e=await t.json()}catch(s){let i=`Failed to parse model JSON of response from ${this.path}.`;throw this.path.endsWith(\".pb\")?i+=\" 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.\":i+=\" Please make sure the server is serving valid JSON for this request.\",new Error(i)}let n=e.modelTopology,o=e.weightsManifest;if(n==null&&o==null)throw new Error(`The JSON from HTTP path ${this.path} contains neither model topology or manifest for weights.`);return sm(e,s=>this.loadWeights(s))}async loadWeights(t){let e=Array.isArray(this.path)?this.path[1]:this.path,[n,o]=gH(e),s=this.weightPathPrefix||n,i=[];for(let c of t)i.push(...c.weights);let a=[],u=[];for(let c of t)for(let p of c.paths)this.weightUrlConverter!=null?u.push(this.weightUrlConverter(p)):a.push(s+p+o);this.weightUrlConverter&&a.push(...await Promise.all(u));let l=await Y0(a,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[i,om(l)]}};hh.URL_SCHEME_REGEX=/^https?:\\/\\//;function gH(r){let t=r.lastIndexOf(\"/\"),e=r.lastIndexOf(\"?\"),n=r.substring(0,t),o=e>t?r.substring(e):\"\";return[n+\"/\",o]}function fx(r){return r.match(hh.URL_SCHEME_REGEX)!=null}var N_=(r,t)=>{if(typeof fetch==\"undefined\"&&(t==null||t.fetchFunc==null))return null;{let e=!0;if(Array.isArray(r)?e=r.every(n=>fx(n)):e=fx(r),e)return dx(r,t)}return null};Se.registerSaveRouter(N_);Se.registerLoadRouter(N_);function dx(r,t){return new hh(r,t)}function k_(r,t){return dx(r,t)}var gh=class{constructor(t){this.modelArtifacts=t}load(){return this.modelArtifacts}},hx=class{constructor(t){this.saveHandler=t}save(t){return this.saveHandler(t)}},J0=class{constructor(t){t.load&&(this.load=()=>Promise.resolve(t.load())),t.save&&(this.save=e=>Promise.resolve(t.save(e)))}};function __(r,t,e,n){let o=arguments;return new J0(Q0(...o))}function Q0(r,t,e,n){return arguments.length===1?r.modelTopology!=null||r.weightSpecs!=null?new gh(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 gh({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 gh({modelTopology:r,weightSpecs:t,weightData:e,trainingConfig:n}))}function E_(r){return new hx(r)}function A_(r){return new hx(r)}var R_={};jt(R_,{confusionMatrix:()=>D_});function xH(r,t,e=!1,n=!1){let o=v(r,\"a\",\"matMul\"),s=v(t,\"b\",\"matMul\");[o,s]=Xt(o,s);let i={a:o,b:s},a={transposeA:e,transposeB:n};return _.runKernel(Zo,i,a)}var Gt=N({matMul_:xH});function yH(r,t,e=1,n=0,o=\"int32\"){if(t<2)throw new Error(`Error in oneHot: depth must be >=2, but it is ${t}`);let i={indices:v(r,\"indices\",\"oneHot\",\"int32\")},a={dtype:o,depth:t,onValue:e,offValue:n};return _.runKernel(vs,i,a)}var Ri=N({oneHot_:yH});function wpt(){B().set(\"PROD\",!0)}function Cpt(){B().set(\"DEBUG\",!0)}function vpt(){B().set(\"DEPRECATION_WARNINGS_ENABLED\",!1),console.warn(\"TensorFlow.js deprecation warnings have been disabled.\")}function tS(r){B().getBool(\"DEPRECATION_WARNINGS_ENABLED\")&&console.warn(r+\" You can disable deprecation warnings with tf.disableDeprecationWarnings().\")}J1(tS);function Ipt(){_.disposeVariables()}function go(){return _}function xh(){return _.memory()}function Spt(r){return _.profile(r)}function G(r,t){return _.tidy(r,t)}function _t(r){fh(r).forEach(e=>e.dispose())}function Oe(r){return _.keep(r)}function Tpt(r){return _.time(r)}function bH(r){return _.setBackend(r)}function Npt(){return _.ready()}function kpt(){return _.backendName}function _pt(r){_.removeBackend(r)}function Ept(r){return _.findBackend(r)}function Apt(r){return _.findBackendFactory(r)}function lm(r,t,e=1){return _.registerBackend(r,t,e)}function $_(){return _.backend}function $pt(r,t){B().setPlatform(r,t)}function wH(r){let e={input:v(r,\"input\",\"imag\")};return _.runKernel(Mp,e)}var jl=N({imag_:wH});function CH(r){let e={x:v(r,\"x\",\"neg\")};return _.runKernel(gi,e)}var Yt=N({neg_:CH});function vH(r){let e={input:v(r,\"input\",\"real\")};return _.runKernel(qp,e)}var Za=N({real_:vH});function IH(r,t,e){let n=v(r,\"x\",\"transpose\");if(t==null&&(t=n.shape.map((i,a)=>a).reverse()),A(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of perm ${t}.`),t.forEach(i=>{A(i>=0&&i`All entries in 'perm' must be between 0 and ${n.rank-1} but got ${t}`)}),n.rank<=1)return n.clone();let o={x:n},s={perm:t};return n.dtype===\"complex64\"?G(()=>{let i=Za(n),a=jl(n);return i=_.runKernel(Yn,{x:i},s),a=_.runKernel(Yn,{x:a},s),e&&(a=Yt(a)),Cn(i,a)}):_.runKernel(Yn,o,s)}var Mt=N({transpose_:IH});function SH(r,t,e){let n=v(r,\"labels\",\"confusionMatrix\"),o=v(t,\"predictions\",\"confusionMatrix\");A(e==null||e>0&&Number.isInteger(e),()=>`If provided, numClasses must be a positive integer, but got ${e}`),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(e>0&&Number.isInteger(e),()=>`numClasses is required to be a positive integer, but got ${e}`);let s=Ri(tt(n,\"int32\"),e),i=Ri(tt(o,\"int32\"),e),a=Mt(s),u=Gt(a,i);return tt(u,\"int32\")}var D_=N({confusionMatrix_:SH});var Lr={};jt(Lr,{assertAndGetBroadcastShape:()=>zt,getBroadcastDims:()=>F_,getReductionAxes:()=>ye});function F_(r,t){let e=r.length,n=[];for(let o=0;o1&&i===1&&n.unshift(s)}return n}function ye(r,t){let e=[];for(let n=0;n1)&&e.unshift(s)}return e}function zt(r,t){let e=[],n=Math.max(r.length,t.length);for(let o=0;o$H,fromPixelsAsync:()=>EH,toPixels:()=>AH});function gx(r,t,e){if(Kn(r),t!=null&&t.length!==3)throw new Error(\"tensor3d() requires shape to have three numbers\");let n=Pr(r,e);if(n.length!==3&&n.length!==1)throw new Error(\"tensor3d() requires values to be number[][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor3d() requires shape to be provided when `values` are a flat array\");return sn(r,t,n,e)}var Zu;function O_(r,t=3){if(t>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 e=!1,n=!1,o=!1,s=!1,i=!1,a=!1;if(r.data instanceof Uint8Array)e=!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)i=!0;else if(typeof ImageBitmap!=\"undefined\"&&r instanceof ImageBitmap)a=!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(lh(ih,_.backendName)!=null){let d={pixels:r},h={numChannels:t};return _.runKernel(ih,d,h)}let[l,c]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],p;if(i)p=r.getContext(\"2d\").getImageData(0,0,l,c).data;else if(n||e)p=r.data;else if(s||o||a){if(Zu==null)if(typeof document==\"undefined\")if(typeof OffscreenCanvas!=\"undefined\"&&typeof OffscreenCanvasRenderingContext2D!=\"undefined\")Zu=new OffscreenCanvas(1,1).getContext(\"2d\");else throw new Error(\"Cannot parse input in current context. Reason: OffscreenCanvas Context2D rendering is not supported.\");else Zu=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:!0});Zu.canvas.width=l,Zu.canvas.height=c,Zu.drawImage(r,0,0,l,c),p=Zu.getImageData(0,0,l,c).data}let m;if(t===4)m=new Int32Array(p);else{let d=l*c;m=new Int32Array(d*t);for(let h=0;h4||s===2)throw new Error(`toPixels only supports depth of size 1, 3 or 4 but got ${s}`);if(e.dtype!==\"float32\"&&e.dtype!==\"int32\")throw new Error(`Unsupported type for toPixels: ${e.dtype}. Please use float32 or int32 tensors.`);let i=await e.data(),a=e.dtype===\"float32\"?255:1,u=new Uint8ClampedArray(o*n*4);for(let l=0;l1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${f}.`)}else if(e.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*a,c[1]=f*a,c[2]=f*a):c[m]=f*a}let p=l*4;u[p+0]=Math.round(c[0]),u[p+1]=Math.round(c[1]),u[p+2]=Math.round(c[2]),u[p+3]=Math.round(c[3])}if(t!=null){t.width=o,t.height=n;let l=t.getContext(\"2d\"),c=new ImageData(u,o,n);l.putImageData(c,0,0)}return e!==r&&e.dispose(),u}var $H=N({fromPixels_:O_});var yx={};jt(yx,{prepareAndValidate:()=>P_});function P_(r,t){let e=r.shape.length,n=t.shape.length;if(e<1)throw new Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${e}.`);if(n<1)throw new Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${n}.`);if(t.dtype!==\"int32\")throw new Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[n-1]>e)throw new Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[n-1]} vs. ${e}`);if(Qt(r.shape)===0)throw new Error(`Requested more than 0 entries, but input is empty. Input shape: ${r.shape}.`);let o=t.shape,s=o[o.length-1],i=1;for(let p=0;pp/l),1].slice(0,s);return[u,i,l,c]}var yh={};jt(yh,{calculateShapes:()=>L_,validateInput:()=>bx,validateUpdateShape:()=>eS});function eS(r,t,e){let n=t.rank>1?t.shape[t.rank-1]:1,o=t.rank>1?t.rank-1:1,s=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${e.shape}, indices.shape: ${t.shape}, shape: ${r}, sliceDim: ${n}, and batchDim: ${o}.`;if(e.rank1?t.shape[n-1]:1,s=e.length,i=1;for(let p=o;pRH,computeFlatOffset:()=>MH,computeOutShape:()=>OH,getNormalizedAxes:()=>PH,isSliceContinous:()=>LH,maskToAxes:()=>FH,parseSliceParams:()=>nS,sliceInfo:()=>zH,startForAxis:()=>H_,startIndicesWithElidedDims:()=>G_,stopForAxis:()=>q_,stopIndicesWithElidedDims:()=>W_,stridesForAxis:()=>U_,stridesWithElidedDims:()=>z_});var rS=-2,DH=-1;function RH(r,t,e){let n=r.shape.length;A(n===t.length,()=>`Error in slice${n}D: Length of begin ${t} must match the rank of the array (${n}).`),A(n===e.length,()=>`Error in slice${n}D: Length of size ${e} must match the rank of the array (${n}).`);for(let o=0;o`Error in slice${n}D: begin[${o}] + size[${o}] (${t[o]+e[o]}) would overflow input.shape[${o}] (${r.shape[o]})`)}function FH(r){let t=[],e=0;for(;r>0;)r&1&&t.push(e),r/=2,e++;return t}function OH(r,t,e){let n=[];for(let o=0;o0){let f=t[0],d=e+1;c=G_(i,f,d,n,r),p=W_(a,f,d,o,r),m=z_(s,f,d,r)}else for(let f=0;f-1)s[a]=0;else{let u=B_(t,e,a),l=n[u];r&1<-1)s[a]=Number.MAX_SAFE_INTEGER;else{let u=B_(t,e,a),l=n[u];r&1<0?i=Number.MIN_SAFE_INTEGER:i=Number.MAX_SAFE_INTEGER);let u=n[o];return i<0&&(i+=u),i=yp(0,i,u-1),i}function q_(r,t,e,n,o,s){let i=t[o],a=e[o]||1;(r&1<0?i=Number.MAX_SAFE_INTEGER:i=Number.MIN_SAFE_INTEGER);let u=n[o];return i<0&&(i+=u),a>0?i=yp(0,i,u):i=yp(-1,i,u-1),i}function LH(r,t,e){let n=e.length;for(let o=0;o1){n=o;break}for(let o=n+1;o0||e[o]!==r[o])return!1;return!0}function MH(r,t){let e=r.length>0?r[r.length-1]:1;for(let n=0;n{A(i!==-1,()=>\"slice() does not support negative begin indexing.\")});let s;return e==null?s=new Array(o).fill(-1):typeof e==\"number\"?s=[e,...new Array(o-1).fill(-1)]:e.lengthi>=0?i:(A(i===-1,()=>`Negative size values should be exactly -1 but got ${i} for the slice() size at index ${a}.`),r.shape[a]-n[a])),[n,s]}function zH(r,t,e,n,o,s,i,a,u){let l;if(n==null?(l=new Array(t.length),l.fill(1)):l=n,i!=null&&(i&i-1)!==0)throw new Error(\"Multiple ellipses in slice is not allowed.\");let c=!1,p={dims:l.length,numAddAxisAfterEllipsis:0,begin:t.slice(),end:e.slice(),strides:l.slice(),beginMask:o,endMask:s,ellipsisMask:i,newAxisMask:a,shrinkAxisMask:u};for(let w=0;w0?0:-1,m.strides[w]>0?T:T-1];if(C&&m.strides[w]<=0)throw Error(\"only stride 1 allowed on non-range indexing.\");h=h&&m.strides[w]===1;let D=!!(m.beginMask&1<=T)throw Error(`slice index ${m.begin[w]} of dimension ${w} out of bounds.`)}else m.begin[w]=M_(m.begin[w],0,m.strides[w],T,E,$),m.end[w]=M_(m.end[w],1,m.strides[w],T,E,$);let W=m.strides[w]===1&&m.begin[w]===0&&m.end[w]===T;f=f&&W,d=d&&(w===0&&m.strides[w]===1||W)}else f=f&&m.strides[w]===1&&D,d=d&&(w===0&&m.strides[w]===1||D);let P,M=!1;if(m.beginValid&&m.endValid?(P=m.end[w]-m.begin[w],M=!0):C?(P=1,M=!0):D&&T>=0&&(m.strides[w]<0?P=-T:P=T,M=!0),M){let W;P===0||P<0!=m.strides[w]<0?W=0:W=Math.trunc(P/m.strides[w])+(P%m.strides[w]!==0?1:0),g.push(W)}else g.push(-1)}for(let w=0;w=0?x.push(g[C]):C===rS&&x.push(1)}return{finalShapeSparse:x.filter((w,C)=>m.finalShapeGatherIndices[C]!==rS),finalShape:x,isIdentity:f,sliceDim0:d,isSimpleSlice:h,begin:m.begin,end:m.end,strides:m.strides}}function BH(r,t){t.beginMask=0,t.endMask=0,t.shrinkAxisMask=0;let e=0;t.beginValid=r.begin!=null,t.endValid=r.end!=null,t.begin=new Array(t.dims),t.end=new Array(t.dims),t.strides=new Array(t.dims),t.finalShapeGatherIndices=[],t.finalShapeGatherIndicesSparse=[],t.inputShapeGatherIndicesSparse=new Array(t.dims);for(let n=0;n0?s[t]:s[t+1&1];{let i=r<0?n+r:r;return is[1]?s[1]:i}}var rt={};jt(rt,{Serializable:()=>bh,SerializationMap:()=>Fi,registerClass:()=>In});var bh=class{getClassName(){return this.constructor.className}static fromConfig(t,e){return new t(e)}},Fi=class{constructor(){this.classNameMap={}}static getMap(){return Fi.instance==null&&(Fi.instance=new Fi),Fi.instance}static register(t){Fi.getMap().classNameMap[t.className]=[t,t.fromConfig]}};function In(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.\"),Fi.register(r)}var Y_={};jt(Y_,{TEST_EPSILON_FLOAT16:()=>K_,createVideoElement:()=>KH,encodeStrings:()=>X_,expectArrayBuffersEqual:()=>qH,expectArraysClose:()=>GH,expectArraysEqual:()=>UH,expectNumbersClose:()=>j_,expectPromiseToFail:()=>WH,expectValuesInRange:()=>HH,play:()=>jH,testEpsilon:()=>wx});var VH=.001,K_=.1;function GH(r,t,e){return e==null&&(e=wx()),oS(r,t,(n,o)=>sS(n,o,e))}function wx(){return _.backend.floatPrecision()===32?VH:K_}function oS(r,t,e){let n=!0;if((xr(r)||xr(t))&&(n=!1),xr(r)&&xr(t)&&(n=!0),n){let i=r.constructor.name,a=t.constructor.name;if(i!==a)throw new Error(`Arrays are of different type. Actual: ${i}. Expected: ${a}`)}if(Array.isArray(r)&&Array.isArray(t)){let i=Pr(r),a=Pr(t);if(!Rn(i,a))throw new Error(`Arrays have different shapes. Actual: [${i}]. Expected: [${a}]`)}let o=xr(r)?r:qo(r),s=xr(t)?t:qo(t);if(o.length!==s.length)throw new Error(`Arrays have different lengths actual: ${o.length} vs expected: ${s.length}.\nActual: ${o}.\nExpected: ${s}.`);for(let i=0;it.fail(),()=>t()),typeof expect!=\"undefined\"&&expect().nothing()}function UH(r,t){let e=typeof t==\"string\"||typeof t==\"number\"||typeof t==\"boolean\"?[t]:t;return Ko(r)||Ko(r[0])||Ko(t)||Ko(t[0])?oS(r,e,(n,o)=>n==o):oS(r,t,(n,o)=>sS(n,o,0))}function j_(r,t,e){if(e==null&&(e=wx()),!sS(r,t,e))throw new Error(`Numbers differ: actual === ${r}, expected === ${t}`);typeof expect!=\"undefined\"&&expect().nothing()}function sS(r,t,e){return!isFinite(r)&&!isFinite(t)?!0:!(isNaN(r)||isNaN(t)||Math.abs(r-t)>e)}function HH(r,t,e){for(let n=0;ne)throw new Error(`Value out of range:${r[n]} low: ${t}, high: ${e}`)}function qH(r,t){let e=new Float32Array(r),n=new Float32Array(t);if(e.length!==n.length)throw new Error(`Expected ArrayBuffer to be of length ${n.length}, but it was ${e.length}`);for(let o=0;o{t.addEventListener(\"loadeddata\",n=>e(t)),t.load()})}async function jH(r){await r.play(),\"requestVideoFrameCallback\"in r&&await new Promise(t=>{r.requestVideoFrameCallback(t)})}var Z_=\"3.20.0\";function XH(r,t){let e=v(r,\"a\",\"add\"),n=v(t,\"b\",\"add\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(jn,o)}var J=N({add_:XH});function YH(r,t){let e=v(r,\"a\",\"floorDiv\"),n=v(t,\"b\",\"floorDiv\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(us,o)}var um=N({floorDiv_:YH});function ZH(r,t){let e=v(r,\"a\",\"div\"),n=v(t,\"b\",\"div\");if([e,n]=Xt(e,n),e.dtype===\"int32\"&&n.dtype===\"int32\")return um(e,n);let o={a:e,b:n},s={};return _.runKernel(ss,o,s)}var ct=N({div_:ZH});function JH(r,t){let e=v(r,\"a\",\"mul\"),n=v(t,\"b\",\"mul\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(Cs,o)}var O=N({mul_:JH});function QH(r){let t=v(r,\"x\",\"abs\");if(t.dtype===\"complex64\"){let e={x:t};return _.runKernel(_l,e)}else{let e={x:t};return _.runKernel(pi,e)}}var $e=N({abs_:QH});function tq(r){let e={x:v(r,\"x\",\"acos\")};return _.runKernel(oa,e)}var Cx=N({acos_:tq});function eq(r){let e={x:v(r,\"x\",\"acosh\")};return _.runKernel(sa,e)}var vx=N({acosh_:eq});function rq(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 t=r.map((o,s)=>v(o,`tensors${s}`,\"addN\")),e=t[0];t.forEach(o=>{if(o.dtype!==e.dtype)throw new Error(\"All tensors passed to tf.addN() must have the same dtype\")}),t.forEach(o=>{if(!Rn(o.shape,e.shape))throw new Error(\"All tensors passed to tf.addN() must have the same shape\")});let n=t;return _.runKernel(jo,n)}var J_=N({addN_:rq});function nq(r,t=null,e=!1){let o={x:v(r,\"x\",\"all\",\"bool\")},s={axis:t,keepDims:e};return _.runKernel(ia,o,s)}var cm=N({all_:nq});function oq(r,t=null,e=!1){let o={x:v(r,\"x\",\"any\",\"bool\")},s={axis:t,keepDims:e};return _.runKernel(aa,o,s)}var Ju=N({any_:oq});function sq(r,t=0){let n={x:v(r,\"x\",\"argMax\")},o={axis:t};return _.runKernel(Xo,n,o)}var Oi=N({argMax_:sq});function iq(r,t=0){let n={x:v(r,\"x\",\"argMin\")},o={axis:t};return _.runKernel(Nl,n,o)}var Ix=N({argMin_:iq});function aq(r){let e={x:v(r,\"x\",\"asin\")};return _.runKernel(la,e)}var Sx=N({asin_:aq});function lq(r){let e={x:v(r,\"x\",\"asinh\")};return _.runKernel(ua,e)}var Tx=N({asinh_:lq});function uq(r){let e={x:v(r,\"x\",\"atan\")};return _.runKernel(ca,e)}var Nx=N({atan_:uq});function cq(r,t){let e=v(r,\"a\",\"atan2\"),n=v(t,\"b\",\"atan2\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(ma,o)}var kx=N({atan2_:cq});function pq(r){let e={x:v(r,\"x\",\"atanh\")};return _.runKernel(pa,e)}var _x=N({atanh_:pq});function mq(r,t,e,n,o=\"NHWC\",s){let i=r[3],a=[...t,i],u=tE(o);return tc(r,a,e,s,n,null,null,u)}function aS(r,t,e,n,o,s,i=\"channelsLast\"){let[a,u]=Ex(t),l;if(i===\"channelsLast\")l=[a,u,r[3],r[3]];else if(i===\"channelsFirst\")l=[a,u,r[1],r[1]];else throw new Error(`Unknown dataFormat ${i}`);return tc(r,l,e,n,o,s,!1,i)}function fq(r,t,e,n,o,s,i=\"NDHWC\"){let[a,u,l]=iS(t),c,p;if(i===\"NDHWC\")p=\"channelsLast\",c=[a,u,l,r[4],r[4]];else if(i===\"NCDHW\")p=\"channelsFirst\",c=[a,u,l,r[1],r[1]];else throw new Error(`Unknown dataFormat ${i}`);return Q_(r,c,e,n,o,!1,p,s)}function tc(r,t,e,n,o,s,i=!1,a=\"channelsLast\"){let[u,l,c,p]=[-1,-1,-1,-1];if(a===\"channelsLast\")[u,l,c,p]=r;else if(a===\"channelsFirst\")[u,p,l,c]=r;else throw new Error(`Unknown dataFormat ${a}`);let[m,f,,d]=t,[h,g]=Ex(e),[x,b]=Ex(n),w=pm(m,x),C=pm(f,b),{padInfo:T,outHeight:E,outWidth:$}=gq(o,l,c,h,g,w,C,s,a),D=i?d*p:d,P;return a===\"channelsFirst\"?P=[u,D,E,$]:a===\"channelsLast\"&&(P=[u,E,$,D]),{batchSize:u,dataFormat:a,inHeight:l,inWidth:c,inChannels:p,outHeight:E,outWidth:$,outChannels:D,padInfo:T,strideHeight:h,strideWidth:g,filterHeight:m,filterWidth:f,effectiveFilterHeight:w,effectiveFilterWidth:C,dilationHeight:x,dilationWidth:b,inShape:r,outShape:P,filterShape:t}}function Q_(r,t,e,n,o,s=!1,i=\"channelsLast\",a){let[u,l,c,p,m]=[-1,-1,-1,-1,-1];if(i===\"channelsLast\")[u,l,c,p,m]=r;else if(i===\"channelsFirst\")[u,m,l,c,p]=r;else throw new Error(`Unknown dataFormat ${i}`);let[f,d,h,,g]=t,[x,b,w]=iS(e),[C,T,E]=iS(n),$=pm(f,C),D=pm(d,T),P=pm(h,E),{padInfo:M,outDepth:W,outHeight:H,outWidth:q}=xq(o,l,c,p,x,b,w,$,D,P,a),X=s?g*m:g,j;return i===\"channelsFirst\"?j=[u,X,W,H,q]:i===\"channelsLast\"&&(j=[u,W,H,q,X]),{batchSize:u,dataFormat:i,inDepth:l,inHeight:c,inWidth:p,inChannels:m,outDepth:W,outHeight:H,outWidth:q,outChannels:X,padInfo:M,strideDepth:x,strideHeight:b,strideWidth:w,filterDepth:f,filterHeight:d,filterWidth:h,effectiveFilterDepth:$,effectiveFilterHeight:D,effectiveFilterWidth:P,dilationDepth:C,dilationHeight:T,dilationWidth:E,inShape:r,outShape:j,filterShape:t}}function dq(r,t,e,n,o){n==null&&(n=lS(r,t,e));let s=r[0],i=r[1],a=Qu((s-t+2*n)/e+1,o),u=Qu((i-t+2*n)/e+1,o);return[a,u]}function hq(r,t,e,n,o,s){o==null&&(o=lS(r,t,n));let i=r[0],a=r[1],u=r[2],l=Qu((i-t+2*o)/n+1,s),c=Qu((a-t+2*o)/n+1,s),p=Qu((u-t+2*o)/n+1,s);return[l,c,p,e]}function lS(r,t,e,n=1){let o=pm(t,n);return Math.floor((r[0]*(e-1)-e+o)/2)}function Ex(r){return typeof r==\"number\"?[r,r,r]:r.length===2?[r[0],r[1],1]:r}function iS(r){return typeof r==\"number\"?[r,r,r]:r}function pm(r,t){return t<=1?r:r+(r-1)*(t-1)}function gq(r,t,e,n,o,s,i,a,u){let l,c,p;if(typeof r==\"number\"){l={top:r,bottom:r,left:r,right:r,type:r===0?\"VALID\":\"NUMBER\"};let f=dq([t,e],s,n,r,a);c=f[0],p=f[1]}else if(r===\"same\"){c=Math.ceil(t/n),p=Math.ceil(e/o);let m=Math.max(0,(c-1)*n+s-t),f=Math.max(0,(p-1)*o+i-e),d=Math.floor(m/2),h=m-d,g=Math.floor(f/2),x=f-g;l={top:d,bottom:h,left:g,right:x,type:\"SAME\"}}else if(r===\"valid\")l={top:0,bottom:0,left:0,right:0,type:\"VALID\"},c=Math.ceil((t-s+1)/n),p=Math.ceil((e-i+1)/o);else if(typeof r==\"object\"){let m=u===\"channelsLast\"?r[1][0]:r[2][0],f=u===\"channelsLast\"?r[1][1]:r[2][1],d=u===\"channelsLast\"?r[2][0]:r[3][0],h=u===\"channelsLast\"?r[2][1]:r[3][1];l={top:m,bottom:f,left:d,right:h,type:m===0&&f===0&&d===0&&h===0?\"VALID\":\"EXPLICIT\"},c=Qu((t-s+m+f)/n+1,a),p=Qu((e-i+d+h)/o+1,a)}else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:l,outHeight:c,outWidth:p}}function xq(r,t,e,n,o,s,i,a,u,l,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=hq([t,e,n,1],a,1,o,r,c);m=g[0],f=g[1],d=g[2]}else if(r===\"same\"){m=Math.ceil(t/o),f=Math.ceil(e/s),d=Math.ceil(n/i);let h=(m-1)*o+a-t,g=(f-1)*s+u-e,x=(d-1)*i+l-n,b=Math.floor(h/2),w=h-b,C=Math.floor(g/2),T=g-C,E=Math.floor(x/2),$=x-E;p={top:C,bottom:T,left:E,right:$,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((t-a+1)/o),f=Math.ceil((e-u+1)/s),d=Math.ceil((n-l+1)/i);else throw Error(`Unknown padding parameter: ${r}`);return{padInfo:p,outDepth:m,outHeight:f,outWidth:d}}function Qu(r,t){if(!t)return Math.trunc(r);switch(t){case\"round\":return Math.round(r);case\"ceil\":return Math.ceil(r);case\"floor\":return Math.floor(r);default:throw new Error(`Unknown roundingMode ${t}`)}}function Jn(r){let[t,e,n]=Ex(r);return t===1&&e===1&&n===1}function Er(r,t){return Jn(r)||Jn(t)}function tE(r){if(r===\"NHWC\")return\"channelsLast\";if(r===\"NCHW\")return\"channelsFirst\";throw new Error(`Unknown dataFormat ${r}`)}function Te(r,t,e){if(e!=null){if(typeof t==\"string\")throw Error(`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${t}.`);if(typeof t==\"number\")A(na(t),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${t}.`);else if(typeof t==\"object\")t.forEach(n=>{n.forEach(o=>{A(na(o),()=>`Error in ${r}: pad must be an integer when using dimRoundingMode ${e} but got pad ${o}.`)})});else throw Error(`Error in ${r}: Unknown padding parameter: ${t}`)}}function yq(r,t){let n={x:v(r,\"x\",\"reshape\",\"string_or_numeric\")},o={shape:t};return _.runKernel(bi,n,o)}var F=N({reshape_:yq});function bq(r,t,e,n,o){let s=v(r,\"x\",\"avgPool\",\"float32\"),i=1;A(Er(e,i),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${e} and dilations '${i}'`);let a=s,u=!1;s.rank===3&&(u=!0,a=F(s,[1,s.shape[0],s.shape[1],s.shape[2]])),A(a.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${a.rank}.`),Te(\"avgPool\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o},p=_.runKernel(Yo,l,c);return p=tt(p,s.dtype),u?F(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var Xl=N({avgPool_:bq});function wq(r,t,e,n,o,s=\"NDHWC\"){let i=v(r,\"x\",\"avgPool3d\",\"float32\"),a=i,u=!1;i.rank===4&&(u=!0,a=F(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),A(a.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${a.rank}.`),A(s===\"NDHWC\",()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),Te(\"avgPool3d\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o,dataFormat:s},p=_.runKernel(kl,l,c);return p=tt(p,a.dtype),u?F(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var Ax=N({avgPool3d_:wq});function Cq(r,t=0){A(r.length>=1,()=>\"Pass at least one tensor to concat\");let e=ja(r,\"tensors\",\"concat\",\"string_or_numeric\");if(e[0].dtype===\"complex64\"&&e.forEach(s=>{if(s.dtype!==\"complex64\")throw new Error(`Cannot concatenate complex64 tensors with a tensor\n with dtype ${s.dtype}. `)}),e.length===1)return an(e[0]);let n=e,o={axis:t};return _.runKernel(fi,n,o)}var se=N({concat_:Cq});function vq(r){let e={x:v(r,\"x\",\"sigmoid\",\"float32\")};return _.runKernel(Os,e)}var Kr=N({sigmoid_:vq});function Iq(r,t,e){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:t,size:e};return _.runKernel(Ci,o,s)}var Ot=N({slice_:Iq});function Sq(r){let e={x:v(r,\"x\",\"tanh\",\"float32\")};return _.runKernel(Gs,e)}var Pi=N({tanh_:Sq});function Tq(r,t,e,n,o,s){let i=v(r,\"forgetBias\",\"basicLSTMCell\"),a=v(t,\"lstmKernel\",\"basicLSTMCell\"),u=v(e,\"lstmBias\",\"basicLSTMCell\"),l=v(n,\"data\",\"basicLSTMCell\"),c=v(o,\"c\",\"basicLSTMCell\"),p=v(s,\"h\",\"basicLSTMCell\"),m=se([l,p],1),f=Gt(m,a),d=J(f,u),h=d.shape[0],g=d.shape[1]/4,x=[h,g],b=Ot(d,[0,0],x),w=Ot(d,[0,g],x),C=Ot(d,[0,g*2],x),T=Ot(d,[0,g*3],x),E=J(O(Kr(b),Pi(w)),O(c,Kr(J(i,C)))),$=O(Pi(E),Kr(T));return[E,$]}var eE=N({basicLSTMCell_:Tq});function Nq(r,t,e){let n=v(r,\"x\",\"batchToSpaceND\"),o=t.reduce((a,u)=>a*u);A(n.rank>=1+t.length,()=>`input rank is ${n.rank} but should be > than blockShape.length ${t.length}`),A(e.length===t.length,()=>`crops.length is ${e.length} but should be equal to blockShape.length ${t.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 ${t.join(\" * \")} === ${o}`);let s={x:n},i={blockShape:t,crops:e};return _.runKernel(mi,s,i)}var Yl=N({batchToSpaceND_:Nq});function rE(r){let t;return r.rank===0||r.rank===1?t=F(r,[1,1,1,r.size]):r.rank===2?t=F(r,[1,1,r.shape[0],r.shape[1]]):r.rank===3?t=F(r,[1,r.shape[0],r.shape[1],r.shape[2]]):t=r,t}function kq(r,t,e,n,o,s){s==null&&(s=.001);let i=v(r,\"x\",\"batchNorm\"),a=v(t,\"mean\",\"batchNorm\"),u=v(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=v(o,\"scale\",\"batchNorm\"));let c;n!=null&&(c=v(n,\"offset\",\"batchNorm\")),A(a.rank===u.rank,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),A(c==null||a.rank===c.rank,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),A(l==null||a.rank===l.rank,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let m={x:rE(i),scale:l,offset:c,mean:a,variance:u},f={varianceEpsilon:s},d=_.runKernel(cs,m,f);return F(d,i.shape)}var Li=N({batchNorm_:kq});function _q(r,t,e,n,o,s){let i=v(r,\"x\",\"batchNorm\"),a=v(t,\"mean\",\"batchNorm\"),u=v(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=v(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=v(n,\"offset\",\"batchNorm\")),A(i.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${i.rank}.`),A(a.rank===2||a.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${a.rank}.`),A(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${u.rank}.`),l!=null&&A(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${l.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}.`),Li(i,a,u,c,l,s)}var $x=N({batchNorm2d_:_q});function Eq(r,t,e,n,o,s){let i=v(r,\"x\",\"batchNorm\"),a=v(t,\"mean\",\"batchNorm\"),u=v(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=v(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=v(n,\"offset\",\"batchNorm\")),A(i.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${i.rank}.`),A(a.rank===3||a.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${a.rank}.`),A(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${u.rank}.`),l!=null&&A(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${l.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}.`),Li(i,a,u,c,l,s)}var Dx=N({batchNorm3d_:Eq});function Aq(r,t,e,n,o,s){let i=v(r,\"x\",\"batchNorm\"),a=v(t,\"mean\",\"batchNorm\"),u=v(e,\"variance\",\"batchNorm\"),l;o!=null&&(l=v(o,\"scale\",\"batchNorm\"));let c;return n!=null&&(c=v(n,\"offset\",\"batchNorm\")),A(i.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${i.rank}.`),A(a.rank===4||a.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${a.rank}.`),A(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${u.rank}.`),l!=null&&A(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${l.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}.`),Li(i,a,u,c,l,s)}var Rx=N({batchNorm4d_:Aq});function $q(r,t,e){let n=v(r,\"x\",\"bincount\"),o=v(t,\"weights\",\"bincount\");A(n.dtype===\"int32\",()=>`Error in bincount: input dtype must be int32, but got ${n.dtype}`),A(e>=0,()=>`size must be non-negative, but got ${e}.`),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},i={size:e};return _.runKernel(Sp,s,i)}var Fx=N({bincount_:$q});function Dq(r,t){let e=v(r,\"s0\",\"broadcastArgs\",\"int32\"),n=v(t,\"s1\",\"broadcastArgs\",\"int32\");if(e.rank!==1)throw new Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${e.rank}`);if(n.rank!==1)throw new Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${n.rank}`);let o={s0:e,s1:n};return _.runKernel(Tp,o)}var nE=N({broadcastArgs_:Dq});function Rq(r,t){let e=v(r,\"broadcastTo\",\"x\"),n=e.shape;if(t.some(l=>!(l>0)||l%1!==0))throw new Error(`broadcastTo(): Invalid broadcast shape [${t}].`);if(t.lengthe.rank){let l=e.shape.slice();for(;l.length=0;l--)if(o[l]===t[l])s[l]=1;else if(e.shape[l]!==1)throw new Error(`broadcastTo(): [${n}] cannot be broadcast to [${t}].`);if(s.map((l,c)=>l>1?c:-1).filter(l=>l>=0).length===0)return an(e);let a={x:e},u={reps:s};return _.runKernel(Xn,a,u)}var Mi=N({broadcastTo_:Rq});function Fq(r){let e={x:v(r,\"x\",\"ceil\",\"float32\")};return _.runKernel(Jo,e)}var Ox=N({ceil_:Fq});function Oq(r,t,e){let n=v(r,\"x\",\"clipByValue\");A(t<=e,()=>`Error in clip: min (${t}) must be less than or equal to max (${e}).`);let o={x:n},s={clipValueMin:t,clipValueMax:e};return _.runKernel(lo,o,s)}var Ir=N({clipByValue_:Oq});function Pq(r){return se(r,0)}var Px=N({concat1d_:Pq});function Lq(r,t){return se(r,t)}var Lx=N({concat2d_:Lq});function Mq(r,t){return se(r,t)}var Mx=N({concat3d_:Mq});function zq(r,t){return se(r,t)}var zx=N({concat4d_:zq});function Bq(r,t,e,n,o=\"NHWC\",s=[1,1],i){let a=v(r,\"x\",\"conv2d\",\"float32\"),u=v(t,\"filter\",\"conv2d\",\"float32\"),l=a,c=!1;a.rank===3&&(c=!0,l=F(a,[1,a.shape[0],a.shape[1],a.shape[2]])),A(l.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${l.rank}.`),A(u.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${u.rank}.`),Te(\"conv2d\",n,i);let p=o===\"NHWC\"?l.shape[3]:l.shape[1];A(p===u.shape[2],()=>`Error in conv2d: depth of input (${p}) must match input depth for filter ${u.shape[2]}.`),A(Er(e,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`);let m={x:l,filter:u},f={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i},d=_.runKernel(Qo,m,f);return c?F(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var Sn=N({conv2d_:Bq});function Vq(r,t,e,n,o=\"NWC\",s=1,i){let a=v(r,\"x\",\"conv1d\"),u=v(t,\"filter\",\"conv1d\"),l=a,c=!1;a.rank===2&&(c=!0,l=F(a,[1,a.shape[0],a.shape[1]])),A(l.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${l.rank}.`),A(u.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${u.rank}.`),Te(\"conv1d\",n,i),A(l.shape[2]===u.shape[1],()=>`Error in conv1d: depth of input (${l.shape[2]}) must match input depth for filter ${u.shape[1]}.`),A(Er(e,s),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${e} and dilation '${s}'`),A(o===\"NWC\",()=>`Error in conv1d: got dataFormat of ${o} but only NWC is currently supported.`);let p=F(u,[1,u.shape[0],u.shape[1],u.shape[2]]),m=F(l,[l.shape[0],1,l.shape[1],l.shape[2]]),g=Sn(m,p,[1,e],n,\"NHWC\",[1,s],i);return c?F(g,[g.shape[2],g.shape[3]]):F(g,[g.shape[0],g.shape[2],g.shape[3]])}var mm=N({conv1d_:Vq});function Gq(r,t,e,n,o,s=\"NHWC\",i){A(r.length===t.rank,()=>`Length of inShape (${r.length}) and rank of dy (${t.rank}) must match`);let a=r,u=t,l=!1;t.rank===3&&(l=!0,u=F(t,[1,t.shape[0],t.shape[1],t.shape[2]]),a=[1,r[0],r[1],r[2]]),A(a.length===4,()=>`Error in conv2dDerInput: inShape must be length 4, but got length ${a.length}.`),A(u.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${u.rank}`),A(e.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${e.rank}`);let c=s===\"NHWC\"?a[3]:a[1],p=s===\"NHWC\"?u.shape[3]:u.shape[1];A(c===e.shape[2],()=>`Error in conv2dDerInput: depth of input (${c}) must match input depth for filter ${e.shape[2]}.`),A(p===e.shape[3],()=>`Error in conv2dDerInput: depth of output (${p}) must match output depth for filter ${e.shape[3]}.`),Te(\"conv2dDerInput\",o,i);let m={dy:u,filter:e},f={strides:n,pad:o,dataFormat:s,dimRoundingMode:i,inputShape:a},d=_.runKernel(ts,m,f);return l?F(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var fm=N({conv2DBackpropInput_:Gq});function Wq(r,t,e,n,o,s){let i=v(r,\"x\",\"conv2dTranspose\"),a=v(t,\"filter\",\"conv2dTranspose\");return fm(e,i,a,n,o,\"NHWC\",s)}var dm=N({conv2dTranspose_:Wq});function Uq(r,t,e,n,o=\"NDHWC\",s=[1,1,1]){let i=v(r,\"x\",\"conv3d\"),a=v(t,\"filter\",\"conv3d\"),u=i,l=!1;i.rank===4&&(l=!0,u=F(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),A(u.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${u.rank}.`),A(a.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${a.rank}.`),A(u.shape[4]===a.shape[3],()=>`Error in conv3d: depth of input (${u.shape[4]}) must match input depth for filter ${a.shape[3]}.`),A(Er(e,s),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),A(o===\"NDHWC\",()=>`Error in conv3d: got dataFormat of ${o} but only NDHWC is currently supported.`);let c={x:u,filter:a},p={strides:e,pad:n,dataFormat:o,dilations:s},m=_.runKernel(El,c,p);return l?F(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Bx=N({conv3d_:Uq});function Hq(r,t,e,n,o){A(r.length===t.rank,()=>`Length of inShape (${r.length}) and rank of dy (${t.rank}) must match`);let s=r,i=t,a=!1;t.rank===4&&(a=!0,i=F(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),s=[1,r[0],r[1],r[2],r[3]]);let u=s[4],l=i.shape[4];A(s.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${s.length}.`),A(i.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${i.rank}`),A(e.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${e.rank}`),A(u===e.shape[3],()=>`Error in conv3dDerInput: depth of input (${u}) must match input depth for filter ${e.shape[3]}.`),A(l===e.shape[4],()=>`Error in conv3dDerInput: depth of output (${l}) must match output depth for filter ${e.shape[4]}.`);let c={dy:i,filter:e},p={pad:o,strides:n,inputShape:s},m=_.runKernel(Ep,c,p);return a?F(m,[m.shape[1],m.shape[2],m.shape[3],m.shape[4]]):m}var Vx=N({conv3DBackpropInput_:Hq});function qq(r,t,e,n,o){let s=v(r,\"x\",\"conv3dTranspose\"),i=v(t,\"filter\",\"conv3dTranspose\");return Vx(e,s,i,n,o)}var Gx=N({conv3dTranspose_:qq});function Kq(r){let e={x:v(r,\"x\",\"cos\",\"float32\")};return _.runKernel(es,e)}var Zl=N({cos_:Kq});function jq(r){let e={x:v(r,\"x\",\"cosh\",\"float32\")};return _.runKernel(rs,e)}var hm=N({cosh_:jq});function Xq(r,t=0,e=!1,n=!1){let s={x:v(r,\"x\",\"cumprod\")},i={axis:t,exclusive:e,reverse:n};return _.runKernel(fa,s,i)}var ec=N({cumprod_:Xq});function Yq(r,t=0,e=!1,n=!1){let s={x:v(r,\"x\",\"cumsum\")},i={axis:t,exclusive:e,reverse:n};return _.runKernel(ns,s,i)}var gm=N({cumsum_:Yq});function Zq(r,t,e,n=!1){let o=v(r,\"x\",\"denseBincount\"),s=v(t,\"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(e>=0,()=>`size must be non-negative, but got ${e}.`),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 i={x:o,weights:s},a={size:e,binaryOutput:n};return _.runKernel(Ap,i,a)}var oE=N({denseBincount_:Zq});function Jq(r,t,e=\"NHWC\"){let n=v(r,\"x\",\"depthToSpace\",\"float32\"),o=e===\"NHWC\"?n.shape[1]:n.shape[2],s=e===\"NHWC\"?n.shape[2]:n.shape[3],i=e===\"NHWC\"?n.shape[3]:n.shape[1];A(t>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${t}`),A(o*t>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${o} and ${t} for depthToSpace with input shape\n ${n.shape}`),A(s*t>=0,()=>`Negative dimension size caused by overflow when multiplying\n ${s} and ${t} for depthToSpace with input shape\n ${n.shape}`),A(i%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${i} for depthToSpace with input shape ${n.shape}`);let a={x:n},u={blockSize:t,dataFormat:e};return _.runKernel(ha,a,u)}var Wx=N({depthToSpace_:Jq});function Qq(r,t,e,n,o=\"NHWC\",s=[1,1],i){let a=v(r,\"x\",\"depthwiseConv2d\",\"float32\"),u=v(t,\"filter\",\"depthwiseConv2d\",\"float32\"),l=a,c=!1;a.rank===3&&(c=!0,l=F(a,[1,a.shape[0],a.shape[1],a.shape[2]])),A(l.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${l.rank}.`),A(u.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${u.rank}.`);let p=o===\"NHWC\"?l.shape[3]:l.shape[1];A(p===u.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${p}) must match the inChannels dimension in filter ${u.shape[2]}.`),Te(\"depthwiseConv2d\",n,i);let m={x:l,filter:u},f={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i},d=_.runKernel(os,m,f);return c?F(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var zi=N({depthwiseConv2d_:Qq});function tK(r){let e={x:v(r,\"x\",\"diag\")};return _.runKernel(Rp,e)}var sE=N({diag_:tK});function eK(r,t,e,n,o=[1,1],s=\"NHWC\"){let i=v(r,\"x\",\"dilation2d\"),a=v(t,\"filter\",\"dilation2d\");A(i.rank===3||i.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${i.rank}.`),A(a.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${a.rank}.`),A(s===\"NHWC\",()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${s}`);let u=i,l=!1;i.rank===3&&(u=F(i,[1,i.shape[0],i.shape[1],i.shape[2]]),l=!0);let c={x:u,filter:a},p={strides:e,pad:n,dilations:o},m=_.runKernel(Al,c,p);return l?F(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var Ux=N({dilation2d_:eK});function rK(r,t){let e=v(r,\"a\",\"equal\",\"string_or_numeric\"),n=v(t,\"b\",\"equal\",\"string_or_numeric\");[e,n]=Xt(e,n),zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(xa,o)}var Ar=N({equal_:rK});function nK(r,t,e){let n=v(t,\"a\",\"where\"),o=v(e,\"b\",\"where\"),s=v(r,\"condition\",\"where\",\"bool\"),i=zt(zt(s.shape,n.shape),o.shape),a=Mi(s,i),u=Mi(n,i),l=Mi(o,i),c={condition:a,t:u,e:l};return _.runKernel(wi,c)}var De=N({where_:nK});function oK(r){let e={x:v(r,\"x\",\"zerosLike\")};return _.runKernel(Ti,e)}var St=N({zerosLike_:oK});function sK(r,t){let e=v(r,\"a\",\"div\"),n=v(t,\"b\",\"div\");[e,n]=Xt(e,n);let o=ct(e,n),s=St(o),i=Ar(n,s);return De(i,s,o)}var Hx=N({divNoNan_:sK});function iK(r,t){let e=v(r,\"t1\",\"dot\"),n=v(t,\"t2\",\"dot\");A((e.rank===1||e.rank===2)&&(n.rank===1||n.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${e.rank} and ${n.rank}.`);let o=e.rank===1?e.size:e.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}.`),e.rank===1&&n.rank===1){let i=F(e,[1,-1]),a=F(n,[-1,1]),u=Gt(i,a);return F(u,[])}else if(e.rank===1&&n.rank===2){let i=F(e,[1,-1]),a=F(n,[n.shape[0],n.shape[1]]),u=Gt(i,a);return F(u,[u.size])}else if(e.rank===2&&n.rank===1){let i=F(n,[-1,1]),a=Gt(e,i);return F(a,[a.size])}else{let i=F(n,[n.shape[0],n.shape[1]]);return Gt(e,i)}}var qx=N({dot_:iK});function aK(r,...t){let e=t.map((o,s)=>v(o,`tensors${s}`,\"einsum\")),n={equation:r};return _.runKernel(Fp,e,n)}var iE=N({einsum_:aK});function lK(r){let e={x:v(r,\"x\",\"elu\",\"float32\")};return _.runKernel(is,e)}var Bi=N({elu_:lK});function uK(r){let t=v(r,\"x\",\"erf\");A(t.dtype===\"int32\"||t.dtype===\"float32\",()=>\"Input dtype must be `int32` or `float32`.\"),t.dtype===\"int32\"&&(t=tt(t,\"float32\"));let e={x:t};return _.runKernel(ga,e)}var Kx=N({erf_:uK});function uS(r,t){for(let e=0;er[s]);return[e,o]}function xo(r,t){let e=t.map(n=>1);return aE(r,e,t)}function cK(r,t,e){A(uS(t,e),()=>`${r} supports only inner-most axes for now. Got axes ${t} and rank-${e} input.`)}function pS(r,t){if(uS(r,t))return null;let e=[];for(let n=0;ne.push(n)),e}function wh(r){return r.map((t,e)=>[e,t]).sort((t,e)=>t[1]-e[1]).map(t=>t[0])}function pK(r,t){let e=[];for(let n=t-r;n\"Axis must be <= rank of the tensor\");let n={input:e},o={dim:t};return _.runKernel(di,n,o)}var yr=N({expandDims_:CK});function vK(r){let e={x:v(r,\"x\",\"expm1\")};return _.runKernel(ya,e)}var Xx=N({expm1_:vK});function IK(r,t){let e=v(r,\"x\",\"tile\",\"string_or_numeric\");A(e.rank===t.length,()=>`Error in transpose: rank of input ${e.rank} must match length of reps ${t}.`);let n={x:e},o={reps:t};return _.runKernel(Xn,n,o)}var $r=N({tile_:IK});function SK(r,t,e,n=\"float32\"){t==null&&(t=r);let o=vt([r,t],n),s=r<=t?r:t;for(let a=0;a`Error in localResponseNormalization: x must be rank 3 or 4 but got\n rank ${s.rank}.`),A(na(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let i=s,a=!1;s.rank===3&&(a=!0,i=F(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let u={x:i},l={depthRadius:t,bias:e,alpha:n,beta:o},c=_.runKernel(Dl,u,l);return a?F(c,[c.shape[1],c.shape[2],c.shape[3]]):c}var Qx=N({localResponseNormalization_:OK});function PK(r){let e={x:v(r,\"x\",\"log\",\"float32\")};return _.runKernel(fs,e)}var Sr=N({log_:PK});function LK(r){let e={x:v(r,\"x\",\"log1p\")};return _.runKernel(ka,e)}var Ql=N({log1p_:LK});function MK(r){return A(ui(r),()=>\"The f passed in grad(f) must be a function\"),(t,e)=>{let n=v(t,\"x\",\"tf.grad\",\"string_or_numeric\"),o=e!=null?v(e,\"dy\",\"tf.grad\"):null;return _.tidy(()=>{let{value:s,grads:i}=_.gradients(()=>r(n),[n],o);return o!=null&&Fe(s.shape,o.shape,\"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)\"),ey(i),i[0]})}}function zK(r){return A(ui(r),()=>\"The f passed in grads(f) must be a function\"),(t,e)=>{A(Array.isArray(t),()=>\"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s\");let n=ja(t,\"args\",\"tf.grads\",\"string_or_numeric\"),o=e!=null?v(e,\"dy\",\"tf.grads\"):null;return _.tidy(()=>{let{value:s,grads:i}=_.gradients(()=>r(...n),n,o);return o!=null&&Fe(s.shape,o.shape,\"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),ey(i),i})}}function BK(r){return A(ui(r),()=>\"The f passed in valueAndGrad(f) must be a function\"),(t,e)=>{A(t instanceof Lt,()=>\"The x passed in valueAndGrad(f)(x) must be a tensor\"),A(e==null||e instanceof Lt,()=>\"The dy passed in valueAndGrad(f)(x, dy) must be a tensor\");let{grads:n,value:o}=_.gradients(()=>r(t),[t],e);return ey(n),{grad:n[0],value:o}}}function VK(r){return A(ui(r),()=>\"The f passed in valueAndGrads(f) must be a function\"),(t,e)=>{A(Array.isArray(t)&&t.every(o=>o instanceof Lt),()=>\"The args passed in valueAndGrads(f)(args) must be array of tensors\"),A(e==null||e instanceof Lt,()=>\"The dy passed in valueAndGrads(f)(args, dy) must be a tensor\");let n=_.gradients(()=>r(...t),t,e);return e!=null&&Fe(n.value.shape,e.shape,\"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])\"),ey(n.grads),n}}function ty(r,t){A(ui(r),()=>\"The f passed in variableGrads(f) must be a function\"),A(t==null||Array.isArray(t)&&t.every(l=>l instanceof Ka),()=>\"The varList passed in variableGrads(f, varList) must be an array of variables\");let e=t!=null;if(!e){t=[];for(let l in _.registeredVariables)t.push(_.registeredVariables[l])}let n=e?t.filter(l=>!l.trainable):null,o=t.length;t=t.filter(l=>l.trainable),A(t.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:i,grads:a}=_.gradients(r,t,null,s);A(a.some(l=>l!=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(i.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${i.rank} tensor`);let u={};return t.forEach((l,c)=>{a[c]!=null&&(u[l.name]=a[c])}),n!=null&&n.forEach(l=>u[l.name]=null),{value:i,grads:u}}function un(r){return _.customGrad(r)}function ey(r){if(r.filter(e=>e==null).length>0)throw new Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that\n the f you passed encloses all operations that lead from x to y.`)}function GK(r){let e={x:v(r,\"x\",\"softplus\")};return _.runKernel(Va,e)}var Hs=N({softplus_:GK});function WK(r){let t=v(r,\"x\",\"logSigmoid\");return un(n=>({value:Yt(Hs(Yt(n))),gradFunc:i=>O(i,Kr(Yt(n)))}))(t)}var ry=N({logSigmoid_:WK});function UK(r,t){let e=v(r,\"a\",\"sub\"),n=v(t,\"b\",\"sub\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel(Bs,o)}var ut=N({sub_:UK});function HK(r,t=-1){let e=v(r,\"logits\",\"logSoftmax\");if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${e.rank} and axis was ${t}`);return un((o,s)=>{let a=Mr(o,t,!0),u=ut(o,a),l=ut(tt(u,\"float32\"),Sr(ft(or(u),t,!0)));return s([l]),{value:l,gradFunc:(p,m)=>{let[f]=m,d=!0,h=or(f);return ut(p,O(ft(p,t,d),h))}}})(e)}var ym=N({logSoftmax_:HK});function qK(r,t=null,e=!1){let n=v(r,\"x\",\"logSumExp\"),o=ur(t,n.shape),s=Mr(n,o,!0),i=ut(n,s),a=or(i),u=ft(a,o),l=Sr(u),c=J(F(s,l.shape),l);if(e){let p=xo(c.shape,o);return F(c,p)}return c}var bm=N({logSumExp_:qK});function KK(r,t){let e=v(r,\"a\",\"logicalAnd\",\"bool\"),n=v(t,\"b\",\"logicalAnd\",\"bool\");zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(_a,o)}var Dr=N({logicalAnd_:KK});function jK(r){let e={x:v(r,\"x\",\"logicalNot\",\"bool\")};return _.runKernel(Ea,e)}var tu=N({logicalNot_:jK});function XK(r,t){let e=v(r,\"a\",\"logicalOr\",\"bool\"),n=v(t,\"b\",\"logicalOr\",\"bool\");zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(Aa,o)}var wm=N({logicalOr_:XK});function YK(r,t){let e=v(r,\"a\",\"logicalXor\",\"bool\"),n=v(t,\"b\",\"logicalXor\",\"bool\");return zt(e.shape,n.shape),Dr(wm(r,t),tu(Dr(r,t)))}var ny=N({logicalXor_:YK});var oy=2147483648;function ZK(r,t,e=\"left\"){let n=v(r,\"sortedSequence\",\"searchSorted\"),o=v(t,\"values\",\"searchSorted\"),s=n.shape[n.shape.length-1],i=o.shape[o.shape.length-1],a=F(n,[-1,s]),u=F(o,[-1,i]);if(a.rank<2)throw new Error(\"Sorted input argument must be at least 2-dimensional\");if(a.shape[0]!==u.shape[0])throw new Error(\"Leading dimension of 'sortedSequence' and 'values' must match.\");if(Qt(u.shape)>=oy)throw new Error(`values tensor size must less than ${oy}`);if(a.shape[1]>=oy)throw new Error(`trailing dim_size must less than ${oy} for int32 output type, was ${a.shape[1]}`);let l={sortedSequence:a,values:u},c={side:e};return _.runKernel(Xp,l,c)}var Ch=N({searchSorted_:ZK});function cE(r,t){return Ch(r,t,\"left\")}function JK(r,t,e,n,o){let s=v(r,\"x\",\"maxPool\"),i=1,a=s,u=!1;s.rank===3&&(u=!0,a=F(s,[1,s.shape[0],s.shape[1],s.shape[2]])),A(a.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${a.rank}.`),A(Er(e,i),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${e} and dilations '${i}'`),Te(\"maxPool\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o},p=_.runKernel(gs,l,c);return u?F(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var eu=N({maxPool_:JK});function QK(r,t=[1,1,1],e,n,o,s=\"NDHWC\"){let i=v(r,\"x\",\"maxPool3d\"),a=i,u=!1;i.rank===4&&(u=!0,a=F(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),A(a.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${a.rank}.`),A(s===\"NDHWC\",()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${s}`),Te(\"maxPool3d\",n,o);let l={x:a},c={filterSize:t,strides:e,pad:n,dimRoundingMode:o,dataFormat:s},p=_.runKernel(Rl,l,c);return u?F(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}var sy=N({maxPool3d_:QK});function tj(r,t,e,n,o=!1){let i={x:v(r,\"x\",\"maxPoolWithArgmax\")},a={filterSize:t,strides:e,pad:n,includeBatchInIndex:o},u=_.runKernel(Wp,i,a);return{result:u[0],indexes:u[1]}}var pE=N({maxPoolWithArgmax_:tj});function ej(r,t){let e=v(r,\"a\",\"maximum\"),n=v(t,\"b\",\"maximum\");[e,n]=Xt(e,n),e.dtype===\"bool\"&&(e=tt(e,\"int32\"),n=tt(n,\"int32\")),zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(hs,o)}var Tn=N({maximum_:ej});function rj(r,t=null,e=!1){let o={x:v(r,\"x\",\"mean\")},s={axis:t,keepDims:e};return _.runKernel(xs,o,s)}var ke=N({mean_:rj});function _e(r,t=\"float32\"){if(t===\"complex64\"){let n=_e(r,\"float32\"),o=_e(r,\"float32\");return Cn(n,o)}let e=Cp(Qt(r),t);return _.makeTensor(e,r,t)}function cr(r,t=\"float32\"){if(t===\"complex64\"){let n=cr(r,\"float32\"),o=_e(r,\"float32\");return Cn(n,o)}let e=Qd(Qt(r),t);return _.makeTensor(e,r,t)}function mE(r,t,{indexing:e=\"xy\"}={}){if(e!==\"xy\"&&e!==\"ij\")throw new TypeError(`${e} is not a valid third argument to meshgrid`);if(r===void 0)return[];let n=v(r,\"x\",\"meshgrid\",r instanceof Lt?r.dtype:\"float32\");if(t===void 0)return[n];let o=v(t,\"y\",\"meshgrid\",t instanceof Lt?t.dtype:\"float32\"),s=Qt(n.shape),i=Qt(o.shape);return e===\"xy\"?(n=F(n,[1,-1]),o=F(o,[-1,1]),[Gt(cr([i,1],n.dtype),n),Gt(o,cr([1,s],o.dtype))]):(n=F(n,[-1,1]),o=F(o,[1,-1]),[Gt(n,cr([1,i],n.dtype)),Gt(cr([s,1],o.dtype),o)])}function nj(r,t){let e=v(r,\"a\",\"minimum\"),n=v(t,\"b\",\"minimum\");[e,n]=Xt(e,n),e.dtype===\"bool\"&&(e=tt(e,\"int32\"),n=tt(n,\"int32\")),zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(bs,o)}var Ui=N({minimum_:nj});function oj(r,t,e){A(e===\"reflect\"||e===\"symmetric\",()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${e}.`);let n=v(r,\"x\",\"mirrorPad\");if(n.rank===0)throw new Error(\"mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad\");A(t.length===n.rank,()=>`Padding doesn't match input. Must be ${n.rank}. Got ${t.length}.`);let o=e===\"reflect\"?1:0;for(let a=0;a\"Invalid number of paddings. Must be length of 2 each.\"),A(t[a][0]>=0&&t[a][0]<=n.shape[a]-o&&t[a][1]>=0&&t[a][1]<=n.shape[a]-o,()=>`Padding in dimension ${a} cannot be greater than or equal to ${n.shape[a]-o} or less than 0 for input of shape ${n.shape}`);let s={paddings:t,mode:e},i={x:n};return _.runKernel(ws,i,s)}var iy=N({mirrorPad_:oj});function sj(r,t){let e=v(r,\"a\",\"mod\"),n=v(t,\"b\",\"mod\");[e,n]=Xt(e,n);let o={a:e,b:n};return _.runKernel($a,o)}var ay=N({mod_:sj});function ij(r,t=null,e=!1){r=v(r,\"x\",\"moments\");let n=ur(t,r.shape),o=ke(r,n,e),s=o.shape;e||(s=xo(o.shape,n));let i=Ht(ut(tt(r,\"float32\"),F(o,s))),a=ke(i,n,e);return{mean:o,variance:a}}var oc=N({moments_:ij});function aj(r,t,e,n){let o=v(t,\"data\",\"multiRNNCell\"),s=ja(e,\"c\",\"multiRNNCell\"),i=ja(n,\"h\",\"multiRNNCell\"),a=o,u=[];for(let p=0;p2)throw new Error(`Rank of probabilities must be 1 or 2, but is ${i}`);e=e||Math.random();let u={logits:i===1?F(o,[1,-1]):o},l={numSamples:t,seed:e,normalized:n},c=_.runKernel(Up,u,l);return i===1?F(c,[c.size]):c}var dE=N({multinomial_:lj});function uj(r,t){let e=v(r,\"a\",\"notEqual\",\"string_or_numeric\"),n=v(t,\"b\",\"notEqual\",\"string_or_numeric\");[e,n]=Xt(e,n),zt(e.shape,n.shape);let o={a:e,b:n};return _.runKernel(Da,o)}var qs=N({notEqual_:uj});function cj(r){let e={x:v(r,\"x\",\"onesLike\")};return _.runKernel(xi,e)}var br=N({onesLike_:cj});function pj(r,t){let e=v(r,\"v1\",\"outerProduct\"),n=v(t,\"v2\",\"outerProduct\");A(e.rank===1&&n.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${e.rank} and ${n.rank}.`);let o=F(e,[-1,1]),s=F(n,[1,-1]);return Gt(o,s)}var hE=N({outerProduct_:pj});function mj(r,t,e=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:t,constantValue:e},s={x:n};return _.runKernel(Is,s,o)}var cn=N({pad_:mj});function fj(r,t,e=0){return A(t.length===2,()=>\"Invalid number of paddings. Must be length of 2.\"),cn(r,[t],e)}var gE=N({pad1d_:fj});function dj(r,t,e=0){return A(t.length===2&&t[0].length===2&&t[1].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),cn(r,t,e)}var xE=N({pad2d_:dj});function hj(r,t,e=0){return A(t.length===3&&t[0].length===2&&t[1].length===2&&t[2].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),cn(r,t,e)}var yE=N({pad3d_:hj});function gj(r,t,e=0){return A(t.length===4&&t[0].length===2&&t[1].length===2&&t[2].length===2&&t[3].length===2,()=>\"Invalid number of paddings. Must be length of 2 each.\"),cn(r,t,e)}var bE=N({pad4d_:gj});function xj(r,t,e){let n=v(r,\"x\",\"spaceToBatchND\");A(n.rank>=1+t.length,()=>`input rank ${n.rank} should be > than [blockShape] ${t.length}`),A(e.length===t.length,()=>`paddings.shape[0] ${e.length} must be equal to [blockShape] ${t.length}`),A(n.shape.reduce((i,a,u)=>u>0&&u<=t.length?i&&(a+e[u-1][0]+e[u-1][1])%t[u-1]===0:i,!0),()=>`input spatial dimensions ${n.shape.slice(1)} with paddings ${e.toString()} must be divisible by blockShapes ${t.toString()}`);let o={x:n},s={blockShape:t,paddings:e};return _.runKernel(vi,o,s)}var ru=N({spaceToBatchND_:xj});function yj(r,t,e,n,o,s,i){o==null&&(o=[1,1]),s==null&&(s=1),n===0&&(n=\"valid\");let a=v(r,\"x\",\"maxPool\"),u=a,l=!1;a.rank===3&&(l=!0,u=F(a,[1,a.shape[0],a.shape[1],a.shape[2]])),A(Er(s,o),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${s} and dilations '${o}'`);let c=aS(u.shape,t,s,o,n),p=[c.dilationHeight,c.dilationWidth],m;n===\"same\"?m=wj([c.filterHeight,c.filterWidth],p):m=[[0,0],[0,0]];let f=p[0]===1&&p[1]===1,[d,h]=bj([c.inHeight,c.inWidth],p,m),g=f?n:\"valid\",x=f?u:ru(u,p,d),w=(e===\"avg\"?()=>Xl(x,t,s,g,i):()=>eu(x,t,s,g,i))(),C=f?w:Yl(w,p,h);return l?F(C,[C.shape[1],C.shape[2],C.shape[3]]):C}function bj(r,t,e){let n=e.map(c=>c[0]),o=e.map(c=>c[1]),s=r.concat(n,o),i=t.map((c,p)=>(c-s[p]%c)%c),a=o.map((c,p)=>c+i[p]),u=t.map((c,p)=>[n[p],a[p]]),l=t.map((c,p)=>[0,i[p]]);return[u,l]}function wj(r,t){let n=r.map((i,a)=>i+(i-1)*(t[a]-1)).map(i=>i-1),o=n.map(i=>Math.floor(i/2)),s=n.map((i,a)=>i-o[a]);return n.map((i,a)=>[o[a],s[a]])}var ly=N({pool_:yj});function Cj(r,t){let e=v(r,\"x\",\"prelu\"),n=v(t,\"alpha\",\"prelu\"),o={x:e,alpha:n};return _.runKernel(Ts,o)}var nu=N({prelu_:Cj});function vj(r,t=null,e=!1){let n=v(r,\"x\",\"prod\");n.dtype===\"bool\"&&(n=tt(n,\"int32\"));let o={x:n},s={axis:t,keepDims:e};return _.runKernel(Ns,o,s)}var uy=N({prod_:vj});function Ij(r,t,e,n,o){let s=v(r,\"shape\",\"raggedTensorToTensor\",\"int32\"),i=v(t,\"values\",\"raggedTensorToTensor\"),a=v(e,\"defaultValue\",\"raggedTensorToTensor\",i.dtype),u=n.map((p,m)=>v(p,`tensors${m}`,\"raggedTensorToTensor\",\"int32\")),l={shape:s,values:i,defaultValue:a,rowPartitionTensors:u},c={rowPartitionTypes:o};return _.runKernel(Hp,l,c)}var wE=N({raggedTensorToTensor_:Ij});function Sj(r,t,e){let n=Qt(r),o=null;if(e==null||e===\"float32\")o=new Float32Array(n);else if(e===\"int32\")o=new Int32Array(n);else if(e===\"bool\")o=new Uint8Array(n);else throw new Error(`Unknown data type ${e}`);for(let s=0;s=1||i===0);let a=Math.sqrt(-2*Math.log(i)/i);t=this.mean+this.stdDev*o*a,e=this.mean+this.stdDev*s*a,(!this.truncated||this.isValidTruncated(t))&&(n=!0)}return(!this.truncated||this.isValidTruncated(e))&&(this.nextVal=this.convertValue(e)),this.convertValue(t)}convertValue(t){return this.dtype==null||this.dtype===\"float32\"?t:Math.round(t)}isValidTruncated(t){return t<=this.upper&&t>=this.lower}},py=class{constructor(t,e,n,o){this.alpha=t,this.beta=1/e,this.dtype=n;let s=o||Math.random();this.randu=fy.alea(s.toString()),this.randn=new ic(0,1,n,!1,this.randu()),t<1?this.d=t+2/3:this.d=t-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let t,e,n,o,s,i;for(;;){do o=this.randn.nextValue(),i=1+this.c*o;while(i<=0);if(i*=i*i,t=o*o,e=1-.331*t*t,n=.5*t+this.d*(1-i+Math.log(i)),s=this.randu(),sthis.dtype==null||this.dtype===\"float32\",this.min=t,this.range=e-t,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 ${t} - ${e} <= 1 and dtype is not float`);this.random=fy.alea(o)}convertValue(t){return this.canReturnFloat()?t:Math.round(t)}nextValue(){return this.convertValue(this.min+this.range*this.random())}};function $j(r,t,e=1,n=\"float32\",o){if(e==null&&(e=1),n==null&&(n=\"float32\"),n!==\"float32\"&&n!==\"int32\")throw new Error(`Unsupported data type ${n}`);let s=new py(t,e,n,o),i=vt(r,n);for(let a=0;a`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),pr(t,0)}var BE=N({reverse1d_:zj});function Bj(r,t){let e=v(r,\"x\",\"reverse\");return A(e.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${e.rank}.`),pr(e,t)}var VE=N({reverse2d_:Bj});function Vj(r,t){let e=v(r,\"x\",\"reverse\");return A(e.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${e.rank}.`),pr(e,t)}var GE=N({reverse3d_:Vj});function Gj(r,t){let e=v(r,\"x\",\"reverse\");return A(e.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${e.rank}.`),pr(e,t)}var WE=N({reverse4d_:Gj});function Wj(r){let e={x:v(r,\"x\",\"round\")};return _.runKernel(Ds,e)}var vm=N({round_:Wj});function Uj(r){let e={x:v(r,\"x\",\"rsqrt\",\"float32\")};return _.runKernel(Rs,e)}var Im=N({rsqrt_:Uj});function Hj(r){let e={x:v(r,\"x\",\"selu\")};return _.runKernel(Ma,e)}var Sm=N({selu_:Hj});function qj(r,t,e,n,o,s=[1,1],i=\"NHWC\"){let a=v(r,\"x\",\"separableConv2d\"),u=v(t,\"depthwiseFilter\",\"separableConv2d\"),l=v(e,\"pointwiseFilter\",\"separableConv2d\"),c=a,p=!1;if(a.rank===3&&(p=!0,c=F(a,[1,a.shape[0],a.shape[1],a.shape[2]])),i===\"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(u.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${u.rank}.`),A(l.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${u.rank}.`),A(l.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${l.shape[0]}.`),A(l.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${l.shape[1]}.`);let m=u.shape[2],f=u.shape[3];A(l.shape[2]===m*f,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${m*f}, but got ${l.shape[2]}.`);let d=zi(c,u,n,o,i,s),g=Sn(d,l,1,\"valid\",i);return p?F(g,[g.shape[1],g.shape[2],g.shape[3]]):g}var Tm=N({separableConv2d_:qj});async function Kj(r,t){let e=v(r,\"x\",\"setdiff1d\"),n=v(t,\"y\",\"setdiff1d\");A(e.dtype===n.dtype,()=>`x and y should have the same dtype, but got x (${e.dtype}) and y (${n.dtype}).`),A(e.rank===1,()=>`x should be 1D tensor, but got x (${e.shape}).`),A(n.rank===1,()=>`y should be 1D tensor, but got y (${n.shape}).`);let o=await e.data(),s=await n.data(),i=new Set(s),a=0;for(let c=0;c`slice1d expects a rank-1 tensor, but got a rank-${n.rank} tensor`),Ot(n,[t],[e])}var _m=N({slice1d_:Zj});function Jj(r,t,e){let n=v(r,\"x\",\"slice2d\");return A(n.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var Ih=N({slice2d_:Jj});function Qj(r,t,e){let n=v(r,\"x\",\"slice3d\");return A(n.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var Em=N({slice3d_:Qj});function t6(r,t,e){let n=v(r,\"x\",\"slice4d\");return A(n.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${n.rank} tensor`),Ot(n,t,e)}var lc=N({slice4d_:t6});function e6(r,t=-1){let e=v(r,\"logits\",\"softmax\",\"float32\");if(t===-1&&(t=e.rank-1),t!==e.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${e.rank} and dim was ${t}`);let n={logits:e},o={dim:t};return _.runKernel(Ms,n,o)}var su=N({softmax_:e6});function r6(r){A(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.fft() must be complex64 but got ${r.dtype}.`);let t={input:r};return _.runKernel(Pp,t)}var iu=N({fft_:r6});function n6(r){A(r.dtype===\"complex64\",()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${r.dtype}.`);let t={input:r};return _.runKernel(Lp,t)}var Qa=N({ifft_:n6});function o6(r){let t=r.shape[r.shape.length-1],e=r.size/t,n;if(t<=2){let o=F(r,[e,t]);n=Qa(o)}else{let o=[e,2*(t-1)],s=F(Za(r),[e,t]),i=F(jl(r),[e,t]),a=pr(Ot(s,[0,1],[e,t-2]),1),u=O(pr(Ot(i,[0,1],[e,t-2]),1),mt(-1)),l=se([s,a],1),c=se([i,u],1),p=F(Cn(l,c),[o[0],o[1]]);n=Qa(p)}if(n=Za(n),r.rank===3&&r.shape[0]!==0){let o=n,s=r.shape[0];n=F(n,[s,n.shape[0]/s,n.shape[1]]),o.dispose()}return n}var Am=N({irfft_:o6});function s6(r,t,e=0){let o={x:v(r,\"x\",\"split\")},s={numOrSizeSplits:t,axis:e};return _.runKernel(Ii,o,s)}var mr=N({split_:s6});function i6(r,t){A(r.dtype===\"float32\",()=>`The dtype for rfft() must be real value but got ${r.dtype}`);let e=r.shape[r.shape.length-1],n=r.size/e,o;if(t!=null&&t0),h=r.shape.map(g=>g);h[r.shape.length-1]=t,o=Ot(r,d,h),e=t}else if(t!=null&&t>e){let d=r.shape.map(h=>h);d[r.shape.length-1]=t-e,o=se([r,_e(d)],r.shape.length-1),e=t}else o=r;let s=St(o),i=F(Cn(o,s),[n,e]),a=iu(i),u=Math.floor(e/2)+1,l=Za(a),c=jl(a),p=mr(l,[u,e-u],l.shape.length-1),m=mr(c,[u,e-u],c.shape.length-1),f=o.shape.slice();return f[o.shape.length-1]=u,F(Cn(p[0],m[0]),f)}var au=N({rfft_:i6});function a6(r,t){let e=v(r,\"a\",\"squaredDifference\"),n=v(t,\"b\",\"squaredDifference\");[e,n]=Xt(e,n),zt(e.shape,n.shape);let o={a:e,b:n},s={};return _.runKernel(zs,o,s)}var $m=N({squaredDifference_:a6});function l6(r,t){let e=v(r,\"x\",\"squeeze\",\"string_or_numeric\");return F(e,m0(e.shape,t).newShape)}var Mn=N({squeeze_:l6});function u6(r,t=0){let e=ja(r,\"tensors\",\"stack\",\"string_or_numeric\");A(e.length>=1,()=>\"Pass at least one tensor to tf.stack\"),e.length>0&&A(t<=e[0].rank,()=>\"Axis must be <= rank of the tensor\");let n=e,o={axis:t};return _.runKernel(yi,n,o)}var sr=N({stack_:u6});function c6(r,t=0){let n={x:v(r,\"x\",\"step\")},o={alpha:t};return _.runKernel(co,n,o)}var yo=N({step_:c6});function p6(r,t,e,n,o=0,s=0,i=0,a=0,u=0){let c={x:v(r,\"x\",\"stridedSlice\",\"string_or_numeric\")},p={begin:t,end:e,strides:n,beginMask:o,endMask:s,ellipsisMask:i,newAxisMask:a,shrinkAxisMask:u};return _.runKernel(Wa,c,p)}var gy=N({stridedSlice_:p6});function m6(r){let e={x:v(r,\"x\",\"tan\",\"float32\")};return _.runKernel(Vs,e)}var xy=N({tan_:m6});function Ve(r,t){Kn(r);let e=Pr(r,t);if(e.length!==1)throw new Error(\"tensor1d() requires values to be a flat/TypedArray\");return sn(r,null,e,t)}function Ks(r,t,e){if(Kn(r),t!=null&&t.length!==2)throw new Error(\"tensor2d() requires shape to have two numbers\");let n=Pr(r,e);if(n.length!==2&&n.length!==1)throw new Error(\"tensor2d() requires values to be number[][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor2d() requires shape to be provided when `values` are a flat/TypedArray\");return sn(r,t,n,e)}function HE(r,t,e){if(Kn(r),t!=null&&t.length!==4)throw new Error(\"tensor4d() requires shape to have four numbers\");let n=Pr(r,e);if(n.length!==4&&n.length!==1)throw new Error(\"tensor4d() requires values to be number[][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor4d() requires shape to be provided when `values` are a flat array\");return sn(r,t,n,e)}function qE(r,t,e){if(Kn(r),t!=null&&t.length!==5)throw new Error(\"tensor5d() requires shape to have five numbers\");let n=Pr(r,e);if(n.length!==5&&n.length!==1)throw new Error(\"tensor5d() requires values to be number[][][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor5d() requires shape to be provided when `values` are a flat array\");return sn(r,t,n,e)}function KE(r,t,e){if(Kn(r),t!=null&&t.length!==6)throw new Error(\"tensor6d() requires shape to have six numbers\");let n=Pr(r,e);if(n.length!==6&&n.length!==1)throw new Error(\"tensor6d() requires values to be number[][][][][][] or flat/TypedArray\");if(n.length===1&&t==null)throw new Error(\"tensor6d() requires shape to be provided when `values` are a flat array\");return t=t||n,sn(r,t,n,e)}function f6(r,t=1,e=!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(t<0)throw new Error(`'k' passed to topk() must be >= 0 but got ${t}`);if(t>o)throw new Error(`'k' passed to topk() must be <= the last dimension (${o}) but got ${t}`);let s={x:n},i={k:t,sorted:e},[a,u]=_.runKernel(Ua,s,i);return{values:a,indices:u}}var yy=N({topk_:f6});function d6(r,t=0,e=1,n,o){if(n!=null&&n===\"bool\")throw new Error(\"Unsupported data type $ { dtype }\");let s=new ic(t,e,n,!0,o),i=vt(r,n);for(let a=0;a0,()=>\"The input tensor must be at least 1D\");let n={x:e},o={axis:t},[s,i]=_.runKernel(Zp,n,o);return{values:s,indices:i}}var by=N({unique_:h6});function g6(r,t,e){let n=v(r,\"x\",\"unsortedSegmentSum\"),o=v(t,\"segmentIds\",\"unsortedSegmentSum\",\"int32\");A(na(e),()=>\"numSegments must be of dtype int\");let s={x:n,segmentIds:o},i={numSegments:e};return _.runKernel(Gl,s,i)}var Rm=N({unsortedSegmentSum_:g6});function x6(r,t=0){let e=v(r,\"x\",\"unstack\",\"string_or_numeric\");A(t>=-e.shape.length&&t`Axis = ${t} is not in [-${e.shape.length}, ${e.shape.length})`);let n={value:e},o={axis:t};return _.runKernel(Si,n,o)}var Tr=N({unstack_:x6});function jE(r,t){return Ch(r,t,\"right\")}function wy(r,t=!0,e,n){return _.makeVariable(r,t,e,n)}function Cy(r,t){let e=[];for(let s=0;s0,()=>\"mask cannot be scalar\"),Fe(a.slice(s,s+i),o.shape,\"mask's shape must match the first K dimensions of tensor's shape,\");let u=1;for(let h=s;h\"Shape mismatch in v and x\");let u=mt(1),l=ut(u,a),c=O(ut(i,s),l);if(o){A(n!=null,()=>\"When using zeroDebias: true, step is required.\");let p=v(n,\"step\",\"movingAverage\");c=ct(c,ut(u,ln(a,p)))}return J(s,c)}var v6=N({movingAverage_:C6});function I6(r,t,e){let n=v(r,\"indices\",\"scatterND\",\"int32\"),o=v(t,\"updates\",\"scatterND\");bx(o,n,e);let s={indices:n,updates:o},i={shape:e};return _.runKernel(La,s,i)}var S6=N({scatterND_:I6});function XE(r,t,e,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(e.length!==s)throw new Error(`outputShape has incorrect number of elements:, ${e.length}, should be: ${s}.`);let i=t.size;if(!(t.rank===0||t.rank===1&&i===o))throw new Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${o}]`);if(t.dtype!==n.dtype)throw new Error(\"sparseValues.dtype must match defaultValues.dtype\")}function N6(r,t,e,n=0){let o=v(r,\"sparseIndices\",\"sparseToDense\",\"int32\"),s=v(t,\"sparseValues\",\"sparseToDense\",\"string_or_numeric\"),i=v(n,\"defaultValue\",\"sparseToDense\",s.dtype);XE(o,s,e,i);let a={sparseIndices:o,sparseValues:s,defaultValue:i},u={outputShape:e};return _.runKernel(Yp,a,u)}var k6=N({sparseToDense_:N6});function _6(r,t){let e=v(t,\"indices\",\"gatherND\",\"int32\"),o={params:v(r,\"x\",\"gatherND\",\"string_or_numeric\"),indices:e};return _.runKernel(wa,o)}var E6=N({gatherND_:_6});function YE(r,t){if(t==null)return r.shape.slice();if(Rn(r.shape,t))return t;if(r.shape.length===t.length){let e=[];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(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return r instanceof Lt?o.clone():o;let s=YE(o,e),i=1-t,a=ct(Gi(J(Hi(s,0,1,\"float32\",n),i)),i);return O(o,a)}var bS=N({dropout_:A6});function wS(r){return Math.floor(Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))))}function Sh(r,t,e){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}`),Fe(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(e>0&&e<=s,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${s}), but got ${e}`);let i=await n.data(),a=await o.data(),[u,l]=[i.length/s,s],c=f0(\"bool\",u);for(let p=0;pg.value-h.value),c[p]=0;for(let h=0;hZE,depthwiseConv2d:()=>JE,matMul:()=>QE});function R6(r,t,e,n,o,s=\"NHWC\",i){let a=r;r.rank===3&&(a=F(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let u=t;u.rank===3&&(u=F(t,[1,t.shape[0],t.shape[1],t.shape[2]])),A(a.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${a.shape}.`),A(u.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${u.shape}.`),A(e.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${e}.`);let l=s===\"NHWC\"?a.shape[3]:a.shape[1],c=s===\"NHWC\"?u.shape[3]:u.shape[1];A(l===e[2],()=>`Error in conv2dDerFilter: depth of input ${l}) must match input depth in filter (${e[2]}.`),A(c===e[3],()=>`Error in conv2dDerFilter: depth of dy (${c}) must match output depth for filter (${e[3]}).`),Te(\"conv2dDerFilter\",o,i);let p={x:a,dy:u},m={strides:n,pad:o,dataFormat:s,dimRoundingMode:i,filterShape:e};return _.runKernel(kp,p,m)}var Fm=N({conv2DBackpropFilter_:R6});function uc(r,t,e){if(e==null||e===\"linear\")return r;if(e===\"relu\")return O(r,yo(t));throw new Error(`Cannot compute gradient for fused activation ${e}.`)}function cc(r,t){let e=t,n=ye(r.shape,t.shape);return n.length>0&&(e=ft(e,n)),F(e,r.shape)}function pc(r,t,e,n){if(t===\"linear\")return r;if(t===\"relu\")return Rr(r);if(t===\"elu\")return Bi(r);if(t===\"relu6\")return Cm(r);if(t===\"prelu\")return nu(r,e);if(t===\"leakyrelu\")return Jl(r,n);if(t===\"sigmoid\")return Kr(r);throw new Error(`Unknown fused activation ${t}.`)}var mc=(r,t)=>!(r>0)||t===\"linear\";function F6({x:r,filter:t,strides:e,pad:n,dataFormat:o=\"NHWC\",dilations:s=[1,1],dimRoundingMode:i,bias:a,activation:u=\"linear\",preluActivationWeights:l,leakyreluAlpha:c}){if(u=u||\"linear\",mc(_.state.gradientDepth,u)===!1){A(o===\"NHWC\",()=>`Error in fused conv2d: got dataFormat of ${o} but only NHWC is currently supported for the case of gradient depth is 0 and the activation is not linear.`);let E=Sn(r,t,e,n,o,s,i);return a!=null&&(E=J(E,a)),pc(E,u,l,c)}let p=v(r,\"x\",\"conv2d\",\"float32\"),m=v(t,\"filter\",\"conv2d\",\"float32\"),f=p,d=!1;p.rank===3&&(d=!0,f=F(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}.`),Te(\"fused conv2d\",n,i);let h=o===\"NHWC\"?f.shape[3]:f.shape[1];A(m.shape[2]===h,()=>`Error in conv2d: depth of input (${h}) must match input depth for filter ${m.shape[2]}.`),A(Er(e,s),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`);let g=tc(f.shape,m.shape,e,s,n,i),x;a!=null&&(x=v(a,\"bias\",\"fused conv2d\"),[x]=Xt(x,p),o===\"NHWC\"?zt(g.outShape,x.shape):(A(x.shape.length<=1,()=>`Error in fused conv2d: only supports scalar or 1-D Tensor bias for NCHW format but got the bias of rank-${x.shape.length}.`),A(x.shape.length===0||x.shape[0]===g.outChannels||x.shape[0]===1,()=>`Error in fused conv2d: bias shape (${x.shape}) is not compatible with the number of output channels (${g.outChannels})`)));let b;if(l!=null){let E=l.shape;if(A(E.length<=1||E.length===3,()=>`Error in fused conv2d: only supports scalar, 1-D Tensor or 3-D Tensor PReLU activation weights but got a tensor of rank-${E.length}.`),E.length===1)A(E[0]===1||E[0]===g.outChannels,()=>`Error in fused conv2d: PReLU activation weights (${E}) is not compatible with the number of output channels (${g.outChannels}).`);else if(E.length===3)try{zt(E,g.outShape)}catch($){let D=`Error in fused conv2d: PReLU activation weights (${E}) is not compatible with the output shape of the conv2d (${g.outShape}).`;throw Error(D)}b=v(l,\"prelu weights\",\"fused conv2d\")}let w=(E,$)=>{A(o===\"NHWC\",()=>`Error in gradient of fused conv2D: got dataFormat of ${o} but only NHWC is currently supported.`);let[D,P,M,W]=$,H=uc(E,M,u);A(Jn(s),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`);let q=fm(P.shape,H,D,e,n),X=Fm(P,H,D.shape,e,n),j=[q,X];if(W!=null){let Z=cc(W,H);j.push(Z)}return j},C={x:f,filter:m,bias:x,preluActivationWeights:b},T={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:c};return a==null?un(($,D,P)=>{let M=_.runKernel(ki,C,T);return P([D,$,M]),d&&(M=F(M,[M.shape[1],M.shape[2],M.shape[3]])),{value:M,gradFunc:w}})(f,m):un(($,D,P,M)=>{let W=_.runKernel(ki,C,T);return M([D,$,W,P]),d&&(W=F(W,[W.shape[1],W.shape[2],W.shape[3]])),{value:W,gradFunc:w}})(f,m,x)}var ZE=N({fusedConv2d_:F6});function O6(r,t,e,n,o,s=[1,1],i){let a=r;r.rank===3&&(a=F(r,[1,r.shape[0],r.shape[1],r.shape[2]]));let u=t;u.rank===3&&(u=F(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={x:a,dy:u},c={strides:n,pad:o,dimRoundingMode:i,dilations:s,filterShape:e};return _.runKernel($p,l,c)}var Iy=N({depthwiseConv2dNativeBackpropFilter_:O6});function P6(r,t,e,n,o,s=[1,1],i){let a=t,u=!1;t.rank===3&&(u=!0,a=F(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={dy:a,filter:e},c={strides:n,pad:o,dimRoundingMode:i,dilations:s,inputShape:r},p=_.runKernel(Dp,l,c);return u?F(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var Sy=N({depthwiseConv2dNativeBackpropInput_:P6});function L6({x:r,filter:t,strides:e,pad:n,dataFormat:o=\"NHWC\",dilations:s=[1,1],dimRoundingMode:i,bias:a,activation:u=\"linear\",preluActivationWeights:l,leakyreluAlpha:c}){if(mc(_.state.gradientDepth,u)===!1){let T=zi(r,t,e,n,o,s,i);return a!=null&&(T=J(T,a)),pc(T,u,l,c)}let p=v(r,\"x\",\"depthwiseConv2d\",\"float32\"),m=v(t,\"filter\",\"depthwiseConv2d\",\"float32\"),f=p,d=!1;p.rank===3&&(d=!0,f=F(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(Er(e,s),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${e} and dilations '${s}'`),Te(\"fused depthwiseConv2d\",n,i);let h=tc(f.shape,m.shape,e,s,n,i,!0),g;a!=null&&(g=v(a,\"bias\",\"fused conv2d\"),[g]=Xt(g,p),zt(h.outShape,g.shape));let x;l!=null&&(x=v(l,\"prelu weights\",\"fused depthwiseConv2d\"));let b=(T,E)=>{A(Jn(s),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${s}'`);let[$,D,P,M]=E,W=uc(T,P,u),H=Sy(D.shape,W,$,e,n,s,i),q=Iy(D,W,$.shape,e,n,s,i);if(M!=null){let X=cc(g,W);return[H,q,X]}return[H,q]},w={x:f,filter:m,bias:g,preluActivationWeights:x},C={strides:e,pad:n,dataFormat:o,dilations:s,dimRoundingMode:i,activation:u,leakyreluAlpha:c};return a==null?un((E,$,D)=>{let P=_.runKernel(_i,w,C);return D([$,E,P]),d&&(P=F(P,[P.shape[1],P.shape[2],P.shape[3]])),{value:P,gradFunc:b}})(f,m):un((E,$,D,P)=>{let M=_.runKernel(_i,w,C);return P([$,E,M,D]),d&&(M=F(M,[M.shape[1],M.shape[2],M.shape[3]])),{value:M,gradFunc:b}})(f,m,g)}var JE=N({fusedDepthwiseConv2d_:L6});function M6({a:r,b:t,transposeA:e=!1,transposeB:n=!1,bias:o,activation:s=\"linear\",preluActivationWeights:i,leakyreluAlpha:a=.2}){if(mc(_.state.gradientDepth,s)===!1){let W=Gt(r,t,e,n);return o!=null&&(W=J(W,o)),pc(W,s,i,a)}let u=v(r,\"a\",\"fused matMul\"),l=v(t,\"b\",\"fused matMul\");[u,l]=Xt(u,l);let c=e?u.shape[u.rank-2]:u.shape[u.rank-1],p=n?l.shape[l.rank-1]:l.shape[l.rank-2],m=e?u.shape[u.rank-1]:u.shape[u.rank-2],f=n?l.shape[l.rank-2]:l.shape[l.rank-1],d=u.shape.slice(0,-2),h=l.shape.slice(0,-2),g=Qt(d),x=Qt(h);A(c===p,()=>`Error in fused matMul: inner shapes (${c}) and (${p}) of Tensors with shapes ${u.shape} and ${l.shape} and transposeA=${e} and transposeB=${n} must match.`);let w=zt(u.shape.slice(0,-2),l.shape.slice(0,-2)).concat([m,f]),C=e?F(u,[g,c,m]):F(u,[g,m,c]),T=n?F(l,[x,f,p]):F(l,[x,p,f]),E;o!=null&&(E=v(o,\"bias\",\"fused matMul\"),[E]=Xt(E,u),zt(w,E.shape));let $;i!=null&&($=v(i,\"prelu weights\",\"fused matMul\"));let D=(W,H)=>{let[q,X,j,Z]=H,et=uc(F(W,j.shape),j,s),K,ot;if(!e&&!n?(K=Gt(et,X,!1,!0),ot=Gt(q,et,!0,!1)):!e&&n?(K=Gt(et,X,!1,!1),ot=Gt(et,q,!0,!1)):e&&!n?(K=Gt(X,et,!1,!0),ot=Gt(q,et,!1,!1)):(K=Gt(X,et,!0,!0),ot=Gt(et,q,!0,!0)),o!=null){let st=cc(Z,et);return[K,ot,st]}else return[K,ot]},P={a:C,b:T,bias:E,preluActivationWeights:$},M={transposeA:e,transposeB:n,activation:s,leakyreluAlpha:a};return o==null?un((H,q,X)=>{let j=_.runKernel(Ni,P,M);return X([H,q,j]),{value:F(j,w),gradFunc:D}})(C,T):un((H,q,X,j)=>{let Z=_.runKernel(Ni,P,M);return j([H,q,Z,X]),{value:F(Z,w),gradFunc:D}})(C,T,E)}var QE=N({fusedMatMul_:M6});function z6(r){return Sh(r,.54,.46)}var tA=N({hammingWindow_:z6});function B6(r){return Sh(r,.5,.5)}var Ty=N({hannWindow_:B6});function V6(r,t,e,n=!1,o=0){let s=0,i=[];for(;s+t<=r.size;)i.push(Ot(r,s,t)),s+=e;if(n)for(;s`Error in cropAndResize: image must be rank 4,but got rank ${i.rank}.`),A(a.rank===2&&a.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${l},4] but had shape ${a.shape}.`),A(u.rank===1&&u.shape[0]===l,()=>`Error in cropAndResize: boxInd must be have size [${l}] but had shape ${a.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:i,boxes:a,boxInd:u},p={method:o,extrapolationValue:s,cropSize:n};return _.runKernel(da,c,p)}var rA=N({cropAndResize_:W6});function U6(r){let t=v(r,\"image\",\"flipLeftRight\",\"float32\");A(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);let e={image:t};return _.runKernel(ba,e,{})}var nA=N({flipLeftRight_:U6});function H6(r){let t=v(r,\"image\",\"grayscaleToRGB\"),e=t.rank-1,n=t.shape[e];A(t.rank>=2,()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${t.rank}.`),A(n===1,()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${n}.`);let o=new Array(t.rank);return o.fill(1,0,e),o[e]=3,$r(t,o)}var oA=N({grayscaleToRGB_:H6});function q6(r,t,e=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},i={radians:t,fillValue:e,center:n};return _.runKernel(qa,s,i)}var sA=N({rotateWithOffset_:q6});function bo(r,t,e,n,o,s){n==null&&(n=.5),o==null&&(o=Number.NEGATIVE_INFINITY),s==null&&(s=0);let i=r.shape[0];return e=Math.min(e,i),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(t.rank===1,()=>\"scores must be a 1D tensor\"),A(t.shape[0]===i,()=>`scores has incompatible shape with boxes. Expected ${i}, but was ${t.shape[0]}`),A(0<=s&&s<=1,()=>`softNmsSigma must be in [0, 1], but was '${s}'`),{maxOutputSize:e,iouThreshold:n,scoreThreshold:o,softNmsSigma:s}}function K6(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY){let s=v(r,\"boxes\",\"nonMaxSuppression\",\"float32\"),i=v(t,\"scores\",\"nonMaxSuppression\",\"float32\"),a=bo(s,i,e,n,o);e=a.maxOutputSize,n=a.iouThreshold,o=a.scoreThreshold;let u={maxOutputSize:e,iouThreshold:n,scoreThreshold:o};return _.runKernel(Ra,{boxes:s,scores:i},u)}var iA=N({nonMaxSuppression_:K6});function aA(r,t,e){let n=j6(r,t,e),o=n<0?-(n+1):n;r.splice(o,0,t)}function j6(r,t,e){return Y6(r,t,e||X6)}function X6(r,t){return r>t?1:r>>1);let a=e(t,r[s]);a>0?n=s+1:(o=s,i=!a)}return i?n:-n-1}function ky(r,t,e,n,o){return CS(r,t,e,n,o,0)}function _y(r,t,e,n,o,s){return CS(r,t,e,n,o,0,!1,s,!0)}function Ey(r,t,e,n,o,s){return CS(r,t,e,n,o,s,!0)}function CS(r,t,e,n,o,s,i=!1,a=!1,u=!1){let l=[];for(let g=0;go&&l.push({score:t[g],boxIndex:g,suppressBeginIndex:0});l.sort(lA);let c=s>0?-.5/s:0,p=[],m=[];for(;p.length0;){let g=l.pop(),{score:x,boxIndex:b,suppressBeginIndex:w}=g;if(x=w;--T){let E=Z6(r,b,p[T]);if(E>=n){C=!0;break}if(g.score=g.score*J6(n,c,E),g.score<=o)break}g.suppressBeginIndex=p.length,C||(g.score===x?(p.push(b),m.push(g.score)):g.score>o&&aA(l,g,lA))}let f=p.length,d=e-f;a&&d>0&&(p.push(...new Array(d).fill(0)),m.push(...new Array(d).fill(0)));let h={selectedIndices:p};return i&&(h.selectedScores=m),u&&(h.validOutputs=f),h}function Z6(r,t,e){let n=r.subarray(t*4,t*4+4),o=r.subarray(e*4,e*4+4),s=Math.min(n[0],n[2]),i=Math.min(n[1],n[3]),a=Math.max(n[0],n[2]),u=Math.max(n[1],n[3]),l=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=(a-s)*(u-i),d=(p-l)*(m-c);if(f<=0||d<=0)return 0;let h=Math.max(s,l),g=Math.max(i,c),x=Math.min(a,p),b=Math.min(u,m),w=Math.max(x-h,0)*Math.max(b-g,0);return w/(f+d-w)}function J6(r,t,e){let n=Math.exp(t*e*e);return e<=r?n:0}function lA(r,t){return r.score-t.score||r.score===t.score&&t.boxIndex-r.boxIndex}async function Q6(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY){let s=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),i=v(t,\"scores\",\"nonMaxSuppressionAsync\"),a=bo(s,i,e,n,o);e=a.maxOutputSize,n=a.iouThreshold,o=a.scoreThreshold;let u=await Promise.all([s.data(),i.data()]),l=u[0],c=u[1],{selectedIndices:p}=ky(l,c,e,n,o);return s!==r&&s.dispose(),i!==t&&i.dispose(),Ve(p,\"int32\")}var uA=Q6;function t5(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let i=v(r,\"boxes\",\"nonMaxSuppression\"),a=v(t,\"scores\",\"nonMaxSuppression\"),u=bo(i,a,e,n,o,s);e=u.maxOutputSize,n=u.iouThreshold,o=u.scoreThreshold,s=u.softNmsSigma;let l={boxes:i,scores:a},c={maxOutputSize:e,iouThreshold:n,scoreThreshold:o,softNmsSigma:s},p=_.runKernel(Oa,l,c);return{selectedIndices:p[0],selectedScores:p[1]}}var cA=N({nonMaxSuppressionWithScore_:t5});async function e5(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=0){let i=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=v(t,\"scores\",\"nonMaxSuppressionAsync\"),u=bo(i,a,e,n,o,s);e=u.maxOutputSize,n=u.iouThreshold,o=u.scoreThreshold,s=u.softNmsSigma;let l=await Promise.all([i.data(),a.data()]),c=l[0],p=l[1],{selectedIndices:m,selectedScores:f}=Ey(c,p,e,n,o,s);return i!==r&&i.dispose(),a!==t&&a.dispose(),{selectedIndices:Ve(m,\"int32\"),selectedScores:Ve(f)}}var pA=e5;function r5(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let i=v(r,\"boxes\",\"nonMaxSuppression\"),a=v(t,\"scores\",\"nonMaxSuppression\"),u=bo(i,a,e,n,o,null),l=u.maxOutputSize,c=u.iouThreshold,p=u.scoreThreshold,m={boxes:i,scores:a},f={maxOutputSize:l,iouThreshold:c,scoreThreshold:p,padToMaxOutputSize:s},d=_.runKernel(Fa,m,f);return{selectedIndices:d[0],validOutputs:d[1]}}var mA=N({nonMaxSuppressionPadded_:r5});async function n5(r,t,e,n=.5,o=Number.NEGATIVE_INFINITY,s=!1){let i=v(r,\"boxes\",\"nonMaxSuppressionAsync\"),a=v(t,\"scores\",\"nonMaxSuppressionAsync\"),u=bo(i,a,e,n,o,null),l=u.maxOutputSize,c=u.iouThreshold,p=u.scoreThreshold,[m,f]=await Promise.all([i.data(),a.data()]),{selectedIndices:d,validOutputs:h}=_y(m,f,l,c,p,s);return i!==r&&i.dispose(),a!==t&&a.dispose(),{selectedIndices:Ve(d,\"int32\"),validOutputs:mt(h,\"int32\")}}var fA=n5;function o5(r,t,e=!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(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`),A(n===!1||e===!1,()=>\"Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.\");let s=o,i=!1;o.rank===3&&(i=!0,s=F(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=t,a={images:s},u={alignCorners:e,halfPixelCenters:n,size:t},l=_.runKernel(Es,a,u);return i?F(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var Ay=N({resizeBilinear_:o5});function s5(r,t,e=!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(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),A(o.dtype===\"float32\"||o.dtype===\"int32\",()=>\"`images` must have `int32` or `float32` as dtype\"),A(n===!1||e===!1,()=>\"Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.\");let s=o,i=!1;o.rank===3&&(i=!0,s=F(o,[1,o.shape[0],o.shape[1],o.shape[2]]));let[]=t,a={images:s},u={alignCorners:e,halfPixelCenters:n,size:t},l=_.runKernel(_s,a,u);return i?F(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var $y=N({resizeNearestNeighbor_:s5});function i5(r,t=\"binary\",e=!1,n=.5){let o=v(r,\"image\",\"threshold\"),s=.2989,i=.587,a=.114,u=o.shape[0]*o.shape[1],l=O(Ve([n]),255),c,p,m,f;if(A(o.rank===3,()=>`Error in threshold: image must be rank 3,but got rank ${o.rank}.`),A(o.shape[2]===3||o.shape[2]===1,()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${o.shape[2]}.`),A(o.dtype===\"int32\"||o.dtype===\"float32\",()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${o.dtype}.`),A(t===\"otsu\"||t===\"binary\",()=>`Method must be binary or otsu, but was ${t}`),o.shape[2]===3){[c,p,m]=mr(o,[1,1,1],-1);let g=O(c,s),x=O(p,i),b=O(m,a);f=J(J(g,x),b)}else f=r;if(t===\"otsu\"){let g=Fx(tt(vm(f),\"int32\"),vr([]),256);l=a5(g,u)}let d=e?Ln(f,l):Xe(f,l);return tt(O(d,255),\"int32\")}function a5(r,t){let e=Ve([-1]),n=Ve([0]),o=Ve([0]),s,i,a,u,l,c;for(let p=0;p`Error in transform: image must be rank 4,but got rank ${i.rank}.`),A(a.rank===2&&(a.shape[0]===i.shape[0]||a.shape[0]===1)&&a.shape[1]===8,()=>\"Error in transform: Input transform should be batch x 8 or 1 x 8\"),A(s==null||s.length===2,()=>`Error in transform: outputShape must be [height, width] or null, but got ${s}.`);let u={image:i,transforms:a},l={interpolation:e,fillMode:n,fillValue:o,outputShape:s};return _.runKernel(Ha,u,l)}var hA=N({transform_:l5});function u5(r,t,e){A(t%1===0,()=>`bandPart(): numLower must be an integer, got ${t}.`),A(e%1===0,()=>`bandPart(): numUpper must be an integer, got ${e}.`);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,i]=n.shape.slice(-2);if(!(t<=s))throw new Error(`bandPart(): numLower (${t}) must not be greater than the number of rows (${s}).`);if(!(e<=i))throw new Error(`bandPart(): numUpper (${e}) must not be greater than the number of columns (${i}).`);t<0&&(t=s),e<0&&(e=i);let a=F(ou(0,s,1,\"int32\"),[-1,1]),u=ou(0,i,1,\"int32\"),l=ut(a,u),c=Dr(Ln(l,mt(+t,\"int32\")),Pn(l,mt(-e,\"int32\"))),p=_e([s,i],n.dtype);return F(sr(Tr(F(n,[-1,s,i])).map(m=>De(c,m,p))),o)}var gA=N({bandPart_:u5});function c5(r){let t;if(Array.isArray(r)){t=!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 t=!0,r=mr(r,r.shape[0],0).map(o=>Mn(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 e=[],n=r;for(let o=0;o{let s=n[o];if(o>0)for(let i=0;i=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${r.rank}`),r.rank===2)return yA(r,t);{let e=r.shape.slice(0,r.shape.length-2).reduce((u,l)=>u*l),n=Tr(F(r,[e,r.shape[r.shape.length-2],r.shape[r.shape.length-1]]),0),o=[],s=[];n.forEach(u=>{let[l,c]=yA(u,t);o.push(l),s.push(c)});let i=F(sr(o,0),r.shape),a=F(sr(s,0),r.shape);return[i,a]}}function yA(r,t=!1){return _.tidy(()=>{A(r.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${r.shape.length}D Tensor.`);let e=r.shape[0],n=r.shape[1],o=nc(e),s=an(r),i=Ks([[1]],[1,1]),a=an(i),u=e>=n?n:e;for(let l=0;l{let f=Ot(s,[l,l],[e-l,1]),d=Ja(f),h=Ot(s,[l,l],[1,1]),g=De(Xe(h,0),Ks([[-1]]),Ks([[1]])),x=ut(h,O(g,d)),b=ct(f,x);b.shape[0]===1?a=an(i):a=se([i,Ot(b,[1,0],[b.shape[0]-1,b.shape[1]])],0);let w=Yt(ct(Gt(g,x),d)),C=Ot(s,[l,0],[e-l,n]),T=O(w,a),E=Mt(a);if(l===0)s=ut(C,Gt(T,Gt(E,C)));else{let P=ut(C,Gt(T,Gt(E,C)));s=se([Ot(s,[0,0],[l,n]),P],0)}let $=Mt(T),D=Ot(o,[0,l],[e,o.shape[1]-l]);if(l===0)o=ut(D,Gt(Gt(D,a),$));else{let P=ut(D,Gt(Gt(D,a),$));o=se([Ot(o,[0,0],[e,l]),P],1)}return[a,s,o]}),_t([c,p,m])}return!t&&e>n&&(o=Ot(o,[0,0],[e,n]),s=Ot(s,[0,0],[n,n])),[o,s]})}var bA=N({qr_:p5});var Ye;(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\"})(Ye||(Ye={}));function m5(r,t,e=Ye.SUM_BY_NONZERO_WEIGHTS){let n=v(r,\"losses\",\"computeWeightedLoss\"),o=null;t!=null&&(o=v(t,\"weights\",\"computeWeightedLoss\"));let s=o==null?n:O(n,o);if(e===Ye.NONE)return s;if(e===Ye.SUM)return ft(s);if(e===Ye.MEAN){if(o==null)return ke(s);{let i=n.size/o.size,a=ct(ft(s),ft(o));return i>1?ct(a,mt(i)):a}}if(e===Ye.SUM_BY_NONZERO_WEIGHTS){if(o==null)return ct(ft(s),mt(n.size));{let i=O(o,cr(n.shape)),a=tt(ft(qs(i,mt(0))),\"float32\");return ct(ft(s),a)}}throw Error(`Unknown reduction: ${e}`)}var zr=N({computeWeightedLoss_:m5});function f5(r,t,e,n=Ye.SUM_BY_NONZERO_WEIGHTS){let o=v(r,\"labels\",\"absoluteDifference\"),s=v(t,\"predictions\",\"absoluteDifference\"),i=null;e!=null&&(i=v(e,\"weights\",\"absoluteDifference\")),Fe(o.shape,s.shape,\"Error in absoluteDifference: \");let a=$e(ut(o,s));return zr(a,i,n)}var wA=N({absoluteDifference_:f5});function d5(r,t,e,n,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"cosineDistance\"),i=v(t,\"predictions\",\"cosineDistance\"),a=null;n!=null&&(a=v(n,\"weights\",\"cosineDistance\")),Fe(s.shape,i.shape,\"Error in cosineDistance: \");let u=mt(1),l=ut(u,ft(O(s,i),e,!0));return zr(l,a,o)}var CA=N({cosineDistance_:d5});function h5(r,t,e,n=Ye.SUM_BY_NONZERO_WEIGHTS){let o=v(r,\"labels\",\"hingeLoss\"),s=v(t,\"predictions\",\"hingeLoss\"),i=null;e!=null&&(i=v(e,\"weights\",\"hingeLoss\")),Fe(o.shape,s.shape,\"Error in hingeLoss: \");let a=mt(1);o=ut(O(mt(2),o),a);let u=Rr(ut(a,O(o,s)));return zr(u,i,n)}var vA=N({hingeLoss_:h5});function g5(r,t,e,n=1,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"huberLoss\"),i=v(t,\"predictions\",\"huberLoss\"),a=null;e!=null&&(a=v(e,\"weights\",\"huberLoss\")),Fe(s.shape,i.shape,\"Error in huberLoss: \");let u=mt(n),l=$e(ut(i,s)),c=Ui(l,u),p=ut(l,c),m=J(O(mt(.5),Ht(c)),O(u,p));return zr(m,a,o)}var IA=N({huberLoss_:g5});function x5(r,t,e,n=1e-7,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"labels\",\"logLoss\"),i=v(t,\"predictions\",\"logLoss\"),a=null;e!=null&&(a=v(e,\"weights\",\"logLoss\")),Fe(s.shape,i.shape,\"Error in logLoss: \");let u=mt(1),l=mt(n),c=Yt(O(s,Sr(J(i,l)))),p=O(ut(u,s),Sr(J(ut(u,i),l))),m=ut(c,p);return zr(m,a,o)}var SA=N({logLoss_:x5});function y5(r,t,e,n=Ye.SUM_BY_NONZERO_WEIGHTS){let o=v(r,\"labels\",\"meanSquaredError\"),s=v(t,\"predictions\",\"meanSquaredError\"),i=null;e!=null&&(i=v(e,\"weights\",\"meanSquaredError\")),Fe(o.shape,s.shape,\"Error in meanSquaredError: \");let a=$m(o,s);return zr(a,i,n)}var TA=N({meanSquaredError_:y5});function b5(r,t){let e=v(r,\"labels\",\"sigmoidCrossEntropyWithLogits\"),n=v(t,\"logits\",\"sigmoidCrossEntropyWithLogits\");Fe(e.shape,n.shape,\"Error in sigmoidCrossEntropyWithLogits: \");let o=Rr(n),s=O(n,e),i=Ql(or(Yt($e(n))));return J(ut(o,s),i)}function w5(r,t,e,n=0,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"multiClassLabels\",\"sigmoidCrossEntropy\"),i=v(t,\"logits\",\"sigmoidCrossEntropy\"),a=null;if(e!=null&&(a=v(e,\"weights\",\"sigmoidCrossEntropy\")),Fe(s.shape,i.shape,\"Error in sigmoidCrossEntropy: \"),n>0){let l=mt(n),c=mt(1),p=mt(.5);s=J(O(s,ut(c,l)),O(p,l))}let u=b5(s,i);return zr(u,a,o)}var NA=N({sigmoidCrossEntropy_:w5});function C5(r,t,e=-1){if(e===-1&&(e=t.rank-1),e!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${e}`);return un((o,s,i)=>{let u=bm(s,[e],!0),l=ut(tt(s,\"float32\"),u);i([o,l]);let c=Yt(O(l,o));return{value:ft(c,[e]),gradFunc:(f,d)=>{let[h,g]=d,x=xo(f.shape,[e]);return[O(F(f,x),ut(tt(h,\"float32\"),or(g))),O(F(f,x),ut(or(g),tt(h,\"float32\")))]}}})(r,t)}function v5(r,t,e,n=0,o=Ye.SUM_BY_NONZERO_WEIGHTS){let s=v(r,\"onehotLabels\",\"softmaxCrossEntropy\"),i=v(t,\"logits\",\"softmaxCrossEntropy\"),a=null;if(e!=null&&(a=v(e,\"weights\",\"softmaxCrossEntropy\")),Fe(s.shape,i.shape,\"Error in softmaxCrossEntropy: \"),n>0){let l=mt(n),c=mt(1),p=mt(s.shape[1]);s=J(O(s,ut(c,l)),ct(l,p))}let u=C5(s,i);return zr(u,a,o)}var kA=N({softmaxCrossEntropy_:v5});function I5(r,t,e,n){let o=v(r,\"indices\",\"sparseFillEmptyRows\",\"int32\"),s=v(t,\"values\",\"sparseFillEmptyRows\"),i=v(e,\"denseShape\",\"sparseFillEmptyRows\",\"int32\"),a=v(n,\"defaultValue\",\"sparseFillEmptyRows\",s.dtype);if(o.rank!==2)throw new Error(`Indices should be Tensor2D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Values should be Tensor1D but received shape ${s.shape}`);if(i.rank!==1)throw new Error(`Dense shape should be Tensor1D but received shape ${i.shape}`);if(a.rank!==0)throw new Error(`Default value should be a scalar but received shape ${a.shape}`);let u={indices:o,values:s,denseShape:i,defaultValue:a},l=_.runKernel(Ol,u);return{outputIndices:l[0],outputValues:l[1],emptyRowIndicator:l[2],reverseIndexMap:l[3]}}var _A=N({sparseFillEmptyRows_:I5});function S5(r,t,e){let n=v(r,\"inputIndices\",\"sparseReshape\",\"int32\"),o=v(t,\"inputShape\",\"sparseReshape\",\"int32\"),s=v(e,\"newShape\",\"sparseReshape\",\"int32\");if(n.rank!==2)throw new Error(`Input indices should be Tensor2D but received shape\n ${n.shape}`);if(o.rank!==1)throw new Error(`Input shape should be Tensor1D but received shape ${o.shape}`);if(s.rank!==1)throw new Error(`New shape should be Tensor1D but received shape ${s.shape}`);let i={inputIndices:n,inputShape:o,newShape:s},a=_.runKernel(Ga,i);return{outputIndices:a[0],outputShape:a[1]}}var EA=N({sparseReshape_:S5});function T5(r,t,e){let n=v(r,\"data\",\"sparseSegmentMean\"),o=v(t,\"indices\",\"sparseSegmentMean\",\"int32\"),s=v(e,\"segmentIds\",\"sparseSegmentMean\",\"int32\");if(n.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let i={data:n,indices:o,segmentIds:s};return _.runKernel(Pl,i)}var AA=N({sparseSegmentMean_:T5});function N5(r,t,e){let n=v(r,\"data\",\"sparseSegmentSum\"),o=v(t,\"indices\",\"sparseSegmentSum\",\"int32\"),s=v(e,\"segmentIds\",\"sparseSegmentSum\",\"int32\");if(n.rank<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.rank!==1)throw new Error(`Indices should be Tensor1D but received shape\n ${o.shape}`);if(s.rank!==1)throw new Error(`Segment ids should be Tensor1D but received shape\n ${s.shape}`);let i={data:n,indices:o,segmentIds:s};return _.runKernel(Ll,i)}var $A=N({sparseSegmentSum_:N5});function k5(r,t,e,n,o,s,i,a){let u=v(r,\"data\",\"stringNGrams\",\"string\");if(u.dtype!==\"string\")throw new Error(\"Data must be of datatype string\");if(u.shape.length!==1)throw new Error(`Data must be a vector, saw: ${u.shape}`);let l=v(t,\"dataSplits\",\"stringNGrams\");if(l.dtype!==\"int32\")throw new Error(\"Data splits must be of datatype int32\");let c={separator:e,nGramWidths:n,leftPad:o,rightPad:s,padWidth:i,preserveShortSequences:a},p={data:u,dataSplits:l},m=_.runKernel(zl,p,c);return{nGrams:m[0],nGramsSplits:m[1]}}var DA=N({stringNGrams_:k5});function _5(r,t,e=!0){let n=v(r,\"input\",\"stringSplit\",\"string\"),o=v(t,\"delimiter\",\"stringSplit\",\"string\");if(n.rank!==1)throw new Error(`Input should be Tensor1D but received shape ${n.shape}`);if(o.rank!==0)throw new Error(`Delimiter should be a scalar but received shape ${o.shape}`);let s={skipEmpty:e},i={input:n,delimiter:o},a=_.runKernel(Bl,i,s);return{indices:a[0],values:a[1],shape:a[2]}}var RA=N({stringSplit_:_5});function E5(r,t){let e=v(r,\"input\",\"stringToHashBucketFast\",\"string\"),n={numBuckets:t};if(t<=0)throw new Error(\"Number of buckets must be at least 1\");let o={input:e};return _.runKernel(Vl,o,n)}var FA=N({stringToHashBucketFast_:E5});var A5={fft:iu,ifft:Qa,rfft:au,irfft:Am},$5={hammingWindow:tA,hannWindow:Ty,frame:Ny,stft:eA},uu={flipLeftRight:nA,grayscaleToRGB:oA,resizeNearestNeighbor:$y,resizeBilinear:Ay,rotateWithOffset:sA,cropAndResize:rA,nonMaxSuppression:iA,nonMaxSuppressionAsync:uA,nonMaxSuppressionWithScore:cA,nonMaxSuppressionWithScoreAsync:pA,nonMaxSuppressionPadded:mA,nonMaxSuppressionPaddedAsync:fA,threshold:dA,transform:hA},vS={bandPart:gA,gramSchmidt:xA,qr:bA},D5={absoluteDifference:wA,computeWeightedLoss:zr,cosineDistance:CA,hingeLoss:vA,huberLoss:IA,logLoss:SA,meanSquaredError:TA,sigmoidCrossEntropy:NA,softmaxCrossEntropy:kA},R5={sparseFillEmptyRows:_A,sparseReshape:EA,sparseSegmentMean:AA,sparseSegmentSum:$A},F5={stringNGrams:DA,stringSplit:RA,stringToHashBucketFast:FA};var Br=class extends bh{minimize(t,e=!1,n){let{value:o,grads:s}=this.computeGradients(t,n);if(n!=null){let i=n.map(a=>({name:a.name,tensor:s[a.name]}));this.applyGradients(i)}else this.applyGradients(s);return _t(s),e?o:(o.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(t,e){return ty(t,e)}dispose(){this.iterations_!=null&&_t(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:\"iter\",tensor:mt(this.iterations_,\"int32\")}}async getWeights(){throw new Error(\"getWeights() is not implemented for this optimizer yet.\")}async setWeights(t){throw new Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(t){return this.iterations_=(await t[0].tensor.data())[0],t.slice(1)}};Object.defineProperty(Br,Symbol.hasInstance,{value:r=>r.minimize!=null&&r.computeGradients!=null&&r.applyGradients!=null});var cu=class extends Br{constructor(t,e,n=null){super(),this.learningRate=t,this.rho=e,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=_.backend.epsilon())}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=_.registeredVariables[n],i=!1;this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accum_grad`,variable:G(()=>St(s).variable(i))}),this.accumulatedUpdates[o]==null&&(this.accumulatedUpdates[o]={originalName:`${n}/accum_var`,variable:G(()=>St(s).variable(i))});let a=Array.isArray(t)?t[o].tensor:t[n];if(a==null)return;let u=this.accumulatedGrads[o].variable,l=this.accumulatedUpdates[o].variable;G(()=>{let c=J(O(u,this.rho),O(Ht(a),1-this.rho)),p=O(ct(Ne(J(l,this.epsilon)),Ne(J(u,this.epsilon))),a),m=J(O(l,this.rho),O(Ht(p),1-this.rho));u.assign(c),l.assign(m);let f=J(O(p,-this.learningRate),s);s.assign(f)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(_t(this.accumulatedGrads.map(t=>t.variable)),_t(this.accumulatedUpdates.map(t=>t.variable)))}async getWeights(){let t=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=t.length/2,n=!1;this.accumulatedGrads=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedUpdates=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(t,e){return new t(e.learningRate,e.rho,e.epsilon)}};cu.className=\"Adadelta\";In(cu);var pu=class extends Br{constructor(t,e=.1){super(),this.learningRate=t,this.initialAccumulatorValue=e,this.accumulatedGrads=[]}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=_.registeredVariables[n];this.accumulatedGrads[o]==null&&(this.accumulatedGrads[o]={originalName:`${n}/accumulator`,variable:G(()=>Vi(s.shape,this.initialAccumulatorValue).variable(!1))});let i=Array.isArray(t)?t[o].tensor:t[n];if(i==null)return;let a=this.accumulatedGrads[o].variable;G(()=>{let u=J(a,Ht(i));a.assign(u);let l=J(O(ct(i,Ne(J(u,_.backend.epsilon()))),-this.learningRate),s);s.assign(l)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&_t(this.accumulatedGrads.map(t=>t.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=!1;this.accumulatedGrads=t.map(n=>({originalName:n.name,variable:n.tensor.variable(e)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(t,e){return new t(e.learningRate,e.initialAccumulatorValue)}};pu.className=\"Adagrad\";In(pu);var mu=class extends Br{constructor(t,e,n,o=null){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=o,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],G(()=>{this.accBeta1=mt(e).variable(),this.accBeta2=mt(n).variable()}),o==null&&(this.epsilon=_.backend.epsilon())}applyGradients(t){let e=Array.isArray(t)?t.map(n=>n.name):Object.keys(t);G(()=>{let n=ut(1,this.accBeta1),o=ut(1,this.accBeta2);e.forEach((s,i)=>{let a=_.registeredVariables[s],u=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${s}/m`,variable:G(()=>St(a).variable(u))}),this.accumulatedSecondMoment[i]==null&&(this.accumulatedSecondMoment[i]={originalName:`${s}/v`,variable:G(()=>St(a).variable(u))});let l=Array.isArray(t)?t[i].tensor:t[s];if(l==null)return;let c=this.accumulatedFirstMoment[i].variable,p=this.accumulatedSecondMoment[i].variable,m=J(O(c,this.beta1),O(l,1-this.beta1)),f=J(O(p,this.beta2),O(Ht(l),1-this.beta2)),d=ct(m,n),h=ct(f,o);c.assign(m),p.assign(f);let g=J(O(ct(d,J(Ne(h),this.epsilon)),-this.learningRate),a);a.assign(g)}),this.accBeta1.assign(O(this.accBeta1,this.beta1)),this.accBeta2.assign(O(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&_t(this.accumulatedFirstMoment.map(t=>t.variable)),this.accumulatedSecondMoment!=null&&_t(this.accumulatedSecondMoment.map(t=>t.variable))}async getWeights(){let t=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t),G(()=>{this.accBeta1.assign(ln(this.beta1,this.iterations_+1)),this.accBeta2.assign(ln(this.beta2,this.iterations_+1))});let e=t.length/2,n=!1;this.accumulatedFirstMoment=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedSecondMoment=t.slice(e,e*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(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon)}};mu.className=\"Adam\";In(mu);var fu=class extends Br{constructor(t,e,n,o=null,s=0){super(),this.learningRate=t,this.beta1=e,this.beta2=n,this.epsilon=o,this.decay=s,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],G(()=>{this.iteration=mt(0).variable(),this.accBeta1=mt(e).variable()}),o==null&&(this.epsilon=_.backend.epsilon())}applyGradients(t){let e=Array.isArray(t)?t.map(n=>n.name):Object.keys(t);G(()=>{let n=ut(1,this.accBeta1),o=ct(-this.learningRate,J(O(this.iteration,this.decay),1));e.forEach((s,i)=>{let a=_.registeredVariables[s],u=!1;this.accumulatedFirstMoment[i]==null&&(this.accumulatedFirstMoment[i]={originalName:`${s}/m`,variable:St(a).variable(u)}),this.accumulatedWeightedInfNorm[i]==null&&(this.accumulatedWeightedInfNorm[i]={originalName:`${s}/v`,variable:St(a).variable(u)});let l=Array.isArray(t)?t[i].tensor:t[s];if(l==null)return;let c=this.accumulatedFirstMoment[i].variable,p=this.accumulatedWeightedInfNorm[i].variable,m=J(O(c,this.beta1),O(l,1-this.beta1)),f=O(p,this.beta2),d=$e(l),h=Tn(f,d);c.assign(m),p.assign(h);let g=J(O(ct(o,n),ct(m,J(h,this.epsilon))),a);a.assign(g)}),this.iteration.assign(J(this.iteration,1)),this.accBeta1.assign(O(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&_t(this.accumulatedFirstMoment.map(t=>t.variable)),this.accumulatedWeightedInfNorm!=null&&_t(this.accumulatedWeightedInfNorm.map(t=>t.variable))}async getWeights(){throw new Error(\"getWeights() is not implemented for Adamax yet.\")}async setWeights(t){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(t,e){return new t(e.learningRate,e.beta1,e.beta2,e.epsilon,e.decay)}};fu.className=\"Adamax\";In(fu);var qi=class extends Br{constructor(t){super(),this.learningRate=t,this.setLearningRate(t)}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=Array.isArray(t)?t[o].tensor:t[n];if(s==null)return;let i=_.registeredVariables[n];G(()=>{let a=J(O(this.c,s),i);i.assign(a)})}),this.incrementIterations()}setLearningRate(t){this.learningRate=t,this.c!=null&&this.c.dispose(),this.c=Oe(mt(-t))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(t){if(t=await this.extractIterations(t),t.length!==0)throw new Error(\"SGD optimizer does not have settable weights.\")}getConfig(){return{learningRate:this.learningRate}}static fromConfig(t,e){return new t(e.learningRate)}};qi.className=\"SGD\";In(qi);var du=class extends qi{constructor(t,e,n=!1){super(t),this.learningRate=t,this.momentum=e,this.useNesterov=n,this.accumulations=[],this.m=mt(this.momentum)}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=_.registeredVariables[n];this.accumulations[o]==null&&(this.accumulations[o]={originalName:`${n}/momentum`,variable:G(()=>St(s).variable(!1))});let i=this.accumulations[o].variable,a=Array.isArray(t)?t[o].tensor:t[n];a!=null&&G(()=>{let u,l=J(O(this.m,i),a);this.useNesterov?u=J(O(this.c,J(a,O(l,this.m))),s):u=J(O(this.c,l),s),i.assign(l),s.assign(u)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&_t(this.accumulations.map(t=>t.variable))}setMomentum(t){this.momentum=t}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(t=>({name:t.originalName,tensor:t.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=!1;this.accumulations=t.map(n=>({originalName:n.name,variable:n.tensor.variable(e)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(t,e){return new t(e.learningRate,e.momentum,e.useNesterov)}};du.className=\"Momentum\";In(du);var hu=class extends Br{constructor(t,e=.9,n=0,o=null,s=!1){if(super(),this.learningRate=t,this.decay=e,this.momentum=n,this.epsilon=o,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=s,o==null&&(this.epsilon=_.backend.epsilon()),t==null)throw new Error(\"learningRate for RMSPropOptimizer must be defined.\")}applyGradients(t){(Array.isArray(t)?t.map(n=>n.name):Object.keys(t)).forEach((n,o)=>{let s=_.registeredVariables[n],i=!1;this.accumulatedMeanSquares[o]==null&&(this.accumulatedMeanSquares[o]={originalName:`${n}/rms`,variable:G(()=>St(s).variable(i))}),this.accumulatedMoments[o]==null&&(this.accumulatedMoments[o]={originalName:`${n}/momentum`,variable:G(()=>St(s).variable(i))}),this.accumulatedMeanGrads[o]==null&&this.centered&&(this.accumulatedMeanGrads[o]={originalName:`${n}/mg`,variable:G(()=>St(s).variable(i))});let a=Array.isArray(t)?t[o].tensor:t[n];if(a==null)return;let u=this.accumulatedMeanSquares[o].variable,l=this.accumulatedMoments[o].variable;G(()=>{let c=J(O(u,this.decay),O(Ht(a),1-this.decay));if(this.centered){let p=this.accumulatedMeanGrads[o].variable,m=J(O(p,this.decay),O(a,1-this.decay)),f=ct(O(a,this.learningRate),Ne(ut(c,J(Ht(m),this.epsilon)))),d=J(O(l,this.momentum),f);u.assign(c),p.assign(m),l.assign(d);let h=ut(s,d);s.assign(h)}else{let p=J(O(u,this.decay),O(Ht(a),1-this.decay)),m=J(O(l,this.momentum),ct(O(a,this.learningRate),Ne(J(p,this.epsilon))));u.assign(p),l.assign(m);let f=ut(s,m);s.assign(f)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&_t(this.accumulatedMeanSquares.map(t=>t.variable)),this.accumulatedMeanGrads!=null&&this.centered&&_t(this.accumulatedMeanGrads.map(t=>t.variable)),this.accumulatedMoments!=null&&_t(this.accumulatedMoments.map(t=>t.variable))}async getWeights(){let t=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&t.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(t.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(t){t=await this.extractIterations(t);let e=this.centered?t.length/3:t.length/2,n=!1;this.accumulatedMeanSquares=t.slice(0,e).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.accumulatedMoments=t.slice(e,e*2).map(o=>({originalName:o.name,variable:o.tensor.variable(n)})),this.centered&&(this.accumulatedMeanGrads=t.slice(e*2,e*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(t,e){return new t(e.learningRate,e.decay,e.momentum,e.epsilon,e.centered)}};hu.className=\"RMSProp\";In(hu);var js=class{static sgd(t){return new qi(t)}static momentum(t,e,n=!1){return new du(t,e,n)}static rmsprop(t,e=.9,n=0,o=null,s=!1){return new hu(t,e,n,o,s)}static adam(t=.001,e=.9,n=.999,o=null){return new mu(t,e,n,o)}static adadelta(t=.001,e=.95,n=null){return new cu(t,e,n)}static adamax(t=.002,e=.9,n=.999,o=null,s=0){return new fu(t,e,n,o,s)}static adagrad(t,e=.1){return new pu(t,e)}};var fc={sgd:js.sgd,momentum:js.momentum,adadelta:js.adadelta,adagrad:js.adagrad,rmsprop:js.rmsprop,adamax:js.adamax,adam:js.adam};var O5=(()=>typeof requestAnimationFrame!=\"undefined\"?requestAnimationFrame:typeof setImmediate!=\"undefined\"?setImmediate:r=>r())();function Th(){return new Promise(r=>O5(()=>r()))}var S={};jt(S,{ERF_A1:()=>Y5,ERF_A2:()=>Z5,ERF_A3:()=>J5,ERF_A4:()=>Q5,ERF_A5:()=>tX,ERF_P:()=>X5,PARALLELIZE_THRESHOLD:()=>Dy,RowPartitionType:()=>Ki,SELU_SCALE:()=>SS,SELU_SCALEALPHA:()=>IS,applyActivation:()=>pc,assertAndGetBroadcastShape:()=>zt,assertAxesAreInnerMostDims:()=>cK,assertParamsConsistent:()=>P5,assignToTypedArray:()=>iX,axesAreInnerMostDims:()=>uS,calculateShapes:()=>L_,checkEinsumDimSizes:()=>mX,checkPadOnDimRoundingMode:()=>Te,combineLocations:()=>aE,combineRaggedTensorToTensorShapes:()=>M5,complexWithEvenIndex:()=>nX,complexWithOddIndex:()=>oX,computeConv2DInfo:()=>tc,computeConv3DInfo:()=>Q_,computeDefaultPad:()=>lS,computeDilation2DInfo:()=>mq,computeOptimalWindowSize:()=>G5,computeOutAndReduceShapes:()=>cS,computeOutShape:()=>L5,computePool2DInfo:()=>aS,computePool3DInfo:()=>fq,convertConv2DDataFormat:()=>tE,decodeEinsumEquation:()=>cX,eitherStridesOrDilationsAreOne:()=>Er,expandShapeToKeepDim:()=>xo,exponent:()=>lX,exponents:()=>aX,fromStringArrayToUint8:()=>RX,fromUint8ToStringArray:()=>DX,getAxesPermutation:()=>pS,getBroadcastDims:()=>F_,getComplexWithIndex:()=>sX,getEinsumComputePath:()=>fX,getEinsumPermutation:()=>pX,getFusedBiasGradient:()=>cc,getFusedDyActivation:()=>uc,getImageCenter:()=>W5,getInnerMostAxes:()=>pK,getPermuted:()=>H5,getRaggedRank:()=>B5,getReductionAxes:()=>ye,getReshaped:()=>U5,getReshapedPermuted:()=>q5,getRowPartitionTypesHelper:()=>z5,getSliceBeginCoords:()=>K5,getSliceSize:()=>j5,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>xX,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>yX,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>bX,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>vX,getSparseReshapeInputOutputMismatchErrorMessage:()=>SX,getSparseReshapeInputOutputMultipleErrorMessage:()=>IX,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>wX,getSparseReshapeNegativeOutputDimErrorMessage:()=>CX,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>_X,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>TX,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>NX,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>kX,getUndoAxesPermutation:()=>wh,isIdentityPermutation:()=>dX,log:()=>I4,mergeRealAndImagArrays:()=>eX,prepareAndValidate:()=>P_,prepareSplitSize:()=>gX,segment_util:()=>NS,shouldFuse:()=>mc,slice_util:()=>Be,splitRealAndImagArrays:()=>rX,tupleValuesAreOne:()=>Jn,upcastType:()=>ir,validateDefaultValueShape:()=>V5,validateInput:()=>bx,validateUpdateShape:()=>eS,warn:()=>Ei});function P5(r,t){let e=r[0].length;r.forEach((o,s)=>{A(o.length===e,()=>`Error in concat${e}D: rank of tensors[${s}] must be the same as the rank of the rest (${e})`)}),A(t>=0&&t`Error in concat${e}D: axis must be between 0 and ${e-1}.`);let n=r[0];r.forEach((o,s)=>{for(let i=0;i`Error in concat${e}D: Shape of tensors[${s}] (${o}) does not match the shape of the rest (${n}) along the non-concatenated axis ${s}.`)})}function L5(r,t){let e=r[0].slice();for(let n=1;n=0)if(a>=0){if(a!==s)throw new Error(`rt input.shape and shape=${t} are incompatible: rt input.shape[${o+r}] = ${s} but shape[${o+r}] = ${a}`)}else n[i]=s}return n}function z5(r){let t={FIRST_DIM_SIZE:Ki.FIRST_DIM_SIZE,VALUE_ROWIDS:Ki.VALUE_ROWIDS,ROW_LENGTHS:Ki.ROW_LENGTHS,ROW_SPLITS:Ki.ROW_SPLITS,ROW_LIMITS:Ki.ROW_LIMITS,ROW_STARTS:Ki.ROW_STARTS},e=[];for(let n of r)if(n in t)e.push(t[n]);else break;return e}function B5(r){return r.length===0?0:r[0]===Ki.FIRST_DIM_SIZE?r.length-1:r.length}function V5(r,t){if(r==null||t==null)return;let e=r.length,n=t.length;if(e>=n)throw new Error(`defaultValue.shape=${r} and ragged tensor flatValues.shape=${t}, are incompatible: defaultValue.rank = ${e} must be less than ragged tensor input flatValues.rank = ${n})`);for(let o=0;o=0&&i>=0&&s!==1&&s!==i)throw new Error(`defaultValue.shape=${r}, and ragged tensor input flatValues.shape=${t} are incompatible: defaultValue.shape[${o-r.length}] = ${s} but ragged tensor input.flatValues.shape[${o-r.length}] = ${i}`)}}var Dy=30;function G5(r){return r<=Dy?r:wp(r,Math.floor(Math.sqrt(r)))}function W5(r,t,e){let n=e*(typeof r==\"number\"?r:r[0]),o=t*(typeof r==\"number\"?r:r[1]);return[n,o]}function U5(r,t,e,n=!0){let o=[];if(n)o=o.concat(t.slice(0)),o.push(r[0]/e),o=o.concat(r.slice(1));else{o=o.concat(r[0]);let s=t.length;for(let i=0;i=t*2+1||i%2===1?s.push(i):o.push(i);n.push(...o),n.push(0),n.push(...s)}return n}function q5(r,t,e,n=!0){let o=[];n?o.push(r[0]/e):o.push(r[0]*e);for(let s=1;s\",uX=/->/g,OA=\",\",PA=\"...\";function cX(r,t){r=r.replace(/\\s/g,\"\");let e=(r.length-r.replace(uX,\"\").length)/TS.length;if(e<1)throw new Error(\"Equations without an arrow are not supported.\");if(e>1)throw new Error(`Equation must contain exactly one arrow (\"${TS}\").`);let[n,o]=r.split(TS);A(n.indexOf(PA)===-1,()=>`The ellipsis notation (\"${PA}\") is not supported yet.`);let s=n.split(OA),i=s.length;if(t!==i)throw new Error(`Expected ${i} input tensors, received ${t}`);if(i>2)throw new Error(\"Support for more than 2 input tensors is not implemented yet.\");let a=[];for(let m=0;md.indexOf(f)!==-1))throw new Error(`Output subscripts contain the label ${f} not present in the input subscripts.`);a.indexOf(f)===-1&&a.push(f)}for(let m=0;mo!==-1),{permutationIndices:e,expandDims:n}}function mX(r,t,e){let n=new Array(r);for(let o=0;o`Expected dimension ${n[t[o][i]]} at axis ${i} of input shaped ${JSON.stringify(s)}, but got dimension ${s[i]}`)}}function fX(r,t){let e=r,n=[],o=0;r.length===0&&e.push(-1),o=r.length+1;for(let i=0;it===e)}function hX(r,t){let e=[];for(let n=0;n\"Number of splits must evenly divide the axis.\"),n=new Array(t).fill(r.shape[e]/t);else{let o=t.reduce((i,a)=>(a===-1&&(i+=1),i),0);A(o<=1,()=>\"There should be only one negative value in split array.\");let s=t.indexOf(-1);if(s!==-1){let i=t.reduce((a,u)=>u>0?a+u:a);t[s]=r.shape[e]-i}A(r.shape[e]===t.reduce((i,a)=>i+a),()=>\"The sum of sizes must match the size of the axis dimension.\"),n=t}return n}function xX(r){return`Received SparseTensor with denseShape[0] = 0 but\n indices.shape[0] = ${r}`}function yX(r,t){return`indices(${r}, 0) is invalid: ${t} < 0`}function bX(r,t,e){return`indices(${r}, 0) is invalid: ${t} >= ${e}`}function wX(r,t){return`only one output dimension may be -1, not both ${r} and ${t}`}function CX(r,t){return`size ${r} must be non-negative, not ${t}`}function vX(){return\"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero\"}function IX(r,t){let e=Qt(r),n=Qt(t);return`Input to reshape is a SparseTensor with ${e}\n dense values, but the requested shape requires a multiple of ${n}. inputShape=${r} outputShape= ${t}`}function SX(r,t){let e=Qt(r),n=Qt(t);return`Input to reshape is a tensor with ${e} dense values, but the requested shape has ${n}. inputShape=${r} outputShape=${t}`}function TX(){return\"segment ids must be >= 0\"}function NX(){return\"segment ids are not increasing\"}function kX(r,t){return`Segment id ${r} out of range [0, ${t}), possibly because segmentIds input is not sorted.`}function _X(r,t,e){return`Bad: indices[${r}] == ${t} out of range [0, ${e})`}var NS={};jt(NS,{collectGatherOpShapeInfo:()=>$X,computeOutShape:()=>AX,segOpComputeOptimalWindowSize:()=>EX});function EX(r,t){let e=!1,n;for(r<=Dy?(n=r,e=!0):n=wp(r,Math.floor(Math.sqrt(r)));!e;)n>t||n===r?e=!0:n=wp(r,n+1);return n}function AX(r,t,e){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) (\n ${s}).`);if(erm(t))}catch(t){throw new Error(`Failed to decode encoded string bytes into utf-8, error: ${t}`)}}function RX(r){return r.map(t=>Ul(t))}var Vr={};jt(Vr,{nonMaxSuppressionV3Impl:()=>ky,nonMaxSuppressionV4Impl:()=>_y,nonMaxSuppressionV5Impl:()=>Ey,whereImpl:()=>Cy});var Ry={kernelName:pi,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,yo(tt(e,\"float32\"),-1))}}};var LA={kernelName:oa,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Ht(tt(e,\"float32\")),o=Ne(ut(mt(1),n));return Yt(ct(r,o))}}}};var MA={kernelName:sa,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Ne(ut(Ht(tt(e,\"float32\")),1));return ct(r,n)}}}};var zA={kernelName:jn,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=r,u=ye(e.shape,o);return u.length>0&&(a=ft(a,u)),F(a,e.shape)},b:()=>{let a=r,u=ye(n.shape,o);return u.length>0&&(a=ft(a,u)),F(a,n.shape)}}}};var BA={kernelName:jo,saveAllInputs:!0,gradFunc:(r,t)=>{let e={};return t.forEach((n,o)=>{e[o]=()=>r.clone()}),e}};var VA={kernelName:Xo,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>St(e)}}};var GA={kernelName:Nl,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>St(e)}}};var WA={kernelName:la,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Ne(ut(mt(1),Ht(tt(e,\"float32\")))))}}};var UA={kernelName:ua,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Ne(J(mt(1),Ht(tt(e,\"float32\"))));return ct(r,n)}}}};var HA={kernelName:ma,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=J(Ht(e),Ht(n)),u=O(r,ct(n,a)),l=ye(e.shape,o);return l.length>0&&(u=ft(u,l)),F(u,e.shape)},b:()=>{let a=J(Ht(e),Ht(n)),u=Yt(O(r,ct(e,a))),l=ye(n.shape,o);return l.length>0&&(u=ft(u,l)),F(u,n.shape)}}}};var qA={kernelName:ca,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,J(Ht(tt(e,\"float32\")),1))}}};var KA={kernelName:pa,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,ut(mt(1),Ht(tt(e,\"float32\"))))}}};function FX(r,t,e,n,o,s){let i=v(r,\"dy\",\"avgPool3dGrad\"),a=v(t,\"input\",\"avgPool3dGrad\"),u=i,l=a,c=!1;a.rank===4&&(c=!0,u=F(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]]),l=F(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),A(u.rank===5,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${u.rank}.`),A(l.rank===5,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${l.rank}.`),Te(\"avgPool3dGrad\",o,s);let p={dy:u,input:l},m={filterSize:e,strides:n,pad:o,dimRoundingMode:s},f=_.runKernel(Ip,p,m);return c?F(f,[f.shape[1],f.shape[2],f.shape[3],f.shape[4]]):f}var jA=N({avgPool3dGrad_:FX});var XA={kernelName:kl,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{filterSize:o,strides:s,pad:i,dimRoundingMode:a}=e;return{x:()=>jA(r,n,o,s,i,a)}}};function OX(r,t,e,n,o){let s=v(r,\"dy\",\"avgPoolGrad\"),i=v(t,\"input\",\"avgPoolGrad\");A(i.rank===s.rank,()=>`Rank of input (${i.rank}) does not match rank of dy (${s.rank})`);let a=i,u=s,l=!1;i.rank===3&&(l=!0,a=F(i,[1,i.shape[0],i.shape[1],i.shape[2]]),u=F(s,[1,s.shape[0],s.shape[1],s.shape[2]])),A(u.rank===4,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${u.rank}.`),A(a.rank===4,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${a.rank}.`);let c={dy:u,input:a},p={filterSize:e,strides:n,pad:o},m=_.runKernel(vp,c,p);return l?F(m,[m.shape[1],m.shape[2],m.shape[3]]):m}var YA=N({avgPoolGrad_:OX});var ZA={kernelName:Yo,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{filterSize:o,strides:s,pad:i}=e;return{x:()=>YA(r,n,o,s,i)}}};var JA={kernelName:Zo,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t,e)=>{let[n,o]=t,{transposeA:s,transposeB:i}=e;return!s&&!i?{a:()=>Gt(r,o,!1,!0),b:()=>Gt(n,r,!0,!1)}:!s&&i?{a:()=>Gt(r,o,!1,!1),b:()=>Gt(r,n,!0,!1)}:s&&!i?{a:()=>Gt(o,r,!1,!0),b:()=>Gt(n,r,!1,!1)}:{a:()=>Gt(o,r,!0,!0),b:()=>Gt(r,n,!0,!0)}}};var QA={kernelName:mi,gradFunc:(r,t,e)=>{let{blockShape:n,crops:o}=e;return{x:()=>ru(r,n,o)}}};var t2={kernelName:N1,gradFunc:(r,t,e)=>{let n=e,o=n.inputShape,s=n.shape,i=Array.from(s);for(let u=o.length-1;u>=0;u--)if(o[u]===s[u])i[u]=1;else if(o[u]!==1)throw new Error(`broadcastTo(): [${o}] cannot be broadcast to [${s}].`);let a=[];for(let u=0;u1&&a.push(u);return{x:()=>ft(r,a,!0)}}};var e2={kernelName:ao,gradFunc:r=>({x:()=>r.clone()})};var r2={kernelName:Jo,gradFunc:r=>({x:()=>St(r)})};var n2={kernelName:lo,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{clipValueMin:o,clipValueMax:s}=e;return{x:()=>De(Dr(Pn(n,o),Ln(n,s)),r,St(r))}}};var o2={kernelName:_l,inputsToSave:[\"x\"],gradFunc:Ry.gradFunc};var s2={kernelName:fi,saveAllInputs:!0,gradFunc:(r,t,e)=>{let n=t.map(u=>u.shape),{axis:o}=e,s=ur(o,t[0].shape)[0],i=n.map(u=>u[s]);return mr(r,i,s).map(u=>()=>u)}};var i2={kernelName:Qo,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,{dilations:s,strides:i,pad:a,dataFormat:u}=e;return A(Jn(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>fm(n.shape,r,o,i,a,u),filter:()=>Fm(n,r,o.shape,i,a,u)}}};var a2={kernelName:ts,inputsToSave:[\"dy\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,{strides:s,pad:i,dataFormat:a,dimRoundingMode:u}=e;return{dy:()=>Sn(r,o,s,i,a,1,u),filter:()=>Fm(r,n,o.shape,s,i,a,u)}}};function PX(r,t,e,n,o){let s=r;r.rank===4&&(s=F(r,[1,r.shape[0],r.shape[1],r.shape[2],r.shape[3]]));let i=t;i.rank===4&&(i=F(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),A(s.rank===5,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),A(i.rank===5,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${i.shape}.`),A(e.length===5,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${e}.`),A(s.shape[4]===e[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${e[3]}.`),A(i.shape[4]===e[4],()=>`Error in conv3dDerFilter: depth of dy (${i.shape[4]}) must match output depth for filter (${e[4]}).`);let a={x:s,dy:i},u={strides:n,pad:o,filterShape:e};return _.runKernel(_p,a,u)}var l2=N({conv3DBackpropFilter_:PX});var u2={kernelName:El,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let{dilations:n,strides:o,pad:s}=e;A(Jn(n),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${n}'`);let[i,a]=t;return{x:()=>Vx(i.shape,r,a,o,s),filter:()=>l2(i,r,a.shape,o,s)}}};var c2={kernelName:es,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(Yt(Nm(tt(e,\"float32\"))),r)}}};var p2={kernelName:rs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(km(tt(e,\"float32\")),r)}}};var m2={kernelName:ns,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o,exclusive:s,reverse:i}=e;return{x:()=>{let a=pS([o],n.rank),u=gm(r,o,s,!i);return a!=null&&(u=Mt(u,a)),u}}}};var f2={kernelName:os,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let{dilations:n,strides:o,pad:s,dimRoundingMode:i}=e,a=n==null?[1,1]:n;A(Jn(a),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);let[u,l]=t;return A(u.rank===4,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${u.rank}.`),A(l.rank===4,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${l.rank}.`),A(u.shape[3]===l.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${u.shape[3]}) must match the inChannels dimension in filter ${l.shape[2]}.`),A(Er(o,a),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${a}'.`),Te(\"depthwiseConv2d\",s,i),{x:()=>Sy(u.shape,r,l,o,s,a,i),filter:()=>Iy(u,r,l.shape,o,s,a,i)}}};var d2={kernelName:Al,inputsToSave:[\"x\",\"filter\"],gradFunc:(r,t,e)=>{let[n,o]=t,s={x:n,filter:o,dy:r},i={x:n,filter:o,dy:r};return{x:()=>_.runKernel(oh,s,e),filter:()=>_.runKernel(sh,i,e)}}};var h2={kernelName:is,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t,n={dy:r,y:e};return{x:()=>_.runKernel(Op,n)}}};var g2={kernelName:ga,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t,n=O(or(Yt(Ht(e))),2/Math.sqrt(Math.PI));return{x:()=>O(r,n)}}};var x2={kernelName:as,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,e)}}};var y2={kernelName:di,inputsToSave:[\"input\"],gradFunc:(r,t)=>{let[e]=t;return{input:()=>F(r,e.shape)}}};var b2={kernelName:ya,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,or(e))}}};var w2={kernelName:ls,gradFunc:r=>({x:()=>St(r)})};var C2={kernelName:us,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=ct(r,tt(n,\"float32\")),u=ye(e.shape,o);return u.length>0?F(ft(a,u),e.shape):a},b:()=>{let a=O(r,tt(e,\"float32\")),u=ye(n.shape,o);u.length>0&&(a=F(ft(a,u),n.shape));let l=Ht(n);return Yt(ct(a,tt(l,\"float32\")))}}}};var v2={kernelName:cs,inputsToSave:[\"x\",\"mean\",\"variance\",\"scale\"],gradFunc:(r,t,e)=>{let{varianceEpsilon:n}=e,[o,s,i,a]=t,u=a==null?mt(1):a,l=ye(s.shape,o.shape),c=[];if(s.rank===1){for(let C=0;Cs.rank===1?F(O(O(r,$r(F(f,[1,1,1,s.shape[0]]),c)),u),o.shape):F(O(O(r,f),u),o.shape),mean:()=>{let C=O(O(f,mt(-1)),m);return s.rank===1&&(C=ft(C,l)),F(C,s.shape)},variance:()=>{let C=O(O(d,p),m);return s.rank===1&&(C=ft(C,l)),F(C,s.shape)},scale:()=>{let C=O(p,f),T=O(r,C);return s.rank===1&&(T=ft(T,l)),F(T,s.shape)},offset:()=>{let C=r;return s.rank===1&&(C=ft(C,l)),F(C,s.shape)}}}};var T2={kernelName:hi,inputsToSave:[\"x\",\"indices\"],gradFunc:(r,t,e)=>{let[n,o]=t,{axis:s}=e,i=ur(s,n.shape)[0];return{x:()=>{let u=n.shape,l=o.size,c=u.slice(0,i),p=c.length,m=u.slice(s,u.length).slice(1),f=m.length,d=I2(0,p),h=I2(p+1,p+1+f),g=S2([c,[l],m]),x=F(r,g),b=F(o,[l]),w=S2([[p],d,h]),C=Mt(x,w),T=Rm(C,b,n.shape[i]),E=wh(w);return T=Mt(T,E),T},indices:()=>o}}};function I2(r,t){let e=[];for(let n=r;n{let[e,n]=t;return{a:()=>St(e),b:()=>St(n)}}};var k2={kernelName:uo,gradFunc:r=>({x:()=>tt(r,\"float32\")})};var _2={kernelName:va,gradFunc:r=>({x:()=>St(r)})};var E2={kernelName:Ia,gradFunc:r=>({x:()=>St(r)})};var A2={kernelName:Sa,gradFunc:r=>({x:()=>St(r)})};var $2={kernelName:ms,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{alpha:o}=e,s=Xe(n,0);return{x:()=>De(s,r,O(r,o))}}};var D2={kernelName:ka,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,J(e,1))}}};var R2={kernelName:fs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,tt(e,\"float32\"))}}};var F2={kernelName:_1,inputsToSave:[],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e;return{logits:()=>{let i=or(n);return ut(r,O(ft(r,o,!0),i))}}}};function LX(r,t,e,n=5,o=1,s=1,i=.5){let a={x:r,y:t,dy:e},u={depthRadius:n,bias:o,alpha:s,beta:i};return _.runKernel(Bp,a,u)}var O2=N({localResponseNormalizationBackprop_:LX});var P2={kernelName:Dl,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{depthRadius:s,bias:i,alpha:a,beta:u}=e;return{x:()=>O2(n,o,r,s,i,a,u)}}};function Fy(r,t,e,n){return t.rankO(r,tt(Ar(e,t),r.dtype))}}var kS={kernelName:ds,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let n=e,{reductionIndices:o}=n,s=t[0],i=t[1],a=ur(o,s.shape),u=Fy(r,i,s,a);return{x:()=>u.x()}}};var L2={kernelName:hs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t;return{a:()=>O(r,tt(Pn(e,n),\"float32\")),b:()=>O(r,tt(xm(e,n),\"float32\"))}}};function MX(r,t,e,n,o,s,i){let a=v(r,\"dy\",\"maxPool3dGrad\"),u=v(t,\"input\",\"maxPool3dGrad\"),l=v(e,\"output\",\"maxPool3dGrad\"),c=a,p=u,m=l,f=!1;u.rank===4&&(f=!0,c=F(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),p=F(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]]),m=F(l,[1,l.shape[0],l.shape[1],l.shape[2],l.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}.`),Te(\"maxPool3dGrad\",s,i);let d={dy:c,input:p,output:m},h={filterSize:n,strides:o,pad:s,dimRoundingMode:i},g=_.runKernel(Gp,d,h);return f?F(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}var M2=N({maxPool3dGrad_:MX});var z2={kernelName:Rl,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=e;return{x:()=>M2(r,n,o,s,i,a,u)}}};function zX(r,t,e,n,o,s,i){let a=v(r,\"dy\",\"maxPoolGrad\"),u=v(t,\"input\",\"maxPoolGrad\"),l=v(e,\"output\",\"maxPoolGrad\");A(u.rank===a.rank,()=>`Rank of input (${u.rank}) does not match rank of dy (${a.rank})`),A(a.rank===4,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${a.rank}.`),A(u.rank===4,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${u.rank}.`),Te(\"maxPoolGrad\",s,i);let c={dy:a,input:u,output:l},p={filterSize:n,strides:o,pad:s,dimRoundingMode:i};return _.runKernel(Vp,c,p)}var B2=N({maxPoolGrad_:zX});var V2={kernelName:gs,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n,o]=t,{filterSize:s,strides:i,pad:a}=e;return{x:()=>B2(r,n,o,s,i,a)}}};var G2={kernelName:xs,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e,s=ur(o,n.shape),a=cS(n.shape,s)[1],u=Qt(a);return{x:()=>{let c=n.shape.slice();s.forEach(f=>{c[f]=1});let p=F(r,c);return ct(O(p,cr(n.shape,\"float32\")),u)}}}};var W2={kernelName:ys,inputsToSave:[\"x\"],outputsToSave:[!0],gradFunc:(r,t,e)=>{let n=e,{axis:o}=n,[s,i]=t,a=ur(o,s.shape),u=Fy(r,i,s,a);return{x:()=>u.x()}}};var U2={kernelName:bs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t;return{a:()=>O(r,tt(Ln(e,n),\"float32\")),b:()=>O(r,tt(Xe(e,n),\"float32\"))}}};var H2={kernelName:ws,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let n=t[0],{paddings:o}=e,s=o.map(i=>i[0]);return{x:()=>Ot(r,s,n.shape)}}};var q2={kernelName:$a,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=ye(e.shape,o);return a.length>0?F(ft(r,a),e.shape):r},b:()=>{let a=O(r,Yt(Gi(ct(e,n)))),u=ye(n.shape,o);return u.length>0?F(ft(a,u),n.shape):a}}}};var K2={kernelName:Cs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=O(r,tt(n,\"float32\")),u=ye(e.shape,o);return u.length>0?F(ft(a,u),e.shape):a},b:()=>{let a=O(r,tt(e,\"float32\")),u=ye(n.shape,o);return u.length>0?F(ft(a,u),n.shape):a}}}};var j2={kernelName:gi,gradFunc:r=>({x:()=>Yt(r)})};var X2={kernelName:vs,inputsToSave:[\"indices\"],gradFunc:(r,t)=>{let e=t[0];return{indices:()=>_e(e.shape,\"float32\")}}};var Y2={kernelName:xi,gradFunc:r=>({x:()=>St(r)})};var Z2={kernelName:yi,saveAllInputs:!0,gradFunc:(r,t,e)=>{let{axis:n}=e;return Tr(r,n).map(s=>()=>s)}};var _S={kernelName:Is,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let n=t[0],{paddings:o}=e,s=o.map(i=>i[0]);return{x:()=>Ot(r,s,n.shape)}}};var J2={kernelName:Ss,inputsToSave:[\"a\",\"b\"],outputsToSave:[!0],gradFunc:(r,t)=>{let[e,n,o]=t,s=e,i=n,a=zt(s.shape,i.shape);return{a:()=>{let c=tt(i,\"float32\"),p=O(r,O(c,ln(s,ut(c,mt(1))))),m=ye(s.shape,a);return m.length>0&&(p=ft(p,m)),F(p,s.shape)},b:()=>{let c=Xe(s,0),p=De(c,Sr(s),St(s)),m=O(r,O(o,p)),f=ye(i.shape,a);return f.length>0&&(m=ft(m,f)),F(m,i.shape)}}}};var Q2={kernelName:Ts,inputsToSave:[\"x\",\"alpha\"],gradFunc:(r,t)=>{let[e,n]=t,o=Xe(e,0);return{x:()=>De(o,r,O(r,n)),alpha:()=>{let s=De(o,St(r),O(r,e)),i=ye(n.shape,r.shape);return i.length>0&&(s=ft(s,i)),F(s,n.shape)}}}};function BX(r,t,e){let n=r.shape.slice();n[e]=1;let o=F(t,n),s=ec(r,e,!0,!1),i=ec(r,e,!0,!0),a=O(s,i);return O(o,a)}function VX(r,t,e){let n=r.shape.length,o=n-e.length,s=S.getAxesPermutation(e,n),i=r;s!=null&&(i=Mt(r,s));let a=i.shape.slice(),l=a.splice(n-e.length,e.length).reduce((m,f)=>m*f,1);a.push(l);let c=i.reshape(a),p=BX(c,t,o);if(p=p.reshape(i.shape),s!=null){let m=S.getUndoAxesPermutation(s);p=Mt(p,m)}return p}var t$={kernelName:Ns,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{axis:o}=e,s=[];return o==null?s=n.shape.map((i,a)=>a):typeof o==\"number\"?s=[o]:s=o,{x:()=>VX(n,r,s)}}};var e$={kernelName:ss,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=ct(r,tt(n,\"float32\")),u=ye(e.shape,o);return u.length>0?F(ft(a,u),e.shape):a},b:()=>{let a=O(r,tt(e,\"float32\")),u=ye(n.shape,o);u.length>0&&(a=F(ft(a,u),n.shape));let l=Ht(n);return Yt(ct(a,tt(l,\"float32\")))}}}};var r$={kernelName:Pa,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Yt(Ht(e)))}}};var n$={kernelName:As,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t,n=O(Ln(e,6),yo(e));return{x:()=>O(r,tt(n,\"float32\"))}}};var o$={kernelName:ks,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,tt(yo(e),\"float32\"))}}};var s$={kernelName:bi,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>F(r,e.shape)}}};var i$={kernelName:Es,inputsToSave:[\"images\"],gradFunc:(r,t,e)=>{let[n]=t,o={dy:r,images:n};return{images:()=>_.runKernel(jp,o,e)}}};var a$={kernelName:_s,inputsToSave:[\"images\"],gradFunc:(r,t,e)=>{let[n]=t,o={dy:r,images:n};return{images:()=>_.runKernel(Kp,o,e)}}};var l$={kernelName:$s,gradFunc:(r,t,e)=>{let{dims:n}=e,o=ur(n,r.shape);return{x:()=>pr(r,o)}}};var u$={kernelName:Ds,gradFunc:r=>({x:()=>St(r)})};var c$={kernelName:Rs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>Yt(ct(r,O(ln(e,1.5),2)))}}};var p$={kernelName:wi,inputsToSave:[\"condition\"],gradFunc:(r,t)=>{let[e]=t;return{condition:()=>tt(St(e),\"float32\"),t:()=>O(r,tt(e,r.dtype)),e:()=>O(r,tt(tu(e),r.dtype))}}};var m$={kernelName:Ma,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>{let n=Xe(e,mt(0)),o=mt(IS),s=mt(SS),i=O(r,s),a=O(O(r,o),or(tt(e,\"float32\")));return De(n,i,a)}}}};var f$={kernelName:Os,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,O(e,ut(mt(1),e)))}}};var d$={kernelName:Ba,gradFunc:r=>({x:()=>St(r)})};var h$={kernelName:Fs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(Zl(tt(e,\"float32\")),r)}}};var g$={kernelName:za,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(hm(tt(e,\"float32\")),r)}}};var x$={kernelName:Ci,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{begin:o,size:s}=e,i=n.shape,[a,u]=nS(n,o,s),l=[];for(let c=0;ccn(r,l)}}};var y$={kernelName:Ms,outputsToSave:[!0],gradFunc:(r,t,e)=>{let[n]=t,{dim:o}=e,s=!0,i=O(r,n);return{logits:()=>ut(i,O(ft(i,[o],s),n))}}};var b$={kernelName:Va,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,Kr(e))}}};var ES={kernelName:vi,gradFunc:(r,t,e)=>{let{blockShape:n,paddings:o}=e;return{x:()=>Yl(r,n,o)}}};var AS={kernelName:Ii,gradFunc:(r,t,e)=>{let{axis:n}=e;return{x:()=>se(r,n)}}};var w$={kernelName:Ps,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,O(Ne(tt(e,\"float32\")),2))}}};var C$={kernelName:Ml,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(r,O(tt(e,\"float32\"),2))}}};var v$={kernelName:zs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=mt(2);return{a:()=>O(r,O(o,ut(e,n))),b:()=>O(r,O(o,ut(n,e)))}}};var I$={kernelName:co,gradFunc:r=>({x:()=>St(r)})};var S$={kernelName:Bs,inputsToSave:[\"a\",\"b\"],gradFunc:(r,t)=>{let[e,n]=t,o=zt(e.shape,n.shape);return{a:()=>{let a=r,u=ye(e.shape,o);return u.length>0&&(a=ft(a,u)),F(a,e.shape)},b:()=>{let a=r,u=ye(n.shape,o);return u.length>0&&(a=ft(a,u)),F(Yt(a),n.shape)}}}};var T$={kernelName:Ls,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,o=n.shape.slice(),{axis:s}=e;ur(s,n.shape).forEach(l=>{o[l]=1});let a=F(r,o),u=O(a,cr(n.shape,\"float32\"));return{x:()=>u}}};var N$={kernelName:Vs,inputsToSave:[\"x\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>ct(r,Ht(Zl(e)))}}};var k$={kernelName:Gs,outputsToSave:[!0],gradFunc:(r,t)=>{let[e]=t;return{x:()=>O(ut(mt(1),Ht(e)),r)}}};var _$={kernelName:Xn,inputsToSave:[\"x\"],gradFunc:(r,t,e)=>{let[n]=t,{reps:o}=e;return{x:()=>{let i=St(n);if(n.rank===1)for(let a=0;a{let n=e,{perm:o}=n,s=wh(o);return{x:()=>Mt(r,s)}}};var A$={kernelName:Si,gradFunc:(r,t,e)=>{let n=e,{axis:o}=n;return{value:()=>sr(r,o)}}};var $$={kernelName:Gl,inputsToSave:[\"segmentIds\"],gradFunc:(r,t)=>{let[e]=t;return{x:()=>GX(r,e)}}};function GX(r,t){let e=Tn(t,St(t)),n=Wi(r,e),o=Pn(t,mt(0,\"int32\")),s=n.rank-o.rank;for(let a=0;a({x:()=>St(r)})};var WX=[Ry,LA,MA,zA,BA,VA,GA,WA,UA,HA,qA,KA,XA,ZA,JA,QA,t2,e2,r2,n2,o2,s2,a2,i2,u2,c2,p2,m2,f2,d2,e$,h2,g2,x2,y2,b2,C2,w2,v2,T2,N2,k2,_2,E2,A2,$2,D2,R2,F2,P2,kS,kS,L2,z2,V2,G2,W2,U2,H2,q2,K2,j2,X2,Y2,Z2,_S,_S,J2,Q2,t$,r$,n$,o$,s$,i$,a$,l$,u$,c$,p$,m$,f$,d$,h$,g$,x$,y$,b$,ES,ES,AS,AS,w$,v$,C$,I$,S$,T$,N$,k$,_$,E$,A$,$$,D$];for(let r of WX)A1(r);L().prototype.abs=function(){return this.throwIfDisposed(),$e(this)};L().prototype.acos=function(){return this.throwIfDisposed(),Cx(this)};L().prototype.acosh=function(){return this.throwIfDisposed(),vx(this)};L().prototype.add=function(r){return this.throwIfDisposed(),J(this,r)};L().prototype.all=function(r,t){return this.throwIfDisposed(),cm(this,r,t)};L().prototype.any=function(r,t){return this.throwIfDisposed(),Ju(this,r,t)};L().prototype.argMax=function(r){return this.throwIfDisposed(),Oi(this,r)};L().prototype.argMin=function(r){return this.throwIfDisposed(),Ix(this,r)};L().prototype.asScalar=function(){return this.throwIfDisposed(),A(this.size===1,()=>\"The array must have only 1 element.\"),F(this,[])};L().prototype.asType=function(r){return this.throwIfDisposed(),tt(this,r)};L().prototype.as1D=function(){return this.throwIfDisposed(),F(this,[this.size])};L().prototype.as2D=function(r,t){return this.throwIfDisposed(),F(this,[r,t])};L().prototype.as3D=function(r,t,e){return this.throwIfDisposed(),F(this,[r,t,e])};L().prototype.as4D=function(r,t,e,n){return this.throwIfDisposed(),F(this,[r,t,e,n])};L().prototype.as5D=function(r,t,e,n,o){return this.throwIfDisposed(),F(this,[r,t,e,n,o])};L().prototype.asin=function(){return this.throwIfDisposed(),Sx(this)};L().prototype.asinh=function(){return this.throwIfDisposed(),Tx(this)};L().prototype.atan=function(){return this.throwIfDisposed(),Nx(this)};L().prototype.atan2=function(r){return this.throwIfDisposed(),kx(this,r)};L().prototype.atanh=function(){return this.throwIfDisposed(),_x(this)};L().prototype.avgPool=function(r,t,e,n){return this.throwIfDisposed(),Xl(this,r,t,e,n)};L().prototype.batchToSpaceND=function(r,t){return this.throwIfDisposed(),Yl(this,r,t)};L().prototype.batchNorm=function(r,t,e,n,o){return this.throwIfDisposed(),Li(this,r,t,e,n,o)};L().prototype.broadcastTo=function(r){return this.throwIfDisposed(),Mi(this,r)};L().prototype.cast=function(r){return this.throwIfDisposed(),tt(this,r)};L().prototype.ceil=function(){return this.throwIfDisposed(),Ox(this)};L().prototype.clipByValue=function(r,t){return this.throwIfDisposed(),Ir(this,r,t)};L().prototype.concat=function(r,t){return this.throwIfDisposed(),r instanceof Lt&&(r=[r]),se([this,...r],t)};L().prototype.conv1d=function(r,t,e,n,o,s){return this.throwIfDisposed(),mm(this,r,t,e,n,o,s)};L().prototype.conv2dTranspose=function(r,t,e,n,o){return this.throwIfDisposed(),dm(this,r,t,e,n,o)};L().prototype.conv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),Sn(this,r,t,e,n,o,s)};L().prototype.cos=function(){return this.throwIfDisposed(),Zl(this)};L().prototype.cosh=function(){return this.throwIfDisposed(),hm(this)};L().prototype.cumprod=function(r,t,e){return this.throwIfDisposed(),ec(this,r,t,e)};L().prototype.cumsum=function(r,t,e){return this.throwIfDisposed(),gm(this,r,t,e)};L().prototype.depthToSpace=function(r,t){return this.throwIfDisposed(),Wx(this,r,t)};L().prototype.depthwiseConv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),zi(this,r,t,e,n,o,s)};L().prototype.dilation2d=function(r,t,e,n,o){return this.throwIfDisposed(),Ux(this,r,t,e,n,o)};L().prototype.divNoNan=function(r){return this.throwIfDisposed(),Hx(this,r)};L().prototype.div=function(r){return this.throwIfDisposed(),ct(this,r)};L().prototype.dot=function(r){return this.throwIfDisposed(),qx(this,r)};L().prototype.elu=function(){return this.throwIfDisposed(),Bi(this)};L().prototype.equal=function(r){return this.throwIfDisposed(),Ar(this,r)};L().prototype.erf=function(){return this.throwIfDisposed(),Kx(this)};L().prototype.euclideanNorm=function(r,t){return this.throwIfDisposed(),jx(this,r,t)};L().prototype.exp=function(){return this.throwIfDisposed(),or(this)};L().prototype.expandDims=function(r){return this.throwIfDisposed(),yr(this,r)};L().prototype.expm1=function(){return this.throwIfDisposed(),Xx(this)};L().prototype.fft=function(){return this.throwIfDisposed(),iu(this)};L().prototype.flatten=function(){return this.throwIfDisposed(),F(this,[this.size])};L().prototype.floor=function(){return this.throwIfDisposed(),Gi(this)};L().prototype.floorDiv=function(r){return this.throwIfDisposed(),um(this,r)};L().prototype.gather=function(r,t){return this.throwIfDisposed(),Wi(this,r,t)};L().prototype.greaterEqual=function(r){return this.throwIfDisposed(),Pn(this,r)};L().prototype.greater=function(r){return this.throwIfDisposed(),Xe(this,r)};L().prototype.ifft=function(){return this.throwIfDisposed(),Qa(this)};L().prototype.irfft=function(){return this.throwIfDisposed(),Am(this)};L().prototype.isFinite=function(){return this.throwIfDisposed(),Yx(this)};L().prototype.isInf=function(){return this.throwIfDisposed(),Zx(this)};L().prototype.isNaN=function(){return this.throwIfDisposed(),Jx(this)};L().prototype.leakyRelu=function(r){return this.throwIfDisposed(),Jl(this,r)};L().prototype.lessEqual=function(r){return this.throwIfDisposed(),Ln(this,r)};L().prototype.less=function(r){return this.throwIfDisposed(),xm(this,r)};L().prototype.localResponseNormalization=function(r,t,e,n){return this.throwIfDisposed(),Qx(this,r,t,e,n)};L().prototype.logSigmoid=function(){return this.throwIfDisposed(),ry(this)};L().prototype.logSoftmax=function(r){return this.throwIfDisposed(),ym(this,r)};L().prototype.logSumExp=function(r,t){return this.throwIfDisposed(),bm(this,r,t)};L().prototype.log=function(){return this.throwIfDisposed(),Sr(this)};L().prototype.log1p=function(){return this.throwIfDisposed(),Ql(this)};L().prototype.logicalAnd=function(r){return this.throwIfDisposed(),Dr(this,r)};L().prototype.logicalNot=function(){return this.throwIfDisposed(),tu(this)};L().prototype.logicalOr=function(r){return this.throwIfDisposed(),wm(this,r)};L().prototype.logicalXor=function(r){return this.throwIfDisposed(),ny(this,r)};L().prototype.matMul=function(r,t,e){return this.throwIfDisposed(),Gt(this,r,t,e)};L().prototype.maxPool=function(r,t,e,n){return this.throwIfDisposed(),eu(this,r,t,e,n)};L().prototype.max=function(r,t){return this.throwIfDisposed(),Mr(this,r,t)};L().prototype.maximum=function(r){return this.throwIfDisposed(),Tn(this,r)};L().prototype.mean=function(r,t){return this.throwIfDisposed(),ke(this,r,t)};L().prototype.min=function(r,t){return this.throwIfDisposed(),rc(this,r,t)};L().prototype.minimum=function(r){return this.throwIfDisposed(),Ui(this,r)};L().prototype.mirrorPad=function(r,t){return this.throwIfDisposed(),iy(this,r,t)};L().prototype.mod=function(r){return this.throwIfDisposed(),ay(this,r)};L().prototype.mul=function(r){return this.throwIfDisposed(),O(this,r)};L().prototype.neg=function(){return this.throwIfDisposed(),Yt(this)};L().prototype.norm=function(r,t,e){return this.throwIfDisposed(),Ja(this,r,t,e)};L().prototype.notEqual=function(r){return this.throwIfDisposed(),qs(this,r)};L().prototype.oneHot=function(r,t=1,e=0){return this.throwIfDisposed(),Ri(this,r,t,e)};L().prototype.onesLike=function(){return this.throwIfDisposed(),br(this)};L().prototype.pad=function(r,t){return this.throwIfDisposed(),cn(this,r,t)};L().prototype.pool=function(r,t,e,n,o,s){return this.throwIfDisposed(),ly(this,r,t,e,n,o,s)};L().prototype.pow=function(r){return this.throwIfDisposed(),ln(this,r)};L().prototype.prelu=function(r){return this.throwIfDisposed(),nu(this,r)};L().prototype.prod=function(r,t){return this.throwIfDisposed(),uy(this,r,t)};L().prototype.reciprocal=function(){return this.throwIfDisposed(),dy(this)};L().prototype.relu=function(){return this.throwIfDisposed(),Rr(this)};L().prototype.relu6=function(){return this.throwIfDisposed(),Cm(this)};L().prototype.reshapeAs=function(r){return this.throwIfDisposed(),F(this,r.shape)};L().prototype.reshape=function(r){return this.throwIfDisposed(),F(this,r)};L().prototype.resizeBilinear=function(r,t,e){return this.throwIfDisposed(),Ay(this,r,t,e)};L().prototype.resizeNearestNeighbor=function(r,t,e){return this.throwIfDisposed(),$y(this,r,t,e)};L().prototype.reverse=function(r){return this.throwIfDisposed(),pr(this,r)};L().prototype.rfft=function(){return this.throwIfDisposed(),au(this)};L().prototype.round=function(){return this.throwIfDisposed(),vm(this)};L().prototype.rsqrt=function(){return this.throwIfDisposed(),Im(this)};L().prototype.selu=function(){return this.throwIfDisposed(),Sm(this)};L().prototype.separableConv2d=function(r,t,e,n,o,s){return this.throwIfDisposed(),Tm(this,r,t,e,n,o,s)};L().prototype.sigmoid=function(){return this.throwIfDisposed(),Kr(this)};L().prototype.sign=function(){return this.throwIfDisposed(),hy(this)};L().prototype.sin=function(){return this.throwIfDisposed(),Nm(this)};L().prototype.sinh=function(){return this.throwIfDisposed(),km(this)};L().prototype.slice=function(r,t){return this.throwIfDisposed(),Ot(this,r,t)};L().prototype.softmax=function(r){return this.throwIfDisposed(),su(this,r)};L().prototype.softplus=function(){return this.throwIfDisposed(),Hs(this)};L().prototype.spaceToBatchND=function(r,t){return this.throwIfDisposed(),ru(this,r,t)};L().prototype.split=function(r,t){return this.throwIfDisposed(),mr(this,r,t)};L().prototype.sqrt=function(){return this.throwIfDisposed(),Ne(this)};L().prototype.square=function(){return this.throwIfDisposed(),Ht(this)};L().prototype.squaredDifference=function(r){return this.throwIfDisposed(),$m(this,r)};L().prototype.squeeze=function(r){return this.throwIfDisposed(),Mn(this,r)};L().prototype.stack=function(r,t){this.throwIfDisposed();let e=r instanceof Lt?[this,r]:[this,...r];return sr(e,t)};L().prototype.step=function(r){return this.throwIfDisposed(),yo(this,r)};L().prototype.stridedSlice=function(r,t,e,n,o,s,i,a){return this.throwIfDisposed(),gy(this,r,t,e,n,o,s,i,a)};L().prototype.sub=function(r){return this.throwIfDisposed(),ut(this,r)};L().prototype.sum=function(r,t){return this.throwIfDisposed(),ft(this,r,t)};L().prototype.tan=function(){return this.throwIfDisposed(),xy(this)};L().prototype.tanh=function(){return this.throwIfDisposed(),Pi(this)};L().prototype.tile=function(r){return this.throwIfDisposed(),$r(this,r)};L().prototype.toBool=function(){return this.throwIfDisposed(),tt(this,\"bool\")};L().prototype.toFloat=function(){return this.throwIfDisposed(),tt(this,\"float32\")};L().prototype.toInt=function(){return this.throwIfDisposed(),tt(this,\"int32\")};L().prototype.topk=function(r,t){return this.throwIfDisposed(),yy(this,r,t)};L().prototype.transpose=function(r){return this.throwIfDisposed(),Mt(this,r)};L().prototype.unique=function(r){return this.throwIfDisposed(),by(this,r)};L().prototype.unsortedSegmentSum=function(r,t){return this.throwIfDisposed(),Rm(this,r,t)};L().prototype.unstack=function(r){return this.throwIfDisposed(),Tr(this,r)};L().prototype.where=function(r,t){return this.throwIfDisposed(),De(r,this,t)};L().prototype.zerosLike=function(){return this.throwIfDisposed(),St(this)};var Nn=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Nn.prototype)}},Gr=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Gr.prototype)}},z=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,z.prototype)}},Nt=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Nt.prototype)}},Om=class extends Error{constructor(t){super(t),Object.setPrototypeOf(this,Om.prototype)}};var Nh=class{constructor(t){this.maxEntries=t||100,this.cache=new Map}get(t){let e;return this.cache.has(t)&&(e=this.cache.get(t),this.cache.delete(t),this.cache.set(t,e)),e}put(t,e){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxEntries){let n=this.cache.keys().next().value;this.cache.delete(n)}this.cache.set(t,e)}getMaxEntries(){return this.maxEntries}setMaxEntries(t){if(t<0)throw new Error(`The maxEntries of LRU caches must be at least 0, but got ${t}.`);if(this.maxEntries>t)for(let e=0;ee.toUpperCase())}var wo={};function Pm(r){if(r==null)return null;let t={};return t.className=r.getClassName(),t.config=r.getConfig(),t}function $S(r){if(!(r==null||typeof r!=\"object\"))if(Array.isArray(r))r.forEach(t=>$S(t));else{let t=Object.keys(r);for(let e of t){let n=r[e];n!=null&&typeof n==\"object\"&&(!Array.isArray(n)&&n.type===\"ndarray\"&&typeof n.value==\"number\"?r[e]=n.value:$S(n))}}}function ji(r,t={},e={},n=\"object\",o=!1){if(typeof r==\"string\"){let s=r,i;if(s in e)i=e[s];else if(s in wo)i=wo[s];else if(i=t[s],i==null)throw new z(`Unknown ${n}: ${r}. This may be due to one of the following reasons:\n1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return i}else{let s=r;if(s.className==null||s.config==null)throw new z(`${n}: Improper config format: ${JSON.stringify(s)}.\n'className' and 'config' must set.`);let i=s.className,a,u;if(i in e?[a,u]=e[i]:i in wo?[a,u]=wo.className:i in t&&([a,u]=t[i]),a==null)throw new z(`Unknown ${n}: ${i}. This may be due to one of the following reasons:\n1. The ${n} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${n} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(u!=null){let l={};for(let f of Object.keys(wo))l[f]=wo[f];for(let f of Object.keys(e))l[f]=e[f];let c=s.config;c.customObjects=l;let p=Object.assign({},wo);for(let f of Object.keys(e))wo[f]=e[f];$S(s.config);let m=u(a,s.config,e,o);return wo=Object.assign({},p),m}else{let l=Object.assign({},wo);for(let p of Object.keys(e))wo[p]=e[p];let c=new a(s.config);return wo=Object.assign({},l),c}}}function UX(r,t){return rt?1:0}function kh(r,t){return-1*UX(r,t)}function Io(r){if(r==null)return r;let t=[];for(let e of r)t.indexOf(e)===-1&&t.push(e);return t}function R$(r){if(r==null)throw new z(`Invalid value in obj: ${JSON.stringify(r)}`);for(let t in r)if(r.hasOwnProperty(t))return!1;return!0}function Xi(r,t,e){if(e!=null&&r.indexOf(e)<0)throw new z(`${e} is not a valid ${t}. Valid values are ${r} or null/undefined.`)}function Oy(r,t,e=0,n=1/0){return to(e>=0),to(n>=e),Array.isArray(r)&&r.length>=e&&r.length<=n&&r.every(o=>typeof o===t)}function Je(r,t){Array.isArray(r)?(y.assert(r.length>0,()=>`${t} is unexpectedly an empty array.`),r.forEach((e,n)=>Je(e,`element ${n+1} of ${t}`))):y.assert(Number.isInteger(r)&&r>0,()=>`Expected ${t} to be a positive integer, but got ${F$(r)}.`)}function F$(r){return r===null?\"null\":Array.isArray(r)?\"[\"+r.map(t=>F$(t)).join(\",\")+\"]\":typeof r==\"string\"?`\"${r}\"`:`${r}`}function O$(r,t,e){let n=e!=null?e():y.now(),o;return(...i)=>{let a=e!=null?e():y.now();return a-n0){let e=`${r}_${t}`;return Lm.set(e,1),e}else return r}var KX=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\\._\\/]*$/);function W$(r){return!!r.match(KX)}function U$(r){return r===parseInt(r.toString(),10)}function So(r,t,e){t==null&&(t=0),e==null&&(e=r.length);let n=1;for(let o=t;ot&&(t=n)}return t}function jr(r,t){if(t{if(r.shape.length!==2)throw new z(`repeat() expects a rank-2 tensor, but received a rank-${r.shape.length} tensor.`);let e=rl(r,1);return Gy(e,[1,t,1])})}function q$(r){let t=[So(r.shape)];return F(r,t)}function K$(r){if(r.rank<=1)throw new z(`batchFlatten requires a minimum rank of 2. Got rank: ${r.rank}.`);let t=[r.shape[0],So(r.shape,1)];return F(r,t)}function el(r,t,e){return G(()=>{switch(r.rank){case 1:return _m(r,t,e);case 2:return Ih(r,[t,0],[e,r.shape[1]]);case 3:return Em(r,[t,0,0],[e,r.shape[1],r.shape[2]]);case 4:return lc(r,[t,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3]]);case 5:return Ot(r,[t,0,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3],r.shape[4]]);case 6:return Ot(r,[t,0,0,0,0,0],[e,r.shape[1],r.shape[2],r.shape[3],r.shape[4],r.shape[5]]);default:throw new z(`sliceAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}})}function OS(r,t,e){return G(()=>{switch(r.rank){case 1:return _m(r,t,e);case 2:return Ih(r,[0,t],[r.shape[0],e]);case 3:return Em(r,[0,0,t],[r.shape[0],r.shape[1],e]);case 4:return lc(r,[0,0,0,t],[r.shape[0],r.shape[1],r.shape[2],e]);default:throw new z(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Eh(r,t,e,n){return G(()=>{switch(r.rank){case 1:return _m(r,t,e);case 2:switch(n){case 1:return el(r,t,e);case 2:return OS(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}case 3:switch(n){case 1:return el(r,t,e);case 2:return Em(r,[0,t,0],[r.shape[0],e,r.shape[2]]);case 3:return OS(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}case 4:switch(n){case 1:return el(r,t,e);case 2:return lc(r,[0,t,0,0],[r.shape[0],e,r.shape[2],r.shape[3]]);case 3:return lc(r,[0,0,t,0],[r.shape[0],r.shape[1],e,r.shape[3]]);case 4:return OS(r,t,e);default:throw new z(`The axis is not within the rank of the tensor ${n}`)}default:throw new z(`sliceAlongLastAxis() received an unsupported tensor rank: ${r.rank}`)}})}function Mm(r,t=-1){let e;return t<0&&(e=r[0].rank,e!==0?t=e:t=0),t===r[0].rank&&(t=-1),se(r,t)}function LS(r,t){switch(r.rank){case 1:return Px([r,t]);case 2:return Lx([r,t],0);case 3:return Mx([r,t],0);case 4:return zx([r,t],0);default:throw new z(`concatAlongFirstAxis() received an unsupported tensor rank: ${r.rank}`)}}function Gy(r,t){if(Array.isArray(t)||(t=[t]),r.rank!==t.length)throw new z(`The length of input n (${t.length}) does not match the number of dimensions in input x (${r.rank})`);return $r(r,t)}function zm(r,t=0,e=1,n,o){return ac(r,t,e,n,o)}function To(r,t,e,n){if(r.rank<2||t.rank<2)throw new Nt(`dot requires both inputs to be rank >= 2 but got x shape = ${r.shape} and y shape = ${t.shape}`);if(t.rank>=3){let o=r.shape.slice(-1)[0],s=t.shape.slice(-2)[0];if(o!==s)throw new Nt(`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 = ${t.shape}`)}if(r.rank===2&&t.rank===2)return lu.matMul({a:r,b:t,transposeA:!1,transposeB:!1,bias:n?PS(r.rank,n,mn()):null,activation:e});{let o=r.shape.slice(),s=o.pop();r=F(r,[-1,s]);let i=t.shape.slice(),a=i.pop(),u=i.pop(),l=[...i,a],c=Array.from({length:t.rank},(d,h)=>h===0?t.rank-2:h<=t.rank-2?h-1:h);t=F(Mt(t,c),[u,-1]);let p=[...o,...l],m=!1,f=!1;return F(lu.matMul({a:r,b:t,transposeA:m,transposeB:f,bias:n?PS(r.rank,n,mn()):null,activation:e}),p)}}function Wy(r,t,e){return G(()=>(Array.isArray(t)?t=Ve(t,\"int32\"):t=tt(t,\"int32\"),Wi(r,t,e)))}function gc(r){return O(r,r)}function PS(r,t,e){let n=t.shape;if(t.rank!==1&&t.rank!==r)throw new z(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${r}`);if(r===5){if(e===\"channelsFirst\")return n.length===1?F(t,[1,n[0],1,1,1]):F(t,[1,n[3],n[0],n[1],n[2]]);if(e===\"channelsLast\")return n.length===1?F(t,[1,1,1,1,n[0]]):F(t,[1].concat(n))}else if(r===4){if(e===\"channelsFirst\")return n.length===1?F(t,[1,n[0],1,1]):F(t,[1,n[2],n[0],n[1]]);if(e===\"channelsLast\")return n.length===1?F(t,[1,1,1,n[0]]):F(t,[1].concat(n))}else if(r===3){if(e===\"channelsFirst\")return n.length===1?F(t,[1,n[0],1]):F(t,[1,n[1],n[0]]);if(e===\"channelsLast\")return n.length===1?F(t,[1,1,n[0]]):F(t,[1].concat(n))}else if(r<3)return t;throw new z(`Unsupported input rank by biasAdd: ${t.rank}`)}function fn(r,t,e){return G(()=>(e==null&&(e=mn()),Pe(e),J(r,PS(r.rank,t,e))))}function j$(r,t=1){if(t!==1)throw new Nt(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return Bi(r)}function X$(r){return G(()=>ct(r,J($e(r),1)))}function Uy(r,t,e,n){return G(()=>bS(r,t,e,n))}function Y$(r){return G(()=>{let t=J(.5,O(.2,r));return Ir(t,0,1)})}function xu(r,t,e=!1){return e?r():t()}var Z$=[\"fanIn\",\"fanOut\",\"fanAvg\"],J$=[\"normal\",\"uniform\",\"truncatedNormal\"];function jX(r){Xi(Z$,\"FanMode\",r)}function XX(r){Xi(J$,\"Distribution\",r)}var hn=class extends rt.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}},Bm=class extends hn{apply(t,e){return _e(t,e)}};Bm.className=\"Zeros\";rt.registerClass(Bm);var yu=class extends hn{apply(t,e){return cr(t,e)}};yu.className=\"Ones\";rt.registerClass(yu);var Vm=class extends hn{constructor(t){if(super(),typeof t!=\"object\")throw new z(`Expected argument of type ConstantConfig but got ${t}`);if(t.value===void 0)throw new z(`config must have value set but got ${t}`);this.value=t.value}apply(t,e){return G(()=>O(mt(this.value),cr(t,e)))}getConfig(){return{value:this.value}}};Vm.className=\"Constant\";rt.registerClass(Vm);var Gm=class extends hn{constructor(t){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=t.minval||this.DEFAULT_MINVAL,this.maxval=t.maxval||this.DEFAULT_MAXVAL,this.seed=t.seed}apply(t,e){return Hi(t,this.minval,this.maxval,e)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}};Gm.className=\"RandomUniform\";rt.registerClass(Gm);var Wm=class extends hn{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new Nt(`randomNormal does not support dType ${e}.`);return zm(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};Wm.className=\"RandomNormal\";rt.registerClass(Wm);var Um=class extends hn{constructor(t){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=t.mean||this.DEFAULT_MEAN,this.stddev=t.stddev||this.DEFAULT_STDDEV,this.seed=t.seed}apply(t,e){if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new Nt(`truncatedNormal does not support dType ${e}.`);return Dm(t,this.mean,this.stddev,e,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}};Um.className=\"TruncatedNormal\";rt.registerClass(Um);var Hm=class extends hn{constructor(t){super(),this.gain=t.gain!=null?t.gain:1}apply(t,e){return G(()=>{if(t.length!==2||t[0]!==t[1])throw new z(\"Identity matrix initializer can only be used for 2D square matrices.\");return O(this.gain,nc(t[0]))})}getConfig(){return{gain:this.gain}}};Hm.className=\"Identity\";rt.registerClass(Hm);function YX(r,t=\"channelsLast\"){let e,n;if(Pe(t),r.length===2)e=r[0],n=r[1];else if([3,4,5].indexOf(r.length)!==-1){if(t===\"channelsFirst\"){let o=So(r,2);e=r[1]*o,n=r[0]*o}else if(t===\"channelsLast\"){let o=So(r,0,r.length-2);e=r[r.length-2]*o,n=r[r.length-1]*o}}else{let o=So(r);e=Math.sqrt(o),n=Math.sqrt(o)}return[e,n]}var Wr=class extends hn{constructor(t){if(super(),t.scale<0)throw new z(`scale must be a positive float. Got: ${t.scale}`);this.scale=t.scale==null?1:t.scale,this.mode=t.mode==null?\"fanIn\":t.mode,jX(this.mode),this.distribution=t.distribution==null?\"normal\":t.distribution,XX(this.distribution),this.seed=t.seed}apply(t,e){let n=YX(t),o=n[0],s=n[1],i=this.scale;if(this.mode===\"fanIn\"?i/=Math.max(1,o):this.mode===\"fanOut\"?i/=Math.max(1,s):i/=Math.max(1,(o+s)/2),this.distribution===\"normal\"){let a=Math.sqrt(i);if(e=e||\"float32\",e!==\"float32\"&&e!==\"int32\")throw new Nt(`${this.getClassName()} does not support dType ${e}.`);return Dm(t,0,a,e,this.seed)}else{let a=Math.sqrt(3*i);return Hi(t,-a,a,e)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}};Wr.className=\"VarianceScaling\";rt.registerClass(Wr);var xc=class extends Wr{constructor(t){super({scale:1,mode:\"fanAvg\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};xc.className=\"GlorotUniform\";rt.registerClass(xc);var yc=class extends Wr{constructor(t){super({scale:1,mode:\"fanAvg\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};yc.className=\"GlorotNormal\";rt.registerClass(yc);var bc=class extends Wr{constructor(t){super({scale:2,mode:\"fanIn\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};bc.className=\"HeNormal\";rt.registerClass(bc);var wc=class extends Wr{constructor(t){super({scale:2,mode:\"fanIn\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};wc.className=\"HeUniform\";rt.registerClass(wc);var Cc=class extends Wr{constructor(t){super({scale:1,mode:\"fanIn\",distribution:\"normal\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};Cc.className=\"LeCunNormal\";rt.registerClass(Cc);var vc=class extends Wr{constructor(t){super({scale:1,mode:\"fanIn\",distribution:\"uniform\",seed:t==null?null:t.seed})}getClassName(){return Wr.className}};vc.className=\"LeCunNormal\";rt.registerClass(vc);var qm=class extends hn{constructor(t){if(super(),this.DEFAULT_GAIN=1,this.gain=t.gain==null?this.DEFAULT_GAIN:t.gain,this.seed=t.seed,this.seed!=null)throw new Nt(\"Random seed is not implemented for Orthogonal Initializer yet.\")}apply(t,e){return G(()=>{if(t.length<2)throw new Nt(\"Shape must be at least 2D.\");t[0]*t[1]>2e3&&console.warn(`Orthogonal initializer is being called on a matrix with more than 2000 (${t[0]*t[1]}) elements: Slowness may result.`);let n=t[0]>t[1]?[t[1],t[0]]:t,o=zm(n,0,1,\"float32\"),s=vS.gramSchmidt(o);return t[0]>t[1]&&(s=Mt(s)),O(this.gain,s)})}getConfig(){return{gain:this.gain,seed:this.seed}}};qm.className=\"Orthogonal\";rt.registerClass(qm);var Q$={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 tD(r,t={}){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"initializer\")}function Ee(r){return Pm(r)}function ge(r){if(typeof r==\"string\"){let t=r in Q$?Q$[r]:r;if(t===\"GlorotNormal\")return new yc;if(t===\"GlorotUniform\")return new xc;if(t===\"HeNormal\")return new bc;if(t===\"HeUniform\")return new wc;if(t===\"LeCunNormal\")return new Cc;if(t===\"LeCunUniform\")return new vc;{let e={};return e.className=t,e.config={},tD(e)}}else return r instanceof hn?r:tD(r)}function Hy(r){return Array.isArray(r)&&Array.isArray(r[0])}function Km(r){return r.length===0?[]:Array.isArray(r[0])?r:[r]}function Pt(r){let t;if(Array.isArray(r)){if(r.length!==1)throw new z(`Expected Tensor length to be 1; got ${r.length}`);t=r[0]}else t=r;return t}function te(r){if(Array.isArray(r)&&Array.isArray(r[0])){if(r.length===1)return r=r,r[0];throw new z(`Expected exactly 1 Shape; got ${r.length}`)}else return r}function jm(r){let t=0;for(let e of r)e.shape.length===0?t+=1:t+=e.shape.reduce((n,o)=>n*o);return t}var rD=\"Variable\",Ah=class{constructor(t,e=\"float32\",n=rD,o=!0,s=null){this.dtype=e==null?\"float32\":e,this.shape=t.shape,this.id=My(),n=n==null?rD:n,this.originalName=zy(n),this.name=By(this.originalName),this.trainable_=o,this.constraint=s,this.val=wy(t,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(t){return this.assertNotDisposed(),JX(this.val,t),this.val.id!==t.id&&(this.val.assign(t),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(t){this.trainable_=t,this.val.trainable=t}};function JX(r,t){if(r.shape.toString()!==t.shape.toString())throw new Error(\"Shape mismatch: \"+JSON.stringify(r.shape)+\" vs. \"+JSON.stringify(t.shape))}function $h(r){return r.map(t=>t.read())}function Xm(r){r.forEach(t=>{t[0].write(t[1])})}var we=class{constructor(t){this.dtype=t.dtype,this.shape=t.shape,t.shape!=null?this.ndim=t.shape.length:this.ndim=t.ndim,this.maxNDim=t.maxNDim,this.minNDim=t.minNDim,this.axes=t.axes||{}}},Xr=class{constructor(t,e,n,o,s,i,a){this.dtype=t,this.shape=e,this.sourceLayer=n,this.inputs=o,this.callArgs=s,this.outputTensorIndex=a,this.id=My(),i!=null&&(this.originalName=zy(i),this.name=By(this.originalName)),this.rank=e.length}},QX=0,nl=class{constructor(t,e){this.callArgs=e,this.id=QX++,this.outboundLayer=t.outboundLayer,this.inboundLayers=t.inboundLayers,this.nodeIndices=t.nodeIndices,this.tensorIndices=t.tensorIndices,this.inputTensors=t.inputTensors,this.outputTensors=t.outputTensors,this.inputMasks=t.inputMasks,this.outputMasks=t.outputMasks,this.inputShapes=t.inputShapes,this.outputShapes=t.outputShapes;for(let n of t.inboundLayers)n!=null&&n.outboundNodes.push(this);t.outboundLayer.inboundNodes.push(this)}getConfig(){let t=[];for(let e of this.inboundLayers)e!=null?t.push(e.name):t.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:t,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}},t8=0,Bt=class extends rt.Serializable{constructor(t={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=t8++,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 e=t.name;if(!e){let n=this.getClassName();e=vo(n)+\"_\"+gu(n)}if(this.name=e,this.trainable_=t.trainable==null?!0:t.trainable,t.inputShape!=null||t.batchInputShape!=null){let n;if(t.batchInputShape!=null)n=t.batchInputShape;else if(t.inputShape!=null){let s=null;t.batchSize!=null&&(s=t.batchSize),n=[s].concat(t.inputShape)}this.batchInputShape=n;let o=t.dtype;o==null&&(o=t.inputDType),o==null&&(o=\"float32\"),this.dtype=o}t.weights!=null?this.initialWeights=t.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(t,e){return t.name+\"_ib-\"+e.toString()}getNodeAtIndex(t,e){if(this.inboundNodes.length===0)throw new Gr(`The layer has never been called and thus has no defined ${e}.`);if(this.inboundNodes.length<=t)throw new z(`Asked to get ${e} at node ${t}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[t]}getInputAt(t){return Nr(this.getNodeAtIndex(t,\"input\").inputTensors)}getOutputAt(t){return Nr(this.getNodeAtIndex(t,\"output\").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new Nn(`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 Nn(`Layer ${this.name} is not connected, no input to return.`);return Nr(this.getNodeAtIndex(0,\"input\").inputTensors)}get output(){if(this.inboundNodes.length===0)throw new Nn(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new Nn(`Layer ${this.name} has multiple inbound nodes, hence the notion of \"layer output\" is ill-defined. Use \\`getOutputAt(nodeIndex)\\` instead.`);return Nr(this.getNodeAtIndex(0,\"output\").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(t=>t())}get updates(){return this._updates}get built(){return this._built}set built(t){this._built=t}get trainable(){return this.trainable_}set trainable(t){this._trainableWeights.forEach(e=>e.trainable=t),this.trainable_=t}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(t=>t.trainable):[]}set trainableWeights(t){this._trainableWeights=t}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(t=>!t.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(t){this._nonTrainableWeights=t}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(t){if(t=be(t),this.inputSpec==null||this.inputSpec.length===0)return;let e=be(this.inputSpec);if(t.length!==e.length)throw new z(`Layer ${this.name} expects ${e.length} inputs, but it received ${t.length} input tensors. Input received: ${t}`);for(let n=0;ns.maxNDim)throw new z(`Input ${n} is incompatible with layer ${this.name}: expected max_ndim=${s.maxNDim}, found ndim=${i}`);if(s.minNDim!=null&&i=0?a[l]:a[a.length+l];if(c!=null&&[c,null].indexOf(p)===-1)throw new z(`Input ${n} is incompatible with layer ${this.name}: expected axis ${l} of input shape to have value ${c} but got shape ${a}.`)}}if(s.shape!=null)for(let a=0;a{if(!this.built){this.assertInputCompatibility(t);let i=[];for(let a of be(t))i.push(a.shape);this.build(Nr(i)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),this._refCount===null&&s&&(this._refCount=1)}if(this.assertInputCompatibility(t),s){let i=this.call(t,e),a=be(i),u=[];for(let l of a)n.indexOf(l)!==-1&&(l=l.clone()),u.push(l);if(i=Nr(u),this.activityRegularizer!=null)throw new Nt(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return i}else{let i=e8(t),a=this.computeOutputShape(i),u,l=r8(t);if(this.warnOnIncompatibleInputShape(Array.isArray(t)?i[0]:i),a!=null&&a.length>0&&Array.isArray(a[0])?u=a.map((c,p)=>new Xr(l,c,this,be(t),e,this.name,p)):u=new Xr(l,a,this,be(t),e,this.name),this.addInboundNode(t,u,null,null,i,a,e),this._refCount++,this.activityRegularizer!=null)throw new Nt(\"Layer invocation in the presence of activity regularizer(s) is not supported yet.\");return u}})}warnOnIncompatibleInputShape(t){if(this.batchInputShape!=null)if(t.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(t)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let e=!1;this.batchInputShape.forEach((n,o)=>{n!=null&&t[o]!=null&&t[o]!==n&&(e=!0)}),e&&console.warn(`The shape of the input tensor (${JSON.stringify(t)}) 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 Nn(`The layer ${this.name} has never been called and thus has no defined output shape.`);let t=[];for(let e of this.inboundNodes){let n=JSON.stringify(e.outputShapes);t.indexOf(n)===-1&&t.push(n)}if(t.length===1){let e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&e.length===1?e[0]:e}else throw new Nn(`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 Gr(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return jm(this.weights)}build(t){this.built=!0}getWeights(t=!1){return $h(t?this.trainableWeights:this.weights)}setWeights(t){G(()=>{let e=this.weights;if(e.length!==t.length)throw new z(`You called setWeights(weights) on layer \"${this.name}\" with a weight list of length ${t.length}, but the layer was expecting ${e.length} weights. Provided weights: ${t}...`);if(e.length===0)return;let n=[],o=$h(e);for(let s=0;ss.apply(c.read())),i==null&&(i=!0),i?this._trainableWeights.push(c):this._nonTrainableWeights.push(c),c}setFastWeightInitDuringBuild(t){this.fastWeightInitDuringBuild=t}addLoss(t){t==null||Array.isArray(t)&&t.length===0||(t=be(t),this._losses!==void 0&&this._losses!==null&&this.losses.push(...t))}computeOutputShape(t){return t}computeMask(t,e){if(!this.supportsMasking){if(e!=null)if(Array.isArray(e))e.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 e}addInboundNode(t,e,n,o,s,i,a=null){let u=be(t);e=be(e),n=be(n),o=be(o),s=Km(s),i=Km(i);let l=[],c=[],p=[];for(let m of u)l.push(m.sourceLayer),c.push(m.nodeIndex),p.push(m.tensorIndex);new nl({outboundLayer:this,inboundLayers:l,nodeIndices:c,tensorIndices:p,inputTensors:u,outputTensors:e,inputMasks:n,outputMasks:o,inputShapes:s,outputShapes:i},a);for(let m=0;mt.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 t=0;return--this._refCount===0&&(t=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:t}}};function e8(r){r=be(r);let t=[];for(let e of r)t.push(e.shape);return Nr(t)}function r8(r){return\"float32\"}function MS(r,t,e){if((t==null||e!=null&&e>0)&&(t=r.sourceLayer,e=r.nodeIndex),t.inboundNodes.length===0)return[r];{let n=t.inboundNodes[e];if(n.inboundLayers.length===0)return n.inputTensors;{let o=[];for(let s=0;sd.name),u=[],l=t.names();for(let d of a)l.indexOf(d)!==-1?u.push(t.getValue(d)):u.push(null);n!=null&&(n.maxNumTensors=-1/0,n.minNumTensors=1/0);let c=a.join(\",\")+\"|\"+t.names().sort().join(\",\"),p=Ky.get(c),m;if(p==null){let d=o8(i,t);p=d.sorted,m=d.recipientCounts,Ky.put(c,p),jy.put(c,m)}m={},o||Object.assign(m,jy.get(c));let f=new No(t);for(let d=0;dn.maxNumTensors&&(n.maxNumTensors=P),P0,()=>\"Expected at least one fetch, got none\");let e=[],n={};if(r.length===1){let o=nD(r[0],t);e=o.sorted,n=o.recipientMap}else{let o=new Set;for(let s of r){let{sorted:i,recipientMap:a}=nD(s,t);for(let u of i)o.has(u.name)||(e.push(u),o.add(u.name));for(let u in a)n[u]==null&&(n[u]=new Set),a[u].forEach(l=>n[u].add(l))}}return{sorted:e,recipientCounts:s8(n)}}function s8(r){let t={};for(let e in r)t[e]=r[e].size;return t}function nD(r,t){let e=new Set,n=[],o={};for(let a of t.names())e.add(a);let s=[],i=[];for(s.push(r);s.length>0;){let a=s[s.length-1];if(e.has(a.name)){s.pop();continue}let u=i[i.length-1]===s.length-1;if(a.inputs.length===0||u)s.pop(),n.push(a),e.add(a.name),u&&i.pop();else{i.push(s.length-1);for(let l of a.inputs)o[l.name]==null&&(o[l.name]=new Set),o[l.name].add(a.name),!e.has(l.name)&&s.push(l)}}return{sorted:n,recipientMap:o}}function i8(r){let t;if(r.sourceLayer.inboundNodes.length===1)t=r.sourceLayer.output;else{let e=null;for(let n=0;n100,oD);var aD={};jt(aD,{maxNorm:()=>l8,minMaxNorm:()=>p8,nonNeg:()=>c8,unitNorm:()=>u8});function zS(r,t){return G(()=>Ne(ft(O(r,r),t,!0)))}var Sc=class extends rt.Serializable{getConfig(){return{}}},Ym=class extends Sc{constructor(t){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=t.maxValue!=null?t.maxValue:this.defaultMaxValue,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return G(()=>{let e=zS(t,this.axis),n=Ir(e,0,this.maxValue);return O(t,ct(n,J(ar(),e)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}};Ym.className=\"MaxNorm\";rt.registerClass(Ym);var Zm=class extends Sc{constructor(t){super(),this.defaultAxis=0,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return G(()=>ct(t,J(ar(),zS(t,this.axis))))}getConfig(){return{axis:this.axis}}};Zm.className=\"UnitNorm\";rt.registerClass(Zm);var Jm=class extends Sc{apply(t){return Rr(t)}};Jm.className=\"NonNeg\";rt.registerClass(Jm);var Qm=class extends Sc{constructor(t){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=t.minValue!=null?t.minValue:this.defaultMinValue,this.maxValue=t.maxValue!=null?t.maxValue:this.defaultMaxValue,this.rate=t.rate!=null?t.rate:this.defaultRate,this.axis=t.axis!=null?t.axis:this.defaultAxis}apply(t){return G(()=>{let e=zS(t,this.axis),n=J(O(this.rate,Ir(e,this.minValue,this.maxValue)),O(1-this.rate,e));return O(t,ct(n,J(ar(),e)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}};Qm.className=\"MinMaxNorm\";rt.registerClass(Qm);var sD={maxNorm:\"MaxNorm\",minMaxNorm:\"MinMaxNorm\",nonNeg:\"NonNeg\",unitNorm:\"UnitNorm\"};function Ge(r){return Pm(r)}function iD(r,t={}){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"constraint\")}function We(r){if(r==null)return null;if(typeof r==\"string\"){let e={className:r in sD?sD[r]:r,config:{}};return iD(e)}else return r instanceof Sc?r:iD(r)}function l8(r){return new Ym(r)}function u8(r){return new Zm(r)}function c8(){return new Jm}function p8(r){return new Qm(r)}var lD={};jt(lD,{constant:()=>d8,glorotNormal:()=>C8,glorotUniform:()=>w8,heNormal:()=>v8,heUniform:()=>I8,identity:()=>y8,leCunNormal:()=>S8,leCunUniform:()=>T8,ones:()=>f8,orthogonal:()=>N8,randomNormal:()=>g8,randomUniform:()=>h8,truncatedNormal:()=>x8,varianceScaling:()=>b8,zeros:()=>m8});function m8(){return new Bm}function f8(){return new yu}function d8(r){return new Vm(r)}function h8(r){return new Gm(r)}function g8(r){return new Wm(r)}function x8(r){return new Um(r)}function y8(r){return new Hm(r)}function b8(r){return new Wr(r)}function w8(r){return new xc(r)}function C8(r){return new yc(r)}function v8(r){return new bc(r)}function I8(r){return new wc(r)}function S8(r){return new Cc(r)}function T8(r){return new vc(r)}function N8(r){return new qm(r)}var BD={};jt(BD,{Layer:()=>Bt,RNN:()=>_n,RNNCell:()=>al,activation:()=>VY,add:()=>YY,alphaDropout:()=>R7,average:()=>ZY,averagePooling1d:()=>QS,averagePooling2d:()=>tT,averagePooling3d:()=>eT,avgPool1d:()=>i7,avgPool2d:()=>l7,avgPool3d:()=>c7,avgPooling1d:()=>a7,avgPooling2d:()=>u7,avgPooling3d:()=>p7,batchNormalization:()=>n7,bidirectional:()=>T7,concatenate:()=>JY,conv1d:()=>DY,conv2d:()=>RY,conv2dTranspose:()=>FY,conv3d:()=>OY,conv3dTranspose:()=>PY,convLstm2d:()=>C7,convLstm2dCell:()=>v7,cropping2D:()=>MY,dense:()=>GY,depthwiseConv2d:()=>BY,dot:()=>r7,dropout:()=>WY,elu:()=>NY,embedding:()=>XY,flatten:()=>HY,gaussianDropout:()=>D7,gaussianNoise:()=>$7,globalAveragePooling1d:()=>m7,globalAveragePooling2d:()=>f7,globalMaxPool1d:()=>k7,globalMaxPool2d:()=>_7,globalMaxPooling1d:()=>PD,globalMaxPooling2d:()=>LD,gru:()=>h7,gruCell:()=>g7,input:()=>KS,inputLayer:()=>TY,layerNormalization:()=>o7,leakyReLU:()=>_Y,lstm:()=>x7,lstmCell:()=>y7,masking:()=>F7,maxPool1d:()=>E7,maxPool2d:()=>A7,maxPooling1d:()=>MD,maxPooling2d:()=>zD,maxPooling3d:()=>d7,maximum:()=>QY,minimum:()=>t7,multiply:()=>e7,permute:()=>jY,prelu:()=>EY,reLU:()=>kY,repeatVector:()=>qY,reshape:()=>KY,rnn:()=>I7,separableConv2d:()=>LY,simpleRNN:()=>b7,simpleRNNCell:()=>w7,softmax:()=>AY,spatialDropout1d:()=>UY,stackedRNNCells:()=>S7,thresholdedReLU:()=>$Y,timeDistributed:()=>N7,upSampling2d:()=>zY,zeroPadding2d:()=>s7});async function Yi(r){if(r==null)return;let t=[],e=[],n=[];for(let o in r){let s=r[o];if(typeof s!=\"number\"){let i=s;t.push(i.data()),e.push(o),n.push(i)}}if(t.length>0){let o=await Promise.all(t);for(let s=0;sJ(this.totals[o],O(s,n)));this.totals[o]=a,i!=null&&i.dispose()}}}async onEpochEnd(t,e){if(e!=null)for(let n of this.params.metrics)this.totals[n]!=null&&(typeof this.totals[n]==\"number\"?e[n]=this.totals[n]/this.seen:G(()=>{let o=O(ct(1,this.seen),this.totals[n]);e[n]=o,this.totals[n].dispose(),Oe(e[n])}))}},Zy=class extends ol{async onTrainBegin(t){this.epoch=[],this.history={}}async onEpochEnd(t,e){e==null&&(e={}),this.epoch.push(t);for(let n in e)this.history[n]==null&&(this.history[n]=[]),this.history[n].push(e[n])}async syncData(){let t=[],e=[],n=[];for(let s in this.history){let i=this.history[s];for(let a=0;anew Jy(n,t))}var gn=class{constructor(){}static registerCallbackConstructor(t,e){y.assert(t>=0&&Number.isInteger(t),()=>`Verbosity level is expected to be an integer >= 0, but got ${t}`),gn.checkForDuplicate(e),gn.constructors[t]==null&&(gn.constructors[t]=[]),gn.constructors[t].push(e)}static checkForDuplicate(t){for(let e in gn.constructors)gn.constructors[+e].forEach(o=>{if(o===t)throw new z(\"Duplicate callback constructor.\")})}static clear(){gn.constructors={}}static createCallbacks(t){let e=[];for(let n in gn.constructors){let o=+n;t>=o&&e.push(...gn.constructors[o])}return e.map(n=>new n)}};gn.constructors={};function tb(r,t,e,n,o,s,i,a,u){let l=new Zy,c=[new BS,...gn.createCallbacks(t)];r!=null&&c.push(...r),c.push(l);let p=new Yy(c);return p.setParams({epochs:e,initialEpoch:n,samples:o,steps:s,batchSize:i,verbose:t,doValidation:a,metrics:u}),{callbackList:p,history:l}}function xn(r,t={},e=!1){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"layer\",e)}function Dh(r,t){return G(()=>{r.dtype!==\"float32\"&&(r=tt(r,\"float32\"));let e=ft(gc(r),t,!0),n=Vi(e.shape,ar()),o=Ne(Tn(e,n));return ct(r,o)})}function Zi(r,t){return G(()=>ke(gc(ut(t,r)),-1))}function tf(r,t){return G(()=>ke($e(ut(t,r)),-1))}function bu(r,t){return G(()=>{let e=ut(r,t),n=Ir($e(r),ar(),Number.MAX_VALUE),o=$e(ct(e,n));return O(100,ke(o,-1))})}function _8(r,t){return G(()=>{let e=Ir(t,ar(),Number.MAX_VALUE),n=Sr(J(1,e)),o=Ir(r,ar(),Number.MAX_VALUE),s=Sr(J(1,o));return ke(gc(ut(n,s)),-1)})}function E8(r,t){return G(()=>{let e=Tn(0,ut(1,O(r,t)));return ke(gc(e),-1)})}function A8(r,t){return G(()=>{let e=Tn(0,ut(1,O(r,t)));return ke(e,-1)})}function $8(r,t){return G(()=>{let e=ft(O(r,t),-1),n=Mr(O(ut(1,r),t),-1);return Tn(0,J(1,ut(n,e)))})}function D8(r,t){return G(()=>{let e=Math.log(2),n=ut(t,r),o=ut(J(n,Hs(O(-2,n))),e);return ke(o,-1)})}function Tc(r,t,e=!1){return G(()=>{if(e)t=su(t);else{let n=ft(t,t.shape.length-1,!0);t=ct(t,n)}return t=Ir(t,ar(),1-ar()),Yt(ft(O(tt(r,\"float32\"),Sr(t)),t.shape.length-1))})}function ef(r,t,e=!1){return G(()=>{let n=tt(Gi(q$(r)),\"int32\");t=Ir(t,ar(),1-ar());let o=t.shape,s=F(Ri(n,o[o.length-1]),o);return Tc(s,t,e)})}function R8(r,t){if(!y.arraysEqual(r.shape,t.shape))throw new z(`logits and labels must have the same shape, but got shapes ${JSON.stringify(r.shape)} and ${JSON.stringify(t.shape)}`);return G(()=>{let e=Rr(t),n=Yt($e(t));return J(ut(e,O(t,r)),Ql(or(n)))})}function rf(r,t){return G(()=>{let e;return e=Ir(t,ar(),1-ar()),e=Sr(ct(e,ut(1,e))),ke(R8(r,e),-1)})}function F8(r,t){return G(()=>{let e=Ir(r,ar(),1),n=Ir(t,ar(),1);return ft(O(r,Sr(ct(e,n))),-1)})}function O8(r,t){return G(()=>{let e=Sr(J(ar(),t));return ke(ut(t,O(r,e)),-1)})}function Fh(r,t){return G(()=>{let e=Dh(r,-1),n=Dh(t,-1),o=O(e,n);return Yt(ft(o,-1))})}var Rh={meanSquaredError:Zi,meanAbsoluteError:tf,meanAbsolutePercentageError:bu,meanSquaredLogarithmicError:_8,squaredHinge:E8,hinge:A8,categoricalHinge:$8,logcosh:D8,categoricalCrossentropy:Tc,sparseCategoricalCrossentropy:ef,binaryCrossentropy:rf,kullbackLeiblerDivergence:F8,poisson:O8,cosineProximity:Fh};function eb(r){if(typeof r==\"string\"){if(r in Rh)return Rh[r];let t=`Unknown loss ${r}`;throw r.toLowerCase().includes(\"softmaxcrossentropy\")&&(t=`Unknown loss ${r}. Use \"categoricalCrossentropy\" as the string name for tf.losses.softmaxCrossEntropy`),new z(t)}else return r}function Oh(r,t){return G(()=>{let e=O(.5,br(t)),n=hc(Xe(t,e),r.dtype);return ke(Ar(r,n),-1)})}function Ph(r,t){return G(()=>hc(Ar(Oi(r,-1),Oi(t,-1)),\"float32\"))}function pD(r,t){return G(()=>tt(ft(Dr(Ar(r,1),Ar(t,1))),\"float32\"))}function P8(r,t){return G(()=>tt(ft(Dr(Ar(r,1),Ar(t,0))),\"float32\"))}function L8(r,t){return G(()=>tt(ft(Dr(Ar(r,0),Ar(t,1))),\"float32\"))}function VS(r,t){return G(()=>{let e=pD(r,t),n=L8(r,t),o=J(e,n);return tt(De(Xe(o,0),ct(e,o),0),\"float32\")})}function mD(r,t){return G(()=>{let e=pD(r,t),n=P8(r,t),o=J(e,n);return tt(De(Xe(o,0),ct(e,o),0),\"float32\")})}function nb(r,t){return rf(r,t)}function ob(r,t){return r.rank===t.rank&&(r=Mn(r,[r.rank-1])),t=Oi(t,-1),t.dtype!==r.dtype&&(t=tt(t,r.dtype)),tt(Ar(r,t),\"float32\")}var M8=Zi,z8=Zi,B8=tf,V8=tf,G8=bu,W8=bu,Lh=Tc,U8=Fh,GS=ef,rb={binaryAccuracy:Oh,categoricalAccuracy:Ph,precision:VS,categoricalCrossentropy:Lh,sparseCategoricalCrossentropy:GS,mse:M8,MSE:z8,mae:B8,MAE:V8,mape:G8,MAPE:W8,cosine:U8};function fD(r){if(typeof r==\"string\"&&r in rb)return rb[r];if(typeof r!=\"string\"&&r!=null)return r;throw new z(`Unknown metric ${r}`)}function Mh(r){if(to(r!==null,`Unknown LossOrMetricFn ${r}`),typeof r==\"string\")return r;{let t;for(let e of Object.keys(Rh))if(Rh[e]===r){t=e;break}if(t!==void 0)return t;for(let e of Object.keys(rb))if(rb[e]===r){t=e;break}return t!==void 0?t:r.name}}function hD(r){let t={Adagrad:()=>fc.adagrad(.01),Adadelta:()=>fc.adadelta(1,.95,ar()),Adam:()=>fc.adam(.001,.9,.999,ar()),Adamax:()=>fc.adamax(.002,.9,.999,ar(),0),RMSProp:()=>fc.rmsprop(.001,.9,0,ar()),SGD:()=>fc.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,r in t)return t[r]();throw new z(`Unknown Optimizer ${r}`)}function US(r,t,e=!1){if(r==null||typeof r!=\"object\"||Object.getPrototypeOf(r)!==Object.prototype||!WS(r))throw new Error(\"User-defined metadata is expected to be a JSON object, but is not.\");if(e){let n=JSON.stringify(r);n.length>1048576&&console.warn(`User-defined metadata of model \"${t}\" 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 <= ${1048576}.`)}}function WS(r){if(r===null)return!0;if(typeof r==\"object\")if(Object.getPrototypeOf(r)===Object.prototype){let t=Object.keys(r);for(let e of t)if(typeof e!=\"string\"||!WS(r[e]))return!1;return!0}else if(Array.isArray(r)){for(let t of r)if(!WS(t))return!1;return!0}else return!1;else{let t=typeof r;return t===\"string\"||t===\"number\"||t===\"boolean\"}}function gD(r,t,e,n=console.log){let o=K8(r),s=[\"Layer (type)\",\"Input Shape\",\"Output shape\",\"Param #\"];o?(t=t||90,e=e||[.32,.61,.89,1]):(t=t||115,e=e||[.24,.48,.7,.8,1]),e[e.length-1]<=1&&(e=e.map(c=>Math.floor(t*c)));let i;if(!o){s.push(\"Receives inputs\"),i=[];for(let c in r.nodesByDepth)i.push(...r.nodesByDepth[c])}n(\"_\".repeat(t)),sb(s,e,n),n(\"=\".repeat(t));let a=r.layers;for(let c=0;c1||o.length===1&&o[0].inboundLayers.length>1){t=!1;break}n.push(...o)}if(t)for(let o of r.layers){let s=!1;for(let i of o.inboundNodes)if(n.indexOf(i)!==-1)if(s){t=!1;break}else s=!0;if(!t)break}return t}function sb(r,t,e=console.log){let n=\"\";for(let o=0;o0&&(n=n.slice(0,n.length-1)+\" \"),n+=r[o],n=n.slice(0,t[o]),n+=\" \".repeat(t[o]-n.length);e(n)}function j8(r,t,e){let n,o;try{o=r.inboundNodes.map(u=>JSON.stringify(u.inputShapes)).join(\",\")}catch(u){o=\"multiple\"}try{n=JSON.stringify(r.outputShape)}catch(u){n=\"multiple\"}let s=r.name,i=r.getClassName(),a=[`${s} (${i})`,o,n,r.countParams().toString()];sb(a,t,e)}function X8(r,t,e,n){let o,s;try{s=r.inboundNodes.map(p=>JSON.stringify(p.inputShapes)).join(\",\")}catch(p){s=\"multiple\"}try{o=JSON.stringify(r.outputShape)}catch(p){o=\"multiple\"}let i=[];for(let p of r.inboundNodes)if(!(e!=null&&e.length>0&&e.indexOf(p)===-1))for(let m=0;mb.name)}`);Io(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,C=b.nodeIndex,T=b.tensorIndex;this.outputLayers.push(w),this.outputLayersNodeIndices.push(C),this.outputLayersTensorIndices.push(T)}for(let b of this.inputs){let w=b.sourceLayer,C=b.nodeIndex,T=b.tensorIndex;to(C===0,\"input layer has >1 nodes\"),to(T===0,\"input layer has >1 tensors\"),this.inputLayers.push(w),this.inputLayersNodeIndices.push(C),this.inputLayersTensorIndices.push(T)}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 e={},n={},o={},s={},i={},a=[],u=(b,w,C,T,E,$)=>{(T==null||E==null||$==null)&&(T=b.sourceLayer,E=b.nodeIndex,$=b.tensorIndex);let D=T.inboundNodes[E];if(C.indexOf(D)!==-1)throw new Gr(`The tensor ${b.name} at layer \"${T.name}\" is part of a cycle.`);if(w.indexOf(D)!==-1)return;this.containerNodes.add(zn.nodeKey(T,E)),T.id in i||(i[T.id]=Object.keys(i).length),C.indexOf(D)===-1&&C.push(D);let P=D.inboundLayers.length;for(let M=0;M=0;)C.splice(C.indexOf(D),1);a.push(D)},l=[],c=[];for(let b of this.outputs)u(b,l,c);let p=a.slice().reverse();for(let b of p){n[b.id]=b,b.id in e||(e[b.id]=0);let w=e[b.id],C=o[b.outboundLayer.id]==null?0:o[b.outboundLayer.id];w=Math.max(w,C),o[b.outboundLayer.id]=w,s[b.outboundLayer.id]=b.outboundLayer,e[b.id]=w;for(let T=0;TparseInt(b,10)).sort(kh);this.layers=[];for(let b of d){let w=f[b];w.sort((C,T)=>{let E=i[C.id],$=i[T.id];return E<$?-1:E>$?1:0});for(let C of w)C instanceof zn&&this.internalContainerRefs.push(C),this.layers.push(C)}this.layersByDepth=f,d=Object.keys(m).map(b=>parseInt(b,10)).sort(kh);let h=this.inputs.slice(),g=[];for(let b of d)for(let w of m[b]){let C=w.outboundLayer;if(C!=null){for(let T of w.inputTensors)if(h.indexOf(T)===-1)throw new Gr(`Graph disconnected: cannot obtain value for tensor ${T} at layer \"${C.name}\". The following previous layers were accessed without issue: ${g}`);for(let T of w.outputTensors)h.push(T);g.push(C.name)}}this.nodesByDepth=m;let x=this.layers.map(b=>b.name);for(let b of x){let w=x.filter(C=>C===b).length;if(w!==1)throw new Gr(`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 nl({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 t={refCountAfterDispose:null,numDisposedVariables:0};if(--this._refCount===0){for(let e of this.layers)t.numDisposedVariables+=e.dispose().numDisposedVariables;for(let e of this.internalContainerRefs)t.numDisposedVariables+=e.dispose().numDisposedVariables}return t.refCountAfterDispose=this._refCount,t}get trainable(){return this.trainable_}set trainable(t){this.layers.forEach(e=>{e._trainableWeights.forEach(n=>n.trainable=t)}),this.trainable_=t}get trainableWeights(){if(this._trainableWeights.length>0)throw new z(\"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 t=[];for(let e of this.layers)t=t.concat(e.trainableWeights);return t}get nonTrainableWeights(){let t=[];for(let e of this.layers)t.push(...e.nonTrainableWeights);if(!this.trainable){let e=[];for(let n of this.layers)e.push(...n.trainableWeights);return e.concat(t)}return t}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(t,e=!0){let n={},o=0;for(let i of this.layers)for(let a of i.weights){if(n[a.originalName]!=null)throw new z(`Duplicate weight name: ${a.originalName}`);n[a.originalName]=a,o++}let s=[];for(let i in t){let a=i;if(n[i]==null){let u=i.split(\"/\");a=u.slice(0,-2).concat([u[u.length-1]]).join(\"/\")}if(n[a]!=null)s.push([n[a],t[i]]);else if(e)throw new z(`Provided weight data has no target variable: ${i}`);delete n[a]}if(e){let i=[];for(let a in n)i.push(a);if(i.length>0)throw new z(`${i.length} of ${o} weights are not set: ${i}`)}Xm(s)}updatedConfig(){let t=this.getConfig(),e={};return e.className=this.getClassName(),e.config=t,e.kerasVersion=`tfjs-layers ${nf}`,e.backend=\"TensorFlow.js\",e}toJSON(t,e=!0){let n=ib(this.updatedConfig());return e?JSON.stringify(n):n}call(t,e){return G(()=>{t=be(t);let n=new No;for(let o=0;o{t=be(t);let n;return e==null?n=Co(null,t.length):n=be(e),this.runInternalGraph(t,n)[1]})}computeOutputShape(t){let e=Km(t);if(e.length!==this.inputLayers.length)throw new z(`Invalid inputShape argument ${t}: model has ${this.inputLayers.length} tensor inputs.`);let n={};for(let a=0;aparseInt(a,10)).sort(kh);if(o.length>1)for(let a of o){let u=this.nodesByDepth[a];for(let l of u){let c=l.outboundLayer;if(this.inputLayers.map(h=>h.id).indexOf(c.id)!==-1)continue;let p=[];for(let h=0;hparseInt(u,10)).sort(kh);for(let u of o){let l=this.nodesByDepth[u];for(let c of l){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[C,T]=d[0];h.mask==null&&(h.mask=T),b=be(p.call(C,h)),w=be(p.computeMask(C,T)),g=[C],x=[T]}else g=d.map(C=>C[0]),x=d.map(C=>C[1]),h.mask==null&&(h.mask=x),b=be(p.call(g,h)),w=be(p.computeMask(g,x));if(p.activityRegularizer)throw new Nt(\"LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.\");for(let C=0;C{let t=[];for(let e of this.layers)for(let n=0;n0){let h=[];for(let g=0;g0&&g.apply(Nr(b),w)}function l(g){let x=g.name,b=xn(g,e.customObjects!=null?e.customObjects:{});b.setFastWeightInitDuringBuild(o),s[x]=b,g.inboundNodes.forEach(C=>{if(!(C instanceof Array))throw new z(`Corrupted configuration, expected array for nodeData: ${C}`);a(b,C)})}let c=e.name,p=e.layers;for(let g of p)l(g);for(;!R$(i);)for(let g of p){let x=s[g.name];if(x.name in i){let b=i[x.name];delete i[x.name];for(let w of b)u(x,w)}}let m=[],f=[],d=e.inputLayers;for(let g of d){let x=g[0],b=g[1],w=g[2];to(x in s);let T=s[x].inboundNodes[b].outputTensors;m.push(T[w])}let h=e.outputLayers;for(let g of h){let x=g[0],b=g[1],w=g[2];to(x in s);let T=s[x].inboundNodes[b].outputTensors;f.push(T[w])}return new t({inputs:m,outputs:f,name:c})}get stateful(){if(this._stateful)throw new z(\"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 t of this.layers)if(t.stateful)return!0;return!1}resetStates(){G(()=>{this.layers.forEach(t=>{t.stateful&&t.resetStates()})})}};function Y8(r,t,e){let n=t.length;if(r==null||Array.isArray(r)&&r.length===0)return t.map(o=>null);if(n===1)return Array.isArray(r)&&r.length===1?r:typeof r==\"object\"&&t[0]in r?[r[t[0]]]:[r];if(Array.isArray(r)){if(r.length!==n)throw new Error(`Provided ${e} 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 t.forEach(s=>{s in r?o.push(r[s]):o.push(null)}),o}else throw new Error(`The model has multiple (${n}) outputs, so ${e} must be either an array with ${n} elements or an object with ${t} keys. Provided ${e} not understood: ${JSON.stringify(r)}`)}function ab(r,t){return Y8(r,t,\"classWeight\")}async function lb(r,t,e,n){if(t!=null||n!=null)throw new Error(\"Support sampleWeight is not implemented yet\");if(e!=null){let o=G(()=>{if(r.shape.length===1)return an(r);if(r.shape.length===2){if(r.shape[1]>1)return Oi(r,1);if(r.shape[1]===1)return F(r,[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());_t(o);let i=[];return s.forEach(a=>{if(e[a]==null)throw new Error(`classWeight must contain all classes in the training data. The class ${a} exists in the data but not in classWeight`);i.push(e[a])}),Ve(i,\"float32\")}else return null}function yD(r,t){return O(r,t)}var Z8=32;function CD(r,t){let e,n,o=t;e=o.xs,n=o.ys,y.assert(e!=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 ${t}`);let s=bD(\"input\",r.inputNames,e),i=bD(\"output\",r.outputNames,n),a=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(i.length===r.outputs.length,()=>`LayersModel has ${r.outputs.length} outputs, but the dataset provides ${i.length} outputs. (Expected output keys: ${JSON.stringify(r.outputNames)})`);for(let u=0;u`Batch size mismatch: input ${r.inputNames[u]} has ${s[u].shape[0]}; expected ${a} based on input ${r.inputNames[0]}.`);for(let u=0;u`Batch size mismatch: output ${r.outputNames[u]} has ${i[u].shape[0]}; expected ${a} based on input ${r.inputNames[0]}.`);return{xs:s,ys:i}}function bD(r,t,e){if(e instanceof Lt)return[e];if(Array.isArray(e))return y.assert(e.length===t.length,()=>`Received an array of ${e.length} Tensors, but expected ${t.length} to match the ${r} keys ${t}.`),e;{let n=[];for(let o of t){if(e[o]==null)throw new z(`The feature data generated by the dataset lacks the required ${r} key '${o}'.`);n.push(e[o])}return n}}function J8(r){if(r.length===3)throw new Nt(\"Validation with sample weights is not implemented yet.\");return{xs:r[0],ys:r[1]}}async function vD(r,t,e){let n=e.batchesPerEpoch!=null;if(y.assert(r.optimizer!=null,()=>\"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig).\"),y.assert(e!=null,()=>\"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call.\"),y.assert(e.epochs!=null&&e.epochs>0&&Number.isInteger(e.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${e.epochs}`),y.assert(!n||e.batchesPerEpoch>0&&Number.isInteger(e.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${e.batchesPerEpoch}`),y.assert(e.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=e.validationData!=null,s,i;if(o)if(wD(e.validationData))y.assert(e.validationBatches==null||e.validationBatches>0&&Number.isInteger(e.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${e.validationBatches}`);else{let g=J8(e.validationData);s=g.xs,i=g.ys}let a=r.makeTrainFunction(),u=r.getDedupedMetricsNames(),l;o?l=u.slice().concat(u.map(g=>\"val_\"+g)):l=u.slice();let c=Qy(e.callbacks,e.yieldEvery),p=e.verbose==null?1:e.verbose,{callbackList:m,history:f}=tb(c,p,e.epochs,null,null,Q8(t,e),null,o,l);m.setModel(r),r.history=f,await m.onTrainBegin(),r.stopTraining_=!1;let d=e.initialEpoch==null?0:e.initialEpoch,h=await t.iterator();for(;d=e.batchesPerEpoch:w.done){if(o){let C;wD(e.validationData)?C=be(await r.evaluateDataset(e.validationData,{batches:e.validationBatches})):C=be(r.evaluate(s,i,{batchSize:e.validationBatchSize==null?Z8:e.validationBatchSize,verbose:0}));for(let T=0;T0)throw new Nt(\"Verbose mode is not implemented yet.\");y.assert(!n||e.batches>0&&Number.isInteger(e.batches),()=>`Test loop expects \\`batches\\` to be a positive integer, but received ${JSON.stringify(e.batches)}`);let i=tY(t)?t:await t.iterator(),a=0,u=0;for(;!n||u{if(l.value){let{xs:c,ys:p}=CD(r,l.value),m=c.concat(p),f=G(()=>o(m));if(_t(m),u===0)for(let h=0;hJ(s[h],O(d,g))),u>0&&_t(x)}_t(f),a+=d,++u}return s}),l.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, ${e.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let l=0;l0&&Number.isInteger(r),()=>`batchSize is required to be a positive integer, but got ${r}`)}function of(r,t,e){return r==null?[null]:Array.isArray(r)?r.map(n=>el(n,t,e-t)):el(r,t,e-t)}function cb(r,t){return G(()=>r==null?null:Array.isArray(r)?r.map(e=>cb(e,t)):Wy(r,t.dtype===\"int32\"?t:tt(t,\"int32\")))}function pb(r,t){let e=[],n=0,o=null;for(;n=r&&(o=r),e.push([n,o]),n=o;return e}async function eY(r,t,e,n,o,s,i,a,u,l,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(u!=null&&l!=null&&(h=!0),d!=null&&(h=!0,f==null))throw new z(\"Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.\");let g=r.checkNumSamples(e,o,f,\"steps_per_epoch\"),x;g!=null&&(x=jr(0,g)),i==null&&(i=1);let{callbackList:b,history:w}=tb(a,i,s,m,g,f,o,h,p);b.setModel(r),r.history=w,await b.onTrainBegin(),r.stopTraining_=!1;for(let C=m;C{let M=$[D][0],W=$[D][1],H=el(E,M,W-M);P.batch=D,P.size=W-M;let q=cb(e,H),X=t(q);for(let j=0;j0){if(g=!0,n.validationData.length===2)u=n.validationData[0],l=n.validationData[1];else throw n.validationData.length===3?new Nt(\"validationData including sample weights is not supported yet.\"):new z(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);let P=!0,M=await r.standardizeUserData(u,l,null,null,P,f);c=M[0],p=M[1],x=c.concat(p)}else if(n.validationSplit!=null&&n.validationSplit>0&&n.validationSplit<1){g=!0;let P=Math.floor(o[0].shape[0]*(1-n.validationSplit)),M=o[0].shape[0];c=of(o,P,M),i=o,o=of(o,0,P),p=of(s,P,M),a=s,s=of(s,0,P),x=c.concat(p)}else n.validationSteps!=null&&(g=!0);let b=o.concat(s).concat(m);r.checkTrainableWeightsConsistency();let w=r.makeTrainFunction(),C=r.getDedupedMetricsNames(),T,E;g?(r.makeTestFunction(),T=r.testFunction,E=C.slice().concat(C.map(P=>\"val_\"+P))):(T=null,x=[],E=C.slice());let $=Qy(n.callbacks,n.yieldEvery);return await eY(r,w,b,C,f,n.epochs,n.verbose,$,T,x,n.shuffle,E,n.initialEpoch,null,null)}finally{r.isTraining=!1,ko(o,t),ko(s,e),ko(i,t),ko(a,e),ko(c,u),ko(p,l),m!=null&&_t(m)}}function HS(r){let t=[];r instanceof Lt&&(r=[r]);for(let e=0;ee.push(o.id));else if(t!=null)for(let o in t){let s=t[o];e.push(s.id)}let n=[];if(r instanceof Lt)e.indexOf(r.id)===-1&&n.push(r);else if(Array.isArray(r))r.forEach(o=>{e.indexOf(o.id)===-1&&n.push(o)});else if(r!=null)for(let o in r){let s=r[o];e.indexOf(s.id)===-1&&n.push(s)}n.forEach(o=>{o.isDisposed||o.dispose()})}function rY(r){return r instanceof Lt}function qS(r){return Array.isArray(r)}function TD(r){return!rY(r)&&!qS(r)}function ND(r,t,e,n=!0,o=\"\"){if(t==null||t.length===0){if(r!=null){let i=!1;if(qS(r)&&r.length>0)i=!0;else if(TD(r)){for(let a in r)if(r.hasOwnProperty(a)){i=!0;break}}else i=!0;if(i)throw new z(`Error when checking model ${o} expected no data, but got ${r}`)}return[]}if(r==null)return t.map(i=>null);let s;if(TD(r)){r=r,s=[];for(let i of t){if(r[i]==null)throw new z(`No data provided for \"${i}\". Need data for each key in: ${t}`);s.push(r[i])}}else if(qS(r)){if(r=r,r.length!==t.length)throw new z(`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 ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${r}`);s=r}else{if(r=r,t.length>1)throw new z(`The model ${o} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${r.shape}`);s=[r]}if(s=HS(s),e!=null)for(let i=0;i=0&&l!==c)throw new z(`${o} expected a batch of elements where each example has shape [${e[i].slice(1,e[i].length)}] (i.e.,tensor shape [*,${e[i].slice(1,e[i].length)}]) but the ${o} received an input with ${a.shape[0]} examples, each with shape [${a.shape.slice(1,a.shape.length)}] (tensor shape [${a.shape}])`)}}return s}function nY(r,t,e){let n=Io(r.map(s=>s.shape[0]));n.sort();let o=Io(t.map(s=>s.shape[0]));if(o.sort(),n.length>1)throw new z(`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 z(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map(s=>s.shape))}`);if(n.length>0&&o.length>0&&!y.arraysEqual(n,o))throw new z(`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 oY(r,t,e){let n=[Zi,rf,Tc];for(let o=0;o1)throw new z(`The model expects ${t.length} ${o} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(r.shape)}.`);s=[r]}if(e!=null)for(let i=0;i[]);let e;if(typeof r==\"string\"||typeof r==\"function\")e=[r];else if(Array.isArray(r)||typeof r==\"object\")e=r;else throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${r}`);if(Array.isArray(e))return t.map(n=>e);{let n=[];for(let o of t){let s=e.hasOwnProperty(o)?e[o]:[];Array.isArray(s)||(s=[s]),n.push(s)}return n}}var iY=\"layers-model\",Bn=class extends zn{constructor(t){super(t),this.isTraining=!1}summary(t,e,n=console.log){if(!this.built)throw new z(\"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).\");gD(this,t,e,n)}compile(t){if(t.loss==null&&(t.loss=[]),this.loss=t.loss,typeof t.optimizer==\"string\")this.optimizer_=hD(t.optimizer),this.isOptimizerOwned=!0;else{if(!(t.optimizer instanceof Br))throw new z(\"User-defined optimizer must be an instance of tf.Optimizer.\");this.optimizer_=t.optimizer,this.isOptimizerOwned=!1}let e=[];if(!Array.isArray(t.loss)&&typeof t.loss!=\"string\"&&typeof t.loss!=\"function\"){t.loss=t.loss;for(let i in t.loss)if(this.outputNames.indexOf(i)===-1)throw new z(`Unknown entry in loss dictionary: \"${i}\". Only expected the following keys: ${this.outputNames}`);for(let i of this.outputNames)t.loss[i]==null&&console.warn(`Output \"${i}\" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${i} during training`),e.push(eb(t.loss[i]))}else if(Array.isArray(t.loss)){if(t.loss.length!==this.outputs.length)throw new z(`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=${t.loss}.`);e=t.loss.map(a=>eb(a))}else{let i=eb(t.loss);this.outputs.forEach(a=>{e.push(i)})}this.lossFunctions=e,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let i=0;i{for(let i=0;i1&&(this.metricsTensors.push([a,i]),this.metricsNames.push(this.outputNames[i]+\"_loss\"))}});let o=sY(t.metrics,this.outputNames),s=(i,a,u)=>{this.outputNames.length>1&&(a=this.outputNames[i]+\"_\"+a),this.metricsNames.push(a),this.metricsTensors.push([u,i])};Ys(\"metric\",()=>{for(let i=0;i{let c=\"\",p,m,f;for(let d of l){if(typeof d==\"string\"&&[\"accuracy\",\"acc\",\"crossentropy\",\"ce\"].indexOf(d)!==-1){let g=this.internalOutputShapes[i];g[g.length-1]===1||this.lossFunctions[i]===rf?[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=Oh:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=nb):this.lossFunctions[i]===ef?[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=ob:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=GS):[\"accuracy\",\"acc\"].indexOf(d)!==-1?m=Ph:[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(m=Lh);let x;[\"accuracy\",\"acc\"].indexOf(d)!==-1?x=\"acc\":[\"crossentropy\",\"ce\"].indexOf(d)!==-1&&(x=\"ce\"),f=m,p=c+x}else f=fD(d),p=c+Mh(d);let h;Ys(p,()=>{h=f}),s(i,p,h)}})(a)}}),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(t,e,n={}){let o=n.batchSize==null?32:n.batchSize;ub(o);let s=!0,i=this.standardizeUserDataXY(t,e,s,o);try{let a=i[0].concat(i[1]);this.makeTestFunction();let u=this.testFunction,l=this.testLoop(u,a,o,n.verbose,n.steps);return Nr(l)}finally{ko(i[0],t),ko(i[1],e)}}async evaluateDataset(t,e){return this.makeTestFunction(),ID(this,t,e)}checkNumSamples(t,e,n,o=\"steps\"){let s;if(n!=null){if(s=null,e!=null)throw new z(`If ${o} is set, batchSize must be null or undefined.Got batchSize = ${e}`)}else if(t!=null)Array.isArray(t)?s=t[0].shape[0]:s=t.shape[0];else throw new z(`Either the input data should have a defined shape, or ${o} shoud be specified.`);return s}execute(t,e){if(Array.isArray(e)&&e.length===0)throw new z(\"`outputs` is an empty Array, which is not allowed.\");let n=Array.isArray(e),o=n?e:[e],s=this.retrieveSymbolicTensors(o),i=new No;if(t instanceof Lt&&(t=[t]),Array.isArray(t)){if(t.length!==this.inputs.length)throw new z(`The number of inputs provided (${t.length}) does not match the number of inputs of this model (${this.inputs.length}).`);for(let u=0;ua.name);for(let a=0;a0){let o=[];throw e.forEach((s,i)=>{s==null&&o.push(t[i])}),new z(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(o)}`)}return e}predictLoop(t,e=32,n=!1){return G(()=>{let o=this.checkNumSamples(t);if(n)throw new Nt(\"Verbose predictLoop() is not implemented yet.\");let s=pb(o,e),i=this.outputs.map(a=>[]);for(let a=0;a{let l=s[a][0],c=s[a][1],p=of(t,l,c),m=[];if(Array.isArray(p))for(let d=0;di[c].push(l));return Nr(i.map(a=>se(a,0)))})}predict(t,e={}){let n=HS(t);kD(n,this.inputNames,this.feedInputShapes,!1);try{let o=e.batchSize==null?32:e.batchSize;return ub(o),this.predictLoop(n,o)}finally{ko(n,t)}}predictOnBatch(t){kD(t,this.inputNames,this.feedInputShapes,!0);let e=(Array.isArray(t)?t[0]:t).shape[0];return this.predictLoop(t,e)}standardizeUserDataXY(t,e,n=!0,o){if(this.optimizer_==null)throw new Gr(\"You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).\");let s=[];for(let i=0;i0&&t[0].shape[0]%o!==0)throw new z(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${o}. Found: ${t[0].shape[0]} sample(s).`);return[t,e]}async standardizeUserData(t,e,n,o,s=!0,i){let[a,u]=this.standardizeUserDataXY(t,e,s,i);if(n!=null)throw new Error(\"sample weight is not supported yet.\");let l=null;if(o!=null){let c=ab(o,this.outputNames);l=[];for(let p=0;p{let i=this.checkNumSamples(e,n,s,\"steps\"),a=[];if(o>0)throw new Nt(\"Verbose mode is not implemented yet.\");if(s!=null)throw new Nt(\"steps mode in testLoop() is not implemented yet\");{let u=pb(i,n),l=Ve(jr(0,i));for(let c=0;c1&&(s+=`_${DS(t.slice(0,n),o)}`),e.push(s)}return e}makeTrainFunction(){return t=>{let e=[],n=t.slice(0,this.inputs.length),o=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=t.slice(this.inputs.length+this.outputs.length,this.inputs.length+this.outputs.length*2),i=[],a=()=>{let p=[];for(let h=0;h1&&h{d=J(d,h)}),d},u=this.collectedTrainableWeights.map(p=>p.read()),l=!0;return[this.optimizer_.minimize(a,l,u)].concat(i)}}makeTestFunction(){this.testFunction=t=>G(()=>{let e=[],n,o=t.slice(0,this.inputs.length),s=t.slice(this.inputs.length,this.inputs.length+this.outputs.length),i=[];for(let l=0;lvo(e))}else{let e=Object.keys(this.loss);t={};let n=this.loss;for(let o of e)if(typeof n[o]==\"string\")t[o]=vo(n[o]);else throw new Error(\"Serialization of non-string loss is not supported.\")}return t}getMetricIdentifiers(){if(typeof this.metrics==\"string\"||typeof this.metrics==\"function\")return[vo(Mh(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(t=>vo(Mh(t)));{let t={};for(let e in this.metrics)t[e]=vo(Mh(this.metrics[e]));return t}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(t){if(t.weighted_metrics!=null)throw new Error(\"Loading weight_metrics is not supported yet.\");if(t.loss_weights!=null)throw new Error(\"Loading loss_weights is not supported yet.\");if(t.sample_weight_mode!=null)throw new Error(\"Loading sample_weight_mode is not supported yet.\");let e=Nc(t.optimizer_config),n=xn(e),o;if(typeof t.loss==\"string\")o=tl(t.loss);else if(Array.isArray(t.loss))o=t.loss.map(i=>tl(i));else if(t.loss!=null){o={};for(let i in t.loss)o[i]=tl(t.loss[i])}let s;if(Array.isArray(t.metrics))s=t.metrics.map(i=>tl(i));else if(t.metrics!=null){s={};for(let i in t.metrics)s[i]=tl(t.metrics[i])}this.compile({loss:o,metrics:s,optimizer:n})}async save(t,e){if(typeof t==\"string\"){let l=vn.getSaveHandlers(t);if(l.length===0)throw new z(`Cannot find any save handlers for URL '${t}'`);if(l.length>1)throw new z(`Found more than one (${l.length}) save handlers for URL '${t}'`);t=l[0]}if(t.save==null)throw new z(\"LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");let n=await vn.encodeWeights(this.getNamedWeights(e)),o=!1,s=null,a={modelTopology:this.toJSON(s,o),format:iY,generatedBy:`TensorFlow.js tfjs-layers v${nf}`,convertedBy:null};if((e==null?!1:e.includeOptimizer)&&this.optimizer!=null){a.trainingConfig=this.getTrainingConfig();let l=\"optimizer\",{data:c,specs:p}=await vn.encodeWeights(await this.optimizer.getWeights(),l);n.specs.push(...p),n.data=vn.concatenateArrayBuffers([n.data,c])}return this.userDefinedMetadata!=null&&(US(this.userDefinedMetadata,this.name,!0),a.userDefinedMetadata=this.userDefinedMetadata),a.weightData=n.data,a.weightSpecs=n.specs,t.save(a)}setUserDefinedMetadata(t){US(t,this.name),this.userDefinedMetadata=t}getUserDefinedMetadata(){return this.userDefinedMetadata}};Bn.className=\"Model\";rt.registerClass(Bn);var mb=class extends Bn{};mb.className=\"Functional\";rt.registerClass(mb);async function _D(r,t){\"modelTopology\"in r||(r={modelTopology:r}),r=r;let e=r.modelTopology;e.model_config!=null&&(e=e.model_config);let n=Nc(e),o=xn(n,t);if(r.weightsManifest!=null){let s=await vn.loadWeights(r.weightsManifest,r.pathPrefix,o.weights.map(a=>a.originalName)),i={};for(let a of o.weights)i[a.originalName]=s[a.originalName];o.loadWeights(i),_t(s)}return o}async function ED(r,t){if(t==null&&(t={}),typeof r==\"string\"){let e=vn.getLoadHandlers(r,t);if(e.length===0)e.push(vn.browserHTTPRequest(r,t));else if(e.length>1)throw new z(`Found more than one (${e.length}) load handlers for URL '${r}'`);r=e[0]}return aY(r,void 0,t)}async function aY(r,t,e){if(e==null&&(e={}),r.load==null)throw new z(\"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=e.strict==null?!0:e.strict,i=n.weightData!=null&&n.weightSpecs!=null&&s,a=xn(Nc(o),t,i),u=n.trainingConfig;if(u!=null&&a.loadTrainingConfig(u),n.userDefinedMetadata!=null&&a.setUserDefinedMetadata(n.userDefinedMetadata),n.weightData!=null){if(n.weightSpecs==null)throw new z(\"LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.\");let{modelWeights:l,optimizerWeights:c}=lY(n.weightData,n.weightSpecs);a.loadWeights(l,s),a.optimizer!=null&&c.length>0&&await a.optimizer.setWeights(c),_t(l),_t(c.map(p=>p.tensor))}return a}function lY(r,t){let e=vn.decodeWeights(r,t),n={},o=[];return t.forEach(s=>{s.group===\"optimizer\"?o.push({name:s.name,tensor:e[s.name]}):n[s.name]=e[s.name]}),{modelWeights:n,optimizerWeights:o}}var Ji=class extends Bn{constructor(t){if(super({inputs:[],outputs:[]}),t=t||{},this.trainable=!0,this.built=!1,this.name=t.name!=null?t.name:gu(\"sequential_\"),t.layers!=null)for(let e of t.layers)this.add(e)}checkShape(t){if(t.inboundNodes[0].outputTensors[0].shape.some(n=>n<0))throw new z(`Negative dimension size caused by adding layer ${t.name} with input shape [${t.inboundNodes[0].inputTensors[0].shape}]`)}add(t){let e=t instanceof Ji||t instanceof Bn,n;if(e){if(n=t,n.outputs.length!==1)throw new z(\"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 z(\"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(t.inboundNodes.length===0){if(t.batchInputShape==null)throw new z(\"The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.\");let o=qy({batchShape:t.batchInputShape,dtype:t.dtype,name:t.name+\"_input\"});t.apply(o)}if(e)this.outputs=n.outputs,this.inputs=n.inputs;else{if(t.inboundNodes.length!==1)throw new z(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${t.name} which has ${t.inboundNodes.length} pre-existing inbound connections.`);if(t.inboundNodes[0].outputTensors.length!==1)throw new z(\"All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.\");this.checkShape(t),this.outputs=[t.inboundNodes[0].outputTensors[0]],this.inputs=MS(this.outputs[0])}this.inboundNodes=[],new nl({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:Co(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(o=>o.shape),outputShapes:this.outputs[0].shape})}else{let o=t.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(t),this.outputs=[o],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(t),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 t=this.layers.length-1;this.layers[t].outboundNodes=[],this.outputs=[this.layers[t].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(t,e){return this.model==null&&this.build(),this.model.call(t,e)}build(t){if(te(t),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 Bn({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(t,e,n=console.log){this.built||this.build(),super.summary(t,e,n)}setWeights(t){this.model==null&&this.build(),this.model.setWeights(t)}evaluate(t,e,n={}){if(!this.built)throw new Gr(\"The model needs to be compiled before being used.\");return this.model.evaluate(t,e,n)}async evaluateDataset(t,e){if(!this.built)throw new Gr(\"The model needs to be compiled before being used.\");return this.model.evaluateDataset(t,e)}predict(t,e={}){return this.model==null&&this.build(),this.model.predict(t,e)}predictOnBatch(t){return this.model==null&&this.build(),this.model.predictOnBatch(t)}compile(t){this.build(),this.model.compile(t),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(t){this.model.optimizer=t}async fit(t,e,n={}){if(!this.built)throw new Gr(\"The model needs to be compiled before being used.\");return this.model.fit(t,e,n)}async fitDataset(t,e){if(!this.built)throw new Gr(\"The model needs to be compiled before being used.\");return this.model.fitDataset(t,e)}async trainOnBatch(t,e){return this.model.trainOnBatch(t,e)}static fromConfig(t,e,n={},o=!1){let s,i={};if(e instanceof Array){if(e[0].className==null||e[0].className===\"Merge\")throw new z(\"Legacy serialization format not supported yet.\");s=e}else y.assert(e.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=e.layers,delete e.layers,i=e;let a=new t(i);if(!(a instanceof Ji))throw new Nt(`Sequential.fromConfig called on non-Sequential input: ${a}`);for(let u of s){let c=xn(u,void 0,o);o&&c.setFastWeightInitDuringBuild(!0),a.add(c)}return a}set stopTraining(t){if(this.model==null)throw new z(\"Cannot set the stopTraining property of a sequential model before it is compiled.\");this.model.stopTraining=t}get stopTraining(){if(this.model==null)throw new z(\"Cannot get the stopTraining property of a sequential model before it is compiled.\");return this.model.stopTraining}getConfig(){let t=[];for(let e of this.layers){let n={};n.className=e.getClassName(),n.config=e.getConfig(),t.push(n)}return{name:this.name,layers:t}}};Ji.className=\"Sequential\";rt.registerClass(Ji);function uY(r){return new Bn(r)}function cY(r){return new Ji(r)}function pY(r,t){return t==null&&(t={}),ED(r,t)}function KS(r){return qy(r)}function mY(r,t){gn.registerCallbackConstructor(r,t)}var Yr=class extends rt.Serializable{getConfig(){return{}}},fb=class extends Yr{apply(t,e=1){return j$(t,e)}};fb.className=\"elu\";rt.registerClass(fb);var db=class extends Yr{apply(t){return Sm(t)}};db.className=\"selu\";rt.registerClass(db);var hb=class extends Yr{apply(t){return Rr(t)}};hb.className=\"relu\";rt.registerClass(hb);var gb=class extends Yr{apply(t){return G(()=>Ui(6,Rr(t)))}};gb.className=\"relu6\";rt.registerClass(gb);var xb=class extends Yr{apply(t){return t}};xb.className=\"linear\";rt.registerClass(xb);var yb=class extends Yr{apply(t){return Kr(t)}};yb.className=\"sigmoid\";rt.registerClass(yb);var bb=class extends Yr{apply(t){return Y$(t)}};bb.className=\"hardSigmoid\";rt.registerClass(bb);var wb=class extends Yr{apply(t){return Hs(t)}};wb.className=\"softplus\";rt.registerClass(wb);var Cb=class extends Yr{apply(t){return X$(t)}};Cb.className=\"softsign\";rt.registerClass(Cb);var vb=class extends Yr{apply(t){return Pi(t)}};vb.className=\"tanh\";rt.registerClass(vb);var sf=class extends Yr{apply(t,e=-1){return su(t,e)}};sf.className=\"softmax\";rt.registerClass(sf);var Ib=class extends Yr{apply(t,e=-1){return ym(t,e)}};Ib.className=\"logSoftmax\";rt.registerClass(Ib);var Sb=class extends Yr{apply(t,e=1){return G(()=>O(Kr(O(t,e)),t))}};Sb.className=\"swish\";rt.registerClass(Sb);var Tb=class extends Yr{apply(t){return G(()=>O(t,Pi(Hs(t))))}};Tb.className=\"mish\";rt.registerClass(Tb);function Qs(r){return r.getClassName()}function jS(r,t={}){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"activation\")}function ti(r){if(r==null){let t={};return t.className=\"linear\",t.config={},jS(t)}if(typeof r==\"string\"){let t={};return t.className=r,t.config={},jS(t)}else return r instanceof Yr?r:jS(r)}function XS(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 Nb=class extends rt.Serializable{},wu=class extends Nb{constructor(t){super(),XS(t),this.l1=t==null||t.l1==null?.01:t.l1,this.l2=t==null||t.l2==null?.01:t.l2,this.hasL1=this.l1!==0,this.hasL2=this.l2!==0}apply(t){return G(()=>{let e=_e([1]);return this.hasL1&&(e=J(e,ft(O(this.l1,$e(t))))),this.hasL2&&(e=J(e,ft(O(this.l2,gc(t))))),F(e,[])})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(t,e){return new t({l1:e.l1,l2:e.l2})}};wu.className=\"L1L2\";rt.registerClass(wu);function DD(r){return XS(r),new wu({l1:r!=null?r.l1:null,l2:0})}function RD(r){return XS(r),new wu({l2:r!=null?r.l2:null,l1:0})}var AD={l1l2:\"L1L2\"};function de(r){return Pm(r)}function $D(r,t={}){return ji(r,rt.SerializationMap.getMap().classNameMap,t,\"regularizer\")}function Ce(r){if(r==null)return null;if(typeof r==\"string\"){let e={className:r in AD?AD[r]:r,config:{}};return $D(e)}else return r instanceof Nb?r:$D(r)}var af=class extends Bt{constructor(t){super(t==null?{}:t),this.supportsMasking=!0,t!=null&&(this.maxValue=t.maxValue)}call(t,e){t=Pt(t);let n=Rr(t);return this.maxValue!=null&&(n=Ir(n,0,this.maxValue)),n}computeOutputShape(t){return t}getConfig(){let t={maxValue:this.maxValue},e=super.getConfig();return Object.assign(t,e),t}};af.className=\"ReLU\";rt.registerClass(af);var lf=class extends Bt{constructor(t){super(t==null?{}:t),this.DEFAULT_ALPHA=.3,t==null&&(t={}),this.alpha=t.alpha==null?this.DEFAULT_ALPHA:t.alpha}call(t,e){let n=Pt(t);return Jl(n,this.alpha)}computeOutputShape(t){return t}getConfig(){let t={alpha:this.alpha},e=super.getConfig();return Object.assign(t,e),t}};lf.className=\"LeakyReLU\";rt.registerClass(lf);var uf=class extends Bt{constructor(t){if(super(t==null?{}:t),this.DEFAULT_ALPHA_INITIALIZER=\"zeros\",t==null&&(t={}),this.supportsMasking=!0,this.alphaInitializer=ge(t.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=Ce(t.alphaRegularizer),this.alphaConstraint=We(t.alphaConstraint),t.sharedAxes==null)this.sharedAxes=null;else if(Array.isArray(t.sharedAxes))this.sharedAxes=t.sharedAxes;else if(typeof t.sharedAxes==\"number\")this.sharedAxes=[t.sharedAxes];else throw new z(`Expected sharedAxes to be a number or an array of numbers, but got ${t.sharedAxes}`)}build(t){t=te(t);let e=t.slice(1);if(this.sharedAxes!=null)for(let o of this.sharedAxes)e[o-1]=1;this.alpha=this.addWeight(\"alpha\",e,\"float32\",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);let n={};if(this.sharedAxes!=null)for(let o=1;o(Pe(t),t===\"channelsFirst\"?Mt(r,[0,2,3,1]):r))}function YS(r,t){return G(()=>(Pe(t),t===\"channelsFirst\"?Mt(r,[0,2,3,4,1]):r))}function dY(r,t,e,n=1,o=\"valid\",s,i=1){return G(()=>{if(s==null&&(s=mn()),Pe(s),r.shape.length!==3)throw new z(`The input of a conv1dWithBias operation should be 3, but is ${r.shape.length} instead.`);if(t.shape.length!==3)throw new z(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(e!=null&&e.shape.length!==1)throw new z(`The bias for a conv1dWithBias operation should be 1, but is ${t.shape.length} instead`);if(s===\"channelsFirst\"&&(r=Mt(r,[0,2,1])),o===\"causal\")throw new Nt(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");let a=mm(r,t,n,o===\"same\"?\"same\":\"valid\",\"NWC\",i);return e!=null&&(a=fn(a,e)),a})}function FD(r,t,e,n=[1,1],o=\"valid\",s,i,a=null){return G(()=>{if(s==null&&(s=mn()),Pe(s),r.rank!==3&&r.rank!==4)throw new z(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${r.rank}.`);if(t.rank!==3&&t.rank!==4)throw new z(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${r.rank}.`);let u=zh(r,s);if(o===\"causal\")throw new Nt(\"The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.\");return u=lu.conv2d({x:u,filter:t,strides:n,pad:o===\"same\"?\"same\":\"valid\",dilations:i,dataFormat:\"NHWC\",bias:e,activation:a}),s===\"channelsFirst\"&&(u=Mt(u,[0,3,1,2])),u})}function hY(r,t,e,n=[1,1,1],o=\"valid\",s,i){return G(()=>{if(s==null&&(s=mn()),Pe(s),r.rank!==4&&r.rank!==5)throw new z(`conv3dWithBias expects input to be of rank 4 or 5, but received ${r.rank}.`);if(t.rank!==4&&t.rank!==5)throw new z(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${r.rank}.`);let a=YS(r,s);if(o===\"causal\")throw new Nt(\"The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.\");return a=Bx(a,t,n,o===\"same\"?\"same\":\"valid\",\"NDHWC\",i),e!=null&&(a=fn(a,e)),s===\"channelsFirst\"&&(a=Mt(a,[0,4,1,2,3])),a})}var kc=class extends Bt{constructor(t,e){if(super(e),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",kc.verifyArgs(e),this.rank=t,Je(this.rank,\"rank\"),this.rank!==1&&this.rank!==2&&this.rank!==3)throw new Nt(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=Cu(e.kernelSize,t,\"kernelSize\"),this.strides=Cu(e.strides==null?1:e.strides,t,\"strides\"),this.padding=e.padding==null?\"valid\":e.padding,pn(this.padding),this.dataFormat=e.dataFormat==null?\"channelsLast\":e.dataFormat,Pe(this.dataFormat),this.activation=ti(e.activation),this.useBias=e.useBias==null?!0:e.useBias,this.biasInitializer=ge(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=We(e.biasConstraint),this.biasRegularizer=Ce(e.biasRegularizer),this.activityRegularizer=Ce(e.activityRegularizer),this.dilationRate=Cu(e.dilationRate==null?1:e.dilationRate,t,\"dilationRate\"),this.rank===1&&Array.isArray(this.dilationRate)&&this.dilationRate.length!==1)throw new z(`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 z(`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 z(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}}static verifyArgs(t){if(to(\"kernelSize\"in t,\"required key 'kernelSize' not in config\"),typeof t.kernelSize!=\"number\"&&!Oy(t.kernelSize,\"number\",1,3))throw new z(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(t.kernelSize)}.`)}getConfig(){let t={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:Qs(this.activation),useBias:this.useBias,biasInitializer:Ee(this.biasInitializer),biasRegularizer:de(this.biasRegularizer),activityRegularizer:de(this.activityRegularizer),biasConstraint:Ge(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}},vu=class extends kc{constructor(t,e){super(t,e),this.kernel=null,vu.verifyArgs(e),this.filters=e.filters,Je(this.filters,\"filters\"),this.kernelInitializer=ge(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=We(e.kernelConstraint),this.kernelRegularizer=Ce(e.kernelRegularizer)}build(t){t=te(t);let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(`The channel dimension of the input should be defined. Found ${t[e]}`);let n=t[e],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:{[e]:n}}],this.built=!0}call(t,e){return G(()=>{t=Pt(t);let n,o=this.bias==null?null:this.bias.read(),s=Py(this.activation.getClassName());if(s!=null&&this.rank===2)n=FD(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate,s);else{if(this.rank===1)n=dY(t,this.kernel.read(),o,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(this.rank===2)n=FD(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else if(this.rank===3)n=hY(t,this.kernel.read(),o,this.strides,this.padding,this.dataFormat,this.dilationRate);else throw new Nt(\"convolutions greater than 3D are not implemented yet.\");this.activation!=null&&(n=this.activation.apply(n))}return n})}computeOutputShape(t){t=te(t);let e=[],n=this.dataFormat===\"channelsLast\"?t.slice(1,t.length-1):t.slice(2);for(let s=0;s 0 but got ${JSON.stringify(t.filters)}`)}},sl=class extends vu{constructor(t){super(2,t),sl.verifyArgs(t)}getConfig(){let t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!Oy(t.kernelSize,\"number\",1,2))throw new z(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(t.kernelSize)}.`)}};sl.className=\"Conv2D\";rt.registerClass(sl);var il=class extends vu{constructor(t){super(3,t),il.verifyArgs(t)}getConfig(){let t=super.getConfig();return delete t.rank,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!(Array.isArray(t.kernelSize)&&(t.kernelSize.length===1||t.kernelSize.length===3)))throw new z(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(t.kernelSize)}.`)}};il.className=\"Conv3D\";rt.registerClass(il);var ff=class extends sl{constructor(t){if(super(t),this.inputSpec=[new we({ndim:4})],this.padding!==\"same\"&&this.padding!==\"valid\")throw new z(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(t=te(t),t.length!==4)throw new z(\"Input should have rank 4; Received input shape: \"+JSON.stringify(t));let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(\"The channel dimension of the inputs should be defined. Found `None`.\");let n=t[e],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 we({ndim:4,axes:{[e]:n}})],this.built=!0}call(t,e){return G(()=>{let n=Pt(t);if(n.shape.length!==4)throw new z(`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],i,a;this.dataFormat===\"channelsFirst\"?(i=2,a=3):(i=1,a=2);let u=o[i],l=o[a],c=this.kernelSize[0],p=this.kernelSize[1],m=this.strides[0],f=this.strides[1],d=ei(u,m,c,this.padding),h=ei(l,f,p,this.padding),g=[s,d,h,this.filters];this.dataFormat!==\"channelsLast\"&&(n=Mt(n,[0,2,3,1]));let x=dm(n,this.kernel.read(),g,this.strides,this.padding);return this.dataFormat!==\"channelsLast\"&&(x=Mt(x,[0,3,1,2])),this.bias!=null&&(x=fn(x,this.bias.read(),this.dataFormat)),this.activation!=null&&(x=this.activation.apply(x)),x})}computeOutputShape(t){t=te(t);let e=t.slice(),n,o,s;this.dataFormat===\"channelsFirst\"?(n=1,o=2,s=3):(n=3,o=1,s=2);let i=this.kernelSize[0],a=this.kernelSize[1],u=this.strides[0],l=this.strides[1];return e[n]=this.filters,e[o]=ei(e[o],u,i,this.padding),e[s]=ei(e[s],l,a,this.padding),e}getConfig(){let t=super.getConfig();return delete t.dilationRate,t}};ff.className=\"Conv2DTranspose\";rt.registerClass(ff);var df=class extends il{constructor(t){if(super(t),this.inputSpec=[new we({ndim:5})],this.padding!==\"same\"&&this.padding!==\"valid\")throw new z(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(t){if(t=te(t),t.length!==5)throw new z(\"Input should have rank 5; Received input shape: \"+JSON.stringify(t));let e=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[e]==null)throw new z(\"The channel dimension of the inputs should be defined. Found `None`.\");let n=t[e],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 we({ndim:5,axes:{[e]:n}})],this.built=!0}call(t,e){return G(()=>{let n=Pt(t);if(n.shape.length!==5)throw new z(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${n.shape.length}`);let o=n.shape,s=o[0],i,a,u;this.dataFormat===\"channelsFirst\"?(u=2,i=3,a=4):(u=1,i=2,a=3);let l=o[u],c=o[i],p=o[a],m=this.kernelSize[0],f=this.kernelSize[1],d=this.kernelSize[2],h=this.strides[0],g=this.strides[1],x=this.strides[2],b=ei(l,h,m,this.padding),w=ei(c,g,f,this.padding),C=ei(p,x,d,this.padding),T=[s,b,w,C,this.filters];this.dataFormat!==\"channelsLast\"&&(n=Mt(n,[0,2,3,4,1]));let E=Gx(n,this.kernel.read(),T,this.strides,this.padding);return this.dataFormat!==\"channelsLast\"&&(E=Mt(E,[0,4,1,2,3])),this.bias!==null&&(E=fn(E,this.bias.read(),this.dataFormat)),this.activation!==null&&(E=this.activation.apply(E)),E})}computeOutputShape(t){t=te(t);let e=t.slice(),n,o,s,i;this.dataFormat===\"channelsFirst\"?(n=1,o=2,s=3,i=4):(n=4,o=1,s=2,i=3);let a=this.kernelSize[0],u=this.kernelSize[1],l=this.kernelSize[2],c=this.strides[0],p=this.strides[1],m=this.strides[2];return e[n]=this.filters,e[o]=ei(e[o],c,a,this.padding),e[s]=ei(e[s],p,u,this.padding),e[i]=ei(e[i],m,l,this.padding),e}getConfig(){let t=super.getConfig();return delete t.dilationRate,t}};df.className=\"Conv3DTranspose\";rt.registerClass(df);var kb=class extends vu{constructor(t,e){if(super(t,e),this.DEFAULT_DEPTHWISE_INITIALIZER=\"glorotUniform\",this.DEFAULT_POINTWISE_INITIALIZER=\"glorotUniform\",this.depthwiseKernel=null,this.pointwiseKernel=null,e.filters==null)throw new z(\"The `filters` configuration field is required by SeparableConv, but is unspecified.\");if(e.kernelInitializer!=null||e.kernelRegularizer!=null||e.kernelConstraint!=null)throw new z(\"Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.\");if(e.padding!=null&&e.padding!==\"same\"&&e.padding!==\"valid\")throw new z(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(e.padding)}`);this.depthMultiplier=e.depthMultiplier==null?1:e.depthMultiplier,this.depthwiseInitializer=ge(e.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=Ce(e.depthwiseRegularizer),this.depthwiseConstraint=We(e.depthwiseConstraint),this.pointwiseInitializer=ge(e.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=Ce(e.pointwiseRegularizer),this.pointwiseConstraint=We(e.pointwiseConstraint)}build(t){if(t=te(t),t.length{t=Pt(t);let n;if(this.rank===1)throw new Nt(\"1D separable convolution is not implemented yet.\");return this.rank===2&&(this.dataFormat===\"channelsFirst\"&&(t=Mt(t,[0,2,3,1])),n=Tm(t,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,\"NHWC\")),this.useBias&&(n=fn(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),this.dataFormat===\"channelsFirst\"&&(n=Mt(n,[0,3,1,2])),n})}getConfig(){let t=super.getConfig();return delete t.rank,delete t.kernelInitializer,delete t.kernelRegularizer,delete t.kernelConstraint,t.depthwiseInitializer=Ee(this.depthwiseInitializer),t.pointwiseInitializer=Ee(this.pointwiseInitializer),t.depthwiseRegularizer=de(this.depthwiseRegularizer),t.pointwiseRegularizer=de(this.pointwiseRegularizer),t.depthwiseConstraint=Ge(this.depthwiseConstraint),t.pointwiseConstraint=Ge(this.pointwiseConstraint),t}};kb.className=\"SeparableConv\";var hf=class extends kb{constructor(t){super(2,t)}};hf.className=\"SeparableConv2D\";rt.registerClass(hf);var Iu=class extends vu{constructor(t){super(1,t),Iu.verifyArgs(t),this.inputSpec=[{ndim:3}]}getConfig(){let t=super.getConfig();return delete t.rank,delete t.dataFormat,t}static verifyArgs(t){if(typeof t.kernelSize!=\"number\"&&!Oy(t.kernelSize,\"number\",1,1))throw new z(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(t.kernelSize)}.`)}};Iu.className=\"Conv1D\";rt.registerClass(Iu);var gf=class extends Bt{constructor(t){super(t),typeof t.cropping==\"number\"?this.cropping=[[t.cropping,t.cropping],[t.cropping,t.cropping]]:typeof t.cropping[0]==\"number\"?this.cropping=[[t.cropping[0],t.cropping[0]],[t.cropping[1],t.cropping[1]]]:this.cropping=t.cropping,this.dataFormat=t.dataFormat===void 0?\"channelsLast\":t.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(t){return this.dataFormat===\"channelsFirst\"?[t[0],t[1],t[2]-this.cropping[0][0]-this.cropping[0][1],t[3]-this.cropping[1][0]-this.cropping[1][1]]:[t[0],t[1]-this.cropping[0][0]-this.cropping[0][1],t[2]-this.cropping[1][0]-this.cropping[1][1],t[3]]}call(t,e){return G(()=>{if(t=Pt(t),this.dataFormat===\"channelsLast\"){let n=Eh(t,this.cropping[0][0],t.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return Eh(n,this.cropping[1][0],t.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}else{let n=Eh(t,this.cropping[0][0],t.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return Eh(n,this.cropping[1][0],t.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){let t={cropping:this.cropping,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}};gf.className=\"Cropping2D\";rt.registerClass(gf);var xf=class extends Bt{constructor(t){super(t),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=t.size==null?this.DEFAULT_SIZE:t.size,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Pe(this.dataFormat),this.interpolation=t.interpolation==null?\"nearest\":t.interpolation,G$(this.interpolation)}computeOutputShape(t){if(this.dataFormat===\"channelsFirst\"){let e=t[2]==null?null:this.size[0]*t[2],n=t[3]==null?null:this.size[1]*t[3];return[t[0],t[1],e,n]}else{let e=t[1]==null?null:this.size[0]*t[1],n=t[2]==null?null:this.size[1]*t[2];return[t[0],e,n,t[3]]}}call(t,e){return G(()=>{let n=Pt(t),o=n.shape;if(this.dataFormat===\"channelsFirst\"){n=Mt(n,[0,2,3,1]);let s=this.size[0]*o[2],i=this.size[1]*o[3],a=this.interpolation===\"nearest\"?uu.resizeNearestNeighbor(n,[s,i]):uu.resizeBilinear(n,[s,i]);return Mt(a,[0,3,1,2])}else{let s=this.size[0]*o[1],i=this.size[1]*o[2];return this.interpolation===\"nearest\"?uu.resizeNearestNeighbor(n,[s,i]):uu.resizeBilinear(n,[s,i])}})}getConfig(){let t={size:this.size,dataFormat:this.dataFormat,interpolation:this.interpolation},e=super.getConfig();return Object.assign(t,e),t}};xf.className=\"UpSampling2D\";rt.registerClass(xf);function gY(r,t,e=[1,1],n=\"valid\",o,s){return G(()=>{o==null&&(o=mn()),Pe(o);let i=zh(r,o);if(r.rank!==4)throw new z(`Input for depthwiseConv2d is required to be 4-D, but is instead ${r.rank}-D`);if(t.rank!==4)throw new z(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return i=zi(i,t,e,n===\"same\"?\"same\":\"valid\",\"NHWC\",s),o===\"channelsFirst\"&&(i=Mt(i,[0,3,1,2])),i})}var yf=class extends kc{constructor(t){super(2,t),this.depthwiseKernel=null,this.depthMultiplier=t.depthMultiplier==null?1:t.depthMultiplier,this.depthwiseInitializer=ge(t.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=We(t.depthwiseConstraint),this.depthwiseRegularizer=Ce(t.depthwiseRegularizer)}build(t){if(t=te(t),t.length<4)throw new z(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(t)}.`);let e=this.dataFormat===\"channelsFirst\"?1:3;if(t[e]==null||t[e]<0)throw new z(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${t[e]}).`);let n=t[e],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(t,e){return G(()=>{t=Pt(t);let n=gY(t,this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(n=fn(n,this.bias.read(),this.dataFormat)),this.activation!=null&&(n=this.activation.apply(n)),n})}computeOutputShape(t){t=te(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2],o=this.dataFormat===\"channelsFirst\"?t[1]*this.depthMultiplier:t[3]*this.depthMultiplier,s=kn(e,this.kernelSize[0],this.padding,this.strides[0]),i=kn(n,this.kernelSize[1],this.padding,this.strides[1]);return this.dataFormat===\"channelsFirst\"?[t[0],o,s,i]:[t[0],s,i,o]}getConfig(){let t=super.getConfig();return t.depthMultiplier=this.depthMultiplier,t.depthwiseInitializer=Ee(this.depthwiseInitializer),t.depthwiseRegularizer=de(this.depthwiseRegularizer),t.depthwiseConstraint=Ge(this.depthwiseRegularizer),t}};yf.className=\"DepthwiseConv2D\";rt.registerClass(yf);function ZS(r,t,e,n){if(Array.isArray(r)){if(t!=null||e!=null)throw new z(\"When inputs is an array, neither initialState or constants should be provided\");n!=null&&(e=r.slice(r.length-n,r.length),r=r.slice(0,r.length-n)),r.length>1&&(t=r.slice(1,r.length)),r=r[0]}function o(s){return s==null||Array.isArray(s)?s:[s]}return t=o(t),e=o(e),{inputs:r,initialState:t,constants:e}}function JS(r,t,e,n=!1,o,s,i=!1,a=!1){return G(()=>{let u=t.shape.length;if(u<3)throw new z(`Input should be at least 3D, but is ${u}D.`);let l=[1,0].concat(jr(2,u));if(t=Mt(t,l),s!=null)throw new Nt(\"The rnn() functoin of the deeplearn.js backend does not support constants yet.\");i&&console.warn(\"Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend.\"),o!=null&&(o=tt(tt(o,\"bool\"),\"float32\"),o.rank===u-1&&(o=yr(o,-1)),o=Mt(o,l)),n&&(t=pr(t,0),o!=null&&(o=pr(o,0)));let c=[],p,m=e,f=t.shape[0],d=Tr(t),h;o!=null&&(h=Tr(o));for(let x=0;xr(b,m));if(o==null)p=w[0],m=w[1];else{let C=G(()=>{let T=h[x],E=ut(br(T),T),$=J(O(w[0],T),O(m[0],E)),D=m.map((P,M)=>J(O(w[1][M],T),O(P,E)));return{output:$,newStates:D}});p=C.output,m=C.newStates}a&&c.push(p)}let g;return a&&(g=sr(c,1)),[p,g,m]})}var _n=class extends Bt{constructor(t){super(t);let e;if(t.cell==null)throw new z(\"cell property is missing for the constructor of RNN.\");if(Array.isArray(t.cell)?e=new Ac({cells:t.cell}):e=t.cell,e.stateSize==null)throw new z(\"The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).\");this.cell=e,this.returnSequences=t.returnSequences==null?!1:t.returnSequences,this.returnState=t.returnState==null?!1:t.returnState,this.goBackwards=t.goBackwards==null?!1:t.goBackwards,this._stateful=t.stateful==null?!1:t.stateful,this.unroll=t.unroll==null?!1:t.unroll,this.supportsMasking=!0,this.inputSpec=[new we({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(this.states_==null){let t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;return jr(0,t).map(e=>null)}else return this.states_}setStates(t){this.states_=t}computeOutputShape(t){Hy(t)&&(t=t[0]),t=t;let e=this.cell.stateSize;Array.isArray(e)||(e=[e]);let n=e[0],o;if(this.returnSequences?o=[t[0],t[1],n]:o=[t[0],n],this.returnState){let s=[];for(let i of e)s.push([t[0],i]);return[o].concat(s)}else return o}computeMask(t,e){return G(()=>{Array.isArray(e)&&(e=e[0]);let n=this.returnSequences?e: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 t=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,e=[];for(let n=0;na.shape[a.shape.length-1]),i))throw new z(`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=i.map(a=>new we({shape:[null,a]}));this.stateful&&this.resetStates()}resetStates(t,e=!1){G(()=>{if(!this.stateful)throw new Nn(\"Cannot call resetStates() on an RNN Layer that is not stateful.\");let n=this.inputSpec[0].shape[0];if(n==null)throw new z(\"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=>_e([n,o])):this.states_=[_e([n,this.cell.stateSize])];else if(t==null)_t(this.states_),this.keptStates!=null&&(_t(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(o=>_e([n,o])):this.states_[0]=_e([n,this.cell.stateSize]);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new z(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e===!0?this.keptStates.push(this.states_.slice()):_t(this.states_);for(let o=0;oOe(o.clone()))})}apply(t,e){let n=e==null?null:e.initialState,o=e==null?null:e.constants;e==null&&(e={});let s=ZS(t,n,o,this.numConstants);t=s.inputs,n=s.initialState,o=s.constants;let i=[],a=[];if(n!=null){e.initialState=n,i=i.concat(n),this.stateSpec=[];for(let l of n)this.stateSpec.push(new we({shape:l.shape}));a=a.concat(this.stateSpec)}if(o!=null&&(e.constants=o,i=i.concat(o),this.numConstants=o.length),i[0]instanceof Xr){let l=[t].concat(i),c=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=c;let m=super.apply(l,e);return this.inputSpec=p,m}else return super.apply(t,e)}call(t,e){return G(()=>{let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;t=Pt(t),s==null&&(this.stateful?s=this.states_:s=this.getInitialState(t));let i=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(s.length!==i)throw new z(`RNN Layer has ${i} 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 a={training:o},l=JS((d,h)=>{let g=this.cell.call([d].concat(h),a);return[g[0],g.slice(1)]},t,s,this.goBackwards,n,null,this.unroll,this.returnSequences),c=l[0],p=l[1],m=l[2];this.stateful&&this.resetStates(m,o);let f=this.returnSequences?p:c;return this.returnState?[f].concat(m):f})}getInitialState(t){return G(()=>{let e=_e(t.shape);return e=ft(e,[1,2]),e=rl(e),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(n=>n>1?Gy(e,[1,n]):e):this.cell.stateSize>1?[Gy(e,[1,this.cell.stateSize])]:[e]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.cell!=null&&this.cell.setFastWeightInitDuringBuild(t)}getConfig(){let t=super.getConfig(),e={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};this.numConstants!=null&&(e.numConstants=this.numConstants);let n=this.cell.getConfig();return this.getClassName()===_n.className&&(e.cell={className:this.cell.getClassName(),config:n}),Object.assign({},n,t,e)}static fromConfig(t,e,n={}){let o=e.cell,s=xn(o,n);return new t(Object.assign(e,{cell:s}))}};_n.className=\"RNN\";rt.registerClass(_n);var al=class extends Bt{},_c=class extends al{constructor(t){super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",this.units=t.units,Je(this.units,\"units\"),this.activation=ti(t.activation==null?this.DEFAULT_ACTIVATION:t.activation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=We(t.kernelConstraint),this.recurrentConstraint=We(t.recurrentConstraint),this.biasConstraint=We(t.biasConstraint),this.dropout=dc([1,Zs([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=dc([1,Zs([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=te(t),this.kernel=this.addWeight(\"kernel\",[t[t.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(t,e){return G(()=>{if(t=t,t.length!==2)throw new z(`SimpleRNNCell expects 2 input Tensors, got ${t.length}.`);let n=t[1];t=t[0];let o=e.training==null?!1:e.training;0br(t),rate:this.dropout,training:o,dropoutFunc:this.dropoutFunc})),0br(n),rate:this.recurrentDropout,training:o,dropoutFunc:this.dropoutFunc}));let s,i=this.dropoutMask,a=this.recurrentDropoutMask;i!=null?s=To(O(t,i),this.kernel.read()):s=To(t,this.kernel.read()),this.bias!=null&&(s=fn(s,this.bias.read())),a!=null&&(n=O(n,a));let u=J(s,To(n,this.recurrentKernel.read()));return this.activation!=null&&(u=this.activation.apply(u)),[u,u]})}getConfig(){let t=super.getConfig(),e={units:this.units,activation:Qs(this.activation),useBias:this.useBias,kernelInitializer:Ee(this.kernelInitializer),recurrentInitializer:Ee(this.recurrentInitializer),biasInitializer:Ee(this.biasInitializer),kernelRegularizer:de(this.kernelRegularizer),recurrentRegularizer:de(this.recurrentRegularizer),biasRegularizer:de(this.biasRegularizer),activityRegularizer:de(this.activityRegularizer),kernelConstraint:Ge(this.kernelConstraint),recurrentConstraint:Ge(this.recurrentConstraint),biasConstraint:Ge(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign({},t,e)}};_c.className=\"SimpleRNNCell\";rt.registerClass(_c);var bf=class extends _n{constructor(t){t.cell=new _c(t),super(t)}call(t,e){return G(()=>{this.cell.dropoutMask!=null&&(_t(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(_t(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return new t(e)}};bf.className=\"SimpleRNN\";rt.registerClass(bf);var Ec=class extends al{constructor(t){if(super(t),this.DEFAULT_ACTIVATION=\"tanh\",this.DEFAULT_RECURRENT_ACTIVATION=\"hardSigmoid\",this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_RECURRENT_INITIALIZER=\"orthogonal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.resetAfter)throw new z(\"GRUCell does not support reset_after parameter set to true.\");this.units=t.units,Je(this.units,\"units\"),this.activation=ti(t.activation===void 0?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=ti(t.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=We(t.kernelConstraint),this.recurrentConstraint=We(t.recurrentConstraint),this.biasConstraint=We(t.biasConstraint),this.dropout=dc([1,Zs([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=dc([1,Zs([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){t=te(t);let e=t[t.length-1];this.kernel=this.addWeight(\"kernel\",[e,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(t,e){return G(()=>{if(t=t,t.length!==2)throw new z(`GRUCell expects 2 input Tensors (inputs, h, c), got ${t.length}.`);let n=e.training==null?!1:e.training,o=t[1];t=t[0],0br(t),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0br(o),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));let s=this.dropoutMask,i=this.recurrentDropoutMask,a,u,l;0{this.cell.dropoutMask!=null&&(_t(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(_t(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return e.implmentation===0&&(e.implementation=1),new t(e)}};wf.className=\"GRU\";rt.registerClass(wf);var ll=class extends al{constructor(t){super(t),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=t.units,Je(this.units,\"units\"),this.activation=ti(t.activation===void 0?this.DEFAULT_ACTIVATION:t.activation),this.recurrentActivation=ti(t.recurrentActivation===void 0?this.DEFAULT_RECURRENT_ACTIVATION:t.recurrentActivation),this.useBias=t.useBias==null?!0:t.useBias,this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=ge(t.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=t.unitForgetBias,this.kernelRegularizer=Ce(t.kernelRegularizer),this.recurrentRegularizer=Ce(t.recurrentRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.kernelConstraint=We(t.kernelConstraint),this.recurrentConstraint=We(t.recurrentConstraint),this.biasConstraint=We(t.biasConstraint),this.dropout=dc([1,Zs([0,t.dropout==null?0:t.dropout])]),this.recurrentDropout=dc([1,Zs([0,t.recurrentDropout==null?0:t.recurrentDropout])]),this.dropoutFunc=t.dropoutFunc,this.implementation=t.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(t){var e;t=te(t);let n=t[t.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,i=this.units;o=new(e=class extends hn{apply(u,l){let c=s.apply([i]),p=new yu().apply([i]),m=s.apply([i*2]);return LS(LS(c,p),m)}},e.className=\"CustomInit\",e)}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(t,e){return G(()=>{let n=e.training==null?!1:e.training;if(t=t,t.length!==3)throw new z(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let o=t[1],s=t[2];t=t[0],0br(t),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0br(o),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));let i=this.dropoutMask,a=this.recurrentDropoutMask,u,l,c,p;0{this.cell.dropoutMask!=null&&(_t(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(_t(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}static fromConfig(t,e){return e.implmentation===0&&(e.implementation=1),new t(e)}};Cf.className=\"LSTM\";rt.registerClass(Cf);var Ac=class extends al{constructor(t){super(t),this.cells=t.cells}get stateSize(){let t=[];for(let e of this.cells.slice().reverse())Array.isArray(e.stateSize)?t.push(...e.stateSize):t.push(e.stateSize);return t}call(t,e){return G(()=>{t=t;let n=t.slice(1),o=[];for(let a of this.cells.slice().reverse())Array.isArray(a.stateSize)?o.push(n.splice(0,a.stateSize.length)):o.push(n.splice(0,1));o.reverse();let s=[],i;for(let a=0;a{Ys(`RNNCell_${o}`,()=>{n.build(t),Array.isArray(n.stateSize)?e=n.stateSize[0]:e=n.stateSize,t=[t[0],e]})}),this.built=!0}getConfig(){let t=super.getConfig(),e=s=>({className:s.getClassName(),config:s.getConfig()}),o={cells:this.cells.map(e)};return Object.assign({},t,o)}static fromConfig(t,e,n={}){let o=[];for(let s of e.cells)o.push(xn(s,n));return new t({cells:o})}get trainableWeights(){if(!this.trainable)return[];let t=[];for(let e of this.cells)t.push(...e.trainableWeights);return t}get nonTrainableWeights(){let t=[];for(let e of this.cells)t.push(...e.nonTrainableWeights);if(!this.trainable){let e=[];for(let n of this.cells)e.push(...n.trainableWeights);return e.concat(t)}return t}getWeights(){let t=[];for(let e of this.cells)t.push(...e.weights);return $h(t)}setWeights(t){let e=[];for(let n of this.cells){let o=n.weights.length,s=t.splice(o);for(let i=0;is!=null?s(t(),e):Uy(t(),e),a=()=>xu(i,t,n);return!o||o<=1?Oe(a().clone()):Array(o).fill(void 0).map(a).map(l=>Oe(l.clone()))}var xY=function(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var o=0,n=Object.getOwnPropertySymbols(r);o{if(this.cell.dropoutMask!=null&&(_t(this.cell.dropoutMask),this.cell.dropoutMask=null),this.cell.recurrentDropoutMask!=null&&(_t(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),e&&e.constants)throw new z(\"ConvRNN2D cell does not support constants\");let n=e==null?null:e.mask,o=e==null?null:e.training,s=e==null?null:e.initialState;return super.call(t,{mask:n,training:o,initialState:s})})}computeOutputShape(t){let e=this.computeSingleOutputShape(t);return this.returnSequences||(e=[e[0],...e.slice(2)]),this.returnState&&(e=[e,...Array(2).fill([t[0],...e.slice(-3)])]),e}getInitialState(t){return G(()=>{let{stateSize:e}=this.cell,n=t.shape,o=this.computeSingleOutputShape(n),s=[o[0],...o.slice(2)],i=_e(s);return Array.isArray(e)?Array(e.length).fill(i):[i]})}resetStates(t,e=!1){G(()=>{if(!this.stateful)throw new Nn(\"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 z(\"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(()=>_e(s)):this.states_=[_e(s)];else if(t==null)_t(this.states_),this.keptStates!=null&&(_t(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>_e(s)):this.states_[0]=_e(s);else{if(Array.isArray(t)||(t=[t]),t.length!==this.states_.length)throw new z(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${t.length} state value(s). Input received: ${t}`);e?this.keptStates.push(this.states_.slice()):_t(this.states_);for(let a=0;aOe(a.clone()))})}computeSingleOutputShape(t){let{dataFormat:e,filters:n,kernelSize:o,padding:s,strides:i,dilationRate:a}=this.cell,u=e===\"channelsFirst\",l=t[u?3:2],c=t[u?4:3],p=kn(l,o[0],s,i[0],a[0]),m=kn(c,o[1],s,i[1],a[1]);return[...t.slice(0,2),...u?[n,p,m]:[p,m,n]]}};_b.className=\"ConvRNN2D\";var $c=class extends ll{constructor(t){let{filters:e,kernelSize:n,strides:o,padding:s,dataFormat:i,dilationRate:a}=t;super(Object.assign({},t,{units:e})),this.filters=e,Je(this.filters,\"filters\"),this.kernelSize=Cu(n,2,\"kernelSize\"),this.kernelSize.forEach(u=>Je(u,\"kernelSize\")),this.strides=Cu(o||1,2,\"strides\"),this.strides.forEach(u=>Je(u,\"strides\")),this.padding=s||\"valid\",pn(this.padding),this.dataFormat=i||\"channelsLast\",Pe(this.dataFormat),this.dilationRate=Cu(a||1,2,\"dilationRate\"),this.dilationRate.forEach(u=>Je(u,\"dilationRate\"))}build(t){var e;t=te(t);let n=this.dataFormat===\"channelsFirst\"?1:t.length-1;if(t[n]==null)throw new z(`The channel dimension of the input should be defined. Found ${t[n]}`);let o=t[n],s=4,i=this.kernelSize.concat([o,this.filters*s]);this.kernel=this.addWeight(\"kernel\",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);let a=this.kernelSize.concat([this.filters,this.filters*s]);if(this.recurrentKernel=this.addWeight(\"recurrent_kernel\",a,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let u;if(this.unitForgetBias){let l=this.biasInitializer,c=this.filters;u=new(e=class extends hn{apply(m,f){let d=l.apply([c]),h=cr([c]),g=l.apply([c*2]);return Mm([d,h,g])}},e.className=\"CustomInit\",e)}else u=this.biasInitializer;this.bias=this.addWeight(\"bias\",[this.filters*s],null,u,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(t,e){return G(()=>{if(t.length!==3)throw new z(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${t.length}.`);let n=e.training||!1,o=t[0],s=t[1],i=t[2],a=4;0br(o),rate:this.dropout,training:n,count:a,dropoutFunc:this.dropoutFunc}));let u=this.dropoutMask,l=(st,it,pt)=>!it||!it[pt]?st:O(it[pt],st),c=l(o,u,0),p=l(o,u,1),m=l(o,u,2),f=l(o,u,3);0br(s),rate:this.recurrentDropout,training:n,count:a,dropoutFunc:this.dropoutFunc}));let d=this.recurrentDropoutMask,h=l(s,d,0),g=l(s,d,1),x=l(s,d,2),b=l(s,d,3),w=3,[C,T,E,$]=mr(this.kernel.read(),a,w),[D,P,M,W]=this.useBias?mr(this.bias.read(),a):[null,null,null,null];c=this.inputConv(c,C,D,this.padding),p=this.inputConv(p,T,P,this.padding),m=this.inputConv(m,E,M,this.padding),f=this.inputConv(f,$,W,this.padding);let[H,q,X,j]=mr(this.recurrentKernel.read(),a,w);h=this.recurrentConv(h,H),g=this.recurrentConv(g,q),x=this.recurrentConv(x,X),b=this.recurrentConv(b,j);let Z=this.recurrentActivation.apply(J(c,h)),et=this.recurrentActivation.apply(J(p,g)),K=J(O(et,i),O(Z,this.activation.apply(J(m,x)))),ot=O(this.recurrentActivation.apply(J(f,b)),this.activation.apply(K));return[ot,ot,K]})}getConfig(){let t=super.getConfig(),{units:e}=t,n=xY(t,[\"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(t,e,n,o){let s=Sn(t,e,this.strides,o||\"valid\",this.dataFormat===\"channelsFirst\"?\"NCHW\":\"NHWC\",this.dilationRate);return n?fn(s,n,this.dataFormat):s}recurrentConv(t,e){return Sn(t,e,1,\"same\",this.dataFormat===\"channelsFirst\"?\"NCHW\":\"NHWC\")}};$c.className=\"ConvLSTM2DCell\";rt.registerClass($c);var vf=class extends _b{constructor(t){let e=new $c(t);super(Object.assign({},t,{cell:e}))}static fromConfig(t,e){return new t(e)}};vf.className=\"ConvLSTM2D\";rt.registerClass(vf);var Dc=class extends Bt{constructor(t){super(t),this.rate=Math.max(Math.min(t.rate,1),0),this.noiseShape=t.noiseShape,this.seed=t.seed,this.supportsMasking=!0}getNoiseShape(t){if(this.noiseShape==null)return this.noiseShape;let e=t.shape,n=[];for(let o=0;o{this.invokeCallHook(t,e);let n=Pt(t);if(0Uy(n,this.rate,s,this.seed),()=>n,o)}return t})}getConfig(){let t={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},e=super.getConfig();return Object.assign(t,e),t}dispose(){return super.dispose()}};Dc.className=\"Dropout\";rt.registerClass(Dc);var If=class extends Dc{constructor(t){super(t),this.inputSpec=[{ndim:3}]}getNoiseShape(t){let e=t.shape;return[e[0],1,e[2]]}};If.className=\"SpatialDropout1D\";rt.registerClass(If);var Sf=class extends Bt{constructor(t){if(super(t),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER=\"glorotNormal\",this.DEFAULT_BIAS_INITIALIZER=\"zeros\",t.batchInputShape==null&&t.inputShape==null&&t.inputDim!=null){let e=null;t.batchSize!=null&&(e=t.batchSize),this.batchInputShape=[e,t.inputDim]}this.units=t.units,Je(this.units,\"units\"),this.activation=ti(t.activation),t.useBias!=null&&(this.useBias=t.useBias),this.kernelInitializer=ge(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=ge(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=We(t.kernelConstraint),this.biasConstraint=We(t.biasConstraint),this.kernelRegularizer=Ce(t.kernelRegularizer),this.biasRegularizer=Ce(t.biasRegularizer),this.activityRegularizer=Ce(t.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(t){t=te(t);let e=t[t.length-1];this.kernel==null&&(this.kernel=this.addWeight(\"kernel\",[e,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]:e}}],this.built=!0}computeOutputShape(t){t=te(t);let e=t.slice();return e[e.length-1]=this.units,e}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t),o=Py(this.activation.getClassName()),s;return o!=null?s=To(n,this.kernel.read(),o,this.bias?this.bias.read():null):(s=To(n,this.kernel.read()),this.bias!=null&&(s=fn(s,this.bias.read())),this.activation!=null&&(s=this.activation.apply(s))),s})}getConfig(){let t={units:this.units,activation:Qs(this.activation),useBias:this.useBias,kernelInitializer:Ee(this.kernelInitializer),biasInitializer:Ee(this.biasInitializer),kernelRegularizer:de(this.kernelRegularizer),biasRegularizer:de(this.biasRegularizer),activityRegularizer:de(this.activityRegularizer),kernelConstraint:Ge(this.kernelConstraint),biasConstraint:Ge(this.biasConstraint)},e=super.getConfig();return Object.assign(t,e),t}};Sf.className=\"Dense\";rt.registerClass(Sf);var Tf=class extends Bt{constructor(t){t=t||{},super(t),this.inputSpec=[{minNDim:3}],this.dataFormat=t.dataFormat}computeOutputShape(t){t=te(t);for(let e of t.slice(1))if(e==null)throw new z(`The shape of the input to \"Flatten\" is not fully defined (got ${t.slice(1)}). Make sure to pass a complete \"input_shape\" or \"batch_input_shape\" argument to the first layer in your model.`);return[t[0],So(t,1)]}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t);if(this.dataFormat===\"channelsFirst\"&&n.rank>1){let o=[0];for(let s=2;s{this.invokeCallHook(t,e);let n=Pt(t);return this.activation.apply(n)})}getConfig(){let t={activation:Qs(this.activation)},e=super.getConfig();return Object.assign(t,e),t}};Nf.className=\"Activation\";rt.registerClass(Nf);var kf=class extends Bt{constructor(t){super(t),this.n=t.n,this.inputSpec=[{ndim:2}]}computeOutputShape(t){return[t[0],this.n,t[1]]}call(t,e){return G(()=>(t=Pt(t),H$(t,this.n)))}getConfig(){let t={n:this.n},e=super.getConfig();return Object.assign(t,e),t}};kf.className=\"RepeatVector\";rt.registerClass(kf);var _f=class extends Bt{constructor(t){super(t),this.targetShape=t.targetShape;for(let e=0;e{this.invokeCallHook(t,e);let n=Pt(t),o=n.shape,s=o.slice(0,1).concat(this.fixUnknownDimension(o.slice(1),this.targetShape));return F(n,s)})}getConfig(){let t={targetShape:this.targetShape},e=super.getConfig();return Object.assign(t,e),t}};_f.className=\"Reshape\";rt.registerClass(_f);var Ef=class extends Bt{constructor(t){if(super(t),t.dims==null)throw new Error(\"Required configuration field `dims` is missing during Permute constructor call.\");if(!Array.isArray(t.dims))throw new Error(`Permute constructor requires \\`dims\\` to be an Array, but received ${t.dims} instead.`);let e=jr(1,t.dims.length+1);if(!y.arraysEqual(t.dims.slice().sort(),e))throw new Error(\"Invalid permutation `dims`: \"+JSON.stringify(t.dims)+\" `dims` must contain consecutive integers starting from 1.\");this.dims=t.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new we({ndim:this.dims.length+1})]}computeOutputShape(t){t=te(t);let e=t.slice();return this.dims.forEach((n,o)=>{e[o+1]=t[n]}),e}call(t,e){return Mt(Pt(t),this.dimsIncludingBatch)}getConfig(){let t={dims:this.dims},e=super.getConfig();return Object.assign(t,e),t}};Ef.className=\"Permute\";rt.registerClass(Ef);var Af=class extends Bt{constructor(t){super(t==null?{}:t),this.supportsMasking=!0,t!=null?this.maskValue=t.maskValue==null?0:t.maskValue:this.maskValue=0}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={maskValue:this.maskValue};return Object.assign(e,t),e}computeMask(t,e){let n=Pt(t),o=-1;return Ju(qs(n,this.maskValue),o)}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t),o=-1,s=!0,i=Ju(qs(n,this.maskValue),o,s);return O(n,tt(i,n.dtype))})}};Af.className=\"Masking\";rt.registerClass(Af);var $f=class extends Bt{constructor(t){if(super(t),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER=\"randomUniform\",t.batchInputShape==null&&t.inputShape==null){let e=null;t.batchSize!=null&&(e=t.batchSize),t.inputLength==null?this.batchInputShape=[e,null]:this.batchInputShape=[e].concat(be(t.inputLength))}this.inputDim=t.inputDim,Je(this.inputDim,\"inputDim\"),this.outputDim=t.outputDim,Je(this.outputDim,\"outputDim\"),this.embeddingsInitializer=ge(t.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=Ce(t.embeddingsRegularizer),this.activityRegularizer=Ce(t.activityRegularizer),this.embeddingsConstraint=We(t.embeddingsConstraint),this.maskZero=t.maskZero,this.supportsMasking=t.maskZero,this.inputLength=t.inputLength}build(t){this.embeddings=this.addWeight(\"embeddings\",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(t){}computeMask(t,e){return G(()=>this.maskZero?(t=Pt(t),qs(t,St(t))):null)}computeOutputShape(t){if(t=te(t),this.inputLength==null)return[...t,this.outputDim];let e=be(this.inputLength);if(e.length!==t.length-1)throw new z(`\"inputLength\" is ${this.inputLength}, but received input shape has shape ${t}`);{let n=0;for(let o=0;o{this.invokeCallHook(t,e);let n=Pt(t);n.dtype!==\"int32\"&&(n=hc(n,\"int32\"));let o=Wy(this.embeddings.read(),F(n,[n.size]));return F(o,te(this.computeOutputShape(n.shape)))})}getConfig(){let t={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:Ee(this.embeddingsInitializer),embeddingsRegularizer:de(this.embeddingsRegularizer),activityRegularizer:de(this.activityRegularizer),embeddingsConstraint:Ge(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},e=super.getConfig();return Object.assign(t,e),t}};$f.className=\"Embedding\";rt.registerClass($f);var cl=class extends Bt{constructor(t){super(t||{}),this.supportsMasking=!0}mergeFunction(t){throw new Nt}computeElementwiseOpOutputShape(t,e){if(t==null||e==null)return null;if(t.length1)throw new z(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(t)}.`);let n=t[0]==null?null:t[0].slice(1);for(let s=1;ss.length);t.indexOf(null)===-1&&Io(o).length===1?this.reshapeRequired=!1:this.reshapeRequired=!0}call(t,e){return G(()=>{if(t=t,this.reshapeRequired){let n=[],o=t.map(s=>s.rank);if(o.indexOf(null)===-1){let s=Zs(o);for(let i of t){let a=i.rank;for(let u=0;u1){let c=jr(1,l).concat([0]);n.push(Mt(u,c)),s=!0}else n.push(u)}let i=this.mergeFunction(n),a=i.rank;if(s){if(a==null){let u=i.shape,l=u.length,c=u[l-1],p=[c].concat(u.slice(0,u.length-1));i=F(Mt(F(i,[-1,c]),[1,0]),p)}else if(a>1){let u=[a-1].concat(jr(0,a-1));i=Mt(i,u)}}return i}}else return this.mergeFunction(t)})}computeOutputShape(t){t=t;let e;t[0]==null?e=null:e=t[0].slice(1);for(let o=1;o{if(e==null)return null;if(!Array.isArray(e))throw new z(\"`mask` should be an Array\");if(!Array.isArray(t))throw new z(\"`inputs` should be an Array\");if(e.length!==t.length)throw new z(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${t.length} vs ${e.length})`);if(e.every(o=>o==null))return null;e=e.map(o=>o==null?o:yr(o,0));let n=e[0];for(let o=1;o{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0].clone();for(let n=1;n{let e=t[0];for(let n=1;n{let e=t[0];for(let n=1;n1)throw new z(\"A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: \"+JSON.stringify(t))}mergeFunction(t){return G(()=>Mm(t,this.axis))}computeOutputShape(t){if(!(Array.isArray(t)&&Array.isArray(t[0])))throw new z(\"A `Concatenate` layer should be called on a list of inputs.\");let e=t,n=e[0].slice(),o=this.axis<0?n.length+this.axis:this.axis;for(let s of e.slice(1)){if(n[o]==null||s[o]==null){n[o]=null;break}n[o]+=s[o]}return n}computeMask(t,e){if(e==null)return null;if(!Array.isArray(e))throw new z(\"`mask` should be an array for Concatenate\");if(!Array.isArray(t))throw new z(\"`inputs` should be an array for Concatenate\");if(e.length!==t.length)throw new z(`Mismatch in the length of mask (${e.length}) and the legnth of inputs (${t.length})`);return G(()=>{let n=!0;if(e.forEach(i=>{if(i!=null){n=!1;return}}),n)return null;let o=[];for(let i=0;i3||t.shape.length>3)throw new Nt(\"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 ${t.shape.length}`),typeof e==\"number\"&&(e=[e,e]),r.dtype===\"complex64\"||t.dtype===\"complex64\")throw new Nt(\"batchDot is not implemented for complex64-type Tensors yet.\");let n=r.shape.length,o=t.shape.length;e==null&&(e=[n-1,o-2]);let s=e;return G(()=>{let i;if(n>o){i=n-o;let u=[];for(let l=0;ln){i=o-n;let u=[];for(let l=0;l0){let u;n>o?u=n+o-3:u=n-1;let l=[];for(let c=u;c\"A `Dot` layer should be called on a list of exactly 2 inputs.\");let e=t[0],n=t[1];if(e.length>3||n.length>3)throw new Nt(\"Dot layer does not support tensors of 4D or higher rank yet.\");let o=this.interpretAxes(e,n);if(e[o[0]]!==n[o[1]])throw new z(`Dimension incompatibility: ${e[o[0]]} !== ${n[o[1]]}`)}mergeFunction(t){if(t.length!==2)throw new z(`A \\`Dot\\` layer must be called on exactly 2 inputs, but received ${t.length} input(s).`);let e=t[0],n=t[1],o;return Array.isArray(this.axes)?o=this.axes.map((s,i)=>Bh(s,t[i].shape.length)):o=[Bh(this.axes,e.shape.length),Bh(this.axes,n.shape.length)],this.normalize&&(e=Dh(e,o[0]),n=Dh(n,o[1])),yY(e,n,o)}interpretAxes(t,e){let n;return Array.isArray(this.axes)?n=this.axes:n=[Bh(this.axes,t.length),Bh(this.axes,e.length)],n}computeOutputShape(t){y.assert(Array.isArray(t)&&t.length===2&&Array.isArray(t[0])&&Array.isArray(t[1]),()=>\"A `Dot` layer should be called on a list of exactly 2 inputs.\");let e=t[0].slice(),n=t[1].slice();if(e.length>3||n.length>3)throw new Nt(\"Dot layer does not support tensors of 4D or higher rank yet.\");let o=this.interpretAxes(e,n);e.splice(o[0],1),n.splice(o[1],1),n.splice(0,1);let s=e.concat(n);return s.length===1&&s.push(1),s}computeMask(t,e){return null}getConfig(){let t={axes:this.axes,normalize:this.normalize},e=super.getConfig();return Object.assign(t,e),t}};Mf.className=\"Dot\";rt.registerClass(Mf);var zf=class extends Bt{constructor(t){super(t),this.supportsMasking=!0,this.stddev=t.stddev}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={stddev:this.stddev};return Object.assign(e,t),e}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t);return xu(()=>J(zm(n.shape,0,this.stddev),n),()=>n,e.training||!1)})}};zf.className=\"GaussianNoise\";rt.registerClass(zf);var Bf=class extends Bt{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return G(()=>{this.invokeCallHook(t,e);let n=Pt(t);return this.rate>0&&this.rate<1?xu(()=>{let s=Math.sqrt(this.rate/(1-this.rate));return O(n,zm(n.shape,1,s))},()=>n,e.training||!1):n})}};Bf.className=\"GaussianDropout\";rt.registerClass(Bf);var Vf=class extends Bt{constructor(t){super(t),this.supportsMasking=!0,this.rate=t.rate,this.noiseShape=t.noiseShape}_getNoiseShape(t){return this.noiseShape||Pt(t).shape}computeOutputShape(t){return t}getConfig(){let t=super.getConfig(),e={rate:this.rate};return Object.assign(e,t),e}call(t,e){return G(()=>{if(this.rate<1&&this.rate>0){let n=this._getNoiseShape(t);return xu(()=>{let s=Pt(t),i=1.6732632423543772,a=1.0507009873554805,u=-i*a,l=Pn(Hi(n),this.rate);l=hc(l,\"float32\");let c=((1-this.rate)*(1+this.rate*u**2))**-.5,p=-c*u*this.rate,m=J(O(s,l),O(J(l,-1),u));return J(O(m,c),p)},()=>Pt(t),e.training||!1)}return t})}};Vf.className=\"AlphaDropout\";rt.registerClass(Vf);function Vh(r,t,e,n,o,s=.001){let i;if(r.rank===2)i=$x(r,t,e,n,o,s);else if(r.rank===3)i=Dx(r,t,e,n,o,s);else if(r.rank===4)i=Rx(r,t,e,n,o,s);else throw new Nt(`batchNormalization is not implemented for array of rank ${r.rank} yet`);return i}function bY(r,t,e,n,o=.001){return G(()=>{let s=oc(r,n),i=s.mean,a=s.variance;return[Vh(r,i,a,e,t,o),i,a]})}function wY(r,t,e,n,o=.001){return G(()=>{let s=oc(r,n),i=s.mean,a=s.variance,u=[];for(let d of jr(0,r.rank))n.indexOf(d)!==-1?u.push(1):u.push(r.shape[d]);let l=F(i,u),c=F(a,u),p=t==null?null:F(t,u),m=e==null?null:F(e,u);return[Vh(r,l,c,m,p,o),i,a]})}function CY(r,t,e,n,o=.001){return y.arraysEqual(n.slice().sort(),jr(0,r.rank-1))?bY(r,t,e,n,o):wY(r,t,e,n,o)}var Gf=class extends Bt{constructor(t){t==null&&(t={}),super(t),this.supportsMasking=!0,this.axis=t.axis==null?-1:t.axis,this.momentum=t.momentum==null?.99:t.momentum,this.epsilon=t.epsilon==null?.001:t.epsilon,this.center=t.center==null?!0:t.center,this.scale=t.scale==null?!0:t.scale,this.betaInitializer=ge(t.betaInitializer||\"zeros\"),this.gammaInitializer=ge(t.gammaInitializer||\"ones\"),this.movingMeanInitializer=ge(t.movingMeanInitializer||\"zeros\"),this.movingVarianceInitializer=ge(t.movingVarianceInitializer||\"ones\"),this.betaConstraint=We(t.betaConstraint),this.gammaConstraint=We(t.gammaConstraint),this.betaRegularizer=Ce(t.betaRegularizer),this.gammaRegularizer=Ce(t.gammaRegularizer)}build(t){t=te(t);let e=this.axis>=0?this.axis:this.axis+t.length,n=t[e];if(n==null)throw new z(`Axis ${e} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(t)}.`);this.inputSpec=[new we({ndim:t.length,axes:{[e]: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(t,e){return G(()=>{let n=e.training==null?!1:e.training,o=Pt(t),s=o.shape,i=s.length,a=jr(0,i),u=this.axis>=0?this.axis:this.axis+i;a.splice(u,1);let l=Co(1,i);l[u]=s[u];let c=a.slice();c.sort();let p=!y.arraysEqual(c,jr(0,i).slice(0,i-1)),m=()=>{if(p){let b=F(this.movingMean.read(),l),w=F(this.movingVariance.read(),l),C=this.center?F(this.beta.read(),l):null,T=this.scale?F(this.gamma.read(),l):null;return Vh(o,b,w,C,T,this.epsilon)}else return Vh(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]=CY(o,this.gamma.read(),this.beta.read(),a,this.epsilon),g=(b,w,C)=>{G(()=>{let T=1-C,E=b.read(),$=O(ut(E,w),T);b.write(ut(E,$))})};return(()=>{g(this.movingMean,d,this.momentum),g(this.movingVariance,h,this.momentum)})(),f})}getConfig(){let t={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:Ee(this.betaInitializer),gammaInitializer:Ee(this.gammaInitializer),movingMeanInitializer:Ee(this.movingMeanInitializer),movingVarianceInitializer:Ee(this.movingVarianceInitializer),betaRegularizer:de(this.betaRegularizer),gammaRegularizer:de(this.gammaRegularizer),betaConstraint:Ge(this.betaConstraint),gammaConstraint:Ge(this.gammaConstraint)},e=super.getConfig();return Object.assign(t,e),t}};Gf.className=\"BatchNormalization\";rt.registerClass(Gf);var Wf=class extends Bt{constructor(t){if(t==null&&(t={}),super(t),this.axis=t.axis==null?-1:t.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 e of this.axis)if(!Number.isInteger(e))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=t.epsilon==null?.001:t.epsilon,this.center=t.center==null?!0:t.center,this.scale=t.scale==null?!0:t.scale,this.betaInitializer=ge(t.betaInitializer||\"zeros\"),this.gammaInitializer=ge(t.gammaInitializer||\"ones\"),this.betaRegularizer=Ce(t.betaRegularizer),this.gammaRegularizer=Ce(t.gammaRegularizer),this.supportsMasking=!0}build(t){t=te(t);let e=t.length;typeof this.axis==\"number\"&&(this.axis=[this.axis]);for(let s=0;s=e)throw new Error(`Invalid axis: ${s}`);if(this.axis.length!==Io(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);let n=this.axis.map(s=>t[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(t,e){let n=Pt(t),o=n.shape,s=o.length;return G(()=>{let{mean:a,variance:u}=oc(n,this.axis,!0),l=Co(1,s);for(let h of this.axis)l[h]=o[h];let c=h=>h!=null&&h.shape.length!==s?F(h,l):h,p=this.scale?c(this.gamma.read()):null,m=this.center?c(this.beta.read()):null,f=[],d=[];for(let h=0;h{if(r.rank!==4)throw new z(`temporalPadding expects input tensor to be 4-D, but received a ${r.rank}-D tensor.`);if(t==null&&(t=[[1,1],[1,1]]),t.length!==2||t[0].length!==2||t[1].length!==2)throw new z(\"spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.\");if(e==null&&(e=mn()),e!==\"channelsLast\"&&e!==\"channelsFirst\")throw new z(`Unknown data format: ${e}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let n;return e===\"channelsFirst\"?n=[[0,0],[0,0],t[0],t[1]]:n=[[0,0],t[0],t[1],[0,0]],cn(r,n)})}var Uf=class extends Bt{constructor(t){if(t==null&&(t={}),super(t),this.dataFormat=t.dataFormat==null?mn():t.dataFormat,t.padding==null)this.padding=[[1,1],[1,1]];else if(typeof t.padding==\"number\")this.padding=[[t.padding,t.padding],[t.padding,t.padding]];else{if(t.padding=t.padding,t.padding.length!==2)throw new z(`ZeroPadding2D expects padding to be a length-2 array, but received a length-${t.padding.length} array.`);let e,n;if(typeof t.padding[0]==\"number\")e=[t.padding[0],t.padding[0]],n=[t.padding[1],t.padding[1]];else{if(t.padding=t.padding,t.padding[0].length!==2)throw new z(`ZeroPadding2D expects height padding to be a length-2 array, but received a length-${t.padding[0].length} array.`);if(e=t.padding[0],t.padding[1].length!==2)throw new z(`ZeroPadding2D expects width padding to be a length-2 array, but received a length-${t.padding[1].length} array.`);n=t.padding[1]}this.padding=[e,n]}this.inputSpec=[new we({ndim:4})]}computeOutputShape(t){t=te(t);let e,n;return this.dataFormat===\"channelsFirst\"?(t[2]!=null&&t[2]>=0?e=t[2]+this.padding[0][0]+this.padding[0][1]:e=null,t[3]!=null&&t[3]>=0?n=t[3]+this.padding[1][0]+this.padding[1][1]:n=null,[t[0],t[1],e,n]):(t[1]!=null&&t[1]>=0?e=t[1]+this.padding[0][0]+this.padding[0][1]:e=null,t[2]!=null&&t[2]>=0?n=t[2]+this.padding[1][0]+this.padding[1][1]:n=null,[t[0],e,n,t[3]])}call(t,e){return G(()=>vY(Pt(t),this.padding,this.dataFormat))}getConfig(){let t={padding:this.padding,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}};Uf.className=\"ZeroPadding2D\";rt.registerClass(Uf);function Fb(r,t,e,n,o,s){return G(()=>{Pe(o),RS(s),pn(n),e==null&&(e=[1,1]),n==null&&(n=\"valid\"),o==null&&(o=mn()),s==null&&(s=\"max\"),r=zh(r,o);let i,a=n===\"same\"?\"same\":\"valid\";return s===\"max\"?i=eu(r,t,e,a):i=Xl(r,t,e,a),o===\"channelsFirst\"&&(i=Mt(i,[0,3,1,2])),i})}function OD(r,t,e,n,o,s){return G(()=>{Pe(o),RS(s),pn(n),e==null&&(e=[1,1,1]),n==null&&(n=\"valid\"),o==null&&(o=mn()),s==null&&(s=\"max\"),r=YS(r,o);let i,a=n===\"same\"?\"same\":\"valid\";return s===\"max\"?i=sy(r,t,e,a):i=Ax(r,t,e,a),o===\"channelsFirst\"&&(i=Mt(i,[0,4,1,2,3])),i})}var Eb=class extends Bt{constructor(t){if(t.poolSize==null&&(t.poolSize=2),super(t),typeof t.poolSize==\"number\")this.poolSize=[t.poolSize];else if(Array.isArray(t.poolSize)&&t.poolSize.length===1&&typeof t.poolSize[0]==\"number\")this.poolSize=t.poolSize;else throw new z(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.poolSize)}`);if(Je(this.poolSize,\"poolSize\"),t.strides==null)this.strides=this.poolSize;else if(typeof t.strides==\"number\")this.strides=[t.strides];else if(Array.isArray(t.strides)&&t.strides.length===1&&typeof t.strides[0]==\"number\")this.strides=t.strides;else throw new z(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(t.strides)}`);Je(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,pn(this.padding),this.inputSpec=[new we({ndim:3})]}computeOutputShape(t){t=te(t);let e=kn(t[1],this.poolSize[0],this.padding,this.strides[0]);return[t[0],e,t[2]]}call(t,e){return G(()=>{this.invokeCallHook(t,e),t=rl(Pt(t),2);let n=this.poolingFunction(Pt(t),[this.poolSize[0],1],[this.strides[0],1],this.padding,\"channelsLast\");return Mn(n,[2])})}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides},e=super.getConfig();return Object.assign(t,e),t}},Hf=class extends Eb{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),Fb(t,e,n,o,s,\"max\")}};Hf.className=\"MaxPooling1D\";rt.registerClass(Hf);var qf=class extends Eb{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),Fb(t,e,n,o,s,\"avg\")}};qf.className=\"AveragePooling1D\";rt.registerClass(qf);var Ab=class extends Bt{constructor(t){if(t.poolSize==null&&(t.poolSize=[2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize],t.strides==null)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(t.strides.length!==2)throw new z(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides];Je(this.poolSize,\"poolSize\"),Je(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Pe(this.dataFormat),pn(this.padding),this.inputSpec=[new we({ndim:4})]}computeOutputShape(t){t=te(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2];return e=kn(e,this.poolSize[0],this.padding,this.strides[0]),n=kn(n,this.poolSize[1],this.padding,this.strides[1]),this.dataFormat===\"channelsFirst\"?[t[0],t[1],e,n]:[t[0],e,n,t[3]]}call(t,e){return G(()=>(this.invokeCallHook(t,e),this.poolingFunction(Pt(t),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Kf=class extends Ab{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),Fb(t,e,n,o,s,\"max\")}};Kf.className=\"MaxPooling2D\";rt.registerClass(Kf);var jf=class extends Ab{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),Fb(t,e,n,o,s,\"avg\")}};jf.className=\"AveragePooling2D\";rt.registerClass(jf);var $b=class extends Bt{constructor(t){if(t.poolSize==null&&(t.poolSize=[2,2,2]),super(t),this.poolSize=Array.isArray(t.poolSize)?t.poolSize:[t.poolSize,t.poolSize,t.poolSize],t.strides==null)this.strides=this.poolSize;else if(Array.isArray(t.strides)){if(t.strides.length!==3)throw new z(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${t.strides.length}.`);this.strides=t.strides}else this.strides=[t.strides,t.strides,t.strides];Je(this.poolSize,\"poolSize\"),Je(this.strides,\"strides\"),this.padding=t.padding==null?\"valid\":t.padding,this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Pe(this.dataFormat),pn(this.padding),this.inputSpec=[new we({ndim:5})]}computeOutputShape(t){t=te(t);let e=this.dataFormat===\"channelsFirst\"?t[2]:t[1],n=this.dataFormat===\"channelsFirst\"?t[3]:t[2],o=this.dataFormat===\"channelsFirst\"?t[4]:t[3];return e=kn(e,this.poolSize[0],this.padding,this.strides[0]),n=kn(n,this.poolSize[1],this.padding,this.strides[1]),o=kn(o,this.poolSize[2],this.padding,this.strides[2]),this.dataFormat===\"channelsFirst\"?[t[0],t[1],e,n,o]:[t[0],e,n,o,t[4]]}call(t,e){return G(()=>(this.invokeCallHook(t,e),this.poolingFunction(Pt(t),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){let t={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Xf=class extends $b{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),OD(t,e,n,o,s,\"max\")}};Xf.className=\"MaxPooling3D\";rt.registerClass(Xf);var Yf=class extends $b{constructor(t){super(t)}poolingFunction(t,e,n,o,s){return Pe(s),pn(o),OD(t,e,n,o,s,\"avg\")}};Yf.className=\"AveragePooling3D\";rt.registerClass(Yf);var Db=class extends Bt{constructor(t){super(t),this.inputSpec=[new we({ndim:3})]}computeOutputShape(t){return[t[0],t[2]]}call(t,e){throw new Nt}},Zf=class extends Db{constructor(t){super(t||{})}call(t,e){return G(()=>{let n=Pt(t);return ke(n,1)})}};Zf.className=\"GlobalAveragePooling1D\";rt.registerClass(Zf);var Jf=class extends Db{constructor(t){super(t||{})}call(t,e){return G(()=>{let n=Pt(t);return Mr(n,1)})}};Jf.className=\"GlobalMaxPooling1D\";rt.registerClass(Jf);var Rb=class extends Bt{constructor(t){super(t),this.dataFormat=t.dataFormat==null?\"channelsLast\":t.dataFormat,Pe(this.dataFormat),this.inputSpec=[new we({ndim:4})]}computeOutputShape(t){return t=t,this.dataFormat===\"channelsLast\"?[t[0],t[3]]:[t[0],t[1]]}call(t,e){throw new Nt}getConfig(){let t={dataFormat:this.dataFormat},e=super.getConfig();return Object.assign(t,e),t}},Qf=class extends Rb{call(t,e){return G(()=>{let n=Pt(t);return this.dataFormat===\"channelsLast\"?ke(n,[1,2]):ke(n,[2,3])})}};Qf.className=\"GlobalAveragePooling2D\";rt.registerClass(Qf);var td=class extends Rb{call(t,e){return G(()=>{let n=Pt(t);return this.dataFormat===\"channelsLast\"?Mr(n,[1,2]):Mr(n,[2,3])})}};td.className=\"GlobalMaxPooling2D\";rt.registerClass(td);var Ob=class extends Bt{constructor(t){super(t),this.layer=t.layer}build(t){this.built=!0}get trainable(){return this.layer!=null?this.layer.trainable:!1}set trainable(t){this.layer!=null&&(this.layer.trainable=t)}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(t){this.layer.setWeights(t)}getConfig(){let t={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},e=super.getConfig();return Object.assign(t,e),t}setFastWeightInitDuringBuild(t){super.setFastWeightInitDuringBuild(t),this.layer!=null&&this.layer.setFastWeightInitDuringBuild(t)}static fromConfig(t,e,n={}){let o=e.layer,s=xn(o,n);delete e.layer;let i={layer:s};return Object.assign(i,e),new t(i)}},ed=class extends Ob{constructor(t){super(t),this.supportsMasking=!0}build(t){if(t=te(t),t.length<3)throw new z(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(t)}`);this.inputSpec=[{shape:t}];let e=[t[0]].concat(t.slice(2));this.layer.built||(this.layer.build(e),this.layer.built=!0),super.build(t)}computeOutputShape(t){t=te(t);let e=[t[0]].concat(t.slice(2)),n=this.layer.computeOutputShape(e),o=t[1];return[n[0],o].concat(n.slice(1))}call(t,e){return G(()=>(t=Pt(t),JS((i,a)=>[Pt(this.layer.call(i,e)),[]],t,[],!1,null,null,!1,!0)[1]))}};ed.className=\"TimeDistributed\";rt.registerClass(ed);function IY(r){Xi(B$,\"BidirectionalMergeMode\",r)}var SY=\"concat\",rd=class extends Ob{constructor(t){super(t);let e=t.layer.getConfig(),n={};n.className=t.layer.getClassName(),n.config=e,this.forwardLayer=xn(n),e.goBackwards=e.goBackwards!==!0;let o={};if(o.className=t.layer.getClassName(),o.config=e,this.backwardLayer=xn(o),this.forwardLayer.name=\"forward_\"+this.forwardLayer.name,this.backwardLayer.name=\"backward_\"+this.backwardLayer.name,this.mergeMode=t.mergeMode===void 0?SY:t.mergeMode,IY(this.mergeMode),t.weights)throw new Nt(\"weights support is not implemented for Bidirectional layer yet.\");this._stateful=t.layer.stateful,this.returnSequences=t.layer.returnSequences,this.returnState=t.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=t.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(t){this._trainable=t,this.forwardLayer!=null&&(this.forwardLayer.trainable=t),this.backwardLayer!=null&&(this.backwardLayer.trainable=t)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(t){let e=t.length,n=Math.floor(e/2);this.forwardLayer.setWeights(t.slice(0,n)),this.backwardLayer.setWeights(t.slice(n))}computeOutputShape(t){let e=this.forwardLayer.computeOutputShape(t);Array.isArray(e)&&Array.isArray(e[0])||(e=[e]),e=e;let n,o,s;return this.returnState&&(s=e.slice(1)),n=e[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()):Nr(o)}apply(t,e){let n=e==null?null:e.initialState,o=e==null?null:e.constants;e==null&&(e={});let s=ZS(t,n,o,this.numConstants);if(t=s.inputs,n=s.initialState,o=s.constants,Array.isArray(t)&&(n=t.slice(1),t=t[0]),(n==null||n.length===0)&&o==null)return super.apply(t,e);let i=[],a=[];if(n!=null){let l=n.length;if(l%2>0)throw new z(\"When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.\");e.initialState=n,i.push(...n);let c=n.map(p=>new we({shape:p.shape}));this.forwardLayer.stateSpec=c.slice(0,l/2),this.backwardLayer.stateSpec=c.slice(l/2),a.push(...c)}if(o!=null)throw new Nt(\"Support for constants in Bidirectional layers is not implemented yet.\");let u=i[0]instanceof Xr;for(let l of i)if(l instanceof Xr!==u)throw new z(\"The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors\");if(u){let l=[t].concat(i),c=this.inputSpec.concat(a),p=this.inputSpec;this.inputSpec=c;let m=super.apply(l,e);return this.inputSpec=p,m}else return super.apply(t,e)}call(t,e){return G(()=>{let n=e.initialState,o,s;if(n==null)o=this.forwardLayer.call(t,e),s=this.backwardLayer.call(t,e);else{let u=n.slice(0,n.length/2),l=n.slice(n.length/2);o=this.forwardLayer.call(t,Object.assign(e,{initialState:u})),s=this.backwardLayer.call(t,Object.assign(e,{initialState:l}))}let i;this.returnState&&(Array.isArray(o)&&(i=o.slice(1).concat(s.slice(1))),o=o[0],s=s[0]),this.returnSequences&&(s=pr(s,1));let a;return this.mergeMode===\"concat\"?a=Mm([o,s]):this.mergeMode===\"sum\"?a=J(o,s):this.mergeMode===\"ave\"?a=O(.5,J(o,s)):this.mergeMode===\"mul\"?a=O(o,s):this.mergeMode==null&&(a=[o,s]),this.returnState?this.mergeMode==null?a.concat(i):[a].concat(i):a})}resetStates(t){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(t){Ys(this.forwardLayer.name,()=>{this.forwardLayer.build(t)}),Ys(this.backwardLayer.name,()=>{this.backwardLayer.build(t)}),this.built=!0}computeMask(t,e){Array.isArray(e)&&(e=e[0]);let n;if(this.returnSequences?this.mergeMode==null?n=[e,e]:n=e:this.mergeMode==null?n=[null,null]:n=null,this.returnState){let s=this.forwardLayer.states.map(i=>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(t){super.setFastWeightInitDuringBuild(t),this.forwardLayer!=null&&this.forwardLayer.setFastWeightInitDuringBuild(t),this.backwardLayer!=null&&this.backwardLayer.setFastWeightInitDuringBuild(t)}getConfig(){let t={mergeMode:this.mergeMode},e=super.getConfig();return Object.assign(t,e),t}static fromConfig(t,e){let n=xn(e.layer);if(delete e.layer,e.numConstants!=null)throw new Nt(\"Deserialization of a Bidirectional layer with numConstants present is not supported yet.\");let o=e;return o.layer=n,new t(o)}};rd.className=\"Bidirectional\";rt.registerClass(rd);function TY(r){return new Js(r)}function NY(r){return new cf(r)}function kY(r){return new af(r)}function _Y(r){return new lf(r)}function EY(r){return new uf(r)}function AY(r){return new mf(r)}function $Y(r){return new pf(r)}function DY(r){return new Iu(r)}function RY(r){return new sl(r)}function FY(r){return new ff(r)}function OY(r){return new il(r)}function PY(r){return new df(r)}function LY(r){return new hf(r)}function MY(r){return new gf(r)}function zY(r){return new xf(r)}function BY(r){return new yf(r)}function VY(r){return new Nf(r)}function GY(r){return new Sf(r)}function WY(r){return new Dc(r)}function UY(r){return new If(r)}function HY(r){return new Tf(r)}function qY(r){return new kf(r)}function KY(r){return new _f(r)}function jY(r){return new Ef(r)}function XY(r){return new $f(r)}function YY(r){return new Df(r)}function ZY(r){return new Ff(r)}function JY(r){return new Lf(r)}function QY(r){return new Of(r)}function t7(r){return new Pf(r)}function e7(r){return new Rf(r)}function r7(r){return new Mf(r)}function n7(r){return new Gf(r)}function o7(r){return new Wf(r)}function s7(r){return new Uf(r)}function QS(r){return new qf(r)}function i7(r){return QS(r)}function a7(r){return QS(r)}function tT(r){return new jf(r)}function l7(r){return tT(r)}function u7(r){return tT(r)}function eT(r){return new Yf(r)}function c7(r){return eT(r)}function p7(r){return eT(r)}function m7(r){return new Zf(r)}function f7(r){return new Qf(r)}function PD(r){return new Jf(r)}function LD(r){return new td(r)}function MD(r){return new Hf(r)}function zD(r){return new Kf(r)}function d7(r){return new Xf(r)}function h7(r){return new wf(r)}function g7(r){return new Ec(r)}function x7(r){return new Cf(r)}function y7(r){return new ll(r)}function b7(r){return new bf(r)}function w7(r){return new _c(r)}function C7(r){return new vf(r)}function v7(r){return new $c(r)}function I7(r){return new _n(r)}function S7(r){return new Ac(r)}function T7(r){return new rd(r)}function N7(r){return new ed(r)}var k7=PD,_7=LD,E7=MD,A7=zD;function $7(r){return new zf(r)}function D7(r){return new Bf(r)}function R7(r){return new Vf(r)}function F7(r){return new Af(r)}var VD={};jt(VD,{MAPE:()=>H7,MSE:()=>j7,binaryAccuracy:()=>O7,binaryCrossentropy:()=>P7,categoricalAccuracy:()=>M7,categoricalCrossentropy:()=>z7,cosineProximity:()=>G7,mape:()=>q7,meanAbsoluteError:()=>W7,meanAbsolutePercentageError:()=>U7,meanSquaredError:()=>K7,mse:()=>X7,precision:()=>B7,recall:()=>V7,sparseCategoricalAccuracy:()=>L7});function O7(r,t){return Oh(r,t)}function P7(r,t){return nb(r,t)}function L7(r,t){return ob(r,t)}function M7(r,t){return Ph(r,t)}function z7(r,t){return Lh(r,t)}function B7(r,t){return VS(r,t)}function V7(r,t){return mD(r,t)}function G7(r,t){return Fh(r,t)}function W7(r,t){return tf(r,t)}function U7(r,t){return bu(r,t)}function H7(r,t){return bu(r,t)}function q7(r,t){return bu(r,t)}function K7(r,t){return Zi(r,t)}function j7(r,t){return Zi(r,t)}function X7(r,t){return Zi(r,t)}var GD={};jt(GD,{modelFromJSON:()=>_D});var WD={};jt(WD,{l1:()=>Z7,l1l2:()=>Y7,l2:()=>J7});function Y7(r){return new wu(r)}function Z7(r){return DD(r)}function J7(r){return RD(r)}var Lb=class extends ol{constructor(){super(...arguments),this.model=null}setModel(t){if(!(t instanceof Bn))throw new Error(\"model must be a LayersModel, not some other Container\");this.model=t}};function Pb(r,t){return rt}var Mb=class extends Lb{constructor(t){if(super(),t==null&&(t={}),t.restoreBestWeights)throw new Nt(\"restoreBestWeights = True is not implemented in EarlyStopping yet.\");this.monitor=t.monitor||\"val_loss\",this.minDelta=Math.abs(t.minDelta||0),this.patience=t.patience||0,this.verbose=t.verbose||0,this.mode=t.mode||\"auto\",this.baseline=t.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=Pb:this.mode===\"max\"?this.monitorFunc=UD:this.monitor.indexOf(\"acc\")!==-1?this.monitorFunc=UD:this.monitorFunc=Pb,this.monitorFunc===Pb&&(this.minDelta*=-1)}async onTrainBegin(t){this.wait=0,this.stoppedEpoch=0,this.baseline!=null?this.best=this.baseline:this.best=this.monitorFunc===Pb?1/0:-1/0}async onEpochEnd(t,e){await Yi(e);let n=this.getMonitorValue(e);n!=null&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=t,this.model.stopTraining=!0)))}async onTrainEnd(t){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(t){t==null&&(t={});let e=t[this.monitor];return e==null&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(t)}`),e}};function Q7(r){return new Mb(r)}var tZ={earlyStopping:Q7};var eZ=B();eZ.registerFlag(\"KEEP_INTERMEDIATE_TENSORS\",()=>!1,r=>{r&&console.warn(\"Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.\")});var eo;(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_QINT16=15]=\"DT_QINT16\",r[r.DT_QUINT16=16]=\"DT_QUINT16\",r[r.DT_UINT16=17]=\"DT_UINT16\",r[r.DT_COMPLEX128=18]=\"DT_COMPLEX128\",r[r.DT_HALF=19]=\"DT_HALF\",r[r.DT_RESOURCE=20]=\"DT_RESOURCE\",r[r.DT_VARIANT=21]=\"DT_VARIANT\",r[r.DT_UINT32=22]=\"DT_UINT32\",r[r.DT_UINT64=23]=\"DT_UINT64\",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\",r[r.DT_QINT16_REF=115]=\"DT_QINT16_REF\",r[r.DT_QUINT16_REF=116]=\"DT_QUINT16_REF\",r[r.DT_UINT16_REF=117]=\"DT_UINT16_REF\",r[r.DT_COMPLEX128_REF=118]=\"DT_COMPLEX128_REF\",r[r.DT_HALF_REF=119]=\"DT_HALF_REF\",r[r.DT_RESOURCE_REF=120]=\"DT_RESOURCE_REF\",r[r.DT_VARIANT_REF=121]=\"DT_VARIANT_REF\",r[r.DT_UINT32_REF=122]=\"DT_UINT32_REF\",r[r.DT_UINT64_REF=123]=\"DT_UINT64_REF\"})(eo||(eo={}));var HD;(function(r){let t;(function(e){e[e.LEGACY=0]=\"LEGACY\",e[e.V1=1]=\"V1\",e[e.V2=2]=\"V2\"})(t=r.CheckpointFormatVersion||(r.CheckpointFormatVersion={}))})(HD||(HD={}));var rT={};function nZ(r,t){let e={tfOpName:r,category:\"custom\",inputs:[],attrs:[],customExecutor:t};rT[r]=e}function zb(r){return rT[r]}function oZ(r){delete rT[r]}function I(r,t,e,n,o){let s=t.inputParams[r];if(s&&s.inputIndexStart!==void 0){let a=s.inputIndexStart,u=s.inputIndexEnd===0?void 0:s.inputIndexEnd===void 0?a+1:s.inputIndexEnd;if(s.type===\"tensor\")return wr(t.inputNames[s.inputIndexStart],e,n,o);if(s.type===\"tensors\")return t.inputNames.slice(a,u).map(m=>wr(m,e,n,o));let l=wr(t.inputNames.slice(a)[0],e,n,o),c=l.dataSync();return s.type===\"number\"?c[0]:y.toNestedArray(l.shape,c)}let i=t.attrParams[r];return i&&i.value}function wr(r,t,e,n){let[o,s]=yn(r);if(n!=null){let a=n.getHashTableHandleByName(o);if(a!=null)return a}let i=e.currentContextIds.find(a=>!!t[Bb(o,a)]);return i!==void 0?t[Bb(o,i)][s]:void 0}function qD(r,t,e){return t[Bb(r,e.currentContextId)]}function _o(r,t){let[e,n,o]=yn(r);return[Bb(e,t&&t.currentContextId),n,o]}function Bb(r,t){return t?`${r}-${t}`:r}function yn(r){let t=r.split(\":\");if(t.length===1)return[r,0,void 0];let e=t[0],n=t.length===3?t[1]:void 0,o=Number(t[t.length-1]);return[e,o,n]}function Gh(r,t,e){let n=I(\"pad\",r,t,e);if(n===\"explicit\"){n=I(\"explicitPaddings\",r,t,e);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 ri(r){return r.kept?r:an(r)}var nT={};jt(nT,{json:()=>sZ});var sZ=[{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 oT={};jt(oT,{json:()=>iZ});var iZ=[{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}]},{tfOpName:\"IsNan\",category:\"basic_math\",inputs:[{start:0,name:\"x\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]}];var sT={};jt(sT,{json:()=>aZ});var aZ=[{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:\"TensorListConcatV2\",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\"}]},{tfOpName:\"TensorListLength\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"}]},{tfOpName:\"TensorListResize\",category:\"control\",inputs:[{start:0,name:\"tensorListId\",type:\"tensor\"},{start:1,name:\"size\",type:\"number\"}]}];var iT={};jt(iT,{json:()=>lZ});var lZ=[{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\",defaultValue:.2}]},{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 aT={};jt(aT,{json:()=>uZ});var uZ=[{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\"}]},{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:\"RandomStandardNormal\",category:\"creation\",inputs:[{start:0,name:\"shape\",type:\"number[]\"}],attrs:[{tfName:\"seed\",name:\"seed\",type:\"number\",defaultValue:0},{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:\"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 lT={};jt(lT,{json:()=>cZ});var cZ=[{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 uT={};jt(uT,{json:()=>pZ});var pZ=[{tfOpName:\"LowerBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{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:\"UpperBound\",category:\"evaluation\",inputs:[{start:0,name:\"sortedSequence\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"}]},{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 cT={};jt(cT,{json:()=>mZ});var mZ=[{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 pT={};jt(pT,{json:()=>fZ});var fZ=[{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}]},{tfOpName:\"LookupTableSize\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]},{tfOpName:\"LookupTableSizeV2\",category:\"hash_table\",inputs:[{start:0,name:\"tableHandle\",type:\"tensor\"}]}];var mT={};jt(mT,{json:()=>dZ});var dZ=[{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\"}]},{tfOpName:\"ImageProjectiveTransformV3\",category:\"image\",inputs:[{start:0,name:\"images\",type:\"tensor\"},{start:1,name:\"transforms\",type:\"tensor\"},{start:2,name:\"outputShape\",type:\"number[]\"},{start:3,name:\"fillValue\",type:\"number\"}],attrs:[{tfName:\"interpolation\",name:\"interpolation\",type:\"string\"},{tfName:\"fill_mode\",name:\"fillMode\",type:\"string\"}]}];var fT={};jt(fT,{json:()=>hZ});var hZ=[{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 dT={};jt(dT,{json:()=>gZ});var gZ=[{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:\"leakyrelu_alpha\",name:\"leakyreluAlpha\",type:\"number\",defaultValue:.2},{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}]},{tfOpName:\"Einsum\",category:\"matrices\",inputs:[{start:0,end:0,name:\"tensors\",type:\"tensors\"}],attrs:[{tfName:\"equation\",name:\"equation\",type:\"string\"},{tfName:\"N\",name:\"n\",type:\"number\",defaultValue:2},{tfName:\"T\",name:\"dtype\",type:\"dtype\"}]}];var hT={};jt(hT,{json:()=>xZ});var xZ=[{tfOpName:\"EuclideanNorm\",category:\"normalization\",inputs:[{start:0,name:\"x\",type:\"tensor\"},{start:1,name:\"axis\",type:\"number[]\"}],attrs:[{tfName:\"keep_dims\",name:\"keepDims\",type:\"bool\",defaultValue:!1}]},{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 gT={};jt(gT,{json:()=>yZ});var yZ=[{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:\"Cumprod\",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\"}]},{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 xT={};jt(xT,{json:()=>bZ});var bZ=[{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 yT={};jt(yT,{json:()=>wZ});var wZ=[{tfOpName:\"SparseFillEmptyRows\",category:\"sparse\",inputs:[{start:0,name:\"indices\",type:\"tensor\"},{start:1,name:\"values\",type:\"tensor\"},{start:2,name:\"denseShape\",type:\"tensor\"},{start:3,name:\"defaultValue\",type:\"tensor\"}]},{tfOpName:\"SparseReshape\",category:\"sparse\",inputs:[{start:0,name:\"inputIndices\",type:\"tensor\"},{start:1,name:\"inputShape\",type:\"tensor\"},{start:2,name:\"newShape\",type:\"tensor\"}],attrs:[{tfName:\"T\",name:\"dtype\",type:\"dtype\",notSupported:!0}]},{tfOpName:\"SparseSegmentMean\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]},{tfOpName:\"SparseSegmentSum\",category:\"sparse\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"indices\",type:\"tensor\"},{start:2,name:\"segmentIds\",type:\"tensor\"}]}];var bT={};jt(bT,{json:()=>CZ});var CZ=[{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 wT={};jt(wT,{json:()=>vZ});var vZ=[{tfOpName:\"StringNGrams\",category:\"string\",inputs:[{start:0,name:\"data\",type:\"tensor\"},{start:1,name:\"dataSplits\",type:\"tensor\"}],attrs:[{tfName:\"separator\",name:\"separator\",type:\"string\"},{tfName:\"ngram_widths\",name:\"nGramWidths\",type:\"number[]\"},{tfName:\"left_pad\",name:\"leftPad\",type:\"string\"},{tfName:\"right_pad\",name:\"rightPad\",type:\"string\"},{tfName:\"pad_width\",name:\"padWidth\",type:\"number\"},{tfName:\"preserve_short_sequences\",name:\"preserveShortSequences\",type:\"bool\"}],outputs:[\"ngrams\",\"ngrams_splits\"]},{tfOpName:\"StringSplit\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"},{start:1,name:\"delimiter\",type:\"tensor\"}],attrs:[{tfName:\"skip_empty\",name:\"skipEmpty\",type:\"bool\"}],outputs:[\"indices\",\"values\",\"shape\"]},{tfOpName:\"StringToHashBucketFast\",category:\"string\",inputs:[{start:0,name:\"input\",type:\"tensor\"}],attrs:[{tfName:\"num_buckets\",name:\"numBuckets\",type:\"number\"}]}];var CT={};jt(CT,{json:()=>IZ});var IZ=[{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:[]},{tfOpName:\"BroadcastArgs\",category:\"transformation\",inputs:[{start:0,name:\"s0\",type:\"tensor\"},{start:1,name:\"s1\",type:\"tensor\"}],attrs:[]}];var Wh=class{static get Instance(){return this._instance||(this._instance=new this)}constructor(){let t=[nT,oT,sT,iT,aT,lT,uT,cT,pT,mT,fT,dT,hT,gT,xT,yT,bT,wT,CT],e=[].concat(...t.map(n=>n.json));this.opMappers=e.reduce((n,o)=>(n[o.tfOpName]=o,n),{})}transformGraph(t,e={}){let n=t.node,o=[],s=[],i=[],a=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)&&i.push(h[g.name]),h),{}),u=[],l=[],c={},p={};e!=null&&(c=this.mapSignatureEntries(e.inputs),p=this.mapSignatureEntries(e.outputs));let m=Object.keys(a);m.forEach(h=>{let g=a[h];g.inputNames.forEach((x,b)=>{let[w,,C]=_o(x),T=a[w];if(T.outputs!=null){let E=T.outputs.indexOf(C);if(E!==-1){let $=`${w}:${E}`;g.inputNames[b]=$}}g.inputs.push(T),T.children.push(g)})}),Object.keys(p).length===0?m.forEach(h=>{let g=a[h];g.children.length===0&&l.push(g)}):Object.keys(p).forEach(h=>{let[g]=_o(h),x=a[g];x!=null&&(x.signatureKey=p[h],l.push(x))}),Object.keys(c).length>0?Object.keys(c).forEach(h=>{let[g]=_o(h),x=a[g];x&&(x.signatureKey=c[h],u.push(x))}):u=o;let f={};t.library!=null&&t.library.function!=null&&(f=t.library.function.reduce((h,g)=>(h[g.signature.name]=this.mapFunction(g),h),{}));let d={nodes:a,inputs:u,outputs:l,weights:s,placeholders:o,signature:e,functions:f};return i.length>0&&(d.initNodes=i),d}mapSignatureEntries(t){return Object.keys(t||{}).reduce((e,n)=>(e[t[n].name]=n,e),{})}mapNode(t){let e=zb(t.op)||this.opMappers[t.op]||{};t.attr==null&&(t.attr={});let n={name:t.name,op:t.op,category:e.category,inputNames:(t.input||[]).map(o=>o.startsWith(\"^\")?o.slice(1):o),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:t.attr,outputs:e.outputs};return e.inputs!=null&&(n.inputParams=e.inputs.reduce((o,s)=>(o[s.name]={type:s.type,inputIndexStart:s.start,inputIndexEnd:s.end},o),{})),e.attrs!=null&&(n.attrParams=e.attrs.reduce((o,s)=>{let i=s.type,a;switch(s.type){case\"string\":a=Vb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Vb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"string[]\":a=jb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=jb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number\":a=Wb(t.attr,s.tfName,s.defaultValue||0),a===void 0&&!!s.tfDeprecatedName&&(a=Wb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"number[]\":a=Kb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Kb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool\":a=Gb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Gb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"bool[]\":a=Yb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Yb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape\":a=qb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=qb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"shape[]\":a=Xb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Xb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype\":a=Ub(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Ub(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"dtype[]\":a=Hb(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=Hb(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"func\":a=KD(t.attr,s.tfName,s.defaultValue),a===void 0&&!!s.tfDeprecatedName&&(a=KD(t.attr,s.tfDeprecatedName,s.defaultValue));break;case\"tensor\":case\"tensors\":break;default:throw new Error(`Unsupported param type: ${s.type} for op: ${t.op}`)}return o[s.name]={value:a,type:i},o},{})),n}mapFunction(t){let e=t.nodeDef,n=[],o=[],s={};e!=null&&(s=e.reduce((p,m)=>(p[m.name]=this.mapNode(m),m.op===\"Const\"&&o.push(p[m.name]),p),{}));let i=[],a=[];t.signature.inputArg.forEach(p=>{let[m]=_o(p.name),f={name:m,op:\"Placeholder\",inputs:[],inputNames:[],category:\"graph\",inputParams:{},attrParams:{dtype:{value:vT(p.type),type:\"dtype\"}},children:[]};f.signatureKey=p.name,i.push(f),s[m]=f}),Object.keys(s).forEach(p=>{let m=s[p];m.inputNames.forEach((f,d)=>{let[h,,g]=_o(f),x=s[h];if(x.outputs!=null){let b=x.outputs.indexOf(g);if(b!==-1){let w=`${h}:${b}`;m.inputNames[d]=w}}m.inputs.push(x),x.children.push(m)})});let l=t.ret;t.signature.outputArg.forEach(p=>{let[m,f]=_o(l[p.name]),d=s[m];d!=null&&(d.defaultOutput=f,a.push(d))});let c=this.mapArgsToSignature(t);return{nodes:s,inputs:i,outputs:a,weights:o,placeholders:n,signature:c}}mapArgsToSignature(t){return{methodName:t.signature.name,inputs:t.signature.inputArg.reduce((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n),e),{}),outputs:t.signature.outputArg.reduce((e,n)=>(e[n.name]=this.mapArgToTensorInfo(n,t.ret),e),{})}}mapArgToTensorInfo(t,e){let n=t.name;return e!=null&&(n=e[n]),{name:n,dtype:t.type}}};function SZ(r){let t=B().global;if(typeof t.atob!=\"undefined\")return t.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 jD(r,t){let e=Array.isArray(r)?String.fromCharCode.apply(null,r):SZ(r);return t?e:e.toLowerCase()}function Vb(r,t,e,n=!1){let o=r[t];return o!=null?jD(o.s,n):e}function Gb(r,t,e){let n=r[t];return n?n.b:e}function Wb(r,t,e){let n=r[t]||{},o=n.i!=null?n.i:n.f!=null?n.f:e;return typeof o==\"number\"?o:parseInt(o,10)}function vT(r){switch(typeof r==\"string\"&&(r=eo[r]),r){case eo.DT_FLOAT:case eo.DT_HALF:return\"float32\";case eo.DT_INT32:case eo.DT_INT64:case eo.DT_INT8:case eo.DT_UINT8:return\"int32\";case eo.DT_BOOL:return\"bool\";case eo.DT_DOUBLE:return\"float32\";case eo.DT_STRING:return\"string\";default:return null}}function KD(r,t,e){let n=r[t];return n&&n.func?n.func.name:e}function Ub(r,t,e){let n=r[t];return n&&n.type?vT(n.type):e}function Hb(r,t,e){let n=r[t];return n&&n.list&&n.list.type?n.list.type.map(o=>vT(o)):e}function XD(r){if(!r.unknownRank)return r.dim!=null?r.dim.map(t=>typeof t.size==\"number\"?t.size:parseInt(t.size,10)):[]}function qb(r,t,e){let n=r[t];return n&&n.shape?XD(n.shape):e}function Kb(r,t,e){let n=r[t];return n?((n.list.f&&n.list.f.length?n.list.f:n.list.i)||[]).map(o=>typeof o==\"number\"?o:parseInt(o,10)):e}function jb(r,t,e,n=!1){let o=r[t];return o&&o.list&&o.list.s?o.list.s.map(s=>jD(s,n)):e}function Xb(r,t,e){let n=r[t];return n&&n.list&&n.list.shape?n.list.shape.map(o=>XD(o)):e}function Yb(r,t,e){let n=r[t];return n&&n.list&&n.list.b?n.list.b:e}var Zb=class{constructor(t,e,n){this.node=t,this.tensorMap=e,this.context=n,this.inputs=[],this.attrs={},this.inputs=t.inputNames.map(o=>this.getInput(o)),t.rawAttrs!=null&&(this.attrs=Object.keys(t.rawAttrs).reduce((o,s)=>(o[s]=this.getAttr(s),o),{}))}getInput(t){return wr(t,this.tensorMap,this.context)}getAttr(t,e){let n=this.node.rawAttrs[t];if(n.tensor!=null)return wr(t,this.tensorMap,this.context);if(n.i!=null||n.f!=null)return Wb(this.node.rawAttrs,t,e);if(n.s!=null)return Vb(this.node.rawAttrs,t,e);if(n.b!=null)return Gb(this.node.rawAttrs,t,e);if(n.shape!=null)return qb(this.node.rawAttrs,t,e);if(n.type!=null)return Ub(this.node.rawAttrs,t,e);if(n.list!=null){if(n.list.i!=null||n.list.f!=null)return Kb(this.node.rawAttrs,t,e);if(n.list.s!=null)return jb(this.node.rawAttrs,t,e);if(n.list.shape!=null)return Xb(this.node.rawAttrs,t,e);if(n.list.b!=null)return Yb(this.node.rawAttrs,t,e);if(n.list.type!=null)return Hb(this.node.rawAttrs,t,e)}return e}};var ue={};jt(ue,{OP_SCOPE_SUFFIX:()=>z0,abs:()=>$e,acos:()=>Cx,acosh:()=>vx,add:()=>J,addN:()=>J_,all:()=>cm,any:()=>Ju,argMax:()=>Oi,argMin:()=>Ix,asin:()=>Sx,asinh:()=>Tx,atan:()=>Nx,atan2:()=>kx,atanh:()=>_x,avgPool:()=>Xl,avgPool3d:()=>Ax,basicLSTMCell:()=>eE,batchNorm:()=>Li,batchNorm2d:()=>$x,batchNorm3d:()=>Dx,batchNorm4d:()=>Rx,batchToSpaceND:()=>Yl,bincount:()=>Fx,booleanMaskAsync:()=>w6,broadcastArgs:()=>nE,broadcastTo:()=>Mi,buffer:()=>vt,cast:()=>tt,ceil:()=>Ox,clipByValue:()=>Ir,clone:()=>an,complex:()=>Cn,concat:()=>se,concat1d:()=>Px,concat2d:()=>Lx,concat3d:()=>Mx,concat4d:()=>zx,conv1d:()=>mm,conv2d:()=>Sn,conv2dTranspose:()=>dm,conv3d:()=>Bx,conv3dTranspose:()=>Gx,cos:()=>Zl,cosh:()=>hm,cosineWindow:()=>Sh,cumprod:()=>ec,cumsum:()=>gm,denseBincount:()=>oE,depthToSpace:()=>Wx,depthwiseConv2d:()=>zi,diag:()=>sE,dilation2d:()=>Ux,div:()=>ct,divNoNan:()=>Hx,dot:()=>qx,dropout:()=>bS,einsum:()=>iE,elu:()=>Bi,enclosingPowerOfTwo:()=>wS,equal:()=>Ar,erf:()=>Kx,euclideanNorm:()=>jx,exp:()=>or,expandDims:()=>yr,expm1:()=>Xx,eye:()=>nc,fft:()=>iu,fill:()=>Vi,floor:()=>Gi,floorDiv:()=>um,fused:()=>lu,gather:()=>Wi,gatherND:()=>E6,greater:()=>Xe,greaterEqual:()=>Pn,ifft:()=>Qa,imag:()=>jl,image:()=>uu,inTopKAsync:()=>D6,irfft:()=>Am,isFinite:()=>Yx,isInf:()=>Zx,isNaN:()=>Jx,leakyRelu:()=>Jl,less:()=>xm,lessEqual:()=>Ln,linalg:()=>vS,linspace:()=>uE,localResponseNormalization:()=>Qx,log:()=>Sr,log1p:()=>Ql,logSigmoid:()=>ry,logSoftmax:()=>ym,logSumExp:()=>bm,logicalAnd:()=>Dr,logicalNot:()=>tu,logicalOr:()=>wm,logicalXor:()=>ny,losses:()=>D5,lowerBound:()=>cE,matMul:()=>Gt,max:()=>Mr,maxPool:()=>eu,maxPool3d:()=>sy,maxPoolWithArgmax:()=>pE,maximum:()=>Tn,mean:()=>ke,meshgrid:()=>mE,min:()=>rc,minimum:()=>Ui,mirrorPad:()=>iy,mod:()=>ay,moments:()=>oc,movingAverage:()=>v6,mul:()=>O,multiRNNCell:()=>fE,multinomial:()=>dE,neg:()=>Yt,norm:()=>Ja,notEqual:()=>qs,oneHot:()=>Ri,ones:()=>cr,onesLike:()=>br,op:()=>N,outerProduct:()=>hE,pad:()=>cn,pad1d:()=>gE,pad2d:()=>xE,pad3d:()=>yE,pad4d:()=>bE,pool:()=>ly,pow:()=>ln,prelu:()=>nu,print:()=>mx,prod:()=>uy,raggedTensorToTensor:()=>wE,rand:()=>CE,randomGamma:()=>ME,randomNormal:()=>ac,randomStandardNormal:()=>zE,randomUniform:()=>Hi,range:()=>ou,real:()=>Za,reciprocal:()=>dy,relu:()=>Rr,relu6:()=>Cm,reshape:()=>F,reverse:()=>pr,reverse1d:()=>BE,reverse2d:()=>VE,reverse3d:()=>GE,reverse4d:()=>WE,rfft:()=>au,round:()=>vm,rsqrt:()=>Im,scalar:()=>mt,scatterND:()=>S6,searchSorted:()=>Ch,selu:()=>Sm,separableConv2d:()=>Tm,setdiff1dAsync:()=>UE,sigmoid:()=>Kr,sign:()=>hy,signal:()=>$5,sin:()=>Nm,sinh:()=>km,slice:()=>Ot,slice1d:()=>_m,slice2d:()=>Ih,slice3d:()=>Em,slice4d:()=>lc,softmax:()=>su,softplus:()=>Hs,spaceToBatchND:()=>ru,sparse:()=>R5,sparseToDense:()=>k6,spectral:()=>A5,split:()=>mr,sqrt:()=>Ne,square:()=>Ht,squaredDifference:()=>$m,squeeze:()=>Mn,stack:()=>sr,step:()=>yo,stridedSlice:()=>gy,string:()=>F5,sub:()=>ut,sum:()=>ft,tan:()=>xy,tanh:()=>Pi,tensor:()=>vr,tensor1d:()=>Ve,tensor2d:()=>Ks,tensor3d:()=>gx,tensor4d:()=>HE,tensor5d:()=>qE,tensor6d:()=>KE,tile:()=>$r,topk:()=>yy,transpose:()=>Mt,truncatedNormal:()=>Dm,unique:()=>by,unsortedSegmentSum:()=>Rm,unstack:()=>Tr,upperBound:()=>jE,variable:()=>wy,where:()=>De,whereAsync:()=>vy,zeros:()=>_e,zerosLike:()=>St});var YD=(r,t,e,n=ue)=>{switch(r.op){case\"BiasAdd\":case\"AddV2\":case\"Add\":return[n.add(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"AddN\":return[n.addN(I(\"tensors\",r,t,e))];case\"FloorMod\":case\"Mod\":return[n.mod(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Mul\":return[n.mul(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"RealDiv\":case\"Div\":return[n.div(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"DivNoNan\":return[n.divNoNan(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"FloorDiv\":return[n.floorDiv(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Sub\":return[n.sub(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Minimum\":return[n.minimum(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Maximum\":return[n.maximum(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Pow\":return[n.pow(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"SquaredDifference\":return[n.squaredDifference(I(\"a\",r,t,e),I(\"b\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var ZD=(r,t,e,n=ue)=>{switch(r.op){case\"Abs\":case\"ComplexAbs\":return[n.abs(I(\"x\",r,t,e))];case\"Acos\":return[n.acos(I(\"x\",r,t,e))];case\"Acosh\":return[n.acosh(I(\"x\",r,t,e))];case\"Asin\":return[n.asin(I(\"x\",r,t,e))];case\"Asinh\":return[n.asinh(I(\"x\",r,t,e))];case\"Atan\":return[n.atan(I(\"x\",r,t,e))];case\"Atan2\":return[n.atan2(I(\"x\",r,t,e),I(\"y\",r,t,e))];case\"Atanh\":return[n.atanh(I(\"x\",r,t,e))];case\"Ceil\":return[n.ceil(I(\"x\",r,t,e))];case\"Complex\":return[n.complex(I(\"real\",r,t,e),I(\"imag\",r,t,e))];case\"Cos\":return[n.cos(I(\"x\",r,t,e))];case\"Cosh\":return[n.cosh(I(\"x\",r,t,e))];case\"Elu\":return[n.elu(I(\"x\",r,t,e))];case\"Erf\":return[n.erf(I(\"x\",r,t,e))];case\"Exp\":return[n.exp(I(\"x\",r,t,e))];case\"Expm1\":return[n.expm1(I(\"x\",r,t,e))];case\"Floor\":return[n.floor(I(\"x\",r,t,e))];case\"Log\":return[n.log(I(\"x\",r,t,e))];case\"Log1p\":return[n.log1p(I(\"x\",r,t,e))];case\"Imag\":return[n.imag(I(\"x\",r,t,e))];case\"Neg\":return[n.neg(I(\"x\",r,t,e))];case\"Reciprocal\":return[n.reciprocal(I(\"x\",r,t,e))];case\"Real\":return[n.real(I(\"x\",r,t,e))];case\"Relu\":return[n.relu(I(\"x\",r,t,e))];case\"Round\":return[n.round(I(\"x\",r,t,e))];case\"Selu\":return[n.selu(I(\"x\",r,t,e))];case\"Sigmoid\":return[n.sigmoid(I(\"x\",r,t,e))];case\"Sin\":return[n.sin(I(\"x\",r,t,e))];case\"Sign\":return[n.sign(I(\"x\",r,t,e))];case\"Sinh\":return[n.sinh(I(\"x\",r,t,e))];case\"Softplus\":return[n.softplus(I(\"x\",r,t,e))];case\"Sqrt\":return[n.sqrt(I(\"x\",r,t,e))];case\"Square\":return[n.square(I(\"x\",r,t,e))];case\"Tanh\":return[n.tanh(I(\"x\",r,t,e))];case\"Tan\":return[n.tan(I(\"x\",r,t,e))];case\"ClipByValue\":return[n.clipByValue(I(\"x\",r,t,e),I(\"clipValueMin\",r,t,e),I(\"clipValueMax\",r,t,e))];case\"Relu6\":return[n.relu6(I(\"x\",r,t,e))];case\"Rsqrt\":return[n.rsqrt(wr(r.inputNames[0],t,e))];case\"Prod\":return[n.prod(I(\"x\",r,t,e),I(\"axes\",r,t,e))];case\"LeakyRelu\":return[n.leakyRelu(I(\"x\",r,t,e),I(\"alpha\",r,t,e))];case\"Prelu\":return[n.prelu(I(\"x\",r,t,e),I(\"alpha\",r,t,e))];case\"IsNan\":return[n.isNaN(wr(r.inputNames[0],t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function Vn(r,t,e=\"\"){if(!(typeof r==\"number\"||typeof t==\"number\")){y.assert(r.length===t.length,()=>e+` Shapes ${r} and ${t} must match`);for(let n=0;ne+` Shapes ${r} and ${t} must match`)}}}function JD(r){return!(typeof r==\"number\"||r.some(t=>t<0))}function nd(r,t,e){let n=Jb(r,e),o=!JD(n);if(o&&t.length===0)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${n}`);if(o&&t.forEach(s=>{n=Jb(s.shape,n)}),!JD(n))throw new Error(`Non-fully-defined elementShape: ${n}`);return n}function Jb(r,t){if(typeof r==\"number\")return t;if(typeof t==\"number\")return r;if(r.length!==t.length)throw new Error(`Incompatible ranks during merge: ${r} vs. ${t}`);let e=[];for(let n=0;n=0&&s>=0&&o!==s)throw new Error(`Incompatible shape during merge: ${r} vs. ${t}`);e[n]=o>=0?o:s}return e}var Qb=class{constructor(t,e,n,o,s,i,a){this.name=t,this.dtype=e,this.maxSize=n,this.elementShape=o,this.identicalElementShapes=s,this.dynamicSize=i,this.clearAfterRead=a,this.tensors=[],this.closed_=!1,this.idTensor=mt(0),Oe(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(t){this.tensors.forEach(e=>{(t==null||!t.has(e.tensor.id))&&e.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||t>=this.size())throw new Error(`Tried to read from index ${t}, but array size is: ${this.size()}`);let e=this.tensors[t];if(e.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${t} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(e.cleared=!0),e.read=!0,e.tensor}readMany(t){return t.map(e=>this.read(e))}write(t,e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(t<0||!this.dynamicSize&&t>=this.maxSize)throw new Error(`Tried to write to index ${t}, but array is not resizeable and size is: ${this.maxSize}`);let n=this.tensors[t]||{};if(e.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t},\n because the value dtype is ${e.dtype}, but TensorArray dtype is ${this.dtype}.`);if(this.size()===0&&(this.elementShape==null||this.elementShape.length===0)&&(this.elementShape=e.shape),Vn(this.elementShape,e.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${t}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${t}, because it has already been written.`);n.tensor=e,Oe(e),n.written=!0,this.tensors[t]=n}writeMany(t,e){if(t.length!==e.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${t.length} is not the same as tensors size: ${e.length}.`);t.forEach((n,o)=>this.write(n,e[o]))}gather(t,e){if(!!e&&e!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${e}`);if(t)t=t.slice(0,this.size());else{t=[];for(let o=0;o=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(t,Tr(e,0))}split(t,e){if(e.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${e.dtype}`);let n=0,o=t.map(u=>(n+=u,n));if(n!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${e.shape}`);if(!this.dynamicSize&&t.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${t.length}), and the TensorArray is not marked as dynamically resizeable`);let s=n===0?0:e.size/n,i=[];G(()=>{e=F(e,[1,n,s]);for(let u=0;u{if(n!==s.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${s.dtype}`);Vn(e,s.shape,\"TensorList shape mismatch: \"),Oe(s)}),this.idTensor=mt(0),this.maxNumElements=o,Oe(this.idTensor)}get id(){return this.idTensor.id}copy(){return new pl([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(t){this.tensors.forEach(e=>{(t==null||!t.has(e.id))&&e.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(t,e,n=-1){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, 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.`);Vn(t,this.elementShape,\"TensorList shape mismatch: \");let o=nd(this.elementShape,this.tensors,t);return G(()=>{let s=this.tensors.map(i=>F(i,o));return sr(s,0)})}popBack(t,e){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);if(this.size()===0)throw new Error(\"Trying to pop from an empty list.\");let n=nd(this.elementShape,this.tensors,t),o=this.tensors.pop();return o.kept=!1,Vn(o.shape,t,\"TensorList shape mismatch: \"),F(o,n)}pushBack(t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(Vn(t.shape,this.elementShape,\"TensorList shape mismatch: \"),this.maxNumElements===this.size())throw new Error(\"Trying to push element into a full list.\");Oe(t),this.tensors.push(t)}resize(t){if(t<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${t}`);if(this.maxNumElements!==-1&&t>this.maxNumElements)throw new Error(`TensorListResize input size ${t} is greater maxNumElement ${this.maxNumElements}.`);let e=new pl([],this.elementShape,this.elementDtype,this.maxNumElements);e.tensors.length=t;for(let n=0;nthis.tensors.length)throw new Error(`Trying to access element ${t} in a list with ${this.tensors.length} elements.`);if(this.tensors[t]==null)throw new Error(`element at index ${t} is null.`);Vn(this.tensors[t].shape,e,\"TensorList shape mismatch: \");let o=nd(this.elementShape,this.tensors,e);return F(this.tensors[t],o)}setItem(t,e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(t<0||this.maxNumElements!==-1&&t>=this.maxNumElements)throw new Error(`Trying to set element ${t} in a list with max ${this.maxNumElements} elements.`);Vn(this.elementShape,e.shape,\"TensorList shape mismatch: \"),Oe(e),this.tensors[t]!=null&&(this.tensors[t].kept=!1),this.tensors[t]=e}gather(t,e,n){if(e!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e}, but list elements ${this.elementDtype}`);Vn(this.elementShape,n,\"TensorList shape mismatch: \"),t=t.slice(0,this.size());let o=nd(this.elementShape,this.tensors,n);return t.length===0?vr([],[0].concat(o)):G(()=>{let s=t.map(i=>F(this.tensors[i],o));return sr(s,0)})}concat(t,e){if(!!t&&t!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${t}`);Vn(this.elementShape,e,\"TensorList shape mismatch: \");let n=nd(this.elementShape,this.tensors,e);return this.size()===0?vr([],[0].concat(n)):G(()=>{let o=this.tensors.map(s=>F(s,n));return se(o,0)})}};function QD(r,t,e){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!==e)throw new Error(`Invalid data types; op elements ${r.dtype}, but list elements ${e}`);let o=r.shape.slice(1);Vn(o,t,\"TensorList shape mismatch: \");let s=Tr(r);return new pl(s,t,n)}function tR(r,t,e,n){return new pl([],r,t,n)}function eR(r,t,e,n){if(t.length!==r.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${r.shape[0]}`);let o=Math.max(...t);if(n!=null&&n!==-1&&o>=n)throw new Error(`Max index must be < array size (${o} vs. ${n})`);let s=new pl([],e,r.dtype,n),i=Tr(r,0);return t.forEach((a,u)=>{s.setItem(a,i[u])}),s}function rR(r,t,e){let n=0,o=t.map(c=>(n+=c,n));if(n!==r.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${r.shape}`);let s=r.shape.slice(1),i=Jb(s,e),a=n===0?0:r.size/n,u=G(()=>{let c=[];r=F(r,[1,n,a]);for(let p=0;p{switch(r.op){case\"If\":case\"StatelessIf\":{let n=I(\"thenBranch\",r,t,e),o=I(\"elseBranch\",r,t,e),s=I(\"cond\",r,t,e),i=I(\"args\",r,t,e);return(await s.data())[0]?e.functionMap[n].executeFunctionAsync(i,e.tensorArrayMap,e.tensorListMap):e.functionMap[o].executeFunctionAsync(i,e.tensorArrayMap,e.tensorListMap)}case\"While\":case\"StatelessWhile\":{let n=I(\"body\",r,t,e),o=I(\"cond\",r,t,e),s=I(\"args\",r,t,e),i=await e.functionMap[o].executeFunctionAsync(s,e.tensorArrayMap,e.tensorListMap),a=s.map(c=>c.id),u=await i[0].data();i.forEach(c=>{!c.kept&&a.indexOf(c.id)===-1&&c.dispose()});let l=s;for(;u[0];){let c=l;l=await e.functionMap[n].executeFunctionAsync(l,e.tensorArrayMap,e.tensorListMap);let p=l.map(f=>f.id);c.forEach(f=>{!f.kept&&a.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()});let m=await e.functionMap[o].executeFunctionAsync(l,e.tensorArrayMap,e.tensorListMap);u=await m[0].data(),m.forEach(f=>{!f.kept&&a.indexOf(f.id)===-1&&p.indexOf(f.id)===-1&&f.dispose()})}return l}case\"LoopCond\":{let n=I(\"pred\",r,t,e);return[ri(n)]}case\"Switch\":{let n=I(\"pred\",r,t,e),o=I(\"data\",r,t,e);return o.kept||(o=ri(o)),(await n.data())[0]?[void 0,o]:[o,void 0]}case\"Merge\":{let n=r.inputNames.find(o=>wr(o,t,e)!==void 0);if(n){let o=wr(n,t,e);return[ri(o)]}return}case\"Enter\":{let n=I(\"frameName\",r,t,e),o=I(\"tensor\",r,t,e);return e.enterFrame(n),[ri(o)]}case\"Exit\":{let n=I(\"tensor\",r,t,e);return e.exitFrame(),[ri(n)]}case\"NextIteration\":{let n=I(\"tensor\",r,t,e);return e.nextIteration(),[ri(n)]}case\"TensorArrayV3\":{let n=I(\"size\",r,t,e),o=I(\"dtype\",r,t,e),s=I(\"elementShape\",r,t,e),i=I(\"dynamicSize\",r,t,e),a=I(\"clearAfterRead\",r,t,e),u=I(\"identicalElementShapes\",r,t,e),l=I(\"name\",r,t,e),c=new Qb(l,o,n,s,u,i,a);return e.addTensorArray(c),[c.idTensor,mt(1)]}case\"TensorArrayWriteV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"index\",r,t,e),s=I(\"tensor\",r,t,e),i=e.getTensorArray(n.id);return i.write(o,s),[i.idTensor]}case\"TensorArrayReadV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"index\",r,t,e);return[e.getTensorArray(n.id).read(o)]}case\"TensorArrayGatherV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"indices\",r,t,e),s=I(\"dtype\",r,t,e);return[e.getTensorArray(n.id).gather(o,s)]}case\"TensorArrayScatterV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"indices\",r,t,e),s=I(\"tensor\",r,t,e),i=e.getTensorArray(n.id);return i.scatter(o,s),[i.idTensor]}case\"TensorArrayConcatV3\":{let n=I(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id),s=I(\"dtype\",r,t,e);return[o.concat(s)]}case\"TensorArraySplitV3\":{let n=I(\"tensorArrayId\",r,t,e),o=I(\"tensor\",r,t,e),s=I(\"lengths\",r,t,e),i=e.getTensorArray(n.id);return i.split(s,o),[i.idTensor]}case\"TensorArraySizeV3\":{let n=I(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id);return[mt(o.size(),\"int32\")]}case\"TensorArrayCloseV3\":{let n=I(\"tensorArrayId\",r,t,e),o=e.getTensorArray(n.id);return o.clearAndClose(),[o.idTensor]}case\"TensorListSetItem\":{let n=I(\"tensorListId\",r,t,e),o=I(\"index\",r,t,e),s=I(\"tensor\",r,t,e),i=e.getTensorList(n.id);return i.setItem(o,s),[i.idTensor]}case\"TensorListGetItem\":{let n=I(\"tensorListId\",r,t,e),o=I(\"index\",r,t,e),s=I(\"elementShape\",r,t,e),i=I(\"elementDType\",r,t,e);return[e.getTensorList(n.id).getItem(o,s,i)]}case\"TensorListScatterV2\":case\"TensorListScatter\":{let n=I(\"indices\",r,t,e),o=I(\"tensor\",r,t,e),s=I(\"elementShape\",r,t,e),i=I(\"numElements\",r,t,e),a=eR(o,n,s,i);return e.addTensorList(a),[a.idTensor]}case\"TensorListReserve\":case\"EmptyTensorList\":{let n=I(\"elementShape\",r,t,e),o=I(\"elementDType\",r,t,e),s;r.op===\"TensorListReserve\"?s=\"numElements\":s=\"maxNumElements\";let i=I(s,r,t,e),a=r.op===\"TensorListReserve\"?-1:i,u=tR(n,o,i,a);return e.addTensorList(u),[u.idTensor]}case\"TensorListGather\":{let n=I(\"tensorListId\",r,t,e),o=I(\"indices\",r,t,e),s=I(\"elementShape\",r,t,e),i=I(\"elementDType\",r,t,e);return[e.getTensorList(n.id).gather(o,i,s)]}case\"TensorListStack\":{let n=I(\"tensorListId\",r,t,e),o=I(\"elementShape\",r,t,e),s=I(\"elementDType\",r,t,e),i=I(\"numElements\",r,t,e);return[e.getTensorList(n.id).stack(o,s,i)]}case\"TensorListFromTensor\":{let n=I(\"tensor\",r,t,e),o=I(\"elementShape\",r,t,e),s=I(\"elementDType\",r,t,e),i=QD(n,o,s);return e.addTensorList(i),[i.idTensor]}case\"TensorListConcat\":case\"TensorListConcatV2\":{let n=I(\"tensorListId\",r,t,e),o=e.getTensorList(n.id),s=I(\"dtype\",r,t,e),i=I(\"elementShape\",r,t,e);return[o.concat(s,i)]}case\"TensorListPushBack\":{let n=I(\"tensorListId\",r,t,e),o=I(\"tensor\",r,t,e),s=e.getTensorList(n.id);return s.pushBack(o),[s.idTensor]}case\"TensorListPopBack\":{let n=I(\"tensorListId\",r,t,e),o=I(\"elementShape\",r,t,e),s=I(\"elementDType\",r,t,e);return[e.getTensorList(n.id).popBack(o,s)]}case\"TensorListSplit\":{let n=I(\"tensor\",r,t,e),o=I(\"elementShape\",r,t,e),s=I(\"lengths\",r,t,e),i=rR(n,s,o);return e.addTensorList(i),[i.idTensor]}case\"TensorListLength\":{let n=I(\"tensorListId\",r,t,e),o=e.getTensorList(n.id);return[mt(o.size(),\"int32\")]}case\"TensorListResize\":{let n=I(\"tensorListId\",r,t,e),o=I(\"size\",r,t,e),i=e.getTensorList(n.id).resize(o);return e.addTensorList(i),[i.idTensor]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};function oR(r,t,e){let[n,o]=I(\"fusedOps\",r,t,e),s=n===\"biasadd\",i=!s,a=o===\"prelu\",u=n===\"fusedbatchnorm\",l=I(\"numArgs\",r,t,e);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&&s&&l!==1)throw new Error(\"FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.\")}if(u)throw new Error(\"FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported\");let c=I(\"strides\",r,t,e),p=Gh(r,t,e),m=I(\"dataFormat\",r,t,e).toUpperCase(),f=I(\"dilations\",r,t,e),[d,h]=I(\"args\",r,t,e);i&&(h=d,d=void 0);let g=I(\"leakyreluAlpha\",r,t,e);return{stride:c,pad:p,dataFormat:m,dilations:f,biasArg:d,preluArg:h,activationFunc:o,leakyreluAlpha:g}}var sR=(r,t,e,n=ue)=>{switch(r.op){case\"Conv1D\":{let o=I(\"stride\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"dataFormat\",r,t,e).toUpperCase(),a=I(\"dilation\",r,t,e);return[n.conv1d(I(\"x\",r,t,e),I(\"filter\",r,t,e),o,s,i,a)]}case\"Conv2D\":{let o=I(\"strides\",r,t,e),s=Gh(r,t,e),i=I(\"dataFormat\",r,t,e).toUpperCase(),a=I(\"dilations\",r,t,e);return[n.conv2d(I(\"x\",r,t,e),I(\"filter\",r,t,e),[o[1],o[2]],s,i,[a[1],a[2]])]}case\"_FusedConv2D\":{let{stride:o,pad:s,dataFormat:i,dilations:a,biasArg:u,preluArg:l,activationFunc:c,leakyreluAlpha:p}=oR(r,t,e);return[n.fused.conv2d({x:I(\"x\",r,t,e),filter:I(\"filter\",r,t,e),strides:[o[1],o[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:u,activation:c,preluActivationWeights:l,leakyreluAlpha:p})]}case\"FusedDepthwiseConv2dNative\":{let{stride:o,pad:s,dataFormat:i,dilations:a,biasArg:u,preluArg:l,activationFunc:c,leakyreluAlpha:p}=oR(r,t,e);return[n.fused.depthwiseConv2d({x:I(\"x\",r,t,e),filter:I(\"filter\",r,t,e),strides:[o[1],o[2]],pad:s,dataFormat:i,dilations:[a[1],a[2]],bias:u,activation:c,preluActivationWeights:l,leakyreluAlpha:p})]}case\"Conv2DBackpropInput\":case\"Conv2dTranspose\":{let o=I(\"outputShape\",r,t,e),s=I(\"strides\",r,t,e),i=Gh(r,t,e);return[n.conv2dTranspose(I(\"x\",r,t,e),I(\"filter\",r,t,e),o,[s[1],s[2]],i)]}case\"DepthwiseConv2dNative\":case\"DepthwiseConv2d\":{let o=I(\"strides\",r,t,e),s=Gh(r,t,e),i=I(\"dilations\",r,t,e),a=I(\"dataFormat\",r,t,e).toUpperCase();return[n.depthwiseConv2d(I(\"input\",r,t,e),I(\"filter\",r,t,e),[o[1],o[2]],s,a,[i[1],i[2]])]}case\"Conv3D\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"dataFormat\",r,t,e).toUpperCase(),a=I(\"dilations\",r,t,e);return[n.conv3d(I(\"x\",r,t,e),I(\"filter\",r,t,e),[o[1],o[2],o[3]],s,i,[a[1],a[2],a[3]])]}case\"AvgPool\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e);return[n.avgPool(I(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s)]}case\"MaxPool\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e);return[n.maxPool(I(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s)]}case\"MaxPoolWithArgmax\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e),a=I(\"includeBatchInIndex\",r,t,e),{result:u,indexes:l}=n.maxPoolWithArgmax(I(\"x\",r,t,e),[i[1],i[2]],[o[1],o[2]],s,a);return[u,l]}case\"AvgPool3D\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e);return[n.avgPool3d(I(\"x\",r,t,e),[i[1],i[2],i[3]],[o[1],o[2],o[3]],s)]}case\"MaxPool3D\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"kernelSize\",r,t,e);return[n.maxPool3d(I(\"x\",r,t,e),[i[1],i[2],i[3]],[o[1],o[2],o[3]],s)]}case\"Dilation2D\":{let o=I(\"strides\",r,t,e),s=I(\"pad\",r,t,e),i=I(\"dilations\",r,t,e),a=o[1],u=o[2],l=i[1],c=i[2];return[n.dilation2d(I(\"x\",r,t,e),I(\"filter\",r,t,e),[a,u],s,[l,c],\"NHWC\")]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var iR=(r,t,e,n=ue)=>{switch(r.op){case\"Fill\":{let o=I(\"shape\",r,t,e),s=I(\"dtype\",r,t,e),i=I(\"value\",r,t,e);return[n.fill(o,i,s)]}case\"LinSpace\":{let o=I(\"start\",r,t,e),s=I(\"stop\",r,t,e),i=I(\"num\",r,t,e);return[n.linspace(o,s,i)]}case\"Multinomial\":{let o=I(\"logits\",r,t,e),s=I(\"numSamples\",r,t,e),i=I(\"seed\",r,t,e);return[n.multinomial(o,s,i)]}case\"OneHot\":{let o=I(\"indices\",r,t,e),s=I(\"depth\",r,t,e),i=I(\"onValue\",r,t,e),a=I(\"offValue\",r,t,e),u=I(\"dtype\",r,t,e);return[n.oneHot(o,s,i,a,u)]}case\"Ones\":return[n.ones(I(\"shape\",r,t,e),I(\"dtype\",r,t,e))];case\"OnesLike\":return[n.onesLike(I(\"x\",r,t,e))];case\"RandomStandardNormal\":return[n.randomStandardNormal(I(\"shape\",r,t,e),I(\"dtype\",r,t,e),I(\"seed\",r,t,e))];case\"RandomUniform\":return[n.randomUniform(I(\"shape\",r,t,e),I(\"minval\",r,t,e),I(\"maxval\",r,t,e),I(\"dtype\",r,t,e))];case\"Range\":{let o=I(\"start\",r,t,e),s=I(\"stop\",r,t,e),i=I(\"step\",r,t,e);return[n.range(o,s,i,I(\"dtype\",r,t,e))]}case\"TruncatedNormal\":{let o=I(\"shape\",r,t,e),s=I(\"mean\",r,t,e),i=I(\"stdDev\",r,t,e),a=I(\"seed\",r,t,e);return[n.truncatedNormal(o,s,i,I(\"dtype\",r,t,e),a)]}case\"Zeros\":return[n.zeros(I(\"shape\",r,t,e),I(\"dtype\",r,t,e))];case\"ZerosLike\":return[n.zerosLike(I(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function IT(r,t,e){let n=I(\"boxes\",r,t,e),o=I(\"scores\",r,t,e),s=I(\"maxOutputSize\",r,t,e),i=I(\"iouThreshold\",r,t,e),a=I(\"scoreThreshold\",r,t,e),u=I(\"softNmsSigma\",r,t,e);return{boxes:n,scores:o,maxOutputSize:s,iouThreshold:i,scoreThreshold:a,softNmsSigma:u}}var aR=async(r,t,e,n,o=ue)=>{switch(r.op){case\"NonMaxSuppressionV5\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l,softNmsSigma:c}=IT(r,t,e),p=await o.image.nonMaxSuppressionWithScoreAsync(s,i,a,u,l,c);return[p.selectedIndices,p.selectedScores]}case\"NonMaxSuppressionV4\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l}=IT(r,t,e),c=I(\"padToMaxOutputSize\",r,t,e),p=await o.image.nonMaxSuppressionPaddedAsync(s,i,a,u,l,c);return[p.selectedIndices,p.validOutputs]}case\"NonMaxSuppressionV3\":case\"NonMaxSuppressionV2\":{let{boxes:s,scores:i,maxOutputSize:a,iouThreshold:u,scoreThreshold:l}=IT(r,t,e);return[await o.image.nonMaxSuppressionAsync(s,i,a,u,l)]}case\"Where\":{let s=o.cast(I(\"condition\",r,t,e),\"bool\"),i=[await o.whereAsync(s)];return s.dispose(),i}case\"ListDiff\":return o.setdiff1dAsync(I(\"x\",r,t,e),I(\"y\",r,t,e));default:throw TypeError(`Node type ${r.op} is not implemented`)}};var lR=(r,t,e,n=ue)=>{switch(r.op){case\"LowerBound\":{let o=I(\"sortedSequence\",r,t,e),s=I(\"values\",r,t,e);return[n.lowerBound(o,s)]}case\"TopKV2\":{let o=I(\"x\",r,t,e),s=I(\"k\",r,t,e),i=I(\"sorted\",r,t,e),a=n.topk(o,s,i);return[a.values,a.indices]}case\"UpperBound\":{let o=I(\"sortedSequence\",r,t,e),s=I(\"values\",r,t,e);return[n.upperBound(o,s)]}case\"Unique\":{let o=I(\"x\",r,t,e),s=n.unique(o);return[s.values,s.indices]}case\"UniqueV2\":{let o=I(\"x\",r,t,e),s=I(\"axis\",r,t,e),i=n.unique(o,s);return[i.values,i.indices]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var uR=(r,t,e,n=ue)=>{switch(r.op){case\"Const\":return t[r.name];case\"PlaceholderWithDefault\":let o=I(\"default\",r,t,e);return[wr(r.name,t,e)||o];case\"Placeholder\":return[wr(r.name,t,e)];case\"Identity\":case\"StopGradient\":case\"FakeQuantWithMinMaxVars\":{let c=I(\"x\",r,t,e);return[ri(c)]}case\"IdentityN\":return I(\"x\",r,t,e).map(c=>ri(c));case\"Snapshot\":let s=I(\"x\",r,t,e);return[ri(s)];case\"Shape\":return[n.tensor1d(I(\"x\",r,t,e).shape,\"int32\")];case\"ShapeN\":return I(\"x\",r,t,e).map(c=>n.tensor1d(c.shape));case\"Size\":return[n.scalar(I(\"x\",r,t,e).size,\"int32\")];case\"Rank\":return[n.scalar(I(\"x\",r,t,e).rank,\"int32\")];case\"NoOp\":return[n.scalar(1)];case\"Print\":let i=I(\"x\",r,t,e),a=I(\"data\",r,t,e),u=I(\"message\",r,t,e),l=I(\"summarize\",r,t,e);console.warn(\"The graph has a tf.print() operation,usually used for debugging, which slows down performance.\"),console.log(u);for(let c=0;ct.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return mt(this.size(),\"int32\")}async import(t,e){this.checkKeyAndValueTensor(t,e);let n=await t.data();return this.tensorMap.forEach(o=>o.dispose()),this.tensorMap.clear(),G(()=>{let o=Tr(e),s=n.length,i=o.length;y.assert(s===i,()=>`The number of elements doesn't match, keys has ${s} elements, the values has ${i} elements.`);for(let a=0;a{let o=[];for(let s=0;s{switch(r.op){case\"HashTable\":case\"HashTableV2\":{let o=I(\"keyDType\",r,t,e),s=I(\"valueDType\",r,t,e),i=new tw(o,s);return n.addHashTable(r.name,i),[i.handle]}case\"LookupTableImport\":case\"LookupTableImportV2\":{let o=I(\"tableHandle\",r,t,e,n),s=I(\"keys\",r,t,e),i=I(\"values\",r,t,e);return[await n.getHashTableById(o.id).import(s,i)]}case\"LookupTableFind\":case\"LookupTableFindV2\":{let o=I(\"tableHandle\",r,t,e,n),s=I(\"keys\",r,t,e),i=I(\"defaultValue\",r,t,e);return[await n.getHashTableById(o.id).find(s,i)]}case\"LookupTableSize\":case\"LookupTableSizeV2\":{let o=I(\"tableHandle\",r,t,e,n);return[n.getHashTableById(o.id).tensorSize()]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var pR=(r,t,e,n=ue)=>{switch(r.op){case\"ResizeBilinear\":{let o=I(\"images\",r,t,e),s=I(\"size\",r,t,e),i=I(\"alignCorners\",r,t,e),a=I(\"halfPixelCenters\",r,t,e);return[n.image.resizeBilinear(o,[s[0],s[1]],i,a)]}case\"ResizeNearestNeighbor\":{let o=I(\"images\",r,t,e),s=I(\"size\",r,t,e),i=I(\"alignCorners\",r,t,e),a=I(\"halfPixelCenters\",r,t,e);return[n.image.resizeNearestNeighbor(o,[s[0],s[1]],i,a)]}case\"CropAndResize\":{let o=I(\"image\",r,t,e),s=I(\"boxes\",r,t,e),i=I(\"boxInd\",r,t,e),a=I(\"cropSize\",r,t,e),u=I(\"method\",r,t,e),l=I(\"extrapolationValue\",r,t,e);return[n.image.cropAndResize(o,s,i,a,u,l)]}case\"ImageProjectiveTransformV3\":{let o=I(\"images\",r,t,e),s=I(\"transforms\",r,t,e),i=I(\"outputShape\",r,t,e),a=I(\"fillValue\",r,t,e),u=I(\"interpolation\",r,t,e),l=I(\"fillMode\",r,t,e);return[n.image.transform(o,s,u.toLowerCase(),l.toLowerCase(),a,i)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var mR=(r,t,e,n=ue)=>{switch(r.op){case\"Equal\":return[n.equal(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"NotEqual\":return[n.notEqual(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Greater\":return[n.greater(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"GreaterEqual\":return[n.greaterEqual(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Less\":return[n.less(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"LessEqual\":return[n.lessEqual(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"LogicalAnd\":return[n.logicalAnd(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"LogicalNot\":return[n.logicalNot(I(\"a\",r,t,e))];case\"LogicalOr\":return[n.logicalOr(I(\"a\",r,t,e),I(\"b\",r,t,e))];case\"Select\":case\"SelectV2\":return[n.where(I(\"condition\",r,t,e),I(\"a\",r,t,e),I(\"b\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var fR=(r,t,e,n=ue)=>{switch(r.op){case\"BatchMatMul\":case\"BatchMatMulV2\":case\"MatMul\":return[n.matMul(I(\"a\",r,t,e),I(\"b\",r,t,e),I(\"transposeA\",r,t,e),I(\"transposeB\",r,t,e))];case\"Einsum\":return[n.einsum(I(\"equation\",r,t,e),...I(\"tensors\",r,t,e))];case\"Transpose\":return[n.transpose(I(\"x\",r,t,e),I(\"perm\",r,t,e))];case\"_FusedMatMul\":let[o,s]=I(\"fusedOps\",r,t,e),i=o===\"biasadd\",a=s===\"prelu\",u=I(\"numArgs\",r,t,e),l=I(\"leakyreluAlpha\",r,t,e);if(i){if(a&&u!==2)throw new Error(\"Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.\");if(!a&&u!==1)throw new Error(\"Fused MatMul with BiasAdd must have one extra argument: bias.\")}let[c,p]=I(\"args\",r,t,e);return[n.fused.matMul({a:I(\"a\",r,t,e),b:I(\"b\",r,t,e),transposeA:I(\"transposeA\",r,t,e),transposeB:I(\"transposeB\",r,t,e),bias:c,activation:s,preluActivationWeights:p,leakyreluAlpha:l})];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var dR=(r,t,e,n=ue)=>{switch(r.op){case\"EuclideanNorm\":return[n.euclideanNorm(I(\"x\",r,t,e),I(\"axis\",r,t,e),I(\"keepDims\",r,t,e))];case\"FusedBatchNorm\":case\"FusedBatchNormV2\":return[n.batchNorm(I(\"x\",r,t,e),I(\"mean\",r,t,e),I(\"variance\",r,t,e),I(\"offset\",r,t,e),I(\"scale\",r,t,e),I(\"epsilon\",r,t,e))];case\"FusedBatchNormV3\":return[n.batchNorm(I(\"x\",r,t,e),I(\"mean\",r,t,e),I(\"variance\",r,t,e),I(\"offset\",r,t,e),I(\"scale\",r,t,e),I(\"epsilon\",r,t,e))];case\"LRN\":return[n.localResponseNormalization(I(\"x\",r,t,e),I(\"radius\",r,t,e),I(\"bias\",r,t,e),I(\"alpha\",r,t,e),I(\"beta\",r,t,e))];case\"Softmax\":return[n.softmax(I(\"x\",r,t,e))];case\"LogSoftmax\":return[n.logSoftmax(I(\"x\",r,t,e))];case\"SparseToDense\":return[n.sparseToDense(I(\"sparseIndices\",r,t,e),I(\"outputShape\",r,t,e),I(\"sparseValues\",r,t,e),I(\"defaultValue\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var hR=(r,t,e,n=ue)=>{switch(r.op){case\"Max\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.max(I(\"x\",r,t,e),a,u)]}case\"Mean\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.mean(I(\"x\",r,t,e),a,u)]}case\"Min\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.min(I(\"x\",r,t,e),a,u)]}case\"Sum\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.sum(I(\"x\",r,t,e),a,u)]}case\"All\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.all(I(\"x\",r,t,e),a,u)]}case\"Any\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.any(I(\"x\",r,t,e),a,u)]}case\"ArgMax\":{let a=I(\"axis\",r,t,e);return[n.argMax(I(\"x\",r,t,e),a)]}case\"ArgMin\":{let a=I(\"axis\",r,t,e);return[n.argMin(I(\"x\",r,t,e),a)]}case\"Prod\":{let a=I(\"axis\",r,t,e),u=I(\"keepDims\",r,t,e);return[n.prod(I(\"x\",r,t,e),a,u)]}case\"Cumprod\":{let a=I(\"axis\",r,t,e),u=I(\"exclusive\",r,t,e),l=I(\"reverse\",r,t,e);return[n.cumprod(I(\"x\",r,t,e),a,u,l)]}case\"Cumsum\":{let a=I(\"axis\",r,t,e),u=I(\"exclusive\",r,t,e),l=I(\"reverse\",r,t,e);return[n.cumsum(I(\"x\",r,t,e),a,u,l)]}case\"Bincount\":let o=I(\"x\",r,t,e),s=I(\"weights\",r,t,e),i=I(\"size\",r,t,e);return[n.bincount(o,s,i)];case\"DenseBincount\":{let a=I(\"x\",r,t,e),u=I(\"weights\",r,t,e),l=I(\"size\",r,t,e),c=I(\"binaryOutput\",r,t,e);return[n.denseBincount(a,u,l,c)]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var gR=(r,t,e,n=ue)=>{switch(r.op){case\"ConcatV2\":case\"Concat\":{let o=I(\"n\",r,t,e),s=I(\"axis\",r,t,e),i=I(\"tensors\",r,t,e);return i=i.slice(0,o),[n.concat(i,s)]}case\"Gather\":{let o=I(\"x\",r,t,e),s=I(\"indices\",r,t,e);return[n.gather(o,n.cast(s,\"int32\"),0)]}case\"GatherV2\":{let o=I(\"axis\",r,t,e),s=I(\"batchDims\",r,t,e),i=I(\"x\",r,t,e),a=I(\"indices\",r,t,e);return[n.gather(i,n.cast(a,\"int32\"),o,s)]}case\"Reverse\":{let o=I(\"dims\",r,t,e),s=[];for(let a=0;a{let o=I(\"axis\",r,t,e),s=I(\"tensors\",r,t,e),i=s[0].shape,a=n.squeeze(s[0]).shape,u=s.map(l=>{let c=y.arraysEqual(l.shape,i);if(!c&&!y.arraysEqual(n.squeeze(l).shape,a))throw new Error(\"the input tensors shape does not match\");return c?l:n.reshape(l,i)});return[n.stack(u,o)]});case\"Unpack\":{let o=I(\"axis\",r,t,e),s=I(\"tensor\",r,t,e);return n.unstack(s,o)}case\"Tile\":{let o=I(\"reps\",r,t,e);return[n.tile(I(\"x\",r,t,e),o)]}case\"Split\":case\"SplitV\":{let o=I(\"axis\",r,t,e),s=I(\"numOrSizeSplits\",r,t,e),i=I(\"x\",r,t,e);return n.split(i,s,o)}case\"ScatterNd\":{let o=I(\"indices\",r,t,e),s=I(\"values\",r,t,e),i=I(\"shape\",r,t,e);return[n.scatterND(o,s,i)]}case\"GatherNd\":{let o=I(\"x\",r,t,e),s=I(\"indices\",r,t,e);return[n.gatherND(o,s)]}case\"SparseToDense\":{let o=I(\"sparseIndices\",r,t,e),s=I(\"outputShape\",r,t,e),i=I(\"sparseValues\",r,t,e),a=I(\"defaultValue\",r,t,e);return[n.sparseToDense(o,i,s,i.dtype===a.dtype?a:n.cast(a,i.dtype))]}default:throw TypeError(`Node type ${r.op} is not implemented`)}};var xR=(r,t,e,n=ue)=>{switch(r.op){case\"SparseFillEmptyRows\":{let{outputIndices:o,outputValues:s,emptyRowIndicator:i,reverseIndexMap:a}=n.sparse.sparseFillEmptyRows(I(\"indices\",r,t,e),I(\"values\",r,t,e),I(\"denseShape\",r,t,e),I(\"defaultValue\",r,t,e));return[o,s,i,a]}case\"SparseReshape\":{let{outputIndices:o,outputShape:s}=n.sparse.sparseReshape(I(\"inputIndices\",r,t,e),I(\"inputShape\",r,t,e),I(\"newShape\",r,t,e));return[o,s]}case\"SparseSegmentMean\":return[n.sparse.sparseSegmentMean(I(\"data\",r,t,e),I(\"indices\",r,t,e),I(\"segmentIds\",r,t,e))];case\"SparseSegmentSum\":return[n.sparse.sparseSegmentSum(I(\"data\",r,t,e),I(\"indices\",r,t,e),I(\"segmentIds\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var yR=(r,t,e,n=ue)=>{switch(r.op){case\"FFT\":return[n.fft(I(\"x\",r,t,e))];case\"IFFT\":return[n.ifft(I(\"x\",r,t,e))];case\"RFFT\":return[n.rfft(I(\"x\",r,t,e))];case\"IRFFT\":return[n.irfft(I(\"x\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var bR=(r,t,e,n=ue)=>{switch(r.op){case\"StringNGrams\":{let{nGrams:o,nGramsSplits:s}=n.string.stringNGrams(I(\"data\",r,t,e),I(\"dataSplits\",r,t,e),I(\"separator\",r,t,e),I(\"nGramWidths\",r,t,e),I(\"leftPad\",r,t,e),I(\"rightPad\",r,t,e),I(\"padWidth\",r,t,e),I(\"preserveShortSequences\",r,t,e));return[o,s]}case\"StringSplit\":{let{indices:o,values:s,shape:i}=n.string.stringSplit(I(\"input\",r,t,e),I(\"delimiter\",r,t,e),I(\"skipEmpty\",r,t,e));return[o,s,i]}case\"StringToHashBucketFast\":return[n.string.stringToHashBucketFast(I(\"input\",r,t,e),I(\"numBuckets\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};var wR=(r,t,e,n=ue)=>{switch(r.op){case\"Cast\":return[n.cast(I(\"x\",r,t,e),I(\"dtype\",r,t,e))];case\"ExpandDims\":{let o=I(\"axis\",r,t,e);return[n.expandDims(I(\"x\",r,t,e),o)]}case\"Squeeze\":{let o=I(\"axis\",r,t,e);return[n.squeeze(I(\"x\",r,t,e),o)]}case\"Reshape\":return[n.reshape(I(\"x\",r,t,e),I(\"shape\",r,t,e))];case\"MirrorPad\":return[n.mirrorPad(I(\"x\",r,t,e),I(\"padding\",r,t,e),I(\"mode\",r,t,e))];case\"PadV2\":case\"Pad\":return[n.pad(I(\"x\",r,t,e),I(\"padding\",r,t,e),I(\"constantValue\",r,t,e))];case\"SpaceToBatchND\":{let o=I(\"blockShape\",r,t,e),s=I(\"paddings\",r,t,e);return[n.spaceToBatchND(I(\"x\",r,t,e),o,s)]}case\"BatchToSpaceND\":{let o=I(\"blockShape\",r,t,e),s=I(\"crops\",r,t,e);return[n.batchToSpaceND(I(\"x\",r,t,e),o,s)]}case\"DepthToSpace\":{let o=I(\"blockSize\",r,t,e),s=I(\"dataFormat\",r,t,e).toUpperCase();return[n.depthToSpace(I(\"x\",r,t,e),o,s)]}case\"BroadcastTo\":return[n.broadcastTo(I(\"x\",r,t,e),I(\"shape\",r,t,e))];case\"BroadcastArgs\":return[n.broadcastArgs(I(\"s0\",r,t,e),I(\"s1\",r,t,e))];default:throw TypeError(`Node type ${r.op} is not implemented`)}};function ST(r,t,e,n,o=G){let s=((i,a,u)=>{switch(i.category){case\"arithmetic\":return o(()=>YD(i,a,u));case\"basic_math\":return o(()=>ZD(i,a,u));case\"control\":return nR(i,a,u);case\"convolution\":return o(()=>sR(i,a,u));case\"creation\":return o(()=>iR(i,a,u));case\"dynamic\":return aR(i,a,u);case\"evaluation\":return o(()=>lR(i,a,u));case\"image\":return o(()=>pR(i,a,u));case\"graph\":return o(()=>uR(i,a,u));case\"logical\":return o(()=>mR(i,a,u));case\"matrices\":return o(()=>fR(i,a,u));case\"normalization\":return o(()=>dR(i,a,u));case\"reduction\":return o(()=>hR(i,a,u));case\"slice_join\":return o(()=>gR(i,a,u));case\"sparse\":return o(()=>xR(i,a,u));case\"spectral\":return o(()=>yR(i,a,u));case\"string\":return o(()=>bR(i,a,u));case\"transformation\":return o(()=>wR(i,a,u));case\"hash_table\":return cR(i,a,u,n);case\"custom\":let l=zb(i.op);if(l&&l.customExecutor)return l.customExecutor(new Zb(i,a,u));throw TypeError(`Custom op ${i.op} is not registered.`);default:throw TypeError(`Unknown op '${i.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,t,e);return y.isPromise(s)?s.then(i=>[].concat(i)):[].concat(s)}var Uh=class{constructor(t={},e={},n={},o={}){this.weightMap=t,this.tensorArrayMap=e,this.tensorListMap=n,this.functionMap=o,this.rootContext={id:0,frameName:\"\",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(t,e){return{id:t,frameName:e,iterationId:0}}set currentContext(t){this.contexts!==t&&(this.contexts=t,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){let t=[];for(let e=0;ee.id===0&&e.iterationId===0?\"\":`${e.frameName}-${e.iterationId}`).join(\"/\"):\"\"}enterFrame(t){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,t)),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 t=Object.assign({},this.contexts[this.contexts.length-1]);t.iterationId+=1,t.id=this.lastId,this.contexts.splice(-1,1,t),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}else throw new Error(\"Cannot increase frame iteration, the context is empty\")}getWeight(t){return this.weightMap[t]}addTensorArray(t){this.tensorArrayMap[t.id]=t}getTensorArray(t){return this.tensorArrayMap[t]}addTensorList(t){this.tensorListMap[t.id]=t}getTensorList(t){return this.tensorListMap[t]}dispose(t){for(let e in this.tensorArrayMap)this.tensorArrayMap[e].clearAndClose(t);for(let e in this.tensorListMap)this.tensorListMap[e].clearAndClose(t)}};function TT(r,t,e,n){let o=new Set,s=[],i=null,a=null,u=new Set,l=Object.keys(r).map(m=>yn(m)[0]),c=[];n!=null&&(c=n.map(m=>yn(m.name)[0]));let p=[...t];for(;p.length>0;){let m=p.pop();if((NT(m)||KZ(m)||jZ(m))&&i==null&&(i=m,a=i.children.map(f=>f.name).filter(f=>o.has(f))),o.add(m.name),e[m.name]==null&&l.indexOf(m.name)===-1&&c.indexOf(m.name)===-1){if(m.inputs.length===0){s.push(m.name);continue}m.inputs.forEach(f=>{u.has(f.name)||(u.add(f.name),p.push(f))})}}return{inputs:r,outputs:t,usedNodes:o,missingInputs:s,dynamicNode:i,syncInputs:a}}function CR(r,t,e){let{usedNodes:n,inputs:o}=e,s=[],i=Object.keys(o).map(c=>yn(c)[0]).map(c=>r.nodes[c]),a=r.initNodes;i.forEach(c=>{n.has(c.name)&&s.push(c)}),r.weights.forEach(c=>{n.has(c.name)&&s.push(c)}),a!=null&&a.forEach(c=>{n.has(c.name)&&s.push(c)});let u=new Set,l=[];for(;s.length>0;){let c=s.pop();u.add(c.name),t[c.name]||l.push(c),c.children.forEach(p=>{!u.has(p.name)&&n.has(p.name)&&p.inputs.every(m=>u.has(m.name))&&s.push(p)})}return l}var UZ=[\"Switch\",\"Merge\",\"Enter\",\"Exit\",\"NextIteration\",\"StatelessIf\",\"StatelessWhile\",\"if\",\"While\"],HZ=[\"NonMaxSuppressionV2\",\"NonMaxSuppressionV3\",\"NonMaxSuppressionV5\",\"Where\"],qZ=[\"HashTable\",\"HashTableV2\",\"LookupTableImport\",\"LookupTableImportV2\",\"LookupTableFind\",\"LookupTableFindV2\",\"LookupTableSize\",\"LookupTableSizeV2\"];function NT(r){return UZ.indexOf(r.op)>=0}function KZ(r){return HZ.indexOf(r.op)>=0}function jZ(r){return qZ.indexOf(r.op)>=0}var Rc=class{constructor(t,e){this.graph=t,this.parent=e,this.compiledMap=new Map,this._weightMap={},this.SEPERATOR=\",\",this._functions={},this._functionExecutorMap={},this.intermediateTensors={},this.keepTensorForDebug=!1,this._outputs=t.outputs,this._inputs=t.inputs,this._initNodes=t.initNodes,this._signature=t.signature,this._functions=t.functions,t.functions!=null&&Object.keys(t.functions).forEach(n=>{this._functionExecutorMap[n]=new Rc(t.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(t){let e=Object.keys(t).map(n=>t[n].map(o=>o.id));this._weightIds=[].concat(...e),this._weightMap=t}set resourceManager(t){this._resourceManager=t}get inputs(){return this._inputs.map(t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(t=>({name:t.name,shape:t.attrParams.shape?t.attrParams.shape.value:void 0,dtype:t.attrParams.dtype?t.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(t=>t.signatureKey||t.name)}get outputNodes(){return this._outputs.map(t=>{let e=t.signatureKey||t.name;return t.defaultOutput?`${e}:${t.defaultOutput}`:e})}get functions(){return Object.keys(this._functions).reduce((t,e)=>(t[e]=this._functions[e].signature,t),{})}getCompilationKey(t,e){let n=t.map(s=>s.name).sort(),o=e.map(s=>s.name).sort();return n.join(this.SEPERATOR)+\"--\"+o.join(this.SEPERATOR)}compile(t,e){let n=TT(t,e,this.weightMap,this._initNodes),{missingInputs:o,dynamicNode:s,syncInputs:i}=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 [${i}]`);if(o.length>0){let a=e.map(l=>l.name),u=Object.keys(t);throw new Error(`Cannot compute the outputs [${a}] from the provided inputs [${u}]. Missing the following inputs: [${o}]`)}return CR(this.graph,this.weightMap,n)}execute(t,e){t=this.mapInputs(t);let n=Object.keys(t).sort();this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e);let o=n.map(p=>this.graph.nodes[yn(p)[0]]),s=e.map(p=>yn(p)[0]),i=s.map(p=>this.graph.nodes[p]);this.resetIntermediateTensors(),i.length===0&&(i=this._outputs);let a=this.getCompilationKey(o,i),u=this.compiledMap.get(a);u==null&&(u=this.compile(t,i),this.compiledMap.set(a,u));let l={},c={};return G(()=>{let p=new Uh(this.weightMap,l,c,this.functionExecutorMap),m=Object.assign({},this.weightMap);Object.keys(t).forEach(h=>{let[g,x]=yn(h),b=[];b[x]=t[h],m[g]=b});let f=this.getFrozenTensorIds(m),d={};for(let h=0;hwr(h,m,p))})}getFrozenTensorIds(t){let e=[].concat.apply([],Object.keys(t).map(n=>t[n]).map(n=>n.map(o=>o.id)));return new Set(e)}checkTensorForDisposal(t,e,n,o,s,i,a){e.category===\"control\"||i.indexOf(t)!==-1||(n[t].forEach(u=>{u!=null&&(a[u.id]=(a[u.id]||0)+e.children.length)}),e.inputs.forEach(u=>{if(u.category!==\"control\"){let l=qD(u.name,n,o);l!=null&&l.forEach(c=>{if(c&&!c.kept&&!s.has(c.id)){let p=a[c.id];if(p===1){if(!this.keepTensorForDebug)c.dispose();else{let[m,f]=_o(e.name,o);this.intermediateTensors[m]?this.intermediateTensors[m][f]=c:(this.intermediateTensors[m]=[],this.intermediateTensors[m][f]=c)}delete a[c.id]}else p!=null&&a[c.id]--}})}}))}async executeAsync(t,e){return this._executeAsync(t,e)}disposeIntermediateTensors(){!this.intermediateTensors||(Object.keys(this.intermediateTensors).forEach(t=>this.intermediateTensors[t].forEach(e=>e.dispose())),this.disposeTensorsMap())}disposeTensorsMap(){!this.tensorsMap||Object.keys(this.tensorsMap).forEach(t=>{this.tensorsMap[t].forEach(n=>{n&&!n.kept&&!n.isDisposed&&!this.keepIds.has(n.id)&&n.dispose()})})}getIntermediateTensors(){return this.tensorsMap}resetIntermediateTensors(){for(let t in this.intermediateTensors)this.intermediateTensors[t].forEach(e=>e.dispose()),delete this.intermediateTensors[t]}async _executeAsync(t,e,n=!1,o={},s={}){n||(t=this.mapInputs(t),this.checkInputs(t),this.checkInputShapeAndType(t),e=this.mapOutputs(e),this.checkOutputs(e));try{this.keepTensorForDebug=B().getBool(\"KEEP_INTERMEDIATE_TENSORS\")}catch(c){console.warn(c.message)}this.resetIntermediateTensors();let i=new Uh(this.weightMap,o,s,this.functionExecutorMap);this.tensorsMap=await this.executeWithControlFlow(t,i,e,n);let a=e.map(c=>wr(c,this.tensorsMap,i)),u=a.map(c=>c.id),l=Object.keys(t).map(c=>t[c].id);return this.keepIds=new Set([...u,...l,...this.weightIds]),this.keepTensorForDebug||this.disposeTensorsMap(),this.parent==null&&i.dispose(this.keepIds),a}async executeFunctionAsync(t,e,n){let o=t.reduce((s,i,a)=>(s[this.inputs[a].name]=i,s),{});return this._executeAsync(o,this.outputNodes,!0,e,n)}async executeWithControlFlow(t,e,n,o){let s=Object.keys(t),i=s.map(w=>this.graph.nodes[yn(w)[0]]),a=n.map(w=>yn(w)[0]),u=a.map(w=>this.graph.nodes[w]);u.length===0&&(u=this._outputs);let{usedNodes:l,missingInputs:c,dynamicNode:p,syncInputs:m}=TT(t,u,this.weightMap,this._initNodes),f=[...i,...this.graph.weights,...this._initNodes||[]].map(w=>({node:w,contexts:e.currentContext})),d=Object.assign({},this.weightMap);Object.keys(t).forEach(w=>{let[C,T]=yn(w),E=[];E[T]=t[w],d[C]=E});let h={},g=this.getFrozenTensorIds(d),x={};for(;f.length>0;){let w=this.processStack(i,f,e,d,x,g,a,h,l);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=u.filter(w=>!NT(w)&&!wr(w.name,d,e)).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(t,e,n,o,s,i,a,u,l){let c=[];for(;e.length>0;){let p=e.pop();n.currentContext=p.contexts;let m=\"\";if(p.node.op===\"Enter\"&&I(\"isConstant\",p.node,o,n)&&([m]=_o(p.node.name,n)),o[p.node.name]==null){let f=ST(p.node,o,n,this._resourceManager);m||([m]=_o(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,i,a,u),this.processChildNodes(p.node,e,n,o,s,l),h))):(o[m]=f,this.checkTensorForDisposal(m,p.node,o,n,i,a,u),this.processChildNodes(p.node,e,n,o,s,l))}else this.processChildNodes(p.node,e,n,o,s,l)}return c}processChildNodes(t,e,n,o,s,i){t.children.forEach(a=>{let[u]=_o(a.name,n);s[u]||!i.has(a.name)||(a.op===\"Merge\"?a.inputNames.some(l=>!!wr(l,o,n))&&(s[u]=!0,e.push({contexts:n.currentContext,node:a})):a.inputNames.every(l=>!!wr(l,o,n))&&(s[u]=!0,e.push({contexts:n.currentContext,node:a})))})}dispose(){Object.keys(this.weightMap).forEach(t=>this.weightMap[t].forEach(e=>e.dispose()))}checkInputShapeAndType(t){Object.keys(t).forEach(e=>{let n=t[e],[o]=yn(e),s=this.graph.nodes[o];if(s.attrParams.shape&&s.attrParams.shape.value){let i=s.attrParams.shape.value,a=i.length===n.shape.length&&n.shape.every((u,l)=>i[l]===-1||i[l]===u);y.assert(a,()=>`The shape of dict['${s.name}'] provided in model.execute(dict) must be [${i}], 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(t){let e={};for(let n in t)if(this._signature!=null&&this._signature.inputs!=null&&this._signature.inputs[n]!=null){let o=this._signature.inputs[n];e[o.name]=t[n]}else e[n]=t[n];return e}checkInputs(t){let e=Object.keys(t).filter(n=>{let[o]=yn(n);return this.graph.nodes[o]==null});if(e.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${e}] that are not part of graph`)}mapOutputs(t){return t.map(e=>this._signature!=null&&this._signature.outputs!=null&&this._signature.outputs[e]!=null?this._signature.outputs[e].name:e,{})}checkOutputs(t){t.forEach(e=>{let[n]=yn(e);if(!this.graph.nodes[n])throw new Error(`The output '${e}' is not found in the graph`)})}};var ew=class{constructor(t={},e={}){this.hashTableNameToHandle=t,this.hashTableMap=e}addHashTable(t,e){this.hashTableNameToHandle[t]=e.handle,this.hashTableMap[e.id]=e}getHashTableHandleByName(t){return this.hashTableNameToHandle[t]}getHashTableById(t){return this.hashTableMap[t]}dispose(){for(let t in this.hashTableMap)this.hashTableMap[t].clearAndClose(),delete this.hashTableMap[t];for(let t in this.hashTableNameToHandle)this.hashTableNameToHandle[t].dispose(),delete this.hashTableNameToHandle[t]}};var XZ=\"?tfjs-format=file\",YZ=\"model.json\",Hh=class{constructor(t,e={},n=vn){this.modelUrl=t,this.loadOptions=e,this.version=\"n/a\",this.io=n,e==null&&(this.loadOptions={}),this.resourceManager=new ew}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}get modelStructuredOutputKeys(){return this.structuredOutputKeys}findIOHandler(){let t=this.modelUrl;if(t.load!=null)this.handler=t;else if(this.loadOptions.requestInit!=null)this.handler=this.io.browserHTTPRequest(t,this.loadOptions);else{let e=this.io.getLoadHandlers(t,this.loadOptions);if(e.length===0)e.push(this.io.browserHTTPRequest(t,this.loadOptions));else if(e.length>1)throw new Error(`Found more than one (${e.length}) load handlers for URL '${[t]}'`);this.handler=e[0]}}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 t=this.handler.load();return y.isPromise(t)?t.then(e=>this.loadSync(e)):this.loadSync(t)}loadSync(t){this.artifacts=t;let e=this.artifacts.modelTopology,n=this.artifacts.signature;if(this.artifacts.userDefinedMetadata!=null){let s=this.artifacts.userDefinedMetadata;s.signature!=null&&(n=s.signature),s.structuredOutputKeys!=null&&(this.structuredOutputKeys=s.structuredOutputKeys)}this.signature=n,this.version=`${e.versions.producer}.${e.versions.minConsumer}`;let o=this.io.decodeWeights(this.artifacts.weightData,this.artifacts.weightSpecs);if(this.executor=new Rc(Wh.Instance.transformGraph(e,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(o),this.executor.resourceManager=this.resourceManager,t.modelInitializer!=null&&t.modelInitializer.node!=null){let s=Wh.Instance.transformGraph(t.modelInitializer);this.initializer=new Rc(s),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializer.executeAsync({},[])}return!0}async save(t,e){if(typeof t==\"string\"){let n=this.io.getSaveHandlers(t);if(n.length===0)throw new Error(`Cannot find any save handlers for URL '${t}'`);if(n.length>1)throw new Error(`Found more than one (${n.length}) save handlers for URL '${t}'`);t=n[0]}if(t.save==null)throw new Error(\"GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.\");return t.save(this.artifacts)}predict(t,e){let n=this.execute(t,this.outputNodes);if(this.structuredOutputKeys){let o=n instanceof Lt?[n]:n,s={};return o.forEach((i,a)=>s[this.structuredOutputKeys[a]]=i),s}return n}normalizeInputs(t){if(!(t instanceof Lt)&&!Array.isArray(t))return t;if(t=Array.isArray(t)?t:[t],t.length!==this.inputNodes.length)throw new Error(`Input tensor count mismatch,the graph model has ${this.inputNodes.length} placeholders, while there are ${t.length} input tensors.`);return this.inputNodes.reduce((e,n,o)=>(e[n]=t[o],e),{})}normalizeOutputs(t){return t=t||this.outputNodes,Array.isArray(t)?t:[t]}execute(t,e){t=this.normalizeInputs(t),e=this.normalizeOutputs(e);let n=this.executor.execute(t,e);return n.length>1?n:n[0]}async executeAsync(t,e){t=this.normalizeInputs(t),e=this.normalizeOutputs(e);let n=await this.executor.executeAsync(t,e);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(t){return Object.keys(t).reduce((e,n)=>(e[n]=[t[n]],e),{})}dispose(){this.executor.dispose(),this.initializer&&this.initializer.dispose(),this.resourceManager.dispose()}};async function ZZ(r,t={},e=vn){if(r==null)throw new Error(\"modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model\");t==null&&(t={}),t.fromTFHub&&typeof r==\"string\"&&(r=QZ(r));let n=new Hh(r,t,e);return await n.load(),n}function JZ(r){if(r==null)throw new Error(\"modelUrl in loadGraphModelSync() cannot be null. Please provide a url or an IOHandler that loads the model\");if(!r.load)throw new Error(`modelUrl IO Handler ${r} has no load function`);let t=new Hh(r);return t.load(),t}function QZ(r){return r.endsWith(\"/\")||(r=r+\"/\"),`${r}${YZ}${XZ}`}var vR=\"3.20.0\";var GR={};jt(GR,{CSVDataset:()=>id,Dataset:()=>ni,FileDataSource:()=>pd,TextLineDataset:()=>sd,URLDataSource:()=>md,array:()=>DR,csv:()=>LR,func:()=>MR,generator:()=>zR,microphone:()=>VR,version_data:()=>KT,webcam:()=>BR,zip:()=>RR});var $R=Tl(vh());var _R=Tl(vh());function IR(r,t){return rw(r,t)}function rw(r,t,e=new Map,n=new Set){if(r==null)return null;if(typeof Blob==\"function\"&&r instanceof Blob)return r.slice();if(n.has(r))throw new Error(\"Circular references are not supported.\");if(e.has(r))return e.get(r);let o=t(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(Su(r)){let s=Array.isArray(r)?[]:{};n.add(r);for(let i in r){let a=r[i],u=rw(a,t,e,n);s[i]=u}return n.delete(r),r.__proto__&&(s.__proto__=r.__proto__),s}else throw new Error(`Can't recurse into non-iterable type: ${r}`);else return e.set(r,o.value),o.value}function SR(r,t=_T){return TR(r,t)}function TR(r,t,e=new Set){let n=r[0];if(e.has(n))throw new Error(\"Circular references are not supported.\");let o=t(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(Su(n)){let s=Array.isArray(n)?[]:{};e.add(n);for(let i in n){let a=r.map(l=>l[i]),u=TR(a,t,e);s[i]=u}return e.delete(n),s}else throw new Error(`Can't recurse into non-iterable type: ${n}`);else return o.value}function _T(r){return r===null?null:Su(r[0])?{value:null,recurse:!0}:{value:r,recurse:!1}}async function nw(r,t){let e=new Map;rw(r,t,e);for(let o of Array.from(e.keys())){let s=e.get(o);if(y.isPromise(s)){let i=await s;e.set(o,i)}}return rw(r,t,e)}function Su(r){let t=!1;if(B().get(\"IS_BROWSER\"))t=r instanceof TextDecoder;else{let{StringDecoder:e}=kT();t=r instanceof e}return r!=null&&!ArrayBuffer.isView(r)&&(Array.isArray(r)||typeof r==\"object\"&&!(r instanceof Lt)&&!(r instanceof Promise)&&!t)}function NR(r){return r==null||tJ(r)||Array.isArray(r)||typeof r==\"object\"&&r instanceof Lt||y.isTypedArray(r)}function tJ(r){return r===null||typeof r!=\"object\"&&typeof r!=\"function\"}function kR(r){return IR(r,eJ)}function eJ(r){return r instanceof Lt?{value:r.clone(),recurse:!1}:Su(r)?{value:null,recurse:!0}:{value:r,recurse:!1}}var od=class{constructor(t){if(this.capacity=t,this.begin=0,this.end=0,t==null)throw new RangeError(\"Can't create a ring buffer of unknown capacity.\");if(t<1)throw new RangeError(\"Can't create ring buffer of capacity < 1.\");this.data=new Array(t),this.doubledCapacity=2*t}wrap(t){for(;t<0;)t+=this.doubledCapacity;return t%this.doubledCapacity}get(t){if(t<0)throw new RangeError(\"Can't get item at a negative index.\");return this.data[t%this.capacity]}set(t,e){if(t<0)throw new RangeError(\"Can't set item at a negative index.\");this.data[t%this.capacity]=e}length(){let t=this.end-this.begin;return t<0&&(t=this.doubledCapacity+t),t}isFull(){return this.length()===this.capacity}isEmpty(){return this.length()===0}push(t){if(this.isFull())throw new RangeError(\"Ring buffer is full.\");this.set(this.end,t),this.end=this.wrap(this.end+1)}pushAll(t){for(let e of t)this.push(e)}pop(){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");this.end=this.wrap(this.end-1);let t=this.get(this.end);return this.set(this.end,void 0),t}unshift(t){if(this.isFull())throw new RangeError(\"Ring buffer is full.\");this.begin=this.wrap(this.begin-1),this.set(this.begin,t)}shift(){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");let t=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),t}shuffleExcise(t){if(this.isEmpty())throw new RangeError(\"Ring buffer is empty.\");let e=this.wrap(this.begin+t),n=this.get(e);return this.set(e,this.pop()),n}};var Fc=class extends od{constructor(){super(Fc.INITIAL_CAPACITY)}isFull(){return!1}push(t){super.isFull()&&this.expand(),super.push(t)}unshift(t){super.isFull()&&this.expand(),super.unshift(t)}expand(){let t=this.capacity*2,e=new Array(t),n=this.length();for(let o=0;oe===!0)}rowMajorBatch(t,e=!0){return new FT(this,t,e)}columnMajorBatch(t,e=!0,n=_T){return this.rowMajorBatch(t,e).map(s=>SR(s,n))}concatenate(t,e){return new sw(VT([this,t]),e)}take(t){return t<0||t==null?this:new RT(this,t)}skip(t){return t<0||t==null?this:new DT(this,t)}prefetch(t){return new iw(this,t)}shuffle(t,e){return new BT(this,t,e)}serial(){return new $T(this)}},ET=class extends Qe{constructor(t){super(),this.items=t,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 t=this.items[this.trav];return this.trav++,{value:kR(t),done:!1}}},AT=class extends Qe{constructor(t){super(),this.nextFn=t}summary(){return\"Function call\"}async next(){try{return this.nextFn()}catch(t){throw t.message=`Error thrown while iterating through a dataset: ${t.message}`,t}}},$T=class extends Qe{constructor(t){super(),this.upstream=t,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()}},DT=class extends Qe{constructor(t,e){super(),this.upstream=t,this.maxCount=e,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()}},FT=class extends Qe{constructor(t,e,n=!0){super(),this.upstream=t,this.batchSize=e,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 t=[];for(;t.length0?{value:t,done:!1}:{value:null,done:!0};t.push(e.value)}return{value:t,done:!1}}},OT=class extends Qe{constructor(t,e){super(),this.upstream=t,this.predicate=e,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 t=await this.upstream.next();if(t.done||this.predicate(t.value))return t;_t(t.value)}}},PT=class extends Qe{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Map`}async next(){let t=await this.upstream.next();if(t.done)return{value:null,done:!0};let e=ho.getTensorsInContainer(t.value),n=this.transform(t.value),o=ho.getTensorsInContainer(n);for(let s of e)ho.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},LT=class extends Qe{constructor(t,e){super(),this.upstream=t,this.handler=e,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(t){if(!this.handler(t))return{value:null,done:!0}}}},ow=class extends Qe{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){let t=await this.upstream.next();if(t.done)return{value:null,done:!0};let e=ho.getTensorsInContainer(t.value),n=await this.transform(t.value),o=ho.getTensorsInContainer(n);for(let s of e)ho.isTensorInList(s,o)||s.dispose();return{value:n,done:!1}}},Oc=class extends Qe{constructor(){super(),this.outputQueue=new Fc,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}}},MT=class extends Oc{constructor(t,e){super(),this.upstream=t,this.transform=e}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){let t=await this.upstream.next();if(t.done)return!1;let e=ho.getTensorsInContainer(t.value),n=this.transform(t.value),o=ho.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(let s of e)ho.isTensorInList(s,o)||s.dispose();return!0}},sw=class extends Qe{constructor(t,e){super(),this.baseErrorHandler=e,this.lastRead=null,this.iterator=null,this.moreIterators=t}summary(){return\"TODO: fill in upstream of chained summaries -> Chained\"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(t){if(await t,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 e=await this.iterator.next();return e.done?(this.iterator=null,this.readFromChain(t)):e}},ml;(function(r){r[r.FAIL=0]=\"FAIL\",r[r.SHORTEST=1]=\"SHORTEST\",r[r.LONGEST=2]=\"LONGEST\"})(ml||(ml={}));var zT=class extends Qe{constructor(t,e=ml.FAIL){super(),this.iterators=t,this.mismatchMode=e,this.count=0,this.currentPromise=null}summary(){return\"{TODO: fill in upstream of zip summaries} -> Zip\"}async nextState(t){await t;let e=0,n=0;function o(i){return i instanceof Qe?{value:i.next().then(u=>(e++,u.done&&n++,u.value)),recurse:!1}:{value:null,recurse:!0}}let s=await nw(this.iterators,o);if(e===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case ml.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case ml.SHORTEST:return{value:null,done:!0};case ml.LONGEST:default:}return this.count++,{value:s,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}},iw=class extends Qe{constructor(t,e){super(),this.upstream=t,this.bufferSize=e,this.buffer=new od(e)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){let t=this.upstream.next();this.buffer.push(t)}}next(){return this.refill(),this.buffer.shift()}},BT=class extends iw{constructor(t,e,n){super(t,e),this.upstream=t,this.windowSize=e,this.upstreamExhausted=!1,this.random=_R.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(t){return Math.floor(this.random()*t)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){let t=this.chooseIndex(),e=await this.buffer.shuffleExcise(t);if(e.done)this.upstreamExhausted=!0;else return this.refill(),e}return{value:null,done:!0}}};var ni=class{constructor(){this.size=null}batch(t,e=!0){let n=this;y.assert(t>0,()=>`batchSize needs to be positive, but it is\n ${t}`);let o;return this.size===1/0||this.size==null?o=this.size:e?o=Math.ceil(this.size/t):o=Math.floor(this.size/t),En(async()=>(await n.iterator()).columnMajorBatch(t,e,rJ),o)}concatenate(t){let e=this,n;return this.size===1/0||t.size===1/0?n=1/0:this.size!=null&&t.size!=null?n=this.size+t.size:n=null,En(async()=>(await e.iterator()).concatenate(await t.iterator()),n)}filter(t){let e=this,n;return this.size===1/0?n=1/0:n=null,En(async()=>(await e.iterator()).filter(o=>G(()=>t(o))),n)}async forEachAsync(t){return(await this.iterator()).forEachAsync(t)}map(t){let e=this;return En(async()=>(await e.iterator()).map(n=>G(()=>t(n))),this.size)}mapAsync(t){let e=this;return En(async()=>(await e.iterator()).mapAsync(t),this.size)}prefetch(t){if(t==null)throw new RangeError(\"`Dataset.prefetch()` requires bufferSize to be specified.\");let e=this;return En(async()=>(await e.iterator()).prefetch(t),this.size)}repeat(t){let e=this,n;return this.size!=null&&t>0?n=this.size*t:t===0?n=0:this.size!=null&&(t===void 0||t<0)?n=1/0:n=null,En(async()=>{let o=qh(async()=>({value:await e.iterator(),done:!1}));return ER(o.take(t))},n)}skip(t){let e=this,n;return this.size!=null&&t>=0&&this.size>=t?n=this.size-t:this.size!=null&&(this.size(await e.iterator()).skip(t),n)}shuffle(t,e,n=!0){if(t==null||t<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=$R.alea(e||y.now().toString());return En(async()=>{let i=s.int32();return n&&(i+=s.int32()),(await o.iterator()).shuffle(t,i.toString())},this.size)}take(t){let e=this,n;return this.size!=null&&this.size>t?n=t:this.size!=null&&this.size<=t?n=this.size:n=null,En(async()=>(await e.iterator()).take(t),n)}async toArray(){if(this.size===1/0)throw new Error(\"Can not convert infinite data stream to array.\");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error(\"Can not convert infinite data stream to array.\");return(await this.iterator()).toArrayForTest()}};ni.MAX_BUFFER_SIZE=1e4;function En(r,t=null){return new class extends ni{constructor(){super(...arguments),this.size=t}async iterator(){return r()}}}function DR(r){return En(async()=>VT(r),r.length)}function RR(r){if(!Su(r))throw new Error(\"The argument to zip() must be an object or array.\");let t;if(Array.isArray(r))for(let e=0;e{let e=await nw(r,n=>{if(n instanceof ni)return{value:n.iterator(),recurse:!1};if(Su(n))return{value:null,recurse:!0};throw new Error(\"Leaves of the structure passed to zip() must be Datasets, not primitives.\")});return AR(e,ml.SHORTEST)},t)}function rJ(r){if(r===null)return null;let t=r[0];return NR(t)?{value:nJ(r),recurse:!1}:{value:null,recurse:!0}}function nJ(r){if(r.length===0)throw new Error(\"Can't make a batch of zero elements.\");return r[0]instanceof Lt?sr(r):vr(r)}var sd=class extends ni{constructor(t){super(),this.input=t}async iterator(){return(await this.input.iterator()).decodeUTF8().split(`\n`).map(o=>(o.endsWith(\"\\r\")&&(o=o.slice(0,-1)),o))}};var aw='\"',Kh=Symbol(\"out\"),FR=Symbol(\"field\"),lw=Symbol(\"quote\"),GT=Symbol(\"quoteafterquote\"),OR=Symbol(\"quoteinquote\"),id=class extends ni{constructor(t,e){super(),this.input=t,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=\",\",this.delimWhitespace=!1,this.base=new sd(t),e||(e={}),this.hasHeader=e.hasHeader!==!1,this.fullColumnNames=e.columnNames,this.columnConfigs=e.columnConfigs,this.configuredColumnsOnly=e.configuredColumnsOnly,e.delimWhitespace?(y.assert(e.delimiter==null,()=>\"Delimiter should not be provided when delimWhitespace is true.\"),this.delimWhitespace=!0,this.delimiter=\" \"):this.delimiter=e.delimiter?e.delimiter:\",\"}async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){let t=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!t)throw new Error(\"Column names must be provided if there is no header line.\");this.fullColumnNames&&t&&y.assert(t.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 (\"+t.length.toString()+\").\"),this.fullColumnNames||(this.fullColumnNames=t);let e=this.fullColumnNames.reduce((o,s)=>(o[s]=o[s]+1||1,o),{}),n=Object.keys(e).filter(o=>e[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 e=await(await this.base.iterator()).next();if(e.done)throw new Error(\"No data was found for CSV parsing.\");let n=e.value;return this.parseRow(n,!1)}else return null}async iterator(){this.columnNamesValidated||await this.setColumnNames();let t=await this.base.iterator();return this.hasHeader&&(t=t.skip(1)),t.map(e=>this.makeDataElement(e))}makeDataElement(t){let e=this.parseRow(t),n={},o={};for(let s=0;s14||!Number.isInteger(e))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=t.numFramesPerSpectrogram||43,this.sampleRateHz=t.sampleRateHz,this.columnTruncateLength=t.columnTruncateLength||this.fftSize,this.audioTrackConstraints=t.audioTrackConstraints,this.smoothingTimeConstant=t.smoothingTimeConstant||0,this.includeSpectrogram=t.includeSpectrogram!==!1,this.includeWaveform=t.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(t={}){if(!B().get(\"IS_BROWSER\"))throw new Error(\"microphone API is only supported in browser environment.\");let e=new ad(t);return await e.start(),e}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 t=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new t,!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 e=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=this.fftSize*2,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,e.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 t,e,n=await this.getAudioData();if(this.includeSpectrogram){let o=this.flattenQueue(n.freqDataQueue);t=this.getTensorFromAudioDataArray(o,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){let o=this.flattenQueue(n.timeDataQueue);e=this.getTensorFromAudioDataArray(o,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:t,waveform:e},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){let t=[],e=[],n=0;return new Promise(o=>{let s=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&o({freqDataQueue:t,timeDataQueue:e}),t.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),e.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(s),o({freqDataQueue:t,timeDataQueue:e}))},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(t){let e=t[0].length,n=new Float32Array(t.length*e);return t.forEach((o,s)=>n.set(o,s*e)),n}getTensorFromAudioDataArray(t,e){let n=new Float32Array(y.sizeFromShape(e));return n.set(t,n.length-t.length),vr(n,e)}};var ld=class extends Qe{constructor(t,e){if(super(),this.webcamVideoElement=t,this.webcamConfig=e,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Ve([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,i=(1-o)/2,a=s+n,u=o+i;this.cropBox=Ks([i,s,u,a],[1,4])}else this.cropBox=Ks([0,0,1,1],[1,4])}summary(){return\"webcam\"}static async create(t,e={}){if(!B().get(\"IS_BROWSER\"))throw new Error(\"tf.data.webcam is only supported in browser environment.\");if(!t){if(t=document.createElement(\"video\"),!e.resizeWidth||!e.resizeHeight)throw new Error(\"Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.\");t.width=e.resizeWidth,t.height=e.resizeHeight}let n=new ld(t,e);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(t){throw t.message=`Error thrown while initializing video stream: ${t.message}`,t}if(!this.stream)throw new Error(\"Could not obtain video from webcam.\");try{this.webcamVideoElement.srcObject=this.stream}catch(t){console.log(t),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(t=>{this.webcamVideoElement.onloadedmetadata=()=>{t()}})}async next(){if(this.isClosed)return{value:null,done:!0};let t;try{t=xx.fromPixels(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(this.resize)try{return{value:this.cropAndResizeFrame(t),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{t.dispose()}else return{value:t,done:!1}}needToResize(){return!!(this.webcamConfig.resizeWidth&&this.webcamConfig.resizeHeight&&(this.webcamVideoElement.width!==this.webcamConfig.resizeWidth||this.webcamVideoElement.height!==this.webcamConfig.resizeHeight))}cropAndResizeFrame(t){return G(()=>{let e=yr(tt(t,\"float32\"),0),n;n=uu.cropAndResize(e,this.cropBox,this.cropBoxInd,this.cropSize,\"bilinear\");let o=n.shape;return F(n,o.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(e=>e.stop());try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error(\"Can not convert infinite video stream to array.\")}};var ud=class{};var jh=class extends Qe{split(t){return new WT(this,t)}},WT=class extends jh{constructor(t,e){super(),this.upstream=t,this.impl=new UT(t,e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},UT=class extends Oc{constructor(t,e){super(),this.upstream=t,this.separator=e,this.carryover=\"\"}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){let t=await this.upstream.next();if(t.done)return this.carryover===\"\"?!1:(this.outputQueue.push(this.carryover),this.carryover=\"\",!0);let e=t.value.split(this.separator);e[0]=this.carryover+e[0];for(let n of e.slice(0,-1))this.outputQueue.push(n);return this.carryover=e[e.length-1],!0}};var uw=class extends Qe{decodeUTF8(){return new HT(this)}},HT=class extends jh{constructor(t){super(),this.upstream=t,this.impl=new qT(t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},qT=class extends Oc{constructor(t){if(super(),this.upstream=t,B().get(\"IS_BROWSER\"))this.decoder=new TextDecoder(\"utf-8\");else{let{StringDecoder:e}=kT();this.decoder=new e(\"utf8\")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){let t=await this.upstream.next(),e;if(t.done)return!1;e=t.value;let n;return B().get(\"IS_BROWSER\")?n=this.decoder.decode(e,{stream:!0}):n=this.decoder.write(Buffer.from(e.buffer)),this.outputQueue.push(n),!0}};var cd=class extends uw{constructor(t,e={}){super(),this.file=t,this.options=e,y.assert(t instanceof Uint8Array||(B().get(\"IS_BROWSER\")?t instanceof File||t instanceof Blob:!1),()=>\"FileChunkIterator only supports File, Blob and Uint8Array right now.\"),this.offset=e.offset||0,this.chunkSize=e.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((e,n)=>{let o=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,o)));else{let s=new FileReader;s.onload=a=>{let u=s.result;if(u instanceof ArrayBuffer&&(u=new Uint8Array(u)),!(u instanceof Uint8Array))return n(new TypeError(\"FileReader returned unknown type.\"));e(u)},s.onabort=a=>n(new Error(\"Aborted\")),s.onerror=a=>n(new Error(a.type));let i=this.file.slice(this.offset,o);s.readAsArrayBuffer(i)}this.offset=o}),done:!1}}};async function PR(r,t={},e){let n,o;typeof r==\"string\"?n=r:(n=r.url,o=oJ(r));let s=await(e||y.fetch)(n,o);if(s.ok){let i=new Uint8Array(await s.arrayBuffer());return new cd(i,t)}else throw new Error(s.statusText)}var oJ=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 cw(r){return typeof r==\"string\"&&r.slice(0,7)===\"file://\"}var pd=class extends ud{constructor(t,e={}){super(),this.input=t,this.options=e}async iterator(){if(cw(this.input)&&B().get(\"IS_NODE\")){let t=pw();this.input=t.readFileSync(this.input.slice(7))}return new cd(this.input,this.options)}};var md=class extends ud{constructor(t,e={}){super(),this.url=t,this.fileOptions=e}async iterator(){return cw(this.url)?new pd(this.url,this.fileOptions).iterator():PR(this.url,this.fileOptions)}};function LR(r,t={}){return new id(new md(r),t)}function MR(r){let t=qh(r);return En(async()=>t)}function zR(r){return En(async()=>{let t=await r();return qh(()=>t.next())})}async function BR(r,t){return ld.create(r,t)}async function VR(r){return ad.create(r)}var KT=\"3.20.0\";function nt(r,t){Array.isArray(r)||(r=[r]),r.forEach(e=>{e!=null&&y.assert(e.dtype!==\"complex64\",()=>`${t} does not support complex64 tensors in the CPU backend.`)})}var sJ=Vr.whereImpl,Tu=class extends Ho{constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new ra(this,go())}nextDataId(){return Tu.nextDataId++}write(t,e,n){this.firstUse&&(this.firstUse=!1,B().get(\"IS_NODE\")&&S.warn(`\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================`));let o={id:this.nextDataId()};return this.data.set(o,{values:t,dtype:n,refCount:1}),o}makeTensorInfo(t,e,n){let o;if(e===\"string\"&&n!=null&&n.length>0&&y.isString(n[0])){let s=n.map(i=>y.encodeString(i));o=this.write(s,t,e)}else o=this.write(n,t,e);return{dataId:o,shape:t,dtype:e}}refCount(t){return this.data.has(t)?this.data.get(t).refCount:0}incRef(t){let e=this.data.get(t);e.refCount++}decRef(t){if(this.data.has(t)){let e=this.data.get(t);e.refCount--}}move(t,e,n,o,s){this.data.set(t,{values:e,dtype:o,refCount:s})}numDataIds(){return this.data.numDataIds()}async read(t){return this.readSync(t)}readSync(t){let{dtype:e,complexTensorInfos:n}=this.data.get(t);if(e===\"complex64\"){let o=this.readSync(n.real.dataId),s=this.readSync(n.imag.dataId);return S.mergeRealAndImagArrays(o,s)}return this.data.get(t).values}bufferSync(t){let e=this.readSync(t.dataId);if(t.dtype===\"string\")try{let n=e.map(o=>y.decodeString(o));return vt(t.shape,t.dtype,n)}catch(n){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return vt(t.shape,t.dtype,e)}makeOutput(t,e,n){return go().makeTensorFromTensorInfo(this.makeTensorInfo(e,n,t),this)}disposeData(t,e=!1){if(this.data.has(t)){if(this.data.get(t).refCount--,!e&&this.data.get(t).refCount>0)return!1;let{complexTensorInfos:n}=this.data.get(t);n!=null&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(t)}return!0}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}async time(t){let e=y.now();return t(),{kernelMs:y.now()-e}}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(t){nt([t],\"where\");let e=this.readSync(t.dataId);return sJ(t.shape,e)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};Tu.nextDataId=0;var Sw={};jt(Sw,{addImpl:()=>YT,bincountImpl:()=>hd,bincountReduceImpl:()=>mw,castImpl:()=>XT,ceilImpl:()=>ZT,concatImpl:()=>Pc,equalImpl:()=>JT,expImpl:()=>tN,expm1Impl:()=>rN,floorImpl:()=>nN,gatherNdImpl:()=>fw,gatherV2Impl:()=>dw,greaterEqualImpl:()=>sN,greaterImpl:()=>oN,lessEqualImpl:()=>aN,lessImpl:()=>iN,linSpaceImpl:()=>hw,logImpl:()=>lN,maxImpl:()=>gw,maximumImpl:()=>uN,minimumImpl:()=>cN,multiplyImpl:()=>Xh,negImpl:()=>pN,notEqualImpl:()=>mN,prodImpl:()=>fN,raggedTensorToTensorImpl:()=>xw,rangeImpl:()=>Mc,rsqrtImpl:()=>dN,scatterImpl:()=>fl,sigmoidImpl:()=>hF,simpleAbsImpl:()=>jT,sliceImpl:()=>zc,sparseFillEmptyRowsImpl:()=>yw,sparseReshapeImpl:()=>bw,sparseSegmentReductionImpl:()=>yd,sqrtImpl:()=>yF,squaredDifferenceImpl:()=>gN,stridedSliceImpl:()=>ww,stringNGramsImpl:()=>Bc,stringSplitImpl:()=>Vc,stringToHashBucketFastImpl:()=>Gc,subImpl:()=>yN,tileImpl:()=>Cw,topKImpl:()=>vw,transposeImpl:()=>gd,uniqueImpl:()=>Iw});function jT(r){let t=new Float32Array(r.length);for(let e=0;e{let{x:t}=r.inputs,e=r.backend;nt(t,\"abs\");let n=new Float32Array(y.sizeFromShape(t.shape)),o=e.data.get(t.dataId).values;return n=jT(o),e.makeOutput(n,t.shape,t.dtype)},WR={kernelName:pi,backendName:\"cpu\",kernelFunc:iJ};function re(r){return(t,e,n,o,s)=>{let i=S.assertAndGetBroadcastShape(t,e),a=i.length,u=y.computeStrides(i),l=y.sizeFromShape(i),c=y.getTypedArrayFromDType(s,l),p=t.length,m=e.length,f=y.computeStrides(t),d=y.computeStrides(e),h=S.getBroadcastDims(t,i),g=S.getBroadcastDims(e,i);if(h.length+g.length===0)for(let x=0;xw[$]=0);let C=y.locToIndex(w,p,f),T=b.slice(-m);g.forEach($=>T[$]=0);let E=y.locToIndex(T,m,d);c[x]=r(n[C],o[E])}return[c,i]}}function Cr(r){let{inputs:t,backend:e}=r,{real:n,imag:o}=t,s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,a=e.makeTensorInfo(n.shape,\"complex64\"),u=e.data.get(a.dataId);return u.complexTensorInfos={real:e.makeTensorInfo(n.shape,\"float32\",s),imag:e.makeTensorInfo(o.shape,\"float32\",i)},a}var UR={kernelName:Np,backendName:\"cpu\",kernelFunc:Cr};function fd(r,t,e=\"float32\"){if(e===\"complex64\"){let o=fd(r,t,\"float32\"),s=fd(r,t,\"float32\");return Cr({inputs:{real:o,imag:s},backend:r})}let n=y.makeZerosTypedArray(y.sizeFromShape(t),e);return r.makeTensorInfo(t,e,n)}function Ur(r){let{inputs:t,backend:e}=r,{x:n}=t;return e.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var HR={kernelName:uo,backendName:\"cpu\",kernelFunc:Ur};function Eo(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.data.get(n.dataId).complexTensorInfos.real,s=e.data.get(o.dataId).values;return e.makeTensorInfo(o.shape,o.dtype,s)}var qR={kernelName:qp,backendName:\"cpu\",kernelFunc:Eo};function XT(r,t,e,n){if(n===\"int32\"){let o=Int32Array.from(r);return[t,\"int32\",o]}if(n===\"bool\"){let o=y.toTypedArray([0],e),[s,i]=re((a,u)=>a!==u?1:0)(t,[],r,o,\"bool\");return[i,\"bool\",s]}throw new Error(`Error in Cast: failed to cast ${e} to ${n}`)}function Ao(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dtype:s}=n;if(s===\"complex64\"){if(o.dtype===\"complex64\")return Ur({inputs:{x:o},backend:e});let c=fd(e,o.shape,o.dtype),p=Ao({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}}),m=Cr({inputs:{real:p,imag:c},backend:e});return e.disposeIntermediateTensorInfo(c),e.disposeIntermediateTensorInfo(p),m}if(o.dtype===\"complex64\"){let c=Eo({inputs:{input:o},backend:e}),p=Ao({inputs:{x:c},backend:e,attrs:{dtype:s}});return e.disposeIntermediateTensorInfo(c),p}if(!y.hasEncodingLoss(o.dtype,s)){let c=Ur({inputs:{x:o},backend:e});return{dataId:c.dataId,shape:c.shape,dtype:s}}let i=e.data.get(o.dataId).values,[a,u,l]=XT(i,o.shape,o.dtype,s);return e.makeTensorInfo(a,u,l)}var KR={kernelName:ao,backendName:\"cpu\",kernelFunc:Ao};function ie(r,t,e,n){return e==null?({inputs:o,backend:s})=>{let{a:i,b:a}=o,u=s;nt([i,a],r);let l=u.data.get(i.dataId).values,c=u.data.get(a.dataId).values,p=i.dtype===\"string\"?S.fromUint8ToStringArray(l):l,m=i.dtype===\"string\"?S.fromUint8ToStringArray(c):c,f=n||i.dtype,[d,h]=t(i.shape,a.shape,p,m,f);return u.makeTensorInfo(h,f,d)}:({inputs:o,backend:s})=>{let{a:i,b:a}=o,u=s;if(i.dtype===\"complex64\"||a.dtype===\"complex64\"){let l=Ao({inputs:{x:i},backend:u,attrs:{dtype:\"complex64\"}}),c=u.data.get(l.dataId),p=c.complexTensorInfos.real,m=c.complexTensorInfos.imag,f=u.data.get(p.dataId).values,d=u.data.get(m.dataId).values,h=Ao({inputs:{x:a},backend:u,attrs:{dtype:\"complex64\"}}),g=u.data.get(h.dataId),x=g.complexTensorInfos.real,b=g.complexTensorInfos.imag,w=u.data.get(x.dataId).values,C=u.data.get(b.dataId).values,[T,E,$]=e(i.shape,a.shape,f,d,w,C),D=u.makeTensorInfo($,\"float32\",T),P=u.makeTensorInfo($,\"float32\",E),M=Cr({inputs:{real:D,imag:P},backend:u});return u.disposeIntermediateTensorInfo(l),u.disposeIntermediateTensorInfo(h),u.disposeIntermediateTensorInfo(D),u.disposeIntermediateTensorInfo(P),M}else{let l=u.data.get(i.dataId).values,c=u.data.get(a.dataId).values,p=n||i.dtype,[m,f]=t(i.shape,a.shape,l,c,p);return u.makeTensorInfo(f,p,m)}}}function dd(r){return(t,e,n,o,s,i)=>{let a=S.assertAndGetBroadcastShape(t,e),u=y.sizeFromShape(a),l=a.length,c=y.computeStrides(a),p=y.getTypedArrayFromDType(\"float32\",u),m=y.getTypedArrayFromDType(\"float32\",u),f=S.getBroadcastDims(t,a),d=S.getBroadcastDims(e,a),h=S.mergeRealAndImagArrays(n,o),g=S.mergeRealAndImagArrays(s,i),x=t.length,b=y.computeStrides(t),w=e.length,C=y.computeStrides(e);if(f.length+d.length===0)for(let T=0;T$[H]=0);let D=y.locToIndex($,x,b),P=E.slice(-w);d.forEach(H=>P[H]=0);let M=y.locToIndex(P,w,C),W=r(h[D*2],h[D*2+1],g[M*2],g[M*2+1]);p[T]=W.real,m[T]=W.imag}return[p,m,a]}}var YT=re((r,t)=>r+t),aJ=dd((r,t,e,n)=>({real:r+e,imag:t+n})),Qi=ie(jn,YT,aJ),jR={kernelName:jn,backendName:\"cpu\",kernelFunc:Qi};function hd(r,t,e,n,o){let s=y.sizeFromShape(n),i=y.makeZerosTypedArray(o,e);for(let a=0;a=o||(s>0?i[u]+=t[a]:i[u]+=1)}return i}function mw(r,t,e,n=!1){let o=r.shape[0],s=r.shape[1],i=vt([o,e],t.dtype);for(let a=0;a=e||(n?i.set(1,a,l):t.size>0?i.set(i.get(a,l)+t.get(a,u),a,l):i.set(i.get(a,l)+1,a,l))}return i}function bn(r){return(t,e,n)=>{let o=y.getTypedArrayFromDType(e,t.length);for(let s=0;s{let{x:i}=n;if(nt(i,r),i.dtype===\"string\"||e===\"string\")throw new Error(\"unaryKernelFunc does not support string input/output\");let a=s,u=a.data.get(i.dataId).values,l=y.sizeFromShape(i.shape),c=e||i.dtype,p=y.getArrayFromDType(c,l);for(let m=0;m{let{x:i}=n;if(nt(i,r),i.dtype===\"string\"||e===\"string\")throw new Error(\"unaryKernelFunc does not support string input/output\");let a=s,u=a.data.get(i.dataId).values,l=e||i.dtype,c=t(u,l,o);return a.makeTensorInfo(i.shape,l,c)}}var ZT=bn(r=>Math.ceil(r)),lJ=$o(Jo,ZT),XR={kernelName:Jo,backendName:\"cpu\",kernelFunc:lJ};function Pc(r,t,e,n){let o=y.getArrayFromDType(e,y.sizeFromShape(t));if(n&&e!==\"string\"){let s=0;r.forEach(i=>{let a=y.sizeFromShape(i.shape);o.set(i.vals,s),s+=a})}else{let s=0;r.forEach(i=>{let a=e===\"string\"?S.fromUint8ToStringArray(i.vals):i.vals,u=0;for(let l=0;lr===t?1:0),QT=ie(xa,JT,null,\"bool\"),YR={kernelName:xa,backendName:\"cpu\",kernelFunc:QT};var tN=bn(r=>Math.exp(r)),eN=$o(as,tN,\"float32\"),ZR={kernelName:as,backendName:\"cpu\",kernelFunc:eN};var rN=bn(r=>Math.expm1(r)),uJ=$o(ya,rN),JR={kernelName:ya,backendName:\"cpu\",kernelFunc:uJ};var nN=bn(r=>Math.floor(r)),cJ=$o(ls,nN),QR={kernelName:ls,backendName:\"cpu\",kernelFunc:cJ};function fw(r,t,e,n,o,s,i,a,u){let l=vt([n,s],e);for(let c=0;c=u/s)throw new Error(`Invalid indices: ${p} does not index into ${a}`);for(let f=0;fr>t?1:0),pJ=ie(Ca,oN,null,\"bool\"),tF={kernelName:Ca,backendName:\"cpu\",kernelFunc:pJ};var sN=re((r,t)=>r>=t?1:0),mJ=ie(ps,sN,null,\"bool\"),eF={kernelName:ps,backendName:\"cpu\",kernelFunc:mJ};var iN=re((r,t)=>rr<=t?1:0),dJ=ie(Na,aN,null,\"bool\"),nF={kernelName:Na,backendName:\"cpu\",kernelFunc:dJ};function hw(r,t,e){let n=(t-r)/(e-1),o=y.makeZerosTypedArray(e,\"float32\");o[0]=r;for(let s=1;sMath.log(r)),hJ=$o(fs,lN),oF={kernelName:fs,backendName:\"cpu\",kernelFunc:hJ};function gw(r,t,e,n){let o=y.getTypedArrayFromDType(n,y.sizeFromShape(e));for(let s=0;sa)&&(a=l)}o[s]=a}return o}var uN=re((r,t)=>Math.max(r,t)),gJ=ie(hs,uN),sF={kernelName:hs,backendName:\"cpu\",kernelFunc:gJ};var cN=re((r,t)=>Math.min(r,t)),xJ=ie(bs,cN),iF={kernelName:bs,backendName:\"cpu\",kernelFunc:xJ};var Xh=re((r,t)=>r*t),yJ=dd((r,t,e,n)=>({real:r*e-t*n,imag:r*n+t*e})),Lc=ie(Cs,Xh,yJ),aF={kernelName:Cs,backendName:\"cpu\",kernelFunc:Lc};function pN(r,t,e){let n=y.createScalarValue(-1,e);return Xh([],t,n,r,e)}function bJ(r){let{inputs:t,backend:e}=r,{x:n}=t;nt(n,\"neg\");let o=e.data.get(n.dataId).values,[s,i]=pN(o,n.shape,n.dtype);return e.makeTensorInfo(i,n.dtype,s)}var lF={kernelName:gi,backendName:\"cpu\",kernelFunc:bJ};var mN=re((r,t)=>r!==t?1:0),wJ=ie(Da,mN,null,\"bool\"),uF={kernelName:Da,backendName:\"cpu\",kernelFunc:wJ};function gd(r,t,e,n,o){let s=t.length,i=y.sizeFromShape(t),a=y.computeStrides(t),u=y.computeStrides(o),l=y.getTypedArrayFromDType(e,y.sizeFromShape(o));for(let c=0;ce.disposeIntermediateTensorInfo(b)),e.makeTensorInfo(x,g,d)}var pF={kernelName:Ns,backendName:\"cpu\",kernelFunc:CJ};var Do=S.RowPartitionType,xd=class{constructor(t,e,n,o,s,i,a,u,l,c){this.shape=t,this.shapeShape=e,this.values=n,this.valuesShape=o,this.valuesDType=s,this.defaultValue=i,this.defaultValueShape=a,this.rowPartitionValues=u,this.rowPartitionValuesShapes=l,this.rowPartitionTypes=S.getRowPartitionTypesHelper(c),this.raggedRank=S.getRaggedRank(this.rowPartitionTypes)}getRowPartitionTypeByDimension(t){return this.rowPartitionTypes[0]===Do.FIRST_DIM_SIZE?this.rowPartitionTypes[t+1]:this.rowPartitionTypes[t]}getRowPartitionTensor(t){return this.rowPartitionTypes[0]===Do.FIRST_DIM_SIZE?this.rowPartitionValues[t+1]:this.rowPartitionValues[t]}getMaxWidth(t){let e=this.getRowPartitionTensor(t-1);switch(this.getRowPartitionTypeByDimension(t-1)){case Do.VALUE_ROWIDS:return xd.getMaxWidthValueRowID(e);case Do.ROW_SPLITS:return xd.getMaxWidthRowSplit(e);default:throw new Error(`Cannot handle partition type ${Do[this.getRowPartitionTypeByDimension(t-1)]}`)}}static getMaxWidthRowSplit(t){let e=t.length;if(e===0||e===1)return 0;let n=0;for(let o=0;on&&(n=s)}return n}static getMaxWidthValueRowID(t){let e=t.length;if(e===0)return 0;let n=0,o=t[0],s=0;for(let i=1;i\"Final length of result must be equal to firstDimension.\"),s}calculateOutputIndexRowSplit(t,e,n,o){let s=t.length,i=[];for(let a=0;a0&&i.length!==t[s-1])throw new Error(\"Invalid row split size.\");return i}calculateOutputIndexValueRowID(t,e,n,o){let s=t.length,i=[];if(s===0)return[];let a=0,u=t[0];if(u>=e.length)throw new Error(`Got currentValueRowId=${u}, which is not less than ${e.length}`);let l=e[u];i.push(l);for(let c=1;c=0&&(++a,a=e.length)throw new Error(`Got nextValueRowId=${p} which is not less than ${e.length}`);l=e[p]}i.push(l)}if(i.length!==t.length)throw new Error(\"Invalid row ids.\");return i}calculateOutputIndex(t,e,n,o){let s=this.getRowPartitionTensor(t),i=this.getRowPartitionTypeByDimension(t);switch(i){case Do.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(s,e,n,o);case Do.ROW_SPLITS:if(s.length-1>e.length)throw new Error(`Row partition size is greater than output size: ${s.length-1} > ${e.length}`);return this.calculateOutputIndexRowSplit(s,e,n,o);default:throw new Error(`Unsupported partition type: ${Do[i]}`)}}getFirstDimensionSize(){let t=this.rowPartitionValues[0];if(this.rowPartitionTypes.length===0)throw new Error(\"No row_partition_types given.\");let e=this.rowPartitionTypes[0];switch(e){case Do.FIRST_DIM_SIZE:return t[0];case Do.VALUE_ROWIDS:throw new Error(\"Cannot handle VALUE_ROWIDS in first dimension.\");case Do.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${Do[e]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error(\"Invalid first partition input. Tensor requires at least one element.\");let e=this.getFirstDimensionSize(),n=this.calculateOutputSize(e),o=new Array(this.raggedRank+1);o[o.length-1]=1;for(let u=o.length-2;u>=0;--u)o[u]=o[u+1]*n[u+1];let s=fF(n,!1),i=y.getArrayFromDType(this.valuesDType,y.sizeFromShape(s));if(o[0]*n[0]>0){let u=this.calculateFirstParentOutputIndex(e,o[0],n[0]);for(let l=1;l<=this.raggedRank;++l)u=this.calculateOutputIndex(l-1,u,o[l],n[l]);this.setOutput(this.raggedRank,u,i,s)}return[s,i]}setOutput(t,e,n,o){if(n.length===0)return;let s=this.values,i=n,a=o.slice();a=a.slice(t+1);let u=y.sizeFromShape(a),l=e.length,c=this.defaultValue;if(c.length!==u&&c.length!==1){let d=this.defaultValueShape;G(()=>{let h=F(c,d);c=Mi(h,a).dataSync()})}let p=0,m=0,f=0;for(let d=0;d<=l;++d){let h=d=l){let g=n.length;h=Math.floor(g/u)}if(h>f)if(this.defaultValue.length===1)i.subarray(f*u,h*u).fill(this.defaultValue[0]),f=h;else for(;h>f;){let g=i.slice(f*u);mF(g,c,u),++f}h<0?(p=d+1,m=f):(p=d,m=f,f=m+1)}}};function mF(r,t,e){for(let n=0;n= 0`);if(n<-1)throw new Error(`Dimension ${n} must be >= -1`);n=-1}e.push(n)}return e}function xw(r,t,e,n,o,s,i,a,u,l){return new xd(r,t,e,n,o,s,i,a,u,l).compute()}function Mc(r,t,e,n){let o=r===t,s=r1;if(o||s||i)return y.makeZerosTypedArray(0,n);let a=Math.abs(Math.ceil((t-r)/e)),u=y.makeZerosTypedArray(a,n);t1/Math.sqrt(r)),vJ=$o(Rs,dN),dF={kernelName:Rs,backendName:\"cpu\",kernelFunc:vJ};function fl(r,t,e,n,o,s,i,a,u,l){let c=[n/o,o],p=r.values,m=t.values;if(n===0)return vt(e,t.dtype);let f=vt(c,t.dtype);typeof u==\"string\"||typeof u==\"number\"?f.values.fill(u):typeof u==\"boolean\"&&f.values.fill(+u);for(let d=0;d=n/o)throw new Error(`Invalid indices: ${h} does not index into ${e}`);for(let x=0;x1/(1+Math.exp(-r))),hN=Et(Os,r=>1/(1+Math.exp(-r))),gF={kernelName:Os,backendName:\"cpu\",kernelFunc:hN};function zc(r,t,e,n,o){let s=Be.isSliceContinous(n,t,e),i=y.sizeFromShape(e),a=y.computeStrides(n);if(s){let p=Be.computeFlatOffset(t,a);return o===\"string\"?r.slice(p,p+i):r.subarray(p,p+i)}let u=o===\"string\"?S.fromUint8ToStringArray(r):r,l=vt(n,o,u),c=vt(e,o);for(let p=0;pd+t[h]);c.set(l.get(...f),...m)}return o===\"string\"?S.fromStringArrayToUint8(c.values):c.values}function Ro(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,size:i}=n;nt(o,\"slice\");let[a,u]=Be.parseSliceParams(o,s,i);Be.assertParamsValid(o,a,u);let l=e.data.get(o.dataId).values,c=zc(l,a,u,o.shape,o.dtype);return e.makeTensorInfo(u,o.dtype,c)}var xF={kernelName:Ci,backendName:\"cpu\",kernelFunc:Ro};function yw(r,t,e,n,o,s,i){let a=t[0],u=s[0],l=new Array(u),c=new Array(a),p=t[1];if(u===0){if(a!==0)throw new Error(S.getSparseFillEmptyRowsIndicesDenseShapeMismatch(a));let g=y.getArrayFromDType(e,0),x=y.getArrayFromDType(o,0);return[g,[0,p],x,l,c]}let m=!0,f=0,d=new Array(u).fill(0);for(let g=0;g=u)throw new Error(S.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(g,x,u));++d[x],m=m&&x>=f,f=x}let h=!0;for(let g=0;g0&&(d[g]+=d[g-1])}if(h&&m){let g=r,x=n;for(let b=0;b0){f[m-1]=1;for(let g=m-2;g>=0;--g)f[g]=f[g+1]*n[g+1]}let d=[];if(a>0){d[a-1]=1;for(let g=a-2;g>=0;--g)d[g]=d[g+1]*u[g+1]}let h=y.getArrayFromDType(e,i*a);for(let g=0;g0?o[a-1]+1:0;if(p<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let m=t.slice();m[0]=p;let f=m.reduce((w,C)=>w*C,1),d=y.getArrayFromDType(e,f);if(a===0)return p>0&&d.fill(i),[d,m];if(p<=0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let h=0,g=1,x=0,b=o[h];for(;;){let w=0;if(g=w)throw new Error(S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(b<0||b>=p)throw new Error(S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(b,p));b>x&&d.fill(i,x*l,b*l);for(let C=h;C=u[0])throw new Error(S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(C,n[C],u[0]));for(let E=0;Ea)break}return xMath.sqrt(r)),IJ=Et(Ps,r=>Math.sqrt(r)),bF={kernelName:Ps,backendName:\"cpu\",kernelFunc:IJ};var gN=re((r,t)=>{let e=r-t;return e*e}),SJ=ie(zs,gN),wF={kernelName:zs,backendName:\"cpu\",kernelFunc:SJ};function ww(r,t,e,n){let o=vt(r,t.dtype);for(let s=0;s0?0:a-u),f=0;f+=l*this.leftPad.length;for(let b=0;bb.forEach(w=>h[g++]=w);for(let b=0;b0){x(t[m+p-1]);for(let b=0;b0){let u=e[0];if(u!==0)throw new Error(`First split value must be 0, got ${u}`);for(let l=1;l=u;if(c=c&&e[l]<=n,!c)throw new Error(`Invalid split value ${e[l]}, must be in [${u}, ${n}]`);u=e[l]}if(u!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${u}`)}let s=o-1,i=y.getArrayFromDType(\"int32\",o);if(n===0||o===0){let u=new Array(n);for(let l=0;l<=s;++l)i[l]=0;return[u,i]}i[0]=0;for(let u=1;u<=s;++u){let l=e[u]-e[u-1],c=0;this.nGramWidths.forEach(p=>{c+=this.getNumNGrams(l,p)}),this.preserveShort&&l>0&&c===0&&(c=1),i[u]=i[u-1]+c}let a=new Array(i[s]);for(let u=0;u{let m=e[u+1]-e[u],f=this.getNumNGrams(m,p);this.createNGrams(t,l,a,c,f,p),c+=f}),this.preserveShort&&c===i[u]){let p=e[u+1]-e[u];if(p===0)continue;let m=p+2*this.padWidth,f=1;this.createNGrams(t,l,a,c,f,m)}}return[a,i]}};function Bc(r,t,e,n,o,s,i,a){return new xN(e,n,o,s,i,a).compute(r,t)}function TJ(r,t,e,n){if(!r.length)return;if(t.length===0){for(let s=0;sr-t),NJ=dd((r,t,e,n)=>({real:r-e,imag:t-n})),Yh=ie(Bs,yN,NJ),CF={kernelName:Bs,backendName:\"cpu\",kernelFunc:Yh};function Cw(r,t){let e=new Array(r.rank);for(let o=0;o{let e=t.value-r.value;return e===0?r.index-t.index:e};function vF(r,t,e=0,n=r.length-1){for(;n>e;){if(n-e>600){let a=n-e+1,u=t-e+1,l=Math.log(a),c=.5*Math.exp(2*l/3),p=.5*Math.sqrt(l*c*(a-c)/a)*Math.sign(u-a/2),m=Math.max(e,Math.floor(t-u*c/a+p)),f=Math.min(n,Math.floor(t+(a-u)*c/a+p));vF(r,t,m,f)}let o=r[t],s=e,i=n;for(y.swap(r,e,t),Zh(r[n],o)>0&&y.swap(r,e,n);s0;)i=i-1}Zh(r[e],o)===0?y.swap(r,e,i):(i=i+1,y.swap(r,i,n)),i<=t&&(e=i+1),t<=i&&(n=i-1)}}function vw(r,t,e,n,o){let s=t[t.length-1],[i,a]=[r.length/s,s],u=y.getTypedArrayFromDType(e,i*n),l=y.getTypedArrayFromDType(\"int32\",i*n);for(let p=0;pd[w]={value:b,index:w}),n{for(let g=0;gnew Tu,1);var bN=Et(is,r=>r>=0?r:Math.exp(r)-1),IF={kernelName:is,backendName:\"cpu\",kernelFunc:bN};function wN(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{alpha:s}=n;nt([o],\"leakyRelu\");let i=y.sizeFromShape(o.shape),a=e.data.get(o.dataId).values,u=y.getTypedArrayFromDType(\"float32\",i);for(let l=0;lr<0?t*r:r);function CN(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t;nt([n,o],\"prelu\");let s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,[a,u]=_J(n.shape,o.shape,s,i,\"float32\");return e.makeTensorInfo(u,\"float32\",a)}var TF={kernelName:Ts,backendName:\"cpu\",kernelFunc:CN};var vN=Et(ks,r=>Math.max(0,r)),NF={kernelName:ks,backendName:\"cpu\",kernelFunc:vN};var IN=Et(As,r=>Math.min(Math.max(0,r),6)),kF={kernelName:As,backendName:\"cpu\",kernelFunc:IN};function Wc(r,t,e,n,o){if(e===\"linear\")return Ur({inputs:{x:t},backend:r});if(e===\"relu\")return vN({inputs:{x:t},backend:r});if(e===\"elu\")return bN({inputs:{x:t},backend:r});if(e===\"relu6\")return IN({inputs:{x:t},backend:r});if(e===\"prelu\")return CN({inputs:{x:t,alpha:n},backend:r});if(e===\"leakyrelu\")return wN({inputs:{x:t},backend:r,attrs:{alpha:o}});if(e===\"sigmoid\")return hN({inputs:{x:t},backend:r});throw new Error(`Activation ${e} has not been implemented for the CPU backend.`)}function Jt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{shape:s}=n,i=y.sizeFromShape(o.shape),a=y.inferFromImplicitShape(s,i),u=y.sizeFromShape(a);y.assert(i===u,()=>`The new shape (${a}) 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.`),e.incRef(o.dataId);let l=e.data.get(o.dataId);if(l.complexTensorInfos!=null){let c=l.complexTensorInfos.real,p=l.complexTensorInfos.imag;c.shape=a,p.shape=a}return{dataId:o.dataId,shape:a,dtype:o.dtype}}var _F={kernelName:bi,backendName:\"cpu\",kernelFunc:Jt};function SN(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;nt([o,s],\"matMul\");let u=o.shape.length,l=s.shape.length,c=i?o.shape[u-2]:o.shape[u-1],p=a?s.shape[l-1]:s.shape[l-2],m=i?o.shape[u-1]:o.shape[u-2],f=a?s.shape[l-2]:s.shape[l-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),w=Lr.assertAndGetBroadcastShape(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=${i} and transposeB=${a} must match.`);let C=i?[g,c,m]:[g,m,c],T=a?[x,f,p]:[x,p,f],E=Jt({inputs:{x:o},backend:e,attrs:{shape:C}}),$=Jt({inputs:{x:s},backend:e,attrs:{shape:T}}),D=i?E.shape[1]:E.shape[2],P=i?E.shape[2]:E.shape[1],M=a?$.shape[1]:$.shape[2],W=Math.max(g,x),H=e.data.get(E.dataId).values,q=e.data.get($.dataId).values,X=y.computeStrides(E.shape),j=y.computeStrides($.shape),[Z,et,K]=i?[X[0],1,X[1]]:[X[0],X[1],1],[ot,st,it]=a?[1,j[1],j[0]]:[j[1],1,j[0]],pt=P*M,at=vt([W,P,M],E.dtype),gt=at.values,dt=e.blockSize;for(let bt=0;btMath.acos(r)),$F={kernelName:oa,backendName:\"cpu\",kernelFunc:AJ};var $J=Et(sa,r=>Math.acosh(r)),DF={kernelName:sa,backendName:\"cpu\",kernelFunc:$J};function DJ(r){let{inputs:t,backend:e}=r,n=t;nt(t,\"addN\");let o=n.map(a=>e.data.get(a.dataId).values),s=vt(n[0].shape,n[0].dtype),i=s.values;for(let a=0;ab&&(b=T,w=C)}f[g]=w}return l.forEach(g=>e.disposeIntermediateTensorInfo(g)),e.makeTensorInfo(c,\"int32\",f)}var PF={kernelName:Xo,backendName:\"cpu\",kernelFunc:OJ};function PJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n;nt(o,\"argMin\");let i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Ue({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),i=[i[0]],S.assertAxesAreInnerMostDims(\"argMin\",i,u.shape.length);let[c,p]=S.computeOutAndReduceShapes(u.shape,i),m=y.sizeFromShape(c),f=y.makeZerosTypedArray(m,\"int32\"),d=y.sizeFromShape(p),h=e.data.get(u.dataId).values;for(let g=0;ge.disposeIntermediateTensorInfo(g)),e.makeTensorInfo(c,\"int32\",f)}var LF={kernelName:Nl,backendName:\"cpu\",kernelFunc:PJ};var LJ=Et(la,r=>Math.asin(r)),MF={kernelName:la,backendName:\"cpu\",kernelFunc:LJ};var MJ=Et(ua,r=>Math.asinh(r)),zF={kernelName:ua,backendName:\"cpu\",kernelFunc:MJ};var zJ=Et(ca,r=>Math.atan(r)),BF={kernelName:ca,backendName:\"cpu\",kernelFunc:zJ};var BJ=re((r,t)=>Math.atan2(r,t)),VJ=ie(ma,BJ),VF={kernelName:ma,backendName:\"cpu\",kernelFunc:VJ};var GJ=Et(pa,r=>Math.atanh(r)),GF={kernelName:pa,backendName:\"cpu\",kernelFunc:GJ};function bd(r,t,e,n,o,s){let i=o.strideHeight,a=o.strideWidth,u=o.dilationHeight,l=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=vt(o.outShape,e),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 C=0;Cet?et=dt:s===\"avg\"&&(K+=dt,ot++)}if(isNaN(et))break}let st=H+q*w+$;g[st]=s===\"avg\"?K/ot:et}}}return h}function Tw(r,t,e,n,o=!1,s=!1){let i=vt(n.outShape,\"int32\"),a=n.strideHeight,u=n.strideWidth,l=n.dilationHeight,c=n.dilationWidth,p=n.effectiveFilterHeight,m=n.effectiveFilterWidth,f=n.padInfo.top,d=n.padInfo.left,h=vt(t,e,r);for(let g=0;gM&&(M=Z,o?W=s?((g*n.inHeight+H)*n.inWidth+X)*n.inChannels+x:(H*n.inWidth+X)*n.inChannels+x:W=q*m+j)}}i.set(W,g,b,E,x)}}return i}function Nw(r,t,e,n,o,s){let i=o.strideDepth,a=o.strideHeight,u=o.strideWidth,l=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=vt(o.outShape,e),C=w.values,T=o.outShape[1]*o.outShape[2]*o.outShape[3]*o.outShape[4],E=o.outShape[2]*o.outShape[3]*o.outShape[4],$=o.outShape[3]*o.outShape[4],D=o.outShape[4];for(let P=0;PAt?At=Re:s===\"avg\"&&(Rt+=Re,qt++),isNaN(At))break}if(isNaN(At))break}if(isNaN(At))break}let Kt=Tt+H;C[Kt]=s===\"avg\"?Rt/qt:At}}}}return w}function WF(r,t){let e=vt(t.outShape,\"int32\"),n=t.strideDepth,o=t.strideHeight,s=t.strideWidth,i=t.dilationDepth,a=t.dilationHeight,u=t.dilationWidth,l=t.effectiveFilterDepth,c=t.effectiveFilterHeight,p=t.effectiveFilterWidth,m=t.padInfo.front,f=t.padInfo.top,d=t.padInfo.left;for(let h=0;h=q&&(q=it,X=Z*c*p+K*c+st)}}}e.set(X,h,x,T,P,g)}}}return e}function WJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;nt(o,\"avgPool\");let{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=n,l=1;y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Ur({inputs:{x:o},backend:e});else{let m=e.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=bd(m,o.shape,o.dtype,f,c,\"avg\");p=e.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var UF={kernelName:Yo,backendName:\"cpu\",kernelFunc:WJ};function UJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n;nt(o,\"avgPool3d\");let c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.data.get(o.dataId).values,m=Nw(p,o.shape,o.dtype,y.computeStrides(o.shape),c,\"avg\");return e.makeTensorInfo(m.shape,\"float32\",m.values)}var HF={kernelName:kl,backendName:\"cpu\",kernelFunc:UJ};function HJ(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n;nt([o,s],\"avgPool3DGrad\");let c=S.computePool3DInfo(s.shape,i,a,1,u,l),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=c.effectiveFilterDepth,T=c.effectiveFilterHeight,E=c.effectiveFilterWidth,$=C-1-c.padInfo.front,D=E-1-c.padInfo.left,P=T-1-c.padInfo.top,M=vt(s.shape,\"float32\"),W=1/(d*h*g),H=e.bufferSync(o);for(let q=0;q=c.outDepth||Math.floor(at)!==at))for(let gt=0;gt=c.outHeight||Math.floor(dt)!==dt))for(let bt=0;bt=c.outWidth||Math.floor(Tt)!==Tt)continue;it+=H.get(q,at,dt,Tt,X)}}}M.set(it*W,q,j,Z,et,X)}return e.makeTensorInfo(M.shape,M.dtype,M.values)}var qF={kernelName:Ip,backendName:\"cpu\",kernelFunc:HJ};function qJ(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s;nt([o,s],\"avgPoolGrad\");let{filterSize:a,strides:u,pad:l}=n,c=S.computePool2DInfo(i.shape,a,u,1,l),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,C=x-1-c.padInfo.top,T=vt(i.shape,\"float32\"),E=1/(f*d),$=e.data.get(o.dataId).values,D=vt(o.shape,\"float32\",$);for(let P=0;P=c.outHeight||Math.floor(et)!==et))for(let K=0;K=c.outWidth||Math.floor(ot)!==ot)continue;j+=D.get(P,et,ot,M)}}T.set(j*E,P,W,H,M)}return e.makeTensorInfo(T.shape,T.dtype,T.values)}var KF={kernelName:vp,backendName:\"cpu\",kernelFunc:qJ};function KJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,scale:s,offset:i,mean:a,variance:u}=t;y.assert(a.shape.length===u.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(i==null||a.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(s==null||a.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\"),nt([o,a,u,s,i],\"batchNorm\");let{varianceEpsilon:l}=n;l==null&&(l=.001);let c=e.data.get(o.dataId).values,p=e.data.get(a.dataId).values,m=e.data.get(u.dataId).values,f=s?e.data.get(s.dataId).values:new Float32Array([1]),d=i?e.data.get(i.dataId).values:new Float32Array([0]),h=new Float32Array(c.length),g=d.length,x=f.length,b=m.length,w=p.length,C=0,T=0,E=0,$=0;for(let D=0;D=g&&(C=0),T>=w&&(T=0),E>=x&&(E=0),$>=b&&($=0);return e.makeTensorInfo(o.shape,o.dtype,h)}var jF={kernelName:cs,backendName:\"cpu\",kernelFunc:KJ};function jJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,crops:i}=n;nt([o],\"batchToSpaceND\");let a=s.reduce((x,b)=>x*b),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=Jt({inputs:{x:o},backend:e,attrs:{shape:u}}),d=Ue({inputs:{x:f},backend:e,attrs:{perm:l}}),h=Jt({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Ro({inputs:{x:h},backend:e,attrs:{begin:p,size:m}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),g}var XF={kernelName:mi,backendName:\"cpu\",kernelFunc:jJ};function XJ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i}=n,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,l=hd(a,u,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,l)}var YF={kernelName:Sp,backendName:\"cpu\",kernelFunc:XJ};function YJ(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.data.get(n.dataId).values,i=e.data.get(o.dataId).values,a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeTensorInfo([a.length],\"int32\",Int32Array.from(a))}var ZF={kernelName:Tp,backendName:\"cpu\",kernelFunc:YJ};var ZJ=Et(lo,(r,t)=>{let e=t;return r>e.clipValueMax?e.clipValueMax:r{let{x:t}=r.inputs,e=r.backend,n=new Float32Array(y.sizeFromShape(t.shape)),o=e.data.get(t.dataId),s=o.complexTensorInfos.real,i=o.complexTensorInfos.imag,a=e.data.get(s.dataId).values,u=e.data.get(i.dataId).values;for(let l=0;lh.shape),s);if(y.sizeFromShape(i)===0)return e.makeTensorInfo(i,t[0].dtype,[]);let a=t.filter(h=>y.sizeFromShape(h.shape)>0);if(a.length===1)return Ur({inputs:{x:a[0]},backend:e});let u=a.map(h=>h.shape);if(S.assertParamsConsistent(u,s),a[0].dtype===\"complex64\"){let h=a.map(C=>Eo({inputs:{input:C},backend:e})),g=a.map(C=>ta({inputs:{input:C},backend:e})),x=Nu({inputs:h,backend:e,attrs:{axis:s}}),b=Nu({inputs:g,backend:e,attrs:{axis:s}}),w=Cr({inputs:{real:x,imag:b},backend:e});return h.forEach(C=>e.disposeIntermediateTensorInfo(C)),g.forEach(C=>e.disposeIntermediateTensorInfo(C)),e.disposeIntermediateTensorInfo(x),e.disposeIntermediateTensorInfo(b),w}let l=a.map(h=>{let g=y.sizeFromShape(h.shape.slice(s));return Jt({inputs:{x:h},backend:e,attrs:{shape:[-1,g]}})}),c=l.map(h=>({vals:e.data.get(h.dataId).values,shape:h.shape}));i=S.computeOutShape(l.map(h=>h.shape),1);let p=l[0].shape[0]===1,m=Pc(c,i,t[0].dtype,p),f=S.computeOutShape(a.map(h=>h.shape),s),d=e.makeTensorInfo(f,t[0].dtype,m);return l.forEach(h=>e.disposeIntermediateTensorInfo(h)),d}var eO={kernelName:fi,backendName:\"cpu\",kernelFunc:Nu};function TN(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dataFormat:u,dilations:l,dimRoundingMode:c}=n;nt([o,s],\"conv2d\");let p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,s.shape,i,l,a,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\",C=new fe(m.outShape,o.dtype),T=y.computeStrides(o.shape),E=y.computeStrides(s.shape),$=T[0],D=w?T[1]:T[2],P=w?T[2]:1,M=w?1:T[1],W=C.strides[0],H=w?C.strides[1]:C.strides[2],q=w?C.strides[2]:1,X=w?1:C.strides[1],j=e.data.get(o.dataId).values,Z=e.data.get(s.dataId).values,et=C.values;for(let K=0;K=m.inHeight)continue;let bt=gt*E[0],Tt=ot+dt*D;for(let At=0;At=m.inWidth)continue;let Ft=bt+Kt*E[1],Ae=Tt+me*P,Ie=Ft;for(let le=0;le=l.inDepth)continue;let K=Z*P[0],ot=W+et*D[1];for(let st=0;st=l.inHeight)continue;let dt=K+at*P[1],bt=ot+gt*D[2];for(let Tt=0;Tt=l.inWidth)continue;let me=dt+qt*P[2],Ft=bt+Kt*l.inChannels,Ae=me;for(let Ie=0;IeMath.cos(r)),lO={kernelName:es,backendName:\"cpu\",kernelFunc:o9};var s9=Et(rs,r=>Math.cosh(r)),uO={kernelName:rs,backendName:\"cpu\",kernelFunc:s9};function i9(r){let{inputs:t,backend:e,attrs:n}=r,{image:o,boxes:s,boxInd:i}=t,{cropSize:a,method:u,extrapolationValue:l}=n,[c,p,m,f]=o.shape,d=s.shape[0],[h,g]=a,x=vt([d,h,g,f],\"float32\"),b=e.data.get(s.dataId).values,w=e.data.get(i.dataId).values,C=e.data.get(o.dataId).values,T=y.computeStrides(o.shape),E=y.computeStrides(x.shape);for(let $=0;$=c)continue;let X=h>1?(W-P)*(p-1)/(h-1):0,j=g>1?(H-M)*(m-1)/(g-1):0;for(let Z=0;Z1?P*(p-1)+Z*X:.5*(P+W)*(p-1);if(et<0||et>p-1){for(let K=0;K1?M*(m-1)+it*j:.5*(M+H)*(m-1);if(pt<0||pt>m-1){for(let bt=0;bt1?M*(m-1)+K*j:.5*(M+H)*(m-1);if(ot<0||ot>m-1){for(let pt=0;ptx+d-b-1:(x,b)=>x+b;for(let x=0;xx+d-b-1:(x,b)=>x+b;for(let x=0;x`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`);let a=o.shape[0],u=o.shape[1],l=o.shape[2],c=o.shape[3],p=u*s,m=l*s,f=c/(s*s),d=e.data.get(o.dataId).values,h=new Float32Array(a*p*m*f),g=0;for(let x=0;x`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${m}'`);let f=S.computeConv2DInfo(o.shape,s.shape,i,m,a,l,!0),{filterHeight:d,filterWidth:h,dilationHeight:g,dilationWidth:x,padInfo:b}=f,w=b.left,C=b.top,T=f.outChannels/f.inChannels,E=new fe(f.outShape,o.dtype),$=e.data.get(o.dataId).values,D=e.data.get(s.dataId).values,P=E.values;for(let M=0;M=f.inHeight)continue;let K=Z*p[0],ot=W+et*c[1];for(let st=0;st=f.inWidth)continue;let dt=K+at*p[1],bt=ot+gt*f.inChannels,Tt=it,At=dt;for(let Rt=0;Rt{let{x:n,filter:o}=r,{strides:s,pad:i,dilations:a}=e,u=t,l=u.data.get(n.dataId).values,c=n.shape.length,p=u.data.get(o.dataId).values,m=o.shape.length,{batchSize:f,inHeight:d,inWidth:h,inChannels:g,outHeight:x,outWidth:b,padInfo:w,strideHeight:C,strideWidth:T,filterHeight:E,filterWidth:$,dilationHeight:D,dilationWidth:P,outShape:M}=S.computeDilation2DInfo(n.shape,o.shape,s,i,\"NHWC\",a),W=y.sizeFromShape(M),H=M.length,q=y.getArrayFromDType(n.dtype,W);for(let j=0;j=0&>=0&&btit&&(it=Rt)}}}let pt=y.locToIndex([j,Z,K,st],H,y.computeStrides(M));q[pt]=it}}}return{dataId:u.write(y.toTypedArray(q,n.dtype),M,n.dtype),shape:M,dtype:n.dtype}}};var wO={kernelName:sh,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t,attrs:e})=>{let{x:n,filter:o,dy:s}=r,{strides:i,pad:a,dilations:u}=e,l=t,c=y.toNestedArray(n.shape,l.data.get(n.dataId).values),p=y.toNestedArray(o.shape,l.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:C,filterHeight:T,filterWidth:E,dilationHeight:$,dilationWidth:D,outShape:P}=S.computeDilation2DInfo(n.shape,o.shape,i,a,\"NHWC\",u);y.assert(s.rank===P.length,()=>`Error in ${sh}, dy must have the same rank as output ${P.length}, but got ${s.rank}`);let M=y.toNestedArray(P,l.data.get(s.dataId).values),W=y.makeZerosNestedTypedArray(o.shape,o.dtype);for(let q=0;q=0&&at=0&&dtot&&(ot=bt,st=pt,it=gt)}}}W[st][it][K]+=M[q][X][Z][K]}}}return{dataId:l.write(y.toTypedArray(W,n.dtype),o.shape,o.dtype),shape:o.shape,dtype:o.dtype}}};var CO={kernelName:oh,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t,attrs:e})=>{let{x:n,filter:o,dy:s}=r,{strides:i,pad:a,dilations:u}=e,l=t,c=y.toNestedArray(n.shape,l.data.get(n.dataId).values),p=y.toNestedArray(o.shape,l.data.get(o.dataId).values),{batchSize:m,inHeight:f,inWidth:d,inChannels:h,outHeight:g,outWidth:x,padInfo:b,strideHeight:w,strideWidth:C,filterHeight:T,filterWidth:E,dilationHeight:$,dilationWidth:D,outShape:P}=S.computeDilation2DInfo(n.shape,o.shape,i,a,\"NHWC\",u);y.assert(s.rank===P.length,()=>`Error in ${oh}, dy must have the same rank as output ${P.length}, but got ${s.rank}`);let M=y.toNestedArray(P,l.data.get(s.dataId).values),W=y.makeZerosNestedTypedArray(n.shape,n.dtype);for(let q=0;q=0&&at=0&&dtot&&(ot=bt,st=at,it=dt)}}}W[q][st][it][K]+=M[q][X][Z][K]}}}return{dataId:l.write(y.toTypedArray(W,n.dtype),n.shape,n.dtype),shape:n.shape,dtype:n.dtype}}};function dl(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n;nt(o,\"sum\");let a;o.dtype===\"bool\"?a=Ao({inputs:{x:o},backend:e,attrs:{dtype:\"int32\"}}):a=Ur({inputs:{x:o},backend:e});let u=a.shape.length,l=y.parseAxisParam(s,a.shape),c=S.getAxesPermutation(l,u),p=l,m=a;c!=null&&(m=Ue({inputs:{x:a},backend:e,attrs:{perm:c}}),p=S.getInnerMostAxes(p.length,u)),S.assertAxesAreInnerMostDims(\"sum\",p,m.shape.length);let[f,d]=S.computeOutAndReduceShapes(m.shape,p),h=S.upcastType(m.dtype,\"int32\"),g=fd(e,f,h),x=y.sizeFromShape(d),b=e.data.get(g.dataId).values,w=e.data.get(m.dataId).values;for(let C=0;C=0&&(m=dl({inputs:{x:m},backend:e,attrs:{axis:l[h]-(i.length-f),keepDims:!1}}),d.push(m)),f--)}for(let h of d)h!==m&&e.disposeIntermediateTensorInfo(h);return m}var IO={kernelName:Fp,backendName:\"cpu\",kernelFunc:d9};function h9(r){let{inputs:t,backend:e}=r,{dy:n,y:o}=t;nt([n,o],\"eluGrad\");let s=new Float32Array(y.sizeFromShape(o.shape)),i=e.data.get(o.dataId).values,a=e.data.get(n.dataId).values;for(let u=0;u=1?s[u]=a[u]:s[u]=a[u]*(l+1)}return e.makeTensorInfo(o.shape,\"float32\",s)}var SO={kernelName:Op,backendName:\"cpu\",kernelFunc:h9};var g9=S.ERF_P,x9=S.ERF_A1,y9=S.ERF_A2,b9=S.ERF_A3,w9=S.ERF_A4,C9=S.ERF_A5,v9=Et(ga,r=>{let t=Math.sign(r),e=Math.abs(r),n=1/(1+g9*e);return t*(1-((((C9*n+w9)*n+b9)*n+y9)*n+x9)*n*Math.exp(-e*e))}),TO={kernelName:ga,backendName:\"cpu\",kernelFunc:v9};function wd(r){let{inputs:t,backend:e,attrs:n}=r,{input:o}=t,{dim:s}=n,i=o.shape.length,a=o.shape.slice(),u=s;return s<0&&(y.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),a.splice(u,0,1),Jt({inputs:{x:o},backend:e,attrs:{shape:a}})}var NO={kernelName:di,backendName:\"cpu\",kernelFunc:wd};var I9=re((r,t)=>r/t),Jh=ie(ss,I9),Qh={kernelName:ss,backendName:\"cpu\",kernelFunc:Jh};function kw(r,t,e){let n=r.shape,o=n[0],s=n[1],i=e.data.get(r.dataId),a=i.complexTensorInfos.real,u=i.complexTensorInfos.imag,l=[o,s],c=y.sizeFromShape(l),p=y.getTypedArrayFromDType(\"float32\",c),m=y.getTypedArrayFromDType(\"float32\",c);for(let g=0;g{let{image:n}=r,o=e,s=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[i,a,u,l]=n.shape,c=o.data.get(n.dataId).values;for(let m=0;m=0&&wMath.floor(r/t)),A9=ie(us,E9,null,\"int32\"),AO={kernelName:us,backendName:\"cpu\",kernelFunc:A9};function $9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=TN({inputs:{x:o,filter:s},backend:e,attrs:{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m}});if(i){let g=h;if(c===\"NCHW\"&&i.shape.length===1&&i.shape[0]!==1){let x=Jt({inputs:{x:i},backend:e,attrs:{shape:[i.shape[0],1,1]}});h=Qi({inputs:{a:h,b:x},backend:e}),e.disposeIntermediateTensorInfo(x)}else h=Qi({inputs:{a:h,b:i},backend:e});e.disposeIntermediateTensorInfo(g)}if(f){let g=h;if(c===\"NCHW\"&&f===\"prelu\"&&a.shape.length===1&&a.shape[0]!==1){let x=Jt({inputs:{x:a},backend:e,attrs:{shape:[a.shape[0],1,1]}});h=Wc(e,h,f,x,d),e.disposeIntermediateTensorInfo(x)}else h=Wc(e,h,f,a,d);e.disposeIntermediateTensorInfo(g)}return h}var $O={kernelName:ki,backendName:\"cpu\",kernelFunc:$9};function D9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=NN({inputs:{x:o,filter:s},backend:e,attrs:{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m}});if(i){let g=h;h=Qi({inputs:{a:h,b:i},backend:e}),e.disposeIntermediateTensorInfo(g)}if(f){let g=h;h=Wc(e,h,f,a,d),e.disposeIntermediateTensorInfo(g)}return h}var DO={kernelName:_i,backendName:\"cpu\",kernelFunc:D9};function R9(r){let{inputs:t,backend:e}=r,{params:n,indices:o}=t,s=y.sizeFromShape(n.shape),i=o.shape,a=i[i.length-1],[u,l,c,p]=S.prepareAndValidate(n,o);if(l===0)return e.makeTensorInfo(u,n.dtype,[]);let m=e.data.get(o.dataId).values,f=e.bufferSync(n),d=fw(m,f,n.dtype,l,a,c,p,n.shape,s);return e.makeTensorInfo(u,n.dtype,d.values)}var RO={kernelName:wa,backendName:\"cpu\",kernelFunc:R9};function F9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,indices:s}=t,{axis:i,batchDims:a}=n;nt([o,s],\"gatherV2\");let u=y.parseAxisParam(i,o.shape)[0],l=e.data.get(s.dataId).values,c=o.shape[u];for(let C=0;C=0,()=>`GatherV2: the index value ${T} is not in [0, ${c-1}]`)}let p=a;a==null&&(p=0);let m=y.sizeFromShape(s.shape),f=S.segment_util.collectGatherOpShapeInfo(o,s,u,p),d=Jt({inputs:{x:o},backend:e,attrs:{shape:[f.batchSize,f.outerSize,f.dimSize,f.sliceSize]}}),h=Jt({inputs:{x:s},backend:e,attrs:{shape:[f.batchSize,m/f.batchSize]}}),g=[f.batchSize,f.outerSize,m/f.batchSize,f.sliceSize],x=e.bufferSync(h),b=e.bufferSync(d),w=dw(b,x,g);return e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),e.makeTensorInfo(f.outputShape,w.dtype,w.values)}var FO={kernelName:hi,backendName:\"cpu\",kernelFunc:F9};function O9(r){let{inputs:t,backend:e}=r,{input:n}=t,o=y.sizeFromShape(n.shape),s=n.shape[n.shape.length-1],i=o/s,a=Jt({inputs:{x:n},backend:e,attrs:{shape:[i,s]}}),u=kw(a,!0,e),l=Jt({inputs:{x:u},backend:e,attrs:{shape:n.shape}});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(u),l}var OO={kernelName:Lp,backendName:\"cpu\",kernelFunc:O9};var P9=Et(va,r=>Number.isFinite(r)?1:0,\"bool\"),PO={kernelName:va,backendName:\"cpu\",kernelFunc:P9};var L9=Et(Ia,r=>Math.abs(r)===1/0?1:0,\"bool\"),LO={kernelName:Ia,backendName:\"cpu\",kernelFunc:L9};var M9=Et(Sa,r=>Number.isNaN(r)?1:0,\"bool\"),MO={kernelName:Sa,backendName:\"cpu\",kernelFunc:M9};function z9(r){let{backend:t,attrs:e}=r,{start:n,stop:o,num:s}=e,i=hw(n,o,s);return t.makeTensorInfo([i.length],\"float32\",i)}var zO={kernelName:zp,backendName:\"cpu\",kernelFunc:z9};var B9=Et(ka,r=>Math.log1p(r)),BO={kernelName:ka,backendName:\"cpu\",kernelFunc:B9};var V9=re((r,t)=>r&&t),G9=ie(_a,V9,null,\"bool\"),VO={kernelName:_a,backendName:\"cpu\",kernelFunc:G9};var W9=Et(Ea,r=>r?0:1,\"bool\"),GO={kernelName:Ea,backendName:\"cpu\",kernelFunc:W9};var U9=re((r,t)=>r||t),H9=ie(Aa,U9,null,\"bool\"),WO={kernelName:Aa,backendName:\"cpu\",kernelFunc:H9};function q9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n;nt(o,\"LRN\");let l=o.shape[3],c=l-1,p=e.data.get(o.dataId).values,m=y.sizeFromShape(o.shape),f=new Float32Array(m);function d(h){let g=h%l,x=h-g+Math.max(0,g-s),b=h-g+Math.min(g+s,c),w=0;for(;x<=b;x++){let C=p[x];w+=C*C}return w}for(let h=0;h`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u),p;if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))p=Ur({inputs:{x:o},backend:e});else{let m=e.data.get(o.dataId).values,f=y.computeStrides(o.shape),d=bd(m,o.shape,o.dtype,f,c,\"max\");p=e.makeTensorInfo(c.outShape,o.dtype,d.values)}return p}var KO={kernelName:gs,backendName:\"cpu\",kernelFunc:j9};function X9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n;nt(o,\"maxPool3d\");let c=S.computePool3DInfo(o.shape,s,i,1,a,u,l),p=e.data.get(o.dataId).values,m=Nw(p,o.shape,o.dtype,y.computeStrides(o.shape),c,\"max\");return e.makeTensorInfo(m.shape,\"float32\",m.values)}var jO={kernelName:Rl,backendName:\"cpu\",kernelFunc:X9};function Y9(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=n;nt([o,s],\"maxPool3DGrad\");let c=S.computePool3DInfo(s.shape,i,a,1,u,l),p=e.bufferSync(s),m=WF(p,c),f=c.strideDepth,d=c.strideHeight,h=c.strideWidth,g=c.dilationDepth,x=c.dilationHeight,b=c.dilationWidth,w=c.effectiveFilterDepth,C=c.effectiveFilterHeight,T=c.effectiveFilterWidth,E=w-1-c.padInfo.front,$=T-1-c.padInfo.left,D=C-1-c.padInfo.top,P=vt(s.shape,\"float32\"),M=e.bufferSync(o);for(let W=0;W=c.outDepth||Math.floor(it)!==it))for(let pt=0;pt=c.outHeight||Math.floor(at)!==at))for(let gt=0;gt=c.outWidth||Math.floor(dt)!==dt)continue;let bt=w*C*T-1-m.get(W,it,at,dt,H),Tt=st*C*T+pt*T+gt,At=bt===Tt?1:0;if(At===0)continue;ot+=M.get(W,it,at,dt,H)*At}}}P.set(ot,W,q,X,j,H)}return e.makeTensorInfo(P.shape,P.dtype,P.values)}var XO={kernelName:Gp,backendName:\"cpu\",kernelFunc:Y9};function Z9(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s,output:i}=t,a=s;nt([s,i],\"maxPoolGrad\");let{filterSize:u,strides:l,pad:c,dimRoundingMode:p}=n,m=S.computePool2DInfo(a.shape,u,l,1,c,p),f=e.data.get(a.dataId).values,d=vt(m.outShape,a.dtype,Tw(f,a.shape,a.dtype,m).values),h=m.strideHeight,g=m.strideWidth,x=m.dilationHeight,b=m.dilationWidth,w=m.effectiveFilterHeight,C=m.effectiveFilterWidth,T=C-1-m.padInfo.left,E=w-1-m.padInfo.top,$=vt(a.shape,\"float32\"),D=e.data.get(o.dataId).values,P=vt(o.shape,\"float32\",D);for(let M=0;M=m.outHeight||Math.floor(K)!==K))for(let ot=0;ot=m.outWidth||Math.floor(st)!==st)continue;let it=w*C-1-d.get(M,K,st,W),pt=et*C+ot,at=it===pt?1:0;if(at===0)continue;Z+=P.get(M,K,st,W)*at}}$.set(Z,M,H,q,W)}return e.makeTensorInfo($.shape,$.dtype,$.values)}var YO={kernelName:Vp,backendName:\"cpu\",kernelFunc:Z9};function ZO(r,t,e,n,o){let s=y.computeStrides(t),i=bd(r,t,e,s,o,\"max\"),a=Tw(r,t,e,o,!0,n);return[i.values,a.values]}var JO={kernelName:Wp,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{filterSize:o,strides:s,pad:i,includeBatchInIndex:a}=t,u=e;nt(n,\"MaxPoolWithArgmax\");let l=u.data.get(n.dataId).values,c=S.computePool2DInfo(n.shape,o,s,[1,1],i),[p,m]=ZO(l,n.shape,n.dtype,a,c),f=u.write(p,c.outShape,n.dtype),d=u.write(m,c.outShape,n.dtype);return[{dataId:f,shape:c.outShape,dtype:n.dtype},{dataId:d,shape:c.outShape,dtype:\"int32\"}]}};function J9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=y.parseAxisParam(s,o.shape),l=S.computeOutAndReduceShapes(o.shape,a)[1],c=y.sizeFromShape(l),p=[],m=e.makeTensorInfo([],\"float32\",new Float32Array([c]));p.push(m);let f=Ao({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}});p.push(f);let d=Jh({inputs:{a:f,b:m},backend:e});p.push(d);let h=dl({inputs:{x:d},backend:e,attrs:{axis:s,keepDims:i}});return p.forEach(g=>e.disposeIntermediateTensorInfo(g)),h}var QO={kernelName:xs,backendName:\"cpu\",kernelFunc:J9};function Q9(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n;nt(o,\"min\");let a=y.parseAxisParam(s,o.shape),u=a,l=S.getAxesPermutation(u,o.shape.length),c=o;l!=null&&(c=Ue({inputs:{x:o},backend:e,attrs:{perm:l}}),u=S.getInnerMostAxes(u.length,o.shape.length)),S.assertAxesAreInnerMostDims(\"min\",u,c.shape.length);let[p,m]=S.computeOutAndReduceShapes(c.shape,u),f=y.sizeFromShape(m),d=y.makeZerosTypedArray(y.sizeFromShape(p),c.dtype),h=e.data.get(c.dataId).values;for(let x=0;xw[0]+o.shape[C]+w[1]),u=s.map(w=>w[0]),l=s.map((w,C)=>w[0]+o.shape[C]),c=i===\"reflect\"?0:1,p=e.data.get(o.dataId).values,m=o.shape.length,f=y.computeStrides(o.shape),d=y.sizeFromShape(a),h=a.length,g=y.computeStrides(a),x=y.getTypedArrayFromDType(o.dtype,d);for(let w=0;w=l[E]&&(C[E]=(l[E]-1)*2-C[E]+c);C=C.map((E,$)=>E-u[$]);let T=y.locToIndex(C,m,f);x[w]=p[T]}return{dataId:e.write(x,a,o.dtype),shape:a,dtype:o.dtype}}var eP={kernelName:ws,backendName:\"cpu\",kernelFunc:tQ};var eQ=re((r,t)=>{let e=r%t;return r<0&&t<0||r>=0&&t>=0?e:(e+t)%t}),rQ=ie($a,eQ),rP={kernelName:$a,backendName:\"cpu\",kernelFunc:rQ};var oP=Tl(vh());function EN(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{dim:s}=n,i=o.shape.length,a=s;if(a===-1&&(a=i-1),a!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${a}`);let u=y.parseAxisParam([a],o.shape),l=_N({inputs:{x:o},backend:e,attrs:{reductionIndices:u,keepDims:!1}}),c=S.expandShapeToKeepDim(l.shape,u),p=Jt({inputs:{x:l},backend:e,attrs:{shape:c}}),m=Yh({inputs:{a:o,b:p},backend:e}),f=eN({inputs:{x:m},backend:e}),d=dl({inputs:{x:f},backend:e,attrs:{axis:u,keepDims:!1}}),h=Jt({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Jh({inputs:{a:f,b:h},backend:e});return e.disposeIntermediateTensorInfo(l),e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(h),g}var nP={kernelName:Ms,backendName:\"cpu\",kernelFunc:EN};function nQ(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n;nt(o,\"multinomial\");let u=a?o:EN({inputs:{logits:o},backend:e,attrs:{dim:-1}}),l=u.shape[0],c=u.shape[1],p=e.data.get(u.dataId).values,m=[l,s],f=y.makeZerosTypedArray(y.sizeFromShape(m),\"int32\");for(let d=0;d=0&&p[m]{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=wd({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=Nu({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeIntermediateTensorInfo(c)),l}var fP={kernelName:yi,backendName:\"cpu\",kernelFunc:AN};function pQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{paddings:s,constantValue:i}=n;nt(o,\"pad\");let a=s.map((b,w)=>b[0]+o.shape[w]+b[1]),u=s.map(b=>b[0]),l=e.data.get(o.dataId).values,c=y.sizeFromShape(o.shape),p=o.shape.length,m=y.computeStrides(o.shape),f=y.sizeFromShape(a),d=a.length,h=y.computeStrides(a),g=y.getTypedArrayFromDType(o.dtype,f);i!==0&&g.fill(i);for(let b=0;bE+u[$]),T=y.locToIndex(C,d,h);g[T]=l[b]}return{dataId:e.write(g,a,o.dtype),shape:a,dtype:o.dtype}}var _w={kernelName:Is,backendName:\"cpu\",kernelFunc:pQ};var mQ=re((r,t)=>Math.pow(r,t)),fQ=ie(Ss,mQ),dP={kernelName:Ss,backendName:\"cpu\",kernelFunc:fQ};function dQ(r){let{inputs:t,backend:e,attrs:n}=r,{shape:o,values:s,defaultValue:i,rowPartitionTensors:a}=t,{rowPartitionTypes:u}=n,l=e.data.get(o.dataId).values,c=e.data.get(s.dataId).values,p=e.data.get(i.dataId).values,m=a.map(g=>e.data.get(g.dataId).values),f=a.map(g=>g.shape),[d,h]=xw(l,o.shape,c,s.shape,s.dtype,p,i.shape,m,f,u);return e.makeTensorInfo(d,s.dtype,h)}var hP={kernelName:Hp,backendName:\"cpu\",kernelFunc:dQ};function hQ(r){let{backend:t,attrs:e}=r,{start:n,stop:o,dtype:s,step:i}=e,a=Mc(n,o,i,s);return t.makeTensorInfo([a.length],s,a)}var gP={kernelName:Fl,backendName:\"cpu\",kernelFunc:hQ};var gQ=Et(Pa,r=>1/r),xP={kernelName:Pa,backendName:\"cpu\",kernelFunc:gQ};function xQ(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n;nt(o,\"resizeBilinear\");let u=y.computeStrides(o.shape),[l,c]=a,[p,m,f,d]=o.shape,h=e.data.get(o.dataId).values,g=new Float32Array(y.sizeFromShape([p,l,c,d])),x=[s&&l>1?m-1:m,s&&c>1?f-1:f],b=[s&&l>1?l-1:l,s&&c>1?c-1:c],w=0,C=x[0]/b[0],T=x[1]/b[1];for(let E=0;E1?l-1:l,i&&f>1?c-1:c],g=[i&&m>1?m-1:m,i&&f>1?f-1:f],x=h[0]/g[0],b=h[1]/g[1],w=e.data.get(s.dataId).values,C=0;for(let T=0;T1?m-1:m,s&&c>1?f-1:f],b=[s&&l>1?l-1:l,s&&c>1?c-1:c],w=x[0]/b[0],C=x[1]/b[1],T=0;for(let E=0;E1?c-1:c,i&&d>1?p-1:p],b=[i&&f>1?f-1:f,i&&d>1?d-1:d],w=x[0]/b[0],C=x[1]/b[1],T=1/w,E=1/C,$=Math.ceil(T)*2+2,D=Math.ceil(E)*2+2;for(let P=0;P=f)continue;let at=M+pt*u[1],gt=pt*w,dt=Math.min(c-1,i?Math.round(gt):Math.floor(gt));if(W===dt)for(let bt=0;bt=d)continue;let At=at+Tt*u[2],Rt=Tt*C,qt=Math.min(p-1,i?Math.round(Rt):Math.floor(Rt));j===qt&&(st+=g[At+ot])}}h[Z+ot]=st}}}}return e.makeTensorInfo(o.shape,o.dtype,h)}var CP={kernelName:Kp,backendName:\"cpu\",kernelFunc:wQ};function CQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n;nt(o,\"reverse\");let i=o.shape.length,a=y.parseAxisParam(s,o.shape);if(i===0)return Ur({inputs:{x:o},backend:e});let u=new fe(o.shape,o.dtype),l=e.bufferSync(o);for(let c=0;cm[f]=o.shape[f]-1-m[f]),u.set(l.get(...m),...p)}return e.makeTensorInfo(u.shape,u.dtype,u.values)}var vP={kernelName:$s,backendName:\"cpu\",kernelFunc:CQ};var IP={kernelName:qa,backendName:\"cpu\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{image:n}=r,{radians:o,fillValue:s,center:i}=t,a=e,u=y.getTypedArrayFromDType(n.dtype,y.sizeFromShape(n.shape)),[l,c,p,m]=n.shape,[f,d]=S.getImageCenter(i,c,p),h=255,g=Math.sin(o),x=Math.cos(o),b=a.data.get(n.dataId).values;for(let C=0;C=0&&X=0&&j{let t=Math.floor(r);return r-t<.5?Math.floor(r):r-t>.5?Math.ceil(r):t%2===0?t:t+1}),SP={kernelName:Ds,backendName:\"cpu\",kernelFunc:vQ};function IQ(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o,updates:s}=t,{shape:i}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(s,o,i),m=!0,f=e.bufferSync(o),d=e.bufferSync(s),h=fl(f,d,i,p,l,u,a,c,0,m);return e.makeTensorInfo(i,h.dtype,h.values)}var TP={kernelName:La,backendName:\"cpu\",kernelFunc:IQ};function SQ(r,t){let e=0,n=r.length,o=0;for(;e1||o.shape.length===1?1:y.sizeFromShape(o.shape.slice(1));for(let d=0;dr>=0?EQ*r:_Q*(Math.exp(r)-1)),EP={kernelName:Ma,backendName:\"cpu\",kernelFunc:AQ};var $Q=Et(Ba,r=>r<0?-1:r>0?1:0),AP={kernelName:Ba,backendName:\"cpu\",kernelFunc:$Q};var DQ=Et(Fs,r=>Math.sin(r)),$P={kernelName:Fs,backendName:\"cpu\",kernelFunc:DQ};var RQ=Et(za,r=>Math.sinh(r)),DP={kernelName:za,backendName:\"cpu\",kernelFunc:RQ};var FQ=11920928955078125e-23,RP=Math.log(FQ)+2,OQ=Et(Va,r=>{let t=r>-RP,e=rNumber(g)))),e.makeTensorInfo([h.length],n.dtype,new Int32Array(h))]}var PP={kernelName:Ol,backendName:\"cpu\",kernelFunc:LQ};function MQ(r){let{inputs:t,backend:e}=r,{inputIndices:n,inputShape:o,newShape:s}=t;if(n.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape\n ${n.shape}`);if(o.shape.length!==1)throw new Error(`Input shape should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(e.data.get(o.dataId).values),a=e.data.get(n.dataId).values,u=Array.from(e.data.get(s.dataId).values),[l,c,p]=bw(a,n.shape,n.dtype,i,u);return[e.makeTensorInfo(c,n.dtype,l),e.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var LP={kernelName:Ga,backendName:\"cpu\",kernelFunc:MQ};function zQ(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(o.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=yd(i,n.shape,n.dtype,a,u,!0);return e.makeTensorInfo(c,n.dtype,l)}var MP={kernelName:Pl,backendName:\"cpu\",kernelFunc:zQ};function BQ(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(o.shape[0]!==s.shape[0])throw new Error(\"segmentIds and indices should have same size.\");let i=e.data.get(n.dataId).values,a=e.data.get(o.dataId).values,u=e.data.get(s.dataId).values,[l,c]=yd(i,n.shape,n.dtype,a,u);return e.makeTensorInfo(c,n.dtype,l)}var zP={kernelName:Ll,backendName:\"cpu\",kernelFunc:BQ};function VQ(r){let{inputs:t,backend:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=t,{outputShape:a}=n,{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=S.calculateShapes(s,o,a),f=!1,d=e.bufferSync(o),h;switch(s.dtype){case\"bool\":{let g=e.bufferSync(s),x=Boolean(e.data.get(i.dataId).values[0]);h=fl(d,g,a,m,c,l,u,p,x,f);break}case\"float32\":{let g=e.bufferSync(s),x=e.data.get(i.dataId).values[0];h=fl(d,g,a,m,c,l,u,p,x,f);break}case\"int32\":{let g=e.bufferSync(s),x=e.data.get(i.dataId).values[0];h=fl(d,g,a,m,c,l,u,p,x,f);break}case\"string\":{let g=e.bufferSync(s),x=y.decodeString(e.data.get(i.dataId).values[0]);h=fl(d,g,a,m,c,l,u,p,x,f);break}default:throw new Error(`Unsupported type ${s.dtype}`)}return e.makeTensorInfo(a,h.dtype,h.values)}var BP={kernelName:Yp,backendName:\"cpu\",kernelFunc:VQ};function GQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=n,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=new Array(o.shape.length).fill(0),c=o.shape.slice();return u.map(p=>{let m=[...c];m[a]=p;let f=Ro({inputs:{x:o},backend:e,attrs:{begin:l,size:m}});return l[a]+=p,f})}var VP={kernelName:Ii,backendName:\"cpu\",kernelFunc:GQ};var GP={kernelName:Ml,backendName:\"cpu\",kernelFunc:({inputs:r,backend:t})=>{let{x:e}=r,n=t;nt(e,\"square\");let o=n.data.get(e.dataId).values,s=new Float32Array(o.length);for(let a=0;a{let e=t;return isNaN(r)?NaN:r>0?1:e.alpha}),WP={kernelName:co,backendName:\"cpu\",kernelFunc:WQ};function UQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n;nt(o,\"stridedSlice\");let{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:C}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),T;if(h)T=Jt({inputs:{x:o},backend:e,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let E=Be.computeOutShape(b,w,C),$=Ro({inputs:{x:o},backend:e,attrs:{begin:b,size:E}});T=Jt({inputs:{x:$},backend:e,attrs:{shape:d}}),e.disposeIntermediateTensorInfo($)}else{let E=e.bufferSync(o),$=ww(f,E,C,b);T=e.makeTensorInfo(d,$.dtype,$.values)}return T}var UP={kernelName:Wa,backendName:\"cpu\",kernelFunc:UQ};function HQ(r){let{inputs:t,backend:e,attrs:n}=r,{separator:o,nGramWidths:s,leftPad:i,rightPad:a,padWidth:u,preserveShortSequences:l}=n,{data:c,dataSplits:p}=t,m=e.data.get(c.dataId).values,f=e.data.get(p.dataId).values,[d,h]=Bc(m,f,o,s,i,a,u,l);return[e.makeTensorInfo([d.length],\"string\",d),e.makeTensorInfo(p.shape,\"int32\",h)]}var HP={kernelName:zl,backendName:\"cpu\",kernelFunc:HQ};function qQ(r){let{inputs:t,backend:e,attrs:n}=r,{skipEmpty:o}=n,{input:s,delimiter:i}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);let a=e.data.get(s.dataId).values,u=e.data.get(i.dataId).values[0],[l,c,p]=Vc(a,u,o),m=c.length;return[e.makeTensorInfo([m,2],\"int32\",l),e.makeTensorInfo([m],\"string\",c),e.makeTensorInfo([2],\"int32\",new Int32Array(p))]}var qP={kernelName:Bl,backendName:\"cpu\",kernelFunc:qQ};function KQ(r){let{inputs:t,backend:e,attrs:n}=r,{numBuckets:o}=n,{input:s}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(o<=0)throw new Error(\"Number of buckets must be at least 1\");let i=e.data.get(s.dataId).values,a=Gc(i,o);return e.makeTensorInfo(s.shape,\"int32\",a)}var KP={kernelName:Vl,backendName:\"cpu\",kernelFunc:KQ};var jQ=Et(Vs,r=>Math.tan(r)),jP={kernelName:Vs,backendName:\"cpu\",kernelFunc:jQ};var XQ=Et(Gs,r=>Math.tanh(r)),XP={kernelName:Gs,backendName:\"cpu\",kernelFunc:XQ};function YQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{reps:s}=n;nt(o,\"tile\");let i=Cw(e.bufferSync(o),s);return e.makeTensorInfo(i.shape,i.dtype,i.values)}var YP={kernelName:Xn,backendName:\"cpu\",kernelFunc:YQ};function ZQ(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{k:s,sorted:i}=n;nt(o,\"topk\");let a=e.data.get(o.dataId).values,[u,l]=vw(a,o.shape,o.dtype,s,i);return[e.makeTensorInfo(u.shape,u.dtype,u.values),e.makeTensorInfo(l.shape,l.dtype,l.values)]}var ZP={kernelName:Ua,backendName:\"cpu\",kernelFunc:ZQ};function JQ(r){let{inputs:t,attrs:e,backend:n}=r,{image:o,transforms:s}=t,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=e,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=y.computeStrides(o.shape),b=x[0],w=x[1],C=x[2],T=y.computeStrides(g),E=T[0],$=T[1],D=T[2],P=y.getTypedArrayFromDType(o.dtype,y.sizeFromShape(g));P.fill(u);let M=n.data.get(o.dataId).values,W=n.data.get(s.dataId).values;for(let q=0;qt-1)if(t<=1)e=0;else{let n=2*t;e-=n*Math.trunc(e/n),e>=t&&(e=n-e-1)}return y.clamp(0,e,t-1)}function ttt(r,t){let e=r;if(e<0)if(t<=1)e=0;else{let n=t-1;e+=t*(Math.trunc(-e/n)+1)}else if(e>t-1)if(t<=1)e=0;else{let n=t-1;e-=t*Math.trunc(e/n)}return y.clamp(0,e,t-1)}function ett(r,t){return r}function rtt(r,t){return y.clamp(0,r,t-1)}function rg(r,t,e,n,o,s,i,a,u,l,c){let p=i*n+a*o+u*s+l;return 0<=a&&ae.disposeIntermediateTensorInfo(d)),f}var rL={kernelName:Gl,backendName:\"cpu\",kernelFunc:att};var ltt=[AF,WR,$F,DF,jR,RF,FF,OF,PF,LF,MF,zF,BF,VF,GF,UF,HF,qF,KF,EF,jF,XF,YF,ZF,KR,XR,JF,UR,QF,eO,rO,nO,oO,sO,iO,aO,lO,uO,cO,pO,mO,fO,dO,hO,gO,xO,yO,bO,wO,CO,IO,IF,SO,YR,TO,ZR,NO,JR,kO,_O,EO,QR,AO,$O,DO,RO,FO,tF,eF,HR,OO,tO,PO,LO,MO,SF,rF,nF,zO,oF,BO,VO,GO,WO,UO,HO,qO,sF,KO,jO,XO,YO,JO,QO,tP,iF,eP,rP,sP,aF,lF,iP,aP,lP,uF,uP,mP,fP,_w,dP,TF,pF,hP,gP,qR,Qh,xP,NF,kF,_F,yP,bP,wP,CP,vP,IP,SP,dF,TP,kP,_P,EP,gF,AP,$P,DP,xF,nP,FP,OP,PP,LP,MP,zP,BP,VP,bF,GP,wF,WP,UP,HP,qP,KP,CF,vO,jP,XP,YP,ZP,QP,cF,tL,eL,rL,cP];for(let r of ltt)Wu(r);var Id={};jt(Id,{assertNotComplex:()=>oi,bindCanvasToFramebuffer:()=>xtt,bindColorTextureToFramebuffer:()=>ig,bindTextureToProgramUniformSampler:()=>qN,bindTextureUnit:()=>iL,bindVertexBufferToProgramAttribute:()=>Fw,callAndCheck:()=>Ct,canBeRepresented:()=>FN,createFragmentShader:()=>PN,createFramebuffer:()=>WN,createProgram:()=>LN,createStaticIndexBuffer:()=>BN,createStaticVertexBuffer:()=>zN,createTexture:()=>VN,createVertexShader:()=>ON,getBatchDim:()=>gl,getExtensionOrThrow:()=>Cd,getFramebufferErrorMessage:()=>aL,getMaxTexturesInShader:()=>XN,getNumChannels:()=>htt,getProgramUniformLocation:()=>HN,getProgramUniformLocationOrThrow:()=>UN,getRowsCols:()=>xl,getShapeAs3D:()=>ag,getTextureShapeFromLogicalShape:()=>KN,getWebGLDisjointQueryTimerVersion:()=>YN,getWebGLErrorMessage:()=>sL,getWebGLMaxTextureSize:()=>jN,hasExtension:()=>Wn,isCapableOfRenderingToFloatTexture:()=>ZN,isDownloadFloatTextureEnabled:()=>JN,isReshapeFree:()=>_u,isWebGLFenceEnabled:()=>QN,isWebGLVersionEnabled:()=>Pw,linkProgram:()=>MN,logShaderSourceAndInfoLog:()=>Rw,resetMaxTextureSize:()=>ytt,resetMaxTexturesInShader:()=>btt,unbindColorTextureFromFramebuffer:()=>Ow,unbindTextureUnit:()=>gtt,validateFramebuffer:()=>vd,validateProgram:()=>sg,validateTextureSize:()=>GN});var Uc={},Ew={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function $N(r,t){Uc[r]=t}function Gn(r,t){if(!(r in Uc)||t!=null){let n=ctt(r,t);if(n!==null)Uc[r]=n;else return console.log(\"Could not get context for WebGL version\",r),null}let e=Uc[r];return e==null||e.isContextLost()?(delete Uc[r],Gn(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),Uc[r])}function utt(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 ctt(r,t){if(r!==1&&r!==2)throw new Error(\"Cannot get WebGL rendering context, WebGL is disabled.\");let e=t==null?utt(r):t;return e.addEventListener(\"webglcontextlost\",n=>{n.preventDefault(),delete Uc[r]},!1),B().getBool(\"SOFTWARE_WEBGL_ENABLED\")&&(Ew.failIfMajorPerformanceCaveat=!1),r===1?e.getContext(\"webgl\",Ew)||e.getContext(\"experimental-webgl\",Ew):e.getContext(\"webgl2\",Ew)}var ku;(function(r){r[r.DENSE=0]=\"DENSE\",r[r.SHARED_BATCH=1]=\"SHARED_BATCH\"})(ku||(ku={}));var Hr;(function(r){r[r.RENDER=0]=\"RENDER\",r[r.UPLOAD=1]=\"UPLOAD\",r[r.PIXELS=2]=\"PIXELS\",r[r.DOWNLOAD=3]=\"DOWNLOAD\"})(Hr||(Hr={}));var Fr;(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\"})(Fr||(Fr={}));function Hc(r,t){return[t,r]}function nL(r,t){return r*t}function ng(r){let t=y.sizeFromShape(r),e=Math.ceil(t/4);return y.sizeToSquarishShape(e)}function ea(r,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(r/2))]}function oL(r,t){let[e,n]=ea(r,t);return e*n*4}function og(r,t){let e=r,n,o,s,i,a,u,l,c,p,m;return B().getNumber(\"WEBGL_VERSION\")===2?(n=e.R32F,o=e.R16F,s=e.RGBA16F,i=e.RGBA32F,a=e.RED,l=4,c=1,p=e.HALF_FLOAT,m=e.FLOAT,u=e.RGBA8):(n=r.RGBA,o=r.RGBA,s=r.RGBA,i=e.RGBA,a=r.RGBA,l=4,c=4,p=t!=null?t.HALF_FLOAT_OES:null,m=r.FLOAT,u=r.RGBA),{internalFormatFloat:n,internalFormatHalfFloat:o,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:i,textureFormatFloat:a,downloadTextureFormat:u,downloadUnpackNumChannels:l,defaultNumChannels:c,textureTypeHalfFloat:p,textureTypeFloat:m}}function Ct(r,t){let e=t();return B().getBool(\"DEBUG\")&&ptt(r),e}function ptt(r){let t=r.getError();if(t!==r.NO_ERROR)throw new Error(\"WebGL Error: \"+sL(r,t))}var mtt=596e-10,ftt=65504;function FN(r){return!!(B().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")||r===0||mttr.getExtension(t),'Extension \"'+t+'\" not supported on this browser.')}function ON(r,t){let e=hl(r,()=>r.createShader(r.VERTEX_SHADER),\"Unable to create vertex WebGLShader.\");if(Ct(r,()=>r.shaderSource(e,t)),Ct(r,()=>r.compileShader(e)),r.getShaderParameter(e,r.COMPILE_STATUS)===!1)throw console.log(r.getShaderInfoLog(e)),new Error(\"Failed to compile vertex shader.\");return e}function PN(r,t){let e=hl(r,()=>r.createShader(r.FRAGMENT_SHADER),\"Unable to create fragment WebGLShader.\");if(Ct(r,()=>r.shaderSource(e,t)),Ct(r,()=>r.compileShader(e)),B().get(\"ENGINE_COMPILE_ONLY\"))return e;if(r.getShaderParameter(e,r.COMPILE_STATUS)===!1)throw Rw(t,r.getShaderInfoLog(e)),new Error(\"Failed to compile fragment shader.\");return e}var dtt=/ERROR: [0-9]+:([0-9]+):/g;function Rw(r,t){let e=dtt.exec(t);if(e==null){console.log(`Couldn't parse line number in error: ${t}`),console.log(r);return}let n=+e[1],o=r.split(`\n`),s=o.length.toString().length+2,i=o.map((p,m)=>y.rightPad((m+1).toString(),s)+p),a=0;for(let p=0;pr.createProgram(),\"Unable to create WebGLProgram.\")}function MN(r,t){if(Ct(r,()=>r.linkProgram(t)),!B().get(\"ENGINE_COMPILE_ONLY\")&&r.getProgramParameter(t,r.LINK_STATUS)===!1)throw console.log(r.getProgramInfoLog(t)),new Error(\"Failed to link vertex and fragment shaders.\")}function sg(r,t){if(Ct(r,()=>r.validateProgram(t)),r.getProgramParameter(t,r.VALIDATE_STATUS)===!1)throw console.log(r.getProgramInfoLog(t)),new Error(\"Shader program validation failed.\")}function zN(r,t){let e=hl(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return Ct(r,()=>r.bindBuffer(r.ARRAY_BUFFER,e)),Ct(r,()=>r.bufferData(r.ARRAY_BUFFER,t,r.STATIC_DRAW)),e}function BN(r,t){let e=hl(r,()=>r.createBuffer(),\"Unable to create WebGLBuffer\");return Ct(r,()=>r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e)),Ct(r,()=>r.bufferData(r.ELEMENT_ARRAY_BUFFER,t,r.STATIC_DRAW)),e}function htt(){return B().getNumber(\"WEBGL_VERSION\")===2?1:4}function VN(r){return hl(r,()=>r.createTexture(),\"Unable to create WebGLTexture.\")}function GN(r,t){let e=B().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\");if(r<=0||t<=0){let n=`[${r}x${t}]`;throw new Error(\"Requested texture size \"+n+\" is invalid.\")}if(r>e||t>e){let n=`[${r}x${t}]`,o=`[${e}x${e}]`;throw new Error(\"Requested texture size \"+n+\" greater than WebGL maximum on this browser / GPU \"+o+\".\")}}function WN(r){return hl(r,()=>r.createFramebuffer(),\"Unable to create WebGLFramebuffer.\")}function Fw(r,t,e,n,o,s,i){let a=r.getAttribLocation(t,e);return a===-1?!1:(Ct(r,()=>r.bindBuffer(r.ARRAY_BUFFER,n)),Ct(r,()=>r.vertexAttribPointer(a,o,r.FLOAT,!1,s,i)),Ct(r,()=>r.enableVertexAttribArray(a)),!0)}function iL(r,t,e){lL(r,e),Ct(r,()=>r.activeTexture(r.TEXTURE0+e)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,t))}function gtt(r,t){lL(r,t),Ct(r,()=>r.activeTexture(r.TEXTURE0+t)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function UN(r,t,e){return hl(r,()=>r.getUniformLocation(t,e),'uniform \"'+e+'\" not present in program.')}function HN(r,t,e){return r.getUniformLocation(t,e)}function qN(r,t,e,n){Ct(r,()=>iL(r,t,n)),Ct(r,()=>r.uniform1i(e,n))}function xtt(r){Ct(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,null)),Ct(r,()=>r.viewport(0,0,r.canvas.width,r.canvas.height)),Ct(r,()=>r.scissor(0,0,r.canvas.width,r.canvas.height))}function ig(r,t,e){Ct(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,e)),Ct(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0))}function Ow(r,t){Ct(r,()=>r.bindFramebuffer(r.FRAMEBUFFER,t)),Ct(r,()=>r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,null,0))}function vd(r){let t=r.checkFramebufferStatus(r.FRAMEBUFFER);if(t!==r.FRAMEBUFFER_COMPLETE)throw new Error(\"Error binding framebuffer: \"+aL(r,t))}function aL(r,t){switch(t){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 ${t}`}}function hl(r,t,e){let n=Ct(r,()=>t());if(n==null)throw new Error(e);return n}function lL(r,t){let e=r.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,n=t+r.TEXTURE0;if(ne){let o=`[gl.TEXTURE0, gl.TEXTURE${e}]`;throw new Error(`textureUnit must be in ${o}.`)}}function gl(r,t=2){return y.sizeFromShape(r.slice(0,r.length-t))}function xl(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 ag(r){let t=[1,1,1];return r.length===0||r.length===1&&r[0]===1||(t=[gl(r),...xl(r)]),t}function KN(r,t=!1){let e=B().getNumber(\"WEBGL_MAX_TEXTURE_SIZE\");t&&(e=e*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<=e)return[1,n];if(r.length===2&&r[0]<=e&&r[1]<=e)return r;if(r.length===3&&r[0]*r[1]<=e&&r[2]<=e)return[r[0]*r[1],r[2]];if(r.length===3&&r[0]<=e&&r[1]*r[2]<=e)return[r[0],r[1]*r[2]];if(r.length===4&&r[0]*r[1]*r[2]<=e&&r[3]<=e)return[r[0]*r[1]*r[2],r[3]];if(r.length===4&&r[0]<=e&&r[1]*r[2]*r[3]<=e)return[r[0],r[1]*r[2]*r[3]];if(t){let o=gl(r),s=2,i=2;return r.length&&([s,i]=xl(r)),n=o*(s/2)*(i/2),y.sizeToSquarishShape(n).map(a=>a*2)}return y.sizeToSquarishShape(n)}function Aw(r){return r%2===0}function _u(r,t){if(r=r.slice(-2),t=t.slice(-2),y.arraysEqual(r,t)||!r.length||!t.length||r[0]===0||r[1]===0||t[0]===0||t[1]===0)return!0;if(r.length!==t.length){let e=r.slice(-1)[0],n=t.slice(-1)[0];if(e===n||Aw(e)&&Aw(n)&&(r[0]===1||t[0]===1))return!0}return r[1]===t[1]&&Aw(r[0])&&Aw(t[0])}var $w,Dw;function jN(r){if($w==null){let t=Gn(r);$w=t.getParameter(t.MAX_TEXTURE_SIZE)}return $w}function ytt(){$w=null}function btt(){Dw=null}function XN(r){if(Dw==null){let t=Gn(r);Dw=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,Dw)}function YN(r){if(r===0)return 0;let t,e=Gn(r);return Wn(e,\"EXT_disjoint_timer_query_webgl2\")&&r===2?t=2:Wn(e,\"EXT_disjoint_timer_query\")?t=1:t=0,t}function Wn(r,t){return r.getExtension(t)!=null}function Pw(r){try{if(Gn(r)!=null)return!0}catch(t){return console.log(\"Error when getting WebGL context: \",t),!1}return!1}function ZN(r){if(r===0)return!1;let t=Gn(r);if(r===1){if(!Wn(t,\"OES_texture_float\"))return!1}else if(!Wn(t,\"EXT_color_buffer_float\"))return!1;return RN(t)}function JN(r){if(r===0)return!1;let t=Gn(r);if(r===1){if(!Wn(t,\"OES_texture_float\")||!Wn(t,\"WEBGL_color_buffer_float\"))return!1}else{if(Wn(t,\"EXT_color_buffer_float\"))return RN(t);let n=\"EXT_color_buffer_half_float\";if(Wn(t,n)){let o=t.getExtension(n);return wtt(t,o)}return!1}return RN(t)}function RN(r){let t=og(r),e=r.createTexture();r.bindTexture(r.TEXTURE_2D,e);let n=1,o=1;r.texImage2D(r.TEXTURE_2D,0,t.internalFormatFloat,n,o,0,t.textureFormatFloat,t.textureTypeFloat,null);let s=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,s),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0);let i=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(e),r.deleteFramebuffer(s),i}function wtt(r,t){let e=og(r,t),n=r.createTexture();r.bindTexture(r.TEXTURE_2D,n);let o=1,s=1;r.texImage2D(r.TEXTURE_2D,0,e.internalFormatHalfFloat,o,s,0,e.textureFormatFloat,e.textureTypeHalfFloat,null);let i=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,i),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,n,0);let a=r.checkFramebufferStatus(r.FRAMEBUFFER)===r.FRAMEBUFFER_COMPLETE;return r.bindTexture(r.TEXTURE_2D,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteTexture(n),r.deleteFramebuffer(i),a}function QN(r){return r!==2?!1:Gn(r).fenceSync!=null}function oi(r,t){Array.isArray(r)||(r=[r]),r.forEach(e=>{e!=null&&y.assert(e.dtype!==\"complex64\",()=>`${t} does not support complex64 tensors in the WebGL backend.`)})}var Dt=B();Dt.registerFlag(\"HAS_WEBGL\",()=>Dt.getNumber(\"WEBGL_VERSION\")>0);Dt.registerFlag(\"WEBGL_VERSION\",()=>Pw(2)?2:Pw(1)?1:0);Dt.registerFlag(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\",()=>!1);Dt.registerFlag(\"WEBGL_BUFFER_SUPPORTED\",()=>Dt.get(\"WEBGL_VERSION\")===2);Dt.registerFlag(\"WEBGL_CPU_FORWARD\",()=>!0);Dt.registerFlag(\"WEBGL_FORCE_F16_TEXTURES\",()=>!1);Dt.registerFlag(\"WEBGL_PACK\",()=>Dt.getBool(\"HAS_WEBGL\"));Dt.registerFlag(\"WEBGL_PACK_NORMALIZATION\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_CLIP\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_DEPTHWISECONV\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_BINARY_OPERATIONS\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_UNARY_OPERATIONS\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_ARRAY_OPERATIONS\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_IMAGE_OPERATIONS\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_PACK_REDUCE\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_LAZILY_UNPACK\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_CONV_IM2COL\",()=>Dt.getBool(\"WEBGL_PACK\"));Dt.registerFlag(\"WEBGL_MAX_TEXTURE_SIZE\",()=>jN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_MAX_TEXTURES_IN_SHADER\",()=>XN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\",()=>{let r=Dt.getNumber(\"WEBGL_VERSION\");return r===0?0:YN(r)});Dt.registerFlag(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\",()=>Dt.getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0&&!ql.isMobile());Dt.registerFlag(\"WEBGL_RENDER_FLOAT32_CAPABLE\",()=>ZN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_RENDER_FLOAT32_ENABLED\",()=>Dt.getBool(\"WEBGL_FORCE_F16_TEXTURES\")?!1:Dt.getBool(\"WEBGL_RENDER_FLOAT32_CAPABLE\"));Dt.registerFlag(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\",()=>JN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_FENCE_API_ENABLED\",()=>QN(Dt.getNumber(\"WEBGL_VERSION\")));Dt.registerFlag(\"WEBGL_SIZE_UPLOAD_UNIFORM\",()=>Dt.getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?4:0);Dt.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}.`)});Dt.registerFlag(\"WEBGL_FLUSH_THRESHOLD\",()=>ql.isMobile()?1:-1,r=>{if(r<0&&r!==-1)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${r}.`)});Dt.registerFlag(\"CPU_HANDOFF_SIZE_THRESHOLD\",()=>128);Dt.registerFlag(\"WEBGL_USE_SHAPES_UNIFORMS\",()=>!1);Dt.registerFlag(\"TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD\",()=>1e5);Dt.registerFlag(\"TOPK_K_CPU_HANDOFF_THRESHOLD\",()=>128);Dt.registerFlag(\"WEBGL_EXP_CONV\",()=>!1);Dt.registerFlag(\"SOFTWARE_WEBGL_ENABLED\",()=>Dt.getBool(\"IS_TEST\"));function He(){let r,t,e,n,o,s,i,a,u,l;return B().getNumber(\"WEBGL_VERSION\")===2?(r=\"#version 300 es\",t=\"in\",e=\"out\",n=\"in\",o=\"texture\",s=\"outputColor\",i=\"out vec4 outputColor;\",a=`\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n `,u=\"\",l=`\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `):(r=\"\",t=\"attribute\",e=\"varying\",n=\"varying\",o=\"texture2D\",s=\"gl_FragColor\",i=\"\",a=`\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n `,u=`\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n `,l=`\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n `),{version:r,attribute:t,varyingVs:e,varyingFs:n,texture2D:o,output:s,defineOutput:i,defineSpecialNaN:a,defineSpecialInf:u,defineRound:l}}function si(r,t,e=\"index\"){let n=y.computeStrides(t);return n.map((o,s)=>{let i=`int ${r[s]} = ${e} / ${o}`,a=s===n.length-1?`int ${r[s+1]} = ${e} - ${r[s]} * ${o}`:`index -= ${r[s]} * ${o}`;return`${i}; ${a};`}).join(\"\")}function qc(r,t,e=\"index\"){let n=y.computeStrides(t);return n.map((o,s)=>{let i=`int ${r[s]} = ${e} / outShapeStrides[${s}]`,a=s===n.length-1?`int ${r[s+1]} = ${e} - ${r[s]} * outShapeStrides[${s}]`:`index -= ${r[s]} * outShapeStrides[${s}]`;return`${i}; ${a};`}).join(\"\")}function Ctt(r,t){let e=r.length,n=r.map(s=>`${t}[${s}]`),o=new Array(e-1);o[e-2]=n[e-1];for(let s=e-3;s>=0;--s)o[s]=`(${o[s+1]} * ${n[s+1]})`;return o}function uL(r,t,e=\"index\"){let n=r.map((s,i)=>i),o=Ctt(n,t);return o.map((s,i)=>{let a=`int ${r[i]} = ${e} / ${o[i]}`,u=i===o.length-1?`int ${r[i+1]} = ${e} - ${r[i]} * ${o[i]}`:`index -= ${r[i]} * ${o[i]}`;return`${a}; ${u};`}).join(\"\")}function Sd(r){let t=y.computeStrides(r).map(e=>e.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}function Td(){return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n`}var Lw=`\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n`;var{getBroadcastDims:cL}=S;function pL(r,t,e){let n=[];if(r.forEach(f=>{let d=y.sizeFromShape(f.shapeInfo.logicalShape);if(f.shapeInfo.isUniform?n.push(`uniform float ${f.name}${d>1?`[${d}]`:\"\"};`):(n.push(`uniform sampler2D ${f.name};`),n.push(`uniform int offset${f.name};`)),e.enableShapeUniforms){let{uniformShape:h}=Mw(e.packedInputs,f.shapeInfo.logicalShape,f.shapeInfo.texShape);switch(h.length){case 1:n.push(`uniform int ${f.name}Shape;`);break;case 2:n.push(`uniform ivec2 ${f.name}Shape;`);break;case 3:n.push(`uniform ivec3 ${f.name}Shape;`);break;case 4:n.push(`uniform ivec4 ${f.name}Shape;`);break;default:break}n.push(`uniform ivec2 ${f.name}TexShape;`)}}),e.enableShapeUniforms){switch(t.logicalShape.length){case 1:n.push(\"uniform int outShape;\");break;case 2:n.push(\"uniform ivec2 outShape;\"),n.push(\"uniform int outShapeStrides;\");break;case 3:n.push(\"uniform ivec3 outShape;\"),n.push(\"uniform ivec2 outShapeStrides;\");break;case 4:n.push(\"uniform ivec4 outShape;\"),n.push(\"uniform ivec3 outShapeStrides;\");break;default:break}n.push(\"uniform ivec2 outTexShape;\")}e.customUniforms&&e.customUniforms.forEach(f=>{n.push(`uniform ${f.type} ${f.name}${f.arrayIndex?`[${f.arrayIndex}]`:\"\"};`)});let o=n.join(`\n`),s=r.map(f=>vtt(f,t,e.packedInputs,e.enableShapeUniforms)).join(`\n`),i=t.texShape,a=He(),u=Ttt(a),l,c,p=_tt(a);return t.isPacked?(l=Itt(t.logicalShape,i,e.enableShapeUniforms),c=ktt(a)):(l=Stt(t.logicalShape,i,e.enableShapeUniforms),c=Ntt(a)),e.packedInputs&&(p+=Dtt),[p,u,c,o,l,s,e.userCode].join(`\n`)}function kd(r,t=!1){let e=r.shapeInfo.logicalShape;switch(e.length){case 0:return Utt(r,t);case 1:return qtt(r,t);case 2:return jtt(r,t);case 3:return Ytt(r,t);case 4:return Jtt(r,t);case 5:return Qtt(r);case 6:return tet(r);default:throw new Error(`${e.length}-D input sampling is not yet supported`)}}function mL(r,t){switch(r.shapeInfo.logicalShape.length){case 0:return Wtt(r);case 1:return Htt(r,t);case 2:return Ktt(r,t);case 3:return Xtt(r,t);default:return Ztt(r,t)}}function vtt(r,t,e=!1,n){let o=\"\";e?o+=mL(r,n):o+=kd(r,n);let s=r.shapeInfo.logicalShape,i=t.logicalShape;return s.length<=i.length&&(e?o+=eet(r,t):o+=ret(r,t)),o}function Itt(r,t,e){switch(r.length){case 0:return fL();case 1:return Rtt(r,t,e);case 2:return Vtt(r,t,e);case 3:return Ott(r,t,e);default:return Ltt(r,t,e)}}function Stt(r,t,e){switch(r.length){case 0:return fL();case 1:return Ftt(r,t,e);case 2:return Gtt(r,t,e);case 3:return Ptt(r,t,e);case 4:return Mtt(r,t,e);case 5:return ztt(r,t);case 6:return Btt(r,t);default:throw new Error(`${r.length}-D output sampling is not yet supported`)}}function Ttt(r){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${r.texture2D}(textureSampler, uv).r;\n }\n `}function Ntt(r){return`\n void setOutput(float val) {\n ${r.output} = vec4(val, 0, 0, 0);\n }\n `}function ktt(r){return`\n void setOutput(vec4 val) {\n ${r.output} = val;\n }\n `}function _tt(r){return`${r.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${r.varyingFs} vec2 resultUV;\n ${r.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${r.defineSpecialNaN}\n ${r.defineSpecialInf}\n ${r.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${Ett}\n ${Att}\n ${$tt}\n `}var Ett=`\nvec2 uvFromFlat(int texNumR, int texNumC, int index) {\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\nvec2 packedUVfrom1D(int texNumR, int texNumC, int index) {\n int texelIndex = index / 2;\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,Att=`\nvec2 packedUVfrom2D(int texelsInLogicalRow, int texNumR,\n int texNumC, int row, int col) {\n int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = texelIndex / texNumC;\n int texC = texelIndex - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,$tt=`\nvec2 packedUVfrom3D(int texNumR, int texNumC,\n int texelsInBatch, int texelsInLogicalRow, int b,\n int row, int col) {\n int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);\n int texR = index / texNumC;\n int texC = index - texR * texNumC;\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\n}\n`,Dtt=`\n float getChannel(vec4 frag, vec2 innerDims) {\n vec2 modCoord = mod(innerDims, 2.);\n return modCoord.x == 0. ?\n (modCoord.y == 0. ? frag.r : frag.g) :\n (modCoord.y == 0. ? frag.b : frag.a);\n }\n float getChannel(vec4 frag, int dim) {\n float modCoord = mod(float(dim), 2.);\n return modCoord == 0. ? frag.r : frag.g;\n }\n`;function fL(){return`\n int getOutputCoords() {\n return 0;\n }\n `}function Rtt(r,t,e){let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];return n[0]===1?e?`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${n[1]}.0);\n }\n `:n[1]===1?e?`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n `:`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${n[0]}.0);\n }\n `:e?`\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${n[0]}, ${n[1]}));\n return 2 * (resTexRC.x * ${n[1]} + resTexRC.y);\n }\n `}function Ftt(r,t,e){return t[0]===1?e?`\n int getOutputCoords() {\n return int(resultUV.x * float(outTexShape[1]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.x * ${t[1]}.0);\n }\n `:t[1]===1?e?`\n int getOutputCoords() {\n return int(resultUV.y * float(outTexShape[0]));\n }\n `:`\n int getOutputCoords() {\n return int(resultUV.y * ${t[0]}.0);\n }\n `:e?`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n return resTexRC.x * outTexShape[1] + resTexRC.y;\n }\n `:`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${t[0]}, ${t[1]}));\n return resTexRC.x * ${t[1]} + resTexRC.y;\n }\n `}function Ott(r,t,e){if(e)return`\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n `;let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],o=Math.ceil(r[2]/2),s=o*Math.ceil(r[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${n[0]}, ${n[1]}));\n int index = resTexRC.x * ${n[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${o});\n int c = imod(index, ${o}) * 2;\n\n return ivec3(b, r, c);\n }\n `}function Ptt(r,t,e){if(e)return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(outTexShape[0], outTexShape[1]));\n int index = resTexRC.x * outTexShape[1] + resTexRC.y;\n ${qc([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n`;let n=si([\"r\",\"c\",\"d\"],r);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${t[0]}, ${t[1]}));\n int index = resTexRC.x * ${t[1]} + resTexRC.y;\n ${n}\n return ivec3(r, c, d);\n }\n `}function Ltt(r,t,e){if(e)return`\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n `;let n=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],o=Math.ceil(r[r.length-1]/2),s=o*Math.ceil(r[r.length-2]/2),i=s,a=\"\",u=\"b, r, c\";for(let l=2;l=1?c=\"coords = 0;\":c=a.map(b=>`coords.${p[b+l]} = 0;`).join(`\n`);let m=\"\";i<2&&s>0?m=\"coords\":m=r.shapeInfo.logicalShape.map((b,w)=>`coords.${p[w+l]}`).join(\", \");let f=\"return outputValue;\",h=y.sizeFromShape(r.shapeInfo.logicalShape)===1,x=y.sizeFromShape(t.logicalShape)===1;if(s===1&&!h&&!x)f=`\n return vec4(outputValue.xy, outputValue.xy);\n `;else if(h&&!x)i===1?f=`\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n `:f=`\n return vec4(outputValue.x);\n `;else if(a.length){let b=s-2,w=s-1;a.indexOf(b)>-1&&a.indexOf(w)>-1?f=\"return vec4(outputValue.x);\":a.indexOf(b)>-1?f=\"return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);\":a.indexOf(w)>-1&&(f=\"return vec4(outputValue.xx, outputValue.zz);\")}return`\n vec4 ${o}() {\n ${u} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${n}(${m});\n ${f}\n }\n `}function ret(r,t){let e=r.name,n=e.charAt(0).toUpperCase()+e.slice(1),o=\"get\"+n+\"AtOutCoords\",s=t.texShape,i=r.shapeInfo.texShape,a=r.shapeInfo.logicalShape.length,u=t.logicalShape.length;if(!r.shapeInfo.isUniform&&a===u&&r.shapeInfo.flatOffset==null&&y.arraysEqual(i,s))return`\n float ${o}() {\n return sampleTexture(${e}, resultUV);\n }\n `;let l=Wt(u),c=cL(r.shapeInfo.logicalShape,t.logicalShape),p=u-a,m,f=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];a===0?m=\"\":u<2&&c.length>=1?m=\"coords = 0;\":m=c.map(h=>`coords.${f[h+p]} = 0;`).join(`\n`);let d=\"\";return u<2&&a>0?d=\"coords\":d=r.shapeInfo.logicalShape.map((h,g)=>`coords.${f[g+p]}`).join(\", \"),`\n float ${o}() {\n ${l} coords = getOutputCoords();\n ${m}\n return get${n}(${d});\n }\n `}function Wt(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 Mw(r,t,e){let{newShape:n,keptDims:o}=y.squeezeShape(t),s=t.length,i=r&&s===3&&t[0]===1,a=i?t.slice(1):n,u=!r&&s>1&&!y.arraysEqual(t,e)&&n.lengthr[e]).join(\", \")}function hL(r,t,e,n){let o=e.map((c,p)=>{let m={logicalShape:c.shape,texShape:c.isUniform?null:c.texData.texShape,isUniform:c.isUniform,isPacked:c.isUniform?!1:c.texData.isPacked,flatOffset:null};return c.texData!=null&&c.texData.slice!=null&&c.texData.slice.flatOffset>0&&(m.flatOffset=c.texData.slice.flatOffset),{name:t.variableNames[p],shapeInfo:m}}),s=o.map(c=>c.shapeInfo),i={logicalShape:n.shape,texShape:n.texData.texShape,isUniform:!1,isPacked:n.texData.isPacked,flatOffset:null},a=pL(o,i,t),u=PN(r.gl,a),l=r.createProgram(u);return B().get(\"ENGINE_COMPILE_ONLY\")?{program:t,fragmentShader:u,source:a,webGLProgram:l,inShapeInfos:s,outShapeInfo:i,uniformLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,inShapesLocations:null,inTexShapesLocations:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:Object.assign({program:t,fragmentShader:u,source:a,webGLProgram:l,inShapeInfos:s,outShapeInfo:i},tk(r,t,l))}function tk(r,t,e){let n={},o={},s={},i=[],a,u,l,c=null,p=null;p=r.getUniformLocation(e,\"NAN\",!1),B().getNumber(\"WEBGL_VERSION\")===1&&(c=r.getUniformLocation(e,\"INFINITY\",!1));let m=!1;for(let f=0;f{i[d]=r.getUniformLocation(e,f.name,m)}),{uniformLocations:n,customUniformLocations:i,infLoc:c,nanLoc:p,inShapesLocations:o,inTexShapesLocations:s,outShapeLocation:a,outShapeStridesLocation:l,outTexShapeLocation:u}}function dL(r,t){if(r.length!==t.length)throw Error(`Binary was compiled with ${r.length} inputs, but was executed with ${t.length} inputs`);r.forEach((e,n)=>{let o=e.logicalShape,s=t[n],i=s.shape;if(!y.arraysEqual(o,i))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${o} and ${i} must match`);if(e.isUniform&&s.isUniform)return;let a=e.texShape,u=s.isUniform?null:s.texData.texShape;if(!y.arraysEqual(a,u))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${a} and ${u} must match`)})}function gL(r,t,e,n,o){t.program.enableShapeUniforms||(dL(t.inShapeInfos,e),dL([t.outShapeInfo],[n]));let s=n.texData.texture,i=n.texData.texShape;n.texData.isPacked?r.setOutputPackedMatrixTexture(s.texture,i[0],i[1]):r.setOutputMatrixTexture(s.texture,i[0],i[1]),r.setProgram(t.webGLProgram),B().getNumber(\"WEBGL_VERSION\")===1&&t.infLoc!==null&&r.gl.uniform1f(t.infLoc,1/0),t.nanLoc!==null&&r.gl.uniform1f(t.nanLoc,NaN),e.forEach((u,l)=>{let c=t.program.variableNames[l],p=t.uniformLocations[c],m=t.uniformLocations[`offset${c}`],f=t.inShapesLocations[`${c}Shape`],d=t.inTexShapesLocations[`${c}TexShape`];if(f){let{uniformShape:h}=Mw(t.program.packedInputs,u.shape,u.texData.texShape);switch(h.length){case 1:r.gl.uniform1iv(f,new Int32Array(h));break;case 2:r.gl.uniform2iv(f,new Int32Array(h));break;case 3:r.gl.uniform3iv(f,new Int32Array(h));break;case 4:r.gl.uniform4iv(f,new Int32Array(h));break;default:break}}if(d&&r.gl.uniform2i(d,u.texData.texShape[0],u.texData.texShape[1]),p!=null){if(u.isUniform){if(y.sizeFromShape(u.shape)<2)r.gl.uniform1f(p,u.uniformValues[0]);else{let h=u.uniformValues;h instanceof Float32Array||(h=new Float32Array(h)),r.gl.uniform1fv(p,h)}return}u.texData.slice!=null&&m!=null&&r.gl.uniform1i(m,u.texData.slice.flatOffset),r.setInputMatrixTexture(u.texData.texture.texture,p,l)}});let a=t.outShapeLocation;if(a)switch(n.shape.length){case 1:r.gl.uniform1iv(a,new Int32Array(n.shape));break;case 2:r.gl.uniform2iv(a,new Int32Array(n.shape));break;case 3:r.gl.uniform3iv(a,new Int32Array(n.shape));break;case 4:r.gl.uniform4iv(a,new Int32Array(n.shape));break;default:break}if(t.outShapeStridesLocation){let u=y.computeStrides(n.shape);switch(n.shape.length){case 2:r.gl.uniform1iv(t.outShapeStridesLocation,new Int32Array(u));break;case 3:r.gl.uniform2iv(t.outShapeStridesLocation,new Int32Array(u));break;case 4:r.gl.uniform3iv(t.outShapeStridesLocation,new Int32Array(u));break;default:break}}t.outTexShapeLocation&&r.gl.uniform2i(t.outTexShapeLocation,n.texData.texShape[0],n.texData.texShape[1]),t.program.customUniforms&&o&&t.program.customUniforms.forEach((u,l)=>{let c=t.customUniformLocations[l],p=o[l];if(u.type===\"float\")r.gl.uniform1fv(c,p);else if(u.type===\"vec2\")r.gl.uniform2fv(c,p);else if(u.type===\"vec3\")r.gl.uniform3fv(c,p);else if(u.type===\"vec4\")r.gl.uniform4fv(c,p);else if(u.type===\"int\")r.gl.uniform1iv(c,p);else if(u.type===\"ivec2\")r.gl.uniform2iv(c,p);else if(u.type===\"ivec3\")r.gl.uniform3iv(c,p);else if(u.type===\"ivec4\")r.gl.uniform4iv(c,p);else throw Error(`uniform type ${u.type} is not supported yet.`)}),r.executeProgram()}function xL(r,t,e){let n=\"\";t.concat(e).forEach(i=>{let a=i.texData!=null&&i.texData.slice!=null&&i.texData.slice.flatOffset>0;if(r.enableShapeUniforms&&!i.isUniform){let u=i.texData.texShape,{useSqueezeShape:l,uniformShape:c,keptDims:p}=Mw(r.packedInputs,i.shape,u),m=\"\",f=\"\",d=\"\";if(c.length===1&&r.packedInputs){let T=[Math.ceil(u[0]/2),Math.ceil(u[1]/2)];m=`${T[0]>1}_${T[1]>1}`}else if(c.length===2&&!r.packedInputs)f=`${c[0]>1}_${c[1]>1}`;else if(c.length>2&&!r.packedInputs){let T=y.computeStrides(c);d=`${T[0]===u[1]}_${T[T.length-1]===u[1]}`}let h=i.shape.length,g=c.length===2&&y.arraysEqual(i.shape,u),x=y.sizeFromShape(i.shape)===1,b=S.getBroadcastDims(i.shape,e.shape),w=!r.packedInputs&&h===e.shape.length&&y.arraysEqual(u,e.texData.texShape),C=r.packedInputs||c.length>2?\"\":`${u[0]>1}_${u[1]>1}`;n+=`${h}_${w}_${l?p:\"\"}_${c.length}_${x}_${b}_${g}_${m}_${f}_${d}_${C}_${a}`}else{let u=i.isUniform?\"uniform\":i.texData.texShape;n+=`${i.shape}_${u}_${a}`}});let o=r.userCode,s=r.constructor.name;return s+=\"_\"+n+\"_\"+o+`${B().getNumber(\"WEBGL_VERSION\")}`,s}function ve(r){return B().getBool(\"WEBGL_USE_SHAPES_UNIFORMS\")&&r<=4}var zw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=ku.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let e=He();this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?qc([\"r\",\"c\",\"d\"],t):si([\"r\",\"c\",\"d\"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${e.output} = result;\n }\n `}};var Bw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=ku.DENSE,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let e=He();this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?qc([\"r\",\"c\",\"d\"],t):si([\"r\",\"c\",\"d\"],t)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${e.output} = result;\n }\n `}};var Vw=class{constructor(t){this.variableNames=[\"A\"],this.outTexUsage=Hr.DOWNLOAD;let e=He();this.outputShape=t,this.userCode=`\n ${Lw}\n\n void main() {\n float x = getAAtOutCoords();\n ${e.output} = encode_float(x);\n }\n `}};var Gw=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=Hr.DOWNLOAD;let e=He();this.outputShape=t,this.userCode=`\n ${Lw}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${e.output} = encode_float(x);\n }\n `}};var Ww=class{constructor(t,e=!1){this.variableNames=[\"A\"],this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let n=He();this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length);let o=\"result\";e&&(o=\"floor(result * 255. + 0.5)\"),this.userCode=`\n ${this.enableShapeUniforms?Td():Sd(t)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n int flatIndex = getFlatIndex(coords);\n int offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n vec4 values = ${n.texture2D}(A, uv);\n\n float result;\n\n if(offset == 0) {\n result = values[0];\n } else if(offset == 1) {\n result = values[1];\n } else if(offset == 2) {\n result = values[2];\n } else {\n result = values[3];\n }\n\n ${n.output} = vec4(${o}, 0., 0., 0.);\n }\n `}};var Uw=class{constructor(t,e=!1){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0,this.customUniforms=[{name:\"texShape\",type:\"ivec2\"}];let n=He();this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length);let o=\"\",s=\"result\";e&&(s=\"floor(result * 255. + 0.5)\");for(let i=0;i<=1;i++)for(let a=0;a<=1;a++){let u=i*2+a;o+=`\n localCoords = coords;\n if(localCoords[2] + ${a} < ${this.enableShapeUniforms?\"outShape[2]\":`${t[2]}`}) {\n localCoords[2] += ${a};\n if (localCoords[1] + ${i} < ${this.enableShapeUniforms?\"outShape[1]\":`${t[1]}`}) {\n localCoords[1] += ${i};\n\n flatIndex = getFlatIndex(localCoords);\n offset = imod(flatIndex, 4);\n\n flatIndex = idiv(flatIndex, 4, 1.);\n\n int r = flatIndex / texShape[1];\n int c = imod(flatIndex, texShape[1]);\n vec2 uv = (vec2(c, r) + halfCR) / vec2(texShape[1], texShape[0]);\n values = ${n.texture2D}(A, uv);\n\n if (offset == 0) {\n result[${u}] = values[0];\n } else if (offset == 1) {\n result[${u}] = values[1];\n } else if (offset == 2) {\n result[${u}] = values[2];\n } else {\n result[${u}] = values[3];\n }\n }\n }\n `}this.userCode=`\n ${this.enableShapeUniforms?Td():Sd(t)}\n\n void main() {\n ivec3 coords = getOutputCoords();\n\n vec4 result = vec4(0.);\n int flatIndex, r, c, offset;\n ivec3 localCoords;\n vec2 uv;\n vec4 values;\n\n ${o}\n\n ${n.output} = ${s};\n }\n `}};var xk={};jt(xk,{bindVertexProgramAttributeStreams:()=>uk,createBufferFromOutputTexture:()=>mk,createFloat16MatrixTexture:()=>sk,createFloat16PackedMatrixTexture:()=>lk,createFloat32MatrixTexture:()=>ok,createIndexBuffer:()=>nk,createPackedMatrixTexture:()=>ak,createUnsignedBytesMatrixTexture:()=>ik,createVertexBuffer:()=>rk,createVertexShader:()=>ek,downloadByteEncodedFloatMatrixFromOutputTexture:()=>dk,downloadFloat32MatrixFromBuffer:()=>fk,downloadMatrixFromPackedOutputTexture:()=>gk,downloadPackedMatrixFromBuffer:()=>hk,getInternalFormatForFloat16MatrixTexture:()=>qw,getInternalFormatForFloat16PackedMatrixTexture:()=>Xw,getInternalFormatForFloat32MatrixTexture:()=>Hw,getInternalFormatForPackedMatrixTexture:()=>jw,getInternalFormatForUnsignedBytesMatrixTexture:()=>Kw,uploadDenseMatrixToTexture:()=>ck,uploadPixelDataToTexture:()=>pk});function ek(r){let t=He(),e=`${t.version}\n precision highp float;\n ${t.attribute} vec3 clipSpacePos;\n ${t.attribute} vec2 uv;\n ${t.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`;return ON(r,e)}function rk(r){let t=new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]);return zN(r,t)}function nk(r){let t=new Uint16Array([0,1,2,2,1,3]);return BN(r,t)}function lg(r,t,e,n,o,s){GN(t,e);let i=VN(r),a=r.TEXTURE_2D;return Ct(r,()=>r.bindTexture(a,i)),Ct(r,()=>r.texParameteri(a,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE)),Ct(r,()=>r.texParameteri(a,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE)),Ct(r,()=>r.texParameteri(a,r.TEXTURE_MIN_FILTER,r.NEAREST)),Ct(r,()=>r.texParameteri(a,r.TEXTURE_MAG_FILTER,r.NEAREST)),B().getNumber(\"WEBGL_VERSION\")===1?Ct(r,()=>r.texImage2D(a,0,n,t,e,0,o,s,null)):Ct(r,()=>r.texStorage2D(a,1,n,t,e)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,null)),{texture:i,texShape:[e,t]}}function Hw(r){return r.internalFormatFloat}function ok(r,t,e,n){let[o,s]=Hc(t,e);return lg(r,o,s,Hw(n),n.textureFormatFloat,r.FLOAT)}function qw(r){return r.internalFormatHalfFloat}function sk(r,t,e,n){let[o,s]=Hc(t,e);return lg(r,o,s,qw(n),n.textureFormatFloat,n.textureTypeHalfFloat)}function Kw(r){return r.downloadTextureFormat}function ik(r,t,e,n){let[o,s]=Hc(t,e);return lg(r,o,s,Kw(n),r.RGBA,r.UNSIGNED_BYTE)}function jw(r){return r.internalFormatPackedFloat}function ak(r,t,e,n){let[o,s]=ea(t,e);return lg(r,o,s,jw(n),r.RGBA,r.FLOAT)}function Xw(r){return r.internalFormatPackedHalfFloat}function lk(r,t,e,n){let[o,s]=ea(t,e);return lg(r,o,s,Xw(n),r.RGBA,n.textureTypeHalfFloat)}function uk(r,t,e){return Ct(r,()=>r.bindBuffer(r.ARRAY_BUFFER,e)),Fw(r,t,\"clipSpacePos\",e,3,20,0)&&Fw(r,t,\"uv\",e,2,20,12)}function ck(r,t,e,n,o,s){Ct(r,()=>r.bindTexture(r.TEXTURE_2D,t));let i,a,u;o instanceof Uint8Array?(i=new Uint8Array(e*n*4),a=r.UNSIGNED_BYTE,u=r.RGBA):(i=new Float32Array(e*n*4),a=r.FLOAT,u=s.internalFormatPackedFloat),i.set(o),B().getNumber(\"WEBGL_VERSION\")===2?Ct(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,e,n,r.RGBA,a,i)):Ct(r,()=>r.texImage2D(r.TEXTURE_2D,0,u,e,n,0,r.RGBA,a,i)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function pk(r,t,e){Ct(r,()=>r.bindTexture(r.TEXTURE_2D,t)),e.data instanceof Uint8Array?B().getNumber(\"WEBGL_VERSION\")===2?Ct(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,e.width,e.height,r.RGBA,r.UNSIGNED_BYTE,e.data)):Ct(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e.width,e.height,0,r.RGBA,r.UNSIGNED_BYTE,e.data)):B().getNumber(\"WEBGL_VERSION\")===2?Ct(r,()=>r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,e)):Ct(r,()=>r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e)),Ct(r,()=>r.bindTexture(r.TEXTURE_2D,null))}function mk(r,t,e,n){let o=r.createBuffer();Ct(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,o));let a=4*4*t*e;return Ct(r,()=>r.bufferData(r.PIXEL_PACK_BUFFER,a,r.STREAM_READ)),Ct(r,()=>r.readPixels(0,0,e,t,r.RGBA,r.FLOAT,0)),Ct(r,()=>r.bindBuffer(r.PIXEL_PACK_BUFFER,null)),o}function fk(r,t,e){let n=r,o=new Float32Array(e);return n.bindBuffer(n.PIXEL_PACK_BUFFER,t),n.getBufferSubData(n.PIXEL_PACK_BUFFER,0,o),n.bindBuffer(n.PIXEL_PACK_BUFFER,null),o}function dk(r,t,e,n){let[o,s]=Hc(t,e),i=4,a=new Uint8Array(nL(t*e,i));return Ct(r,()=>r.readPixels(0,0,o,s,n.downloadTextureFormat,r.UNSIGNED_BYTE,a)),new Float32Array(a.buffer)}function hk(r,t,e,n,o,s,i,a){let u=r,l=new Float32Array(oL(s,i));return u.bindBuffer(u.PIXEL_PACK_BUFFER,t),u.getBufferSubData(u.PIXEL_PACK_BUFFER,0,l),u.bindBuffer(u.PIXEL_PACK_BUFFER,null),l}function gk(r,t,e){let n=new Float32Array(t*e*4);return Ct(r,()=>r.readPixels(0,0,e,t,r.RGBA,r.FLOAT,n)),n}var jc=class{constructor(t){this.outputTexture=null,this.program=null,this.disposed=!1,this.vertexAttrsAreBound=!1,this.itemsToPoll=[];let e=B().getNumber(\"WEBGL_VERSION\");t!=null?(this.gl=t,$N(e,t)):this.gl=Gn(e);let n=\"WEBGL_color_buffer_float\",o=\"EXT_color_buffer_half_float\";if(this.parallelCompilationExtension=this.gl.getExtension(\"KHR_parallel_shader_compile\"),B().getNumber(\"WEBGL_VERSION\")===1){let s=\"OES_texture_float\",i=\"OES_texture_half_float\";if(this.textureFloatExtension=Cd(this.gl,s),Wn(this.gl,i))this.textureHalfFloatExtension=Cd(this.gl,i);else if(B().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),Wn(this.gl,o))this.colorBufferHalfFloatExtension=Cd(this.gl,o);else if(B().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\",Wn(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else if(Wn(this.gl,o))this.colorBufferHalfFloatExtension=this.gl.getExtension(o);else throw new Error(\"GL context does not support color renderable floats\");this.vertexBuffer=rk(this.gl),this.indexBuffer=nk(this.gl),this.framebuffer=WN(this.gl),this.textureConfig=og(this.gl,this.textureHalfFloatExtension)}get debug(){return B().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 t=this.gl;Ct(t,()=>t.finish()),Ct(t,()=>t.bindFramebuffer(t.FRAMEBUFFER,null)),Ct(t,()=>t.deleteFramebuffer(this.framebuffer)),Ct(t,()=>t.bindBuffer(t.ARRAY_BUFFER,null)),Ct(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)),Ct(t,()=>t.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(t,e){return this.throwIfDisposed(),ok(this.gl,t,e,this.textureConfig)}createFloat16MatrixTexture(t,e){return this.throwIfDisposed(),sk(this.gl,t,e,this.textureConfig)}createUnsignedBytesMatrixTexture(t,e){return this.throwIfDisposed(),ik(this.gl,t,e,this.textureConfig)}uploadPixelDataToTexture(t,e){this.throwIfDisposed(),pk(this.gl,t,e)}uploadDenseMatrixToTexture(t,e,n,o){this.throwIfDisposed(),ck(this.gl,t,e,n,o,this.textureConfig)}createFloat16PackedMatrixTexture(t,e){return this.throwIfDisposed(),lk(this.gl,t,e,this.textureConfig)}createPackedMatrixTexture(t,e){return this.throwIfDisposed(),ak(this.gl,t,e,this.textureConfig)}deleteMatrixTexture(t){this.throwIfDisposed(),this.outputTexture===t&&(Ow(this.gl,this.framebuffer),this.outputTexture=null),Ct(this.gl,()=>this.gl.deleteTexture(t))}downloadByteEncodedFloatMatrixFromOutputTexture(t,e,n){return this.downloadMatrixDriver(t,()=>dk(this.gl,e,n,this.textureConfig))}downloadPackedMatrixFromBuffer(t,e,n,o,s,i){return hk(this.gl,t,e,n,o,s,i,this.textureConfig)}downloadFloat32MatrixFromBuffer(t,e){return fk(this.gl,t,e)}createBufferFromTexture(t,e,n){this.bindTextureToFrameBuffer(t);let o=mk(this.gl,e,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),o}createAndWaitForFence(){let t=this.createFence(this.gl);return this.pollFence(t)}createFence(t){let e,n;if(B().getBool(\"WEBGL_FENCE_API_ENABLED\")){let o=t,s=o.fenceSync(o.SYNC_GPU_COMMANDS_COMPLETE,0);t.flush(),n=()=>{let i=o.clientWaitSync(s,0,0);return i===o.ALREADY_SIGNALED||i===o.CONDITION_SATISFIED},e=s}else B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")>0?(e=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(e,B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))):n=()=>!0;return{query:e,isFencePassed:n}}downloadMatrixFromPackedTexture(t,e,n){return this.downloadMatrixDriver(t,()=>gk(this.gl,e,n))}createProgram(t){this.throwIfDisposed();let e=this.gl;this.vertexShader==null&&(this.vertexShader=ek(e));let n=LN(e);return Ct(e,()=>e.attachShader(n,this.vertexShader)),Ct(e,()=>e.attachShader(n,t)),MN(e,n),this.debug&&sg(e,n),this.vertexAttrsAreBound||(this.setProgram(n),this.vertexAttrsAreBound=uk(e,this.program,this.vertexBuffer)),n}deleteProgram(t){this.throwIfDisposed(),t===this.program&&(this.program=null),t!=null&&Ct(this.gl,()=>this.gl.deleteProgram(t))}setProgram(t){this.throwIfDisposed(),this.program=t,this.program!=null&&this.debug&&sg(this.gl,this.program),Ct(this.gl,()=>this.gl.useProgram(t))}getUniformLocation(t,e,n=!0){return this.throwIfDisposed(),n?UN(this.gl,t,e):HN(this.gl,t,e)}getAttributeLocation(t,e){return this.throwIfDisposed(),Ct(this.gl,()=>this.gl.getAttribLocation(t,e))}getUniformLocationNoThrow(t,e){return this.throwIfDisposed(),this.gl.getUniformLocation(t,e)}setInputMatrixTexture(t,e,n){this.throwIfDisposed(),this.throwIfNoProgram(),qN(this.gl,t,e,n)}setOutputMatrixTexture(t,e,n){this.setOutputMatrixTextureDriver(t,n,e)}setOutputPackedMatrixTexture(t,e,n){this.throwIfDisposed();let[o,s]=ea(e,n);this.setOutputMatrixTextureDriver(t,o,s)}setOutputMatrixWriteRegion(t,e,n,o){this.setOutputMatrixWriteRegionDriver(n,t,o,e)}setOutputPackedMatrixWriteRegion(t,e,n,o){throw new Error(\"setOutputPackedMatrixWriteRegion not implemented.\")}debugValidate(){this.program!=null&&sg(this.gl,this.program),vd(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();let t=this.gl;this.debug&&this.debugValidate(),Ct(t,()=>t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),Ct(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return this.disjointQueryTimerExtension==null&&(this.disjointQueryTimerExtension=Cd(this.gl,B().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(B().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 t=this.getQueryTimerExtensionWebGL1(),e=t.createQueryEXT();return t.beginQueryEXT(t.TIME_ELAPSED_EXT,e),e}endQuery(){if(B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\")===2){let e=this.gl,n=this.getQueryTimerExtensionWebGL2();e.endQuery(n.TIME_ELAPSED_EXT);return}let t=this.getQueryTimerExtensionWebGL1();t.endQueryEXT(t.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(t){return await y.repeatedTry(()=>this.disposed||this.isQueryAvailable(t,B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))),this.getQueryTime(t,B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION\"))}getQueryTime(t,e){if(e===0)return null;if(e===2){let n=this.gl;return n.getQueryParameter(t,n.QUERY_RESULT)/1e6}else{let n=this.getQueryTimerExtensionWebGL1();return n.getQueryObjectEXT(t,n.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(t,e){if(e===0)return!0;if(e===2){let n=this.gl,o=this.getQueryTimerExtensionWebGL2(),s=n.getQueryParameter(t,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(t,n.QUERY_RESULT_AVAILABLE_EXT);return this.disjoint==null&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),o&&!this.disjoint}}pollFence(t){return new Promise(e=>{this.addItemToPoll(()=>t.isFencePassed(),()=>e())})}pollItems(){let t=set(this.itemsToPoll.map(e=>e.isDoneFn));for(let e=0;e<=t;++e){let{resolveFn:n}=this.itemsToPoll[e];n()}this.itemsToPoll=this.itemsToPoll.slice(t+1)}addItemToPoll(t,e){this.itemsToPoll.push({isDoneFn:t,resolveFn:e}),!(this.itemsToPoll.length>1)&&y.repeatedTry(()=>(this.pollItems(),this.itemsToPoll.length===0))}bindTextureToFrameBuffer(t){this.throwIfDisposed(),ig(this.gl,t,this.framebuffer),this.debug&&vd(this.gl)}unbindTextureToFrameBuffer(){this.outputTexture!=null?(ig(this.gl,this.outputTexture,this.framebuffer),this.debug&&vd(this.gl)):Ow(this.gl,this.framebuffer)}downloadMatrixDriver(t,e){this.bindTextureToFrameBuffer(t);let n=e();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(t,e,n){this.throwIfDisposed();let o=this.gl;ig(o,t,this.framebuffer),this.debug&&vd(o),this.outputTexture=t,Ct(o,()=>o.viewport(0,0,e,n)),Ct(o,()=>o.scissor(0,0,e,n))}setOutputMatrixWriteRegionDriver(t,e,n,o){this.throwIfDisposed(),Ct(this.gl,()=>this.gl.scissor(t,e,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 set(r){let t=0;for(;t`${r}.${e}`)}function tr(r,t){return t===1?[r]:yk(r,t)}function sM(r,t){if(r===1)return\"rc\";let e=\"\";for(let n=0;n ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]}`;let e=\"\";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${o};\n `}getOutput(t){let e=this.getSourceCoordsArr(t);return this.rank===1?`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?\"outShape\":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`:`getA(${e[0]}),\n cEdge ? 0. : getA(${e[1]}),\n rEdge ? 0. : getA(${e[2]}),\n rEdge || cEdge ? 0. : getA(${e[3]})`}};var $d=class{constructor(t,e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"inputShape\",type:\"ivec3\"}],this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length);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+=`\n ${s}\n ${o>0?\"if(thisRC.y < rows && thisRC.z < cols){\":\"\"}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${o}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${o>0?\"}\":\"\"}\n `}this.userCode=`\n ${iet(e,this.enableShapeUniforms)}\n ${this.enableShapeUniforms?Td():Sd(t)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?\"outShape[1]\":t[1]};\n int cols = ${this.enableShapeUniforms?\"outShape[2]\":t[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}};function iet(r,t){return`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${t?uL([\"r\",\"c\",\"d\"],\"inputShape\"):si([\"r\",\"c\",\"d\"],r)}\n return ivec3(r, c, d);\n }\n `}var tC=class{constructor(t){this.gpgpu=t,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(t,e,n){let o=aM(e,n),s=lM(t,o,n);s in this.freeTextures||(this.freeTextures[s]=[]),s in this.usedTextures||(this.usedTextures[s]=[]);let i=iM(t,o,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[s].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=i,this.log();let u=this.freeTextures[s].shift();return this.usedTextures[s].push(u),u}let a;return o===Fr.PACKED_2X2_FLOAT32?a=this.gpgpu.createPackedMatrixTexture(t[0],t[1]):o===Fr.PACKED_2X2_FLOAT16?a=this.gpgpu.createFloat16PackedMatrixTexture(t[0],t[1]):o===Fr.UNPACKED_FLOAT32?a=this.gpgpu.createFloat32MatrixTexture(t[0],t[1]):o===Fr.UNPACKED_FLOAT16?a=this.gpgpu.createFloat16MatrixTexture(t[0],t[1]):o===Fr.PACKED_4X1_UNSIGNED_BYTE&&(a=this.gpgpu.createUnsignedBytesMatrixTexture(t[0],t[1])),this.usedTextures[s].push(a),this.numUsedTextures++,this._numBytesAllocated+=i,this.log(),a}releaseTexture(t,e,n,o){if(this.freeTextures==null)return;let s=aM(n,o),i=lM(e,s,o);i in this.freeTextures||(this.freeTextures[i]=[]);let a=iM(e,s,this.gpgpu.gl,this.gpgpu.textureConfig,o),u=B().get(\"WEBGL_DELETE_TEXTURE_THRESHOLD\");u!==-1&&this._numBytesAllocated>u?(this.gpgpu.deleteMatrixTexture(t.texture),this._numBytesAllocated-=a):(this.freeTextures[i].push(t),this.numFreeTextures++,this._numBytesFree+=a),this.numUsedTextures--;let l=this.usedTextures[i],c=l.indexOf(t);if(c<0)throw new Error(\"Cannot release a texture that was never provided by this texture manager\");l.splice(c,1),this.log()}log(){if(!this.logEnabled)return;let t=this.numFreeTextures+this.numUsedTextures;console.log(\"Free/Used\",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${t})`);let e=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*e)}%)`)}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 t in this.freeTextures)this.freeTextures[t].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});for(let t in this.usedTextures)this.usedTextures[t].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}};function aet(r,t){let e=r;if(t===e.R32F)return 4;if(t===e.R16F)return 2;if(t===e.RGBA32F)return 16;if(t===r.RGBA)return 16;if(t===e.RGBA16F)return 8;if(t===e.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}function iM(r,t,e,n,o){let s=uet(t,n),i;if(o){let[u,l]=ea(r[0],r[1]);i=u*l}else{let[u,l]=Hc(r[0],r[1]);i=u*l}let a=aet(e,s);return i*a}function uet(r,t){switch(r){case Fr.PACKED_2X2_FLOAT32:return jw(t);case Fr.PACKED_2X2_FLOAT16:return Xw(t);case Fr.UNPACKED_FLOAT32:return Hw(t);case Fr.UNPACKED_FLOAT16:return qw(t);case Fr.PACKED_4X1_UNSIGNED_BYTE:return Kw(t);default:throw new Error(`Unknown physical texture type ${r}`)}}function cet(r){return B().getBool(\"WEBGL_RENDER_FLOAT32_ENABLED\")?r?Fr.PACKED_2X2_FLOAT32:Fr.UNPACKED_FLOAT32:r?Fr.PACKED_2X2_FLOAT16:Fr.UNPACKED_FLOAT16}function aM(r,t){if(r===Hr.UPLOAD)return Fr.PACKED_2X2_FLOAT32;if(r===Hr.RENDER||r==null)return cet(t);if(r===Hr.DOWNLOAD||r===Hr.PIXELS)return Fr.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${r}`)}function lM(r,t,e){return`${r[0]}_${r[1]}_${t}_${e}`}var Zr=class{constructor(t,e){this.variableNames=[\"A\"],this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${e}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}},fr=\"if (isnan(x)) return x;\",uM=\"return x;\",bk=\"return abs(x);\";var cM=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",pM=fr+`\n return (x < 0.0) ? 0.0 : x;\n`,mM=fr+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,Yc=\"return x;\",fM=\"return 1.0 / (1.0 + exp(-1.0 * x));\";var hM=\"return x;\",gM=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,xM=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,yM=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,bM=\"return 1.0 / (1.0 + exp(-1.0 * x));\",ro=class{constructor(t,e){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${e}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}};var eC=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=t,this.enableShapeUniforms=ve(this.outputShape.length);let e=t.length,n=tr(\"rc\",e),o=Wt(e),s=sM(e,n),i=n.slice(-2),a=e<=1?\"rc\":`vec2(${i.join(\",\")})`;this.userCode=`\n void main() {\n ${o} rc = getOutputCoords();\n vec4 packedInput = getA(${s});\n\n setOutput(getChannel(packedInput, ${a}));\n }\n `}};var met=Vr.whereImpl,fet=1e-7,det=1e-4,rC={};function het(r){return r in rC||(rC[r]={}),rC[r]}var get=B().getNumber(\"CPU_HANDOFF_SIZE_THRESHOLD\"),xet=600;function yet(){return B().global.screen==null?1024:B().global.screen.height*B().global.screen.width*window.devicePixelRatio*xet/1024/1024}var Eu=class extends Ho{constructor(t){if(super(),this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.lastGlFlushTime=0,this.warnedAboutMemory=!1,this.pendingDeletes=0,this.disposed=!1,!B().getBool(\"HAS_WEBGL\"))throw new Error(\"WebGL is not supported on this device\");let e;if(t!=null){if(t instanceof jc)e=t;else{let n=Gn(B().getNumber(\"WEBGL_VERSION\"),t);e=new jc(n)}this.binaryCache={},this.gpgpuCreatedLocally=!1}else{let n=Gn(B().getNumber(\"WEBGL_VERSION\"));e=new jc(n),this.binaryCache=het(B().getNumber(\"WEBGL_VERSION\")),this.gpgpuCreatedLocally=!0}this.gpgpu=e,this.canvas=this.gpgpu.gl.canvas,this.textureManager=new tC(this.gpgpu),this.numMBBeforeWarning=yet(),this.texData=new ra(this,go())}nextDataId(){return Eu.nextDataId++}numDataIds(){return this.texData.numDataIds()-this.pendingDeletes}write(t,e,n){if((B().getBool(\"WEBGL_CHECK_NUMERICAL_PROBLEMS\")||B().getBool(\"DEBUG\"))&&this.checkNumericalProblems(t),n===\"complex64\"&&t!=null)throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");let o={id:this.nextDataId()};return this.texData.set(o,{shape:e,dtype:n,values:t,usage:Hr.UPLOAD,refCount:1}),o}refCount(t){return this.texData.has(t)?this.texData.get(t).refCount:0}incRef(t){let e=this.texData.get(t);e.refCount++}decRef(t){if(this.texData.has(t)){let e=this.texData.get(t);e.refCount--}}move(t,e,n,o,s){if(B().getBool(\"DEBUG\")&&this.checkNumericalProblems(e),o===\"complex64\")throw new Error(\"Cannot write to a complex64 dtype. Please use tf.complex(real, imag).\");this.texData.set(t,{shape:n,dtype:o,values:e,usage:Hr.UPLOAD,refCount:s})}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}readSync(t){let e=this.texData.get(t),{values:n,dtype:o,complexTensorInfos:s,slice:i,shape:a,isPacked:u}=e;if(i!=null){let m;u?m=new ro(a,Yc):m=new Zr(a,Yc);let f=this.runWebGLProgram(m,[{dataId:t,shape:a,dtype:o}],o),d=this.readSync(f.dataId);return this.disposeIntermediateTensorInfo(f),d}if(n!=null)return this.convertAndCacheOnCPU(t);if(o===\"string\")return n;let l=this.activeTimers!=null,c;l&&(c=y.now());let p;if(o===\"complex64\"){let m=this.readSync(s.real.dataId),f=this.readSync(s.imag.dataId);p=S.mergeRealAndImagArrays(m,f)}else p=this.getValuesFromTexture(t);return l&&(this.downloadWaitMs+=y.now()-c),this.convertAndCacheOnCPU(t,p)}async read(t){if(this.pendingRead.has(t)){let d=this.pendingRead.get(t);return new Promise(h=>d.push(h))}let e=this.texData.get(t),{values:n,shape:o,slice:s,dtype:i,complexTensorInfos:a,isPacked:u}=e;if(s!=null){let d;u?d=new ro(o,Yc):d=new Zr(o,Yc);let h=this.runWebGLProgram(d,[{dataId:t,shape:o,dtype:i}],i),g=this.read(h.dataId);return this.disposeIntermediateTensorInfo(h),g}if(n!=null)return this.convertAndCacheOnCPU(t);if(B().getBool(\"DEBUG\")&&!B().getBool(\"WEBGL_DOWNLOAD_FLOAT_ENABLED\")&&B().getNumber(\"WEBGL_VERSION\")===2)throw new Error(\"tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.\");let l=null,c;if(i!==\"complex64\"&&B().get(\"WEBGL_BUFFER_SUPPORTED\")){c=this.decode(t);let d=this.texData.get(c.dataId);l=this.gpgpu.createBufferFromTexture(d.texture.texture,...ng(o))}this.pendingRead.set(t,[]),i!==\"complex64\"&&await this.gpgpu.createAndWaitForFence();let p;if(i===\"complex64\"){let d=await Promise.all([this.read(a.real.dataId),this.read(a.imag.dataId)]),h=d[0],g=d[1];p=S.mergeRealAndImagArrays(h,g)}else if(l==null)p=this.getValuesFromTexture(t);else{let d=y.sizeFromShape(o);p=this.gpgpu.downloadFloat32MatrixFromBuffer(l,d)}if(c!=null&&this.disposeIntermediateTensorInfo(c),l!=null){let d=this.gpgpu.gl;Ct(d,()=>d.deleteBuffer(l))}let m=this.convertAndCacheOnCPU(t,p),f=this.pendingRead.get(t);return this.pendingRead.delete(t),f.forEach(d=>d(m)),this.pendingDisposal.has(t)&&(this.pendingDisposal.delete(t),this.disposeData(t)&&go().removeDataId(t,this),this.pendingDeletes--),m}readToGPU(t,e={}){let n=this.texData.get(t),{values:o,shape:s,slice:i,dtype:a,isPacked:u,texture:l}=n;if(a===\"complex64\")throw new Error(\"Does not support reading texture for complex64 dtype.\");if(i!=null){let f;u?f=new ro(s,Yc):f=new Zr(s,Yc);let d=this.runWebGLProgram(f,[{dataId:t,shape:s,dtype:a}],a),h=this.readToGPU(d,e);return this.disposeIntermediateTensorInfo(d),h}if(l==null)throw o!=null?new Error(\"Data is not on GPU but on CPU.\"):new Error(\"There is no data on GPU or CPU.\");let c=this.decode(t,e.customTexShape),p=go().makeTensorFromTensorInfo(c),m=this.texData.get(c.dataId);return Object.assign({tensorRef:p},m.texture)}bufferSync(t){let e=this.readSync(t.dataId);if(t.dtype===\"string\")try{let n=e.map(o=>y.decodeString(o));return vt(t.shape,t.dtype,n)}catch(n){throw new Error(\"Failed to decode encoded string bytes into utf-8\")}return vt(t.shape,t.dtype,e)}checkNumericalProblems(t){if(t!=null)for(let e=0;e0}time(t){let e=this.activeTimers,n=[],o=!1;this.programTimersStack==null?(this.programTimersStack=n,o=!0):this.activeTimers.push(n),this.activeTimers=n,t();let s=y.flatten(this.activeTimers.map(u=>u.query)).filter(u=>u!=null),i=y.flatten(this.activeTimers.map(u=>u.name)).filter(u=>u!=null);this.activeTimers=e,o&&(this.programTimersStack=null);let a={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if(B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0){let u=await Promise.all(s);a.kernelMs=y.sum(u),a.getExtraProfileInfo=()=>u.map((l,c)=>({name:i[c],ms:l})).map(l=>`${l.name}: ${l.ms}`).join(\", \")}else a.kernelMs={error:\"WebGL query timers are not supported in this environment.\"};return this.uploadWaitMs=0,this.downloadWaitMs=0,a})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?this.gpgpu.beginQuery():{startMs:y.now(),endMs:null}}endTimer(t){return B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0?(this.gpgpu.endQuery(),t):(t.endMs=y.now(),t)}async getQueryTime(t){if(B().getNumber(\"WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE\")>0)return this.gpgpu.waitForQueryAndGetTime(t);let e=t;return e.endMs-e.startMs}disposeData(t,e=!1){if(this.pendingDisposal.has(t))return!1;if(!this.texData.has(t))return!0;if(e?this.texData.get(t).refCount=0:this.texData.get(t).refCount--,!e&&this.texData.get(t).refCount>0)return!1;if(this.pendingRead.has(t))return this.pendingDisposal.add(t),this.pendingDeletes++,!1;this.releaseGPUData(t);let{complexTensorInfos:n}=this.texData.get(t);return n!=null&&(this.disposeData(n.real.dataId,e),this.disposeData(n.imag.dataId,e)),this.texData.delete(t),!0}releaseGPUData(t){let{texture:e,dtype:n,texShape:o,usage:s,isPacked:i,slice:a}=this.texData.get(t),u=a&&a.origDataId||t,l=this.dataRefCount.get(u);l>1?this.dataRefCount.set(u,l-1):(this.dataRefCount.delete(u),e!=null&&(this.numBytesInGPU-=this.computeBytes(o,n),this.textureManager.releaseTexture(e,o,s,i)));let c=this.texData.get(t);c.texture=null,c.texShape=null,c.isPacked=!1,c.slice=null}getTexture(t){return this.uploadToGPU(t),this.texData.get(t).texture.texture}getDataInfo(t){return this.texData.get(t)}shouldExecuteOnCPU(t,e=get){return B().getBool(\"WEBGL_CPU_FORWARD\")&&t.every(n=>this.texData.get(n.dataId).texture==null&&y.sizeFromShape(n.shape)0&&y.isString(n[0])){let s=n.map(i=>y.encodeString(i));o=this.write(s,t,e)}else o=this.write(n,t,e);return this.texData.get(o).usage=null,{dataId:o,shape:t,dtype:e}}makeOutput(t,e,n){return go().makeTensorFromTensorInfo(this.makeTensorInfo(t,e,n),this)}unpackTensor(t){let e=new eC(t.shape);return this.runWebGLProgram(e,[t],t.dtype)}packTensor(t){let e=new Qw(t.shape),n=!0;return this.runWebGLProgram(e,[t],t.dtype,null,n)}packedReshape(t,e){let n=[gl(t.shape),...xl(t.shape)],o={dtype:t.dtype,shape:n,dataId:t.dataId},s=[gl(e),...xl(e)],i=new $d(s,n),a=!0,u=[n],l=this.runWebGLProgram(i,[o],t.dtype,u,a);return{dataId:l.dataId,shape:e,dtype:l.dtype}}decode(t,e){let n=this.texData.get(t),{isPacked:o,shape:s,dtype:i}=n;if(e!=null){let m=y.sizeFromShape(s),f=e[0]*e[1]*4;y.assert(m<=f,()=>\"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.\")}let a=ag(s),u;o?u=new Bw(a):u=new zw(a);let l=!0,c=[e!=null?e:ng(a)],p=this.runWebGLProgram(u,[{shape:a,dtype:i,dataId:t}],i,c,l,e);return{dtype:i,shape:s,dataId:p.dataId}}runWebGLProgram(t,e,n,o,s=!1,i){let a=this.makeTensorInfo(t.outputShape,n),u=this.texData.get(a.dataId);if(t.packedOutput&&(u.isPacked=!0),t.outPackingScheme===ku.DENSE){let x=i!=null?i:ng(t.outputShape);u.texShape=x.map(b=>b*2)}if(t.outTexUsage!=null&&(u.usage=t.outTexUsage),y.sizeFromShape(a.shape)===0)return u.values=y.getTypedArrayFromDType(a.dtype,0),a;let l=[],c=e.map(x=>{if(x.dtype===\"complex64\")throw new Error(\"GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.\");let b=this.texData.get(x.dataId);if(b.texture==null){if(!t.packedInputs&&y.sizeFromShape(x.shape)<=B().getNumber(\"WEBGL_SIZE_UPLOAD_UNIFORM\"))return{shape:x.shape,texData:null,isUniform:!0,uniformValues:b.values};t.packedInputs&&(b.isPacked=!0,b.shape=x.shape)}if(this.uploadToGPU(x.dataId),!!b.isPacked!=!!t.packedInputs)x=b.isPacked?this.unpackTensor(x):this.packTensor(x),l.push(x),b=this.texData.get(x.dataId);else if(b.isPacked&&!_u(b.shape,x.shape)){let w=x,C=x.shape;x.shape=b.shape,x=this.packedReshape(x,C),l.push(x),b=this.texData.get(x.dataId),w.shape=C}return{shape:x.shape,texData:b,isUniform:!1}});this.uploadToGPU(a.dataId);let p={shape:a.shape,texData:u,isUniform:!1},m=xL(t,c,p),f=this.getAndSaveBinary(m,()=>hL(this.gpgpu,t,c,p)),d=this.activeTimers!=null,h;d&&(h=this.startTimer()),B().get(\"ENGINE_COMPILE_ONLY\")||gL(this.gpgpu,f,c,p,o),l.forEach(x=>this.disposeIntermediateTensorInfo(x)),d&&(h=this.endTimer(h),this.activeTimers.push({name:t.constructor.name,query:this.getQueryTime(h)}));let g=B().get(\"WEBGL_FLUSH_THRESHOLD\");if(g>0){let x=y.now();x-this.lastGlFlushTime>g&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=x)}if(!B().getBool(\"WEBGL_LAZILY_UNPACK\")&&u.isPacked&&s===!1){let x=this.unpackTensor(a);return this.disposeIntermediateTensorInfo(a),x}return a}compileAndRun(t,e,n,o,s=!1){return n=n||e[0].dtype,this.runWebGLProgram(t,e,n,o,s)}getAndSaveBinary(t,e){return t in this.binaryCache||(this.binaryCache[t]=e()),this.binaryCache[t]}getTextureManager(){return this.textureManager}dispose(){this.disposed||(B().getBool(\"IS_TEST\")||Object.keys(this.binaryCache).forEach(e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]}),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=G(()=>{if(!B().get(\"WEBGL_RENDER_FLOAT32_ENABLED\")){let t=B().getBool(\"DEBUG\");B().set(\"DEBUG\",!1);let e=this.abs(mt(1e-8)).dataSync()[0];if(B().set(\"DEBUG\",t),e>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return this.floatPrecision()===32?fet:det}uploadToGPU(t){let e=this.texData.get(t),{shape:n,dtype:o,values:s,texture:i,usage:a,isPacked:u}=e;if(i!=null)return;let l=this.activeTimers!=null,c;l&&(c=y.now());let p=e.texShape;if(p==null&&(p=KN(n,u),e.texShape=p),s!=null){let m=ag(n),f,d=p[1],h=p[0],g=s instanceof Uint8Array||s instanceof Uint8ClampedArray;(u||!g)&&([d,h]=ea(p[0],p[1])),u?f=new Uw(m,g):f=new Ww(m,g);let x=g?[h,d]:p,b=this.makeTensorInfo(x,o),w=this.texData.get(b.dataId);g?w.usage=Hr.PIXELS:w.usage=Hr.UPLOAD,w.texShape=x,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(b.dataId),d,h,s);let C=[[h,d]],T=!0,E=this.runWebGLProgram(f,[b],o,C,T),$=this.texData.get(E.dataId);e.texShape=$.texShape,e.isPacked=$.isPacked,e.usage=$.usage,B().get(\"ENGINE_COMPILE_ONLY\")?this.disposeData(E.dataId):(e.texture=$.texture,e.values=null,this.texData.delete(E.dataId)),this.disposeIntermediateTensorInfo(b),l&&(this.uploadWaitMs+=y.now()-c)}else{let m=this.acquireTexture(p,a,o,u);e.texture=m}}convertAndCacheOnCPU(t,e){let n=this.texData.get(t),{dtype:o}=n;return this.releaseGPUData(t),e!=null&&(n.values=bet(e,o)),n.values}acquireTexture(t,e,n,o){if(this.numBytesInGPU+=this.computeBytes(t,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(t,e,o)}computeBytes(t,e){return t[0]*t[1]*y.bytesPerElement(e)}checkCompileCompletion(){for(let[,t]of Object.entries(this.binaryCache))this.checkCompletion_(t)}async checkCompileCompletionAsync(){let t=[];if(this.gpgpu.parallelCompilationExtension){for(let[,e]of Object.entries(this.binaryCache))t.push(this.checkCompletionAsync_(e));return Promise.all(t)}else{for(let[,e]of Object.entries(this.binaryCache)){let n=new Promise(o=>{try{this.checkCompletion_(e),o(!0)}catch(s){throw s}});t.push(n)}return Promise.all(t)}}async checkCompletionAsync_(t){return this.gpgpu.gl.getProgramParameter(t.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(t):(await Th(),this.checkCompletionAsync_(t))}checkCompletion_(t){if(this.gpgpu.gl.getProgramParameter(t.webGLProgram,this.gpgpu.gl.LINK_STATUS)===!1)throw console.log(this.gpgpu.gl.getProgramInfoLog(t.webGLProgram)),this.gpgpu.gl.getShaderParameter(t.fragmentShader,this.gpgpu.gl.COMPILE_STATUS)===!1?(Rw(t.source,this.gpgpu.gl.getShaderInfoLog(t.fragmentShader)),new Error(\"Failed to compile fragment shader.\")):new Error(\"Failed to link vertex and fragment shaders.\");return!0}getUniformLocations(){for(let[,t]of Object.entries(this.binaryCache)){let{uniformLocations:e,customUniformLocations:n,infLoc:o,nanLoc:s,inShapesLocations:i,inTexShapesLocations:a,outShapeLocation:u,outShapeStridesLocation:l,outTexShapeLocation:c}=tk(this.gpgpu,t.program,t.webGLProgram);t.uniformLocations=e,t.customUniformLocations=n,t.infLoc=o,t.nanLoc=s,t.inShapesLocations=i,t.inTexShapesLocations=a,t.outShapeLocation=u,t.outShapeStridesLocation=l,t.outTexShapeLocation=c}}};Eu.nextDataId=0;function bet(r,t){if(t===\"float32\"||t===\"complex64\")return r;if(t===\"int32\"||t===\"bool\"){let e=t===\"int32\"?new Int32Array(r.length):new Uint8Array(r.length);for(let n=0;nnew Eu,2);var ike={forceHalfFloat:CM};var nC=`\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`;var no=class{constructor(t,e,n){this.variableNames=[\"A\",\"B\"],this.outputShape=S.assertAndGetBroadcastShape(e,n),this.enableShapeUniforms=ve(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${t}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}};var Au=`\n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n`;var Fo=class{constructor(t,e,n,o=!1){this.variableNames=[\"A\",\"B\"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=S.assertAndGetBroadcastShape(e,n);let s=this.outputShape.length;this.enableShapeUniforms=ve(s);let i=\"\";if(o)if(s===0||y.sizeFromShape(this.outputShape)===1)i=`\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n `;else if(i=`\n ${Wt(s)} coords = getOutputCoords();\n `,s===1)this.enableShapeUniforms?i+=`\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `:i+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{let u=tr(\"coords\",s);this.enableShapeUniforms?i+=`\n bool nextRowOutOfBounds =\n (${u[s-2]} + 1) >= outShape[${s} - 2];\n bool nextColOutOfBounds =\n (${u[s-1]} + 1) >= outShape[${s} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:i+=`\n bool nextRowOutOfBounds =\n (${u[s-2]} + 1) >= ${this.outputShape[s-2]};\n bool nextColOutOfBounds =\n (${u[s-1]} + 1) >= ${this.outputShape[s-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${t}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${i}\n\n setOutput(result);\n }\n `}};function er(r){let{inputs:t,backend:e}=r,{x:n}=t;return e.incRef(n.dataId),{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}var vM={kernelName:uo,backendName:\"webgl\",kernelFunc:er};function An(r){let{inputs:t,backend:e}=r,{real:n,imag:o}=t,s=e.makeTensorInfo(n.shape,\"complex64\"),i=e.texData.get(s.dataId),a=er({inputs:{x:n},backend:e}),u=er({inputs:{x:o},backend:e});return i.complexTensorInfos={real:a,imag:u},s}var IM={kernelName:Np,backendName:\"webgl\",kernelFunc:An};var wk=\"return (a < 0.) ? b * a : a;\",Ck=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function wet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{alpha:s}=n,i=e.makeTensorInfo([],\"float32\",y.createScalarValue(s,\"float32\")),a=B().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new Fo(Ck,o.shape,i.shape):new no(wk,o.shape,i.shape),u=e.runWebGLProgram(a,[o,i],\"float32\");return e.disposeIntermediateTensorInfo(i),u}var SM={kernelName:ms,backendName:\"webgl\",kernelFunc:wet};var vk=\"return (a < 0.) ? b * a : a;\",Ik=`\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n`;function Cet(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t,s=B().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new Fo(Ik,n.shape,o.shape):new no(vk,n.shape,o.shape);return e.runWebGLProgram(s,[n,o],\"float32\")}var TM={kernelName:Ts,backendName:\"webgl\",kernelFunc:Cet};var Oo=\"if (isnan(x)) return x;\",NM=`\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n`,kM=`\n result.r = isNaN.r > 0. ? NAN : result.r;\n result.g = isNaN.g > 0. ? NAN : result.g;\n result.b = isNaN.b > 0. ? NAN : result.b;\n result.a = isNaN.a > 0. ? NAN : result.a;\n`;function It({opSnippet:r,packedOpSnippet:t,cpuKernelImpl:e,dtype:n}){return({inputs:o,backend:s})=>{let{x:i}=o,a=s,u=n||i.dtype;if(a.shouldExecuteOnCPU([i])&&e!=null){let p=a.texData.get(i.dataId),m=e(p.values,u);return a.makeTensorInfo(i.shape,u,m)}let l=B().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")&&t!=null,c;return l?c=new ro(i.shape,t):c=new Zr(i.shape,r),a.runWebGLProgram(c,[i],u)}}function ce({opSnippet:r,packedOpSnippet:t,checkOutOfBounds:e=!1,supportsComplex:n=!1,cpuKernelImpl:o,dtype:s}){return({inputs:i,backend:a})=>{let{a:u,b:l}=i,c=a;if(n&&u.dtype===\"complex64\"){let d=c.texData.get(u.dataId),h=c.texData.get(l.dataId),[g,x]=[[d.complexTensorInfos.real,h.complexTensorInfos.real],[d.complexTensorInfos.imag,h.complexTensorInfos.imag]].map(w=>{let[C,T]=w,E={dataId:C.dataId,dtype:C.dtype,shape:u.shape},$={dataId:T.dataId,dtype:T.dtype,shape:l.shape},D=new no(r,u.shape,l.shape);return c.runWebGLProgram(D,[E,$],ir(C.dtype,T.dtype))}),b=An({inputs:{real:g,imag:x},backend:c});return c.disposeIntermediateTensorInfo(g),c.disposeIntermediateTensorInfo(x),b}let p=s||ir(u.dtype,l.dtype);if((u.dtype===\"string\"||l.dtype===\"string\"||c.shouldExecuteOnCPU([u,l]))&&o!=null){let d=c.texData.get(u.dataId).values,h=c.texData.get(l.dataId).values,g=u.dtype===\"string\"?S.fromUint8ToStringArray(d):d,x=u.dtype===\"string\"?S.fromUint8ToStringArray(h):h,[b,w]=o(u.shape,l.shape,g,x,p),C=c.makeTensorInfo(w,p),T=c.texData.get(C.dataId);return T.values=b,C}let m=B().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")&&t!=null,f;return m?f=new Fo(t,u.shape,l.shape,e):f=new no(r,u.shape,l.shape),c.runWebGLProgram(f,[u,l],p)}}function yl(r,t=!1){if(r===\"linear\")return t?hM:uM;if(r===\"relu\")return t?xM:pM;if(r===\"elu\")return t?gM:cM;if(r===\"relu6\")return t?yM:mM;if(r===\"prelu\")return t?Ik:vk;if(r===\"leakyrelu\")return t?Ck:wk;if(r===\"sigmoid\")return t?bM:fM;throw new Error(`Activation ${r} has not been implemented for the WebGL backend.`)}var Dd=class{constructor(t,e,n,o=!1,s=!1,i=!1,a=null,u=!1,l=!1){this.variableNames=[\"matrixA\",\"matrixB\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=ve(this.outputShape.length);let c=o?t[1]:t[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=\"\";a&&(u?g=`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${a}\n }`:l?g=`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${a}\n }`:g=`vec4 activation(vec4 x) {\n ${a}\n }`,x=\"result = activation(result);\");let b=i?\"result += getBiasAtOutCoords();\":\"\";i&&this.variableNames.push(\"bias\"),u&&this.variableNames.push(\"preluActivationWeights\"),l&&this.variableNames.push(\"leakyreluAlpha\");let w=\"rc.x\",C=\"rc.x\";t[0]`The new shape (${u}) 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.`);let c=i.texData.get(o.dataId);return c.isPacked&&!_u(o.shape,u)&&!(c.texture!==null&&_u(c.shape,u))?AM(o,u,i):(i.incRef(o.dataId),{dataId:o.dataId,shape:u,dtype:o.dtype})}var $M={kernelName:bi,backendName:\"webgl\",kernelFunc:lt};var pg=class{constructor(t,e){this.variableNames=[\"x\"];let{windowSize:n,batchSize:o,inSize:s,outSize:i}=t;this.outputShape=[o,i];let a=Math.floor(n/4)*4,u=n%4,l=\"sumValue += dot(values, ones);\";if(e!=null){let p=1/e;l=`sumValue += dot(values * ${y.isInt(p)?p.toPrecision(2):p}, ones);`}let c=\"\";s%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${a};\n if (${u===1}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${u===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${u===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}};var oC=class{constructor(t,e){this.variableNames=[\"x\"];let{windowSize:n,batchSize:o,inSize:s,outSize:i}=t;this.outputShape=[o,i];let a=\"0.0\",u=\"\";e===\"prod\"?a=\"1.0\":e===\"min\"?(a=\"1.0 / 1e-20\",u=\"min\"):e===\"max\"&&(a=\"-1.0 / 1e-20\",u=\"max\");let l=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"sum\"?l=\"sumValue\":e===\"prod\"?l=\"prodValue\":e===\"all\"?l=\"allValue\":e===\"any\"&&(l=\"anyValue\");let c=Math.floor(n/4)*4,p=n%4,m=`\n if (${e===\"sum\"}) {\n sumValue += dot(values, ones);\n } else if (${e===\"prod\"}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${u}(values, minMaxValue);\n if (${e===\"min\"} || ${e===\"max\"}) {\n minMaxValue = ${u}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,f=\"vec4\";e===\"all\"?(a=\"1.0\",m=`\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n `,f=\"bvec4\"):e===\"any\"&&(a=\"0.0\",m=`\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n `,f=\"bvec4\");let d=\"\";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${a};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${d}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${a});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${p===1}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${p===2}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${m}\n } else if (${p===3}) {\n ${f} values = ${f}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${m}\n }\n setOutput(${l});\n }\n `}};function Iet(r){let t=[];for(;t.length===0||t[t.length-1].outSize!==1;){let e=t.length?t[t.length-1].outSize:r[1],n=S.computeOptimalWindowSize(e);t.push({inSize:e,windowSize:n,outSize:Math.ceil(e/n)})}return t}function Un(r,t,e,n){let o=Iet(r.shape),s=r;for(let i=0;i6)throw Error(`Transpose for rank ${t} is not yet supported`);let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\",\"resRC.v\"],n=new Array(t);for(let o=0;o6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);let o=Wt(this.rank),s=yk(\"rc\",this.rank),i=new Array(this.rank);for(let c=0;c`Error in matMul: inner shapes (${p}) and (${m}) of Tensors with shapes ${r.shape} and ${t.shape} and transposeA=${e} and transposeB=${n} must match.`);let T=e?[x,p,f]:[x,f,p],E=n?[b,d,m]:[b,m,d],$=lt({inputs:{x:r},backend:o,attrs:{shape:T}}),D=lt({inputs:{x:t},backend:o,attrs:{shape:E}}),P=[$,D],M=Math.max(x,b),W=e?$.shape[1]:$.shape[2],H=s!=null,q=i!=null,X=u===\"leakyrelu\",j=u!=null?yl(u,!0):null,Z=H||q||X||j!=null,et;if((f===1||d===1)&&W>Tk&&Z===!1){let ot=$,st=D;e&&(ot=Le({inputs:{x:$},backend:o,attrs:{perm:[0,2,1]}}),P.push(ot)),n&&(st=Le({inputs:{x:D},backend:o,attrs:{perm:[0,2,1]}}),P.push(st));let it=d!==1,pt=d===1,at=ot;it&&(at=lt({inputs:{x:ot},backend:o,attrs:{shape:[M,W,1]}}),P.push(at));let gt=d===1?2:1,dt=st;pt&&(dt=lt({inputs:{x:st},backend:o,attrs:{shape:[M,1,W]}}),P.push(dt));let bt=cg({inputs:{a:at,b:dt},backend:o});et=Zc({inputs:{x:bt},backend:o,attrs:{axis:gt,keepDims:!0}}),P.push(bt)}else{let ot=ir(r.dtype,t.dtype),st=new Dd(T,E,[M,f,d],e,n,H,j,q,X),it=[$,D];if(s!=null&&it.push(s),q&&it.push(i),X){let pt=o.makeTensorInfo([],\"float32\",y.createScalarValue(a,\"float32\"));it.push(pt),P.push(pt)}et=o.runWebGLProgram(st,it,ot)}let K=lt({inputs:{x:et},backend:o,attrs:{shape:C}});P.push(et);for(let ot of P)o.disposeIntermediateTensorInfo(ot);return K}function Net(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s,bias:i,preluActivationWeights:a}=t,{transposeA:u,transposeB:l,activation:c,leakyreluAlpha:p}=n;return Jc({a:o,b:s,transposeA:u,transposeB:l,backend:e,bias:i,preluActivationWeights:a,leakyreluAlpha:p,activation:c})}var OM={kernelName:Ni,backendName:\"webgl\",kernelFunc:Net};var PM=\"return abs(x);\";function ket(r){let{inputs:t,backend:e}=r,{x:n}=t;if(e.shouldExecuteOnCPU([n])&&n.dtype!==\"complex64\"){let s=e.texData.get(n.dataId),i=Zw(s.values);return e.makeTensorInfo(n.shape,n.dtype,i)}let o;return B().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?o=new ro(n.shape,PM):o=new Zr(n.shape,PM),e.runWebGLProgram(o,[n],n.dtype)}var LM={kernelName:pi,backendName:\"webgl\",kernelFunc:ket};var _et=fr+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n`,Eet=It({opSnippet:_et}),MM={kernelName:oa,backendName:\"webgl\",kernelFunc:Eet};var Aet=fr+`\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));`,$et=It({opSnippet:Aet}),zM={kernelName:sa,backendName:\"webgl\",kernelFunc:$et};var BM=\"return a + b;\",Det=ce({opSnippet:BM,packedOpSnippet:BM,supportsComplex:!0,cpuKernelImpl:yL}),VM={kernelName:jn,backendName:\"webgl\",kernelFunc:Det};var aC=class{constructor(t,e){this.outputShape=[],this.outputShape=t,this.variableNames=e.map((s,i)=>`T${i}`);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=`\n void main() {\n ${n.join(`\n `)}\n\n float result = ${o};\n setOutput(result);\n }\n `}};var lC=class{constructor(t,e){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.variableNames=e.map((s,i)=>`T${i}`);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=`\n void main() {\n ${n.join(`\n `)}\n\n vec4 result = ${o};\n setOutput(result);\n }\n `}};function uC(r){let{inputs:t,backend:e}=r,n=t;if(n.length===1)return er({inputs:{x:n[0]},backend:e});if(n.length>B().get(\"WEBGL_MAX_TEXTURES_IN_SHADER\")){let u=Math.floor(n.length/2),l=uC({inputs:n.slice(0,u),backend:e}),c=uC({inputs:n.slice(u),backend:e});return uC({inputs:[l,c],backend:e})}let o=n.map(u=>u.dtype).reduce((u,l)=>ir(u,l)),s=n.map(u=>u.shape),a=B().getBool(\"WEBGL_PACK\")?new lC(n[0].shape,s):new aC(n[0].shape,s);return e.runWebGLProgram(a,n,o)}var GM={kernelName:jo,backendName:\"webgl\",kernelFunc:uC};function Ret(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=o;c!=null&&(p=Le({inputs:{x:o},backend:e,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,a)),S.assertAxesAreInnerMostDims(\"all\",l,a);let[m,f]=S.computeOutAndReduceShapes(p.shape,l),d=y.sizeFromShape(f),h=lt({inputs:{x:p},backend:e,attrs:{shape:[-1,d]}}),g=Un(h,h.dtype,\"all\",e),x;if(i){let b=S.expandShapeToKeepDim(m,u);x=lt({inputs:{x:g},backend:e,attrs:{shape:b}})}else x=lt({inputs:{x:g},backend:e,attrs:{shape:m}});return e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),c!=null&&e.disposeIntermediateTensorInfo(p),x}var WM={kernelName:ia,backendName:\"webgl\",kernelFunc:Ret};function Fet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=o;c!=null&&(p=Le({inputs:{x:o},backend:e,attrs:{perm:c}}),l=S.getInnerMostAxes(l.length,a)),S.assertAxesAreInnerMostDims(\"any\",l,a);let[m,f]=S.computeOutAndReduceShapes(p.shape,l),d=y.sizeFromShape(f),h=lt({inputs:{x:p},backend:e,attrs:{shape:[-1,d]}}),g=Un(h,h.dtype,\"any\",e),x;if(i){let b=S.expandShapeToKeepDim(m,u);x=lt({inputs:{x:g},backend:e,attrs:{shape:b}})}else x=lt({inputs:{x:g},backend:e,attrs:{shape:m}});return e.disposeIntermediateTensorInfo(h),e.disposeIntermediateTensorInfo(g),c!=null&&e.disposeIntermediateTensorInfo(p),x}var UM={kernelName:aa,backendName:\"webgl\",kernelFunc:Fet};var cC=class{constructor(t,e,n){this.variableNames=[\"A\"];let{windowSize:o,batchSize:s,outSize:i}=t;n||this.variableNames.push(\"bestIndicesA\"),this.outputShape=[s,i];let a=e===\"max\"?\">\":\"<\",u=n?\"inOffset + i;\":\"round(getBestIndicesA(batch, inOffset + i));\";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${o};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${o}; i++) {\n int inIdx = ${u};\n float candidate = getA(batch, inIdx);\n if (candidate ${a} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}};var pC=class{constructor(t,e,n,o){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,y.assert(t.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);let s=t[t.length-1],i=Math.ceil(s/e);this.outputShape=t.slice(0,-1),i>1&&this.outputShape.push(i),o||this.variableNames.push(\"bestIndicesA\");let a=this.outputShape,u=a.length,l=Wt(u),c=tr(\"coords\",u),p,m;if(i===1){m=u+1;let D=Wt(m);p=`\n ${D} sourceLocR = ${D}(${c.join()}, 0);\n ++${c[u-1]};\n ${D} sourceLocG = ${D}(${c.join()}, 0);\n ++${c[u-2]};\n ${D} sourceLocA = ${D}(${c.join()}, 0);\n --${c[u-1]};\n ${D} sourceLocB = ${D}(${c.join()}, 0);\n --${c[u-2]};`}else m=u,p=`\n ${l} sourceLocR = coords;\n ++${c[u-1]};\n ${l} sourceLocG = coords;\n ++${c[u-2]};\n ${l} sourceLocA = coords;\n --${c[u-1]};\n ${l} sourceLocB = coords;\n --${c[u-2]};`;let f=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"].slice(0,m),d=\".\"+f[m-1],h=f.map(D=>\"int \"+D),g=tr(\"sourceLocR\",m-1).concat(\"inIdx.r\"),x=tr(\"sourceLocG\",m-1).concat(\"inIdx.g\"),b=tr(\"sourceLocB\",m-1).concat(\"inIdx.b\"),w=tr(\"sourceLocA\",m-1).concat(\"inIdx.a\"),C=n===\"max\"?\"greaterThan\":\"lessThan\",T=o?\"\":`\n inIdx = round(vec4(getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${x.join()}),\n getBestIndicesAChannel(${b.join()}),\n getBestIndicesAChannel(${w.join()})));`,E=`vec4(\n getAChannel(${g.join()}),\n hasNextCol ? getAChannel(${x.join()}) : 0.,\n hasNextRow ? getAChannel(${b.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${w.join()}) : 0.)`,$=o?\"\":`\n float getBestIndicesAChannel(${h.join()}) {\n return getChannel(getBestIndicesA(${f.join()}),\n vec2(${f.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${h.join()}) {\n return getChannel(getA(${f.join()}),\n vec2(${f.slice(-2).join()}));\n }\n ${$}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${c[u-1]} < ${a[u-1]-1};\n bool hasNextRow = ${c[u-2]} < ${a[u-2]-1};\n ${p}\n ivec4 srcIdx = ivec4(sourceLocR${d}, sourceLocG${d},\n sourceLocB${d}, sourceLocA${d}) * ${e};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${E};\n\n for (int i = 0; i < ${e}; i++) {\n inIdx = srcIdx;\n ${T}\n vec4 candidate = ${E};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${C}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}};function HM(r,t,e,n=null){let o=t.shape[0],s=t.shape[1];n!=null&&(o=n.shape[0],s=n.shape[1]);let i=S.computeOptimalWindowSize(s),a={windowSize:i,inSize:s,batchSize:o,outSize:Math.ceil(s/i)},u=new cC(a,e,n==null),l=[t];n!=null&&l.push(n);let c=r.runWebGLProgram(u,l,\"int32\");if(c.shape[1]===1)return c;let p=HM(r,t,e,c);return r.disposeIntermediateTensorInfo(c),p}function qM(r,t,e,n=null){let o=n!=null?n.shape:t.shape,s=o[o.length-1],i=S.computeOptimalWindowSize(s),a=new pC(o,i,e,n==null),u=n==null?[t]:[t,n],l=r.runWebGLProgram(a,u,\"int32\");if(l.shape.length===t.shape.length){let c=qM(r,t,e,l);return r.disposeIntermediateTensorInfo(l),c}return l}function mC(r,t,e,n){let o=[e];if(S.assertAxesAreInnerMostDims(\"arg\"+n.charAt(0).toUpperCase()+n.slice(1),o,t.shape.length),!B().getBool(\"WEBGL_PACK_REDUCE\")||t.shape.length<=2){let s=[],i=r.texData.get(t.dataId),a=i!==null&&i.isPacked,u=t;a&&(u=r.unpackTensor(t),s.push(u));let[l,c]=S.computeOutAndReduceShapes(u.shape,o),p=y.sizeFromShape(c),m=lt({inputs:{x:u},backend:r,attrs:{shape:[-1,p]}});s.push(m);let f=HM(r,m,n);s.push(f);let d=lt({inputs:{x:f},backend:r,attrs:{shape:l}});return s.forEach(h=>r.disposeIntermediateTensorInfo(h)),d}return qM(r,t,n)}function Oet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n,i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Le({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),S.assertAxesAreInnerMostDims(\"argMax\",[i[0]],u.shape.length);let c=mC(e,u,i[0],\"max\");return l.forEach(p=>e.disposeIntermediateTensorInfo(p)),c}var KM={kernelName:Xo,backendName:\"webgl\",kernelFunc:Oet};function Pet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s}=n,i=y.parseAxisParam(s,o.shape),a=S.getAxesPermutation(i,o.shape.length),u=o,l=[];a!=null&&(u=Le({inputs:{x:o},backend:e,attrs:{perm:a}}),l.push(u),i=S.getInnerMostAxes(i.length,u.shape.length)),S.assertAxesAreInnerMostDims(\"argMin\",[i[0]],u.shape.length);let c=mC(e,u,i[0],\"min\");return l.forEach(p=>e.disposeIntermediateTensorInfo(p)),c}var jM={kernelName:Nl,backendName:\"webgl\",kernelFunc:Pet};var Let=fr+`\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n`,Met=It({opSnippet:Let}),XM={kernelName:la,backendName:\"webgl\",kernelFunc:Met};var zet=fr+\"return log(x + sqrt(x * x + 1.0));\",Bet=It({opSnippet:zet}),YM={kernelName:ua,backendName:\"webgl\",kernelFunc:Bet};var Vet=fr+`\n return atan(x);\n`,Get=It({opSnippet:Vet}),ZM={kernelName:ca,backendName:\"webgl\",kernelFunc:Get};var Wet=NM+`\n return atan(a, b);\n`,Uet=`\n vec4 result = atan(a, b);\n vec4 isNaN = min(vec4(isnan(a)) + vec4(isnan(b)), vec4(1.0));\n `+kM+`\n return result;\n`,Het=ce({opSnippet:Wet,packedOpSnippet:Uet}),JM={kernelName:ma,backendName:\"webgl\",kernelFunc:Het};var qet=fr+`\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;`,Ket=It({opSnippet:qet}),QM={kernelName:pa,backendName:\"webgl\",kernelFunc:Ket};var ii=class{constructor(t,e,n,o=!1,s=!1){if(this.variableNames=[\"x\"],e===\"avg\"&&n)throw new Error(\"Cannot compute positions for average pool.\");let i=t.filterWidth,a=t.strideHeight,u=t.strideWidth,l=t.dilationHeight,c=t.dilationWidth,p=t.effectiveFilterHeight,m=t.effectiveFilterWidth,f=t.padInfo.top,d=t.padInfo.left;this.outputShape=t.outShape;let h=e===\"avg\",g=`((batch * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + d`,x=`(xR * ${t.inWidth} + xC) * ${t.inChannels} + d`,b=\"0.0\";if(h||(b=\"-1.0 / 1e-20\"),n){let D=\">=\";this.userCode=`\n const ivec2 strides = ivec2(${a}, ${u});\n const ivec2 pads = ivec2(${f}, ${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${p};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${m};\n wC += ${c}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${D} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${o?s?g:x:`wR * ${m} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let w=\"max\",C=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"avg\"&&(C=\"avgValue / count\");let T=Math.floor(i/4)*4,E=i%4,$=`\n if (${h}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${w}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${a}, ${u});\n const ivec2 pads = ivec2(${f}, ${d});\n const float initializationValue = ${b};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${b});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${p};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${T}; wC += 4) {\n int xC = xCCorner + wC * ${c};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n getValue(batch, xR, xC + 3 * ${c}, d)\n );\n\n ${$}\n }\n\n int xC = xCCorner + ${T};\n if (${E===1}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${$}\n } else if (${E===2}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n initializationValue,\n initializationValue\n );\n\n ${$}\n } else if (${E===3}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${c}, d),\n getValue(batch, xR, xC + 2 * ${c}, d),\n initializationValue\n );\n\n ${$}\n }\n }\n setOutput(${C});\n }\n `}},Du=class{constructor(t,e,n,o=!1,s=!1){if(this.variableNames=[\"x\"],e===\"avg\"&&n)throw new Error(\"Cannot compute positions for average pool.\");let i=t.filterWidth,a=t.strideDepth,u=t.strideHeight,l=t.strideWidth,c=t.dilationDepth,p=t.dilationHeight,m=t.dilationWidth,f=t.effectiveFilterDepth,d=t.effectiveFilterHeight,h=t.effectiveFilterWidth,g=t.padInfo.front,x=t.padInfo.top,b=t.padInfo.left;this.outputShape=t.outShape;let w=e===\"avg\",C=\"0.0\";if(w||(C=\"-1.0 / 1e-20\"),n){let M=\">=\";this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${u}, ${l});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${f};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${p}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h};\n wC += ${m}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${M} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${o?s?`(((batch * ${t.inDepth} + xD) * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`((xD * ${t.inHeight} + xR) * ${t.inWidth} + xC) * ${t.inChannels} + ch`:`wD * ${d} * ${h} +\n wR * ${h} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `;return}let T=\"max\",E=`${e}(${e}(${e}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;e===\"avg\"&&(E=\"avgValue / count\");let $=Math.floor(i/4)*4,D=i%4,P=`\n if (${w}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = ${T}(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${a}, ${u}, ${l});\n const ivec3 pads = ivec3(${g}, ${x}, ${b});\n const float initializationValue = ${C};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${t.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${C});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${f};\n wD += ${c}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d};\n wR += ${p}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${$}; wC += 4) {\n int xC = xCCorner + wC * ${m};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n getValue(batch, xD, xR, xC + 3 * ${m}, ch)\n );\n\n ${P}\n }\n\n int xC = xCCorner + ${$};\n if (${D===1}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${P}\n } else if (${D===2}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n initializationValue,\n initializationValue\n );\n\n ${P}\n } else if (${D===3}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${m}, ch),\n getValue(batch, xD, xR, xC + 2 * ${m}, ch),\n initializationValue\n );\n\n ${P}\n }\n }\n setOutput(${E});\n }\n }\n `}};function jet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t;oi(o,\"avgPool\");let{filterSize:s,strides:i,pad:a,dimRoundingMode:u}=n,l=1;y.assert(S.eitherStridesOrDilationsAreOne(i,l),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return er({inputs:{x:o},backend:e});let p=new ii(c,\"avg\",!1);return e.runWebGLProgram(p,[o],\"float32\")}var tz={kernelName:Yo,backendName:\"webgl\",kernelFunc:jet};function Xet(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dimRoundingMode:u,dataFormat:l}=n,c=[1,1,1],p=S.computePool3DInfo(o.shape,s,i,c,a,u,l),m=new Du(p,\"avg\",!1);return e.runWebGLProgram(m,[o],\"float32\")}var ez={kernelName:kl,backendName:\"webgl\",kernelFunc:Xet};var fC=class{constructor(t){this.variableNames=[\"dy\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=t.dilationHeight,a=t.dilationWidth,u=t.effectiveFilterHeight,l=t.effectiveFilterWidth,c=u-1-t.padInfo.top,p=l-1-t.padInfo.left,m=1/(e*n);this.userCode=`\n const ivec2 pads = ivec2(${c}, ${p});\n const float avgMultiplier = float(${m});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${u};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${a}) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}},dC=class{constructor(t){this.variableNames=[\"dy\"],this.outputShape=t.inShape;let e=t.filterDepth,n=t.filterHeight,o=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=t.dilationDepth,l=t.dilationHeight,c=t.dilationWidth,p=t.effectiveFilterDepth,m=t.effectiveFilterHeight,f=t.effectiveFilterWidth,d=p-1-t.padInfo.front,h=m-1-t.padInfo.top,g=f-1-t.padInfo.left,x=1/(e*n*o);this.userCode=`\n const ivec3 pads = ivec3(${d}, ${h}, ${g});\n const float avgMultiplier = float(${x});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${p};\n wD += ${u}) {\n float dyD = float(dyDCorner + wD) / ${s}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${m};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${f};\n wC += ${c}) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function Yet(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s,{filterSize:a,strides:u,pad:l,dimRoundingMode:c}=n,p=[1,1,1],m=S.computePool3DInfo(i.shape,a,u,p,l,c),f=new dC(m);return e.runWebGLProgram(f,[o],i.dtype)}var rz={kernelName:Ip,backendName:\"webgl\",kernelFunc:Yet};function Zet(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s;oi([o,s],\"avgPoolGrad\");let{filterSize:a,strides:u,pad:l}=n,c=S.computePool2DInfo(i.shape,a,u,1,l),p=new fC(c);return e.runWebGLProgram(p,[o],i.dtype)}var nz={kernelName:vp,backendName:\"webgl\",kernelFunc:Zet};function Jet(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;return Jc({a:o,b:s,transposeA:i,transposeB:a,backend:e})}var oz={kernelName:Zo,backendName:\"webgl\",kernelFunc:Jet};var hC=class{constructor(t,e,n,o,s,i){this.outputShape=[],this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(t,e),S.assertAndGetBroadcastShape(t,n);let a=\"0.0\";o!=null&&(S.assertAndGetBroadcastShape(t,o),this.variableNames.push(\"offset\"),a=\"getOffsetAtOutCoords()\");let u=\"1.0\";s!=null&&(S.assertAndGetBroadcastShape(t,s),this.variableNames.push(\"scale\"),u=\"getScaleAtOutCoords()\"),this.outputShape=t,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${a};\n float scale = ${u};\n float inv = scale * inversesqrt(variance + float(${i}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}};var gC=class{constructor(t,e,n,o,s,i){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=[\"x\",\"mean\",\"variance\"],S.assertAndGetBroadcastShape(t,e),S.assertAndGetBroadcastShape(t,n);let a=\"vec4(0.0)\";o!=null&&(S.assertAndGetBroadcastShape(t,o),this.variableNames.push(\"offset\"),a=\"getOffsetAtOutCoords()\");let u=\"vec4(1.0)\";s!=null&&(S.assertAndGetBroadcastShape(t,s),this.variableNames.push(\"scale\"),u=\"getScaleAtOutCoords()\"),this.outputShape=t,this.userCode=`\n void main() {\n vec4 offset = ${a};\n vec4 scale = ${u};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${i}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}};var Qet=({inputs:r,backend:t,attrs:e})=>{let{x:n,mean:o,variance:s,offset:i,scale:a}=r;y.assert(o.shape.length===s.shape.length,()=>\"Batch normalization gradient requires mean and variance to have equal ranks.\"),y.assert(i==null||o.shape.length===i.shape.length,()=>\"Batch normalization gradient requires mean and offset to have equal ranks.\"),y.assert(a==null||o.shape.length===a.shape.length,()=>\"Batch normalization gradient requires mean and scale to have equal ranks.\");let{varianceEpsilon:u}=e;u==null&&(u=.001);let l=[n,o,s],c=null;i!=null&&(c=i.shape,l.push(i));let p=null;a!=null&&(p=a.shape,l.push(a));let m=B().getBool(\"WEBGL_PACK_NORMALIZATION\")?new gC(n.shape,o.shape,s.shape,c,p,u):new hC(n.shape,o.shape,s.shape,c,p,u);return t.runWebGLProgram(m,l,l[0].dtype)},sz={kernelName:cs,backendName:\"webgl\",kernelFunc:Qet};var xC=class{constructor(t){this.variableNames=[\"source\"],this.outputShape=t,this.rank=t.length;let e=Wt(this.rank);this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let n=trt(this.rank),o,s=t.map((i,a)=>`sourceLoc.${Nk[a]} = start[${a}] + coords.${Nk[a]};`);o=`\n ${e} sourceLoc;\n ${e} coords = getOutputCoords();\n ${s.join(`\n`)}\n `,this.userCode=`\n void main() {\n ${o}\n setOutput(getSource(${n}));\n }\n `}},Nk=[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"];function trt(r){if(r===1)return\"sourceLoc\";if(r<=6)return Nk.slice(0,r).map(t=>\"sourceLoc.\"+t).join(\",\");throw Error(`Slicing for rank ${r} is not yet supported`)}var yC=class{constructor(t){this.variableNames=[\"source\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t,this.rank=t.length,this.customUniforms=[{name:\"start\",arrayIndex:this.rank,type:\"int\"}];let e=Wt(this.rank),n=tr(\"coords\",this.rank),o=tr(\"sourceLoc\",this.rank),s=this.rank===1?\"sourceLoc\":`vec2(${o.slice(-2).join()})`,i=`getChannel(getSource(${o.join()}), ${s})`,a=`\n result.x = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${o[this.rank-1]};\n result.y = ${i};\n --${o[this.rank-1]};\n }\n `,u=this.rank===1?\"\":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${t[this.rank-2]}) {\n ++${o[this.rank-2]};\n result.z = ${i};\n if (++${n[this.rank-1]} < ${t[this.rank-1]}) {\n ++${o[this.rank-1]};\n result.w = ${i};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${e}(${t.map((c,p)=>`start[${p}]`).join()});`:t.map((c,p)=>`${o[p]} = ${n[p]} + start[${p}];`).join(`\n`);this.userCode=`\n void main() {\n ${e} coords = getOutputCoords();\n ${e} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${a}\n ${u}\n setOutput(result);\n }\n `}};function ert(r,t,e,n){let o=n.texData.get(r.dataId),s=n.makeTensorInfo(e,r.dtype),i=n.texData.get(s.dataId);Object.assign(i,o),i.refCount=1,i.shape=e,i.dtype=r.dtype;let a=Be.computeFlatOffset(t,y.computeStrides(r.shape));o.slice&&(a+=o.slice.flatOffset),i.slice={flatOffset:a,origDataId:o.slice&&o.slice.origDataId||r.dataId};let u=n.dataRefCount.get(i.slice.origDataId)||1;return n.dataRefCount.set(i.slice.origDataId,u+1),s}function ai(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,size:i}=n,[a,u]=Be.parseSliceParams(o,s,i);if(Be.assertParamsValid(o,a,u),y.sizeFromShape(u)===0)return e.makeTensorInfo(u,o.dtype,[]);if(e.shouldExecuteOnCPU([o])||o.dtype===\"string\"){let p=e.texData.get(o.dataId),m=KL(p.values,a,u,o.shape,o.dtype);return e.makeTensorInfo(u,o.dtype,m)}let{isPacked:l}=e.texData.get(o.dataId),c=Be.isSliceContinous(o.shape,a,u);if(l||!c){let p=B().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new yC(u):new xC(u),m=[a];return e.runWebGLProgram(p,[o],o.dtype,m)}return e.uploadToGPU(o.dataId),ert(o,a,u,e)}var iz={kernelName:Ci,backendName:\"webgl\",kernelFunc:ai};var rrt=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,crops:i}=n;y.assert(o.shape.length<=4,()=>\"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet\");let a=s.reduce((b,w)=>b*w),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=[],d=lt({inputs:{x:o},backend:e,attrs:{shape:u}}),h=Le({inputs:{x:d},backend:e,attrs:{perm:l}}),g=lt({inputs:{x:h},backend:e,attrs:{shape:c}}),x=ai({inputs:{x:g},backend:e,attrs:{begin:p,size:m}});return f.push(d),f.push(h),f.push(g),f.forEach(b=>e.disposeIntermediateTensorInfo(b)),x},az={kernelName:mi,backendName:\"webgl\",kernelFunc:rrt};function nrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i}=n,a=e.readSync(o.dataId),u=e.readSync(s.dataId),l=Yw(a,u,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,l)}var lz={kernelName:Sp,backendName:\"webgl\",kernelFunc:nrt};function ort(r){let{inputs:t,backend:e}=r,{s0:n,s1:o}=t,s=e.readSync(n.dataId),i=e.readSync(o.dataId),a=S.assertAndGetBroadcastShape(Array.from(s),Array.from(i));return e.makeTensorInfo([a.length],\"int32\",Int32Array.from(a))}var uz={kernelName:Tp,backendName:\"webgl\",kernelFunc:ort};var srt=\"return float(a != b);\",kk=ce({opSnippet:srt,cpuKernelImpl:BL,dtype:\"bool\"}),cz={kernelName:Da,backendName:\"webgl\",kernelFunc:kk};function bl(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.texData.get(n.dataId);return er({inputs:{x:o.complexTensorInfos.real},backend:e})}var pz={kernelName:qp,backendName:\"webgl\",kernelFunc:bl};var irt=\"return float(int(x));\";function mz(r,t){let e=new Zr(r.shape,irt),n=t.runWebGLProgram(e,[r],\"int32\");return{dataId:n.dataId,shape:n.shape,dtype:n.dtype}}function _k(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dtype:s}=n;if(s===\"complex64\"){if(o.dtype===\"complex64\")return er({inputs:{x:o},backend:e});let i=_e(o.shape),a=_k({inputs:{x:o},backend:e,attrs:{dtype:\"float32\"}}),u=An({inputs:{real:a,imag:i},backend:e});return i.dispose(),e.disposeIntermediateTensorInfo(a),u}if(o.dtype===\"complex64\"){let i=bl({inputs:{input:o},backend:e}),a=_k({inputs:{x:i},backend:e,attrs:{dtype:s}});return e.disposeIntermediateTensorInfo(i),a}if(!y.hasEncodingLoss(o.dtype,s)){let i=er({inputs:{x:o},backend:e});return{dataId:i.dataId,shape:i.shape,dtype:s}}if(e.shouldExecuteOnCPU([o])){let i=e.texData.get(o.dataId).values,[a,u,l]=wL(i,o.shape,o.dtype,s);return e.makeTensorInfo(a,u,l)}if(s===\"int32\")return mz(o,e);if(s===\"bool\"){let i=e.makeTensorInfo([],\"bool\",y.getTypedArrayFromDType(\"bool\",1)),u=kk({inputs:{a:o,b:i},backend:e});return e.disposeIntermediateTensorInfo(i),u}throw new Error(`Error in Cast: failed to cast ${o.dtype} to ${s}`)}var fz={kernelName:ao,backendName:\"webgl\",kernelFunc:_k};var dz=\"return ceil(x);\",art=It({opSnippet:dz,packedOpSnippet:dz,cpuKernelImpl:CL}),hz={kernelName:Jo,backendName:\"webgl\",kernelFunc:art};var bC=class{constructor(t){this.variableNames=[\"A\"],this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=t,this.userCode=`\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n `}};var wC=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"minVal\",type:\"float\"},{name:\"maxVal\",type:\"float\"}],this.outputShape=t,this.userCode=`\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n `}};function lrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{clipValueMin:s,clipValueMax:i}=n,a;B().getBool(\"WEBGL_PACK_CLIP\")?a=new wC(o.shape):a=new bC(o.shape);let u=[[s],[i]];return e.runWebGLProgram(a,[o],o.dtype,u)}var gz={kernelName:lo,backendName:\"webgl\",kernelFunc:lrt};var CC=class{constructor(t){this.variableNames=[\"real\",\"imag\"],this.outputShape=t,this.userCode=`\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n `}};function xz(r,t){return{dataId:t.dataId,dtype:t.dtype,shape:r.shape}}function urt(r){let{inputs:t,backend:e}=r,{x:n}=t,o=e.texData.get(n.dataId),s=new CC(n.shape),i=[xz(n,o.complexTensorInfos.real),xz(n,o.complexTensorInfos.imag)];return e.runWebGLProgram(s,i,i[0].dtype)}var yz={kernelName:_l,backendName:\"webgl\",kernelFunc:urt};var vC=class{constructor(t){this.outputShape=[],this.outputShape=S.computeOutShape(t,1),this.variableNames=t.map((i,a)=>`T${a}`);let e=new Array(t.length-1);e[0]=t[0][1];for(let i=1;i`T${g}`);let u=new Array(t.length-1);u[0]=t[0][e];for(let h=1;h= ${u[h-1]}) {\n return getChannel(\n getT${h}(${IC(a,l,g)}),\n vec2(${IC(c,l,g)}));\n }`}let f=u.length,d=u[u.length-1];m+=`\n return getChannel(\n getT${f}(${IC(a,l,d)}),\n vec2(${IC(c,l,d)}));`,this.userCode=`\n float getValue(${a.map(h=>\"int \"+h)}) {\n ${m}\n }\n\n void main() {\n ${s} coords = getOutputCoords();\n vec4 result = vec4(getValue(${i}), 0., 0., 0.);\n\n ${i[o-1]} = ${i[o-1]} + 1;\n if (${i[o-1]} < ${n[o-1]}) {\n result.g = getValue(${i});\n }\n\n ${i[o-2]} = ${i[o-2]} + 1;\n if (${i[o-2]} < ${n[o-2]}) {\n result.a = getValue(${i});\n }\n\n ${i[o-1]} = ${i[o-1]} - 1;\n if (${i[o-2]} < ${n[o-2]} &&\n ${i[o-1]} < ${n[o-1]}) {\n result.b = getValue(${i});\n }\n setOutput(result);\n }\n `}};function IC(r,t,e){let n=r.indexOf(t);return r.map((s,i)=>i===n?`${s} - ${e}`:s).join()}function Qc(r){let{inputs:t,backend:e}=r,{input:n}=t,o=e.texData.get(n.dataId);return er({inputs:{x:o.complexTensorInfos.imag},backend:e})}var bz={kernelName:Mp,backendName:\"webgl\",kernelFunc:Qc};function Rd(r,t,e){let n=r[0].dtype;if(n===\"complex64\"){let p=r.map(g=>bl({inputs:{input:g},backend:e})),m=r.map(g=>Qc({inputs:{input:g},backend:e})),f=Rd(p,t,e),d=Rd(m,t,e),h=An({inputs:{real:f,imag:d},backend:e});return p.forEach(g=>e.disposeIntermediateTensorInfo(g)),m.forEach(g=>e.disposeIntermediateTensorInfo(g)),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),h}let o=e.shouldExecuteOnCPU(r);if(n===\"string\"&&(o=!0),o){let p=r.map(b=>{let w=y.sizeFromShape(b.shape.slice(t));return lt({inputs:{x:b},backend:e,attrs:{shape:[-1,w]}})}),m=p.map(b=>({vals:e.readSync(b.dataId),shape:b.shape})),f=S.computeOutShape(p.map(b=>b.shape),1),d=p[0].shape[0]===1,h=vL(m,f,n,d),g=S.computeOutShape(r.map(b=>b.shape),t),x=e.makeTensorInfo(g,n,h);return p.forEach(b=>e.disposeIntermediateTensorInfo(b)),x}let s=B().getNumber(\"WEBGL_MAX_TEXTURES_IN_SHADER\");if(r.length>s){let p=[];for(let f=0;f1){let p=new SC(r.map(m=>m.shape),t);return e.runWebGLProgram(p,r,n)}let{tensors2D:i,outShape:a}=crt(r,t,e),u=new vC(i.map(p=>p.shape)),l=e.runWebGLProgram(u,i,n);i.forEach(p=>e.disposeIntermediateTensorInfo(p));let c=lt({inputs:{x:l},attrs:{shape:a},backend:e});return e.disposeIntermediateTensorInfo(l),c}function crt(r,t,e){let n=S.computeOutShape(r.map(s=>s.shape),t);return{tensors2D:r.map(s=>lt({inputs:{x:s},attrs:{shape:[-1,y.sizeFromShape(s.shape.slice(t))]},backend:e})),outShape:n}}function Ek(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n,s=y.parseAxisParam(o,t[0].shape)[0],i=S.computeOutShape(t.map(l=>l.shape),s);if(y.sizeFromShape(i)===0)return e.makeTensorInfo(i,t[0].dtype,[]);let a=t.filter(l=>y.sizeFromShape(l.shape)>0);if(a.length===1)return er({inputs:{x:a[0]},backend:e});let u=a.map(l=>l.shape);return S.assertParamsConsistent(u,s),Rd(a,s,e)}var wz={kernelName:fi,backendName:\"webgl\",kernelFunc:Ek};var Fd=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let i=t.padInfo.top,a=t.padInfo.left,u=t.strideHeight,l=t.strideWidth,c=t.dilationHeight,p=t.dilationWidth,m=t.filterHeight,f=t.filterWidth,d=Math.floor(t.inChannels/4)*4,h=t.inChannels%4,g=t.dataFormat===\"channelsLast\",x=g?1:2,b=g?2:3,w=g?3:1,C=\"\",T=\"\";n&&(o?C=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?C=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:C=`\n float activation(float x) {\n ${n}\n }\n `,T=\"result = activation(result);\");let E=e?\"result += getBiasAtOutCoords();\":\"\";e&&this.variableNames.push(\"bias\"),o&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${C}\n\n const ivec2 strides = ivec2(${u}, ${l});\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${w}];\n\n ivec2 xRCCorner =\n ivec2(coords[${x}], coords[${b}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${c};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f}; wC++) {\n int xC = xCCorner + wC * ${p};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${g}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${h===1}) {\n\n if (${g}) {\n dotProd +=\n getX(batch, xR, xC, ${d}) *\n getW(wR, wC, ${d}, d2);\n } else {\n dotProd +=\n getX(batch, ${d}, xR, xC) *\n getW(wR, wC, ${d}, d2);\n }\n\n } else if (${h===2}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2)\n );\n\n if (${g}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${h===3}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${d}, d2),\n getW(wR, wC, ${d} + 1, d2),\n getW(wR, wC, ${d} + 2, d2)\n );\n\n if (${g}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${d}),\n getX(batch, xR, xC, ${d} + 1),\n getX(batch, xR, xC, ${d} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${d}, xR, xC),\n getX(batch, ${d} + 1, xR, xC),\n getX(batch, ${d} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${E}\n ${T}\n setOutput(result);\n }\n `}},TC=class{constructor(t){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let e=t.padInfo.front,n=t.padInfo.top,o=t.padInfo.left,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=t.dilationDepth,l=t.dilationHeight,c=t.dilationWidth,p=t.filterDepth,m=t.filterHeight,f=t.filterWidth,d=Math.floor(t.inChannels/4)*4,h=t.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${s}, ${i}, ${a});\n const ivec3 pads = ivec3(${e}, ${n}, ${o});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${p}; wF++) {\n int xF = xFCorner + wF * ${u};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${m}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${d}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${h===1}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${d}) *\n getW(wF, wR, wC, ${d}, d2);\n } else if (${h===2}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${h===3}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${d}),\n getX(batch, xF, xR, xC, ${d} + 1),\n getX(batch, xF, xR, xC, ${d} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${d}, d2),\n getW(wF, wR, wC, ${d} + 1, d2),\n getW(wF, wR, wC, ${d} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};var Od=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=ve(this.outputShape.length);let i=t.padInfo.left,a=t.strideWidth,u=t.dilationWidth,l=t.filterHeight,c=t.filterWidth,p=c,m=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let g=0;g=0 && xR < inDims[0]) {\n `;for(let g=0;g<(p+1)/2;g++){let x=g*2;if(m+=`\n xC = xCCorner + ${x*u};\n `,a===1){if(x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n `,u===1&&x>0?m+=`\n xC${x} = vec4(xTexelC${x-2}.zw, xTexelC${x}.xy);\n `:m+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${x} = vec4(previous.zw, xTexelC${x}.xy);\n } else {\n xC${x} = vec4(0.0, 0.0, xTexelC${x}.xy);\n }\n `):m+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xC${x} = xTexelC${x};\n `,x+1= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n `,u>1?m+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${x+1} = vec4(previous.zw, xTexelC${x+1}.xy);\n } else {\n xC${x+1} = vec4(0.0, 0.0, xTexelC${x+1}.xy);\n }\n `:m+=`\n xC${x+1} = vec4(xTexelC${x}.zw, xTexelC${x+1}.xy);\n `):b===1?m+=`\n xC${x+1} = xTexelC${x};\n `:m+=`\n xCOffset = xC + ${b};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x+1} = xTexelC${x+1};\n `}}else x= 0 && xCOffset < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.0);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(xTexelC${x}.zw, xTexelC${x+1}.zw);\n `,x+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${x+1} = vec4(xTexelC${x+1}.xy, final.xy);\n `)):(m+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${x}Ready == 0) {\n xTexelC${x} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${x}.zw = vec2(0.0);\n }\n xTexelC${x}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${x+1}Ready == 0) {\n xTexelC${x+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${x+1}.zw = vec2(0.);\n }\n xTexelC${x+1}Ready = 1;\n }\n\n xC${x} = vec4(\n xTexelC${x}.xy, xTexelC${x+1}.xy);\n `,x+1= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${a}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${s}) {\n innerDims = vec2(d1, ch);\n result[${c*2+p}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${c*2+p}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${o.output} = result;\n }\n `}};function kC(r,t){let e=r.length;return e>=3?t?[...r.slice(0,-3),r[e-3]*r[e-2],r[e-1]]:[...r.slice(0,-3),r[e-3],r[e-2]*r[e-1]]:!t&&e===1&&r[0]>1?[r[0],1]:null}function _C({x:r,filter:t,convInfo:e,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:i=0,activation:a=null}){let u=r.shape,l=n.texData.get(r.dataId),c=e.inChannels,p=u[0]*u[1]*u[2],m=e.outChannels,f=e.dataFormat===\"channelsLast\",d=!1,h=!1,g,x=[];if(s!=null){let C=kC(s.shape,f);C!=null&&(s=lt({inputs:{x:s},backend:n,attrs:{shape:C}}),x.push(s))}if(o!=null){let C=kC(o.shape,f);C!=null&&(o=lt({inputs:{x:o},backend:n,attrs:{shape:C}}),x.push(o))}if(!((p===1||m===1)&&c>Tk)&&l.isPacked&&f&&l.texture!=null&&u[2]%2!==0&&y.arraysEqual(l.shape.slice(-3),u.slice(-3))){let C=u[0]*u[1]*(u[2]+1),T={dataId:r.dataId,shape:[1,C,e.inChannels],dtype:r.dtype},E=l.shape;l.shape=l.shape.slice(),l.shape[l.shape.length-2]++,y.assert(_u(l.shape,T.shape),()=>`packed reshape ${l.shape} to ${T.shape} isn't free`);let $=lt({inputs:{x:t},backend:n,attrs:{shape:[1,e.inChannels,e.outChannels]}});x.push($);let D=Jc({a:T,b:$,backend:n,transposeA:d,transposeB:h,bias:o,activation:a,preluActivationWeights:s,leakyreluAlpha:i}),P=n.texData.get(D.dataId);y.assert(P.isPacked,()=>\"batchMatMul result is expected to be packed\"),l.shape=E,P.shape=e.outShape,g=er({inputs:{x:D},backend:n}),g.shape=e.outShape,x.push(D)}else{let C=e.outHeight*e.outWidth,T=lt({inputs:{x:r},backend:n,attrs:{shape:f?[e.batchSize,C,e.inChannels]:[e.batchSize,e.inChannels,C]}}),E=lt({inputs:{x:t},backend:n,attrs:{shape:[1,e.inChannels,e.outChannels]}}),$=Jc({a:f?T:E,b:f?E:T,transposeA:!f,transposeB:h,backend:n,bias:o,activation:a,preluActivationWeights:s,leakyreluAlpha:i});g=lt({inputs:{x:$},backend:n,attrs:{shape:e.outShape}}),x.push(T),x.push(E),x.push($)}for(let C of x)n.disposeIntermediateTensorInfo(C);return g}function EC({x:r,filter:t,convInfo:e,backend:n,bias:o=null,preluActivationWeights:s=null,leakyreluAlpha:i=0,activation:a=null}){let{filterWidth:u,filterHeight:l,inChannels:c,outWidth:p,outHeight:m,dataFormat:f}=e,d=f===\"channelsLast\",h=u*l*c,g=m*p,x=[e.batchSize,h,g],b=!0,w=!1,C=[];if(s!=null){let K=kC(s.shape,d);K!=null&&(s=lt({inputs:{x:s},backend:n,attrs:{shape:K}}),C.push(s))}if(o!=null){let K=kC(o.shape,d);K!=null&&(o=lt({inputs:{x:o},backend:n,attrs:{shape:K}}),C.push(o))}let T=lt({inputs:{x:t},backend:n,attrs:{shape:[1,h,y.sizeFromShape(t.shape)/h]}});C.push(T);let E=new NC(x,e),$=[r.shape,[e.padInfo.top,e.padInfo.left],[e.strideHeight,e.strideWidth],[e.dilationHeight,e.dilationWidth],[e.inChannels],[e.filterWidth*e.inChannels],[e.outWidth]],D=n.runWebGLProgram(E,[r],\"float32\",$),P=lt({inputs:{x:D},backend:n,attrs:{shape:x}});C.push(D),C.push(P);let M=o!=null,W=s!=null,H=a===\"leakyrelu\",q=a?yl(a,!0):null,X=new Dd(d?P.shape:T.shape,d?T.shape:P.shape,d?[e.batchSize,g,e.outChannels]:[e.batchSize,e.outChannels,g],b,w,M,q,W,H),j=d?[P,T]:[T,P];if(o&&j.push(o),W&&j.push(s),H){let K=n.makeTensorInfo([],\"float32\",y.createScalarValue(i,\"float32\"));j.push(K),C.push(K)}let Z=n.runWebGLProgram(X,j,\"float32\"),et=lt({inputs:{x:Z},backend:n,attrs:{shape:e.outShape}});C.push(Z);for(let K of C)n.disposeIntermediateTensorInfo(K);return et}function prt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dataFormat:u,dilations:l,dimRoundingMode:c}=n,p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,s.shape,i,l,a,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=_C({x:o,filter:s,convInfo:m,backend:e});else if(m.strideWidth<=2&&p===\"channelsLast\"&&B().getBool(\"WEBGL_EXP_CONV\")){let h=new Od(m),g=[[m.padInfo.top,m.padInfo.left],[m.strideHeight,m.strideWidth],[m.dilationHeight,m.dilationWidth],[m.inHeight,m.inWidth]];f=e.runWebGLProgram(h,[o,s],\"float32\",g)}else if(B().getBool(\"WEBGL_CONV_IM2COL\"))f=EC({x:o,filter:s,convInfo:m,backend:e});else{let h=new Fd(m);f=e.runWebGLProgram(h,[o,s],\"float32\")}let d=lt({inputs:{x:f},backend:e,attrs:{shape:m.outShape}});return e.disposeIntermediateTensorInfo(f),d}var Cz={kernelName:Qo,backendName:\"webgl\",kernelFunc:prt};var AC=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideHeight,n=t.strideWidth,o=t.padInfo.top,s=t.padInfo.left,i=t.dataFormat===\"channelsLast\";this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${o};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n if (${i}) {\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n } else {\n float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},$C=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=t.dataFormat===\"channelsLast\",a=e-1-t.padInfo.top,u=n-1-t.padInfo.left,l=i?1:2,c=i?2:3,p=i?3:1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${u});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${p}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${c}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n\n if (${i}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}},DC=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideDepth,n=t.strideHeight,o=t.strideWidth,s=t.padInfo.front,i=t.padInfo.top,a=t.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yF = 0; yF < ${t.outDepth}; yF++) {\n int xF = wF + yF * ${e} - ${s};\n\n if (xF < 0 || xF >= ${t.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${i};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${o} - ${a};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}},RC=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterDepth,n=t.filterHeight,o=t.filterWidth,s=t.strideDepth,i=t.strideHeight,a=t.strideWidth,u=e-1-t.padInfo.front,l=n-1-t.padInfo.top,c=o-1-t.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${u}, ${l}, ${c});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${e}; wF++) {\n float dyF = float(dyFCorner + wF) / ${s}.0;\n\n if (dyF < 0.0 || dyF >= ${t.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${e} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${o}; wC++) {\n float dyC = float(dyCCorner + wC) / ${a}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${o} - 1 - wC;\n\n for (int d2 = 0; d2 < ${t.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function mrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,pad:a,dataFormat:u,dimRoundingMode:l,filterShape:c}=n,p=S.convertConv2DDataFormat(u),m=S.computeConv2DInfo(o.shape,c,i,1,a,l,!1,p),f=new AC(m);return e.runWebGLProgram(f,[o,s],\"float32\")}var vz={kernelName:kp,backendName:\"webgl\",kernelFunc:mrt};function frt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{inputShape:i,strides:a,pad:u,dataFormat:l,dimRoundingMode:c}=n,p=S.convertConv2DDataFormat(l),m=S.computeConv2DInfo(i,s.shape,a,1,u,c,!1,p),f=new $C(m);return e.runWebGLProgram(f,[o,s],\"float32\")}var Iz={kernelName:ts,backendName:\"webgl\",kernelFunc:frt};function drt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n,l=S.computeConv3DInfo(o.shape,s.shape,i,u,a),c=new TC(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var Sz={kernelName:El,backendName:\"webgl\",kernelFunc:drt};function hrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,pad:a,filterShape:u}=n,l=S.computeConv3DInfo(o.shape,u,i,1,a),c=new DC(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var Tz={kernelName:_p,backendName:\"webgl\",kernelFunc:hrt};function grt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{pad:i,strides:a,inputShape:u}=n,l=S.computeConv3DInfo(u,s.shape,a,1,i),c=new RC(l);return e.runWebGLProgram(c,[o,s],\"float32\")}var Nz={kernelName:Ep,backendName:\"webgl\",kernelFunc:grt};var xrt=Oo+`\n return cos(x);\n`,yrt=It({opSnippet:xrt}),kz={kernelName:es,backendName:\"webgl\",kernelFunc:yrt};var brt=`\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n`,wrt=It({opSnippet:brt}),_z={kernelName:rs,backendName:\"webgl\",kernelFunc:wrt};var FC=class{constructor(t,e,n,o,s){this.variableNames=[\"Image\",\"Boxes\",\"BoxInd\"],this.outputShape=[];let[i,a,u,l]=t,[c]=e,[p,m]=n;this.outputShape=[c,p,m,l];let f=o===\"bilinear\"?1:0,[d,h]=[`${a-1}.0`,`${u-1}.0`],[g,x,b]=p>1?[`${(a-1)/(p-1)}`,\"(y2-y1) * height_ratio\",`y1*${d} + float(y)*(height_scale)`]:[\"0.0\",\"0.0\",`0.5 * (y1+y2) * ${d}`],[w,C,T]=m>1?[`${(u-1)/(m-1)}`,\"(x2-x1) * width_ratio\",`x1*${h} + float(x)*(width_scale)`]:[\"0.0\",\"0.0\",`0.5 * (x1+x2) * ${h}`];this.userCode=`\n const float height_ratio = float(${g});\n const float width_ratio = float(${w});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${i}) {\n return;\n }\n\n float height_scale = ${x};\n float width_scale = ${C};\n\n float in_y = ${b};\n if( in_y < 0.0 || in_y > ${d} ) {\n setOutput(float(${s}));\n return;\n }\n float in_x = ${T};\n if( in_x < 0.0 || in_x > ${h} ) {\n setOutput(float(${s}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${f} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}};var Crt=r=>{let{inputs:t,backend:e,attrs:n}=r,{image:o,boxes:s,boxInd:i}=t,{cropSize:a,method:u,extrapolationValue:l}=n,c=new FC(o.shape,s.shape,a,u,l);return e.runWebGLProgram(c,[o,s,i],\"float32\")},Ez={kernelName:da,backendName:\"webgl\",kernelFunc:Crt};var tp;(function(r){r.Prod=\"*\",r.Sum=\"+\"})(tp||(tp={}));var mg=class{constructor(t,e,n,o){this.op=t,this.outputShape=e,this.variableNames=[\"x\"],this.customUniforms=[{name:\"index\",type:\"float\"}];let s=this.outputShape.length,i=this.op===tp.Prod?\"1.0\":\"0.0\",a=n?i:`getX(${Az(s,\"coords\",this.op)})`,u=this.outputShape[this.outputShape.length-1],l=\"\",c=\"\";n?(l=o?`end != ${u-1}`:\"end != 0\",c=o?\"end + 1\":\"end - 1\"):(l=o?`end + pow2 < ${u}`:\"end >= pow2\",c=o?\"end + pow2\":\"end - pow2\"),this.userCode=`\n void main() {\n ${Wt(s)} coords = getOutputCoords();\n int end = ${$z(s,\"coords\",this.op)};\n float val = ${a};\n int pow2 = int(pow(2.0, index));\n if (${l}) {\n int idx = ${c};\n ${$z(s,\"coords\",this.op)} = idx;\n val ${this.op}= getX(${Az(s,\"coords\",this.op)});\n }\n setOutput(val);\n }\n `}};function Az(r,t,e){if(r===1)return`${t}`;if(r===2)return`${t}.x, ${t}.y`;if(r===3)return`${t}.x, ${t}.y, ${t}.z`;if(r===4)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw new Error(`Cumulative ${e} for rank ${r} is not yet supported`)}function $z(r,t,e){if(r===1)return`${t}`;if(r===2)return`${t}.y`;if(r===3)return`${t}.z`;if(r===4)return`${t}.w`;throw new Error(`Cumulative ${e} for rank ${r} is not yet supported`)}function OC(r,t,e,n,o,s){let i=t.shape.length,a=S.getAxesPermutation([n],i),u=t;a!=null&&(u=Le({inputs:{x:t},backend:e,attrs:{perm:a}}));let l=S.getInnerMostAxes(1,i)[0];if(l!==i-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${t.shape.length-1} but got axis=${n}`);let c=u.shape[l],p=er({inputs:{x:u},backend:e});for(let m=0;m<=Math.ceil(Math.log2(c))-1;m++){let f=new mg(r,u.shape,!1,s),d=[[m]],h=p;p=e.runWebGLProgram(f,[p],p.dtype,d),e.disposeIntermediateTensorInfo(h)}if(o){let m=new mg(r,u.shape,o,s),f=p;p=e.runWebGLProgram(m,[p],p.dtype),e.disposeIntermediateTensorInfo(f)}if(a!=null){let m=S.getUndoAxesPermutation(a),f=Le({inputs:{x:p},backend:e,attrs:{perm:m}});return e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(u),f}return p}function vrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n;return OC(tp.Prod,o,e,s,i,a)}var Dz={kernelName:fa,backendName:\"webgl\",kernelFunc:vrt};function Irt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n;return OC(tp.Sum,o,e,s,i,a)}var Rz={kernelName:ns,backendName:\"webgl\",kernelFunc:Irt};function Srt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,weights:s}=t,{size:i,binaryOutput:a}=n;if(o.shape.length===1){let u=e.readSync(o.dataId),l=e.readSync(s.dataId),c=Yw(u,l,s.dtype,s.shape,i);return e.makeTensorInfo([i],s.dtype,c)}else if(o.shape.length===2){let u=e.bufferSync(o),l=e.bufferSync(s),c=bL(u,l,i,a);return e.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 Fz={kernelName:Ap,backendName:\"webgl\",kernelFunc:Srt};var PC=class{constructor(t,e,n){this.variableNames=[\"x\"],this.outputShape=[],this.outputShape=t,this.blockSize=e,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${e};\n int offset_h = imod(h, ${e});\n int in_w = w / ${e};\n int offset_w = imod(w, ${e});\n int offset_d = (offset_h * ${e} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}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 Trt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockSize:s,dataFormat:i}=n,a=o.shape[0],u=i===\"NHWC\"?o.shape[1]:o.shape[2],l=i===\"NHWC\"?o.shape[2]:o.shape[3],c=i===\"NHWC\"?o.shape[3]:o.shape[1],p=u*s,m=l*s,f=c/(s*s),d=i===\"NHWC\"?[a,p,m,f]:[a,f,p,m],h=new PC(d,s,i);return e.runWebGLProgram(h,[o],o.dtype)}var Oz={kernelName:ha,backendName:\"webgl\",kernelFunc:Trt};var Pd=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=ve(this.outputShape.length);let i=t.filterHeight,a=t.filterWidth,u=t.outChannels/t.inChannels,l=\"\",c=\"\";n&&(o?l=`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:s?l=`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:l=`\n float activation(float x) {\n ${n}\n }\n `,c=\"result = activation(result);\");let p=e?\"result += getBiasAtOutCoords();\":\"\";e&&this.variableNames.push(\"bias\"),o&&this.variableNames.push(\"preluActivationWeights\"),s&&this.variableNames.push(\"leakyreluAlpha\"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${u};\n int q = d2 - d1 * ${u};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${i}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${a}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${p}\n ${c}\n setOutput(result);\n }\n `}};var Ld=class{constructor(t,e=!1,n=null,o=!1,s=!1){this.variableNames=[\"x\",\"W\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"pads\",type:\"ivec2\"},{name:\"strides\",type:\"ivec2\"},{name:\"dilations\",type:\"ivec2\"},{name:\"inDims\",type:\"ivec2\"}],this.outputShape=t.outShape,this.enableShapeUniforms=ve(this.outputShape.length);let i=t.outChannels/t.inChannels,a=t.padInfo.left,u=t.strideWidth,l=t.dilationWidth,c=t.filterHeight,p=t.filterWidth,m=p,f=`\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;`;for(let x=0;x=0 && xR < inDims[0]) {\n `;for(let x=0;x<(m+1)/2;x++){let b=x*2;if(f+=`\n xC = xCCorner + ${b*l};\n `,u===1){if(b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n `,l===1&&b>0?f+=`\n xC${b} = vec4(xTexelC${b-2}.zw, xTexelC${b}.xy);\n `:f+=`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${b} = vec4(previous.zw, xTexelC${b}.xy);\n } else {\n xC${b} = vec4(0.0, 0.0, xTexelC${b}.xy);\n }\n `):f+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xC${b} = xTexelC${b};\n `,b+1= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n `,l>1?f+=`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${b+1} = vec4(previous.zw, xTexelC${b+1}.xy);\n } else {\n xC${b+1} = vec4(0.0, 0.0, xTexelC${b+1}.xy);\n }\n `:f+=`\n xC${b+1} = vec4(xTexelC${b}.zw, xTexelC${b+1}.xy);\n `):w===1?f+=`\n xC${b+1} = xTexelC${b};\n `:f+=`\n xCOffset = xC + ${w};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b+1} = xTexelC${b+1};\n `}}else b= 0 && xCOffset < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.0);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(xTexelC${b}.zw, xTexelC${b+1}.zw);\n `,b+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${b+1} = vec4(xTexelC${b+1}.xy, final.xy);\n `)):(f+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${b}Ready == 0) {\n xTexelC${b} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${b}.zw = vec2(0.0);\n }\n xTexelC${b}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${b+1}Ready == 0) {\n xTexelC${b+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${b+1}.zw = vec2(0.);\n }\n xTexelC${b+1}Ready = 1;\n }\n\n xC${b} = vec4(\n xTexelC${b}.xy, xTexelC${b+1}.xy);\n `,b+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${c}'`);let p=S.computeConv2DInfo(o.shape,s.shape,i,c,a,l,!0),m;B().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&p.strideWidth<=2&&p.outChannels/p.inChannels===1?m=new Ld(p):m=new Pd(p);let f=[[p.padInfo.top,p.padInfo.left],[p.strideHeight,p.strideWidth],[p.dilationHeight,p.dilationWidth],[p.inHeight,p.inWidth]];return e.runWebGLProgram(m,[o,s],\"float32\",f)}var Pz={kernelName:os,backendName:\"webgl\",kernelFunc:Nrt};var LC=class{constructor(t){this.variableNames=[\"x\",\"dy\"],this.outputShape=t.filterShape;let e=t.strideHeight,n=t.strideWidth,o=t.padInfo.top,s=t.padInfo.left,i=t.outChannels/t.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${i} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${t.batchSize}; b++) {\n for (int yR = 0; yR < ${t.outHeight}; yR++) {\n int xR = wR + yR * ${e} - ${o};\n\n if (xR < 0 || xR >= ${t.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${t.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${s};\n\n if (xC < 0 || xC >= ${t.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}},MC=class{constructor(t){this.variableNames=[\"dy\",\"W\"],this.outputShape=t.inShape;let e=t.filterHeight,n=t.filterWidth,o=t.strideHeight,s=t.strideWidth,i=e-1-t.padInfo.top,a=n-1-t.padInfo.left,u=t.outChannels/t.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${e}; wR++) {\n float dyR = float(dyRCorner + wR) / ${o}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${e} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${s}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${u}; dm++) {\n int d2 = d1 * ${u} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function krt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,dy:s}=t,{strides:i,dilations:a,pad:u,dimRoundingMode:l,filterShape:c}=n,p=S.computeConv2DInfo(o.shape,c,i,a,u,l,!0),m=new LC(p);return e.runWebGLProgram(m,[o,s],\"float32\")}var Lz={kernelName:$p,backendName:\"webgl\",kernelFunc:krt};function _rt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,filter:s}=t,{strides:i,dilations:a,pad:u,dimRoundingMode:l,inputShape:c}=n,p=S.computeConv2DInfo(c,s.shape,i,a,u,l,!0),m=new MC(p);return e.runWebGLProgram(m,[o,s],\"float32\")}var Mz={kernelName:Dp,backendName:\"webgl\",kernelFunc:_rt};var zC=class{constructor(t){this.variableNames=[\"X\"],this.outputShape=[t,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n `}};function Ert(r){let{inputs:t,backend:e}=r,{x:n}=t,o=[...n.shape,...n.shape],s=y.sizeFromShape(n.shape),i=lt({inputs:{x:n},backend:e,attrs:{shape:[s]}}),a=new zC(s),u=e.runWebGLProgram(a,[i],i.dtype),l=lt({inputs:{x:u},backend:e,attrs:{shape:o}});return e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(u),l}var zz={kernelName:Rp,backendName:\"webgl\",kernelFunc:Ert};var BC=class{constructor(t){this.variableNames=[\"x\",\"W\"],this.outputShape=t.outShape;let{inHeight:e,inWidth:n,padInfo:o,strideHeight:s,strideWidth:i,filterHeight:a,filterWidth:u,dilationHeight:l,dilationWidth:c}=t,{top:p,left:m}=o;this.userCode=`\n const ivec2 strides = ivec2(${s}, ${i});\n const ivec2 pads = ivec2(${p}, ${m});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${a}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${e}) {\n for (int w = 0; w < ${u}; w++) {\n int wIn = wBeg + w * ${c};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}};function Art(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s}=t,{strides:i,pad:a,dilations:u}=n,l=S.computeDilation2DInfo(o.shape,s.shape,i,a,\"NHWC\",u),c,p=new BC(l);c=e.runWebGLProgram(p,[o,s],\"float32\");let m=lt({inputs:{x:c},backend:e,attrs:{shape:l.outShape}});return e.disposeIntermediateTensorInfo(c),m}var Bz={kernelName:Al,backendName:\"webgl\",kernelFunc:Art};function $rt(r){let{inputs:t,backend:e,attrs:n}=r,{equation:o}=n,s=t,{allDims:i,summedDims:a,idDims:u}=S.decodeEinsumEquation(o,s.length);S.checkEinsumDimSizes(i.length,u,s);let{path:l,steps:c}=S.getEinsumComputePath(a,u),p=c.length,m=null,f=i.length,d=[];for(let h=0;h=0&&(m=Zc({inputs:{x:m},backend:e,attrs:{axis:l[h]-(i.length-f),keepDims:!1}}),d.push(m)),f--)}for(let h of d)h!==m&&e.disposeIntermediateTensorInfo(h);return m}var Vz={kernelName:Fp,backendName:\"webgl\",kernelFunc:$rt};var Drt=\"return (x >= 0.0) ? x : (exp(x) - 1.0);\",Rrt=`\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n`,Frt=It({opSnippet:Drt,packedOpSnippet:Rrt}),Gz={kernelName:is,backendName:\"webgl\",kernelFunc:Frt};var Ort=\"return (b >= 1.0) ? a : a * (b + 1.0);\",Prt=`\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n`,Lrt=r=>{let{inputs:t,backend:e}=r,{dy:n,y:o}=t,s=B().getBool(\"WEBGL_PACK_BINARY_OPERATIONS\")?new Fo(Prt,n.shape,o.shape):new no(Ort,n.shape,o.shape);return e.runWebGLProgram(s,[n,o],n.dtype)},Wz={kernelName:Op,backendName:\"webgl\",kernelFunc:Lrt};var Mrt=`\n return vec4(equal(a, b));\n`,zrt=\"return float(a == b);\",Brt=ce({opSnippet:zrt,packedOpSnippet:Mrt,dtype:\"bool\",cpuKernelImpl:IL}),Uz={kernelName:xa,backendName:\"webgl\",kernelFunc:Brt};var Vrt=`\n // Error function is calculated approximately with elementary function.\n // See \"Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables\", Abramowitz and Stegun.\n float p = ${S.ERF_P};\n float a1 = ${S.ERF_A1};\n float a2 = ${S.ERF_A2};\n float a3 = ${S.ERF_A3};\n float a4 = ${S.ERF_A4};\n float a5 = ${S.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`,Grt=It({opSnippet:Vrt}),Hz={kernelName:ga,backendName:\"webgl\",kernelFunc:Grt};var Wrt=Oo+`\n return exp(x);\n`,Urt=`\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Ak=It({opSnippet:Wrt,packedOpSnippet:Urt,cpuKernelImpl:SL,dtype:\"float32\"}),qz={kernelName:as,backendName:\"webgl\",kernelFunc:Ak};function VC(r){let{inputs:t,attrs:e,backend:n}=r,{dim:o}=e,{input:s}=t,i=s.shape.length,a=s.shape.slice(),u=o;return o<0&&(y.assert(-(i+1)<=o,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+o+1),a.splice(u,0,1),lt({inputs:{x:s},backend:n,attrs:{shape:a}})}var Kz={kernelName:di,backendName:\"webgl\",kernelFunc:VC};var jz=\"return exp(x) - 1.0;\",Hrt=It({opSnippet:jz,packedOpSnippet:jz,cpuKernelImpl:TL}),Xz={kernelName:ya,backendName:\"webgl\",kernelFunc:Hrt};var fg=class{constructor(t,e,n){this.variableNames=[\"real\",\"imag\"];let o=e[1];this.outputShape=e;let s=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,i=n?`${o}.0`:\"1.0\",a;if(t===\"real\")a=\"return real * expR - imag * expI;\";else if(t===\"imag\")a=\"return real * expI + imag * expR;\";else throw new Error(`FFT component must be either \"real\" or \"imag\", got ${t}.`);this.userCode=`\n const float exponentMultiplier = ${s};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${a}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${o});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${o}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${i};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}};function GC(r,t,e){let n=e.texData.get(r.dataId),o=y.sizeFromShape(r.shape),s=r.shape[r.shape.length-1],i=o/s,a=lt({inputs:{x:r},backend:e,attrs:{shape:[i,s]}}),u=a.shape,l=new fg(\"real\",u,t),c=new fg(\"imag\",u,t),p=[{dataId:n.complexTensorInfos.real.dataId,dtype:n.complexTensorInfos.real.dtype,shape:u},{dataId:n.complexTensorInfos.imag.dataId,dtype:n.complexTensorInfos.imag.dtype,shape:u}],m=e.runWebGLProgram(l,p,\"float32\"),f=e.runWebGLProgram(c,p,\"float32\"),d=An({inputs:{real:m,imag:f},backend:e});e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f);let h=lt({inputs:{x:d},backend:e,attrs:{shape:r.shape}});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(d),h}function qrt(r){let{inputs:t,backend:e}=r,{input:n}=t;return GC(n,!1,e)}var Yz={kernelName:Pp,backendName:\"webgl\",kernelFunc:qrt};var WC=class{constructor(t,e){this.outputShape=[],this.customUniforms=[{name:\"value\",type:\"float\"}],this.variableNames=[\"x\"],this.outputShape=t,this.userCode=`\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n `}};function wl(r){let{backend:t,attrs:e}=r,{shape:n,value:o}=e,{dtype:s}=e;if(s=s||y.inferDtype(o),s===\"string\"){let i=y.getArrayFromDType(s,y.sizeFromShape(n));return i.fill(o),t.makeTensorInfo(n,s,i)}else{let i=new WC(n,o),a=[[o]];return t.runWebGLProgram(i,[],s,a)}}var Zz={kernelName:$l,backendName:\"webgl\",kernelFunc:wl};var UC=class{constructor(t){this.variableNames=[\"Image\"],this.outputShape=[];let e=t[2];this.outputShape=t,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${e} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${e}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var Jz={kernelName:ba,backendName:\"webgl\",kernelFunc:({inputs:r,backend:t})=>{let{image:e}=r,n=t,o=new UC(e.shape);return n.runWebGLProgram(o,[e],e.dtype)}};var Qz=\"return floor(x);\",Krt=It({opSnippet:Qz,packedOpSnippet:Qz,cpuKernelImpl:NL}),t3={kernelName:ls,backendName:\"webgl\",kernelFunc:Krt};var jrt=`\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n`,Xrt=`\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n`,Yrt=ce({opSnippet:jrt,packedOpSnippet:Xrt,dtype:\"int32\"}),e3={kernelName:us,backendName:\"webgl\",kernelFunc:Yrt};var HC=class{constructor(t){this.variableNames=[\"A\"];let e=He(),[n,o]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${o}.0, ${n}.0);\n\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}};var qC=class{constructor(t){this.variableNames=[\"A\"],this.packedInputs=!1,this.packedOutput=!0;let e=He(),[n,o]=t;this.outputShape=t,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${o}.0, ${n}.0);\n vec4 values = ${e.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${e.output} = result;\n }\n `}};var r3={kernelName:ih,backendName:\"webgl\",kernelFunc:Zrt},Md,$k=B().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");function Zrt(r){let{inputs:t,backend:e,attrs:n}=r,{pixels:o}=t,{numChannels:s}=n,i=typeof HTMLVideoElement!=\"undefined\"&&o instanceof HTMLVideoElement,a=typeof HTMLImageElement!=\"undefined\"&&o instanceof HTMLImageElement,[u,l]=i?[o.videoWidth,o.videoHeight]:[o.width,o.height],c=[l,u],p=[l,u,s];if(a||i){let h=B().getBool(\"CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU\");(Md==null||h!==$k)&&($k=h,Md=document.createElement(\"canvas\").getContext(\"2d\",{willReadFrequently:$k})),Md.canvas.width=u,Md.canvas.height=l,Md.drawImage(o,0,0,u,l),o=Md.canvas}let m=e.makeTensorInfo(c,\"int32\");e.texData.get(m.dataId).usage=Hr.PIXELS,e.gpgpu.uploadPixelDataToTexture(e.getTexture(m.dataId),o);let f=B().getBool(\"WEBGL_PACK\")?new qC(p):new HC(p),d=e.runWebGLProgram(f,[m],\"int32\");return e.disposeData(m.dataId),d}function Jrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dataFormat:c,dilations:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=n,h=S.convertConv2DDataFormat(c),g=S.computeConv2DInfo(o.shape,s.shape,u,p,l,m,!1,h),x,b=[],w=i!=null,C=a!=null,T=f===\"leakyrelu\",E=()=>{let D=[o,s],P=(M,W)=>{if(W===\"NCHW\"&&M.shape.length===1&&M.shape[0]!==1){let H=lt({inputs:{x:M},backend:e,attrs:{shape:[M.shape[0],1,1]}});return b.push(H),H}return M};if(w&&D.push(P(i,c)),C&&D.push(P(a,c)),T){let M=e.makeTensorInfo([],\"float32\",y.createScalarValue(d,\"float32\"));D.push(M),b.push(M)}return D};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=_C({x:o,filter:s,convInfo:g,backend:e,bias:i,activation:f,preluActivationWeights:a,leakyreluAlpha:d});else if(g.strideWidth<=2&&h===\"channelsLast\"&&B().getBool(\"WEBGL_EXP_CONV\")){let D=f?yl(f,!0):null,P=new Od(g,w,D,C,T),M=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],W=E();x=e.runWebGLProgram(P,W,\"float32\",M)}else if(B().getBool(\"WEBGL_CONV_IM2COL\"))x=EC({x:o,filter:s,convInfo:g,backend:e,bias:i,activation:f,preluActivationWeights:a,leakyreluAlpha:d});else{let D=f?yl(f,!1):null,P=new Fd(g,w,D,C,T),M=E();x=e.runWebGLProgram(P,M,\"float32\")}let $=lt({inputs:{x},backend:e,attrs:{shape:g.outShape}});return b.push(x),b.forEach(D=>e.disposeIntermediateTensorInfo(D)),$}var n3={kernelName:ki,backendName:\"webgl\",kernelFunc:Jrt};function Qrt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dimRoundingMode:p,activation:m,leakyreluAlpha:f}=n,d=[],h=c;h==null&&(h=[1,1]),y.assert(S.eitherStridesOrDilationsAreOne(u,h),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${u} and dilations '${h}'`);let g=S.computeConv2DInfo(o.shape,s.shape,u,h,l,p,!0),x=B().getBool(\"WEBGL_PACK_DEPTHWISECONV\")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,b=m?yl(m,x):null,w=[o,s],C=i!=null,T=a!=null,E=m===\"leakyrelu\";if(C&&w.push(i),T&&w.push(a),E){let M=e.makeTensorInfo([],\"float32\",y.createScalarValue(f,\"float32\"));w.push(M),d.push(M)}let $;x?$=new Ld(g,C,b,T,E):$=new Pd(g,C,b,T,E);let D=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],P=e.runWebGLProgram($,w,\"float32\",D);return d.forEach(M=>e.disposeIntermediateTensorInfo(M)),P}var o3={kernelName:_i,backendName:\"webgl\",kernelFunc:Qrt};var KC=class{constructor(t,e,n,o){this.sliceDim=t,this.strides=e,this.paramsShape=o,this.variableNames=[\"x\",\"indices\"],this.outputShape=n;let s=Wt(e.length),i=Wt(n.length),a=this.sliceDim>1?\"strides[j]\":\"strides\",u=Wt(o.length),l=o.length>1?\"paramsShape[j]\":\"paramsShape\";this.userCode=`\n ${s} strides = ${s}(${this.strides});\n ${u} paramsShape = ${u}(${this.paramsShape});\n void main() {\n ${i} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n for (int j = 0; j < ${this.sliceDim}; j++) {\n int index = round(getIndices(coords[0], j));\n out_of_bounds = out_of_bounds || index < 0;\n out_of_bounds = out_of_bounds || index >= ${l};\n flattenIndex += index * ${a};\n }\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}};function tnt(r){let{inputs:t,backend:e}=r,{params:n,indices:o}=t,s=o.shape,i=s[s.length-1],a=y.sizeFromShape(n.shape),[u,l,c,p]=S.prepareAndValidate(n,o),m=lt({inputs:{x:o},backend:e,attrs:{shape:[l,i]}}),f=lt({inputs:{x:n},backend:e,attrs:{shape:[y.sizeFromShape(n.shape)/c,c]}});if(e.shouldExecuteOnCPU([n,o])||n.dtype===\"string\"){let x=e.readSync(o.dataId),b=e.bufferSync(n),w=kL(x,b,n.dtype,l,i,c,p,n.shape,a);return e.makeTensorInfo(u,n.dtype,w.values)}let d=new KC(i,p,[l,c],n.shape),h=e.runWebGLProgram(d,[f,m],f.dtype),g=lt({inputs:{x:h},backend:e,attrs:{shape:u}});return e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(h),g}var s3={kernelName:wa,backendName:\"webgl\",kernelFunc:tnt};var jC=class{constructor(t,e){this.variableNames=[\"A\",\"indices\"],this.outputShape=e,this.rank=e.length;let n=Wt(this.rank),o=ent(t,2);this.userCode=`\n void main() {\n ${n} resRC = getOutputCoords();\n int index = int(getIndices(resRC.x, resRC.z));\n float inBounds = (index >= 0) && (index < ${t[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${o}));\n }\n `}};function ent(r,t){let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],n=[];for(let o=0;o=0,()=>`GatherV2: the index value ${T} is not in [0, ${w-1}]`)}}let l=S.segment_util.collectGatherOpShapeInfo(o,s,u,a),c=y.sizeFromShape(s.shape),p=[],m=lt({inputs:{x:o},backend:e,attrs:{shape:[l.batchSize,l.outerSize,l.dimSize,l.sliceSize]}}),f=lt({inputs:{x:s},backend:e,attrs:{shape:[l.batchSize,c/l.batchSize]}});p.push(m),p.push(f);let d=[l.batchSize,l.outerSize,c/l.batchSize,l.sliceSize];if(e.shouldExecuteOnCPU([o,s])||o.dtype===\"string\"){let b=e.bufferSync(f),w=e.bufferSync(m),C=_L(w,b,d);return p.forEach(T=>e.disposeIntermediateTensorInfo(T)),e.makeTensorInfo(l.outputShape,C.dtype,C.values)}let h=new jC(m.shape,d),g=e.runWebGLProgram(h,[m,f],m.dtype);p.push(g);let x=lt({inputs:{x:g},backend:e,attrs:{shape:l.outputShape}});return p.forEach(b=>e.disposeIntermediateTensorInfo(b)),x}var i3={kernelName:hi,backendName:\"webgl\",kernelFunc:Dk};var rnt=\"return float(a > b);\",nnt=`\n return vec4(greaterThan(a, b));\n`,ont=ce({opSnippet:rnt,packedOpSnippet:nnt,cpuKernelImpl:EL,dtype:\"bool\"}),a3={kernelName:Ca,backendName:\"webgl\",kernelFunc:ont};var snt=\"return float(a >= b);\",int=`\n return vec4(greaterThanEqual(a, b));\n`,ant=ce({opSnippet:snt,packedOpSnippet:int,dtype:\"bool\",cpuKernelImpl:AL}),l3={kernelName:ps,backendName:\"webgl\",kernelFunc:ant};function lnt(r){let{inputs:t,backend:e}=r,{input:n}=t;return GC(n,!0,e)}var u3={kernelName:Lp,backendName:\"webgl\",kernelFunc:lnt};var unt=\"return float(!isnan(x) && !isinf(x));\",cnt=It({opSnippet:unt,dtype:\"bool\"}),c3={kernelName:va,backendName:\"webgl\",kernelFunc:cnt};var pnt=\"return float(isinf(x));\",mnt=It({opSnippet:pnt,dtype:\"bool\"}),p3={kernelName:Ia,backendName:\"webgl\",kernelFunc:mnt};var fnt=\"return float(isnan(x));\",dnt=It({opSnippet:fnt,dtype:\"bool\"}),m3={kernelName:Sa,backendName:\"webgl\",kernelFunc:dnt};var hnt=\"return float(a < b);\",gnt=`\n return vec4(lessThan(a, b));\n`,xnt=ce({opSnippet:hnt,packedOpSnippet:gnt,cpuKernelImpl:$L,dtype:\"bool\"}),f3={kernelName:Ta,backendName:\"webgl\",kernelFunc:xnt};var ynt=\"return float(a <= b);\",bnt=`\n return vec4(lessThanEqual(a, b));\n`,wnt=ce({opSnippet:ynt,packedOpSnippet:bnt,cpuKernelImpl:DL,dtype:\"bool\"}),d3={kernelName:Na,backendName:\"webgl\",kernelFunc:wnt};function Cnt(r){let{backend:t,attrs:e}=r,{start:n,stop:o,num:s}=e,i=RL(n,o,s);return t.makeTensorInfo([i.length],\"float32\",i)}var h3={kernelName:zp,backendName:\"webgl\",kernelFunc:Cnt};var vnt=Oo+`\n return x < 0.0 ? 0./0. : log(x);\n`,Int=`\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n`,Snt=It({opSnippet:vnt,packedOpSnippet:Int,cpuKernelImpl:FL}),g3={kernelName:fs,backendName:\"webgl\",kernelFunc:Snt};var Tnt=Oo+`\n return log(1.0 + x);\n`,Nnt=It({opSnippet:Tnt}),x3={kernelName:ka,backendName:\"webgl\",kernelFunc:Nnt};var knt=\"return float(a >= 1.0 && b >= 1.0);\",_nt=`\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n`,Ent=ce({opSnippet:knt,packedOpSnippet:_nt,dtype:\"bool\"}),y3={kernelName:_a,backendName:\"webgl\",kernelFunc:Ent};var Ant=\"return float(!(x >= 1.0));\",$nt=It({opSnippet:Ant}),b3={kernelName:Ea,backendName:\"webgl\",kernelFunc:$nt};var Dnt=\"return float(a >= 1.0 || b >= 1.0);\",Rnt=`\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n`,Fnt=ce({opSnippet:Dnt,packedOpSnippet:Rnt,dtype:\"bool\"}),w3={kernelName:Aa,backendName:\"webgl\",kernelFunc:Fnt};var XC=class{constructor(t,e,n,o,s){this.variableNames=[\"x\"],this.outputShape=[];let i=e,a=t[3]-1;this.outputShape=t;let u,l=`float(${n}) + float(${o}) * sum`;s===.5?u=`inversesqrt(${l})`:s===1?u=`1.0/(${l})`:u=`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${i}; j <= ${i}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${a}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${u};\n setOutput(val);\n }\n `}};var YC=class{constructor(t,e,n,o,s){this.variableNames=[\"x\"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;let i=e,a=t[3]-1;this.outputShape=t;let u,l=`float(${n}) + float(${o}) * sum`;s===.5?u=`inversesqrt(${l})`:s===1?u=`1.0/(${l})`:u=`exp(log(${l}) * float(-${s}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${i};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${i}; j <= ${i}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${a}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${u};\n setOutput(result);\n }\n `}};var Ont=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{depthRadius:s,bias:i,alpha:a,beta:u}=n,l=B().getBool(\"WEBGL_PACK_NORMALIZATION\")?new YC(o.shape,s,i,a,u):new XC(o.shape,s,i,a,u);return e.runWebGLProgram(l,[o],o.dtype)},C3={kernelName:Dl,backendName:\"webgl\",kernelFunc:Ont};var ZC=class{constructor(t,e,n,o,s){this.variableNames=[\"inputImage\",\"outputImage\",\"dy\"],this.outputShape=[],this.outputShape=t,this.depth=t[3],this.depthRadius=e,this.bias=n,this.alpha=o,this.beta=s,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${e})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${e} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${o}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${o})\n * float(${s})\n * getInputImage(b ,r ,c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${s});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}};var Pnt=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o,y:s,dy:i}=t,{depthRadius:a,bias:u,alpha:l,beta:c}=n,p=new ZC(o.shape,a,u,l,c);return e.runWebGLProgram(p,[o,s,i],o.dtype)},v3={kernelName:Bp,backendName:\"webgl\",kernelFunc:Pnt};function I3(r,t,e,n){let o=y.sizeFromShape(t),i=y.sizeFromShape(r.shape)/o,a=lt({inputs:{x:r},attrs:{shape:[i,o]},backend:n}),u=Un(a,r.dtype,\"max\",n),l=lt({inputs:{x:u},attrs:{shape:e},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),l}function Rk(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{reductionIndices:s,keepDims:i}=n,a=o.shape.length,u=y.parseAxisParam(s,o.shape),l=u,c=S.getAxesPermutation(l,a),p=c!=null,m=e.shouldExecuteOnCPU([o]),f=o;if(p){if(m){let w=e.texData.get(f.dataId).values,C=new Array(a);for(let $=0;$`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${l}'`);let c=S.computePool2DInfo(o.shape,s,i,l,a,u);if(c.filterWidth===1&&c.filterHeight===1&&y.arraysEqual(c.inShape,c.outShape))return er({inputs:{x:o},backend:e});let p=new ii(c,\"max\",!1);return e.runWebGLProgram(p,[o],o.dtype)}var N3={kernelName:gs,backendName:\"webgl\",kernelFunc:Bnt};function Vnt(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{filterSize:s,strides:i,pad:a,dataFormat:u,dimRoundingMode:l}=n,c=[1,1,1],p=S.computePool3DInfo(o.shape,s,i,c,a,l,u),m=new Du(p,\"max\",!1);return e.runWebGLProgram(m,[o],o.dtype)}var k3={kernelName:Rl,backendName:\"webgl\",kernelFunc:Vnt};var JC=class{constructor(t){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=t.inShape;let e=t.strideHeight,n=t.strideWidth,o=t.dilationHeight,s=t.effectiveFilterHeight,i=t.effectiveFilterWidth,a=s-1-t.padInfo.top,u=i-1-t.padInfo.left,l=s*i-1;this.userCode=`\n const ivec2 pads = ivec2(${a}, ${u});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${s};\n wR += ${o}) {\n float dyR = float(dyRCorner + wR) / ${e}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${i} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}},QC=class{constructor(t){this.variableNames=[\"dy\",\"maxPos\"],this.outputShape=t.inShape;let e=t.strideDepth,n=t.strideHeight,o=t.strideWidth,s=t.dilationDepth,i=t.dilationHeight,a=t.dilationWidth,u=t.effectiveFilterDepth,l=t.effectiveFilterHeight,c=t.effectiveFilterWidth,p=u-1-t.padInfo.front,m=l-1-t.padInfo.top,f=c-1-t.padInfo.left,d=u*l*c-1;this.userCode=`\n const ivec3 pads = ivec3(${p}, ${m}, ${f});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${u};\n wD += ${s}) {\n float dyD = float(dyDCorner + wD) / ${e}.0;\n\n if (dyD < 0.0 || dyD >= ${t.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${t.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${c};\n wC += ${a}) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${t.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${d} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${c} +\n wR * ${c} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}};function Gnt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s}=t,i=s,{filterSize:a,strides:u,pad:l,dimRoundingMode:c}=n,p=[1,1,1],m=S.computePool3DInfo(i.shape,a,u,p,l,c),f=new Du(m,\"max\",!0),d=e.runWebGLProgram(f,[i],i.dtype),h=new QC(m),g=e.runWebGLProgram(h,[o,d],i.dtype);return e.disposeIntermediateTensorInfo(d),g}var _3={kernelName:Gp,backendName:\"webgl\",kernelFunc:Gnt};function Wnt(r){let{inputs:t,backend:e,attrs:n}=r,{dy:o,input:s,output:i}=t,a=s;oi([s,i],\"maxPoolGrad\");let{filterSize:u,strides:l,pad:c,dimRoundingMode:p}=n,m=S.computePool2DInfo(a.shape,u,l,1,c,p),f=!0,d=new ii(m,\"max\",f),h=e.runWebGLProgram(d,[a],a.dtype),g=new JC(m),x=e.runWebGLProgram(g,[o,h],a.dtype);return e.disposeIntermediateTensorInfo(h),x}var E3={kernelName:Vp,backendName:\"webgl\",kernelFunc:Wnt};function A3(r,t,e,n){let o=new ii(e,\"max\",!1),s=n.runWebGLProgram(o,[r],\"float32\");o=new ii(e,\"max\",!0,!0,t);let i=n.runWebGLProgram(o,[r],\"float32\");return[s,i]}var $3={kernelName:Wp,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{filterSize:o,strides:s,pad:i,includeBatchInIndex:a}=t,u=e;y.assert(n.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${n.shape.length}.`);let l=[1,1];y.assert(S.eitherStridesOrDilationsAreOne(s,l),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${l}'`);let c=S.computePool2DInfo(n.shape,o,s,l,i),[p,m]=A3(n,a,c,u);return[p,m]}};function D3(r,t,e,n){let o=y.sizeFromShape(t),i=y.sizeFromShape(r.shape)/o,a=lt({inputs:{x:r},attrs:{shape:[i,o]},backend:n}),u=Un(a,\"float32\",\"mean\",n),l=lt({inputs:{x:u},attrs:{shape:e},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),l}var R3={kernelName:xs,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{x:n}=r,{keepDims:o,axis:s}=t,i=e,a=n.shape.length,u=y.parseAxisParam(s,n.shape),l=u,c=S.getAxesPermutation(l,a),p=c!=null,m=i.shouldExecuteOnCPU([n]),f=[],d=n;if(p){if(m){let C=i.texData.get(d.dataId).values,T=new Array(a);for(let D=0;Dc[0]+t[p]+c[1]);let o=t.length,s=Wt(o),i=e.map(c=>c[0]).join(\",\"),a=e.map((c,p)=>c[0]+t[p]).join(\",\"),u=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,o),l=n===\"reflect\"?0:1;if(o===1){this.userCode=`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n for (int i = 0; i < ${o}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${s} coords = outC - start;\n setOutput(getX(${u}));\n }\n `}};var ev=class{constructor(t,e,n){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e.map((d,h)=>d[0]+t[h]+d[1]);let o=t.length,s=Wt(o),i=e.map(d=>d[0]).join(\",\"),a=e.map((d,h)=>d[0]+t[h]).join(\",\"),u=tr(\"rc\",o),l=tr(\"source\",o),c=`${u[o-1]} < ${this.outputShape[o-1]}`,p=o===1?\"source\":`vec2(${l.slice(-2).join()})`,m=n===\"reflect\"?0:1,f=\"\";if(o===1){let d=`\n ${s} source = rc;\n if (source < start) {\n source = start * 2 - source - ${m};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${m};\n }\n source -= start;\n `;f=`\n ${s} rc = outputLoc;\n ${d}\n result[0] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[1] = getChannel(getX(${l.join()}), ${p});\n }\n `}else{let d=`\n ${s} source = rc;\n ${s} lt = ${s}(lessThan(source, start));\n ${s} gte = ${s}(greaterThanEqual(source, end));\n ${s} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${m}) +\n gte * ((end - 1) * 2 - source + ${m});\n source -= start;\n `;f=`\n ${s} rc = outputLoc;\n ${d}\n result[0] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[1] = getChannel(getX(${l.join()}), ${p});\n }\n rc = outputLoc;\n ${u[o-2]} += 1;\n if(${u[o-2]} < ${this.outputShape[o-2]}) {\n ${d}\n result[2] = getChannel(getX(${l.join()}), ${p});\n ${u[o-1]} += 1;\n if(${c}) {\n ${d}\n result[3] = getChannel(getX(${l.join()}), ${p});\n }\n }\n `}this.userCode=`\n const ${s} start = ${s}(${i});\n const ${s} end = ${s}(${a});\n\n void main() {\n ${s} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${f}\n setOutput(result);\n }\n `}};var jnt=({inputs:r,backend:t,attrs:e})=>{let{x:n}=r,{paddings:o,mode:s}=e,i=B().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new ev(n.shape,o,s):new tv(n.shape,o,s);return t.runWebGLProgram(i,[n],n.dtype)},P3={kernelName:ws,backendName:\"webgl\",kernelFunc:jnt};var Xnt=`if (b == 0.0) return NAN;\n return mod(a, b);`,Ynt=`\n vec4 result = mod(a, b);\n vec4 isNaN = vec4(equal(b, vec4(0.0)));\n `+Au+`\n return result;\n`,Znt=ce({opSnippet:Xnt,packedOpSnippet:Ynt}),L3={kernelName:$a,backendName:\"webgl\",kernelFunc:Znt};var rv=class{constructor(t,e,n){this.variableNames=[\"probs\"],this.customUniforms=[{name:\"seed\",type:\"float\"}],this.outputShape=[t,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${e-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${e-1}));\n }\n `}};var Jnt=`\nif (a == b) {\n return 1.0;\n};\nreturn a / b;`,Qnt=`\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n`,Fk=ce({opSnippet:Jnt,packedOpSnippet:Qnt,checkOutOfBounds:!0}),M3={kernelName:ss,backendName:\"webgl\",kernelFunc:Fk};var z3=\"return a - b;\",Ok=ce({opSnippet:z3,packedOpSnippet:z3,supportsComplex:!0,cpuKernelImpl:eM}),B3={kernelName:Bs,backendName:\"webgl\",kernelFunc:Ok};function Pk(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{dim:s}=n,i=y.parseAxisParam([s],o.shape),a=Rk({inputs:{x:o},backend:e,attrs:{reductionIndices:i,keepDims:!1}}),u=S.expandShapeToKeepDim(a.shape,i),l=lt({inputs:{x:a},backend:e,attrs:{shape:u}}),c=Ok({inputs:{a:o,b:l},backend:e}),p=Ak({inputs:{x:c},backend:e}),m=Zc({inputs:{x:p},backend:e,attrs:{axis:i,keepDims:!1}}),f=lt({inputs:{x:m},backend:e,attrs:{shape:u}}),d=Fk({inputs:{a:p,b:f},backend:e});return e.disposeIntermediateTensorInfo(a),e.disposeIntermediateTensorInfo(l),e.disposeIntermediateTensorInfo(c),e.disposeIntermediateTensorInfo(p),e.disposeIntermediateTensorInfo(m),e.disposeIntermediateTensorInfo(f),d}var V3={kernelName:Ms,backendName:\"webgl\",kernelFunc:Pk};function tot(r){let{inputs:t,backend:e,attrs:n}=r,{logits:o}=t,{numSamples:s,seed:i,normalized:a}=n,u=a?o:Pk({inputs:{logits:o},backend:e,attrs:{dim:o.shape.length-1}}),l=u.shape[0],c=u.shape[1],p=new rv(l,c,s),m=[[i]],f=e.runWebGLProgram(p,[u],\"int32\",m);return a||e.disposeIntermediateTensorInfo(u),f}var G3={kernelName:Up,backendName:\"webgl\",kernelFunc:tot};var eot=fr+`\n return -x;\n`,rot=`\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`;function not(r){let{inputs:t,backend:e}=r,{x:n}=t;if(e.shouldExecuteOnCPU([n])){let s=e.texData.get(n.dataId),[i,a]=zL(s.values,n.shape,n.dtype);return e.makeTensorInfo(a,n.dtype,i)}let o;return B().getBool(\"WEBGL_PACK_UNARY_OPERATIONS\")?o=new ro(n.shape,rot):o=new Zr(n.shape,eot),e.runWebGLProgram(o,[n],n.dtype)}var W3={kernelName:gi,backendName:\"webgl\",kernelFunc:not};var oot=Vr.nonMaxSuppressionV3Impl;function sot(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u}=n,l=e.readSync(o.dataId),c=e.readSync(s.dataId),{selectedIndices:p}=oot(l,c,i,a,u);return e.makeTensorInfo([p.length],\"int32\",new Int32Array(p))}var U3={kernelName:Ra,backendName:\"webgl\",kernelFunc:sot};var iot=Vr.nonMaxSuppressionV4Impl;function aot(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u,padToMaxOutputSize:l}=n,c=e.readSync(o.dataId),p=e.readSync(s.dataId),{selectedIndices:m,validOutputs:f}=iot(c,p,i,a,u,l);return[e.makeTensorInfo([m.length],\"int32\",new Int32Array(m)),e.makeTensorInfo([],\"int32\",new Int32Array([f]))]}var H3={kernelName:Fa,backendName:\"webgl\",kernelFunc:aot};var lot=Vr.nonMaxSuppressionV5Impl;function uot(r){S.warn(\"tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead\");let{inputs:t,backend:e,attrs:n}=r,{boxes:o,scores:s}=t,{maxOutputSize:i,iouThreshold:a,scoreThreshold:u,softNmsSigma:l}=n,c=e.readSync(o.dataId),p=e.readSync(s.dataId),m=i,f=a,d=u,h=l,{selectedIndices:g,selectedScores:x}=lot(c,p,m,f,d,h);return[e.makeTensorInfo([g.length],\"int32\",new Int32Array(g)),e.makeTensorInfo([x.length],\"float32\",new Float32Array(x))]}var q3={kernelName:Oa,backendName:\"webgl\",kernelFunc:uot};var nv=class{constructor(t,e,n,o){this.variableNames=[\"indices\"],this.outputShape=[t,e],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${o}), float(${n}),\n float(index == coords.y)));\n }\n `}};var cot=r=>{let{inputs:t,backend:e,attrs:n}=r,{indices:o}=t,{dtype:s,depth:i,onValue:a,offValue:u}=n,l=y.sizeFromShape(o.shape),c=new nv(l,i,a,u),p=lt({inputs:{x:o},backend:e,attrs:{shape:[l]}}),m=e.runWebGLProgram(c,[p],s);e.disposeIntermediateTensorInfo(p);let f=[...o.shape,i],d=lt({inputs:{x:m},backend:e,attrs:{shape:f}});return e.disposeIntermediateTensorInfo(m),d},K3={kernelName:vs,backendName:\"webgl\",kernelFunc:cot};function dg(r){let{inputs:t,backend:e}=r,{x:n}=t;if(n.dtype===\"complex64\"){let o=bl({inputs:{input:n},backend:e}),s=dg({inputs:{x:o},backend:e}),i=Qc({inputs:{input:n},backend:e}),a=dg({inputs:{x:i},backend:e}),u=An({inputs:{real:s,imag:a},backend:e});return e.disposeIntermediateTensorInfo(o),e.disposeIntermediateTensorInfo(s),e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(a),u}else return wl({attrs:{shape:n.shape,dtype:n.dtype,value:n.dtype===\"string\"?\"\":0},backend:e})}var j3={kernelName:Ti,backendName:\"webgl\",kernelFunc:dg};function X3(r){let{inputs:t,backend:e}=r,{x:n}=t;if(n.dtype===\"string\")throw new Error(\"onesLike is not supported under string dtype\");if(n.dtype===\"complex64\"){let o=bl({inputs:{input:n},backend:e}),s=X3({inputs:{x:o},backend:e}),i=Qc({inputs:{input:n},backend:e}),a=dg({inputs:{x:i},backend:e}),u=An({inputs:{real:s,imag:a},backend:e});return e.disposeIntermediateTensorInfo(o),e.disposeIntermediateTensorInfo(s),e.disposeIntermediateTensorInfo(i),e.disposeIntermediateTensorInfo(a),u}else return wl({attrs:{shape:n.shape,dtype:n.dtype,value:1},backend:e})}var Y3={kernelName:xi,backendName:\"webgl\",kernelFunc:X3};function pot(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n;if(t.length===1)return VC({inputs:{input:t[0]},backend:e,attrs:{dim:o}});let s=t[0].shape,i=t[0].dtype;t.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=VC({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=Ek({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeIntermediateTensorInfo(c)),l}var Z3={kernelName:yi,backendName:\"webgl\",kernelFunc:pot};var ov=class{constructor(t,e,n){this.variableNames=[\"x\"],this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=e.map((l,c)=>l[0]+t[c]+l[1]);let o=t.length,s=Wt(o),i=e.map(l=>l[0]).join(\",\"),a=e.map((l,c)=>l[0]+t[c]).join(\",\"),u=[\"coords[0]\",\"coords[1]\",\"coords[2]\",\"coords[3]\"].slice(0,o);if(o===1){this.userCode=`\n int start = ${i};\n int end = ${a};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `;return}this.userCode=`\n ${s} start = ${s}(${i});\n ${s} end = ${s}(${a});\n\n void main() {\n ${s} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${s} coords = outC - start;\n setOutput(getX(${u}));\n }\n }\n `}};var sv=class{constructor(t,e,n){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:\"value\",type:\"float\"}],this.outputShape=e.map((h,g)=>h[0]+t[g]+h[1]);let o=t.length,s=Wt(o),i=e.map(h=>h[0]).join(\",\"),a=e.map((h,g)=>h[0]+t[g]).join(\",\"),u=tr(\"rc\",o),l=tr(\"source\",o),c=`${u[o-1]} < ${this.outputShape[o-1]}`,p=o===1?\"source\":`vec2(${l.slice(-2).join()})`,m=[`${s} rc = outputLoc;`,`${u[o-1]} += 1;\n if(${c}) {\n `,o===1?\"\":`}\n rc = outputLoc;\n ${u[o-2]} += 1;\n if(${u[o-2]} < ${this.outputShape[o-2]}) {`,o===1?\"\":` ${u[o-1]} += 1;\n 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:t,backend:e,attrs:n}=r,{x:o}=t,{paddings:s,constantValue:i}=n;if(y.sizeFromShape(o.shape)===0){let l=s.map((c,p)=>c[0]+o.shape[p]+c[1]);return wl({backend:e,attrs:{shape:l,value:i,dtype:o.dtype}})}let a=B().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new sv(o.shape,s,i):new ov(o.shape,s,i),u=[[i]];return e.runWebGLProgram(a,[o],o.dtype,u)},J3={kernelName:Is,backendName:\"webgl\",kernelFunc:Lk};var mot=`\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n`,fot=`\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n vec4 isNaN = vec4(lessThan(a, vec4(0.0))) * vec4(lessThan(floor(b), b));\n `+Au+`\n return result;\n`,dot=ce({opSnippet:mot,packedOpSnippet:fot}),Q3={kernelName:Ss,backendName:\"webgl\",kernelFunc:dot};function hot(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,keepDims:i}=n,a=o.shape.length,u=[],l=y.parseAxisParam(s,o.shape),c=l,p=S.getAxesPermutation(c,a),m=o;p!=null&&(m=Le({inputs:{x:o},backend:e,attrs:{perm:p}}),c=S.getInnerMostAxes(c.length,a),u.push(m)),S.assertAxesAreInnerMostDims(\"prod\",c,a);let f;if(e.shouldExecuteOnCPU([m])){let d=e.texData.get(m.dataId).values,{outVals:h,outShape:g,outDtype:x}=VL(m.shape,m.dtype,d,c);f=e.makeTensorInfo(g,x,h)}else{let[d,h]=S.computeOutAndReduceShapes(m.shape,c),g=y.sizeFromShape(h),x=lt({inputs:{x:m},backend:e,attrs:{shape:[-1,g]}}),b=Xu(o.dtype),w=Un(x,b,\"prod\",e);f=lt({inputs:{x:w},backend:e,attrs:{shape:d}}),u.push(x),u.push(w)}if(i){u.push(f);let d=S.expandShapeToKeepDim(f.shape,l);f=lt({inputs:{x:f},backend:e,attrs:{shape:d}})}return u.forEach(d=>e.disposeIntermediateTensorInfo(d)),f}var tB={kernelName:Ns,backendName:\"webgl\",kernelFunc:hot};function got(r){let{inputs:t,backend:e,attrs:n}=r,{shape:o,values:s,defaultValue:i,rowPartitionTensors:a}=t,{rowPartitionTypes:u}=n,l=e.readSync(o.dataId),c=e.readSync(s.dataId),p=e.readSync(i.dataId),m=a.map(g=>e.readSync(g.dataId)),f=a.map(g=>g.shape),[d,h]=GL(l,o.shape,c,s.shape,s.dtype,p,i.shape,m,f,u);return e.makeTensorInfo(d,s.dtype,h)}var eB={kernelName:Hp,backendName:\"webgl\",kernelFunc:got};var Mk=r=>{let{backend:t,attrs:e}=r,{start:n,stop:o,step:s,dtype:i}=e,a=WL(n,o,s,i);return t.makeTensorInfo([a.length],i,a)},rB={kernelName:Fl,backendName:\"webgl\",kernelFunc:Mk};var xot=\"return 1.0 / x;\",yot=It({opSnippet:xot}),nB={kernelName:Pa,backendName:\"webgl\",kernelFunc:yot};var bot=fr+`\n return (x < 0.0) ? 0.0 : x;\n`,wot=`\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Cot=It({opSnippet:bot,packedOpSnippet:wot}),oB={kernelName:ks,backendName:\"webgl\",kernelFunc:Cot};var vot=fr+`\n return (x < 0.0) ? 0.0 : min(6.0, x);\n`,Iot=`\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Sot=It({opSnippet:vot,packedOpSnippet:Iot}),sB={kernelName:As,backendName:\"webgl\",kernelFunc:Sot};var iv=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m;s?m=\"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)\":m=\"vec2(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/p[0]},\n ${c[1]/p[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${u}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}};var av=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m;s?m=\"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)\":m=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/p[0]},\n ${c[1]/p[1]},\n ${c[1]/p[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${u}.0,\n ${u}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${m};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}};function Tot(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,c=B().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new av(o.shape,u,l,s,i):new iv(o.shape,u,l,s,i);return e.runWebGLProgram(c,[o],\"float32\")}var iB={kernelName:Es,backendName:\"webgl\",kernelFunc:Tot};var lv=class{constructor(t,e,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=e;let[,o,s]=e,[,i,a]=t,u=[n&&i>1?o-1:o,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],c=u[0]/l[0],p=u[1]/l[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${p});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${f});\n\n const int winHeight = int(${d});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${o-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${s-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function Not(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=new lv(s.shape,o.shape,i);return e.runWebGLProgram(a,[s],s.dtype)}var aB={kernelName:jp,backendName:\"webgl\",kernelFunc:Not};var uv=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,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=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${c[0]/p[0]},\n ${c[1]/p[1]});\n const vec2 inputShapeRC = vec2(${a}.0, ${u}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${f};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}};var cv=class{constructor(t,e,n,o,s){this.variableNames=[\"A\"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];let[i,a,u,l]=t;this.outputShape=[i,e,n,l];let c=[o&&e>1?a-1:a,o&&n>1?u-1:u],p=[o&&e>1?e-1:e,o&&n>1?n-1:n],m=o?\"0.5\":\"0.0\",f;s?f=\"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))\":f=\"vec3(yRC) * effectiveInputOverOutputRatioRC\",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${c[0]/p[0]},\n ${c[1]/p[1]},\n ${c[1]/p[1]});\n const vec3 inputShapeRC = vec3(${a}.0, ${u}.0,\n ${u}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${f};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${m})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}};function kot(r){let{inputs:t,backend:e,attrs:n}=r,{images:o}=t,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,c=B().getBool(\"WEBGL_PACK_IMAGE_OPERATIONS\")?new cv(o.shape,u,l,s,i):new uv(o.shape,u,l,s,i);return e.runWebGLProgram(c,[o],o.dtype)}var lB={kernelName:_s,backendName:\"webgl\",kernelFunc:kot};var pv=class{constructor(t,e,n){this.variableNames=[\"dy\"],this.outputShape=[],this.outputShape=e;let[,o,s]=e,[,i,a]=t,u=[n&&i>1?o-1:o,n&&a>1?s-1:s],l=[n&&i>1?i-1:i,n&&a>1?a-1:a],c=u[0]/l[0],p=u[1]/l[1],m=1/c,f=1/p,d=Math.ceil(m)*2+2,h=Math.ceil(f)*2+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${c});\n const float widthScale = float(${p});\n\n const float invHeightScale = float(${m});\n const float invWidthScale = float(${f});\n\n const int winHeight = int(${d});\n const int winWidth = int(${h});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${i}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${a}) {\n continue;\n }\n\n float sourceFracRow =\n float(${u[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${u[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${o}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${s}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}};function _ot(r){let{inputs:t,backend:e,attrs:n}=r,{images:o,dy:s}=t,{alignCorners:i}=n,a=new pv(s.shape,o.shape,i);return e.runWebGLProgram(a,[s],s.dtype)}var uB={kernelName:Kp,backendName:\"webgl\",kernelFunc:_ot};var mv=class{constructor(t,e){this.variableNames=[\"x\"];let n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=t,n===1){this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${t[0]} - coord - 1));\n }\n `;return}let o=a=>e.indexOf(a)!==-1&&t[a]!==1?`${t[a]} - coords[${a}] - 1`:`coords[${a}]`,s=t.map((a,u)=>o(u)).join(\",\"),i=Wt(n);this.userCode=`\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${s}));\n }\n `}};var fv=class{constructor(t,e){this.variableNames=[\"x\"],this.packedInputs=!0,this.packedOutput=!0;let n=t.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=t;let o=tr(\"rc\",n),s=`${o[n-1]} + 1 < ${this.outputShape[n-1]}`,i=`${o[n-2]} + 1 < ${this.outputShape[n-2]}`,a=Wt(n);n===1?this.userCode=`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${t[0]} - rc - 1),\n ${t[0]} - rc - 1);\n if(${s}){\n result.g = getChannel(getX(${t[0]} - (rc + 1) - 1),\n ${t[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:this.userCode=`\n void main() {\n ${a} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${u(o.slice())};\n if(${s}){\n result.g = ${l(o.slice())};\n }\n if(${i}) {\n result.b = ${c(o.slice())};\n if(${s}) {\n result.a = ${p(o.slice())};\n }\n }\n setOutput(result);\n }\n `;function u(d){return m(d)}function l(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=t.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 e.indexOf(d)!==-1&&t[d]!==1?`${t[d]} - ${h[d]} - 1`:`${h[d]}`}}};function Eot(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n,i=o.shape.length,a=y.parseAxisParam(s,o.shape);if(i===0)return er({inputs:{x:o},backend:e});let u=B().getBool(\"WEBGL_PACK_ARRAY_OPERATIONS\")?new fv(o.shape,a):new mv(o.shape,a);return e.runWebGLProgram(u,[o],o.dtype)}var cB={kernelName:$s,backendName:\"webgl\",kernelFunc:Eot};var dv=class{constructor(t,e){this.variableNames=[\"Image\"],this.outputShape=[],this.customUniforms=[{name:\"params\",type:\"vec4\"}];let n=t[1],o=t[2];this.outputShape=t;let s=\"\";typeof e==\"number\"?s=`float outputValue = ${e.toFixed(2)};`:s=`\n vec3 fill = vec3(${e.join(\",\")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${s}\n if(coordX >= 0 && coordX < ${o} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}};var pB={kernelName:qa,backendName:\"webgl\",kernelFunc:({inputs:r,attrs:t,backend:e})=>{let{image:n}=r,{radians:o,fillValue:s,center:i}=t,a=e,u=new dv(n.shape,s),[l,c]=S.getImageCenter(i,n.shape[1],n.shape[2]),p=[[l,c,Math.sin(o),Math.cos(o)]];return a.runWebGLProgram(u,[n],n.dtype,p)}};var Aot=`\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n`,$ot=It({opSnippet:Aot}),mB={kernelName:Ds,backendName:\"webgl\",kernelFunc:$ot};var Dot=\"return inversesqrt(x);\",Rot=It({opSnippet:Dot,cpuKernelImpl:UL}),fB={kernelName:Rs,backendName:\"webgl\",kernelFunc:Rot};var zd=class{constructor(t,e,n,o,s,i,a=!0){this.variableNames=[\"updates\",\"indices\",\"defaultValue\"],this.outputShape=i;let u=Wt(s.length),l=Wt(i.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=e>1?\"strides[j]\":\"strides\";this.userCode=`\n ${u} strides = ${u}(${s});\n\n void main() {\n ${l} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${t}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${e}; j++) {\n int index = round(${p});\n flattenedIndex += index * ${d};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${f};\n found = true;\n }\n }\n setOutput(mix(getDefaultValue(), sum, float(found)));\n }\n `}};function Fot(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o,updates:s}=t,{shape:i}=n,{sliceRank:a,numUpdates:u,sliceSize:l,strides:c,outputSize:p}=S.calculateShapes(s,o,i),m=[p/l,l];if(p===0)return e.makeTensorInfo(i,o.dtype);let f=lt({inputs:{x:o},backend:e,attrs:{shape:[u,a]}}),d=lt({inputs:{x:s},backend:e,attrs:{shape:[u,l]}}),h=e.makeTensorInfo([],\"float32\",new Float32Array([0])),g=new zd(u,a,f.shape.length,d.shape.length,c,m),x=e.runWebGLProgram(g,[d,f,h],d.dtype),b=lt({inputs:{x},backend:e,attrs:{shape:i}});return e.disposeIntermediateTensorInfo(f),e.disposeIntermediateTensorInfo(d),e.disposeIntermediateTensorInfo(x),e.disposeIntermediateTensorInfo(h),b}var dB={kernelName:La,backendName:\"webgl\",kernelFunc:Fot};var hv=class{constructor(t,e,n,o){this.variableNames=[\"sortedSequence\",\"values\"],this.customUniforms=[{name:\"numInputs\",type:\"int\"}],this.outputShape=[t,n];let s=\"while (left < right) {\",i=`for (int i = 0; i < ${Math.ceil(Math.log2(e+1))}; ++i) { if (left >= right) break;`,a=B().getNumber(\"WEBGL_VERSION\")===2?s:i,u=o===\"left\"?\"<\":\"<=\";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${a}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${u} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}};function Oot(r){let{inputs:t,backend:e,attrs:n}=r,{sortedSequence:o,values:s}=t,{side:i}=n,a=new hv(o.shape[0],o.shape[1],s.shape[1],i),u=[[o.shape[1]]];return e.runWebGLProgram(a,[o,s],\"int32\",u)}var hB={kernelName:Xp,backendName:\"webgl\",kernelFunc:Oot};var gv=class{constructor(t,e,n){this.variableNames=[\"c\",\"a\",\"b\"],this.outputShape=e;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 a=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\"],u=[],l=[];for(let c=0;c= 1.0) {\n setOutput(getA(${s}));\n } else {\n setOutput(getB(${s}));\n }\n }\n `}};function Pot(r){let{inputs:t,backend:e}=r,{condition:n,t:o,e:s}=t,i=new gv(n.shape.length,o.shape,o.shape.length);return e.runWebGLProgram(i,[n,o,s],ir(o.dtype,s.dtype))}var gB={kernelName:wi,backendName:\"webgl\",kernelFunc:Pot};var Lot=`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${S.SELU_SCALEALPHA};\n float scale = ${S.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`,Mot=It({opSnippet:Lot}),xB={kernelName:Ma,backendName:\"webgl\",kernelFunc:Mot};var zot=Oo+`\n return 1.0 / (1.0 + exp(-1.0 * x));\n`,Bot=`\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n`,Vot=It({opSnippet:zot,packedOpSnippet:Bot,cpuKernelImpl:qL}),yB={kernelName:Os,backendName:\"webgl\",kernelFunc:Vot};var Got=`\n if (isnan(x)) { return 0.0; }\n return sign(x);\n`,Wot=It({opSnippet:Got}),bB={kernelName:Ba,backendName:\"webgl\",kernelFunc:Wot};var Uot=Oo+`\n return sin(x);\n`,Hot=It({opSnippet:Uot}),wB={kernelName:Fs,backendName:\"webgl\",kernelFunc:Hot};var qot=`\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n`,Kot=It({opSnippet:qot}),CB={kernelName:za,backendName:\"webgl\",kernelFunc:Kot};var jot=`\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n`,Xot=It({opSnippet:jot}),vB={kernelName:Va,backendName:\"webgl\",kernelFunc:Xot};var Yot=r=>{let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,paddings:i}=n;y.assert(o.shape.length<=4,()=>\"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet\");let a=s.reduce((x,b)=>x*b),u=[[0,0]];u.push(...i);for(let x=1+s.length;xe.disposeIntermediateTensorInfo(x)),g},IB={kernelName:vi,backendName:\"webgl\",kernelFunc:Yot};function Zot(r){let{inputs:t,backend:e}=r,{indices:n,values:o,denseShape:s,defaultValue:i}=t;if(s.shape.length!==1)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(n.shape.length!==2)throw new Error(`Indices must be a matrix, saw:\n ${n.shape}`);if(o.shape.length!==1)throw new Error(`Values must be a vector, saw:\n ${o.shape}`);if(i.shape.length!==0)throw new Error(`Default value must be a scalar, saw:\n ${i.shape}`);let a=e.readSync(n.dataId),u=e.readSync(o.dataId),l=e.readSync(s.dataId),c=e.readSync(i.dataId)[0],[p,m,f,d,h]=jL(a,n.shape,n.dtype,u,o.dtype,l,c);return[e.makeTensorInfo(m,n.dtype,p),e.makeTensorInfo([m[0]],o.dtype,f),e.makeTensorInfo([d.length],\"bool\",new Uint8Array(d.map(g=>Number(g)))),e.makeTensorInfo([h.length],n.dtype,new Int32Array(h))]}var SB={kernelName:Ol,backendName:\"webgl\",kernelFunc:Zot};function Jot(r){let{inputs:t,backend:e}=r,{inputIndices:n,inputShape:o,newShape:s}=t;if(n.shape.length!==2)throw new Error(`Input indices should be a matrix but received shape ${n.shape}`);if(o.shape.length!==1)throw new Error(`Input shape should be a vector but received shape ${o.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=Array.from(e.readSync(o.dataId)),a=e.readSync(n.dataId),u=Array.from(e.readSync(s.dataId)),[l,c,p]=XL(a,n.shape,n.dtype,i,u);return[e.makeTensorInfo(c,n.dtype,l),e.makeTensorInfo([p.length],s.dtype,new Int32Array(p))]}var TB={kernelName:Ga,backendName:\"webgl\",kernelFunc:Jot};function Qot(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=Jw(i,n.shape,n.dtype,a,u,!0);return e.makeTensorInfo(c,n.dtype,l)}var NB={kernelName:Pl,backendName:\"webgl\",kernelFunc:Qot};function tst(r){let{inputs:t,backend:e}=r,{data:n,indices:o,segmentIds:s}=t;if(n.shape.length<1)throw new Error(\"Data should be at least 1 dimensional but received scalar\");if(o.shape.length!==1)throw new Error(`Indices should be a vector but received shape\n ${o.shape}`);if(s.shape.length!==1)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);let i=e.readSync(n.dataId),a=e.readSync(o.dataId),u=e.readSync(s.dataId),[l,c]=Jw(i,n.shape,n.dtype,a,u);return e.makeTensorInfo(c,n.dtype,l)}var kB={kernelName:Ll,backendName:\"webgl\",kernelFunc:tst};function est(r){let{inputs:t,backend:e,attrs:n}=r,{sparseIndices:o,sparseValues:s,defaultValue:i}=t,{outputShape:a}=n,{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=S.calculateShapes(s,o,a),f=!1;if(s.dtype===\"string\"){let x=e.bufferSync(o),b=e.bufferSync(s),w=y.decodeString(e.readSync(i.dataId)[0]),C=HL(x,b,a,m,c,l,u,p,w,f);return e.makeTensorInfo(a,C.dtype,C.values)}let d=new zd(l,u,o.shape.length,s.shape.length,p,[m,1],f),h=e.runWebGLProgram(d,[s,o,i],s.dtype),g=lt({inputs:{x:h},backend:e,attrs:{shape:a}});return e.disposeIntermediateTensorInfo(h),g}var _B={kernelName:Yp,backendName:\"webgl\",kernelFunc:est};function rst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=n,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=o.shape.length,c=new Array(l).fill(0),p=o.shape.slice();return u.map(m=>{let f=[...p];f[a]=m;let d=ai({inputs:{x:o},backend:e,attrs:{begin:c,size:f}});return c[a]+=m,d})}var EB={kernelName:Ii,backendName:\"webgl\",kernelFunc:rst};var AB=\"return sqrt(x);\",nst=It({opSnippet:AB,packedOpSnippet:AB,cpuKernelImpl:YL}),$B={kernelName:Ps,backendName:\"webgl\",kernelFunc:nst};var ost=\"return x * x;\",sst=It({opSnippet:ost}),DB={kernelName:Ml,backendName:\"webgl\",kernelFunc:sst};var RB=\"return (a - b) * (a - b);\",ist=ce({opSnippet:RB,packedOpSnippet:RB}),FB={kernelName:zs,backendName:\"webgl\",kernelFunc:ist};function ast({inputs:r,attrs:t,backend:e}){let{x:n}=r,o=fr+`\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,s=new Zr(n.shape,o);return e.runWebGLProgram(s,[n],n.dtype)}var OB={kernelName:co,backendName:\"webgl\",kernelFunc:ast};var xv=class{constructor(t,e,n){this.variableNames=[\"x\"],this.outputShape=n;let o=n.length,s=Wt(n.length),i=Wt(n.length),a=\"\";if(o===1)a=\"coords * strides + begin\";else{let u=0;a=n.map((l,c)=>(u++,n.length===1?`coords * strides[${c}] + begin[${c}]`:`coords[${u-1}] * strides[${c}] + begin[${c}]`)).join(\",\")}this.userCode=`\n ${s} begin = ${s}(${t});\n ${s} strides = ${s}(${e});\n\n void main() {\n ${i} coords = getOutputCoords();\n setOutput(getX(${a}));\n }\n `}};function lst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:C}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),T;if(h)T=lt({inputs:{x:o},backend:e,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let $=Be.computeOutShape(b,w,C),D=ai({inputs:{x:o},backend:e,attrs:{begin:b,size:$}});T=lt({inputs:{x:D},backend:e,attrs:{shape:d}}),e.disposeIntermediateTensorInfo(D)}else if(e.shouldExecuteOnCPU([o])){let D=e.readSync(o.dataId),P=vt(o.shape,o.dtype,D),M=ZL(f,P,C,b);T=e.makeTensorInfo(d,o.dtype,M.values)}else{let D=new xv(b,C,f);T=e.runWebGLProgram(D,[o],o.dtype)}let E=lt({inputs:{x:T},backend:e,attrs:{shape:d}});return e.disposeIntermediateTensorInfo(T),E}var PB={kernelName:Wa,backendName:\"webgl\",kernelFunc:lst};function ust(r){let{inputs:t,backend:e,attrs:n}=r,{separator:o,nGramWidths:s,leftPad:i,rightPad:a,padWidth:u,preserveShortSequences:l}=n,{data:c,dataSplits:p}=t,m=e.readSync(c.dataId),f=e.readSync(p.dataId),[d,h]=JL(m,f,o,s,i,a,u,l);return[e.makeTensorInfo([d.length],\"string\",d),e.makeTensorInfo(p.shape,\"int32\",h)]}var LB={kernelName:zl,backendName:\"webgl\",kernelFunc:ust};function cst(r){let{inputs:t,backend:e,attrs:n}=r,{skipEmpty:o}=n,{input:s,delimiter:i}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(s.shape.length!==1)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimiter must be a scalar, got shape: ${i.shape}`);let a=e.readSync(s.dataId),u=e.readSync(i.dataId)[0],[l,c,p]=QL(a,u,o),m=c.length;return[e.makeTensorInfo([m,2],\"int32\",l),e.makeTensorInfo([m],\"string\",c),e.makeTensorInfo([2],\"int32\",new Int32Array(p))]}var MB={kernelName:Bl,backendName:\"webgl\",kernelFunc:cst};function pst(r){let{inputs:t,backend:e,attrs:n}=r,{numBuckets:o}=n,{input:s}=t;if(s.dtype!==\"string\")throw new Error(\"Input must be of datatype string\");if(o<=0)throw new Error(\"Number of buckets must be at least 1\");let i=e.readSync(s.dataId),a=tM(i,o);return e.makeTensorInfo(s.shape,\"int32\",a)}var zB={kernelName:Vl,backendName:\"webgl\",kernelFunc:pst};var mst=\"return tan(x);\",fst=It({opSnippet:mst}),BB={kernelName:Vs,backendName:\"webgl\",kernelFunc:fst};var dst=`\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n`,hst=It({opSnippet:dst}),VB={kernelName:Gs,backendName:\"webgl\",kernelFunc:hst};var yv=class{constructor(t,e){this.variableNames=[\"A\"];let n=new Array(t.length);for(let i=0;i5)throw Error(`Tile for rank ${t} is not yet supported`);if(t===1)return`imod(resRC, ${r[0]})`;let e=[\"resRC.x\",\"resRC.y\",\"resRC.z\",\"resRC.w\",\"resRC.u\"],n=[];for(let o=0;o5){let u=e.readSync(o.dataId),l=o.dtype===\"string\"?u.map(m=>y.decodeString(m)):u,c=vt(o.shape,o.dtype,l),p=rM(c,s);return e.makeTensorInfo(p.shape,p.dtype,p.values)}let i=new yv(o.shape,s);return e.runWebGLProgram(i,[o],o.dtype)}var GB={kernelName:Xn,backendName:\"webgl\",kernelFunc:zk};var bv=class{constructor(t){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"negativeInf\",type:\"float\"},{name:\"dir\",type:\"int\"},{name:\"inc\",type:\"int\"}],this.outputShape=t,this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n `}},wv=class{constructor(t){this.variableNames=[\"x\",\"indices\"],this.customUniforms=[{name:\"n\",type:\"int\"},{name:\"firstPass\",type:\"int\"},{name:\"k\",type:\"int\"}],this.outputShape=t,this.userCode=`\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n `}};function ep(r,t){t!==null&&r.disposeIntermediateTensorInfo(t)}function WB(r){let t=1;for(;tu){let M=e.readSync(o.dataId),[W,H]=nM(M,l,o.dtype,s,i);return[e.makeTensorInfo(W.shape,W.dtype,W.values),e.makeTensorInfo(H.shape,H.dtype,H.values)]}if(s===0)return l[l.length-1]=0,[e.makeTensorInfo(l,o.dtype,[]),e.makeTensorInfo(l,\"int32\",[])];if(c===1)return[o,wl({attrs:{shape:l,dtype:\"int32\",value:0},backend:e})];let p=e.texData.get(o.dataId),m=p!==null&&p.isPacked,f=m?e.unpackTensor(o):o,h=y.sizeFromShape(l)/c,g=lt({inputs:{x:f},attrs:{shape:[h,c]},backend:e});m&&ep(e,f);let x=WB(s),b=WB(c),w=null,C=()=>w===null?[g,g]:[g,w],T=(M,W,H)=>{let q=C(),X=new bv(H),Z=[[c],[w===null?1:0],[Number.NEGATIVE_INFINITY],[M],[W]],et=w;w=e.runWebGLProgram(X,q,\"int32\",Z),ep(e,et)};for(let M=1;M=1;H/=2)T(W,H,[h,b])}for(let M=b;M>x;M/=2){let W=C(),H=new wv([h,M/2]),X=[[c],[w===null?1:0],[x]],j=w;w=e.runWebGLProgram(H,W,\"int32\",X),ep(e,j);let Z=x/2,et=Z*2;for(let K=Z;K>=1;K/=2)T(et,K,w.shape)}let E=w;w=ai({inputs:{x:w},backend:e,attrs:{begin:0,size:[h,s]}}),ep(e,E);let $=Dk({inputs:{x:g,indices:w},backend:e,attrs:{axis:1,batchDims:1}});ep(e,g);let D=l.slice(0,-1);D.push(s),E=w,w=lt({inputs:{x:w},attrs:{shape:D},backend:e}),ep(e,E);let P=$;return $=lt({inputs:{x:$},attrs:{shape:D},backend:e}),ep(e,P),[$,w]}var UB={kernelName:Ua,backendName:\"webgl\",kernelFunc:xst};var Cv=class{constructor(t,e,n,o,s,i){this.variableNames=[\"Image\",\"Transforms\"],this.outputShape=i;let a=n===\"nearest\"?1:2,u;switch(o){case\"constant\":u=1;break;case\"reflect\":u=2;break;case\"wrap\":u=3;break;case\"nearest\":u=4;break;default:u=1;break}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${u} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${u} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${u} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${t} && 0 <= coordX && coordX < ${e}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${s});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${s});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${e}));\n float mapY = mapCoord(inY, float(${t}));\n\n if (${a} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}};function yst(r){let{inputs:t,backend:e,attrs:n}=r,{image:o,transforms:s}=t,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=n,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=new Cv(p,m,i,a,u,g);return e.runWebGLProgram(x,[o,s],\"float32\")}var HB={kernelName:Ha,backendName:\"webgl\",kernelFunc:yst};function bst(r){let{inputs:t,attrs:e,backend:n}=r,{axis:o}=e,{x:s}=t;oi(s,\"unique\"),console.warn(\"WARNING: \",\"UI might be locked temporarily as data is being downloaded\");let i=n.readSync(s.dataId),{outputValues:a,outputShape:u,indices:l}=oM(i,o,s.shape,s.dtype);return[n.makeTensorInfo(u,s.dtype,a),n.makeTensorInfo([l.length],\"int32\",l)]}var qB={kernelName:Zp,backendName:\"webgl\",kernelFunc:bst};function wst(r){let{inputs:t,backend:e,attrs:n}=r,{value:o}=t,{axis:s}=n;s<0&&(s+=o.shape.length);let i=o,a=i.shape.length,u=o.shape[s],l=new Array(a-1),c=0;for(let h=0;he.disposeIntermediateTensorInfo(h)),d}var KB={kernelName:Si,backendName:\"webgl\",kernelFunc:wst};var vv=class{constructor(t,e){this.variableNames=[\"x\",\"segmentIds\"];let n=t.windowSize,o=t.batchSize,s=t.inSize,i=t.numSegments,a=i*Math.ceil(s/n);this.outputShape=[o,a];let u=\"0.0\",l=\"sumValue\",c=Math.floor(n/4)*4,p=n%4,m=`\n sumValue += dot(values, segFilter);\n `,f=\"\";s%n>0&&(f=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return initializationValue;\n }\n `);let d=\"\";s%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${s}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = ${u};\n\n float getValue(int batch, int inIdx) {\n ${f}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${d}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${i})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${i})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${c}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${m}\n }\n\n int inIdx = inOffset + ${c};\n if (${p===1}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${p===2}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${m}\n } else if (${p===3}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${m}\n }\n setOutput(${l});\n }\n `}};function Cst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o,segmentIds:s}=t,{numSegments:i}=n,a=o.shape.length,u=[],l=0,c=S.getAxesPermutation([l],a),p=o;c!=null&&(p=Le({inputs:{x:o},backend:e,attrs:{perm:c}}),u.push(p),l=S.getInnerMostAxes(1,a)[0]);let m=S.segment_util.computeOutShape(p.shape,l,i),f=y.sizeFromShape([p.shape[l]]),d=lt({inputs:{x:p},backend:e,attrs:{shape:[-1,f]}});u.push(d);let h=Xu(o.dtype),g=(C,T,E,$,D)=>{let P=C.shape[0],M=C.shape[1],W=S.segment_util.segOpComputeOptimalWindowSize(M,D),H={windowSize:W,inSize:M,batchSize:P,numSegments:D},q=new vv(H,T),X=e.compileAndRun(q,[C,E],$);if(u.push(X),X.shape[1]===D)return X;let j=Mk({backend:e,attrs:{start:0,stop:D,step:1,dtype:\"float32\"}}),Z=zk({inputs:{x:j},backend:e,attrs:{reps:[M/W]}});return u.push(j),u.push(Z),g(X,T,Z,$,D)},x=g(d,\"unsortedSegmentSum\",s,h,i),b=lt({inputs:{x},backend:e,attrs:{shape:m}}),w=b;if(c!=null){u.push(b);let C=S.getUndoAxesPermutation(c);w=Le({inputs:{x:w},backend:e,attrs:{perm:C}})}return u.forEach(C=>e.disposeIntermediateTensorInfo(C)),w}var jB={kernelName:Gl,backendName:\"webgl\",kernelFunc:Cst};var vst=[OM,LM,MM,zM,VM,GM,WM,UM,KM,jM,XM,YM,ZM,JM,QM,tz,ez,rz,nz,oz,sz,az,lz,uz,fz,hz,gz,IM,yz,wz,Cz,vz,Iz,Sz,Tz,Nz,kz,_z,Ez,Dz,Rz,Fz,Oz,Pz,Lz,Mz,zz,Bz,Vz,Gz,Wz,Uz,Hz,qz,Kz,Xz,Yz,Zz,Jz,t3,e3,r3,n3,o3,s3,i3,a3,l3,vM,u3,bz,c3,p3,m3,SM,f3,d3,h3,g3,x3,y3,b3,w3,C3,v3,S3,T3,N3,k3,_3,E3,$3,R3,F3,O3,P3,L3,G3,EM,W3,U3,H3,q3,cz,K3,Y3,Z3,J3,Q3,TM,tB,eB,rB,pz,M3,nB,oB,sB,$M,iB,aB,lB,uB,cB,pB,mB,fB,dB,hB,gB,xB,yB,bB,wB,CB,iz,V3,vB,IB,SB,TB,NB,kB,_B,EB,$B,DB,FB,OB,PB,LB,MB,zB,B3,RM,BB,VB,GB,UB,HB,FM,qB,KB,jB,j3];for(let r of vst)Wu(r);var Zt;(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\"})(Zt||(Zt={}));var Ru;(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\",r[r.sigmoid=5]=\"sigmoid\",r[r.elu=6]=\"elu\"})(Ru||(Ru={}));var XB;function Ist(r){XB=r.wasm.cwrap(Ni,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Sst(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s,bias:i,preluActivationWeights:a}=t;if(o.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"_FusedMatMul for non non-float32 tensors not yet supported.\");let{transposeA:u,transposeB:l,activation:c,leakyreluAlpha:p}=n,m=e.dataIdMap.get(o.dataId).id,f=e.dataIdMap.get(s.dataId).id,d=0;if(i!=null){let D=e.dataIdMap.get(i.dataId);if(D.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${D.shape.length}.`);d=D.id}let h=a==null?0:e.dataIdMap.get(a.dataId).id,g=Ru[c];if(g==null)throw new Error(`${c} activation not yet supported for FusedConv2D in the wasm backend.`);let x=u?o.shape[2]:o.shape[1],b=l?s.shape[1]:s.shape[2],w=Lr.assertAndGetBroadcastShape(o.shape.slice(0,-2),s.shape.slice(0,-2)),C=e.makeOutput([...w,x,b],o.dtype),T=e.dataIdMap.get(C.dataId).id,E=new Uint8Array(new Int32Array(o.shape).buffer),$=new Uint8Array(new Int32Array(s.shape).buffer);return XB(m,E,o.shape.length,f,$,s.shape.length,u,l,g,d,h,p||0,T),C}var YB={kernelName:Ni,backendName:\"wasm\",setupFunc:Ist,kernelFunc:Sst};function ae(r,t){let e;function n(s){e=s.wasm.cwrap(r,null,[\"number\",\"number\",\"number\"])}function o(s){let{backend:i,inputs:{x:a}}=s,u=i.dataIdMap.get(a.dataId).id,l=i.makeOutput(a.shape,t||a.dtype),c=i.dataIdMap.get(l.dataId).id;return y.sizeFromShape(l.shape)===0||e(u,Zt[a.dtype],c),l}return{kernelName:r,backendName:\"wasm\",setupFunc:n,kernelFunc:o}}var ZB=ae(pi);function pe(r,t,e){let n;function o(i){n=i.wasm.cwrap(r,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\"])}function s(i){let{backend:a,inputs:u}=i,{a:l,b:c}=u,p=a.dataIdMap.get(l.dataId).id,m=a.dataIdMap.get(c.dataId).id,f=e!=null?e:l.dtype,d=S.assertAndGetBroadcastShape(l.shape,c.shape),h=a.makeOutput(d,f);if(y.sizeFromShape(d)===0)return h;let g=new Uint8Array(new Int32Array(l.shape).buffer),x=new Uint8Array(new Int32Array(c.shape).buffer),b=a.dataIdMap.get(h.dataId).id;return(()=>n(p,g,l.shape.length,m,x,c.shape.length,Zt[l.dtype],b))(),h}return{kernelName:r,backendName:\"wasm\",setupFunc:o,kernelFunc:s}}var Tst=!0,JB=pe(jn,Tst);var QB;function Nst(r){QB=r.wasm.cwrap(jo,null,[\"array\",\"number\",\"number\",\"number\"])}function kst(r){let{inputs:t,backend:e}=r,n=e.makeOutput(t[0].shape,t[0].dtype);if(y.sizeFromShape(n.shape)===0)return n;let o=t.map(a=>e.dataIdMap.get(a.dataId).id),s=new Uint8Array(new Int32Array(o).buffer),i=e.dataIdMap.get(n.dataId).id;return QB(s,o.length,Zt[n.dtype],i),n}var tV={kernelName:jo,backendName:\"wasm\",setupFunc:Nst,kernelFunc:kst};function rp(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype),o=e.typedArrayFromHeap(t);return e.typedArrayFromHeap(n).set(o),n}var eV={kernelName:uo,backendName:\"wasm\",kernelFunc:rp};var rV;function _st(r){rV=r.wasm.cwrap(Yn,null,[\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function oo(r){let{inputs:t,backend:e,attrs:n}=r,[o,s]=Ast(t.x.shape,n.perm),i=!0;for(let d=0;d=o&&(s===-1||n[s]>n[i])&&(s=i);n[s]=o}return[e,n]}var nV={kernelName:Yn,backendName:\"wasm\",kernelFunc:oo,setupFunc:_st};function wn(r,t,e){let n=r.shape,o=r.shape.length,s=y.parseAxisParam(t,n),i=s,a=S.getAxesPermutation(i,o),u=null,l=!1;if(a!=null){let c=new Array(o);for(let f=0;f`new shape: ${i}, old shape: ${n.shape}. New shape and old shape must have the same number of elements.`),r.backend.incRef(n.dataId),{dataId:n.dataId,shape:i,dtype:n.dtype}}var mV={kernelName:bi,backendName:\"wasm\",kernelFunc:lr};var fV;function zst(r){fV=r.wasm.cwrap(Zo,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\"])}function Bst(r){let{inputs:t,backend:e,attrs:n}=r,{a:o,b:s}=t,{transposeA:i,transposeB:a}=n;if(o.dtype!==\"float32\"||s.dtype!==\"float32\")throw new Error(\"BatchMatMul for non non-float32 tensors not yet supported.\");let u=o.shape.length,l=s.shape.length,c=i?o.shape[u-2]:o.shape[u-1],p=a?s.shape[l-1]:s.shape[l-2],m=i?o.shape[u-1]:o.shape[u-2],f=a?s.shape[l-2]:s.shape[l-1],d=o.shape.slice(0,-2),h=s.shape.slice(0,-2),g=y.sizeFromShape(d),x=y.sizeFromShape(h),w=Lr.assertAndGetBroadcastShape(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=${i} and transposeB=${a} must match.`);let C=i?[g,c,m]:[g,m,c],T=a?[x,f,p]:[x,p,f],E=lr({inputs:{x:o},backend:e,attrs:{shape:C}}),$=lr({inputs:{x:s},backend:e,attrs:{shape:T}}),D=e.dataIdMap.get(E.dataId).id,P=e.dataIdMap.get($.dataId).id,M=i?E.shape[2]:E.shape[1],W=a?$.shape[1]:$.shape[2],H=Math.max(g,x),q=e.makeOutput([H,M,W],E.dtype),X=e.dataIdMap.get(q.dataId).id,j=new Uint8Array(new Int32Array(E.shape).buffer),Z=new Uint8Array(new Int32Array($.shape).buffer);return fV(D,j,E.shape.length,P,Z,$.shape.length,i,a,X),e.disposeData(E.dataId),e.disposeData($.dataId),q.shape=w,q}var dV={kernelName:Zo,backendName:\"wasm\",setupFunc:zst,kernelFunc:Bst};function Po(r){let{inputs:{x:t},attrs:{begin:e,size:n},backend:o}=r,[s,i]=Be.parseSliceParams(t,e,n),a=Be.isSliceContinous(t.shape,s,i),u=o.readSync(t.dataId),l=o.makeOutput(i,t.dtype),c=y.computeStrides(t.shape),p=o.dataIdMap.get(l.dataId);if(a){let d=Be.computeFlatOffset(s,c);return t.dtype===\"string\"?p.stringBytes=u.slice(d,d+y.sizeFromShape(i)):o.typedArrayFromHeap(l).set(u.subarray(d,d+y.sizeFromShape(i))),l}if(t.dtype===\"string\"){let d=zc(u,s,i,t.shape,t.dtype);return p.stringBytes=d,l}let m=o.typedArrayFromHeap(l),f=t.shape.length;if(f===2)Vst(u,c[0],m,s,i);else if(f===3)Gst(u,c[0],c[1],m,s,i);else if(f===4)Wst(u,c[0],c[1],c[2],m,s,i);else{let d=zc(u,s,i,t.shape,t.dtype);m.set(d)}return l}function Vst(r,t,e,n,o){let s=0,i=n[0],a=n[1],u=i+o[0];for(let l=i;lx*b),u=S.getReshaped(o.shape,s,a),l=S.getPermuted(u.length,s.length),c=S.getReshapedPermuted(o.shape,s,a),p=S.getSliceBeginCoords(i,s.length),m=S.getSliceSize(c,i,s.length),f=lr({inputs:{x:o},backend:e,attrs:{shape:u}}),d=oo({inputs:{x:f},backend:e,attrs:{perm:l}}),h=lr({inputs:{x:d},backend:e,attrs:{shape:c}}),g=Po({inputs:{x:h},backend:e,attrs:{begin:p,size:m}});return e.disposeData(f.dataId),e.disposeData(d.dataId),e.disposeData(f.dataId),g}var gV={kernelName:mi,backendName:\"wasm\",kernelFunc:Ust};function li(r){let{inputs:{x:t},attrs:{dtype:e},backend:n}=r,o=n.makeOutput(t.shape,e),s=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(o).set(s),o}var xV={kernelName:ao,backendName:\"wasm\",kernelFunc:li};var yV=ae(Jo);var bV;function Hst(r){bV=r.wasm.cwrap(lo,null,[\"number\",\"number\",\"number\",\"number\"])}function qst(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{clipValueMin:s,clipValueMax:i}=n,a=e.dataIdMap.get(o.dataId).id,u=e.makeOutput(o.shape,o.dtype),l=e.dataIdMap.get(u.dataId).id;return bV(a,s,i,l),u}var wV={kernelName:lo,backendName:\"wasm\",setupFunc:Hst,kernelFunc:qst};function Bk(r){let{inputs:t,backend:e}=r,n=y.parseAxisParam(r.attrs.axis,t[0].shape)[0],o=S.computeOutShape(t.map(f=>f.shape),n),s=t.filter(f=>y.sizeFromShape(f.shape)>0);if(s.length===1)return rp({inputs:{x:s[0]},backend:e});let i=e.makeOutput(o,t[0].dtype);if(y.sizeFromShape(o)===0)return i;let a=s.map(f=>f.shape);if(S.assertParamsConsistent(a,n),s[0].dtype===\"string\"){let f=s.map(w=>{let C=y.sizeFromShape(w.shape.slice(n));return lr({inputs:{x:w},backend:e,attrs:{shape:[-1,C]}})}),d=f.map(w=>({vals:e.readSync(w.dataId),shape:w.shape}));o=S.computeOutShape(f.map(w=>w.shape),1);let h=f[0].shape[0]===1,g=Pc(d,o,t[0].dtype,h),x=S.computeOutShape(s.map(w=>w.shape),n);i.shape=x;let b=e.dataIdMap.get(i.dataId);return b.stringBytes=S.fromStringArrayToUint8(g),f.forEach(w=>e.disposeData(w.dataId)),i}let u=y.sizeFromShape(s[0].shape.slice(0,n)),l=0,c=s.map(f=>{let d=y.sizeFromShape(f.shape.slice(n));return l+=d,d}),p=s.map(f=>e.typedArrayFromHeap(f)),m=e.typedArrayFromHeap(i);for(let f=0;f`cumprod does not support ${o.dtype} tensors in the WASM backend`);let l=S.getAxesPermutation([s],u),c=o;l!==null&&(c=oo({inputs:{x:o},attrs:{perm:l},backend:e}));let p=S.getInnerMostAxes(1,u)[0];S.assertAxesAreInnerMostDims(\"cumprod\",[p],u);let m=e.makeOutput(c.shape,c.dtype),f=c.shape[p],d=e.dataIdMap.get(c.dataId).id,h=e.dataIdMap.get(m.dataId).id;AV(d,i?1:0,a?1:0,f,h,Zt[o.dtype]);let g=m;if(l!==null){let x=S.getUndoAxesPermutation(l);g=oo({inputs:{x:m},attrs:{perm:x},backend:e}),e.disposeData(c.dataId),e.disposeData(m.dataId)}return g}var $V={kernelName:fa,backendName:\"wasm\",setupFunc:Qst,kernelFunc:tit};var DV;function eit(r){DV=r.wasm.cwrap(ns,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function rit(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{axis:s,exclusive:i,reverse:a}=n,u=o.shape.length;y.assert(o.dtype===\"float32\"||o.dtype===\"int32\",()=>`cumsum does not support ${o.dtype} tensors in the WASM backend`);let l=S.getAxesPermutation([s],u),c=o;l!==null&&(c=oo({inputs:{x:o},attrs:{perm:l},backend:e}));let p=S.getInnerMostAxes(1,u)[0];S.assertAxesAreInnerMostDims(\"cumsum\",[p],u);let m=e.makeOutput(c.shape,c.dtype),f=c.shape[p],d=e.dataIdMap.get(c.dataId).id,h=e.dataIdMap.get(m.dataId).id;DV(d,i?1:0,a?1:0,f,h,Zt[o.dtype]);let g=m;if(l!==null){let x=S.getUndoAxesPermutation(l);g=oo({inputs:{x:m},attrs:{perm:x},backend:e}),e.disposeData(c.dataId),e.disposeData(m.dataId)}return g}var RV={kernelName:ns,backendName:\"wasm\",setupFunc:eit,kernelFunc:rit};var FV;function nit(r){FV=r.wasm.cwrap(ha,null,[\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function oit(r){let{backend:t,inputs:e,attrs:n}=r,{x:o}=e,{blockSize:s,dataFormat:i}=n,a=o.shape[0],u=i===\"NHWC\"?o.shape[1]:o.shape[2],l=i===\"NHWC\"?o.shape[2]:o.shape[3],c=i===\"NHWC\"?o.shape[3]:o.shape[1],p=u*s,m=l*s,f=c/(s*s),d=i===\"NHWC\"?[a,p,m,f]:[a,f,p,m],h=t.makeOutput(d,\"float32\"),x=t.dataIdMap.get(o.dataId).id,b=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),w=new Uint8Array(new Int32Array(d).buffer),C=new Uint8Array(new Int32Array(y.computeStrides(d)).buffer),T=t.dataIdMap.get(h.dataId).id;return FV(x,s,i===\"NHWC\"?1:0,b,o.shape.length-1,w,C,d.length,T),h}var OV={kernelName:ha,backendName:\"wasm\",setupFunc:nit,kernelFunc:oit};var PV;function sit(r){PV=r.wasm.cwrap(os,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function iit(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s}=t,i=n.dataIdMap.get(o.dataId).id,a=n.dataIdMap.get(s.dataId).id,{strides:u,dilations:l,pad:c,dimRoundingMode:p}=e,m=l==null?[1,1]:l,f=S.computeConv2DInfo(o.shape,s.shape,u,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,C=f.dilationHeight,T=f.dilationWidth,E=f.strideHeight,$=f.strideWidth,D=f.inChannels,P=f.outChannels,M=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 W=n.makeOutput(f.outShape,\"float32\"),H=n.dataIdMap.get(W.dataId).id;return PV(i,o.shape[0],o.shape[1],o.shape[2],a,d,h,g,x,b,w,M,C,T,E,$,D,P,H),W}var LV={kernelName:os,backendName:\"wasm\",setupFunc:sit,kernelFunc:iit};var MV=ae(is);var ait=!1,zV=pe(xa,ait,\"bool\");var BV=ae(as,\"float32\");function Iv(r){let{inputs:t,attrs:e,backend:n}=r,{input:o}=t,{dim:s}=e,i=o.shape.length,a=o.shape.slice(),u=s;return s<0&&(y.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),u=i+s+1),a.splice(u,0,1),lr({inputs:{x:o},backend:n,attrs:{shape:a}})}var VV={kernelName:di,backendName:\"wasm\",kernelFunc:Iv};function Gk(r){let{attrs:{shape:t,value:e,dtype:n},backend:o}=r,s=o.makeOutput(t,n);return o.typedArrayFromHeap(s).fill(e),s}var GV={kernelName:$l,backendName:\"wasm\",kernelFunc:Gk};var WV;function lit(r){WV=r.wasm.cwrap(ba,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function uit(r){let{inputs:t,backend:e}=r,{image:n}=t,o=e.makeOutput(n.shape,n.dtype),s=e.dataIdMap.get(n.dataId).id,i=e.dataIdMap.get(o.dataId).id,[a,u,l,c]=n.shape;return WV(s,a,u,l,c,i),o}var UV={kernelName:ba,backendName:\"wasm\",kernelFunc:uit,setupFunc:lit};var HV=ae(ls);var cit=!1,qV=pe(us,cit);var KV;function pit(r){KV=r.wasm.cwrap(cs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function mit(r){let{backend:t,inputs:e,attrs:n}=r,{varianceEpsilon:o}=n,{x:s,mean:i,variance:a,offset:u,scale:l}=e,c=t.dataIdMap.get(s.dataId).id,p=t.dataIdMap.get(i.dataId).id,m=t.dataIdMap.get(a.dataId).id,f=u!=null?t.dataIdMap.get(u.dataId).id:0,d=l!=null?t.dataIdMap.get(l.dataId).id:0,h=t.makeOutput(s.shape,s.dtype);if(y.sizeFromShape(s.shape)===0)return h;let g=t.dataIdMap.get(h.dataId).id;return KV(c,p,m,f,d,o,g),h}var jV={kernelName:cs,backendName:\"wasm\",setupFunc:pit,kernelFunc:mit};var XV;function fit(r){XV=r.wasm.cwrap(ki,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 dit(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=e,h=S.computeConv2DInfo(o.shape,s.shape,u,c,l,m),g=Ru[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,C=0;if(i!=null){let at=n.dataIdMap.get(i.dataId);if(at.shape.length!==1)throw new Error(`FusedConv2D only supports rank-1 bias but got rank ${at.shape.length}.`);if(at.shape[0]!==w)throw new Error(`FusedConv2D bias shape (${at.shape}) does not match the number of output channels (${w})`);C=at.id}let T=h.filterHeight,E=h.filterWidth,$=h.padInfo.top,D=h.padInfo.right,P=h.padInfo.bottom,M=h.padInfo.left,W=h.dilationHeight,H=h.dilationWidth,q=h.strideHeight,X=h.strideWidth,j=h.inChannels,Z=h.padInfo.type===\"SAME\"?1:0,et=h.batchSize,K=h.inHeight,ot=h.inWidth;if(p!==\"NHWC\")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let st=n.makeOutput(h.outShape,\"float32\"),it=n.dataIdMap.get(st.dataId).id,pt=a==null?0:n.dataIdMap.get(a.dataId).id;return XV(x,et,K,ot,b,T,E,C,$,D,P,M,Z,W,H,q,X,j,w,g,pt,d||0,it),st}var YV={kernelName:ki,backendName:\"wasm\",setupFunc:fit,kernelFunc:dit};var ZV;function hit(r){ZV=r.wasm.cwrap(_i,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 git(r){let{inputs:t,attrs:e,backend:n}=r,{x:o,filter:s,bias:i,preluActivationWeights:a}=t,{strides:u,pad:l,dilations:c,dataFormat:p,dimRoundingMode:m,activation:f,leakyreluAlpha:d}=e,h=S.computeConv2DInfo(o.shape,s.shape,u,c,l,m,!0),g=Ru[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,C=0;if(i!=null){let at=n.dataIdMap.get(i.dataId);if(at.shape.length!==1)throw new Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${at.shape.length}.`);if(at.shape[0]!==w)throw new Error(`FusedDepthwiseConv2D bias shape (${at.shape}) does not match the number of output channels (${w})`);C=at.id}let T=h.filterHeight,E=h.filterWidth,$=h.padInfo.top,D=h.padInfo.right,P=h.padInfo.bottom,M=h.padInfo.left,W=h.dilationHeight,H=h.dilationWidth,q=h.strideHeight,X=h.strideWidth,j=h.inChannels,Z=h.padInfo.type===\"SAME\"?1:0,et=h.batchSize,K=h.inHeight,ot=h.inWidth;if(p!==\"NHWC\")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${p}'. Please use 'NHWC'.`);let st=n.makeOutput(h.outShape,\"float32\"),it=n.dataIdMap.get(st.dataId).id,pt=a==null?0:n.dataIdMap.get(a.dataId).id;return ZV(x,et,K,ot,b,T,E,C,$,D,P,M,Z,W,H,q,X,j,w,g,pt,d||0,it),st}var JV={kernelName:_i,backendName:\"wasm\",setupFunc:hit,kernelFunc:git};var QV;function xit(r){QV=r.wasm.cwrap(wa,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function yit(r){let{backend:t,inputs:e}=r,{params:n,indices:o}=e,[s,i,a,u]=yx.prepareAndValidate(n,o),l=t.makeOutput(s,n.dtype);if(i===0)return l;let c=o.shape,p=c[c.length-1],f=t.dataIdMap.get(n.dataId).id,h=t.dataIdMap.get(o.dataId).id,g=new Uint8Array(new Int32Array(u).buffer),x=t.dataIdMap.get(l.dataId).id;return QV(f,Zt[n.dtype],h,i,p,a,g,x),l}var tG={kernelName:wa,backendName:\"wasm\",setupFunc:xit,kernelFunc:yit};var eG;function bit(r){eG=r.wasm.cwrap(\"Gather\",null,[\"number\",\"number\",\"array\",\"number\",\"number\",\"number\",\"array\",\"number\"])}function wit(r){let{backend:t,inputs:e,attrs:n}=r,{x:o,indices:s}=e,{axis:i,batchDims:a}=n,u=y.parseAxisParam(i,o.shape)[0],l=t.readSync(s.dataId),c=o.shape[u];for(let P=0;P=0,()=>`GatherV2: the index value ${M} is not in [0, ${c-1}]`)}let p=S.segment_util.collectGatherOpShapeInfo(o,s,u,a),m=lr({inputs:{x:o},attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]},backend:t}),f=y.sizeFromShape(s.shape),d=lr({inputs:{x:s},attrs:{shape:[p.batchSize,f/p.batchSize]},backend:t}),h=[p.batchSize,p.outerSize,f/p.batchSize,p.sliceSize],g=t.makeOutput(h,o.dtype);if(y.sizeFromShape(o.shape)===0)return g;let x=m.shape.length-1,w=t.dataIdMap.get(m.dataId).id,T=t.dataIdMap.get(d.dataId).id,E=t.dataIdMap.get(g.dataId).id,$=new Uint8Array(new Int32Array(y.computeStrides(m.shape)).buffer),D=new Uint8Array(new Int32Array(y.computeStrides(h)).buffer);return eG(w,Zt[o.dtype],$,x,T,p.batchSize,D,E),t.disposeData(m.dataId),t.disposeData(d.dataId),g.shape=p.outputShape,g}var rG={kernelName:hi,backendName:\"wasm\",setupFunc:bit,kernelFunc:wit};var Cit=!1,nG=pe(Ca,Cit,\"bool\");var vit=!1,oG=pe(ps,vit,\"bool\");var sG;function Iit(r){sG=r.wasm.cwrap(ms,null,[\"number\",\"number\",\"number\",\"number\"])}function Sit(r){let{inputs:{x:t},attrs:{alpha:e},backend:n}=r,o=n.dataIdMap.get(t.dataId).id,s=n.makeOutput(t.shape,\"float32\");if(y.sizeFromShape(t.shape)!==0){let i=n.dataIdMap.get(s.dataId).id;sG(o,Zt[t.dtype],e,i)}return s}var iG={kernelName:ms,backendName:\"wasm\",setupFunc:Iit,kernelFunc:Sit};var Tit=!1,aG=pe(Ta,Tit,\"bool\");var Nit=!1,lG=pe(Na,Nit,\"bool\");var uG=ae(fs);var kit=!1,cG=pe(_a,kit,\"bool\");var pG=ae(Ea);var _it=!1,mG=pe(Aa,_it,\"bool\");var Eit=!1,fG=pe(k1,Eit,\"bool\");var dG;function Ait(r){dG=r.wasm.cwrap(ds,null,[\"number\",\"number\",\"number\",\"number\"])}function $it(r){let{backend:t,inputs:e,attrs:n}=r,{reductionIndices:o,keepDims:s}=n,{x:i}=e,u=t.dataIdMap.get(i.dataId).id,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t);if(f){let w=t.dataIdMap.get(c.dataId).id;l=c,u=w}let d=l.shape.length;S.assertAxesAreInnerMostDims(\"max\",p,d);let[h,g]=S.computeOutAndReduceShapes(l.shape,p),x=y.sizeFromShape(g),b=t.makeOutput(h,i.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;dG(u,Zt[i.dtype],x,w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var hG={kernelName:ds,backendName:\"wasm\",setupFunc:Ait,kernelFunc:$it};var Dit=!1,gG=pe(hs,Dit);var xG;function Rit(r){xG=r.wasm.cwrap(gs,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Fit(r){let{inputs:t,attrs:e,backend:n}=r,o=t.x,s=n.dataIdMap.get(o.dataId).id;y.assert(o.dtype===\"float32\",()=>`Error in MaxPool: only float32 input is supported. Got ${o.dtype}.`);let{filterSize:i,strides:a,pad:u,dimRoundingMode:l}=e,c=S.computePool2DInfo(o.shape,i,a,1,u,l),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=c.strideWidth,T=c.inChannels,E=c.outChannels;if(c.dataFormat!==\"channelsLast\")throw new Error(`wasm backend does not support dataFormat:'${c.dataFormat}'. Please use 'channelsLast'.`);let $=n.makeOutput(c.outShape,\"float32\"),D=n.dataIdMap.get($.dataId).id;return xG(s,o.shape[0],o.shape[1],o.shape[2],p,m,f,d,h,g,x,b,w,C,T,E,D),$}var yG={kernelName:gs,backendName:\"wasm\",setupFunc:Rit,kernelFunc:Fit};var bG;function Oit(r){bG=r.wasm.cwrap(xs,null,[\"number, number, number\"])}function Pit(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t),d=p;if(f){let C=t.dataIdMap.get(c.dataId).id;C!==a&&(l=c,u=C,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"mean\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=l;l.dtype!==\"float32\"&&(b=li({backend:t,inputs:{x:l},attrs:{dtype:\"float32\"}}),u=t.dataIdMap.get(b.dataId).id);let w=t.makeOutput(h,\"float32\");if(y.sizeFromShape(l.shape)!==0){let C=t.dataIdMap.get(w.dataId).id;bG(u,x,C)}if(f&&t.disposeData(c.dataId),s){let C=S.expandShapeToKeepDim(w.shape,m);w.shape=C}return l.dtype!==\"float32\"&&t.disposeData(b.dataId),w}var wG={kernelName:xs,backendName:\"wasm\",setupFunc:Oit,kernelFunc:Pit};var CG;function Lit(r){CG=r.wasm.cwrap(ys,null,[\"number\",\"number\",\"number\",\"number\"])}function Mit(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t);if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w)}let d=l.shape.length;S.assertAxesAreInnerMostDims(\"min\",p,d);let[h,g]=S.computeOutAndReduceShapes(l.shape,p),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;CG(u,Zt[i.dtype],x,w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var vG={kernelName:ys,backendName:\"wasm\",setupFunc:Lit,kernelFunc:Mit};var zit=!1,IG=pe(bs,zit);var Wk;(function(r){r[r.reflect=0]=\"reflect\",r[r.symmetric=1]=\"symmetric\"})(Wk||(Wk={}));var SG;function Bit(r){SG=r.wasm.cwrap(ws,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function Vit(r){let{inputs:{x:t},backend:e,attrs:{paddings:n,mode:o}}=r,s=n.map((d,h)=>d[0]+t.shape[h]+d[1]),i=e.dataIdMap.get(t.dataId).id,a=e.makeOutput(s,t.dtype),u=e.dataIdMap.get(a.dataId).id,l=new Uint8Array(new Int32Array(t.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 SG(i,l,t.shape.length,Zt[t.dtype],m,f,Wk[o],u),a}var TG={kernelName:ws,backendName:\"wasm\",kernelFunc:Vit,setupFunc:Bit};var Git=!0,NG=pe(Cs,Git);var kG=ae(gi);function Bd(r,t){let e=new Int32Array(r.wasm.HEAPU8.buffer,t,4),n=e[0],o=e[1],s=e[2],i=e[3];return r.wasm._free(t),{pSelectedIndices:n,selectedSize:o,pSelectedScores:s,pValidOutputs:i}}var _G;function Wit(r){_G=r.wasm.cwrap(Ra,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\"])}function Uit(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i}=n,{boxes:a,scores:u}=e,l=t.dataIdMap.get(a.dataId).id,c=t.dataIdMap.get(u.dataId).id,p=_G(l,c,s,o,i),{pSelectedIndices:m,selectedSize:f,pSelectedScores:d,pValidOutputs:h}=Bd(t,p);return t.wasm._free(d),t.wasm._free(h),t.makeOutput([f],\"int32\",m)}var EG={kernelName:Ra,backendName:\"wasm\",setupFunc:Wit,kernelFunc:Uit};var AG;function Hit(r){AG=r.wasm.cwrap(Fa,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"bool\"])}function qit(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i,padToMaxOutputSize:a}=n,{boxes:u,scores:l}=e,c=t.dataIdMap.get(u.dataId).id,p=t.dataIdMap.get(l.dataId).id,m=AG(c,p,s,o,i,a),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=Bd(t,m);t.wasm._free(h);let x=t.makeOutput([d],\"int32\",f),b=t.makeOutput([],\"int32\",g);return[x,b]}var $G={kernelName:Fa,backendName:\"wasm\",setupFunc:Hit,kernelFunc:qit};var DG;function Kit(r){DG=r.wasm.cwrap(Oa,\"number\",[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function jit(r){let{backend:t,inputs:e,attrs:n}=r,{iouThreshold:o,maxOutputSize:s,scoreThreshold:i,softNmsSigma:a}=n,{boxes:u,scores:l}=e,c=t.dataIdMap.get(u.dataId).id,p=t.dataIdMap.get(l.dataId).id,m=DG(c,p,s,o,i,a),{pSelectedIndices:f,selectedSize:d,pSelectedScores:h,pValidOutputs:g}=Bd(t,m);t.wasm._free(g);let x=t.makeOutput([d],\"int32\",f),b=t.makeOutput([d],\"float32\",h);return[x,b]}var RG={kernelName:Oa,backendName:\"wasm\",setupFunc:Kit,kernelFunc:jit};var Xit=!1,FG=pe(Da,Xit,\"bool\");var OG;function Yit(r){OG=r.wasm.cwrap(vs,null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function Zit(r){let{inputs:t,backend:e,attrs:n}=r,{indices:o}=t,{dtype:s,depth:i,onValue:a,offValue:u}=n,l=e.makeOutput([...o.shape,i],s),c=e.dataIdMap.get(l.dataId).id,m=e.dataIdMap.get(o.dataId).id;return OG(m,i,a,u,c),l}var PG={kernelName:vs,backendName:\"wasm\",setupFunc:Yit,kernelFunc:Zit};function Jit(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype);return e.typedArrayFromHeap(n).fill(1),n}var LG={kernelName:xi,backendName:\"wasm\",kernelFunc:Jit};function Qit(r){let{inputs:t,backend:e,attrs:n}=r,{axis:o}=n;if(t.length===1)return Iv({inputs:{input:t[0]},backend:e,attrs:{dim:o}});let s=t[0].shape,i=t[0].dtype;t.forEach(c=>{y.assertShapesMatch(s,c.shape,\"All tensors passed to stack must have matching shapes\"),y.assert(i===c.dtype,()=>\"All tensors passed to stack must have matching dtypes\")});let a=[],u=t.map(c=>{let p=Iv({inputs:{input:c},backend:e,attrs:{dim:o}});return a.push(p),p}),l=Bk({inputs:u,backend:e,attrs:{axis:o}});return a.forEach(c=>e.disposeData(c.dataId)),l}var MG={kernelName:yi,backendName:\"wasm\",kernelFunc:Qit};var zG;function tat(r){zG=r.wasm.cwrap(Is,null,[\"number\",\"array\",\"number\",\"number\",\"array\",\"array\",\"number\",\"number\"])}function eat(r){let{inputs:{x:t},backend:e,attrs:{paddings:n,constantValue:o}}=r,s=n.map((h,g)=>h[0]+t.shape[g]+h[1]);if(y.sizeFromShape(t.shape)===0)return Gk({backend:e,attrs:{shape:s,value:o,dtype:t.dtype}});let i=e.dataIdMap.get(t.dataId).id,a=e.makeOutput(s,t.dtype),l=e.dataIdMap.get(a.dataId).id,c=new Uint8Array(new Int32Array(t.shape).buffer),p=n.map(h=>h[0]),m=n.map(h=>h[1]),f=new Uint8Array(new Int32Array(p).buffer),d=new Uint8Array(new Int32Array(m).buffer);return zG(i,c,t.shape.length,Zt[t.dtype],f,d,o,l),a}var Sv={kernelName:Is,backendName:\"wasm\",kernelFunc:eat,setupFunc:tat};var rat=!1,BG=pe(Ss,rat);var VG;function nat(r){VG=r.wasm.cwrap(Ts,null,[\"number\",\"number\",\"number\"])}function oat(r){let{inputs:t,backend:e}=r,{x:n,alpha:o}=t,s=e.dataIdMap.get(n.dataId).id,i=e.dataIdMap.get(o.dataId).id,a=s,u=n,l=u;u.dtype!==\"float32\"&&(l=li({backend:e,inputs:{x:n},attrs:{dtype:\"float32\"}}),a=e.dataIdMap.get(l.dataId).id);let c=e.makeOutput(n.shape,\"float32\"),p=e.dataIdMap.get(c.dataId).id;return VG(a,i,p),u.dtype!==\"float32\"&&e.disposeData(l.dataId),c}var GG={kernelName:Ts,backendName:\"wasm\",setupFunc:nat,kernelFunc:oat};var WG;function sat(r){WG=r.wasm.cwrap(Ns,null,[\"number\",\"number\",\"number\",\"number\"])}function iat(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t),d=p;if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"prod\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;WG(u,x,Zt[b.dtype],w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var UG={kernelName:Ns,backendName:\"wasm\",setupFunc:sat,kernelFunc:iat};var aat=r=>{let{backend:t,attrs:e}=r,{start:n,stop:o,step:s,dtype:i}=e,a=Mc(n,o,s,i),u=t.makeOutput([a.length],i);return t.typedArrayFromHeap(u).set(a),u},HG={kernelName:Fl,backendName:\"wasm\",kernelFunc:aat};var lat=!0,qG=pe(ss,lat);var KG=ae(ks);var jG=ae(As);var XG;function uat(r){XG=r.wasm.cwrap(Es,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function cat(r){let{backend:t,inputs:e,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,[c,p,m,f]=o.shape,d=[c,u,l,f],h=t.dataIdMap.get(o.dataId),g;h.dtype!==\"float32\"&&(g=li({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),h=t.dataIdMap.get(g.dataId));let x=h.id,b=t.makeOutput(d,\"float32\");if(y.sizeFromShape(o.shape)===0)return b;let w=t.dataIdMap.get(b.dataId).id;return XG(x,c,p,m,f,u,l,s?1:0,i?1:0,w),g!=null&&t.disposeData(g.dataId),b}var YG={kernelName:Es,backendName:\"wasm\",setupFunc:uat,kernelFunc:cat};var ZG;function pat(r){ZG=r.wasm.cwrap(_s,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function mat(r){let{backend:t,inputs:e,attrs:n}=r,{images:o}=e,{alignCorners:s,halfPixelCenters:i,size:a}=n,[u,l]=a,[c,p,m,f]=o.shape,d=[c,u,l,f],h=t.makeOutput(d,\"float32\");if(y.sizeFromShape(o.shape)===0)return h;let g=t.dataIdMap.get(o.dataId),x;g.dtype!==\"float32\"&&(x=li({backend:t,inputs:{x:o},attrs:{dtype:\"float32\"}}),g=t.dataIdMap.get(x.dataId));let b=g.id,w=t.dataIdMap.get(h.dataId).id;return ZG(b,c,p,m,f,u,l,s?1:0,i?1:0,w),x!=null&&t.disposeData(x.dataId),h}var JG={kernelName:_s,backendName:\"wasm\",setupFunc:pat,kernelFunc:mat};var QG;function fat(r){QG=r.wasm.cwrap($s,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function dat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{dims:s}=n,i=y.parseAxisParam(s,o.shape);if(o.shape.length===0)return rp({inputs:{x:o},backend:e});let a=e.makeOutput(o.shape,o.dtype),u=e.dataIdMap.get(o.dataId).id,l=e.dataIdMap.get(a.dataId).id,c=new Uint8Array(new Int32Array(i).buffer),p=new Uint8Array(new Int32Array(o.shape).buffer);QG(u,c,i.length,p,o.shape.length,l);let m=lr({inputs:{x:a},attrs:{shape:o.shape},backend:e});return e.disposeData(a.dataId),m}var tW={kernelName:$s,backendName:\"wasm\",kernelFunc:dat,setupFunc:fat};var eW;function hat(r){eW=r.wasm.cwrap(qa,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function gat(r){let{inputs:t,backend:e,attrs:n}=r,{image:o}=t,{radians:s,fillValue:i,center:a}=n,u=e.makeOutput(o.shape,o.dtype),l=e.dataIdMap.get(o.dataId).id,c=e.dataIdMap.get(u.dataId).id,[p,m,f,d]=o.shape,[h,g]=S.getImageCenter(a,m,f),x=i===0,b=255,w=typeof i==\"number\"?[i,i,i,x?0:b]:[...i,b],C=new Uint8Array(new Int32Array(w).buffer);return eW(l,p,m,f,d,s,h,g,C,w.length,c),u}var rW={kernelName:qa,backendName:\"wasm\",kernelFunc:gat,setupFunc:hat};var nW=ae(Ds);var oW=ae(Rs);var sW;function xat(r){sW=r.wasm.cwrap(La,null,[\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"number\"])}function yat(r){let{backend:t,inputs:e,attrs:n}=r,{indices:o,updates:s}=e,{shape:i}=n,a=t.makeOutput(i,s.dtype);if(y.sizeFromShape(i)===0)return a;let{sliceRank:u,numUpdates:l,sliceSize:c,strides:p,outputSize:m}=yh.calculateShapes(s,o,i),d=t.dataIdMap.get(o.dataId).id,g=t.dataIdMap.get(s.dataId).id,x=new Uint8Array(new Int32Array(p).buffer),b=t.dataIdMap.get(a.dataId).id;return sW(d,g,Zt[s.dtype],u,l,c,x,m,b),a}var iW={kernelName:La,backendName:\"wasm\",setupFunc:xat,kernelFunc:yat};var aW;function bat(r){aW=r.wasm.cwrap(\"SelectV2\",null,[\"number\",\"number\",\"number\",\"number\",\"number\"])}function wat(r){let{inputs:t,backend:e}=r,{condition:n,t:o,e:s}=t,i=e.dataIdMap.get(n.dataId).id,a=e.dataIdMap.get(o.dataId).id,u=e.dataIdMap.get(s.dataId).id,l=e.makeOutput(o.shape,o.dtype),c=e.dataIdMap.get(l.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 aW(i,a,u,f,c),l}var lW={kernelName:wi,backendName:\"wasm\",kernelFunc:wat,setupFunc:bat};var uW;function Cat(r){uW=r.wasm.cwrap(Os,null,[\"number\",\"number\"])}function vat(r){let{backend:t,inputs:{x:e}}=r,n=t.dataIdMap.get(e.dataId).id,o=t.makeOutput(e.shape,e.dtype),s=t.dataIdMap.get(o.dataId).id;return y.sizeFromShape(o.shape)===0||uW(n,s),o}var cW={kernelName:\"Sigmoid\",backendName:\"wasm\",setupFunc:Cat,kernelFunc:vat};var pW=ae(Fs);var mW;function Iat(r){mW=r.wasm.cwrap(Ms,null,[\"number\",\"number\",\"number\",\"number\"])}function Sat(r){let{backend:t,inputs:{logits:e},attrs:{dim:n}}=r,o=t.dataIdMap.get(e.dataId).id,s=t.makeOutput(e.shape,e.dtype),i=t.dataIdMap.get(s.dataId).id,a=e.shape[n],u=y.sizeFromShape(e.shape)/a;return y.sizeFromShape(s.shape)===0||mW(o,i,a,u),s}var fW={kernelName:Ms,backendName:\"wasm\",setupFunc:Iat,kernelFunc:Sat};function Tat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,{blockShape:s,paddings:i}=n,a=y.sizeFromShape(s),u=[[0,0]];u.push(...i);for(let E=1+s.length;E0?u+1:0;if(c<0)throw new Error(S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=o.shape.slice();p[0]=c;let m=e.dataIdMap.get(o.dataId).id,f=e.dataIdMap.get(s.dataId).id,d=e.dataIdMap.get(i.dataId).id,h=e.makeOutput(p,o.dtype),g=e.dataIdMap.get(h.dataId).id,x=e.makeOutput([4],\"int32\"),b=e.dataIdMap.get(x.dataId).id;bW(m,Zt[o.dtype],o.shape[0],f,d,g,b,t,0);let w=e.readSync(x.dataId),C;switch(w[0]){case 0:{C=S.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{C=S.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:C=S.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(w[1],w[2]);break;case 3:C=S.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(w[1],w[2],w[3]);break;default:C=\"\"}if(e.disposeData(x.dataId),C)throw e.disposeData(h.dataId),new Error(C);return h}function Aat(r){return Nv(r,!0)}var wW={kernelName:Pl,backendName:\"wasm\",setupFunc:Tv,kernelFunc:Aat};function $at(r){return Nv(r,!1)}var CW={kernelName:Ll,backendName:\"wasm\",setupFunc:Tv,kernelFunc:$at};function Dat(r){let{inputs:t,attrs:e,backend:n}=r,{x:o}=t,{numOrSizeSplits:s,axis:i}=e,a=y.parseAxisParam(i,o.shape)[0],u=S.prepareSplitSize(o,s,a),l=new Array(o.shape.length).fill(0),c=o.shape.slice();return u.map(p=>{let m=[...c];m[a]=p;let f=Po({inputs:{x:o},attrs:{begin:l,size:m},backend:n});return l[a]+=p,f})}var vW={kernelName:Ii,backendName:\"wasm\",kernelFunc:Dat};var IW=ae(Ps);var SW=ae(Ml);var Rat=!0,TW=pe(zs,Rat);var NW;function Fat(r){NW=r.wasm.cwrap(co,null,[\"number\",\"number\",\"number\",\"number\"])}function Oat(r){let{backend:t,inputs:e,attrs:n}=r,{alpha:o}=n,{x:s}=e,i=t.dataIdMap.get(s.dataId).id,a=t.makeOutput(s.shape,s.dtype),u=t.dataIdMap.get(a.dataId).id;return NW(i,o,Zt[s.dtype],u),a}var kW={kernelName:co,backendName:\"wasm\",setupFunc:Fat,kernelFunc:Oat};var _W;function Pat(r){_W=r.wasm.cwrap(Wa,null,[\"number\",\"array\",\"number\",\"array\",\"array\",\"array\",\"array\",\"array\",\"number\",\"number\"])}function Lat(r){let{backend:t,inputs:e,attrs:n}=r,{x:o}=e,{begin:s,end:i,strides:a,beginMask:u,endMask:l,ellipsisMask:c,newAxisMask:p,shrinkAxisMask:m}=n,{finalShapeSparse:f,finalShape:d,isIdentity:h,sliceDim0:g,isSimpleSlice:x,begin:b,end:w,strides:C}=Be.sliceInfo(o.shape,s,i,a,u,l,c,p,m),T;if(h)T=lr({inputs:{x:o},backend:t,attrs:{shape:d}});else if(g||x){y.assert(o.shape.length>=1,()=>`Input must have rank at least 1, got: ${o.shape.length}`);let E=Be.computeOutShape(b,w,C),$=Po({inputs:{x:o},backend:t,attrs:{begin:b,size:E}});T=lr({inputs:{x:$},backend:t,attrs:{shape:d}}),t.disposeData($.dataId)}else{let E=t.makeOutput(f,\"float32\"),$=t.dataIdMap.get(o.dataId).id,D=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),P=new Uint8Array(new Int32Array(b).buffer),M=new Uint8Array(new Int32Array(w).buffer),W=new Uint8Array(new Int32Array(C).buffer),H=new Uint8Array(new Int32Array(f).buffer),q=new Uint8Array(new Int32Array(y.computeStrides(f)).buffer),X=t.dataIdMap.get(E.dataId).id;_W($,D,o.shape.length,P,M,W,H,q,f.length,X),T=lr({inputs:{x:E},backend:t,attrs:{shape:d}}),t.disposeData(E.dataId)}return T}var EW={kernelName:Wa,backendName:\"wasm\",setupFunc:Pat,kernelFunc:Lat};function Mat(r){let{backend:t,inputs:e,attrs:n}=r,{data:o,dataSplits:s}=e,{separator:i,nGramWidths:a,leftPad:u,rightPad:l,padWidth:c,preserveShortSequences:p}=n,m=t.readSync(o.dataId),f=t.readSync(s.dataId),[d,h]=Bc(m,f,i,a,u,l,c,p),g=t.makeOutput([d.length],\"string\"),x=t.dataIdMap.get(g.dataId);x.stringBytes=d;let b=t.makeOutput(s.shape,\"int32\");return t.typedArrayFromHeap(b).set(h),[g,b]}var AW={kernelName:zl,backendName:\"wasm\",kernelFunc:Mat};function zat(r){let{backend:t,inputs:e,attrs:n}=r,{input:o,delimiter:s}=e,{skipEmpty:i}=n,a=t.readSync(o.dataId),u=t.readSync(s.dataId),[l,c,p]=Vc(a,u[0],i),m=c.length,f=t.makeOutput([m,2],\"int32\");t.typedArrayFromHeap(f).set(l);let h=t.makeOutput([m],\"string\"),g=t.dataIdMap.get(h.dataId);g.stringBytes=c;let x=t.makeOutput([2],\"int32\");return t.typedArrayFromHeap(x).set(p),[f,h,x]}var $W={kernelName:Bl,backendName:\"wasm\",kernelFunc:zat};function Bat(r){let{backend:t,inputs:e,attrs:n}=r,{input:o}=e,{numBuckets:s}=n,i=t.readSync(o.dataId),a=Gc(i,s),u=t.makeOutput(o.shape,\"int32\");return t.typedArrayFromHeap(u).set(a),u}var DW={kernelName:Vl,backendName:\"wasm\",kernelFunc:Bat};var Vat=!0,RW=pe(Bs,Vat);var FW;function Gat(r){FW=r.wasm.cwrap(Ls,null,[\"number\",\"number\",\"number\",\"number\"])}function Wat(r){let{backend:t,inputs:e,attrs:n}=r,{axis:o,keepDims:s}=n,{x:i}=e,a=t.dataIdMap.get(i.dataId).id,u=a,l=i,{transposed:c,axes:p,originalAxes:m,inputWasTransposed:f}=wn(i,o,t),d=p;if(f){let w=t.dataIdMap.get(c.dataId).id;w!==a&&(l=c,u=w,d=S.getInnerMostAxes(d.length,l.shape.length))}S.assertAxesAreInnerMostDims(\"sum\",d,l.shape.length);let[h,g]=S.computeOutAndReduceShapes(l.shape,d),x=y.sizeFromShape(g),b=t.makeOutput(h,l.dtype);if(y.sizeFromShape(l.shape)!==0){let w=t.dataIdMap.get(b.dataId).id;FW(u,x,Zt[b.dtype],w)}if(f&&t.disposeData(c.dataId),s){let w=S.expandShapeToKeepDim(b.shape,m);b.shape=w}return b}var OW={kernelName:Ls,backendName:\"wasm\",setupFunc:Gat,kernelFunc:Wat};var PW=ae(Vs);var LW=ae(Gs);var MW;function Uat(r){MW=r.wasm.cwrap(Xn,null,[\"number\",\"array\",\"number\",\"array\",\"number\",\"number\"])}function Hat(r){let{inputs:t,backend:e,attrs:n}=r,{x:o}=t,s=e.dataIdMap.get(o.dataId).id,{reps:i}=n,a=new Array(o.shape.length);for(let m=0;m{let{x:n}=r,{k:o,sorted:s}=e,i=t.dataIdMap.get(n.dataId).id,a=new Uint8Array(new Int32Array(n.shape).buffer),u=n.shape.slice();u[u.length-1]=o;let l=t.makeOutput(u,n.dtype),c=t.dataIdMap.get(l.dataId).id,p=t.makeOutput(u,\"int32\"),m=t.dataIdMap.get(p.dataId).id;return BW(i,a,n.shape.length,Zt[n.dtype],o,s,c,m),[l,p]},VW={kernelName:Ua,backendName:\"wasm\",setupFunc:qat,kernelFunc:Kat};var GW;function jat(r){GW=r.wasm.cwrap(Ha,null,[\"number\",\"number\",\"bool\",\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"array\",\"number\",\"array\",\"number\",\"number\",\"number\",\"number\",\"number\"])}function Xat(r){let{backend:t,inputs:e,attrs:n}=r,{image:o,transforms:s}=e,{interpolation:i,fillMode:a,fillValue:u,outputShape:l}=n,[c,p,m,f]=o.shape,[d,h]=l!=null?l:[p,m],g=[c,d,h,f],x=new Uint8Array(new Int32Array(y.computeStrides(o.shape)).buffer),b=new Uint8Array(new Int32Array(y.computeStrides(g)).buffer),w=t.makeOutput(g,o.dtype),C=t.dataIdMap.get(w.dataId).id,E=t.dataIdMap.get(o.dataId).id,D=t.dataIdMap.get(s.dataId).id,P=i===\"nearest\"?1:2,M;switch(a){case\"constant\":M=1;break;case\"reflect\":M=2;break;case\"wrap\":M=3;break;case\"nearest\":M=4;break;default:M=1;break}return GW(E,D,s.shape[0]>1,c,d,h,f,m,p,x,o.shape.length-1,b,g.length-1,P,M,u,C),w}var WW={kernelName:Ha,backendName:\"wasm\",setupFunc:jat,kernelFunc:Xat};function Yat(r){let{inputs:t,backend:e,attrs:n}=r,{value:o}=t,{axis:s}=n;s<0&&(s+=o.shape.length);let i=o.shape[s],a=o.shape.length,u=new Array(a-1),l=0;for(let f=0;f({dataId:f,dtype:d,shape:u}))}var UW={kernelName:Si,backendName:\"wasm\",kernelFunc:Yat};function Zat(r){let{inputs:{x:t},backend:e}=r,n=e.makeOutput(t.shape,t.dtype);return e.typedArrayFromHeap(n).fill(0),n}var HW={kernelName:Ti,backendName:\"wasm\",kernelFunc:Zat};var Jat=[YB,ZB,JB,tV,sV,aV,uV,pV,dV,gV,xV,yV,wV,CV,IV,TV,NV,kV,EV,$V,RV,OV,LV,MV,zV,BV,VV,GV,UV,HV,qV,jV,YV,JV,tG,rG,nG,oG,eV,iG,aG,lG,uG,cG,pG,mG,fG,hG,gG,yG,wG,vG,IG,TG,NG,kG,EG,$G,RG,FG,PG,LG,MG,Sv,BG,GG,UG,HG,qG,KG,jG,mV,YG,JG,tW,rW,nW,oW,iW,lW,cW,pW,hV,fW,dW,gW,yW,wW,CW,vW,IW,SW,TW,kW,EW,AW,$W,DW,RW,OW,PW,LW,zW,VW,WW,nV,UW,HW];for(let r of Jat)Wu(r);var Uk=B();Uk.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])));Uk.registerFlag(\"WASM_HAS_MULTITHREAD_SUPPORT\",async()=>{if(Uk.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 Yk=Tl(XW()),eU=Tl(ZW()),Zk=Tl(JW());var QW=Yk.default||Yk,Qat=Zk.default||Zk,bg=class extends Ho{constructor(t){super(),this.wasm=t,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(nU),Xk=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new ra(this,go())}write(t,e,n){let o={id:this.dataIdNextNumber++};return this.move(o,t,e,n,1),o}numDataIds(){return this.dataIdMap.numDataIds()}async time(t){let e=y.now();return t(),{kernelMs:y.now()-e}}move(t,e,n,o,s){let i=this.dataIdNextNumber++;if(o===\"string\"){let c=e;this.dataIdMap.set(t,{id:i,stringBytes:c,shape:n,dtype:o,memoryOffset:null,refCount:s});return}let a=y.sizeFromShape(n),u=a*y.bytesPerElement(o),l=this.wasm._malloc(u);this.dataIdMap.set(t,{id:i,memoryOffset:l,shape:n,dtype:o,refCount:s}),this.wasm.tfjs.registerTensor(i,a,l),e!=null&&this.wasm.HEAPU8.set(new Uint8Array(e.buffer,e.byteOffset,u),l)}async read(t){return this.readSync(t)}readSync(t,e,n){let{memoryOffset:o,dtype:s,shape:i,stringBytes:a}=this.dataIdMap.get(t);if(s===\"string\")return(e==null||e===0)&&(n==null||n>=a.length)?a:a.slice(e,n);e=e||0,n=n||y.sizeFromShape(i);let u=y.bytesPerElement(s),l=this.wasm.HEAPU8.slice(o+e*u,o+n*u);return elt(l.buffer,s)}disposeData(t,e=!1){if(this.dataIdMap.has(t)){let n=this.dataIdMap.get(t);if(n.refCount--,!e&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(t)}return!0}refCount(t){return this.dataIdMap.has(t)?this.dataIdMap.get(t).refCount:0}incRef(t){let e=this.dataIdMap.get(t);e!=null&&e.refCount++}floatPrecision(){return 32}getMemoryOffset(t){return this.dataIdMap.get(t).memoryOffset}dispose(){this.wasm.tfjs.dispose(),\"PThread\"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(t,e,n){let o;if(n==null)o=this.write(null,t,e);else{let s=this.dataIdNextNumber++;o={id:s},this.dataIdMap.set(o,{id:s,memoryOffset:n,shape:t,dtype:e,refCount:1});let i=y.sizeFromShape(t);this.wasm.tfjs.registerTensor(s,i,n)}return{dataId:o,shape:t,dtype:e}}typedArrayFromHeap({shape:t,dtype:e,dataId:n}){let o=this.wasm.HEAPU8.buffer,{memoryOffset:s}=this.dataIdMap.get(n),i=y.sizeFromShape(t);switch(e){case\"float32\":return new Float32Array(o,s,i);case\"int32\":return new Int32Array(o,s,i);case\"bool\":return new Uint8Array(o,s,i);default:throw new Error(`Unknown dtype ${e}`)}}};function tlt(r){return(t,e)=>(y.fetch(r,{credentials:\"same-origin\"}).then(n=>{n.ok||t.env.a(`failed to load wasm binary file at '${r}'`),n.arrayBuffer().then(o=>{WebAssembly.instantiate(o,t).then(s=>{e(s.instance,s.module)})})}),{})}function tU(r,t,e){if(Ev!=null)return Ev;let n=\"tfjs-backend-wasm.wasm\";return r&&t?n=\"tfjs-backend-wasm-threaded-simd.wasm\":r&&(n=\"tfjs-backend-wasm-simd.wasm\"),xg!=null&&xg[n]!=null?xg[n]:e+n}async function rU(){let[r,t]=await Promise.all([B().getAsync(\"WASM_HAS_SIMD_SUPPORT\"),B().getAsync(\"WASM_HAS_MULTITHREAD_SUPPORT\")]);return new Promise((e,n)=>{let o={};o.locateFile=(a,u)=>{if(a.endsWith(\".worker.js\")){let l=eU.wasmWorkerContents.replace(/\\n/g,\"\\\\n\"),c=new Blob([l],{type:\"application/javascript\"});return URL.createObjectURL(c)}return a.endsWith(\".wasm\")?tU(r,t,gg!=null?gg:u):u+a},Jk&&(o.instantiateWasm=tlt(tU(r,t,gg!=null?gg:\"\")));let s=!1;o.onAbort=()=>{if(s||yg)return;yg=!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\"})};let i;t&&r&&Ev==null?(o.mainScriptUrlOrBlob=new Blob([\"var WasmBackendModuleThreadedSimd = \"+QW.toString()],{type:\"text/javascript\"}),i=QW(o)):i=Qat(o),i.then(a=>{s=!0,yg=!1;let u=null;a.tfjs={init:a.cwrap(\"init\",null,[]),initWithThreadsCount:a.cwrap(\"init_with_threads_count\",null,[\"number\"]),getThreadsCount:a.cwrap(\"get_threads_count\",\"number\",[]),registerTensor:a.cwrap(\"register_tensor\",null,[\"number\",\"number\",\"number\"]),disposeData:a.cwrap(\"dispose_data\",u,[\"number\"]),dispose:a.cwrap(\"dispose\",u,[])},e({wasm:a})}).catch(n)})}function elt(r,t){switch(t){case\"float32\":return new Float32Array(r);case\"int32\":return new Int32Array(r);case\"bool\":return new Uint8Array(r);default:throw new Error(`Unknown dtype ${t}`)}}var rlt=[\"tfjs-backend-wasm.wasm\",\"tfjs-backend-wasm-simd.wasm\",\"tfjs-backend-wasm-threaded-simd.wasm\"],Ev=null,gg=null,xg={},yg=!1,Jk=!1;function nlt(r,t=!1){if(tS(\"setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release.\"),yg)throw new Error(\"The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`\");Ev=r,Jk=t}function olt(r,t=!1){if(yg)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\")gg=r;else{xg=r;let e=rlt.filter(n=>xg[n]==null);if(e.length>0)throw new Error(`There were no entries found for the following binaries: ${e.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.`)}Jk=t}var nU=-1,Xk=-1;function slt(r){nU=r}function ilt(){if(Xk===-1)throw new Error(\"WASM backend not initialized.\");return Xk}var alt=\"3.20.0\";var llt=2;lm(\"wasm\",async()=>{let{wasm:r}=await rU();return new bg(r)},llt);var ult=\"3.20.0\",clt=\"3.20.0\",plt=\"3.20.0\",mlt=\"3.20.0\",flt=\"3.20.0\",dlt=\"3.20.0\",hlt=\"3.20.0\",glt=\"3.20.0\",xlt={tfjs:ult,\"tfjs-core\":clt,\"tfjs-data\":plt,\"tfjs-layers\":mlt,\"tfjs-converter\":flt,\"tfjs-backend-cpu\":dlt,\"tfjs-backend-webgl\":hlt,\"tfjs-backend-wasm\":glt};export{pi as Abs,oa as Acos,sa as Acosh,cu as AdadeltaOptimizer,pu as AdagradOptimizer,mu as AdamOptimizer,fu as AdamaxOptimizer,jn as Add,jo as AddN,ia as All,aa as Any,Xo as ArgMax,Nl as ArgMin,la as Asin,ua as Asinh,ca as Atan,ma as Atan2,pa as Atanh,Yo as AvgPool,kl as AvgPool3D,Ip as AvgPool3DGrad,vp as AvgPoolGrad,bg as BackendWasm,Zo as BatchMatMul,mi as BatchToSpaceND,Sp as Bincount,Tp as BroadcastArgs,N1 as BroadcastTo,Lb as Callback,Yy as CallbackList,ao as Cast,Jo as Ceil,lo as ClipByValue,Np as Complex,_l as ComplexAbs,fi as Concat,Qo as Conv2D,kp as Conv2DBackpropFilter,ts as Conv2DBackpropInput,El as Conv3D,_p as Conv3DBackpropFilterV2,Ep as Conv3DBackpropInputV2,es as Cos,rs as Cosh,da as CropAndResize,fa as Cumprod,ns as Cumsum,Jy as CustomCallback,ra as DataStorage,Ap as DenseBincount,ha as DepthToSpace,os as DepthwiseConv2dNative,$p as DepthwiseConv2dNativeBackpropFilter,Dp as DepthwiseConv2dNativeBackpropInput,Rp as Diag,Al as Dilation2D,sh as Dilation2DBackpropFilter,oh as Dilation2DBackpropInput,y0 as ENV,Mb as EarlyStopping,Fp as Einsum,is as Elu,Op as EluGrad,rh as Environment,xa as Equal,ga as Erf,as as Exp,di as ExpandDims,ya as Expm1,Pp as FFT,$l as Fill,ba as FlipLeftRight,ls as Floor,us as FloorDiv,ih as FromPixels,cs as FusedBatchNorm,ki as FusedConv2D,_i as FusedDepthwiseConv2D,jc as GPGPUContext,wa as GatherNd,hi as GatherV2,Hh as GraphModel,Ca as Greater,ps as GreaterEqual,Zy as History,Lp as IFFT,uo as Identity,Mp as Imag,we as InputSpec,va as IsFinite,Ia as IsInf,Sa as IsNan,Ho as KernelBackend,Dl as LRN,Bp as LRNGrad,Ah as LayerVariable,Bn as LayersModel,ms as LeakyRelu,Ta as Less,Na as LessEqual,zp as LinSpace,fs as Log,ka as Log1p,_1 as LogSoftmax,_a as LogicalAnd,Ea as LogicalNot,Aa as LogicalOr,k1 as LogicalXor,Ilt as LowerBound,Eu as MathBackendWebGL,ds as Max,gs as MaxPool,Rl as MaxPool3D,Gp as MaxPool3DGrad,Vp as MaxPoolGrad,Wp as MaxPoolWithArgmax,hs as Maximum,xs as Mean,ys as Min,bs as Minimum,ws as MirrorPad,$a as Mod,du as MomentumOptimizer,Up as Multinomial,Cs as Multiply,gi as Neg,Ra as NonMaxSuppressionV3,Fa as NonMaxSuppressionV4,Oa as NonMaxSuppressionV5,Da as NotEqual,z0 as OP_SCOPE_SUFFIX,vs as OneHot,xi as OnesLike,Br as Optimizer,js as OptimizerConstructors,yi as Pack,Is as PadV2,Slt as Pool,Ss as Pow,Ts as Prelu,Ns as Prod,hu as RMSPropOptimizer,_n as RNN,Hp as RaggedTensorToTensor,Fl as Range,E0 as Rank,qp as Real,ss as RealDiv,Pa as Reciprocal,Ye as Reduction,ks as Relu,As as Relu6,bi as Reshape,Es as ResizeBilinear,jp as ResizeBilinearGrad,_s as ResizeNearestNeighbor,Kp as ResizeNearestNeighborGrad,$s as Reverse,qa as RotateWithOffset,Ds as Round,Rs as Rsqrt,qi as SGDOptimizer,La as ScatterNd,Xp as SearchSorted,wi as Select,Ma as Selu,Ji as Sequential,Os as Sigmoid,Ba as Sign,Fs as Sin,za as Sinh,Ci as Slice,Ms as Softmax,Va as Softplus,vi as SpaceToBatchND,Ol as SparseFillEmptyRows,Ga as SparseReshape,Pl as SparseSegmentMean,Ll as SparseSegmentSum,Yp as SparseToDense,Ii as SplitV,Ps as Sqrt,Ml as Square,zs as SquaredDifference,co as Step,Wa as StridedSlice,zl as StringNGrams,Bl as StringSplit,Vl as StringToHashBucketFast,Bs as Sub,Ls as Sum,Xr as SymbolicTensor,Vs as Tan,Gs as Tanh,Lt as Tensor,fe as TensorBuffer,Xn as Tile,Ua as TopK,Ha as Transform,Yn as Transpose,Zp as Unique,Si as Unpack,Gl as UnsortedSegmentSum,Tlt as UpperBound,Ka as Variable,Ti as ZerosLike,Ni as _FusedMatMul,$e as abs,Cx as acos,vx as acosh,J as add,J_ as addN,cm as all,Ju as any,Oi as argMax,Ix as argMin,Sx as asin,Tx as asinh,Nx as atan,kx as atan2,_x as atanh,Xl as avgPool,Ax as avgPool3d,$_ as backend,S as backend_util,eE as basicLSTMCell,Li as batchNorm,$x as batchNorm2d,Dx as batchNorm3d,Rx as batchNorm4d,Yl as batchToSpaceND,Fx as bincount,w6 as booleanMaskAsync,nE as broadcastArgs,Mi as broadcastTo,Lr as broadcast_util,xx as browser,vt as buffer,tZ as callbacks,tt as cast,Ox as ceil,Ir as clipByValue,an as clone,Cn as complex,se as concat,Px as concat1d,Lx as concat2d,Mx as concat3d,zx as concat4d,aD as constraints,mm as conv1d,Sn as conv2d,dm as conv2dTranspose,Bx as conv3d,Gx as conv3dTranspose,Dlt as copyRegisteredKernels,Zl as cos,hm as cosh,Sh as cosineWindow,ec as cumprod,gm as cumsum,un as customGrad,GR as data,oE as denseBincount,tS as deprecationWarn,Wx as depthToSpace,zi as depthwiseConv2d,oZ as deregisterOp,ql as device_util,sE as diag,Ux as dilation2d,vpt as disableDeprecationWarnings,_t as dispose,Ipt as disposeVariables,ct as div,Hx as divNoNan,qx as dot,bS as dropout,iE as einsum,Bi as elu,Cpt as enableDebugMode,wpt as enableProdMode,wS as enclosingPowerOfTwo,go as engine,B as env,Ar as equal,Kx as erf,jx as euclideanNorm,or as exp,yr as expandDims,Xx as expm1,nc as eye,iu as fft,Vi as fill,Ept as findBackend,Apt as findBackendFactory,Gi as floor,um as floorDiv,CM as forceHalfFloat,lu as fused,Wi as gather,E6 as gatherND,yx as gather_util,kpt as getBackend,C0 as getGradient,lh as getKernel,tx as getKernelsForBackend,ilt as getThreadsCount,xk as gpgpu_util,MK as grad,zK as grads,Xe as greater,Pn as greaterEqual,Qa as ifft,jl as imag,uu as image,D6 as inTopKAsync,lD as initializers,KS as input,vn as io,Am as irfft,Yx as isFinite,Zx as isInf,Jx as isNaN,Oe as keep,Vr as kernel_impls,BD as layers,Jl as leakyRelu,xm as less,Ln as lessEqual,vS as linalg,uE as linspace,ZZ as loadGraphModel,JZ as loadGraphModelSync,pY as loadLayersModel,Qx as localResponseNormalization,Sr as log,Ql as log1p,ry as logSigmoid,ym as logSoftmax,bm as logSumExp,Dr as logicalAnd,tu as logicalNot,wm as logicalOr,ny as logicalXor,D5 as losses,cE as lowerBound,Gt as matMul,R_ as math,Mr as max,eu as maxPool,sy as maxPool3d,pE as maxPoolWithArgmax,Tn as maximum,ke as mean,xh as memory,mE as meshgrid,VD as metrics,rc as min,Ui as minimum,iy as mirrorPad,ay as mod,uY as model,GD as models,oc as moments,v6 as movingAverage,O as mul,fE as multiRNNCell,dE as multinomial,Yt as neg,Th as nextFrame,Ja as norm,qs as notEqual,Ri as oneHot,cr as ones,br as onesLike,N as op,hE as outerProduct,cn as pad,gE as pad1d,xE as pad2d,yE as pad3d,bE as pad4d,ly as pool,ln as pow,nu as prelu,mx as print,uy as prod,Spt as profile,wE as raggedTensorToTensor,CE as rand,ME as randomGamma,ac as randomNormal,zE as randomStandardNormal,Hi as randomUniform,ou as range,Npt as ready,Za as real,dy as reciprocal,lm as registerBackend,mY as registerCallbackConstructor,A1 as registerGradient,Wu as registerKernel,nZ as registerOp,WD as regularizers,Rr as relu,Cm as relu6,_pt as removeBackend,F as reshape,pr as reverse,BE as reverse1d,VE as reverse2d,GE as reverse3d,WE as reverse4d,au as rfft,vm as round,Im as rsqrt,mt as scalar,S6 as scatterND,yh as scatter_util,Ch as searchSorted,Sm as selu,Tm as separableConv2d,cY as sequential,rt as serialization,bH as setBackend,$pt as setPlatform,slt as setThreadsCount,nlt as setWasmPath,olt as setWasmPaths,$N as setWebGLContext,UE as setdiff1dAsync,Kr as sigmoid,hy as sign,$5 as signal,Nm as sin,km as sinh,Ot as slice,_m as slice1d,Ih as slice2d,Em as slice3d,lc as slice4d,Be as slice_util,su as softmax,Hs as softplus,ru as spaceToBatchND,R5 as sparse,k6 as sparseToDense,A5 as spectral,mr as split,Ne as sqrt,Ht as square,$m as squaredDifference,Mn as squeeze,sr as stack,yo as step,gy as stridedSlice,F5 as string,ut as sub,ft as sum,Xu as sumOutType,xy as tan,Pi as tanh,vr as tensor,Ve as tensor1d,Ks as tensor2d,gx as tensor3d,HE as tensor4d,qE as tensor5d,KE as tensor6d,ho as tensor_util,Y_ as test_util,G as tidy,$r as tile,Tpt as time,yy as topk,fc as train,Mt as transpose,Dm as truncatedNormal,by as unique,$lt as unregisterGradient,Alt as unregisterKernel,Rm as unsortedSegmentSum,Tr as unstack,ir as upcastType,jE as upperBound,y as util,BK as valueAndGrad,VK as valueAndGrads,wy as variable,ty as variableGrads,xlt as version,vR as version_converter,Z_ as version_core,nf as version_layers,alt as version_wasm,wM as version_webgl,ike as webgl,Id as webgl_util,De as where,vy as whereAsync,_e as zeros,St as zerosLike};\n", "export * from './drawContour';\nexport * from './drawDetections';\nexport * from './drawFaceExpressions';\nexport * from './DrawBox';\nexport * from './DrawFaceLandmarks';\nexport * from './DrawTextField';\n", "import { Point } from '../classes/index';\n\nexport function drawContour(\n ctx: CanvasRenderingContext2D,\n points: Point[],\n isClosed = false,\n) {\n ctx.beginPath();\n\n points.slice(1).forEach(({ x, y }, prevIdx) => {\n const from = points[prevIdx];\n ctx.moveTo(from.x, from.y);\n ctx.lineTo(x, y);\n });\n\n if (isClosed) {\n const from = points[points.length - 1];\n const to = points[0];\n if (!from || !to) {\n return;\n }\n\n ctx.moveTo(from.x, from.y);\n ctx.lineTo(to.x, to.y);\n }\n\n ctx.stroke();\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Point } from '../classes/index';\nimport { Dimensions, IDimensions } from '../classes/Dimensions';\n\nexport function isTensor(tensor: any, dim: number) {\n return tensor instanceof tf.Tensor && tensor.shape.length === dim;\n}\n\nexport function isTensor1D(tensor: any): tensor is tf.Tensor1D {\n return isTensor(tensor, 1);\n}\n\nexport function isTensor2D(tensor: any): tensor is tf.Tensor2D {\n return isTensor(tensor, 2);\n}\n\nexport function isTensor3D(tensor: any): tensor is tf.Tensor3D {\n return isTensor(tensor, 3);\n}\n\nexport function isTensor4D(tensor: any): tensor is tf.Tensor4D {\n return isTensor(tensor, 4);\n}\n\nexport function isFloat(num: number) {\n return num % 1 !== 0;\n}\n\nexport function isEven(num: number) {\n return num % 2 === 0;\n}\n\nexport function round(num: number, prec = 2) {\n const f = 10 ** prec;\n return Math.floor(num * f) / f;\n}\n\nexport function isDimensions(obj: any): boolean {\n return obj && obj.width && obj.height;\n}\n\nexport function computeReshapedDimensions({ width, height }: IDimensions, inputSize: number) {\n const scale = inputSize / Math.max(height, width);\n return new Dimensions(Math.round(width * scale), Math.round(height * scale));\n}\n\nexport function getCenterPoint(pts: Point[]): Point {\n return pts.reduce((sum, pt) => sum.add(pt), new Point(0, 0))\n .div(new Point(pts.length, pts.length));\n}\n\nexport function range(num: number, start: number, step: number): number[] {\n return Array(num).fill(0).map((_, i) => start + (i * step));\n}\n\nexport function isValidNumber(num: any) {\n return !!num && (num !== Infinity) && (num !== -Infinity) && !Number.isNaN(num) || num === 0;\n}\n\nexport function isValidProbablitiy(num: any) {\n return isValidNumber(num) && num >= 0 && num <= 1.0;\n}\n", "import { isValidNumber } from '../utils/index';\n\nexport interface IDimensions {\n width: number\n height: number\n}\n\nexport class Dimensions implements IDimensions {\n private _width: number;\n\n private _height: number;\n\n constructor(width: number, height: number) {\n if (!isValidNumber(width) || !isValidNumber(height)) {\n throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({ width, height })}`);\n }\n\n this._width = width;\n this._height = height;\n }\n\n public get width(): number { return this._width; }\n\n public get height(): number { return this._height; }\n\n public reverse(): Dimensions {\n return new Dimensions(1 / this.width, 1 / this.height);\n }\n}\n", "export interface IPoint {\n x: number\n y: number\n}\n\nexport class Point implements IPoint {\n private _x: number;\n\n private _y: number;\n\n constructor(x: number, y: number) {\n this._x = x;\n this._y = y;\n }\n\n get x(): number { return this._x; }\n\n get y(): number { return this._y; }\n\n public add(pt: IPoint): Point {\n return new Point(this.x + pt.x, this.y + pt.y);\n }\n\n public sub(pt: IPoint): Point {\n return new Point(this.x - pt.x, this.y - pt.y);\n }\n\n public mul(pt: IPoint): Point {\n return new Point(this.x * pt.x, this.y * pt.y);\n }\n\n public div(pt: IPoint): Point {\n return new Point(this.x / pt.x, this.y / pt.y);\n }\n\n public abs(): Point {\n return new Point(Math.abs(this.x), Math.abs(this.y));\n }\n\n public magnitude(): number {\n return Math.sqrt((this.x ** 2) + (this.y ** 2));\n }\n\n public floor(): Point {\n return new Point(Math.floor(this.x), Math.floor(this.y));\n }\n}\n", "import { isDimensions, isValidNumber } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { IDimensions } from './Dimensions';\nimport { Point } from './Point';\nimport { IRect } from './Rect';\n\nexport class Box implements IBoundingBox, IRect {\n public static isRect(rect: any): boolean {\n return !!rect && [rect.x, rect.y, rect.width, rect.height].every(isValidNumber);\n }\n\n public static assertIsValidBox(box: any, callee: string, allowNegativeDimensions = false) {\n if (!Box.isRect(box)) {\n throw new Error(`${callee} - invalid box: ${JSON.stringify(box)}, expected object with properties x, y, width, height`);\n }\n\n if (!allowNegativeDimensions && (box.width < 0 || box.height < 0)) {\n throw new Error(`${callee} - width (${box.width}) and height (${box.height}) must be positive numbers`);\n }\n }\n\n private _x: number;\n\n private _y: number;\n\n private _width: number;\n\n private _height: number;\n\n constructor(_box: IBoundingBox | IRect, allowNegativeDimensions = true) {\n const box = (_box || {}) as any;\n\n const isBbox = [box.left, box.top, box.right, box.bottom].every(isValidNumber);\n const isRect = [box.x, box.y, box.width, box.height].every(isValidNumber);\n\n if (!isRect && !isBbox) {\n throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(box)}`);\n }\n\n const [x, y, width, height] = isRect\n ? [box.x, box.y, box.width, box.height]\n : [box.left, box.top, box.right - box.left, box.bottom - box.top];\n\n Box.assertIsValidBox({\n x, y, width, height,\n }, 'Box.constructor', allowNegativeDimensions);\n\n this._x = x;\n this._y = y;\n this._width = width;\n this._height = height;\n }\n\n public get x(): number { return this._x; }\n\n public get y(): number { return this._y; }\n\n public get width(): number { return this._width; }\n\n public get height(): number { return this._height; }\n\n public get left(): number { return this.x; }\n\n public get top(): number { return this.y; }\n\n public get right(): number { return this.x + this.width; }\n\n public get bottom(): number { return this.y + this.height; }\n\n public get area(): number { return this.width * this.height; }\n\n public get topLeft(): Point { return new Point(this.left, this.top); }\n\n public get topRight(): Point { return new Point(this.right, this.top); }\n\n public get bottomLeft(): Point { return new Point(this.left, this.bottom); }\n\n public get bottomRight(): Point { return new Point(this.right, this.bottom); }\n\n public round(): Box {\n const [x, y, width, height] = [this.x, this.y, this.width, this.height]\n .map((val) => Math.round(val));\n return new Box({\n x, y, width, height,\n });\n }\n\n public floor(): Box {\n const [x, y, width, height] = [this.x, this.y, this.width, this.height]\n .map((val) => Math.floor(val));\n return new Box({\n x, y, width, height,\n });\n }\n\n public toSquare(): Box {\n let {\n x, y, width, height,\n } = this;\n const diff = Math.abs(width - height);\n if (width < height) {\n x -= (diff / 2);\n width += diff;\n }\n if (height < width) {\n y -= (diff / 2);\n height += diff;\n }\n\n return new Box({ x, y, width, height });\n }\n\n public rescale(s: IDimensions | number): Box {\n const scaleX = isDimensions(s) ? (s as IDimensions).width : s as number;\n const scaleY = isDimensions(s) ? (s as IDimensions).height : s as number;\n return new Box({\n x: this.x * scaleX,\n y: this.y * scaleY,\n width: this.width * scaleX,\n height: this.height * scaleY,\n });\n }\n\n public pad(padX: number, padY: number): Box {\n const [x, y, width, height] = [\n this.x - (padX / 2),\n this.y - (padY / 2),\n this.width + padX,\n this.height + padY,\n ];\n return new Box({ x, y, width, height });\n }\n\n public clipAtImageBorders(imgWidth: number, imgHeight: number): Box {\n const { x, y, right, bottom } = this;\n const clippedX = Math.max(x, 0);\n const clippedY = Math.max(y, 0);\n\n const newWidth = right - clippedX;\n const newHeight = bottom - clippedY;\n const clippedWidth = Math.min(newWidth, imgWidth - clippedX);\n const clippedHeight = Math.min(newHeight, imgHeight - clippedY);\n\n return (new Box({ x: clippedX, y: clippedY, width: clippedWidth, height: clippedHeight })).floor();\n }\n\n public shift(sx: number, sy: number): Box {\n const { width, height } = this;\n const x = this.x + sx;\n const y = this.y + sy;\n\n return new Box({ x, y, width, height });\n }\n\n public padAtBorders(imageHeight: number, imageWidth: number) {\n const w = this.width + 1;\n const h = this.height + 1;\n\n const dx = 1;\n const dy = 1;\n let edx = w;\n let edy = h;\n\n let x = this.left;\n let y = this.top;\n let ex = this.right;\n let ey = this.bottom;\n\n if (ex > imageWidth) {\n edx = -ex + imageWidth + w;\n ex = imageWidth;\n }\n if (ey > imageHeight) {\n edy = -ey + imageHeight + h;\n ey = imageHeight;\n }\n if (x < 1) {\n edy = 2 - x;\n x = 1;\n }\n if (y < 1) {\n edy = 2 - y;\n y = 1;\n }\n\n return { dy, edy, dx, edx, y, ey, x, ex, w, h };\n }\n\n public calibrate(region: Box) {\n return new Box({\n left: this.left + (region.left * this.width),\n top: this.top + (region.top * this.height),\n right: this.right + (region.right * this.width),\n bottom: this.bottom + (region.bottom * this.height),\n }).toSquare().round();\n }\n}\n", "import { Box } from './Box';\n\nexport interface IBoundingBox {\n left: number\n top: number\n right: number\n bottom: number\n}\n\nexport class BoundingBox extends Box implements IBoundingBox {\n constructor(left: number, top: number, right: number, bottom: number, allowNegativeDimensions = false) {\n super({ left, top, right, bottom }, allowNegativeDimensions);\n }\n}\n", "import { Box } from './Box';\nimport { Dimensions, IDimensions } from './Dimensions';\nimport { IRect, Rect } from './Rect';\n\nexport class ObjectDetection {\n private _score: number;\n\n private _classScore: number;\n\n private _className: string;\n\n private _box: Rect;\n\n private _imageDims: Dimensions;\n\n constructor(\n score: number,\n classScore: number,\n className: string,\n relativeBox: IRect,\n imageDims: IDimensions,\n ) {\n this._imageDims = new Dimensions(imageDims.width, imageDims.height);\n this._score = score;\n this._classScore = classScore;\n this._className = className;\n this._box = new Box(relativeBox).rescale(this._imageDims);\n }\n\n public get score(): number { return this._score; }\n\n public get classScore(): number { return this._classScore; }\n\n public get className(): string { return this._className; }\n\n public get box(): Box { return this._box; }\n\n public get imageDims(): Dimensions { return this._imageDims; }\n\n public get imageWidth(): number { return this.imageDims.width; }\n\n public get imageHeight(): number { return this.imageDims.height; }\n\n public get relativeBox(): Box { return new Box(this._box).rescale(this.imageDims.reverse()); }\n\n public forSize(width: number, height: number): ObjectDetection {\n return new ObjectDetection(\n this.score,\n this.classScore,\n this.className,\n this.relativeBox,\n { width, height },\n );\n }\n}\n", "import { Box } from './Box';\nimport { IDimensions } from './Dimensions';\nimport { ObjectDetection } from './ObjectDetection';\nimport { Rect } from './Rect';\n\nexport interface IFaceDetecion {\n score: number\n box: Box\n}\n\nexport class FaceDetection extends ObjectDetection implements IFaceDetecion {\n constructor(\n score: number,\n relativeBox: Rect,\n imageDims: IDimensions,\n ) {\n super(score, score, '', relativeBox, imageDims);\n }\n\n public override forSize(width: number, height: number): FaceDetection {\n const { score, relativeBox, imageDims } = super.forSize(width, height);\n return new FaceDetection(score, relativeBox, imageDims);\n }\n}\n", "import { Box } from '../classes/Box';\n\nexport function iou(box1: Box, box2: Box, isIOU = true) {\n const width = Math.max(0.0, Math.min(box1.right, box2.right) - Math.max(box1.left, box2.left));\n const height = Math.max(0.0, Math.min(box1.bottom, box2.bottom) - Math.max(box1.top, box2.top));\n const interSection = width * height;\n\n return isIOU\n ? interSection / (box1.area + box2.area - interSection)\n : interSection / Math.min(box1.area, box2.area);\n}\n", "import { BoundingBox, IPoint } from '../classes/index';\n\nexport function minBbox(pts: IPoint[]): BoundingBox {\n const xs = pts.map((pt) => pt.x);\n const ys = pts.map((pt) => pt.y);\n const minX = xs.reduce((min, x) => (x < min ? x : min), Infinity);\n const minY = ys.reduce((min, y) => (y < min ? y : min), Infinity);\n const maxX = xs.reduce((max, x) => (max < x ? x : max), 0);\n const maxY = ys.reduce((max, y) => (max < y ? y : max), 0);\n\n return new BoundingBox(minX, minY, maxX, maxY);\n}\n", "import { Box } from '../classes/Box';\nimport { iou } from './iou';\n\nexport function nonMaxSuppression(\n boxes: Box[],\n scores: number[],\n iouThreshold: number,\n isIOU = true,\n): number[] {\n let indicesSortedByScore = scores\n .map((score, boxIndex) => ({ score, boxIndex }))\n .sort((c1, c2) => c1.score - c2.score)\n .map((c) => c.boxIndex);\n\n const pick: number[] = [];\n\n while (indicesSortedByScore.length > 0) {\n const curr = indicesSortedByScore.pop() as number;\n pick.push(curr);\n\n const indices = indicesSortedByScore;\n\n const outputs: number[] = [];\n for (let i = 0; i < indices.length; i++) {\n const idx = indices[i];\n\n const currBox = boxes[curr];\n const idxBox = boxes[idx];\n\n outputs.push(iou(currBox, idxBox, isIOU));\n }\n\n indicesSortedByScore = indicesSortedByScore.filter(\n (_, j) => outputs[j] <= iouThreshold,\n );\n }\n\n return pick;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function normalize(x: tf.Tensor4D, meanRgb: number[]): tf.Tensor4D {\n return tf.tidy(() => {\n const [r, g, b] = meanRgb;\n const avg_r = tf.fill([...x.shape.slice(0, 3), 1], r, 'float32');\n const avg_g = tf.fill([...x.shape.slice(0, 3), 1], g, 'float32');\n const avg_b = tf.fill([...x.shape.slice(0, 3), 1], b, 'float32');\n const avg_rgb = tf.concat([avg_r, avg_g, avg_b], 3);\n\n return tf.sub(x, avg_rgb);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\n/**\n * Pads the smaller dimension of an image tensor with zeros, such that width === height.\n *\n * @param imgTensor The image tensor.\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\n * both sides of the minor dimension oof the image.\n * @returns The padded tensor with width === height.\n */\nexport function padToSquare(imgTensor: tf.Tensor4D, isCenterImage = false): tf.Tensor4D {\n return tf.tidy(() => {\n const [height, width] = imgTensor.shape.slice(1);\n if (height === width) return imgTensor;\n const dimDiff = Math.abs(height - width);\n const paddingAmount = Math.round(dimDiff * (isCenterImage ? 0.5 : 1));\n const paddingAxis = height > width ? 2 : 1;\n const createPaddingTensor = (paddingAmountLocal: number): tf.Tensor => {\n const paddingTensorShape = imgTensor.shape.slice();\n paddingTensorShape[paddingAxis] = paddingAmountLocal;\n return tf.fill(paddingTensorShape, 0, 'float32');\n };\n const paddingTensorAppend = createPaddingTensor(paddingAmount);\n const remainingPaddingAmount = dimDiff - (paddingTensorAppend.shape[paddingAxis] as number);\n const paddingTensorPrepend = isCenterImage && remainingPaddingAmount ? createPaddingTensor(remainingPaddingAmount) : null;\n const tensorsToStack = [paddingTensorPrepend, imgTensor, paddingTensorAppend]\n .filter((t) => !!t)\n .map((t) => tf.cast(t as tf.Tensor4D, 'float32')) as tf.Tensor4D[];\n return tf.concat(tensorsToStack, paddingAxis);\n });\n}\n", "export function shuffleArray(inputArray: any[]) {\n const array = inputArray.slice();\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const x = array[i];\n array[i] = array[j];\n array[j] = x;\n }\n return array;\n}\n", "export * from './iou';\nexport * from './minBbox';\nexport * from './nonMaxSuppression';\nexport * from './normalize';\nexport * from './padToSquare';\nexport * from './shuffleArray';\n\nexport function sigmoid(x: number) {\n return 1 / (1 + Math.exp(-x));\n}\n\nexport function inverseSigmoid(x: number) {\n return Math.log(x / (1 - x));\n}\n", "import { Box } from './Box';\n\nexport interface IRect {\n x: number\n y: number\n width: number\n height: number\n}\n\nexport class Rect extends Box implements IRect {\n constructor(x: number, y: number, width: number, height: number, allowNegativeDimensions = false) {\n super({ x, y, width, height }, allowNegativeDimensions);\n }\n}\n", "import { minBbox } from '../ops/index';\nimport { getCenterPoint } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { Box } from './Box';\nimport { Dimensions, IDimensions } from './Dimensions';\nimport { FaceDetection } from './FaceDetection';\nimport { Point } from './Point';\nimport { IRect, Rect } from './Rect';\n\n// face alignment constants\nconst relX = 0.5;\nconst relY = 0.43;\nconst relScale = 0.45;\n\nexport interface IFaceLandmarks {\n positions: Point[]\n shift: Point\n}\n\nexport class FaceLandmarks implements IFaceLandmarks {\n protected _shift: Point;\n\n protected _positions: Point[];\n\n protected _imgDims: Dimensions;\n\n constructor(\n relativeFaceLandmarkPositions: Point[],\n imgDims: IDimensions,\n shift: Point = new Point(0, 0),\n ) {\n const { width, height } = imgDims;\n this._imgDims = new Dimensions(width, height);\n this._shift = shift;\n this._positions = relativeFaceLandmarkPositions.map(\n (pt) => pt.mul(new Point(width, height)).add(shift),\n );\n }\n\n public get shift(): Point { return new Point(this._shift.x, this._shift.y); }\n\n public get imageWidth(): number { return this._imgDims.width; }\n\n public get imageHeight(): number { return this._imgDims.height; }\n\n public get positions(): Point[] { return this._positions; }\n\n public get relativePositions(): Point[] {\n return this._positions.map(\n (pt) => pt.sub(this._shift).div(new Point(this.imageWidth, this.imageHeight)),\n );\n }\n\n public forSize(width: number, height: number): T {\n return new (this.constructor as any)(\n this.relativePositions,\n { width, height },\n );\n }\n\n public shiftBy(x: number, y: number): T {\n return new (this.constructor as any)(\n this.relativePositions,\n this._imgDims,\n new Point(x, y),\n );\n }\n\n public shiftByPoint(pt: Point): T {\n return this.shiftBy(pt.x, pt.y);\n }\n\n /**\n * Aligns the face landmarks after face detection from the relative positions of the faces\n * bounding box, or it's current shift. This function should be used to align the face images\n * after face detection has been performed, before they are passed to the face recognition net.\n * This will make the computed face descriptor more accurate.\n *\n * @param detection (optional) The bounding box of the face or the face detection result. If\n * no argument was passed the position of the face landmarks are assumed to be relative to\n * it's current shift.\n * @returns The bounding box of the aligned face.\n */\n public align(\n detection?: FaceDetection | IRect | IBoundingBox | null,\n options: { useDlibAlignment?: boolean, minBoxPadding?: number } = { },\n ): Box {\n if (detection) {\n const box = detection instanceof FaceDetection\n ? detection.box.floor()\n : new Box(detection);\n\n return this.shiftBy(box.x, box.y).align(null, options);\n }\n\n const { useDlibAlignment, minBoxPadding } = { useDlibAlignment: false, minBoxPadding: 0.2, ...options };\n\n if (useDlibAlignment) {\n return this.alignDlib();\n }\n\n return this.alignMinBbox(minBoxPadding);\n }\n\n private alignDlib(): Box {\n const centers = this.getRefPointsForAlignment();\n\n const [leftEyeCenter, rightEyeCenter, mouthCenter] = centers;\n const distToMouth = (pt: Point) => mouthCenter.sub(pt).magnitude();\n const eyeToMouthDist = (distToMouth(leftEyeCenter) + distToMouth(rightEyeCenter)) / 2;\n\n const size = Math.floor(eyeToMouthDist / relScale);\n\n const refPoint = getCenterPoint(centers);\n // TODO: pad in case rectangle is out of image bounds\n const x = Math.floor(Math.max(0, refPoint.x - (relX * size)));\n const y = Math.floor(Math.max(0, refPoint.y - (relY * size)));\n\n return new Rect(x, y, Math.min(size, this.imageWidth + x), Math.min(size, this.imageHeight + y));\n }\n\n private alignMinBbox(padding: number): Box {\n const box = minBbox(this.positions);\n return box.pad(box.width * padding, box.height * padding);\n }\n\n protected getRefPointsForAlignment(): Point[] {\n throw new Error('getRefPointsForAlignment not implemented by base class');\n }\n}\n", "import { getCenterPoint } from '../utils/index';\nimport { FaceLandmarks } from './FaceLandmarks';\nimport { Point } from './Point';\n\nexport class FaceLandmarks5 extends FaceLandmarks {\n protected override getRefPointsForAlignment(): Point[] {\n const pts = this.positions;\n return [\n pts[0],\n pts[1],\n getCenterPoint([pts[3], pts[4]]),\n ];\n }\n}\n", "import { getCenterPoint } from '../utils/index';\nimport { FaceLandmarks } from './FaceLandmarks';\nimport { Point } from './Point';\n\nexport class FaceLandmarks68 extends FaceLandmarks {\n public getJawOutline(): Point[] {\n return this.positions.slice(0, 17);\n }\n\n public getLeftEyeBrow(): Point[] {\n return this.positions.slice(17, 22);\n }\n\n public getRightEyeBrow(): Point[] {\n return this.positions.slice(22, 27);\n }\n\n public getNose(): Point[] {\n return this.positions.slice(27, 36);\n }\n\n public getLeftEye(): Point[] {\n return this.positions.slice(36, 42);\n }\n\n public getRightEye(): Point[] {\n return this.positions.slice(42, 48);\n }\n\n public getMouth(): Point[] {\n return this.positions.slice(48, 68);\n }\n\n protected override getRefPointsForAlignment(): Point[] {\n return [\n this.getLeftEye(),\n this.getRightEye(),\n this.getMouth(),\n ].map(getCenterPoint);\n }\n}\n", "import { round } from '../utils/index';\n\nexport interface IFaceMatch {\n label: string\n distance: number\n}\n\nexport class FaceMatch implements IFaceMatch {\n private _label: string;\n private _distance: number;\n\n constructor(label: string, distance: number) {\n this._label = label;\n this._distance = distance;\n }\n\n public get label(): string { return this._label; }\n\n public get distance(): number { return this._distance; }\n\n public toString(withDistance = true): string {\n return `${this.label}${withDistance ? ` (${round(this.distance)})` : ''}`;\n }\n}\n", "import { isValidNumber } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { Box } from './Box';\nimport { IRect } from './Rect';\n\nexport class LabeledBox extends Box {\n public static assertIsValidLabeledBox(box: any, callee: string) {\n Box.assertIsValidBox(box, callee);\n if (!isValidNumber(box.label)) {\n throw new Error(`${callee} - expected property label (${box.label}) to be a number`);\n }\n }\n\n private _label: number;\n\n constructor(box: IBoundingBox | IRect | any, label: number) {\n super(box);\n this._label = label;\n }\n\n public get label(): number { return this._label; }\n}\n", "export class LabeledFaceDescriptors {\n private _label: string;\n\n private _descriptors: Float32Array[];\n\n constructor(label: string, descriptors: Float32Array[]) {\n if (!(typeof label === 'string')) {\n throw new Error('LabeledFaceDescriptors - constructor expected label to be a string');\n }\n\n if (!Array.isArray(descriptors) || descriptors.some((desc) => !(desc instanceof Float32Array))) {\n throw new Error('LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array');\n }\n\n this._label = label;\n this._descriptors = descriptors;\n }\n\n public get label(): string { return this._label; }\n\n public get descriptors(): Float32Array[] { return this._descriptors; }\n\n public toJSON(): any {\n return {\n label: this.label,\n descriptors: this.descriptors.map((d) => Array.from(d)),\n };\n }\n\n public static fromJSON(json: any): LabeledFaceDescriptors {\n const descriptors = json.descriptors.map((d: any) => new Float32Array(d));\n return new LabeledFaceDescriptors(json.label, descriptors);\n }\n}\n", "import { isValidProbablitiy } from '../utils/index';\nimport { IBoundingBox } from './BoundingBox';\nimport { LabeledBox } from './LabeledBox';\nimport { IRect } from './Rect';\n\nexport class PredictedBox extends LabeledBox {\n public static assertIsValidPredictedBox(box: any, callee: string) {\n LabeledBox.assertIsValidLabeledBox(box, callee);\n\n if (\n !isValidProbablitiy(box.score)\n || !isValidProbablitiy(box.classScore)\n ) {\n throw new Error(`${callee} - expected properties score (${box.score}) and (${box.classScore}) to be a number between [0, 1]`);\n }\n }\n\n private _score: number;\n\n private _classScore: number;\n\n constructor(box: IBoundingBox | IRect | any, label: number, score: number, classScore: number) {\n super(box, label);\n this._score = score;\n this._classScore = classScore;\n }\n\n public get score(): number { return this._score; }\n\n public get classScore(): number { return this._classScore; }\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\n\nexport type WithFaceDetection = TSource & {\n detection: FaceDetection\n}\n\nexport function isWithFaceDetection(obj: any): obj is WithFaceDetection<{}> {\n return obj.detection instanceof FaceDetection;\n}\n\nexport function extendWithFaceDetection(sourceObj: TSource, detection: FaceDetection): WithFaceDetection {\n const extension = { detection };\n return { ...sourceObj, ...extension };\n}\n", "import { Environment } from './types';\n\nexport function createBrowserEnv(): Environment {\n const fetch = window.fetch;\n if (!fetch) throw new Error('fetch - missing fetch implementation for browser environment');\n\n const readFile = () => {\n throw new Error('readFile - filesystem not available for browser environment');\n };\n\n return {\n Canvas: HTMLCanvasElement,\n CanvasRenderingContext2D,\n Image: HTMLImageElement,\n ImageData,\n Video: HTMLVideoElement,\n createCanvasElement: () => document.createElement('canvas'),\n createImageElement: () => document.createElement('img'),\n createVideoElement: () => document.createElement('video'),\n fetch,\n readFile,\n };\n}\n", "export function isNodejs(): boolean {\n return typeof global === 'object'\n && typeof process !== 'undefined'\n && process.versions != null\n && process.versions.node != null;\n}\n", "import { FileSystem } from './types';\nimport { isNodejs } from './isNodejs';\n\nexport function createFileSystem(fs?: any): FileSystem {\n let requireFsError = '';\n if (!fs && isNodejs()) {\n try {\n // eslint-disable-next-line global-require\n fs = require('fs');\n } catch (err) {\n requireFsError = (err as any).toString();\n }\n }\n\n const readFile = fs\n ? (filePath: string) => new Promise((resolve, reject) => { fs.readFile(filePath, (err: any, buffer) => (err ? reject(err) : resolve(buffer))); })\n : () => { throw new Error(`readFile - failed to require fs in nodejs environment with error: ${requireFsError}`); };\n return { readFile };\n}\n", "/* eslint-disable max-classes-per-file */\nimport { createFileSystem } from './createFileSystem';\nimport { Environment } from './types';\n\nexport function createNodejsEnv(): Environment {\n // eslint-disable-next-line dot-notation\n const Canvas = global['Canvas'] || global.HTMLCanvasElement;\n const Image = global.Image || global.HTMLImageElement;\n // eslint-disable-next-line dot-notation\n const Video = global['Video'] || global.HTMLVideoElement;\n\n const createCanvasElement = () => {\n if (Canvas) return new Canvas();\n throw new Error('createCanvasElement - missing Canvas implementation for nodejs environment');\n };\n\n const createImageElement = () => {\n if (Image) return new Image();\n throw new Error('createImageElement - missing Image implementation for nodejs environment');\n };\n\n const createVideoElement = () => {\n if (Video) return new Video();\n throw new Error('createVideoElement - missing Video implementation for nodejs environment');\n };\n\n const fetch = global.fetch;\n // if (!fetch) throw new Error('fetch - missing fetch implementation for nodejs environment');\n\n const fileSystem = createFileSystem();\n\n return {\n Canvas: Canvas || class {},\n CanvasRenderingContext2D: global.CanvasRenderingContext2D || class {},\n Image: Image || class {},\n ImageData: global.ImageData || class {},\n Video: global.HTMLVideoElement || class {},\n createCanvasElement,\n createImageElement,\n createVideoElement,\n fetch,\n ...fileSystem,\n };\n}\n", "export function isBrowser(): boolean {\n return typeof window === 'object'\n && typeof document !== 'undefined'\n && typeof HTMLImageElement !== 'undefined'\n && typeof HTMLCanvasElement !== 'undefined'\n && typeof HTMLVideoElement !== 'undefined'\n && typeof ImageData !== 'undefined'\n && typeof CanvasRenderingContext2D !== 'undefined';\n}\n", "import { createBrowserEnv } from './createBrowserEnv';\nimport { createFileSystem } from './createFileSystem';\nimport { createNodejsEnv } from './createNodejsEnv';\nimport { isBrowser } from './isBrowser';\nimport { isNodejs } from './isNodejs';\nimport { Environment } from './types';\n\nlet environment: Environment | null;\n\nfunction getEnv(): Environment {\n if (!environment) {\n throw new Error('getEnv - environment is not defined, check isNodejs() and isBrowser()');\n }\n return environment;\n}\n\nfunction setEnv(env: Environment) {\n environment = env;\n}\n\nfunction initialize() {\n // check for isBrowser() first to prevent electron renderer process\n // to be initialized with wrong environment due to isNodejs() returning true\n if (isBrowser()) return setEnv(createBrowserEnv());\n if (isNodejs()) return setEnv(createNodejsEnv());\n return null;\n}\n\nfunction monkeyPatch(env: Partial) {\n if (!environment) {\n initialize();\n }\n\n if (!environment) {\n throw new Error('monkeyPatch - environment is not defined, check isNodejs() and isBrowser()');\n }\n\n const { Canvas = environment.Canvas, Image = environment.Image } = env;\n environment.Canvas = Canvas;\n environment.Image = Image;\n environment.createCanvasElement = env.createCanvasElement || (() => new Canvas());\n environment.createImageElement = env.createImageElement || (() => new Image());\n\n environment.ImageData = env.ImageData || environment.ImageData;\n environment.Video = env.Video || environment.Video;\n environment.fetch = env.fetch || environment.fetch;\n environment.readFile = env.readFile || environment.readFile;\n}\n\nexport const env = {\n getEnv,\n setEnv,\n initialize,\n createBrowserEnv,\n createFileSystem,\n createNodejsEnv,\n monkeyPatch,\n isBrowser,\n isNodejs,\n};\n\ninitialize();\n\nexport * from './types';\n", "import { env } from '../env/index';\n\nexport function resolveInput(arg: string | any) {\n if (!env.isNodejs() && typeof arg === 'string') {\n return document.getElementById(arg);\n }\n return arg;\n}\n", "import { env } from '../env/index';\nimport { resolveInput } from './resolveInput';\n\nexport function getContext2dOrThrow(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D): CanvasRenderingContext2D {\n const { Canvas, CanvasRenderingContext2D } = env.getEnv();\n\n if (canvasArg instanceof CanvasRenderingContext2D) {\n return canvasArg;\n }\n\n const canvas = resolveInput(canvasArg);\n\n if (!(canvas instanceof Canvas)) {\n throw new Error('resolveContext2d - expected canvas to be of instance of Canvas');\n }\n\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n throw new Error('resolveContext2d - canvas 2d context is null');\n }\n\n return ctx;\n}\n", "/* eslint-disable max-classes-per-file */\nimport { IDimensions, IPoint } from '../classes/index';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { resolveInput } from '../dom/resolveInput';\n\n// eslint-disable-next-line no-shadow\nexport enum AnchorPosition {\n // eslint-disable-next-line no-unused-vars\n TOP_LEFT = 'TOP_LEFT',\n // eslint-disable-next-line no-unused-vars\n TOP_RIGHT = 'TOP_RIGHT',\n // eslint-disable-next-line no-unused-vars\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n // eslint-disable-next-line no-unused-vars\n BOTTOM_RIGHT = 'BOTTOM_RIGHT'\n}\n\nexport interface IDrawTextFieldOptions {\n anchorPosition?: AnchorPosition\n backgroundColor?: string\n fontColor?: string\n fontSize?: number\n fontStyle?: string\n padding?: number\n}\n\nexport class DrawTextFieldOptions implements IDrawTextFieldOptions {\n public anchorPosition: AnchorPosition;\n\n public backgroundColor: string;\n\n public fontColor: string;\n\n public fontSize: number;\n\n public fontStyle: string;\n\n public padding: number;\n\n constructor(options: IDrawTextFieldOptions = {}) {\n const {\n anchorPosition, backgroundColor, fontColor, fontSize, fontStyle, padding,\n } = options;\n this.anchorPosition = anchorPosition || AnchorPosition.TOP_LEFT;\n this.backgroundColor = backgroundColor || 'rgba(0, 0, 0, 0.5)';\n this.fontColor = fontColor || 'rgba(255, 255, 255, 1)';\n this.fontSize = fontSize || 14;\n this.fontStyle = fontStyle || 'Georgia';\n this.padding = padding || 4;\n }\n}\n\nexport class DrawTextField {\n public text: string[];\n\n public anchor : IPoint;\n\n public options: DrawTextFieldOptions;\n\n constructor(\n text: string | string[] | DrawTextField,\n anchor: IPoint,\n options: IDrawTextFieldOptions = {},\n ) {\n // eslint-disable-next-line no-nested-ternary\n this.text = typeof text === 'string'\n ? [text]\n : (text instanceof DrawTextField ? text.text : text);\n this.anchor = anchor;\n this.options = new DrawTextFieldOptions(options);\n }\n\n measureWidth(ctx: CanvasRenderingContext2D): number {\n const { padding } = this.options;\n return this.text.map((l) => ctx.measureText(l).width).reduce((w0, w1) => (w0 < w1 ? w1 : w0), 0) + (2 * padding);\n }\n\n measureHeight(): number {\n const { fontSize, padding } = this.options;\n return this.text.length * fontSize + (2 * padding);\n }\n\n getUpperLeft(ctx: CanvasRenderingContext2D, canvasDims?: IDimensions): IPoint {\n const { anchorPosition } = this.options;\n const isShiftLeft = anchorPosition === AnchorPosition.BOTTOM_RIGHT || anchorPosition === AnchorPosition.TOP_RIGHT;\n const isShiftTop = anchorPosition === AnchorPosition.BOTTOM_LEFT || anchorPosition === AnchorPosition.BOTTOM_RIGHT;\n\n const textFieldWidth = this.measureWidth(ctx);\n const textFieldHeight = this.measureHeight();\n const x = (isShiftLeft ? this.anchor.x - textFieldWidth : this.anchor.x);\n const y = isShiftTop ? this.anchor.y - textFieldHeight : this.anchor.y;\n\n // adjust anchor if text box exceeds canvas borders\n if (canvasDims) {\n const { width, height } = canvasDims;\n const newX = Math.max(Math.min(x, width - textFieldWidth), 0);\n const newY = Math.max(Math.min(y, height - textFieldHeight), 0);\n return { x: newX, y: newY };\n }\n return { x, y };\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const canvas = resolveInput(canvasArg);\n const ctx = getContext2dOrThrow(canvas);\n\n const {\n backgroundColor, fontColor, fontSize, fontStyle, padding,\n } = this.options;\n\n ctx.font = `${fontSize}px ${fontStyle}`;\n const maxTextWidth = this.measureWidth(ctx);\n const textHeight = this.measureHeight();\n\n ctx.fillStyle = backgroundColor;\n const upperLeft = this.getUpperLeft(ctx, canvas);\n ctx.fillRect(upperLeft.x, upperLeft.y, maxTextWidth, textHeight);\n\n ctx.fillStyle = fontColor;\n this.text.forEach((textLine, i) => {\n const x = padding + upperLeft.x;\n const y = padding + upperLeft.y + ((i + 1) * fontSize);\n ctx.fillText(textLine, x, y);\n });\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { Box, IBoundingBox, IRect } from '../classes/index';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { AnchorPosition, DrawTextField, DrawTextFieldOptions, IDrawTextFieldOptions } from './DrawTextField';\n\nexport interface IDrawBoxOptions {\n boxColor?: string\n lineWidth?: number\n drawLabelOptions?: IDrawTextFieldOptions\n label?: string\n}\n\nexport class DrawBoxOptions {\n public boxColor: string;\n\n public lineWidth: number;\n\n public drawLabelOptions: DrawTextFieldOptions;\n\n public label?: string;\n\n constructor(options: IDrawBoxOptions = {}) {\n const {\n boxColor, lineWidth, label, drawLabelOptions,\n } = options;\n this.boxColor = boxColor || 'rgba(0, 0, 255, 1)';\n this.lineWidth = lineWidth || 2;\n this.label = label;\n\n const defaultDrawLabelOptions = {\n anchorPosition: AnchorPosition.BOTTOM_LEFT,\n backgroundColor: this.boxColor,\n };\n this.drawLabelOptions = new DrawTextFieldOptions({ ...defaultDrawLabelOptions, ...drawLabelOptions });\n }\n}\n\nexport class DrawBox {\n public box: Box;\n\n public options: DrawBoxOptions;\n\n constructor(\n box: IBoundingBox | IRect,\n options: IDrawBoxOptions = {},\n ) {\n this.box = new Box(box);\n this.options = new DrawBoxOptions(options);\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const ctx = getContext2dOrThrow(canvasArg);\n\n const { boxColor, lineWidth } = this.options;\n\n const {\n x, y, width, height,\n } = this.box;\n ctx.strokeStyle = boxColor;\n ctx.lineWidth = lineWidth;\n ctx.strokeRect(x, y, width, height);\n\n const { label } = this.options;\n if (label) {\n new DrawTextField([label], { x: x - (lineWidth / 2), y }, this.options.drawLabelOptions).draw(canvasArg);\n }\n }\n}\n", "import { Box, IBoundingBox, IRect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { isWithFaceDetection, WithFaceDetection } from '../factories/WithFaceDetection';\nimport { round } from '../utils/index';\nimport { DrawBox } from './DrawBox';\n\nexport type TDrawDetectionsInput = IRect | IBoundingBox | FaceDetection | WithFaceDetection<{}>\n\nexport function drawDetections(\n canvasArg: string | HTMLCanvasElement,\n detections: TDrawDetectionsInput | Array,\n) {\n const detectionsArray = Array.isArray(detections) ? detections : [detections];\n\n detectionsArray.forEach((det) => {\n // eslint-disable-next-line no-nested-ternary\n const score = det instanceof FaceDetection\n ? det.score\n : (isWithFaceDetection(det) ? det.detection.score : undefined);\n\n // eslint-disable-next-line no-nested-ternary\n const box = det instanceof FaceDetection\n ? det.box\n : (isWithFaceDetection(det) ? det.detection.box : new Box(det));\n\n const label = score ? `${round(score)}` : undefined;\n new DrawBox(box, { label }).draw(canvasArg);\n });\n}\n", "import { env } from '../env/index';\n\nexport function isMediaLoaded(media: HTMLImageElement | HTMLVideoElement) : boolean {\n const { Image, Video } = env.getEnv();\n\n return (media instanceof Image && media.complete)\n || (media instanceof Video && media.readyState >= 3);\n}\n", "import { env } from '../env/index';\nimport { isMediaLoaded } from './isMediaLoaded';\n\nexport function awaitMediaLoaded(media: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement) {\n // eslint-disable-next-line consistent-return\n return new Promise((resolve, reject) => {\n if (media instanceof env.getEnv().Canvas || isMediaLoaded(media)) resolve(null);\n\n function onError(e: Event) {\n if (!e.currentTarget) return;\n // eslint-disable-next-line no-use-before-define\n e.currentTarget.removeEventListener('load', onLoad);\n e.currentTarget.removeEventListener('error', onError);\n reject(e);\n }\n\n function onLoad(e: Event) {\n if (!e.currentTarget) return;\n e.currentTarget.removeEventListener('load', onLoad);\n e.currentTarget.removeEventListener('error', onError);\n resolve(e);\n }\n\n media.addEventListener('load', onLoad);\n media.addEventListener('error', onError);\n });\n}\n", "import { env } from '../env/index';\n\nexport function bufferToImage(buf: Blob): Promise {\n return new Promise((resolve, reject) => {\n if (!(buf instanceof Blob)) reject(new Error('bufferToImage - expected buf to be of type: Blob'));\n const reader = new FileReader();\n reader.onload = () => {\n if (typeof reader.result !== 'string') reject(new Error('bufferToImage - expected reader.result to be a string, in onload'));\n const img = env.getEnv().createImageElement();\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.src = reader.result as string;\n };\n reader.onerror = reject;\n reader.readAsDataURL(buf);\n });\n}\n", "import { Dimensions, IDimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\n\nexport function getMediaDimensions(input: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | IDimensions): Dimensions {\n const { Image, Video } = env.getEnv();\n\n if (input instanceof Image) {\n return new Dimensions(input.naturalWidth, input.naturalHeight);\n }\n if (input instanceof Video) {\n return new Dimensions(input.videoWidth, input.videoHeight);\n }\n return new Dimensions(input.width, input.height);\n}\n", "import { IDimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { getMediaDimensions } from './getMediaDimensions';\nimport { isMediaLoaded } from './isMediaLoaded';\n\nexport function createCanvas({ width, height }: IDimensions): HTMLCanvasElement {\n const { createCanvasElement } = env.getEnv();\n const canvas = createCanvasElement();\n canvas.width = width;\n canvas.height = height;\n return canvas;\n}\n\nexport function createCanvasFromMedia(media: HTMLImageElement | HTMLVideoElement | ImageData, dims?: IDimensions): HTMLCanvasElement {\n const { ImageData } = env.getEnv();\n\n if (!(media instanceof ImageData) && !isMediaLoaded(media)) {\n throw new Error('createCanvasFromMedia - media has not finished loading yet');\n }\n\n const { width, height } = dims || getMediaDimensions(media);\n const canvas = createCanvas({ width, height });\n\n if (media instanceof ImageData) {\n getContext2dOrThrow(canvas).putImageData(media, 0, 0);\n } else {\n getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height);\n }\n return canvas;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { env } from '../env/index';\nimport { isTensor4D } from '../utils/index';\n\nexport async function imageTensorToCanvas(\n imgTensor: tf.Tensor,\n canvas?: HTMLCanvasElement,\n): Promise {\n const targetCanvas = canvas || env.getEnv().createCanvasElement();\n\n const [height, width, numChannels] = imgTensor.shape.slice(isTensor4D(imgTensor) ? 1 : 0);\n const imgTensor3D = tf.tidy(() => imgTensor.as3D(height, width, numChannels).toInt());\n await tf['browser'].toPixels(imgTensor3D, targetCanvas);\n\n imgTensor3D.dispose();\n\n return targetCanvas;\n}\n", "import { env } from '../env/index';\n\nexport function isMediaElement(input: any) {\n const { Image, Canvas, Video } = env.getEnv();\n\n return input instanceof Image\n || input instanceof Canvas\n || input instanceof Video;\n}\n", "import { env } from '../env/index';\nimport { createCanvas, createCanvasFromMedia } from './createCanvas';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { getMediaDimensions } from './getMediaDimensions';\n\nexport function imageToSquare(input: HTMLImageElement | HTMLCanvasElement, inputSize: number, centerImage = false) {\n const { Image, Canvas } = env.getEnv();\n\n if (!(input instanceof Image || input instanceof Canvas)) {\n throw new Error('imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement');\n }\n\n if (inputSize <= 0) return createCanvas({ width: 1, height: 1 });\n const dims = getMediaDimensions(input);\n const scale = inputSize / Math.max(dims.height, dims.width);\n const width = scale * dims.width;\n const height = scale * dims.height;\n\n const targetCanvas = createCanvas({ width: inputSize, height: inputSize });\n const inputCanvas = input instanceof Canvas ? input : createCanvasFromMedia(input);\n\n const offset = Math.abs(width - height) / 2;\n const dx = centerImage && width < height ? offset : 0;\n const dy = centerImage && height < width ? offset : 0;\n if (inputCanvas.width > 0 && inputCanvas.height > 0) getContext2dOrThrow(targetCanvas).drawImage(inputCanvas, dx, dy, width, height);\n\n return targetCanvas;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Dimensions } from '../classes/Dimensions';\nimport { env } from '../env/index';\nimport { padToSquare } from '../ops/padToSquare';\nimport { computeReshapedDimensions, isTensor3D, isTensor4D, range } from '../utils/index';\nimport { createCanvasFromMedia } from './createCanvas';\nimport { imageToSquare } from './imageToSquare';\nimport { TResolvedNetInput } from './types';\n\nexport class NetInput {\n private _imageTensors: Array = [];\n\n private _canvases: HTMLCanvasElement[] = [];\n\n private _batchSize: number;\n\n private _treatAsBatchInput = false;\n\n private _inputDimensions: number[][] = [];\n\n private _inputSize = 0;\n\n constructor(inputs: Array, treatAsBatchInput = false) {\n if (!Array.isArray(inputs)) {\n throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${inputs}`);\n }\n\n this._treatAsBatchInput = treatAsBatchInput;\n this._batchSize = inputs.length;\n\n inputs.forEach((input, idx) => {\n if (isTensor3D(input)) {\n this._imageTensors[idx] = input;\n this._inputDimensions[idx] = input.shape;\n return;\n }\n\n if (isTensor4D(input)) {\n const batchSize = (input as any).shape[0];\n if (batchSize !== 1) {\n throw new Error(`NetInput - tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`);\n }\n\n this._imageTensors[idx] = input;\n this._inputDimensions[idx] = (input as any).shape.slice(1);\n return;\n }\n\n // @ts-ignore\n const canvas = (input as any) instanceof env.getEnv().Canvas ? input : createCanvasFromMedia(input);\n this._canvases[idx] = canvas as HTMLCanvasElement;\n this._inputDimensions[idx] = [canvas.height, canvas.width, 3];\n });\n }\n\n public get imageTensors(): Array {\n return this._imageTensors;\n }\n\n public get canvases(): HTMLCanvasElement[] {\n return this._canvases;\n }\n\n public get isBatchInput(): boolean {\n return this.batchSize > 1 || this._treatAsBatchInput;\n }\n\n public get batchSize(): number {\n return this._batchSize;\n }\n\n public get inputDimensions(): number[][] {\n return this._inputDimensions;\n }\n\n public get inputSize(): number | undefined {\n return this._inputSize;\n }\n\n public get reshapedInputDimensions(): Dimensions[] {\n return range(this.batchSize, 0, 1).map(\n (_, batchIdx) => this.getReshapedInputDimensions(batchIdx),\n );\n }\n\n public getInput(batchIdx: number): tf.Tensor3D | tf.Tensor4D | HTMLCanvasElement {\n return this.canvases[batchIdx] || this.imageTensors[batchIdx];\n }\n\n public getInputDimensions(batchIdx: number): number[] {\n return this._inputDimensions[batchIdx];\n }\n\n public getInputHeight(batchIdx: number): number {\n return this._inputDimensions[batchIdx][0];\n }\n\n public getInputWidth(batchIdx: number): number {\n return this._inputDimensions[batchIdx][1];\n }\n\n public getReshapedInputDimensions(batchIdx: number): Dimensions {\n if (typeof this.inputSize !== 'number') {\n throw new Error('getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet');\n }\n\n const width = this.getInputWidth(batchIdx);\n const height = this.getInputHeight(batchIdx);\n return computeReshapedDimensions({ width, height }, this.inputSize);\n }\n\n /**\n * Create a batch tensor from all input canvases and tensors\n * with size [batchSize, inputSize, inputSize, 3].\n *\n * @param inputSize Height and width of the tensor.\n * @param isCenterImage (optional, default: false) If true, add an equal amount of padding on\n * both sides of the minor dimension oof the image.\n * @returns The batch tensor.\n */\n public toBatchTensor(inputSize: number, isCenterInputs = true): tf.Tensor4D {\n this._inputSize = inputSize;\n\n return tf.tidy(() => {\n const inputTensors = range(this.batchSize, 0, 1).map((batchIdx) => {\n const input = this.getInput(batchIdx);\n\n if (input instanceof tf.Tensor) {\n let imgTensor = isTensor4D(input) ? input : tf.expandDims(input);\n imgTensor = padToSquare(imgTensor as tf.Tensor4D, isCenterInputs);\n\n if (imgTensor.shape[1] !== inputSize || imgTensor.shape[2] !== inputSize) {\n imgTensor = tf['image'].resizeBilinear(imgTensor as tf.Tensor4D, [inputSize, inputSize], false, false);\n }\n\n return imgTensor.as3D(inputSize, inputSize, 3);\n }\n\n if (input instanceof env.getEnv().Canvas) {\n return tf['browser'].fromPixels(imageToSquare(input, inputSize, isCenterInputs));\n }\n\n throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`);\n });\n\n const batchTensor = tf.stack(inputTensors.map((t) => tf.cast(t, 'float32'))).as4D(this.batchSize, inputSize, inputSize, 3);\n // const batchTensor = tf.stack(inputTensors.map((t) => tf.cast(t, 'float32'))) as tf.Tensor4D;\n\n return batchTensor;\n });\n }\n}\n", "import { isTensor3D, isTensor4D } from '../utils/index';\nimport { awaitMediaLoaded } from './awaitMediaLoaded';\nimport { isMediaElement } from './isMediaElement';\nimport { NetInput } from './NetInput';\nimport { resolveInput } from './resolveInput';\nimport { TNetInput } from './types';\n\n/**\n * Validates the input to make sure, they are valid net inputs and awaits all media elements\n * to be finished loading.\n *\n * @param input The input, which can be a media element or an array of different media elements.\n * @returns A NetInput instance, which can be passed into one of the neural networks.\n */\nexport async function toNetInput(inputs: TNetInput): Promise {\n if (inputs instanceof NetInput) return inputs;\n const inputArgArray = Array.isArray(inputs) ? inputs : [inputs];\n if (!inputArgArray.length) throw new Error('toNetInput - empty array passed as input');\n const getIdxHint = (idx: number) => (Array.isArray(inputs) ? ` at input index ${idx}:` : '');\n const inputArray = inputArgArray.map(resolveInput);\n inputArray.forEach((input, i) => {\n if (!isMediaElement(input) && !isTensor3D(input) && !isTensor4D(input)) {\n if (typeof inputArgArray[i] === 'string') throw new Error(`toNetInput -${getIdxHint(i)} string passed, but could not resolve HTMLElement for element id ${inputArgArray[i]}`);\n throw new Error(`toNetInput -${getIdxHint(i)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);\n }\n if (isTensor4D(input)) {\n // if tf.Tensor4D is passed in the input array, the batch size has to be 1\n const batchSize = input.shape[0];\n if (batchSize !== 1) throw new Error(`toNetInput -${getIdxHint(i)} tf.Tensor4D with batchSize ${batchSize} passed, but not supported in input array`);\n }\n });\n // wait for all media elements being loaded\n await Promise.all(inputArray.map((input) => isMediaElement(input) && awaitMediaLoaded(input)));\n return new NetInput(inputArray, Array.isArray(inputs));\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\nimport { Rect } from '../classes/Rect';\nimport { env } from '../env/index';\nimport { createCanvas } from './createCanvas';\nimport { getContext2dOrThrow } from './getContext2dOrThrow';\nimport { imageTensorToCanvas } from './imageTensorToCanvas';\nimport { toNetInput } from './toNetInput';\nimport { TNetInput } from './types';\n\n/**\n * Extracts the image regions containing the detected faces.\n *\n * @param input The image that face detection has been performed on.\n * @param detections The face detection results or face bounding boxes for that image.\n * @returns The Canvases of the corresponding image region for each detected face.\n */\nexport async function extractFaces(input: TNetInput, detections: Array): Promise {\n const { Canvas } = env.getEnv();\n let canvas = input as HTMLCanvasElement;\n if (!(input instanceof Canvas)) {\n const netInput = await toNetInput(input);\n if (netInput.batchSize > 1) throw new Error('extractFaces - batchSize > 1 not supported');\n const tensorOrCanvas = netInput.getInput(0);\n canvas = tensorOrCanvas instanceof Canvas ? tensorOrCanvas : await imageTensorToCanvas(tensorOrCanvas);\n }\n const ctx = getContext2dOrThrow(canvas);\n const boxes = detections\n .map((det) => (det instanceof FaceDetection ? det.forSize(canvas.width, canvas.height).box.floor() : det))\n .map((box) => box.clipAtImageBorders(canvas.width, canvas.height));\n return boxes.map(({ x, y, width, height }) => {\n const faceImg = createCanvas({ width, height });\n if (width > 0 && height > 0) getContext2dOrThrow(faceImg).putImageData(ctx.getImageData(x, y, width, height), 0, 0);\n return faceImg;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Rect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { isTensor3D, isTensor4D } from '../utils/index';\n\n/**\n * Extracts the tensors of the image regions containing the detected faces.\n * Useful if you want to compute the face descriptors for the face images.\n * Using this method is faster then extracting a canvas for each face and\n * converting them to tensors individually.\n *\n * @param imageTensor The image tensor that face detection has been performed on.\n * @param detections The face detection results or face bounding boxes for that image.\n * @returns Tensors of the corresponding image region for each detected face.\n */\nexport async function extractFaceTensors(imageTensor: tf.Tensor3D | tf.Tensor4D, detections: Array): Promise {\n if (!isTensor3D(imageTensor) && !isTensor4D(imageTensor)) {\n throw new Error('extractFaceTensors - expected image tensor to be 3D or 4D');\n }\n\n if (isTensor4D(imageTensor) && imageTensor.shape[0] > 1) {\n throw new Error('extractFaceTensors - batchSize > 1 not supported');\n }\n\n return tf.tidy(() => {\n const [imgHeight, imgWidth, numChannels] = imageTensor.shape.slice(isTensor4D(imageTensor) ? 1 : 0);\n const boxes = detections.map((det) => (det instanceof FaceDetection ? det.forSize(imgWidth, imgHeight).box : det))\n .map((box) => box.clipAtImageBorders(imgWidth, imgHeight));\n const faceTensors = boxes\n .filter((box) => box.width > 0 && box.height > 0)\n .map(({ x, y, width, height }) => tf.slice3d(imageTensor.as3D(imgHeight, imgWidth, numChannels), [y, x, 0], [height, width, numChannels]));\n return faceTensors;\n });\n}\n", "import { env } from '../env/index';\n\nexport async function fetchOrThrow(\n url: string,\n // eslint-disable-next-line no-undef\n init?: RequestInit,\n): Promise {\n const { fetch } = env.getEnv();\n const res = await fetch(url, init);\n if (!(res.status < 400)) {\n throw new Error(`failed to fetch: (${res.status}) ${res.statusText}, from url: ${res.url}`);\n }\n return res;\n}\n", "import { bufferToImage } from './bufferToImage';\nimport { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchImage(uri: string): Promise {\n const res = await fetchOrThrow(uri);\n const blob = await (res).blob();\n\n if (!blob.type.startsWith('image/')) {\n throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${blob.type}, for url: ${res.url}`);\n }\n return bufferToImage(blob);\n}\n", "import { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchJson(uri: string): Promise {\n return (await fetchOrThrow(uri)).json();\n}\n", "import { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchNetWeights(uri: string): Promise {\n return new Float32Array(await (await fetchOrThrow(uri)).arrayBuffer());\n}\n", "import { env } from '../env/index';\n\nexport function bufferToVideo(buf: Blob): Promise {\n return new Promise((resolve, reject) => {\n if (!(buf instanceof Blob)) reject(new Error('bufferToVideo - expected buf to be of type: Blob'));\n\n const video = env.getEnv().createVideoElement();\n video.oncanplay = () => resolve(video);\n video.onerror = reject;\n video.playsInline = true;\n video.muted = true;\n video.src = URL.createObjectURL(buf);\n video.play();\n });\n}\n", "import { bufferToVideo } from './bufferToVideo';\nimport { fetchOrThrow } from './fetchOrThrow';\n\nexport async function fetchVideo(uri: string): Promise {\n const res = await fetchOrThrow(uri);\n const blob = await (res).blob();\n\n if (!blob.type.startsWith('video/')) {\n throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${blob.type}, for url: ${res.url}`);\n }\n return bufferToVideo(blob);\n}\n", "export function getModelUris(uri: string | undefined, defaultModelName: string) {\n const defaultManifestFilename = `${defaultModelName}-weights_manifest.json`;\n\n if (!uri) {\n return {\n modelBaseUri: '',\n manifestUri: defaultManifestFilename,\n };\n }\n\n if (uri === '/') {\n return {\n modelBaseUri: '/',\n manifestUri: `/${defaultManifestFilename}`,\n };\n }\n // eslint-disable-next-line no-nested-ternary\n const protocol = uri.startsWith('http://') ? 'http://' : uri.startsWith('https://') ? 'https://' : '';\n uri = uri.replace(protocol, '');\n\n const parts = uri.split('/').filter((s) => s);\n\n const manifestFile = uri.endsWith('.json')\n ? parts[parts.length - 1]\n : defaultManifestFilename;\n\n let modelBaseUri = protocol + (uri.endsWith('.json') ? parts.slice(0, parts.length - 1) : parts).join('/');\n modelBaseUri = uri.startsWith('/') ? `/${modelBaseUri}` : modelBaseUri;\n\n return {\n modelBaseUri,\n manifestUri: modelBaseUri === '/' ? `/${manifestFile}` : `${modelBaseUri}/${manifestFile}`,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { getModelUris } from '../common/getModelUris';\nimport { fetchJson } from './fetchJson';\n\nexport async function loadWeightMap(\n uri: string | undefined,\n defaultModelName: string,\n): Promise {\n const { manifestUri, modelBaseUri } = getModelUris(uri, defaultModelName);\n // @ts-ignore\n const manifest = await fetchJson(manifestUri);\n // if (manifest['weightsManifest']) manifest = manifest['weightsManifest'];\n return tf['io'].loadWeights(manifest, modelBaseUri);\n}\n", "import { IDimensions } from '../classes/index';\nimport { getMediaDimensions } from './getMediaDimensions';\n\nexport function matchDimensions(input: IDimensions, reference: IDimensions, useMediaDimensions = false) {\n const { width, height } = useMediaDimensions\n ? getMediaDimensions(reference)\n : reference;\n input.width = width;\n input.height = height;\n return { width, height };\n}\n", "import * as tf from '../dist/tfjs.esm';\n\nimport { ParamMapping } from './common/index';\nimport { getModelUris } from './common/getModelUris';\nimport { loadWeightMap } from './dom/index';\nimport { env } from './env/index';\n\nexport abstract class NeuralNetwork {\n constructor(name: string) {\n this._name = name;\n }\n\n protected _params: TNetParams | undefined = undefined;\n\n protected _paramMappings: ParamMapping[] = [];\n\n public _name: any;\n\n public get params(): TNetParams | undefined { return this._params; }\n\n public get paramMappings(): ParamMapping[] { return this._paramMappings; }\n\n public get isLoaded(): boolean { return !!this.params; }\n\n public getParamFromPath(paramPath: string): tf.Tensor {\n const { obj, objProp } = this.traversePropertyPath(paramPath);\n return obj[objProp];\n }\n\n public reassignParamFromPath(paramPath: string, tensor: tf.Tensor) {\n const { obj, objProp } = this.traversePropertyPath(paramPath);\n obj[objProp].dispose();\n obj[objProp] = tensor;\n }\n\n public getParamList() {\n return this._paramMappings.map(({ paramPath }) => ({\n path: paramPath,\n tensor: this.getParamFromPath(paramPath),\n }));\n }\n\n public getTrainableParams() {\n return this.getParamList().filter((param) => param.tensor instanceof tf.Variable);\n }\n\n public getFrozenParams() {\n return this.getParamList().filter((param) => !(param.tensor instanceof tf.Variable));\n }\n\n public variable() {\n this.getFrozenParams().forEach(({ path, tensor }) => {\n this.reassignParamFromPath(path, tensor.variable());\n });\n }\n\n public freeze() {\n this.getTrainableParams().forEach(({ path, tensor: variable }) => {\n const tensor = tf.tensor(variable.dataSync());\n variable.dispose();\n this.reassignParamFromPath(path, tensor);\n });\n }\n\n public dispose(throwOnRedispose = true) {\n this.getParamList().forEach((param) => {\n if (throwOnRedispose && param.tensor.isDisposed) {\n throw new Error(`param tensor has already been disposed for path ${param.path}`);\n }\n param.tensor.dispose();\n });\n this._params = undefined;\n }\n\n public serializeParams(): Float32Array {\n return new Float32Array(\n this.getParamList()\n .map(({ tensor }) => Array.from(tensor.dataSync()) as number[])\n .reduce((flat, arr) => flat.concat(arr)),\n );\n }\n\n public async load(weightsOrUrl: Float32Array | string | undefined): Promise {\n if (weightsOrUrl instanceof Float32Array) {\n this.extractWeights(weightsOrUrl);\n return;\n }\n await this.loadFromUri(weightsOrUrl);\n }\n\n public async loadFromUri(uri: string | undefined) {\n if (uri && typeof uri !== 'string') {\n throw new Error(`${this._name}.loadFromUri - expected model uri`);\n }\n const weightMap = await loadWeightMap(uri, this.getDefaultModelName());\n this.loadFromWeightMap(weightMap);\n }\n\n public async loadFromDisk(filePath: string | undefined) {\n if (filePath && typeof filePath !== 'string') {\n throw new Error(`${this._name}.loadFromDisk - expected model file path`);\n }\n const { readFile } = env.getEnv();\n const { manifestUri, modelBaseUri } = getModelUris(filePath, this.getDefaultModelName());\n const fetchWeightsFromDisk = (filePaths: string[]) => Promise.all(filePaths.map((fp) => readFile(fp).then((buf) => buf.buffer)));\n const loadWeights = tf['io'].weightsLoaderFactory(fetchWeightsFromDisk);\n const manifest = JSON.parse((await readFile(manifestUri)).toString());\n const weightMap = await loadWeights(manifest, modelBaseUri);\n this.loadFromWeightMap(weightMap);\n }\n\n public loadFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { paramMappings, params } = this.extractParamsFromWeightMap(weightMap);\n this._paramMappings = paramMappings;\n this._params = params;\n }\n\n public extractWeights(weights: Float32Array) {\n const { paramMappings, params } = this.extractParams(weights);\n this._paramMappings = paramMappings;\n this._params = params;\n }\n\n private traversePropertyPath(paramPath: string) {\n if (!this.params) {\n throw new Error('traversePropertyPath - model has no loaded params');\n }\n\n const result = paramPath.split('/').reduce((res: { nextObj: any, obj?: any, objProp?: string }, objProp) => {\n // eslint-disable-next-line no-prototype-builtins\n if (!res.nextObj.hasOwnProperty(objProp)) {\n throw new Error(`traversePropertyPath - object does not have property ${objProp}, for path ${paramPath}`);\n }\n return { obj: res.nextObj, objProp, nextObj: res.nextObj[objProp] };\n }, { nextObj: this.params });\n\n const { obj, objProp } = result;\n if (!obj || !objProp || !(obj[objProp] instanceof tf.Tensor)) {\n throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${paramPath}`);\n }\n\n return { obj, objProp };\n }\n\n protected abstract getDefaultModelName(): string\n\n // eslint-disable-next-line no-unused-vars\n protected abstract extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TNetParams, paramMappings: ParamMapping[] }\n\n // eslint-disable-next-line no-unused-vars\n protected abstract extractParams(weights: Float32Array): { params: TNetParams, paramMappings: ParamMapping[] }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { SeparableConvParams } from './types';\n\nexport function depthwiseSeparableConv(\n x: tf.Tensor4D,\n params: SeparableConvParams,\n stride: [number, number],\n): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.separableConv2d(x, params.depthwise_filter, params.pointwise_filter, stride, 'same');\n out = tf.add(out, params.bias);\n return out;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, SeparableConvParams } from '../common/index';\nimport { depthwiseSeparableConv } from '../common/depthwiseSeparableConv';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function denseBlock3(\n x: tf.Tensor4D,\n denseBlockParams: DenseBlock3Params,\n isFirstLayer = false,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out1 = tf.relu(\n isFirstLayer\n ? tf.add(\n tf.conv2d(x, (denseBlockParams.conv0 as ConvParams).filters, [2, 2], 'same'),\n denseBlockParams.conv0.bias,\n )\n : depthwiseSeparableConv(x, denseBlockParams.conv0 as SeparableConvParams, [2, 2]),\n ) as tf.Tensor4D;\n const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]);\n\n const in3 = tf.relu(tf.add(out1, out2)) as tf.Tensor4D;\n const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]);\n\n return tf.relu(tf.add(out1, tf.add(out2, out3))) as tf.Tensor4D;\n });\n}\n\nexport function denseBlock4(\n x: tf.Tensor4D,\n denseBlockParams: DenseBlock4Params,\n isFirstLayer = false,\n isScaleDown = true,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out1 = tf.relu(\n isFirstLayer\n ? tf.add(\n tf.conv2d(x, (denseBlockParams.conv0 as ConvParams).filters, isScaleDown ? [2, 2] : [1, 1], 'same'),\n denseBlockParams.conv0.bias,\n )\n : depthwiseSeparableConv(x, denseBlockParams.conv0 as SeparableConvParams, isScaleDown ? [2, 2] : [1, 1]),\n ) as tf.Tensor4D;\n const out2 = depthwiseSeparableConv(out1, denseBlockParams.conv1, [1, 1]);\n\n const in3 = tf.relu(tf.add(out1, out2)) as tf.Tensor4D;\n const out3 = depthwiseSeparableConv(in3, denseBlockParams.conv2, [1, 1]);\n\n const in4 = tf.relu(tf.add(out1, tf.add(out2, out3))) as tf.Tensor4D;\n const out4 = depthwiseSeparableConv(in4, denseBlockParams.conv3, [1, 1]);\n\n return tf.relu(tf.add(out1, tf.add(out2, tf.add(out3, out4)))) as tf.Tensor4D;\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from './types';\n\nexport function convLayer(\n x: tf.Tensor4D,\n params: ConvParams,\n padding: 'valid' | 'same' = 'same',\n withRelu = false,\n): tf.Tensor4D {\n return tf.tidy(() => {\n const out = tf.add(\n tf.conv2d(x, params.filters, [1, 1], padding),\n params.bias,\n ) as tf.Tensor4D;\n\n return withRelu ? tf.relu(out) : out;\n });\n}\n", "import { ParamMapping } from './types';\n\nexport function disposeUnusedWeightTensors(weightMap: any, paramMappings: ParamMapping[]) {\n Object.keys(weightMap).forEach((path) => {\n if (!paramMappings.some((pm) => pm.originalPath === path)) {\n weightMap[path].dispose();\n }\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, ExtractWeightsFunction, ParamMapping } from './types';\n\nexport function extractConvParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvParams => {\n const filters = tf.tensor4d(\n extractWeights(channelsIn * channelsOut * filterSize * filterSize),\n [filterSize, filterSize, channelsIn, channelsOut],\n );\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return { filters, bias };\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, FCParams, ParamMapping } from './types';\n\nexport function extractFCParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (\n channelsIn: number,\n channelsOut: number,\n mappedPrefix: string,\n ): FCParams => {\n const fc_weights = tf.tensor2d(extractWeights(channelsIn * channelsOut), [channelsIn, channelsOut]);\n const fc_bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/weights` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return {\n weights: fc_weights,\n bias: fc_bias,\n };\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\n// eslint-disable-next-line no-unused-vars\nexport type ExtractWeightsFunction = (numWeights: number) => Float32Array\n\nexport type ParamMapping = {\n originalPath?: string\n paramPath: string\n}\n\nexport type ConvParams = {\n filters: tf.Tensor4D\n bias: tf.Tensor1D\n}\n\nexport type FCParams = {\n weights: tf.Tensor2D\n bias: tf.Tensor1D\n}\n\nexport class SeparableConvParams {\n // eslint-disable-next-line no-useless-constructor\n constructor(\n // eslint-disable-next-line no-unused-vars\n public depthwise_filter: tf.Tensor4D,\n // eslint-disable-next-line no-unused-vars\n public pointwise_filter: tf.Tensor4D,\n // eslint-disable-next-line no-unused-vars\n public bias: tf.Tensor1D,\n // eslint-disable-next-line no-empty-function\n ) {}\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, ParamMapping, SeparableConvParams } from './types';\n\nexport function extractSeparableConvParamsFactory(\n extractWeights: ExtractWeightsFunction,\n paramMappings: ParamMapping[],\n) {\n return (channelsIn: number, channelsOut: number, mappedPrefix: string): SeparableConvParams => {\n const depthwise_filter = tf.tensor4d(extractWeights(3 * 3 * channelsIn), [3, 3, channelsIn, 1]);\n const pointwise_filter = tf.tensor4d(extractWeights(channelsIn * channelsOut), [1, 1, channelsIn, channelsOut]);\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/depthwise_filter` },\n { paramPath: `${mappedPrefix}/pointwise_filter` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return new SeparableConvParams(\n depthwise_filter,\n pointwise_filter,\n bias,\n );\n };\n}\n\nexport function loadSeparableConvParamsFactory(\n // eslint-disable-next-line no-unused-vars\n extractWeightEntry: (originalPath: string, paramRank: number) => T,\n) {\n return (prefix: string): SeparableConvParams => {\n const depthwise_filter = extractWeightEntry(`${prefix}/depthwise_filter`, 4);\n const pointwise_filter = extractWeightEntry(`${prefix}/pointwise_filter`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n\n return new SeparableConvParams(\n depthwise_filter,\n pointwise_filter,\n bias,\n );\n };\n}\n", "import { isTensor } from '../utils/index';\nimport { ParamMapping } from './types';\n\nexport function extractWeightEntryFactory(weightMap: any, paramMappings: ParamMapping[]) {\n return (originalPath: string, paramRank: number, mappedPath?: string) => {\n const tensor = weightMap[originalPath];\n\n if (!isTensor(tensor, paramRank)) {\n throw new Error(`expected weightMap[${originalPath}] to be a Tensor${paramRank}D, instead have ${tensor}`);\n }\n\n paramMappings.push(\n { originalPath, paramPath: mappedPath || originalPath },\n );\n\n return tensor;\n };\n}\n", "export function extractWeightsFactory(weights: Float32Array) {\n let remainingWeights = weights;\n\n function extractWeights(numWeights: number): Float32Array {\n const ret = remainingWeights.slice(0, numWeights);\n remainingWeights = remainingWeights.slice(numWeights);\n return ret;\n }\n\n function getRemainingWeights(): Float32Array {\n return remainingWeights;\n }\n\n return {\n extractWeights,\n getRemainingWeights,\n };\n}\n", "import { extractConvParamsFactory, extractSeparableConvParamsFactory, ExtractWeightsFunction, ParamMapping } from '../common/index';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n function extractDenseBlock3Params(channelsIn: number, channelsOut: number, mappedPrefix: string, isFirstLayer = false): DenseBlock3Params {\n const conv0 = isFirstLayer\n ? extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv0`)\n : extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/conv0`);\n const conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv1`);\n const conv2 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv2`);\n\n return { conv0, conv1, conv2 };\n }\n\n function extractDenseBlock4Params(channelsIn: number, channelsOut: number, mappedPrefix: string, isFirstLayer = false): DenseBlock4Params {\n const { conv0, conv1, conv2 } = extractDenseBlock3Params(channelsIn, channelsOut, mappedPrefix, isFirstLayer);\n const conv3 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/conv3`);\n\n return {\n conv0, conv1, conv2, conv3,\n };\n }\n\n return {\n extractDenseBlock3Params,\n extractDenseBlock4Params,\n };\n}\n", "import { extractWeightsFactory, ParamMapping } from '../common/index';\nimport { extractorsFactory } from './extractorsFactory';\nimport { FaceFeatureExtractorParams } from './types';\n\nexport function extractParams(weights: Float32Array): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractDenseBlock4Params,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const dense0 = extractDenseBlock4Params(3, 32, 'dense0', true);\n const dense1 = extractDenseBlock4Params(32, 64, 'dense1');\n const dense2 = extractDenseBlock4Params(64, 128, 'dense2');\n const dense3 = extractDenseBlock4Params(128, 256, 'dense3');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: {\n dense0, dense1, dense2, dense3,\n },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from './types';\n\n// eslint-disable-next-line no-unused-vars\nexport function loadConvParamsFactory(extractWeightEntry: (originalPath: string, paramRank: number) => T) {\n return (prefix: string): ConvParams => {\n const filters = extractWeightEntry(`${prefix}/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n\n return { filters, bias };\n };\n}\n", "import { extractWeightEntryFactory, loadSeparableConvParamsFactory, ParamMapping } from '../common/index';\nimport { loadConvParamsFactory } from '../common/loadConvParamsFactory';\nimport { DenseBlock3Params, DenseBlock4Params } from './types';\n\nexport function loadParamsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n const extractConvParams = loadConvParamsFactory(extractWeightEntry);\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n\n function extractDenseBlock3Params(prefix: string, isFirstLayer = false): DenseBlock3Params {\n const conv0 = isFirstLayer\n ? extractConvParams(`${prefix}/conv0`)\n : extractSeparableConvParams(`${prefix}/conv0`);\n const conv1 = extractSeparableConvParams(`${prefix}/conv1`);\n const conv2 = extractSeparableConvParams(`${prefix}/conv2`);\n\n return { conv0, conv1, conv2 };\n }\n\n function extractDenseBlock4Params(prefix: string, isFirstLayer = false): DenseBlock4Params {\n const conv0 = isFirstLayer\n ? extractConvParams(`${prefix}/conv0`)\n : extractSeparableConvParams(`${prefix}/conv0`);\n const conv1 = extractSeparableConvParams(`${prefix}/conv1`);\n const conv2 = extractSeparableConvParams(`${prefix}/conv2`);\n const conv3 = extractSeparableConvParams(`${prefix}/conv3`);\n\n return {\n conv0, conv1, conv2, conv3,\n };\n }\n\n return {\n extractDenseBlock3Params,\n extractDenseBlock4Params,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, ParamMapping } from '../common/index';\nimport { loadParamsFactory } from './loadParamsFactory';\nimport { FaceFeatureExtractorParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: FaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractDenseBlock4Params,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const params = {\n dense0: extractDenseBlock4Params('dense0', true),\n dense1: extractDenseBlock4Params('dense1'),\n dense2: extractDenseBlock4Params('dense2'),\n dense3: extractDenseBlock4Params('dense3'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { denseBlock4 } from './denseBlock';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { FaceFeatureExtractorParams, IFaceFeatureExtractor } from './types';\n\nexport class FaceFeatureExtractor extends NeuralNetwork implements IFaceFeatureExtractor {\n constructor() {\n super('FaceFeatureExtractor');\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('FaceFeatureExtractor - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = denseBlock4(normalized, params.dense0, true);\n out = denseBlock4(out, params.dense1);\n out = denseBlock4(out, params.dense2);\n out = denseBlock4(out, params.dense3);\n out = tf.avgPool(out, [7, 7], [2, 2], 'valid');\n\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'face_feature_extractor_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FCParams } from './types';\n\nexport function fullyConnectedLayer(\n x: tf.Tensor2D,\n params: FCParams,\n): tf.Tensor2D {\n return tf.tidy(() => tf.add(\n tf.matMul(x, params.weights),\n params.bias,\n ));\n}\n", "import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParams(weights: Float32Array, channelsIn: number, channelsOut: number): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);\n\n const fc = extractFCParams(channelsIn, channelsOut, 'fc');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { fc },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, FCParams, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractFcParams(prefix: string): FCParams {\n const weights = extractWeightEntry(`${prefix}/weights`, 2);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { weights, bias };\n }\n\n const params = {\n fc: extractFcParams('fc'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function seperateWeightMaps(weightMap: tf.NamedTensorMap) {\n const featureExtractorMap: tf.NamedTensorMap = {};\n const classifierMap: tf.NamedTensorMap = {};\n\n Object.keys(weightMap).forEach((key) => {\n const map = key.startsWith('fc') ? classifierMap : featureExtractorMap;\n map[key] = weightMap[key];\n });\n\n return { featureExtractorMap, classifierMap };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { fullyConnectedLayer } from '../common/fullyConnectedLayer';\nimport { NetInput } from '../dom/index';\nimport { FaceFeatureExtractorParams, IFaceFeatureExtractor, TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { NetParams } from './types';\nimport { seperateWeightMaps } from './util';\n\nexport abstract class FaceProcessor<\n TExtractorParams extends FaceFeatureExtractorParams | TinyFaceFeatureExtractorParams\n>\n extends NeuralNetwork {\n protected _faceFeatureExtractor: IFaceFeatureExtractor;\n\n constructor(_name: string, faceFeatureExtractor: IFaceFeatureExtractor) {\n super(_name);\n this._faceFeatureExtractor = faceFeatureExtractor;\n }\n\n public get faceFeatureExtractor(): IFaceFeatureExtractor {\n return this._faceFeatureExtractor;\n }\n\n protected abstract override getDefaultModelName(): string\n\n protected abstract getClassifierChannelsIn(): number\n\n protected abstract getClassifierChannelsOut(): number\n\n public runNet(input: NetInput | tf.Tensor4D): tf.Tensor2D {\n const { params } = this;\n\n if (!params) {\n throw new Error(`${this._name} - load model before inference`);\n }\n\n return tf.tidy(() => {\n const bottleneckFeatures = input instanceof NetInput\n ? this.faceFeatureExtractor.forwardInput(input)\n : input;\n return fullyConnectedLayer(bottleneckFeatures.as2D(bottleneckFeatures.shape[0], -1), params.fc);\n });\n }\n\n public override dispose(throwOnRedispose = true) {\n this.faceFeatureExtractor.dispose(throwOnRedispose);\n super.dispose(throwOnRedispose);\n }\n\n public loadClassifierParams(weights: Float32Array) {\n const { params, paramMappings } = this.extractClassifierParams(weights);\n this._params = params;\n this._paramMappings = paramMappings;\n }\n\n public extractClassifierParams(weights: Float32Array) {\n return extractParams(weights, this.getClassifierChannelsIn(), this.getClassifierChannelsOut());\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap);\n\n this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap);\n\n return extractParamsFromWeightMap(classifierMap);\n }\n\n protected extractParams(weights: Float32Array) {\n const cIn = this.getClassifierChannelsIn();\n const cOut = this.getClassifierChannelsOut();\n const classifierWeightSize = (cOut * cIn) + cOut;\n\n const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize);\n const classifierWeights = weights.slice(weights.length - classifierWeightSize);\n\n this.faceFeatureExtractor.extractWeights(featureExtractorWeights);\n return this.extractClassifierParams(classifierWeights);\n }\n}\n", "export const FACE_EXPRESSION_LABELS = ['neutral', 'happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised'];\n\nexport class FaceExpressions {\n public neutral = 0;\n public happy = 0;\n public sad = 0;\n public angry = 0;\n public fearful = 0;\n public disgusted = 0;\n public surprised = 0;\n\n constructor(probabilities: number[] | Float32Array) {\n if (probabilities.length !== 7) {\n throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${probabilities.length}`);\n }\n\n FACE_EXPRESSION_LABELS.forEach((expression, idx) => {\n this[expression] = probabilities[idx];\n });\n }\n\n asSortedArray() {\n return FACE_EXPRESSION_LABELS\n .map((expression) => ({ expression, probability: this[expression] as number }))\n .sort((e0, e1) => e1.probability - e0.probability);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor';\nimport { FaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceProcessor } from '../faceProcessor/FaceProcessor';\nimport { FaceExpressions } from './FaceExpressions';\n\nexport class FaceExpressionNet extends FaceProcessor {\n constructor(faceFeatureExtractor: FaceFeatureExtractor = new FaceFeatureExtractor()) {\n super('FaceExpressionNet', faceFeatureExtractor);\n }\n\n public forwardInput(input: NetInput | tf.Tensor4D): tf.Tensor2D {\n return tf.tidy(() => tf.softmax(this.runNet(input)));\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async predictExpressions(input: TNetInput) {\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput);\n const probabilitesByBatch = await Promise.all(tf.unstack(out).map(async (t) => {\n const data = t.dataSync();\n t.dispose();\n return data;\n }));\n out.dispose();\n\n const predictionsByBatch = probabilitesByBatch\n .map((probabilites) => new FaceExpressions(probabilites as Float32Array));\n\n return netInput.isBatchInput\n ? predictionsByBatch\n : predictionsByBatch[0];\n }\n\n protected getDefaultModelName(): string {\n return 'face_expression_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 256;\n }\n\n protected getClassifierChannelsOut(): number {\n return 7;\n }\n}\n", "import { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\n\nexport type WithFaceExpressions = TSource & { expressions: FaceExpressions }\n\nexport function isWithFaceExpressions(obj: any): obj is WithFaceExpressions<{}> {\n return obj.expressions instanceof FaceExpressions;\n}\n\nexport function extendWithFaceExpressions(sourceObj: TSource, expressions: FaceExpressions): WithFaceExpressions {\n const extension = { expressions };\n return { ...sourceObj, ...extension };\n}\n", "import { IPoint, Point } from '../classes/index';\nimport { FaceExpressions } from '../faceExpressionNet/index';\nimport { isWithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceExpressions, WithFaceExpressions } from '../factories/WithFaceExpressions';\nimport { round } from '../utils/index';\nimport { DrawTextField } from './DrawTextField';\n\nexport type DrawFaceExpressionsInput = FaceExpressions | WithFaceExpressions<{}>\n\nexport function drawFaceExpressions(canvasArg: string | HTMLCanvasElement, faceExpressions: DrawFaceExpressionsInput | Array, minConfidence = 0.1, textFieldAnchor?: IPoint) {\n const faceExpressionsArray = Array.isArray(faceExpressions) ? faceExpressions : [faceExpressions];\n\n faceExpressionsArray.forEach((e) => {\n // eslint-disable-next-line no-nested-ternary\n const expr = e instanceof FaceExpressions\n ? e\n : (isWithFaceExpressions(e) ? e.expressions : undefined);\n if (!expr) {\n throw new Error('drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof');\n }\n\n const sorted = expr.asSortedArray();\n const resultsToDisplay = sorted.filter((exprLocal) => exprLocal.probability > minConfidence);\n\n const anchor = isWithFaceDetection(e)\n ? e.detection.box.bottomLeft\n : (textFieldAnchor || new Point(0, 0));\n\n const drawTextField = new DrawTextField(\n resultsToDisplay.map((exprLocal) => `${exprLocal.expression} (${round(exprLocal.probability)})`),\n anchor,\n );\n drawTextField.draw(canvasArg);\n });\n}\n", "import { FaceDetection } from '../classes/FaceDetection';\nimport { FaceLandmarks } from '../classes/FaceLandmarks';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { isWithFaceDetection, WithFaceDetection } from './WithFaceDetection';\n\nexport type WithFaceLandmarks<\n TSource extends WithFaceDetection<{}>,\n TFaceLandmarks extends FaceLandmarks = FaceLandmarks68 > = TSource & {\n landmarks: TFaceLandmarks,\n unshiftedLandmarks: TFaceLandmarks,\n alignedRect: FaceDetection,\n angle: { roll: number | undefined, pitch: number | undefined, yaw: number | undefined },\n }\n\nexport function isWithFaceLandmarks(obj: any): obj is WithFaceLandmarks, FaceLandmarks> {\n return isWithFaceDetection(obj)\n // eslint-disable-next-line dot-notation\n && obj['landmarks'] instanceof FaceLandmarks\n // eslint-disable-next-line dot-notation\n && obj['unshiftedLandmarks'] instanceof FaceLandmarks\n // eslint-disable-next-line dot-notation\n && obj['alignedRect'] instanceof FaceDetection;\n}\n\nfunction calculateFaceAngle(mesh) {\n // returns the angle in the plane (in radians) between the positive x-axis and the ray from (0,0) to the point (x,y)\n const radians = (a1, a2, b1, b2) => (Math.atan2(b2 - a2, b1 - a1) % Math.PI);\n // convert radians to degrees\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n const degrees = (theta) => (theta * 180) / Math.PI;\n\n const angle = { roll: undefined, pitch: undefined, yaw: undefined };\n\n if (!mesh || !mesh._positions || mesh._positions.length !== 68) return angle;\n const pt = mesh._positions;\n\n // values are in radians in range of -pi/2 to pi/2 which is -90 to +90 degrees\n // value of 0 means center\n\n // roll is face lean from left to right\n // comparing x,y of outside corners of leftEye and rightEye\n angle.roll = -radians(pt[36]._x, pt[36]._y, pt[45]._x, pt[45]._y);\n\n // pitch is face turn from left right\n // comparing x distance of top of nose to left and right edge of face\n // precision is lacking since coordinates are not precise enough\n angle.pitch = radians(0, Math.abs(pt[0]._x - pt[30]._x) / pt[30]._x, Math.PI, Math.abs(pt[16]._x - pt[30]._x) / pt[30]._x);\n\n // yaw is face move from up to down\n // comparing size of the box around the face with top and bottom of detected landmarks\n // silly hack, but this gives us face compression on y-axis\n // e.g., tilting head up hides the forehead that doesn't have any landmarks so ratio drops\n const bottom = pt.reduce((prev, cur) => (prev < cur._y ? prev : cur._y), +Infinity);\n const top = pt.reduce((prev, cur) => (prev > cur._y ? prev : cur._y), -Infinity);\n angle.yaw = Math.PI * (mesh._imgDims._height / (top - bottom) / 1.40 - 1);\n\n return angle;\n}\n\nexport function extendWithFaceLandmarks, TFaceLandmarks extends FaceLandmarks = FaceLandmarks68 >(sourceObj: TSource, unshiftedLandmarks: TFaceLandmarks): WithFaceLandmarks {\n const { box: shift } = sourceObj.detection;\n const landmarks = unshiftedLandmarks.shiftBy(shift.x, shift.y);\n const rect = landmarks.align();\n const { imageDims } = sourceObj.detection;\n const alignedRect = new FaceDetection(sourceObj.detection.score, rect.rescale(imageDims.reverse()), imageDims);\n const angle = calculateFaceAngle(unshiftedLandmarks);\n\n const extension = {\n landmarks,\n unshiftedLandmarks,\n alignedRect,\n angle,\n };\n\n return { ...sourceObj, ...extension };\n}\n", "/* eslint-disable max-classes-per-file */\nimport { IPoint } from '../classes/index';\nimport { FaceLandmarks } from '../classes/FaceLandmarks';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { getContext2dOrThrow } from '../dom/getContext2dOrThrow';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { drawContour } from './drawContour';\n\nexport interface IDrawFaceLandmarksOptions {\n drawLines?: boolean\n drawPoints?: boolean\n lineWidth?: number\n pointSize?: number\n lineColor?: string\n pointColor?: string\n}\n\nexport class DrawFaceLandmarksOptions {\n public drawLines: boolean;\n\n public drawPoints: boolean;\n\n public lineWidth: number;\n\n public pointSize: number;\n\n public lineColor: string;\n\n public pointColor: string;\n\n constructor(options: IDrawFaceLandmarksOptions = {}) {\n const {\n drawLines = true, drawPoints = true, lineWidth, lineColor, pointSize, pointColor,\n } = options;\n this.drawLines = drawLines;\n this.drawPoints = drawPoints;\n this.lineWidth = lineWidth || 1;\n this.pointSize = pointSize || 2;\n this.lineColor = lineColor || 'rgba(0, 255, 255, 1)';\n this.pointColor = pointColor || 'rgba(255, 0, 255, 1)';\n }\n}\n\nexport class DrawFaceLandmarks {\n public faceLandmarks: FaceLandmarks;\n\n public options: DrawFaceLandmarksOptions;\n\n constructor(\n faceLandmarks: FaceLandmarks,\n options: IDrawFaceLandmarksOptions = {},\n ) {\n this.faceLandmarks = faceLandmarks;\n this.options = new DrawFaceLandmarksOptions(options);\n }\n\n draw(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D) {\n const ctx = getContext2dOrThrow(canvasArg);\n\n const {\n drawLines, drawPoints, lineWidth, lineColor, pointSize, pointColor,\n } = this.options;\n\n if (drawLines && this.faceLandmarks instanceof FaceLandmarks68) {\n ctx.strokeStyle = lineColor;\n ctx.lineWidth = lineWidth;\n drawContour(ctx, this.faceLandmarks.getJawOutline());\n drawContour(ctx, this.faceLandmarks.getLeftEyeBrow());\n drawContour(ctx, this.faceLandmarks.getRightEyeBrow());\n drawContour(ctx, this.faceLandmarks.getNose());\n drawContour(ctx, this.faceLandmarks.getLeftEye(), true);\n drawContour(ctx, this.faceLandmarks.getRightEye(), true);\n drawContour(ctx, this.faceLandmarks.getMouth(), true);\n }\n\n if (drawPoints) {\n ctx.strokeStyle = pointColor;\n ctx.fillStyle = pointColor;\n\n const drawPoint = (pt: IPoint) => {\n ctx.beginPath();\n ctx.arc(pt.x, pt.y, pointSize, 0, 2 * Math.PI);\n ctx.fill();\n };\n this.faceLandmarks.positions.forEach(drawPoint);\n }\n }\n}\n\nexport type DrawFaceLandmarksInput = FaceLandmarks | WithFaceLandmarks>\n\nexport function drawFaceLandmarks(\n canvasArg: string | HTMLCanvasElement,\n faceLandmarks: DrawFaceLandmarksInput | Array,\n) {\n const faceLandmarksArray = Array.isArray(faceLandmarks) ? faceLandmarks : [faceLandmarks];\n faceLandmarksArray.forEach((f) => {\n // eslint-disable-next-line no-nested-ternary\n const landmarks = f instanceof FaceLandmarks\n ? f\n : (isWithFaceLandmarks(f) ? f.landmarks : undefined);\n if (!landmarks) {\n throw new Error('drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof');\n }\n\n new DrawFaceLandmarks(landmarks).draw(canvasArg);\n });\n}\n", "import { extractConvParamsFactory, extractSeparableConvParamsFactory, extractWeightsFactory } from '../common/index';\nimport { ExtractWeightsFunction, ParamMapping } from '../common/types';\nimport { range } from '../utils/index';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n function extractReductionBlockParams(channelsIn: number, channelsOut: number, mappedPrefix: string): ReductionBlockParams {\n const separable_conv0 = extractSeparableConvParams(channelsIn, channelsOut, `${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(channelsOut, channelsOut, `${mappedPrefix}/separable_conv1`);\n const expansion_conv = extractConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/expansion_conv`);\n\n return { separable_conv0, separable_conv1, expansion_conv };\n }\n\n function extractMainBlockParams(channels: number, mappedPrefix: string): MainBlockParams {\n const separable_conv0 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv1`);\n const separable_conv2 = extractSeparableConvParams(channels, channels, `${mappedPrefix}/separable_conv2`);\n\n return { separable_conv0, separable_conv1, separable_conv2 };\n }\n\n return {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n };\n}\n\nexport function extractParams(weights: Float32Array, numMainBlocks: number): { params: TinyXceptionParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const entry_flow_conv_in = extractConvParams(3, 32, 3, 'entry_flow/conv_in');\n const entry_flow_reduction_block_0 = extractReductionBlockParams(32, 64, 'entry_flow/reduction_block_0');\n const entry_flow_reduction_block_1 = extractReductionBlockParams(64, 128, 'entry_flow/reduction_block_1');\n\n const entry_flow = {\n conv_in: entry_flow_conv_in,\n reduction_block_0: entry_flow_reduction_block_0,\n reduction_block_1: entry_flow_reduction_block_1,\n };\n\n const middle_flow = {};\n range(numMainBlocks, 0, 1).forEach((idx) => {\n middle_flow[`main_block_${idx}`] = extractMainBlockParams(128, `middle_flow/main_block_${idx}`);\n });\n\n const exit_flow_reduction_block = extractReductionBlockParams(128, 256, 'exit_flow/reduction_block');\n const exit_flow_separable_conv = extractSeparableConvParams(256, 512, 'exit_flow/separable_conv');\n\n const exit_flow = {\n reduction_block: exit_flow_reduction_block,\n separable_conv: exit_flow_separable_conv,\n };\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { entry_flow, middle_flow, exit_flow },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, loadSeparableConvParamsFactory, ParamMapping } from '../common/index';\nimport { loadConvParamsFactory } from '../common/loadConvParamsFactory';\nimport { range } from '../utils/index';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction loadParamsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n const extractConvParams = loadConvParamsFactory(extractWeightEntry);\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n\n function extractReductionBlockParams(mappedPrefix: string): ReductionBlockParams {\n const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`);\n const expansion_conv = extractConvParams(`${mappedPrefix}/expansion_conv`);\n\n return { separable_conv0, separable_conv1, expansion_conv };\n }\n\n function extractMainBlockParams(mappedPrefix: string): MainBlockParams {\n const separable_conv0 = extractSeparableConvParams(`${mappedPrefix}/separable_conv0`);\n const separable_conv1 = extractSeparableConvParams(`${mappedPrefix}/separable_conv1`);\n const separable_conv2 = extractSeparableConvParams(`${mappedPrefix}/separable_conv2`);\n\n return { separable_conv0, separable_conv1, separable_conv2 };\n }\n\n return {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n numMainBlocks: number,\n): { params: TinyXceptionParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvParams,\n extractSeparableConvParams,\n extractReductionBlockParams,\n extractMainBlockParams,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const entry_flow_conv_in = extractConvParams('entry_flow/conv_in');\n const entry_flow_reduction_block_0 = extractReductionBlockParams('entry_flow/reduction_block_0');\n const entry_flow_reduction_block_1 = extractReductionBlockParams('entry_flow/reduction_block_1');\n\n const entry_flow = {\n conv_in: entry_flow_conv_in,\n reduction_block_0: entry_flow_reduction_block_0,\n reduction_block_1: entry_flow_reduction_block_1,\n };\n\n const middle_flow = {};\n range(numMainBlocks, 0, 1).forEach((idx) => {\n middle_flow[`main_block_${idx}`] = extractMainBlockParams(`middle_flow/main_block_${idx}`);\n });\n\n const exit_flow_reduction_block = extractReductionBlockParams('exit_flow/reduction_block');\n const exit_flow_separable_conv = extractSeparableConvParams('exit_flow/separable_conv');\n\n const exit_flow = {\n reduction_block: exit_flow_reduction_block,\n separable_conv: exit_flow_separable_conv,\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params: { entry_flow, middle_flow, exit_flow }, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, depthwiseSeparableConv } from '../common/index';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { range } from '../utils/index';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { MainBlockParams, ReductionBlockParams, TinyXceptionParams } from './types';\n\nfunction conv(x: tf.Tensor4D, params: ConvParams, stride: [number, number]): tf.Tensor4D {\n return tf.add(tf.conv2d(x, params.filters, stride, 'same'), params.bias);\n}\n\nfunction reductionBlock(x: tf.Tensor4D, params: ReductionBlockParams, isActivateInput = true): tf.Tensor4D {\n let out = isActivateInput ? tf.relu(x) : x;\n out = depthwiseSeparableConv(out, params.separable_conv0, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]);\n out = tf.maxPool(out, [3, 3], [2, 2], 'same');\n out = tf.add(out, conv(x, params.expansion_conv, [2, 2]));\n return out;\n}\n\nfunction mainBlock(x: tf.Tensor4D, params: MainBlockParams): tf.Tensor4D {\n let out = depthwiseSeparableConv(tf.relu(x), params.separable_conv0, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv1, [1, 1]);\n out = depthwiseSeparableConv(tf.relu(out), params.separable_conv2, [1, 1]);\n out = tf.add(out, x);\n return out;\n}\n\nexport class TinyXception extends NeuralNetwork {\n private _numMainBlocks: number;\n\n constructor(numMainBlocks: number) {\n super('TinyXception');\n this._numMainBlocks = numMainBlocks;\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n if (!params) {\n throw new Error('TinyXception - load model before inference');\n }\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n let out = tf.relu(conv(normalized, params.entry_flow.conv_in, [2, 2]));\n out = reductionBlock(out, params.entry_flow.reduction_block_0, false);\n out = reductionBlock(out, params.entry_flow.reduction_block_1);\n range(this._numMainBlocks, 0, 1).forEach((idx) => {\n out = mainBlock(out, params.middle_flow[`main_block_${idx}`]);\n });\n out = reductionBlock(out, params.exit_flow.reduction_block);\n out = tf.relu(depthwiseSeparableConv(out, params.exit_flow.separable_conv, [1, 1]));\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'tiny_xception_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap, this._numMainBlocks);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights, this._numMainBlocks);\n }\n}\n", "import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);\n\n const age = extractFCParams(512, 1, 'fc/age');\n const gender = extractFCParams(512, 2, 'fc/gender');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { fc: { age, gender } },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, FCParams, ParamMapping } from '../common/index';\nimport { NetParams } from './types';\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractFcParams(prefix: string): FCParams {\n const weights = extractWeightEntry(`${prefix}/weights`, 2);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { weights, bias };\n }\n\n const params = {\n fc: {\n age: extractFcParams('fc/age'),\n gender: extractFcParams('fc/gender'),\n },\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FCParams } from '../common/index';\n\n// eslint-disable-next-line no-shadow\nexport enum Gender {\n // eslint-disable-next-line no-unused-vars\n FEMALE = 'female',\n // eslint-disable-next-line no-unused-vars\n MALE = 'male'\n}\n\nexport type AgeAndGenderPrediction = {\n age: number\n gender: Gender\n genderProbability: number\n}\n\nexport type NetOutput = { age: tf.Tensor1D, gender: tf.Tensor2D }\n\nexport type NetParams = {\n fc: {\n age: FCParams\n gender: FCParams\n }\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport { fullyConnectedLayer } from '../common/fullyConnectedLayer';\nimport { seperateWeightMaps } from '../faceProcessor/util';\nimport { TinyXception } from '../xception/TinyXception';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { AgeAndGenderPrediction, Gender, NetOutput, NetParams } from './types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\n\nexport class AgeGenderNet extends NeuralNetwork {\n private _faceFeatureExtractor: TinyXception;\n\n constructor(faceFeatureExtractor: TinyXception = new TinyXception(2)) {\n super('AgeGenderNet');\n this._faceFeatureExtractor = faceFeatureExtractor;\n }\n\n public get faceFeatureExtractor(): TinyXception {\n return this._faceFeatureExtractor;\n }\n\n public runNet(input: NetInput | tf.Tensor4D): NetOutput {\n const { params } = this;\n\n if (!params) {\n throw new Error(`${this._name} - load model before inference`);\n }\n\n return tf.tidy(() => {\n const bottleneckFeatures = input instanceof NetInput\n ? this.faceFeatureExtractor.forwardInput(input)\n : input;\n\n const pooled = tf.avgPool(bottleneckFeatures, [7, 7], [2, 2], 'valid').as2D(bottleneckFeatures.shape[0], -1);\n const age = fullyConnectedLayer(pooled, params.fc.age).as1D();\n const gender = fullyConnectedLayer(pooled, params.fc.gender);\n return { age, gender };\n });\n }\n\n public forwardInput(input: NetInput | tf.Tensor4D): NetOutput {\n return tf.tidy(() => {\n const { age, gender } = this.runNet(input);\n return { age, gender: tf.softmax(gender) };\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async predictAgeAndGender(input: TNetInput): Promise {\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput);\n\n const ages = tf.unstack(out.age);\n const genders = tf.unstack(out.gender);\n const ageAndGenderTensors = ages.map((ageTensor, i) => ({\n ageTensor,\n genderTensor: genders[i],\n }));\n\n const predictionsByBatch = await Promise.all(\n ageAndGenderTensors.map(async ({ ageTensor, genderTensor }) => {\n const age = (ageTensor.dataSync())[0];\n const probMale = (genderTensor.dataSync())[0];\n const isMale = probMale > 0.5;\n const gender = isMale ? Gender.MALE : Gender.FEMALE;\n const genderProbability = isMale ? probMale : (1 - probMale);\n\n ageTensor.dispose();\n genderTensor.dispose();\n return { age, gender, genderProbability };\n }),\n );\n out.age.dispose();\n out.gender.dispose();\n\n return netInput.isBatchInput ? predictionsByBatch as AgeAndGenderPrediction[] : predictionsByBatch[0] as AgeAndGenderPrediction;\n }\n\n protected getDefaultModelName(): string {\n return 'age_gender_model';\n }\n\n public override dispose(throwOnRedispose = true) {\n this.faceFeatureExtractor.dispose(throwOnRedispose);\n super.dispose(throwOnRedispose);\n }\n\n public loadClassifierParams(weights: Float32Array) {\n const { params, paramMappings } = this.extractClassifierParams(weights);\n this._params = params;\n this._paramMappings = paramMappings;\n }\n\n public extractClassifierParams(weights: Float32Array) {\n return extractParams(weights);\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n const { featureExtractorMap, classifierMap } = seperateWeightMaps(weightMap);\n\n this.faceFeatureExtractor.loadFromWeightMap(featureExtractorMap);\n\n return extractParamsFromWeightMap(classifierMap);\n }\n\n protected extractParams(weights: Float32Array) {\n const classifierWeightSize = (512 * 1 + 1) + (512 * 2 + 2);\n\n const featureExtractorWeights = weights.slice(0, weights.length - classifierWeightSize);\n const classifierWeights = weights.slice(weights.length - classifierWeightSize);\n\n this.faceFeatureExtractor.extractWeights(featureExtractorWeights);\n return this.extractClassifierParams(classifierWeights);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { IDimensions, Point } from '../classes/index';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { FaceFeatureExtractorParams, TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceProcessor } from '../faceProcessor/FaceProcessor';\nimport { isEven } from '../utils/index';\n\nexport abstract class FaceLandmark68NetBase<\n TExtractorParams extends FaceFeatureExtractorParams | TinyFaceFeatureExtractorParams\n>\n extends FaceProcessor {\n public postProcess(output: tf.Tensor2D, inputSize: number, originalDimensions: IDimensions[]): tf.Tensor2D {\n const inputDimensions = originalDimensions.map(({ width, height }) => {\n const scale = inputSize / Math.max(height, width);\n return {\n width: width * scale,\n height: height * scale,\n };\n });\n\n const batchSize = inputDimensions.length;\n\n return tf.tidy(() => {\n const createInterleavedTensor = (fillX: number, fillY: number) => tf.stack([tf.fill([68], fillX, 'float32'), tf.fill([68], fillY, 'float32')], 1).as2D(1, 136).as1D();\n\n // eslint-disable-next-line no-unused-vars\n const getPadding = (batchIdx: number, cond: (w: number, h: number) => boolean): number => {\n const { width, height } = inputDimensions[batchIdx];\n return cond(width, height) ? Math.abs(width - height) / 2 : 0;\n };\n\n const getPaddingX = (batchIdx: number) => getPadding(batchIdx, (w, h) => w < h);\n const getPaddingY = (batchIdx: number) => getPadding(batchIdx, (w, h) => h < w);\n\n const landmarkTensors = output\n .mul(tf.fill([batchSize, 136], inputSize, 'float32'))\n .sub(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(\n getPaddingX(batchIdx),\n getPaddingY(batchIdx),\n ))))\n .div(tf.stack(Array.from(Array(batchSize), (_, batchIdx) => createInterleavedTensor(\n inputDimensions[batchIdx].width,\n inputDimensions[batchIdx].height,\n ))));\n\n return landmarkTensors as tf.Tensor2D;\n });\n }\n\n public forwardInput(input: NetInput): tf.Tensor2D {\n return tf.tidy(() => {\n const out = this.runNet(input);\n return this.postProcess(\n out,\n input.inputSize as number,\n input.inputDimensions.map(([height, width]) => ({ height, width })),\n );\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async detectLandmarks(input: TNetInput): Promise {\n const netInput = await toNetInput(input);\n const landmarkTensors = tf.tidy(\n () => tf.unstack(this.forwardInput(netInput)),\n );\n\n const landmarksForBatch = await Promise.all(landmarkTensors.map(\n async (landmarkTensor, batchIdx) => {\n const landmarksArray = Array.from(landmarkTensor.dataSync());\n const xCoords = landmarksArray.filter((_, i) => isEven(i));\n const yCoords = landmarksArray.filter((_, i) => !isEven(i));\n\n return new FaceLandmarks68(\n Array(68).fill(0).map((_, i) => new Point(xCoords[i] as number, yCoords[i] as number)),\n {\n height: netInput.getInputHeight(batchIdx),\n width: netInput.getInputWidth(batchIdx),\n },\n );\n },\n ));\n\n landmarkTensors.forEach((t) => t.dispose());\n\n return netInput.isBatchInput ? landmarksForBatch as FaceLandmarks68[] : landmarksForBatch[0] as FaceLandmarks68;\n }\n\n protected getClassifierChannelsOut(): number {\n return 136;\n }\n}\n", "import { FaceFeatureExtractor } from '../faceFeatureExtractor/FaceFeatureExtractor';\nimport { FaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceLandmark68NetBase } from './FaceLandmark68NetBase';\n\nexport class FaceLandmark68Net extends FaceLandmark68NetBase {\n constructor(faceFeatureExtractor: FaceFeatureExtractor = new FaceFeatureExtractor()) {\n super('FaceLandmark68Net', faceFeatureExtractor);\n }\n\n protected getDefaultModelName(): string {\n return 'face_landmark_68_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 256;\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, ParamMapping } from '../common/index';\nimport { loadParamsFactory } from './loadParamsFactory';\nimport { TinyFaceFeatureExtractorParams } from './types';\n\nexport function extractParamsFromWeightMapTiny(\n weightMap: tf.NamedTensorMap,\n): { params: TinyFaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractDenseBlock3Params,\n } = loadParamsFactory(weightMap, paramMappings);\n\n const params = {\n dense0: extractDenseBlock3Params('dense0', true),\n dense1: extractDenseBlock3Params('dense1'),\n dense2: extractDenseBlock3Params('dense2'),\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import { extractWeightsFactory, ParamMapping } from '../common/index';\nimport { extractorsFactory } from './extractorsFactory';\nimport { TinyFaceFeatureExtractorParams } from './types';\n\nexport function extractParamsTiny(weights: Float32Array): { params: TinyFaceFeatureExtractorParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const {\n extractDenseBlock3Params,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const dense0 = extractDenseBlock3Params(3, 32, 'dense0', true);\n const dense1 = extractDenseBlock3Params(32, 64, 'dense1');\n const dense2 = extractDenseBlock3Params(64, 128, 'dense2');\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n paramMappings,\n params: { dense0, dense1, dense2 },\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { denseBlock3 } from './denseBlock';\nimport { extractParamsFromWeightMapTiny } from './extractParamsFromWeightMapTiny';\nimport { extractParamsTiny } from './extractParamsTiny';\nimport { IFaceFeatureExtractor, TinyFaceFeatureExtractorParams } from './types';\n\nexport class TinyFaceFeatureExtractor extends NeuralNetwork implements IFaceFeatureExtractor {\n constructor() {\n super('TinyFaceFeatureExtractor');\n }\n\n public forwardInput(input: NetInput): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('TinyFaceFeatureExtractor - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(112, true), 'float32');\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = denseBlock3(normalized, params.dense0, true);\n out = denseBlock3(out, params.dense1);\n out = denseBlock3(out, params.dense2);\n out = tf.avgPool(out, [14, 14], [2, 2], 'valid');\n\n return out;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n protected getDefaultModelName(): string {\n return 'face_feature_extractor_tiny_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMapTiny(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParamsTiny(weights);\n }\n}\n", "import { TinyFaceFeatureExtractor } from '../faceFeatureExtractor/TinyFaceFeatureExtractor';\nimport { TinyFaceFeatureExtractorParams } from '../faceFeatureExtractor/types';\nimport { FaceLandmark68NetBase } from './FaceLandmark68NetBase';\n\nexport class FaceLandmark68TinyNet extends FaceLandmark68NetBase {\n constructor(faceFeatureExtractor: TinyFaceFeatureExtractor = new TinyFaceFeatureExtractor()) {\n super('FaceLandmark68TinyNet', faceFeatureExtractor);\n }\n\n protected getDefaultModelName(): string {\n return 'face_landmark_68_tiny_model';\n }\n\n protected getClassifierChannelsIn(): number {\n return 128;\n }\n}\n", "import { FaceLandmark68Net } from './FaceLandmark68Net';\n\nexport * from './FaceLandmark68Net';\nexport * from './FaceLandmark68TinyNet';\nexport class FaceLandmarkNet extends FaceLandmark68Net {}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ScaleLayerParams } from './types';\n\nexport function scale(x: tf.Tensor4D, params: ScaleLayerParams): tf.Tensor4D {\n return tf.add(tf.mul(x, params.weights), params.biases);\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { scale } from './scaleLayer';\nimport { ConvLayerParams } from './types';\n\nfunction convLayer(\n x: tf.Tensor4D,\n params: ConvLayerParams,\n strides: [number, number],\n withRelu: boolean,\n padding: 'valid' | 'same' = 'same',\n): tf.Tensor4D {\n const { filters, bias } = params.conv;\n\n let out = tf.conv2d(x, filters, strides, padding);\n out = tf.add(out, bias);\n out = scale(out, params.scale);\n return withRelu ? tf.relu(out) : out;\n}\n\nexport function conv(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [1, 1], true);\n}\n\nexport function convNoRelu(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [1, 1], false);\n}\n\nexport function convDown(x: tf.Tensor4D, params: ConvLayerParams) {\n return convLayer(x, params, [2, 2], true, 'valid');\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, extractWeightsFactory, ExtractWeightsFunction, ParamMapping } from '../common/index';\nimport { isFloat } from '../utils/index';\nimport { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n function extractFilterValues(numFilterValues: number, numFilters: number, filterSize: number): tf.Tensor4D {\n const weights = extractWeights(numFilterValues);\n const depth = weights.length / (numFilters * filterSize * filterSize);\n\n if (isFloat(depth)) {\n throw new Error(`depth has to be an integer: ${depth}, weights.length: ${weights.length}, numFilters: ${numFilters}, filterSize: ${filterSize}`);\n }\n\n return tf.tidy(\n () => tf.transpose(\n tf.tensor4d(weights, [numFilters, depth, filterSize, filterSize]),\n [2, 3, 1, 0],\n ),\n );\n }\n\n function extractConvParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvParams {\n const filters = extractFilterValues(numFilterValues, numFilters, filterSize);\n const bias = tf.tensor1d(extractWeights(numFilters));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/bias` },\n );\n\n return { filters, bias };\n }\n\n function extractScaleLayerParams(numWeights: number, mappedPrefix: string): ScaleLayerParams {\n const weights = tf.tensor1d(extractWeights(numWeights));\n const biases = tf.tensor1d(extractWeights(numWeights));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/weights` },\n { paramPath: `${mappedPrefix}/biases` },\n );\n\n return {\n weights,\n biases,\n };\n }\n\n function extractConvLayerParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n ): ConvLayerParams {\n const conv = extractConvParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv`);\n const scale = extractScaleLayerParams(numFilters, `${mappedPrefix}/scale`);\n\n return { conv, scale };\n }\n\n function extractResidualLayerParams(\n numFilterValues: number,\n numFilters: number,\n filterSize: number,\n mappedPrefix: string,\n isDown = false,\n ): ResidualLayerParams {\n const conv1 = extractConvLayerParams((isDown ? 0.5 : 1) * numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv1`);\n const conv2 = extractConvLayerParams(numFilterValues, numFilters, filterSize, `${mappedPrefix}/conv2`);\n\n return { conv1, conv2 };\n }\n\n return {\n extractConvLayerParams,\n extractResidualLayerParams,\n };\n}\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvLayerParams,\n extractResidualLayerParams,\n } = extractorsFactory(extractWeights, paramMappings);\n\n const conv32_down = extractConvLayerParams(4704, 32, 7, 'conv32_down');\n const conv32_1 = extractResidualLayerParams(9216, 32, 3, 'conv32_1');\n const conv32_2 = extractResidualLayerParams(9216, 32, 3, 'conv32_2');\n const conv32_3 = extractResidualLayerParams(9216, 32, 3, 'conv32_3');\n\n const conv64_down = extractResidualLayerParams(36864, 64, 3, 'conv64_down', true);\n const conv64_1 = extractResidualLayerParams(36864, 64, 3, 'conv64_1');\n const conv64_2 = extractResidualLayerParams(36864, 64, 3, 'conv64_2');\n const conv64_3 = extractResidualLayerParams(36864, 64, 3, 'conv64_3');\n\n const conv128_down = extractResidualLayerParams(147456, 128, 3, 'conv128_down', true);\n const conv128_1 = extractResidualLayerParams(147456, 128, 3, 'conv128_1');\n const conv128_2 = extractResidualLayerParams(147456, 128, 3, 'conv128_2');\n\n const conv256_down = extractResidualLayerParams(589824, 256, 3, 'conv256_down', true);\n const conv256_1 = extractResidualLayerParams(589824, 256, 3, 'conv256_1');\n const conv256_2 = extractResidualLayerParams(589824, 256, 3, 'conv256_2');\n const conv256_down_out = extractResidualLayerParams(589824, 256, 3, 'conv256_down_out');\n\n const fc = tf.tidy(\n () => tf.transpose(tf.tensor2d(extractWeights(256 * 128), [128, 256]), [1, 0]),\n );\n paramMappings.push({ paramPath: 'fc' });\n\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n const params = {\n conv32_down,\n conv32_1,\n conv32_2,\n conv32_3,\n conv64_down,\n conv64_1,\n conv64_2,\n conv64_3,\n conv128_down,\n conv128_1,\n conv128_2,\n conv256_down,\n conv256_1,\n conv256_2,\n conv256_down_out,\n fc,\n };\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { disposeUnusedWeightTensors, extractWeightEntryFactory, ParamMapping } from '../common/index';\nimport { isTensor2D } from '../utils/index';\nimport { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractScaleLayerParams(prefix: string): ScaleLayerParams {\n const weights = extractWeightEntry(`${prefix}/scale/weights`, 1);\n const biases = extractWeightEntry(`${prefix}/scale/biases`, 1);\n\n return { weights, biases };\n }\n\n function extractConvLayerParams(prefix: string): ConvLayerParams {\n const filters = extractWeightEntry(`${prefix}/conv/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/conv/bias`, 1);\n const scale = extractScaleLayerParams(prefix);\n\n return { conv: { filters, bias }, scale };\n }\n\n function extractResidualLayerParams(prefix: string): ResidualLayerParams {\n return {\n conv1: extractConvLayerParams(`${prefix}/conv1`),\n conv2: extractConvLayerParams(`${prefix}/conv2`),\n };\n }\n\n return {\n extractConvLayerParams,\n extractResidualLayerParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvLayerParams,\n extractResidualLayerParams,\n } = extractorsFactory(weightMap, paramMappings);\n\n const conv32_down = extractConvLayerParams('conv32_down');\n const conv32_1 = extractResidualLayerParams('conv32_1');\n const conv32_2 = extractResidualLayerParams('conv32_2');\n const conv32_3 = extractResidualLayerParams('conv32_3');\n\n const conv64_down = extractResidualLayerParams('conv64_down');\n const conv64_1 = extractResidualLayerParams('conv64_1');\n const conv64_2 = extractResidualLayerParams('conv64_2');\n const conv64_3 = extractResidualLayerParams('conv64_3');\n\n const conv128_down = extractResidualLayerParams('conv128_down');\n const conv128_1 = extractResidualLayerParams('conv128_1');\n const conv128_2 = extractResidualLayerParams('conv128_2');\n\n const conv256_down = extractResidualLayerParams('conv256_down');\n const conv256_1 = extractResidualLayerParams('conv256_1');\n const conv256_2 = extractResidualLayerParams('conv256_2');\n const conv256_down_out = extractResidualLayerParams('conv256_down_out');\n\n const { fc } = weightMap;\n paramMappings.push({ originalPath: 'fc', paramPath: 'fc' });\n\n if (!isTensor2D(fc)) {\n throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${fc}`);\n }\n\n const params = {\n conv32_down,\n conv32_1,\n conv32_2,\n conv32_3,\n conv64_down,\n conv64_1,\n conv64_2,\n conv64_3,\n conv128_down,\n conv128_1,\n conv128_2,\n conv256_down,\n conv256_1,\n conv256_2,\n conv256_down_out,\n fc,\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { conv, convDown, convNoRelu } from './convLayer';\nimport { ResidualLayerParams } from './types';\n\nexport function residual(x: tf.Tensor4D, params: ResidualLayerParams): tf.Tensor4D {\n let out = conv(x, params.conv1);\n out = convNoRelu(out, params.conv2);\n out = tf.add(out, x);\n out = tf.relu(out);\n return out;\n}\n\nexport function residualDown(x: tf.Tensor4D, params: ResidualLayerParams): tf.Tensor4D {\n let out = convDown(x, params.conv1);\n out = convNoRelu(out, params.conv2);\n\n let pooled = tf.avgPool(x, 2, 2, 'valid') as tf.Tensor4D;\n const zeros = tf.zeros(pooled.shape);\n const isPad = pooled.shape[3] !== out.shape[3];\n const isAdjustShape = pooled.shape[1] !== out.shape[1] || pooled.shape[2] !== out.shape[2];\n\n if (isAdjustShape) {\n const padShapeX = [...out.shape] as [number, number, number, number];\n padShapeX[1] = 1;\n const zerosW = tf.zeros(padShapeX);\n out = tf.concat([out, zerosW], 1);\n\n const padShapeY = [...out.shape] as [number, number, number, number];\n padShapeY[2] = 1;\n const zerosH = tf.zeros(padShapeY);\n out = tf.concat([out, zerosH], 2);\n }\n\n pooled = isPad ? tf.concat([pooled, zeros], 3) : pooled;\n out = tf.add(pooled, out) as tf.Tensor4D;\n\n out = tf.relu(out);\n return out;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { normalize } from '../ops/index';\nimport { convDown } from './convLayer';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { residual, residualDown } from './residualLayer';\nimport { NetParams } from './types';\n\nexport class FaceRecognitionNet extends NeuralNetwork {\n constructor() {\n super('FaceRecognitionNet');\n }\n\n public forwardInput(input: NetInput): tf.Tensor2D {\n const { params } = this;\n\n if (!params) {\n throw new Error('FaceRecognitionNet - load model before inference');\n }\n\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(150, true), 'float32');\n\n const meanRgb = [122.782, 117.001, 104.298];\n const normalized = normalize(batchTensor, meanRgb).div(255) as tf.Tensor4D;\n\n let out = convDown(normalized, params.conv32_down);\n out = tf.maxPool(out, 3, 2, 'valid');\n\n out = residual(out, params.conv32_1);\n out = residual(out, params.conv32_2);\n out = residual(out, params.conv32_3);\n\n out = residualDown(out, params.conv64_down);\n out = residual(out, params.conv64_1);\n out = residual(out, params.conv64_2);\n out = residual(out, params.conv64_3);\n\n out = residualDown(out, params.conv128_down);\n out = residual(out, params.conv128_1);\n out = residual(out, params.conv128_2);\n\n out = residualDown(out, params.conv256_down);\n out = residual(out, params.conv256_1);\n out = residual(out, params.conv256_2);\n out = residualDown(out, params.conv256_down_out);\n\n const globalAvg = out.mean([1, 2]) as tf.Tensor2D;\n const fullyConnected = tf.matMul(globalAvg, params.fc);\n\n return fullyConnected as tf.Tensor2D;\n });\n }\n\n public async forward(input: TNetInput): Promise {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async computeFaceDescriptor(input: TNetInput): Promise {\n // @ts-ignore\n if (input?.shape?.some((dim) => dim <= 0)) return new Float32Array(128);\n const netInput = await toNetInput(input);\n const faceDescriptorTensors = tf.tidy(() => tf.unstack(this.forwardInput(netInput)));\n const faceDescriptorsForBatch = await Promise.all(faceDescriptorTensors.map((t) => t.data())) as Float32Array[];\n faceDescriptorTensors.forEach((t) => t.dispose());\n return netInput.isBatchInput ? faceDescriptorsForBatch : faceDescriptorsForBatch[0];\n }\n\n protected getDefaultModelName(): string {\n return 'face_recognition_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import { FaceRecognitionNet } from './FaceRecognitionNet';\n\nexport * from './FaceRecognitionNet';\n\nexport function createFaceRecognitionNet(weights: Float32Array) {\n const net = new FaceRecognitionNet();\n net.extractWeights(weights);\n return net;\n}\n", "export type WithFaceDescriptor = TSource & {\n descriptor: Float32Array\n}\n\nexport function extendWithFaceDescriptor<\n TSource\n>(\n sourceObj: TSource,\n descriptor: Float32Array,\n): WithFaceDescriptor {\n const extension = { descriptor };\n return { ...sourceObj, ...extension };\n}\n", "export type WithAge = TSource & {\n age: number\n}\n\nexport function isWithAge(obj: any): obj is WithAge<{}> {\n return typeof obj.age === 'number';\n}\n\nexport function extendWithAge<\n TSource\n>(\n sourceObj: TSource,\n age: number,\n): WithAge {\n const extension = { age };\n return { ...sourceObj, ...extension };\n}\n", "import { Gender } from '../ageGenderNet/types';\nimport { isValidProbablitiy } from '../utils/index';\n\nexport type WithGender = TSource & {\n gender: Gender\n genderProbability: number\n}\n\nexport function isWithGender(obj: any): obj is WithGender<{}> {\n return (obj.gender === Gender.MALE || obj.gender === Gender.FEMALE)\n && isValidProbablitiy(obj.genderProbability);\n}\n\nexport function extendWithGender<\n TSource\n>(\n sourceObj: TSource,\n gender: Gender,\n genderProbability: number,\n): WithGender {\n const extension = { gender, genderProbability };\n return { ...sourceObj, ...extension };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ExtractWeightsFunction, ParamMapping, ConvParams, extractWeightsFactory } from '../common/index';\nimport { MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n function extractDepthwiseConvParams(numChannels: number, mappedPrefix: string): MobileNetV1.DepthwiseConvParams {\n const filters = tf.tensor4d(extractWeights(3 * 3 * numChannels), [3, 3, numChannels, 1]);\n const batch_norm_scale = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_offset = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_mean = tf.tensor1d(extractWeights(numChannels));\n const batch_norm_variance = tf.tensor1d(extractWeights(numChannels));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/batch_norm_scale` },\n { paramPath: `${mappedPrefix}/batch_norm_offset` },\n { paramPath: `${mappedPrefix}/batch_norm_mean` },\n { paramPath: `${mappedPrefix}/batch_norm_variance` },\n );\n\n return {\n filters,\n batch_norm_scale,\n batch_norm_offset,\n batch_norm_mean,\n batch_norm_variance,\n };\n }\n\n function extractConvParams(\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n isPointwiseConv?: boolean,\n ): ConvParams {\n const filters = tf.tensor4d(\n extractWeights(channelsIn * channelsOut * filterSize * filterSize),\n [filterSize, filterSize, channelsIn, channelsOut],\n );\n const bias = tf.tensor1d(extractWeights(channelsOut));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/filters` },\n { paramPath: `${mappedPrefix}/${isPointwiseConv ? 'batch_norm_offset' : 'bias'}` },\n );\n\n return { filters, bias };\n }\n\n function extractPointwiseConvParams(\n channelsIn: number,\n channelsOut: number,\n filterSize: number,\n mappedPrefix: string,\n ): PointwiseConvParams {\n const {\n filters,\n bias,\n } = extractConvParams(channelsIn, channelsOut, filterSize, mappedPrefix, true);\n\n return {\n filters,\n batch_norm_offset: bias,\n };\n }\n\n function extractConvPairParams(\n channelsIn: number,\n channelsOut: number,\n mappedPrefix: string,\n ): MobileNetV1.ConvPairParams {\n const depthwise_conv = extractDepthwiseConvParams(channelsIn, `${mappedPrefix}/depthwise_conv`);\n const pointwise_conv = extractPointwiseConvParams(channelsIn, channelsOut, 1, `${mappedPrefix}/pointwise_conv`);\n\n return { depthwise_conv, pointwise_conv };\n }\n\n function extractMobilenetV1Params(): MobileNetV1.Params {\n const conv_0 = extractPointwiseConvParams(3, 32, 3, 'mobilenetv1/conv_0');\n const conv_1 = extractConvPairParams(32, 64, 'mobilenetv1/conv_1');\n const conv_2 = extractConvPairParams(64, 128, 'mobilenetv1/conv_2');\n const conv_3 = extractConvPairParams(128, 128, 'mobilenetv1/conv_3');\n const conv_4 = extractConvPairParams(128, 256, 'mobilenetv1/conv_4');\n const conv_5 = extractConvPairParams(256, 256, 'mobilenetv1/conv_5');\n const conv_6 = extractConvPairParams(256, 512, 'mobilenetv1/conv_6');\n const conv_7 = extractConvPairParams(512, 512, 'mobilenetv1/conv_7');\n const conv_8 = extractConvPairParams(512, 512, 'mobilenetv1/conv_8');\n const conv_9 = extractConvPairParams(512, 512, 'mobilenetv1/conv_9');\n const conv_10 = extractConvPairParams(512, 512, 'mobilenetv1/conv_10');\n const conv_11 = extractConvPairParams(512, 512, 'mobilenetv1/conv_11');\n const conv_12 = extractConvPairParams(512, 1024, 'mobilenetv1/conv_12');\n const conv_13 = extractConvPairParams(1024, 1024, 'mobilenetv1/conv_13');\n return {\n conv_0,\n conv_1,\n conv_2,\n conv_3,\n conv_4,\n conv_5,\n conv_6,\n conv_7,\n conv_8,\n conv_9,\n conv_10,\n conv_11,\n conv_12,\n conv_13,\n };\n }\n\n function extractPredictionLayerParams(): PredictionLayerParams {\n const conv_0 = extractPointwiseConvParams(1024, 256, 1, 'prediction_layer/conv_0');\n const conv_1 = extractPointwiseConvParams(256, 512, 3, 'prediction_layer/conv_1');\n const conv_2 = extractPointwiseConvParams(512, 128, 1, 'prediction_layer/conv_2');\n const conv_3 = extractPointwiseConvParams(128, 256, 3, 'prediction_layer/conv_3');\n const conv_4 = extractPointwiseConvParams(256, 128, 1, 'prediction_layer/conv_4');\n const conv_5 = extractPointwiseConvParams(128, 256, 3, 'prediction_layer/conv_5');\n const conv_6 = extractPointwiseConvParams(256, 64, 1, 'prediction_layer/conv_6');\n const conv_7 = extractPointwiseConvParams(64, 128, 3, 'prediction_layer/conv_7');\n const box_encoding_0_predictor = extractConvParams(512, 12, 1, 'prediction_layer/box_predictor_0/box_encoding_predictor');\n const class_predictor_0 = extractConvParams(512, 9, 1, 'prediction_layer/box_predictor_0/class_predictor');\n const box_encoding_1_predictor = extractConvParams(1024, 24, 1, 'prediction_layer/box_predictor_1/box_encoding_predictor');\n const class_predictor_1 = extractConvParams(1024, 18, 1, 'prediction_layer/box_predictor_1/class_predictor');\n const box_encoding_2_predictor = extractConvParams(512, 24, 1, 'prediction_layer/box_predictor_2/box_encoding_predictor');\n const class_predictor_2 = extractConvParams(512, 18, 1, 'prediction_layer/box_predictor_2/class_predictor');\n const box_encoding_3_predictor = extractConvParams(256, 24, 1, 'prediction_layer/box_predictor_3/box_encoding_predictor');\n const class_predictor_3 = extractConvParams(256, 18, 1, 'prediction_layer/box_predictor_3/class_predictor');\n const box_encoding_4_predictor = extractConvParams(256, 24, 1, 'prediction_layer/box_predictor_4/box_encoding_predictor');\n const class_predictor_4 = extractConvParams(256, 18, 1, 'prediction_layer/box_predictor_4/class_predictor');\n const box_encoding_5_predictor = extractConvParams(128, 24, 1, 'prediction_layer/box_predictor_5/box_encoding_predictor');\n const class_predictor_5 = extractConvParams(128, 18, 1, 'prediction_layer/box_predictor_5/class_predictor');\n\n const box_predictor_0 = {\n box_encoding_predictor: box_encoding_0_predictor,\n class_predictor: class_predictor_0,\n };\n const box_predictor_1 = {\n box_encoding_predictor: box_encoding_1_predictor,\n class_predictor: class_predictor_1,\n };\n const box_predictor_2 = {\n box_encoding_predictor: box_encoding_2_predictor,\n class_predictor: class_predictor_2,\n };\n const box_predictor_3 = {\n box_encoding_predictor: box_encoding_3_predictor,\n class_predictor: class_predictor_3,\n };\n const box_predictor_4 = {\n box_encoding_predictor: box_encoding_4_predictor,\n class_predictor: class_predictor_4,\n };\n const box_predictor_5 = {\n box_encoding_predictor: box_encoding_5_predictor,\n class_predictor: class_predictor_5,\n };\n return {\n conv_0,\n conv_1,\n conv_2,\n conv_3,\n conv_4,\n conv_5,\n conv_6,\n conv_7,\n box_predictor_0,\n box_predictor_1,\n box_predictor_2,\n box_predictor_3,\n box_predictor_4,\n box_predictor_5,\n };\n }\n\n return {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n };\n}\n\nexport function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n const {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n } = extractorsFactory(extractWeights, paramMappings);\n const mobilenetv1 = extractMobilenetV1Params();\n const prediction_layer = extractPredictionLayerParams();\n const extra_dim = tf.tensor3d(\n extractWeights(5118 * 4),\n [1, 5118, 4],\n );\n const output_layer = {\n extra_dim,\n };\n paramMappings.push({ paramPath: 'output_layer/extra_dim' });\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n\n return {\n params: {\n mobilenetv1,\n prediction_layer,\n output_layer,\n },\n paramMappings,\n };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams, disposeUnusedWeightTensors, extractWeightEntryFactory, ParamMapping } from '../common/index';\nimport { isTensor3D } from '../utils/index';\nimport { BoxPredictionParams, MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractPointwiseConvParams(prefix: string, idx: number, mappedPrefix: string): PointwiseConvParams {\n const filters = extractWeightEntry(`${prefix}/Conv2d_${idx}_pointwise/weights`, 4, `${mappedPrefix}/filters`);\n const batch_norm_offset = extractWeightEntry(`${prefix}/Conv2d_${idx}_pointwise/convolution_bn_offset`, 1, `${mappedPrefix}/batch_norm_offset`);\n return { filters, batch_norm_offset };\n }\n\n function extractConvPairParams(idx: number): MobileNetV1.ConvPairParams {\n const mappedPrefix = `mobilenetv1/conv_${idx}`;\n const prefixDepthwiseConv = `MobilenetV1/Conv2d_${idx}_depthwise`;\n const mappedPrefixDepthwiseConv = `${mappedPrefix}/depthwise_conv`;\n const mappedPrefixPointwiseConv = `${mappedPrefix}/pointwise_conv`;\n\n const filters = extractWeightEntry(`${prefixDepthwiseConv}/depthwise_weights`, 4, `${mappedPrefixDepthwiseConv}/filters`);\n const batch_norm_scale = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/gamma`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_scale`);\n const batch_norm_offset = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/beta`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_offset`);\n const batch_norm_mean = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/moving_mean`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_mean`);\n const batch_norm_variance = extractWeightEntry(`${prefixDepthwiseConv}/BatchNorm/moving_variance`, 1, `${mappedPrefixDepthwiseConv}/batch_norm_variance`);\n\n return {\n depthwise_conv: {\n filters,\n batch_norm_scale,\n batch_norm_offset,\n batch_norm_mean,\n batch_norm_variance,\n },\n pointwise_conv: extractPointwiseConvParams('MobilenetV1', idx, mappedPrefixPointwiseConv),\n };\n }\n\n function extractMobilenetV1Params(): MobileNetV1.Params {\n return {\n conv_0: extractPointwiseConvParams('MobilenetV1', 0, 'mobilenetv1/conv_0'),\n conv_1: extractConvPairParams(1),\n conv_2: extractConvPairParams(2),\n conv_3: extractConvPairParams(3),\n conv_4: extractConvPairParams(4),\n conv_5: extractConvPairParams(5),\n conv_6: extractConvPairParams(6),\n conv_7: extractConvPairParams(7),\n conv_8: extractConvPairParams(8),\n conv_9: extractConvPairParams(9),\n conv_10: extractConvPairParams(10),\n conv_11: extractConvPairParams(11),\n conv_12: extractConvPairParams(12),\n conv_13: extractConvPairParams(13),\n };\n }\n\n function extractConvParams(prefix: string, mappedPrefix: string): ConvParams {\n const filters = extractWeightEntry(`${prefix}/weights`, 4, `${mappedPrefix}/filters`);\n const bias = extractWeightEntry(`${prefix}/biases`, 1, `${mappedPrefix}/bias`);\n return { filters, bias };\n }\n\n function extractBoxPredictorParams(idx: number): BoxPredictionParams {\n const box_encoding_predictor = extractConvParams(\n `Prediction/BoxPredictor_${idx}/BoxEncodingPredictor`,\n `prediction_layer/box_predictor_${idx}/box_encoding_predictor`,\n );\n const class_predictor = extractConvParams(\n `Prediction/BoxPredictor_${idx}/ClassPredictor`,\n `prediction_layer/box_predictor_${idx}/class_predictor`,\n );\n return { box_encoding_predictor, class_predictor };\n }\n\n function extractPredictionLayerParams(): PredictionLayerParams {\n return {\n conv_0: extractPointwiseConvParams('Prediction', 0, 'prediction_layer/conv_0'),\n conv_1: extractPointwiseConvParams('Prediction', 1, 'prediction_layer/conv_1'),\n conv_2: extractPointwiseConvParams('Prediction', 2, 'prediction_layer/conv_2'),\n conv_3: extractPointwiseConvParams('Prediction', 3, 'prediction_layer/conv_3'),\n conv_4: extractPointwiseConvParams('Prediction', 4, 'prediction_layer/conv_4'),\n conv_5: extractPointwiseConvParams('Prediction', 5, 'prediction_layer/conv_5'),\n conv_6: extractPointwiseConvParams('Prediction', 6, 'prediction_layer/conv_6'),\n conv_7: extractPointwiseConvParams('Prediction', 7, 'prediction_layer/conv_7'),\n box_predictor_0: extractBoxPredictorParams(0),\n box_predictor_1: extractBoxPredictorParams(1),\n box_predictor_2: extractBoxPredictorParams(2),\n box_predictor_3: extractBoxPredictorParams(3),\n box_predictor_4: extractBoxPredictorParams(4),\n box_predictor_5: extractBoxPredictorParams(5),\n };\n }\n\n return {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n): { params: NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n const {\n extractMobilenetV1Params,\n extractPredictionLayerParams,\n } = extractorsFactory(weightMap, paramMappings);\n const extra_dim = weightMap['Output/extra_dim'];\n paramMappings.push({ originalPath: 'Output/extra_dim', paramPath: 'output_layer/extra_dim' });\n if (!isTensor3D(extra_dim)) {\n throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${extra_dim}`);\n }\n\n const params = {\n mobilenetv1: extractMobilenetV1Params(),\n prediction_layer: extractPredictionLayerParams(),\n output_layer: {\n extra_dim,\n },\n };\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { PointwiseConvParams } from './types';\n\nexport function pointwiseConvLayer(x: tf.Tensor4D, params: PointwiseConvParams, strides: [number, number]) {\n return tf.tidy(() => {\n let out = tf.conv2d(x, params.filters, strides, 'same');\n out = tf.add(out, params.batch_norm_offset);\n return tf.clipByValue(out, 0, 6);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { pointwiseConvLayer } from './pointwiseConvLayer';\nimport { MobileNetV1 } from './types';\n\nconst epsilon = 0.0010000000474974513;\n\nfunction depthwiseConvLayer(x: tf.Tensor4D, params: MobileNetV1.DepthwiseConvParams, strides: [number, number]) {\n return tf.tidy(() => {\n let out = tf.depthwiseConv2d(x, params.filters, strides, 'same');\n out = tf.batchNorm(\n out,\n params.batch_norm_mean,\n params.batch_norm_variance,\n params.batch_norm_offset,\n params.batch_norm_scale,\n epsilon,\n );\n return tf.clipByValue(out, 0, 6);\n });\n}\n\nfunction getStridesForLayerIdx(layerIdx: number): [number, number] {\n return [2, 4, 6, 12].some((idx) => idx === layerIdx) ? [2, 2] : [1, 1];\n}\n\nexport function mobileNetV1(x: tf.Tensor4D, params: MobileNetV1.Params) {\n return tf.tidy(() => {\n let conv11;\n let out = pointwiseConvLayer(x, params.conv_0, [2, 2]);\n\n const convPairParams = [\n params.conv_1,\n params.conv_2,\n params.conv_3,\n params.conv_4,\n params.conv_5,\n params.conv_6,\n params.conv_7,\n params.conv_8,\n params.conv_9,\n params.conv_10,\n params.conv_11,\n params.conv_12,\n params.conv_13,\n ];\n\n convPairParams.forEach((param, i) => {\n const layerIdx = i + 1;\n const depthwiseConvStrides = getStridesForLayerIdx(layerIdx);\n out = depthwiseConvLayer(out, param.depthwise_conv, depthwiseConvStrides);\n out = pointwiseConvLayer(out, param.pointwise_conv, [1, 1]);\n if (layerIdx === 11) conv11 = out;\n });\n\n if (conv11 === null) {\n throw new Error('mobileNetV1 - output of conv layer 11 is null');\n }\n\n return {\n out,\n conv11: conv11 as any,\n };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nfunction IOU(boxes: tf.Tensor2D, i: number, j: number) {\n const boxesData = boxes.arraySync();\n const yminI = Math.min(boxesData[i][0], boxesData[i][2]);\n const xminI = Math.min(boxesData[i][1], boxesData[i][3]);\n const ymaxI = Math.max(boxesData[i][0], boxesData[i][2]);\n const xmaxI = Math.max(boxesData[i][1], boxesData[i][3]);\n const yminJ = Math.min(boxesData[j][0], boxesData[j][2]);\n const xminJ = Math.min(boxesData[j][1], boxesData[j][3]);\n const ymaxJ = Math.max(boxesData[j][0], boxesData[j][2]);\n const xmaxJ = Math.max(boxesData[j][1], boxesData[j][3]);\n const areaI = (ymaxI - yminI) * (xmaxI - xminI);\n const areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ);\n if (areaI <= 0 || areaJ <= 0) return 0.0;\n const intersectionYmin = Math.max(yminI, yminJ);\n const intersectionXmin = Math.max(xminI, xminJ);\n const intersectionYmax = Math.min(ymaxI, ymaxJ);\n const intersectionXmax = Math.min(xmaxI, xmaxJ);\n const intersectionArea = Math.max(intersectionYmax - intersectionYmin, 0.0) * Math.max(intersectionXmax - intersectionXmin, 0.0);\n return intersectionArea / (areaI + areaJ - intersectionArea);\n}\n\nexport function nonMaxSuppression(\n boxes: tf.Tensor2D,\n scores: number[],\n maxOutputSize: number,\n iouThreshold: number,\n scoreThreshold: number,\n): number[] {\n const numBoxes = boxes.shape[0];\n const outputSize = Math.min(maxOutputSize, numBoxes);\n\n const candidates = scores\n .map((score, boxIndex) => ({ score, boxIndex }))\n .filter((c) => c.score > scoreThreshold)\n .sort((c1, c2) => c2.score - c1.score);\n\n const suppressFunc = (x: number) => (x <= iouThreshold ? 1 : 0);\n const selected: number[] = [];\n\n candidates.forEach((c) => {\n if (selected.length >= outputSize) return;\n const originalScore = c.score;\n for (let j = selected.length - 1; j >= 0; --j) {\n const iou = IOU(boxes, c.boxIndex, selected[j]);\n if (iou === 0.0) continue;\n c.score *= suppressFunc(iou);\n if (c.score <= scoreThreshold) break;\n }\n if (originalScore === c.score) {\n selected.push(c.boxIndex);\n }\n });\n return selected;\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { OutputLayerParams } from './types';\n\nfunction getCenterCoordinatesAndSizesLayer(x: tf.Tensor2D) {\n const vec = tf.unstack(tf.transpose(x, [1, 0]));\n\n const sizes = [\n tf.sub(vec[2], vec[0]),\n tf.sub(vec[3], vec[1]),\n ];\n const centers = [\n tf.add(vec[0], tf.div(sizes[0], 2)),\n tf.add(vec[1], tf.div(sizes[1], 2)),\n ];\n return { sizes, centers };\n}\n\nfunction decodeBoxesLayer(x0: tf.Tensor2D, x1: tf.Tensor2D) {\n const { sizes, centers } = getCenterCoordinatesAndSizesLayer(x0);\n\n const vec = tf.unstack(tf.transpose(x1, [1, 0]));\n const div0_out = tf.div(tf.mul(tf.exp(tf.div(vec[2], 5)), sizes[0]), 2);\n const add0_out = tf.add(tf.mul(tf.div(vec[0], 10), sizes[0]), centers[0]);\n const div1_out = tf.div(tf.mul(tf.exp(tf.div(vec[3], 5)), sizes[1]), 2);\n const add1_out = tf.add(tf.mul(tf.div(vec[1], 10), sizes[1]), centers[1]);\n\n return tf.transpose(\n tf.stack([\n tf.sub(add0_out, div0_out),\n tf.sub(add1_out, div1_out),\n tf.add(add0_out, div0_out),\n tf.add(add1_out, div1_out),\n ]),\n [1, 0],\n );\n}\n\nexport function outputLayer(boxPredictions: tf.Tensor4D, classPredictions: tf.Tensor4D, params: OutputLayerParams) {\n return tf.tidy(() => {\n const batchSize = boxPredictions.shape[0];\n\n let boxes = decodeBoxesLayer(\n tf.reshape(tf.tile(params.extra_dim, [batchSize, 1, 1]), [-1, 4]) as tf.Tensor2D,\n tf.reshape(boxPredictions, [-1, 4]) as tf.Tensor2D,\n );\n boxes = tf.reshape(boxes, [batchSize, (boxes.shape[0] / batchSize), 4]);\n\n const scoresAndClasses = tf.sigmoid(tf.slice(classPredictions, [0, 0, 1], [-1, -1, -1]));\n let scores = tf.slice(scoresAndClasses, [0, 0, 0], [-1, -1, 1]) as tf.Tensor;\n\n scores = tf.reshape(scores, [batchSize, scores.shape[1] as number]);\n\n const boxesByBatch = tf.unstack(boxes) as tf.Tensor2D[];\n const scoresByBatch = tf.unstack(scores) as tf.Tensor1D[];\n\n return { boxes: boxesByBatch, scores: scoresByBatch };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { convLayer } from '../common/index';\nimport { BoxPredictionParams } from './types';\n\nexport function boxPredictionLayer(\n x: tf.Tensor4D,\n params: BoxPredictionParams,\n) {\n return tf.tidy(() => {\n const batchSize = x.shape[0];\n const boxPredictionEncoding = tf.reshape(\n convLayer(x, params.box_encoding_predictor),\n [batchSize, -1, 1, 4],\n );\n const classPrediction = tf.reshape(\n convLayer(x, params.class_predictor),\n [batchSize, -1, 3],\n );\n return { boxPredictionEncoding, classPrediction };\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { boxPredictionLayer } from './boxPredictionLayer';\nimport { pointwiseConvLayer } from './pointwiseConvLayer';\nimport { PredictionLayerParams } from './types';\n\nexport function predictionLayer(\n x: tf.Tensor4D,\n conv11: tf.Tensor4D,\n params: PredictionLayerParams,\n) {\n return tf.tidy(() => {\n const conv0 = pointwiseConvLayer(x, params.conv_0, [1, 1]);\n const conv1 = pointwiseConvLayer(conv0, params.conv_1, [2, 2]);\n const conv2 = pointwiseConvLayer(conv1, params.conv_2, [1, 1]);\n const conv3 = pointwiseConvLayer(conv2, params.conv_3, [2, 2]);\n const conv4 = pointwiseConvLayer(conv3, params.conv_4, [1, 1]);\n const conv5 = pointwiseConvLayer(conv4, params.conv_5, [2, 2]);\n const conv6 = pointwiseConvLayer(conv5, params.conv_6, [1, 1]);\n const conv7 = pointwiseConvLayer(conv6, params.conv_7, [2, 2]);\n\n const boxPrediction0 = boxPredictionLayer(conv11, params.box_predictor_0);\n const boxPrediction1 = boxPredictionLayer(x, params.box_predictor_1);\n const boxPrediction2 = boxPredictionLayer(conv1, params.box_predictor_2);\n const boxPrediction3 = boxPredictionLayer(conv3, params.box_predictor_3);\n const boxPrediction4 = boxPredictionLayer(conv5, params.box_predictor_4);\n const boxPrediction5 = boxPredictionLayer(conv7, params.box_predictor_5);\n\n const boxPredictions = tf.concat([\n boxPrediction0.boxPredictionEncoding,\n boxPrediction1.boxPredictionEncoding,\n boxPrediction2.boxPredictionEncoding,\n boxPrediction3.boxPredictionEncoding,\n boxPrediction4.boxPredictionEncoding,\n boxPrediction5.boxPredictionEncoding,\n ], 1) as tf.Tensor4D;\n\n const classPredictions = tf.concat([\n boxPrediction0.classPrediction,\n boxPrediction1.classPrediction,\n boxPrediction2.classPrediction,\n boxPrediction3.classPrediction,\n boxPrediction4.classPrediction,\n boxPrediction5.classPrediction,\n ], 1) as tf.Tensor4D;\n\n return {\n boxPredictions,\n classPredictions,\n };\n });\n}\n", "export interface ISsdMobilenetv1Options {\n minConfidence?: number\n maxResults?: number\n}\n\nexport class SsdMobilenetv1Options {\n protected _name = 'SsdMobilenetv1Options';\n\n private _minConfidence: number;\n\n private _maxResults: number;\n\n constructor({ minConfidence, maxResults }: ISsdMobilenetv1Options = {}) {\n this._minConfidence = minConfidence || 0.5;\n this._maxResults = maxResults || 100;\n\n if (typeof this._minConfidence !== 'number' || this._minConfidence <= 0 || this._minConfidence >= 1) {\n throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);\n }\n\n if (typeof this._maxResults !== 'number') {\n throw new Error(`${this._name} - expected maxResults to be a number`);\n }\n }\n\n get minConfidence(): number { return this._minConfidence; }\n\n get maxResults(): number { return this._maxResults; }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { Rect } from '../classes/index';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { NetInput, TNetInput, toNetInput } from '../dom/index';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { mobileNetV1 } from './mobileNetV1';\nimport { nonMaxSuppression } from './nonMaxSuppression';\nimport { outputLayer } from './outputLayer';\nimport { predictionLayer } from './predictionLayer';\nimport { ISsdMobilenetv1Options, SsdMobilenetv1Options } from './SsdMobilenetv1Options';\nimport { NetParams } from './types';\n\nexport class SsdMobilenetv1 extends NeuralNetwork {\n constructor() {\n super('SsdMobilenetv1');\n }\n\n public forwardInput(input: NetInput) {\n const { params } = this;\n if (!params) throw new Error('SsdMobilenetv1 - load model before inference');\n return tf.tidy(() => {\n const batchTensor = tf.cast(input.toBatchTensor(512, false), 'float32');\n const x = tf.sub(tf.div(batchTensor, 127.5), 1) as tf.Tensor4D; // input is normalized -1..1\n const features = mobileNetV1(x, params.mobilenetv1);\n const { boxPredictions, classPredictions } = predictionLayer(features.out, features.conv11, params.prediction_layer);\n return outputLayer(boxPredictions, classPredictions, params.output_layer);\n });\n }\n\n public async forward(input: TNetInput) {\n return this.forwardInput(await toNetInput(input));\n }\n\n public async locateFaces(input: TNetInput, options: ISsdMobilenetv1Options = {}): Promise {\n const { maxResults, minConfidence } = new SsdMobilenetv1Options(options);\n const netInput = await toNetInput(input);\n const { boxes: _boxes, scores: _scores } = this.forwardInput(netInput);\n const boxes = _boxes[0];\n const scores = _scores[0];\n for (let i = 1; i < _boxes.length; i++) {\n _boxes[i].dispose();\n _scores[i].dispose();\n }\n const scoresData = Array.from(scores.dataSync());\n const iouThreshold = 0.5;\n const indices = nonMaxSuppression(boxes, scoresData as number[], maxResults, iouThreshold, minConfidence);\n const reshapedDims = netInput.getReshapedInputDimensions(0);\n const inputSize = netInput.inputSize as number;\n const padX = inputSize / reshapedDims.width;\n const padY = inputSize / reshapedDims.height;\n const boxesData = boxes.arraySync();\n const results = indices\n .map((idx) => {\n const [top, bottom] = [\n Math.max(0, boxesData[idx][0]),\n Math.min(1.0, boxesData[idx][2]),\n ].map((val) => val * padY);\n const [left, right] = [\n Math.max(0, boxesData[idx][1]),\n Math.min(1.0, boxesData[idx][3]),\n ].map((val) => val * padX);\n return new FaceDetection(\n scoresData[idx] as number,\n new Rect(left, top, right - left, bottom - top),\n { height: netInput.getInputHeight(0), width: netInput.getInputWidth(0) },\n );\n });\n boxes.dispose();\n scores.dispose();\n return results;\n }\n\n protected getDefaultModelName(): string {\n return 'ssd_mobilenetv1_model';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap);\n }\n\n protected extractParams(weights: Float32Array) {\n return extractParams(weights);\n }\n}\n", "import { SsdMobilenetv1 } from './SsdMobilenetv1';\n\nexport * from './SsdMobilenetv1';\nexport * from './SsdMobilenetv1Options';\n\nexport function createSsdMobilenetv1(weights: Float32Array) {\n const net = new SsdMobilenetv1();\n net.extractWeights(weights);\n return net;\n}\n\nexport function createFaceDetectionNet(weights: Float32Array) {\n return createSsdMobilenetv1(weights);\n}\n\n// alias for backward compatibily\nexport class FaceDetectionNet extends SsdMobilenetv1 {}\n", "import { Point } from '../classes/index';\n\nexport const IOU_THRESHOLD = 0.4;\n\nexport const BOX_ANCHORS = [\n new Point(0.738768, 0.874946),\n new Point(2.42204, 2.65704),\n new Point(4.30971, 7.04493),\n new Point(10.246, 4.59428),\n new Point(12.6868, 11.8741),\n];\n\nexport const BOX_ANCHORS_SEPARABLE = [\n new Point(1.603231, 2.094468),\n new Point(6.041143, 7.080126),\n new Point(2.882459, 3.518061),\n new Point(4.266906, 5.178857),\n new Point(9.041765, 10.66308),\n];\n\nexport const MEAN_RGB_SEPARABLE: [number, number, number] = [117.001, 114.697, 97.404];\n\nexport const DEFAULT_MODEL_NAME = 'tiny_yolov2_model';\nexport const DEFAULT_MODEL_NAME_SEPARABLE_CONV = 'tiny_yolov2_separable_conv_model';\n", "import { Point } from '../classes/Point';\n\nexport type TinyYolov2Config = {\n withSeparableConvs: boolean\n iouThreshold: number\n anchors: Point[]\n classes: string[]\n meanRgb?: [number, number, number]\n withClassScores?: boolean,\n filterSizes?: number[]\n isFirstLayerConv2d?: boolean\n}\n\nconst isNumber = (arg: any) => typeof arg === 'number';\n\nexport function validateConfig(config: any) {\n if (!config) {\n throw new Error(`invalid config: ${config}`);\n }\n\n if (typeof config.withSeparableConvs !== 'boolean') {\n throw new Error(`config.withSeparableConvs has to be a boolean, have: ${config.withSeparableConvs}`);\n }\n\n if (!isNumber(config.iouThreshold) || config.iouThreshold < 0 || config.iouThreshold > 1.0) {\n throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${config.iouThreshold}`);\n }\n\n if (\n !Array.isArray(config.classes)\n || !config.classes.length\n || !config.classes.every((c: any) => typeof c === 'string')\n ) {\n throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(config.classes)}`);\n }\n\n if (\n !Array.isArray(config.anchors)\n || !config.anchors.length\n || !config.anchors.map((a: any) => a || {}).every((a: any) => isNumber(a.x) && isNumber(a.y))\n ) {\n throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(config.anchors)}`);\n }\n\n if (config.meanRgb && (\n !Array.isArray(config.meanRgb)\n || config.meanRgb.length !== 3\n || !config.meanRgb.every(isNumber)\n )) {\n throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(config.meanRgb)}`);\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nexport function leaky(x: tf.Tensor4D): tf.Tensor4D {\n return tf.tidy(() => {\n const min = tf.mul(x, tf.scalar(0.10000000149011612));\n return tf.add(tf.relu(tf.sub(x, min)), min);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { leaky } from './leaky';\nimport { ConvWithBatchNorm } from './types';\n\nexport function convWithBatchNorm(x: tf.Tensor4D, params: ConvWithBatchNorm): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;\n out = tf.conv2d(out, params.conv.filters, [1, 1], 'valid');\n out = tf.sub(out, params.bn.sub);\n out = tf.mul(out, params.bn.truediv);\n out = tf.add(out, params.conv.bias);\n return leaky(out);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { SeparableConvParams } from '../common/types';\nimport { leaky } from './leaky';\n\nexport function depthwiseSeparableConv(x: tf.Tensor4D, params: SeparableConvParams): tf.Tensor4D {\n return tf.tidy(() => {\n let out = tf.pad(x, [[0, 0], [1, 1], [1, 1], [0, 0]]) as tf.Tensor4D;\n out = tf.separableConv2d(out, params.depthwise_filter, params.pointwise_filter, [1, 1], 'valid');\n out = tf.add(out, params.bias);\n return leaky(out);\n });\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { extractConvParamsFactory } from '../common/index';\nimport { extractSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory';\nimport { extractWeightsFactory } from '../common/extractWeightsFactory';\nimport { ExtractWeightsFunction, ParamMapping } from '../common/types';\nimport { TinyYolov2Config } from './config';\nimport { BatchNorm, ConvWithBatchNorm, TinyYolov2NetParams } from './types';\n\nfunction extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {\n const extractConvParams = extractConvParamsFactory(extractWeights, paramMappings);\n\n function extractBatchNormParams(size: number, mappedPrefix: string): BatchNorm {\n const sub = tf.tensor1d(extractWeights(size));\n const truediv = tf.tensor1d(extractWeights(size));\n\n paramMappings.push(\n { paramPath: `${mappedPrefix}/sub` },\n { paramPath: `${mappedPrefix}/truediv` },\n );\n return { sub, truediv };\n }\n\n function extractConvWithBatchNormParams(channelsIn: number, channelsOut: number, mappedPrefix: string): ConvWithBatchNorm {\n const conv = extractConvParams(channelsIn, channelsOut, 3, `${mappedPrefix}/conv`);\n const bn = extractBatchNormParams(channelsOut, `${mappedPrefix}/bn`);\n return { conv, bn };\n }\n const extractSeparableConvParams = extractSeparableConvParamsFactory(extractWeights, paramMappings);\n\n return {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n };\n}\n\nexport function extractParams(\n weights: Float32Array,\n config: TinyYolov2Config,\n boxEncodingSize: number,\n filterSizes: number[],\n): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n const {\n extractWeights,\n getRemainingWeights,\n } = extractWeightsFactory(weights);\n\n const paramMappings: ParamMapping[] = [];\n const {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n } = extractorsFactory(extractWeights, paramMappings);\n let params: TinyYolov2NetParams;\n\n if (config.withSeparableConvs) {\n const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes;\n const conv0 = config.isFirstLayerConv2d\n ? extractConvParams(s0, s1, 3, 'conv0')\n : extractSeparableConvParams(s0, s1, 'conv0');\n const conv1 = extractSeparableConvParams(s1, s2, 'conv1');\n const conv2 = extractSeparableConvParams(s2, s3, 'conv2');\n const conv3 = extractSeparableConvParams(s3, s4, 'conv3');\n const conv4 = extractSeparableConvParams(s4, s5, 'conv4');\n const conv5 = extractSeparableConvParams(s5, s6, 'conv5');\n const conv6 = s7 ? extractSeparableConvParams(s6, s7, 'conv6') : undefined;\n const conv7 = s8 ? extractSeparableConvParams(s7, s8, 'conv7') : undefined;\n const conv8 = extractConvParams(s8 || s7 || s6, 5 * boxEncodingSize, 1, 'conv8');\n params = {\n conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8,\n };\n } else {\n const [s0, s1, s2, s3, s4, s5, s6, s7, s8] = filterSizes;\n const conv0 = extractConvWithBatchNormParams(s0, s1, 'conv0');\n const conv1 = extractConvWithBatchNormParams(s1, s2, 'conv1');\n const conv2 = extractConvWithBatchNormParams(s2, s3, 'conv2');\n const conv3 = extractConvWithBatchNormParams(s3, s4, 'conv3');\n const conv4 = extractConvWithBatchNormParams(s4, s5, 'conv4');\n const conv5 = extractConvWithBatchNormParams(s5, s6, 'conv5');\n const conv6 = extractConvWithBatchNormParams(s6, s7, 'conv6');\n const conv7 = extractConvWithBatchNormParams(s7, s8, 'conv7');\n const conv8 = extractConvParams(s8, 5 * boxEncodingSize, 1, 'conv8');\n params = {\n conv0, conv1, conv2, conv3, conv4, conv5, conv6, conv7, conv8,\n };\n }\n if (getRemainingWeights().length !== 0) {\n throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);\n }\n return { params, paramMappings };\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { ConvParams } from '../common/index';\nimport { disposeUnusedWeightTensors } from '../common/disposeUnusedWeightTensors';\nimport { loadSeparableConvParamsFactory } from '../common/extractSeparableConvParamsFactory';\nimport { extractWeightEntryFactory } from '../common/extractWeightEntryFactory';\nimport { ParamMapping } from '../common/types';\nimport { TinyYolov2Config } from './config';\nimport { BatchNorm, ConvWithBatchNorm, TinyYolov2NetParams } from './types';\n\nfunction extractorsFactory(weightMap: any, paramMappings: ParamMapping[]) {\n const extractWeightEntry = extractWeightEntryFactory(weightMap, paramMappings);\n\n function extractBatchNormParams(prefix: string): BatchNorm {\n const sub = extractWeightEntry(`${prefix}/sub`, 1);\n const truediv = extractWeightEntry(`${prefix}/truediv`, 1);\n return { sub, truediv };\n }\n\n function extractConvParams(prefix: string): ConvParams {\n const filters = extractWeightEntry(`${prefix}/filters`, 4);\n const bias = extractWeightEntry(`${prefix}/bias`, 1);\n return { filters, bias };\n }\n\n function extractConvWithBatchNormParams(prefix: string): ConvWithBatchNorm {\n const conv = extractConvParams(`${prefix}/conv`);\n const bn = extractBatchNormParams(`${prefix}/bn`);\n return { conv, bn };\n }\n\n const extractSeparableConvParams = loadSeparableConvParamsFactory(extractWeightEntry);\n return {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n };\n}\n\nexport function extractParamsFromWeightMap(\n weightMap: tf.NamedTensorMap,\n config: TinyYolov2Config,\n): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n const paramMappings: ParamMapping[] = [];\n\n const {\n extractConvParams,\n extractConvWithBatchNormParams,\n extractSeparableConvParams,\n } = extractorsFactory(weightMap, paramMappings);\n\n let params: TinyYolov2NetParams;\n\n if (config.withSeparableConvs) {\n // eslint-disable-next-line no-mixed-operators\n const numFilters = (config.filterSizes && config.filterSizes.length || 9);\n params = {\n conv0: config.isFirstLayerConv2d ? extractConvParams('conv0') : extractSeparableConvParams('conv0'),\n conv1: extractSeparableConvParams('conv1'),\n conv2: extractSeparableConvParams('conv2'),\n conv3: extractSeparableConvParams('conv3'),\n conv4: extractSeparableConvParams('conv4'),\n conv5: extractSeparableConvParams('conv5'),\n conv6: numFilters > 7 ? extractSeparableConvParams('conv6') : undefined,\n conv7: numFilters > 8 ? extractSeparableConvParams('conv7') : undefined,\n conv8: extractConvParams('conv8'),\n };\n } else {\n params = {\n conv0: extractConvWithBatchNormParams('conv0'),\n conv1: extractConvWithBatchNormParams('conv1'),\n conv2: extractConvWithBatchNormParams('conv2'),\n conv3: extractConvWithBatchNormParams('conv3'),\n conv4: extractConvWithBatchNormParams('conv4'),\n conv5: extractConvWithBatchNormParams('conv5'),\n conv6: extractConvWithBatchNormParams('conv6'),\n conv7: extractConvWithBatchNormParams('conv7'),\n conv8: extractConvParams('conv8'),\n };\n }\n\n disposeUnusedWeightTensors(weightMap, paramMappings);\n return { params, paramMappings };\n}\n", "export interface ITinyYolov2Options {\n inputSize?: number\n scoreThreshold?: number\n}\n\nexport class TinyYolov2Options {\n protected _name = 'TinyYolov2Options';\n\n private _inputSize: number;\n\n private _scoreThreshold: number;\n\n constructor({ inputSize, scoreThreshold }: ITinyYolov2Options = {}) {\n this._inputSize = inputSize || 416;\n this._scoreThreshold = scoreThreshold || 0.5;\n\n if (typeof this._inputSize !== 'number' || this._inputSize % 32 !== 0) {\n throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);\n }\n\n if (typeof this._scoreThreshold !== 'number' || this._scoreThreshold <= 0 || this._scoreThreshold >= 1) {\n throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`);\n }\n }\n\n get inputSize(): number { return this._inputSize; }\n\n get scoreThreshold(): number { return this._scoreThreshold; }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { BoundingBox } from '../classes/BoundingBox';\nimport { Dimensions } from '../classes/Dimensions';\nimport { ObjectDetection } from '../classes/ObjectDetection';\nimport { convLayer } from '../common/index';\nimport { ConvParams, SeparableConvParams } from '../common/types';\nimport { toNetInput } from '../dom/index';\nimport { NetInput } from '../dom/NetInput';\nimport { TNetInput } from '../dom/types';\nimport { NeuralNetwork } from '../NeuralNetwork';\nimport { sigmoid } from '../ops/index';\nimport { nonMaxSuppression } from '../ops/nonMaxSuppression';\nimport { normalize } from '../ops/normalize';\nimport { TinyYolov2Config, validateConfig } from './config';\nimport { convWithBatchNorm } from './convWithBatchNorm';\nimport { depthwiseSeparableConv } from './depthwiseSeparableConv';\nimport { extractParams } from './extractParams';\nimport { extractParamsFromWeightMap } from './extractParamsFromWeightMap';\nimport { leaky } from './leaky';\nimport { ITinyYolov2Options, TinyYolov2Options } from './TinyYolov2Options';\nimport { DefaultTinyYolov2NetParams, MobilenetParams, TinyYolov2NetParams } from './types';\n\nexport class TinyYolov2Base extends NeuralNetwork {\n public static DEFAULT_FILTER_SIZES = [3, 16, 32, 64, 128, 256, 512, 1024, 1024];\n\n private _config: TinyYolov2Config;\n\n constructor(config: TinyYolov2Config) {\n super('TinyYolov2');\n validateConfig(config);\n this._config = config;\n }\n\n public get config(): TinyYolov2Config {\n return this._config;\n }\n\n public get withClassScores(): boolean {\n return this.config.withClassScores || this.config.classes.length > 1;\n }\n\n public get boxEncodingSize(): number {\n return 5 + (this.withClassScores ? this.config.classes.length : 0);\n }\n\n public runTinyYolov2(x: tf.Tensor4D, params: DefaultTinyYolov2NetParams): tf.Tensor4D {\n let out = convWithBatchNorm(x, params.conv0);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv1);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv2);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv3);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv4);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = convWithBatchNorm(out, params.conv5);\n out = tf.maxPool(out, [2, 2], [1, 1], 'same');\n out = convWithBatchNorm(out, params.conv6);\n out = convWithBatchNorm(out, params.conv7);\n return convLayer(out, params.conv8, 'valid', false);\n }\n\n public runMobilenet(x: tf.Tensor4D, params: MobilenetParams): tf.Tensor4D {\n let out = this.config.isFirstLayerConv2d\n ? leaky(convLayer(x, params.conv0 as ConvParams, 'valid', false))\n : depthwiseSeparableConv(x, params.conv0 as SeparableConvParams);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv1);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv2);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv3);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv4);\n out = tf.maxPool(out, [2, 2], [2, 2], 'same');\n out = depthwiseSeparableConv(out, params.conv5);\n out = tf.maxPool(out, [2, 2], [1, 1], 'same');\n out = params.conv6 ? depthwiseSeparableConv(out, params.conv6) : out;\n out = params.conv7 ? depthwiseSeparableConv(out, params.conv7) : out;\n return convLayer(out, params.conv8, 'valid', false);\n }\n\n public forwardInput(input: NetInput, inputSize: number): tf.Tensor4D {\n const { params } = this;\n\n if (!params) {\n throw new Error('TinyYolov2 - load model before inference');\n }\n\n return tf.tidy(() => {\n let batchTensor = tf.cast(input.toBatchTensor(inputSize, false), 'float32');\n batchTensor = this.config.meanRgb\n ? normalize(batchTensor, this.config.meanRgb)\n : batchTensor;\n batchTensor = batchTensor.div(255) as tf.Tensor4D;\n return this.config.withSeparableConvs\n ? this.runMobilenet(batchTensor, params as MobilenetParams)\n : this.runTinyYolov2(batchTensor, params as DefaultTinyYolov2NetParams);\n });\n }\n\n public async forward(input: TNetInput, inputSize: number): Promise {\n return this.forwardInput(await toNetInput(input), inputSize);\n }\n\n public async detect(input: TNetInput, forwardParams: ITinyYolov2Options = {}): Promise {\n const { inputSize, scoreThreshold } = new TinyYolov2Options(forwardParams);\n const netInput = await toNetInput(input);\n const out = await this.forwardInput(netInput, inputSize);\n const out0 = tf.tidy(() => tf.unstack(out)[0].expandDims()) as tf.Tensor4D;\n const inputDimensions = {\n width: netInput.getInputWidth(0),\n height: netInput.getInputHeight(0),\n };\n\n const results = await this.extractBoxes(out0, netInput.getReshapedInputDimensions(0), scoreThreshold);\n out.dispose();\n out0.dispose();\n\n const boxes = results.map((res) => res.box);\n const scores = results.map((res) => res.score);\n const classScores = results.map((res) => res.classScore);\n const classNames = results.map((res) => this.config.classes[res.label]);\n\n const indices = nonMaxSuppression(\n boxes.map((box) => box.rescale(inputSize)),\n scores,\n this.config.iouThreshold,\n true,\n );\n\n const detections = indices.map((idx) => new ObjectDetection(\n scores[idx],\n classScores[idx],\n classNames[idx],\n boxes[idx],\n inputDimensions,\n ));\n return detections;\n }\n\n protected getDefaultModelName(): string {\n return '';\n }\n\n protected extractParamsFromWeightMap(weightMap: tf.NamedTensorMap) {\n return extractParamsFromWeightMap(weightMap, this.config);\n }\n\n protected extractParams(weights: Float32Array) {\n const filterSizes = this.config.filterSizes || TinyYolov2Base.DEFAULT_FILTER_SIZES;\n\n const numFilters = filterSizes ? filterSizes.length : undefined;\n if (numFilters !== 7 && numFilters !== 8 && numFilters !== 9) {\n throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${numFilters} filterSizes in config`);\n }\n return extractParams(weights, this.config, this.boxEncodingSize, filterSizes);\n }\n\n protected async extractBoxes(\n outputTensor: tf.Tensor4D,\n inputBlobDimensions: Dimensions,\n scoreThreshold?: number,\n ) {\n const { width, height } = inputBlobDimensions;\n const inputSize = Math.max(width, height);\n const correctionFactorX = inputSize / width;\n const correctionFactorY = inputSize / height;\n\n const numCells = outputTensor.shape[1];\n const numBoxes = this.config.anchors.length;\n\n const [boxesTensor, scoresTensor, classScoresTensor] = tf.tidy(() => {\n const reshaped = outputTensor.reshape([numCells, numCells, numBoxes, this.boxEncodingSize]);\n\n const boxes = reshaped.slice([0, 0, 0, 0], [numCells, numCells, numBoxes, 4]);\n const scores = reshaped.slice([0, 0, 0, 4], [numCells, numCells, numBoxes, 1]);\n const classScores = this.withClassScores\n ? tf.softmax(reshaped.slice([0, 0, 0, 5], [numCells, numCells, numBoxes, this.config.classes.length]), 3)\n : tf.scalar(0);\n return [boxes, scores, classScores];\n });\n\n const results = [] as any;\n const scoresData = await scoresTensor.array();\n const boxesData = await boxesTensor.array();\n for (let row = 0; row < numCells; row++) {\n for (let col = 0; col < numCells; col++) {\n for (let anchor = 0; anchor < numBoxes; anchor++) {\n const score = sigmoid(scoresData[row][col][anchor][0]);\n if (!scoreThreshold || score > scoreThreshold) {\n const ctX = ((col + sigmoid(boxesData[row][col][anchor][0])) / numCells) * correctionFactorX;\n const ctY = ((row + sigmoid(boxesData[row][col][anchor][1])) / numCells) * correctionFactorY;\n const widthLocal = ((Math.exp(boxesData[row][col][anchor][2]) * this.config.anchors[anchor].x) / numCells) * correctionFactorX;\n const heightLocal = ((Math.exp(boxesData[row][col][anchor][3]) * this.config.anchors[anchor].y) / numCells) * correctionFactorY;\n const x = (ctX - (widthLocal / 2));\n const y = (ctY - (heightLocal / 2));\n const pos = { row, col, anchor };\n const { classScore, label } = this.withClassScores\n ? await this.extractPredictedClass(classScoresTensor as tf.Tensor4D, pos)\n : { classScore: 1, label: 0 };\n results.push({\n box: new BoundingBox(x, y, x + widthLocal, y + heightLocal),\n score,\n classScore: score * classScore,\n label,\n ...pos,\n });\n }\n }\n }\n }\n\n boxesTensor.dispose();\n scoresTensor.dispose();\n classScoresTensor.dispose();\n return results;\n }\n\n private async extractPredictedClass(classesTensor: tf.Tensor4D, pos: { row: number, col: number, anchor: number }) {\n const { row, col, anchor } = pos;\n const classesData = await classesTensor.array();\n return Array(this.config.classes.length).fill(0)\n .map((_, i) => classesData[row][col][anchor][i])\n .map((classScore, label) => ({\n classScore,\n label,\n }))\n .reduce((max, curr) => (max.classScore > curr.classScore ? max : curr));\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection, Point } from '../classes/index';\nimport { ParamMapping } from '../common/types';\nimport { TNetInput } from '../dom/types';\nimport {\n BOX_ANCHORS,\n BOX_ANCHORS_SEPARABLE,\n DEFAULT_MODEL_NAME,\n DEFAULT_MODEL_NAME_SEPARABLE_CONV,\n IOU_THRESHOLD,\n MEAN_RGB_SEPARABLE,\n} from './const';\nimport { TinyYolov2Base } from './TinyYolov2Base';\nimport { ITinyYolov2Options } from './TinyYolov2Options';\nimport { TinyYolov2NetParams } from './types';\n\nexport class TinyYolov2 extends TinyYolov2Base {\n constructor(withSeparableConvs = true) {\n const config = {\n withSeparableConvs,\n iouThreshold: IOU_THRESHOLD,\n classes: ['face'],\n ...(withSeparableConvs\n ? {\n anchors: BOX_ANCHORS_SEPARABLE,\n meanRgb: MEAN_RGB_SEPARABLE,\n }\n : {\n anchors: BOX_ANCHORS,\n withClassScores: true,\n }),\n };\n\n super(config);\n }\n\n public get withSeparableConvs(): boolean {\n return this.config.withSeparableConvs;\n }\n\n public get anchors(): Point[] {\n return this.config.anchors;\n }\n\n public async locateFaces(input: TNetInput, forwardParams: ITinyYolov2Options): Promise {\n const objectDetections = await this.detect(input, forwardParams);\n return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight }));\n }\n\n protected override getDefaultModelName(): string {\n return this.withSeparableConvs ? DEFAULT_MODEL_NAME_SEPARABLE_CONV : DEFAULT_MODEL_NAME;\n }\n\n protected override extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n return super.extractParamsFromWeightMap(weightMap);\n }\n}\n", "import { TinyYolov2 } from './TinyYolov2';\n\nexport * from './TinyYolov2Options';\nexport * from './config';\nexport * from './types';\nexport { TinyYolov2 };\n\nexport function createTinyYolov2(weights: Float32Array, withSeparableConvs = true) {\n const net = new TinyYolov2(withSeparableConvs);\n net.extractWeights(weights);\n return net;\n}\n", "import { ITinyYolov2Options, TinyYolov2Options } from '../tinyYolov2/index';\n\nexport type ITinyFaceDetectorOptions = ITinyYolov2Options\n\nexport class TinyFaceDetectorOptions extends TinyYolov2Options {\n protected override _name = 'TinyFaceDetectorOptions';\n}\n", "export class ComposableTask {\n // eslint-disable-next-line no-unused-vars\n public async then(onfulfilled: (value: T) => T | PromiseLike): Promise {\n return onfulfilled(await this.run());\n }\n\n public async run(): Promise {\n throw new Error('ComposableTask - run is not implemented');\n }\n}\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { extractFaces, extractFaceTensors, TNetInput } from '../dom/index';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { isWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\n\nexport async function extractAllFacesAndComputeResults, TResult>(\n parentResults: TSource[],\n input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n computeResults: (faces: Array) => Promise,\n extractedFaces?: Array | null,\n // eslint-disable-next-line no-unused-vars\n getRectForAlignment: (parentResult: WithFaceLandmarks) => FaceDetection = ({ alignedRect }) => alignedRect,\n) {\n const faceBoxes = parentResults.map((parentResult) => (isWithFaceLandmarks(parentResult)\n ? getRectForAlignment(parentResult)\n : parentResult.detection));\n const faces: Array = extractedFaces || (\n input instanceof tf.Tensor\n ? await extractFaceTensors(input, faceBoxes)\n : await extractFaces(input, faceBoxes)\n );\n const results = await computeResults(faces);\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n return results;\n}\n\nexport async function extractSingleFaceAndComputeResult, TResult>(\n parentResult: TSource,\n input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n computeResult: (face: HTMLCanvasElement | tf.Tensor3D) => Promise,\n extractedFaces?: Array | null,\n // eslint-disable-next-line no-unused-vars\n getRectForAlignment?: (parentResultLocal: WithFaceLandmarks) => FaceDetection,\n) {\n return extractAllFacesAndComputeResults(\n [parentResult],\n input,\n async (faces) => computeResult(faces[0]),\n extractedFaces,\n getRectForAlignment,\n );\n}\n", "import { Point } from '../classes/index';\n\nexport const IOU_THRESHOLD = 0.4;\n\nexport const BOX_ANCHORS = [\n new Point(1.603231, 2.094468),\n new Point(6.041143, 7.080126),\n new Point(2.882459, 3.518061),\n new Point(4.266906, 5.178857),\n new Point(9.041765, 10.66308),\n];\n\nexport const MEAN_RGB: [number, number, number] = [117.001, 114.697, 97.404];\n", "import * as tf from '../../dist/tfjs.esm';\n\nimport { FaceDetection, Point } from '../classes/index';\nimport { ParamMapping } from '../common/index';\nimport { TNetInput } from '../dom/index';\nimport { ITinyYolov2Options } from '../tinyYolov2/index';\nimport { TinyYolov2Base } from '../tinyYolov2/TinyYolov2Base';\nimport { TinyYolov2NetParams } from '../tinyYolov2/types';\nimport { BOX_ANCHORS, IOU_THRESHOLD, MEAN_RGB } from './const';\n\nexport class TinyFaceDetector extends TinyYolov2Base {\n constructor() {\n const config = {\n withSeparableConvs: true,\n iouThreshold: IOU_THRESHOLD,\n classes: ['face'],\n anchors: BOX_ANCHORS,\n meanRgb: MEAN_RGB,\n isFirstLayerConv2d: true,\n filterSizes: [3, 16, 32, 64, 128, 256, 512],\n };\n\n super(config);\n }\n\n public get anchors(): Point[] {\n return this.config.anchors;\n }\n\n public async locateFaces(input: TNetInput, forwardParams: ITinyYolov2Options): Promise {\n const objectDetections = await this.detect(input, forwardParams);\n return objectDetections.map((det) => new FaceDetection(det.score, det.relativeBox, { width: det.imageWidth, height: det.imageHeight }));\n }\n\n protected override getDefaultModelName(): string {\n return 'tiny_face_detector_model';\n }\n\n protected override extractParamsFromWeightMap(weightMap: tf.NamedTensorMap): { params: TinyYolov2NetParams, paramMappings: ParamMapping[] } {\n return super.extractParamsFromWeightMap(weightMap);\n }\n}\n", "import { AgeGenderNet } from '../ageGenderNet/AgeGenderNet';\nimport { AgeAndGenderPrediction } from '../ageGenderNet/types';\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { TNetInput } from '../dom/index';\nimport { FaceExpressionNet } from '../faceExpressionNet/FaceExpressionNet';\nimport { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\nimport { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net';\nimport { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet';\nimport { FaceRecognitionNet } from '../faceRecognitionNet/FaceRecognitionNet';\nimport { SsdMobilenetv1 } from '../ssdMobilenetv1/SsdMobilenetv1';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { TinyFaceDetector } from '../tinyFaceDetector/TinyFaceDetector';\nimport { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions';\nimport { ITinyYolov2Options, TinyYolov2 } from '../tinyYolov2/index';\n\nexport const nets = {\n ssdMobilenetv1: new SsdMobilenetv1(),\n tinyFaceDetector: new TinyFaceDetector(),\n tinyYolov2: new TinyYolov2(),\n faceLandmark68Net: new FaceLandmark68Net(),\n faceLandmark68TinyNet: new FaceLandmark68TinyNet(),\n faceRecognitionNet: new FaceRecognitionNet(),\n faceExpressionNet: new FaceExpressionNet(),\n ageGenderNet: new AgeGenderNet(),\n};\n\n/**\n * Attempts to detect all faces in an image using SSD Mobilenetv1 Network.\n *\n * @param input The input image.\n * @param options (optional, default: see SsdMobilenetv1Options constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const ssdMobilenetv1 = (input: TNetInput, options: SsdMobilenetv1Options): Promise => nets.ssdMobilenetv1.locateFaces(input, options);\n\n/**\n * Attempts to detect all faces in an image using the Tiny Face Detector.\n *\n * @param input The input image.\n * @param options (optional, default: see TinyFaceDetectorOptions constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const tinyFaceDetector = (input: TNetInput, options: TinyFaceDetectorOptions): Promise => nets.tinyFaceDetector.locateFaces(input, options);\n\n/**\n * Attempts to detect all faces in an image using the Tiny Yolov2 Network.\n *\n * @param input The input image.\n * @param options (optional, default: see TinyYolov2Options constructor for default parameters).\n * @returns Bounding box of each face with score.\n */\nexport const tinyYolov2 = (input: TNetInput, options: ITinyYolov2Options): Promise => nets.tinyYolov2.locateFaces(input, options);\n\n/**\n * Detects the 68 point face landmark positions of the face shown in an image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns 68 point face landmarks or array thereof in case of batch input.\n */\nexport const detectFaceLandmarks = (input: TNetInput): Promise => nets.faceLandmark68Net.detectLandmarks(input);\n\n/**\n * Detects the 68 point face landmark positions of the face shown in an image\n * using a tinier version of the 68 point face landmark model, which is slightly\n * faster at inference, but also slightly less accurate.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns 68 point face landmarks or array thereof in case of batch input.\n */\nexport const detectFaceLandmarksTiny = (input: TNetInput): Promise => nets.faceLandmark68TinyNet.detectLandmarks(input);\n\n/**\n * Computes a 128 entry vector (face descriptor / face embeddings) from the face shown in an image,\n * which uniquely represents the features of that persons face. The computed face descriptor can\n * be used to measure the similarity between faces, by computing the euclidean distance of two\n * face descriptors.\n *\n * @param inputs The face image extracted from the aligned bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Face descriptor with 128 entries or array thereof in case of batch input.\n */\nexport const computeFaceDescriptor = (input: TNetInput): Promise => nets.faceRecognitionNet.computeFaceDescriptor(input);\n\n/**\n * Recognizes the facial expressions from a face image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Facial expressions with corresponding probabilities or array thereof in case of batch input.\n */\nexport const recognizeFaceExpressions = (input: TNetInput): Promise => nets.faceExpressionNet.predictExpressions(input);\n\n/**\n * Predicts age and gender from a face image.\n *\n * @param inputs The face image extracted from the bounding box of a face. Can\n * also be an array of input images, which will be batch processed.\n * @returns Predictions with age, gender and gender probability or array thereof in case of batch input.\n */\nexport const predictAgeAndGender = (input: TNetInput): Promise => nets.ageGenderNet.predictAgeAndGender(input);\n\nexport const loadSsdMobilenetv1Model = (url: string) => nets.ssdMobilenetv1.load(url);\nexport const loadTinyFaceDetectorModel = (url: string) => nets.tinyFaceDetector.load(url);\nexport const loadTinyYolov2Model = (url: string) => nets.tinyYolov2.load(url);\nexport const loadFaceLandmarkModel = (url: string) => nets.faceLandmark68Net.load(url);\nexport const loadFaceLandmarkTinyModel = (url: string) => nets.faceLandmark68TinyNet.load(url);\nexport const loadFaceRecognitionModel = (url: string) => nets.faceRecognitionNet.load(url);\nexport const loadFaceExpressionModel = (url: string) => nets.faceExpressionNet.load(url);\nexport const loadAgeGenderModel = (url: string) => nets.ageGenderNet.load(url);\n\n// backward compatibility\nexport const loadFaceDetectionModel = loadSsdMobilenetv1Model;\nexport const locateFaces = ssdMobilenetv1;\nexport const detectLandmarks = detectFaceLandmarks;\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { TNetInput } from '../dom/index';\nimport { FaceExpressions } from '../faceExpressionNet/FaceExpressions';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { extendWithFaceExpressions, WithFaceExpressions } from '../factories/WithFaceExpressions';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderTask, PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\n\nexport class PredictFaceExpressionsTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected extractedFaces?: Array,\n ) {\n super();\n }\n}\n\nexport class PredictAllFaceExpressionsTask> extends PredictFaceExpressionsTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n\n const faceExpressionsByFace = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n async (faces) => Promise.all(\n faces.map((face) => nets.faceExpressionNet.predictExpressions(face) as Promise),\n ),\n this.extractedFaces,\n );\n\n return parentResults.map(\n (parentResult, i) => extendWithFaceExpressions(parentResult, faceExpressionsByFace[i]),\n );\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderTask(this, this.input);\n }\n}\n\nexport class PredictSingleFaceExpressionsTask> extends PredictFaceExpressionsTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) {\n return undefined;\n }\n\n const faceExpressions = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.faceExpressionNet.predictExpressions(face) as Promise,\n this.extractedFaces,\n );\n\n return extendWithFaceExpressions(parentResult, faceExpressions);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderTask(this, this.input);\n }\n}\n\nexport class PredictAllFaceExpressionsWithFaceAlignmentTask>> extends PredictAllFaceExpressionsTask {\n override withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class PredictSingleFaceExpressionsWithFaceAlignmentTask>> extends PredictSingleFaceExpressionsTask {\n override withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { AgeAndGenderPrediction } from '../ageGenderNet/types';\nimport { TNetInput } from '../dom/index';\nimport { extendWithAge, WithAge } from '../factories/WithAge';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { extendWithGender, WithGender } from '../factories/WithGender';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllFaceExpressionsTask, PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class PredictAgeAndGenderTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected extractedFaces?: Array,\n ) {\n super();\n }\n}\n\nexport class PredictAllAgeAndGenderTask> extends PredictAgeAndGenderTaskBase>[], TSource[]> {\n public override async run(): Promise>[]> {\n const parentResults = await this.parentTask;\n const ageAndGenderByFace = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n async (faces) => Promise.all(faces.map((face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise)),\n this.extractedFaces,\n );\n return parentResults.map((parentResult, i) => {\n const { age, gender, genderProbability } = ageAndGenderByFace[i];\n return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);\n });\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsTask(this, this.input);\n }\n}\n\nexport class PredictSingleAgeAndGenderTask> extends PredictAgeAndGenderTaskBase> | undefined, TSource | undefined> {\n public override async run(): Promise> | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) return undefined;\n const { age, gender, genderProbability } = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.ageGenderNet.predictAgeAndGender(face) as Promise,\n this.extractedFaces,\n );\n return extendWithAge(extendWithGender(parentResult, gender, genderProbability), age);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsTask(this, this.input);\n }\n}\n\nexport class PredictAllAgeAndGenderWithFaceAlignmentTask>> extends PredictAllAgeAndGenderTask {\n override withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class PredictSingleAgeAndGenderWithFaceAlignmentTask>> extends PredictSingleAgeAndGenderTask {\n override withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { TNetInput } from '../dom/index';\nimport { extendWithFaceDescriptor, WithFaceDescriptor } from '../factories/WithFaceDescriptor';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { extractAllFacesAndComputeResults, extractSingleFaceAndComputeResult } from './extractFacesAndComputeResults';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class ComputeFaceDescriptorsTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n ) {\n super();\n }\n}\n\nexport class ComputeAllFaceDescriptorsTask>> extends ComputeFaceDescriptorsTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n const descriptors = await extractAllFacesAndComputeResults(\n parentResults,\n this.input,\n (faces) => Promise.all(faces.map((face) => nets.faceRecognitionNet.computeFaceDescriptor(face) as Promise)),\n null,\n (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),\n );\n return descriptors.map((descriptor, i) => extendWithFaceDescriptor(parentResults[i], descriptor));\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n}\n\nexport class ComputeSingleFaceDescriptorTask>> extends ComputeFaceDescriptorsTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) return undefined;\n const descriptor = await extractSingleFaceAndComputeResult(\n parentResult,\n this.input,\n (face) => nets.faceRecognitionNet.computeFaceDescriptor(face) as Promise,\n null,\n // eslint-disable-next-line no-shadow, @typescript-eslint/no-shadow\n (parentResult) => parentResult.landmarks.align(null, { useDlibAlignment: true }),\n );\n return extendWithFaceDescriptor(parentResult, descriptor);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport * as tf from '../../dist/tfjs.esm';\n\nimport { FaceLandmarks68 } from '../classes/FaceLandmarks68';\nimport { extractFaces, extractFaceTensors, TNetInput } from '../dom/index';\nimport { FaceLandmark68Net } from '../faceLandmarkNet/FaceLandmark68Net';\nimport { FaceLandmark68TinyNet } from '../faceLandmarkNet/FaceLandmark68TinyNet';\nimport { WithFaceDetection } from '../factories/WithFaceDetection';\nimport { extendWithFaceLandmarks, WithFaceLandmarks } from '../factories/WithFaceLandmarks';\nimport { ComposableTask } from './ComposableTask';\nimport { ComputeAllFaceDescriptorsTask, ComputeSingleFaceDescriptorTask } from './ComputeFaceDescriptorsTasks';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderWithFaceAlignmentTask, PredictSingleAgeAndGenderWithFaceAlignmentTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsWithFaceAlignmentTask, PredictSingleFaceExpressionsWithFaceAlignmentTask } from './PredictFaceExpressionsTask';\n\nexport class DetectFaceLandmarksTaskBase extends ComposableTask {\n constructor(\n // eslint-disable-next-line no-unused-vars\n protected parentTask: ComposableTask | Promise,\n // eslint-disable-next-line no-unused-vars\n protected input: TNetInput,\n // eslint-disable-next-line no-unused-vars\n protected useTinyLandmarkNet: boolean,\n ) {\n super();\n }\n\n protected get landmarkNet(): FaceLandmark68Net | FaceLandmark68TinyNet {\n return this.useTinyLandmarkNet\n ? nets.faceLandmark68TinyNet\n : nets.faceLandmark68Net;\n }\n}\n\nexport class DetectAllFaceLandmarksTask> extends DetectFaceLandmarksTaskBase[], TSource[]> {\n public override async run(): Promise[]> {\n const parentResults = await this.parentTask;\n const detections = parentResults.map((res) => res.detection);\n const faces: Array = this.input instanceof tf.Tensor\n ? await extractFaceTensors(this.input, detections)\n : await extractFaces(this.input, detections);\n const faceLandmarksByFace = await Promise.all(faces.map((face) => this.landmarkNet.detectLandmarks(face))) as FaceLandmarks68[];\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n const result = parentResults\n .filter((_parentResult, i) => faceLandmarksByFace[i])\n .map((parentResult, i) => extendWithFaceLandmarks(parentResult, faceLandmarksByFace[i]));\n return result;\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptors() {\n return new ComputeAllFaceDescriptorsTask(this, this.input);\n }\n}\n\nexport class DetectSingleFaceLandmarksTask> extends DetectFaceLandmarksTaskBase | undefined, TSource | undefined> {\n public override async run(): Promise | undefined> {\n const parentResult = await this.parentTask;\n if (!parentResult) {\n return undefined;\n }\n const { detection } = parentResult;\n const faces: Array = this.input instanceof tf.Tensor\n ? await extractFaceTensors(this.input, [detection])\n : await extractFaces(this.input, [detection]);\n const landmarks = await this.landmarkNet.detectLandmarks(faces[0]) as FaceLandmarks68;\n faces.forEach((f) => f instanceof tf.Tensor && f.dispose());\n return extendWithFaceLandmarks(parentResult, landmarks);\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsWithFaceAlignmentTask(this, this.input);\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderWithFaceAlignmentTask(this, this.input);\n }\n\n withFaceDescriptor() {\n return new ComputeSingleFaceDescriptorTask(this, this.input);\n }\n}\n", "/* eslint-disable max-classes-per-file */\nimport { FaceDetection } from '../classes/FaceDetection';\nimport { TNetInput } from '../dom/index';\nimport { extendWithFaceDetection, WithFaceDetection } from '../factories/WithFaceDetection';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { TinyFaceDetectorOptions } from '../tinyFaceDetector/TinyFaceDetectorOptions';\nimport { TinyYolov2Options } from '../tinyYolov2/index';\nimport { ComposableTask } from './ComposableTask';\nimport { DetectAllFaceLandmarksTask, DetectSingleFaceLandmarksTask } from './DetectFaceLandmarksTasks';\nimport { nets } from './nets';\nimport { PredictAllAgeAndGenderTask, PredictSingleAgeAndGenderTask } from './PredictAgeAndGenderTask';\nimport { PredictAllFaceExpressionsTask, PredictSingleFaceExpressionsTask } from './PredictFaceExpressionsTask';\nimport { FaceDetectionOptions } from './types';\n\nexport class DetectFacesTaskBase extends ComposableTask {\n // eslint-disable-next-line no-unused-vars\n constructor(protected input: TNetInput, protected options: FaceDetectionOptions = new SsdMobilenetv1Options()) {\n super();\n }\n}\n\nexport class DetectAllFacesTask extends DetectFacesTaskBase {\n public override async run(): Promise {\n const { input, options } = this;\n let result;\n if (options instanceof TinyFaceDetectorOptions) result = nets.tinyFaceDetector.locateFaces(input, options);\n else if (options instanceof SsdMobilenetv1Options) result = nets.ssdMobilenetv1.locateFaces(input, options);\n else if (options instanceof TinyYolov2Options) result = nets.tinyYolov2.locateFaces(input, options);\n else throw new Error('detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options');\n return result;\n }\n\n private runAndExtendWithFaceDetections(): Promise[]> {\n return new Promise[]>((resolve, reject) => {\n this.run()\n .then((detections) => resolve(detections.map((detection) => extendWithFaceDetection({}, detection))))\n .catch((err) => reject(err));\n });\n }\n\n withFaceLandmarks(useTinyLandmarkNet = false) {\n return new DetectAllFaceLandmarksTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n useTinyLandmarkNet,\n );\n }\n\n withFaceExpressions() {\n return new PredictAllFaceExpressionsTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n );\n }\n\n withAgeAndGender() {\n return new PredictAllAgeAndGenderTask(\n this.runAndExtendWithFaceDetections(),\n this.input,\n );\n }\n}\n\nexport class DetectSingleFaceTask extends DetectFacesTaskBase {\n public override async run(): Promise {\n const faceDetections = await new DetectAllFacesTask(this.input, this.options);\n let faceDetectionWithHighestScore = faceDetections[0];\n faceDetections.forEach((faceDetection) => {\n if (faceDetection.score > faceDetectionWithHighestScore.score) faceDetectionWithHighestScore = faceDetection;\n });\n return faceDetectionWithHighestScore;\n }\n\n private runAndExtendWithFaceDetection(): Promise | undefined> {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise | undefined>(async (resolve) => {\n const detection = await this.run();\n resolve(detection ? extendWithFaceDetection<{}>({}, detection) : undefined);\n });\n }\n\n withFaceLandmarks(useTinyLandmarkNet = false) {\n return new DetectSingleFaceLandmarksTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n useTinyLandmarkNet,\n );\n }\n\n withFaceExpressions() {\n return new PredictSingleFaceExpressionsTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n );\n }\n\n withAgeAndGender() {\n return new PredictSingleAgeAndGenderTask(\n this.runAndExtendWithFaceDetection(),\n this.input,\n );\n }\n}\n", "import { TNetInput } from '../dom/index';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/SsdMobilenetv1Options';\nimport { DetectAllFacesTask, DetectSingleFaceTask } from './DetectFacesTasks';\nimport { FaceDetectionOptions } from './types';\n\nexport function detectSingleFace(input: TNetInput, options: FaceDetectionOptions = new SsdMobilenetv1Options()): DetectSingleFaceTask {\n return new DetectSingleFaceTask(input, options);\n}\n\nexport function detectAllFaces(input: TNetInput, options: FaceDetectionOptions = new SsdMobilenetv1Options()): DetectAllFacesTask {\n return new DetectAllFacesTask(input, options);\n}\n", "import { TNetInput } from '../dom/index';\nimport { WithFaceDescriptor, WithFaceDetection, WithFaceLandmarks } from '../factories/index';\nimport { SsdMobilenetv1Options } from '../ssdMobilenetv1/index';\nimport { ITinyYolov2Options, TinyYolov2Options } from '../tinyYolov2/index';\nimport { detectAllFaces } from './detectFaces';\n\nexport async function allFacesSsdMobilenetv1(input: TNetInput, minConfidence?: number): Promise>>[]> {\n return detectAllFaces(input, new SsdMobilenetv1Options(minConfidence ? { minConfidence } : {}))\n .withFaceLandmarks()\n .withFaceDescriptors();\n}\n\nexport async function allFacesTinyYolov2(input: TNetInput, forwardParams: ITinyYolov2Options = {}): Promise>>[]> {\n return detectAllFaces(input, new TinyYolov2Options(forwardParams))\n .withFaceLandmarks()\n .withFaceDescriptors();\n}\n\nexport const allFaces = allFacesSsdMobilenetv1;\n", "export function euclideanDistance(arr1: number[] | Float32Array, arr2: number[] | Float32Array) {\n if (arr1.length !== arr2.length) throw new Error('euclideanDistance: arr1.length !== arr2.length');\n const desc1 = Array.from(arr1);\n const desc2 = Array.from(arr2);\n return Math.sqrt(\n desc1\n .map((val, i) => val - desc2[i])\n .reduce((res, diff) => res + (diff * diff), 0),\n );\n}\n", "import { FaceMatch } from '../classes/FaceMatch';\nimport { LabeledFaceDescriptors } from '../classes/LabeledFaceDescriptors';\nimport { euclideanDistance } from '../euclideanDistance';\nimport { WithFaceDescriptor } from '../factories/index';\n\nexport class FaceMatcher {\n private _labeledDescriptors: LabeledFaceDescriptors[];\n private _distanceThreshold: number;\n\n constructor(inputs: LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>, distanceThreshold = 0.6) {\n this._distanceThreshold = distanceThreshold;\n const inputArray = Array.isArray(inputs) ? inputs : [inputs];\n if (!inputArray.length) throw new Error('FaceRecognizer.constructor - expected atleast one input');\n let count = 1;\n const createUniqueLabel = () => `person ${count++}`;\n this._labeledDescriptors = inputArray.map((desc) => {\n if (desc instanceof LabeledFaceDescriptors) return desc;\n if (desc instanceof Float32Array) return new LabeledFaceDescriptors(createUniqueLabel(), [desc]);\n if (desc.descriptor && desc.descriptor instanceof Float32Array) return new LabeledFaceDescriptors(createUniqueLabel(), [desc.descriptor]);\n throw new Error('FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>');\n });\n }\n\n public get labeledDescriptors(): LabeledFaceDescriptors[] { return this._labeledDescriptors; }\n\n public get distanceThreshold(): number { return this._distanceThreshold; }\n\n public computeMeanDistance(queryDescriptor: Float32Array, descriptors: Float32Array[]): number {\n return descriptors\n .map((d) => euclideanDistance(d, queryDescriptor))\n .reduce((d1, d2) => d1 + d2, 0) / (descriptors.length || 1);\n }\n\n public matchDescriptor(queryDescriptor: Float32Array): FaceMatch {\n return this.labeledDescriptors\n .map(({ descriptors, label }) => new FaceMatch(label, this.computeMeanDistance(queryDescriptor, descriptors)))\n .reduce((best, curr) => (best.distance < curr.distance ? best : curr));\n }\n\n public findBestMatch(queryDescriptor: Float32Array): FaceMatch {\n const bestMatch = this.matchDescriptor(queryDescriptor);\n return (bestMatch.distance < this._distanceThreshold) ? bestMatch : new FaceMatch('unknown', bestMatch.distance);\n }\n\n public toJSON(): any {\n return {\n distanceThreshold: this._distanceThreshold,\n labeledDescriptors: this._labeledDescriptors.map((ld) => ld.toJSON()),\n };\n }\n\n public static fromJSON(json: any): FaceMatcher {\n const labeledDescriptors = json.labeledDescriptors.map((ld: any) => LabeledFaceDescriptors.fromJSON(ld));\n return new FaceMatcher(labeledDescriptors, json.distanceThreshold);\n }\n}\n", "import { TinyFaceDetector } from './TinyFaceDetector';\n\nexport * from './TinyFaceDetector';\nexport * from './TinyFaceDetectorOptions';\n\nexport function createTinyFaceDetector(weights: Float32Array) {\n const net = new TinyFaceDetector();\n net.extractWeights(weights);\n return net;\n}\n", "import { Dimensions, IDimensions } from './classes/index';\nimport { FaceDetection } from './classes/FaceDetection';\nimport { FaceLandmarks } from './classes/FaceLandmarks';\nimport { extendWithFaceDetection, isWithFaceDetection } from './factories/WithFaceDetection';\nimport { extendWithFaceLandmarks, isWithFaceLandmarks } from './factories/WithFaceLandmarks';\n\nexport function resizeResults(results: T, dimensions: IDimensions): T {\n const { width, height } = new Dimensions(dimensions.width, dimensions.height);\n\n if (width <= 0 || height <= 0) {\n throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({ width, height })}`);\n }\n\n if (Array.isArray(results)) {\n // return results.map(obj => resizeResults(obj, { width, height })) as any as T\n return (results as Array).map((obj) => resizeResults(obj, { width, height } as IDimensions)) as any as T;\n }\n\n if (isWithFaceLandmarks(results)) {\n const resizedDetection = results.detection.forSize(width, height);\n const resizedLandmarks = results.unshiftedLandmarks.forSize(resizedDetection.box.width, resizedDetection.box.height);\n return extendWithFaceLandmarks(extendWithFaceDetection(results, resizedDetection), resizedLandmarks);\n }\n\n if (isWithFaceDetection(results)) {\n return extendWithFaceDetection(results, results.detection.forSize(width, height));\n }\n\n if (results instanceof FaceLandmarks || results instanceof FaceDetection) {\n return (results as any).forSize(width, height);\n }\n\n return results;\n}\n", "import * as tf from '../dist/tfjs.esm';\nimport * as draw from './draw/index';\nimport * as utils from './utils/index';\nimport * as pkg from '../package.json';\n\nexport { tf, draw, utils };\n\nexport * from './ageGenderNet/index';\nexport * from './classes/index';\nexport * from './dom/index';\nexport * from './env/index';\nexport * from './faceExpressionNet/index';\nexport * from './faceLandmarkNet/index';\nexport * from './faceRecognitionNet/index';\nexport * from './factories/index';\nexport * from './globalApi/index';\nexport * from './ops/index';\nexport * from './ssdMobilenetv1/index';\nexport * from './tinyFaceDetector/index';\nexport * from './tinyYolov2/index';\nexport * from './euclideanDistance';\nexport * from './NeuralNetwork';\nexport * from './resizeResults';\n\nexport const version = pkg.version as string;\n\n// set webgl defaults\n// if (browser) tf.ENV.set('WEBGL_USE_SHAPES_UNIFORMS', true);\n"], + "mappings": "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,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,aAAa,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,aAAa,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,QAAQ,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,KAAK,QAAQ,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,SAAS,aAAa,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI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", "names": ["tfjs_esm_exports", "__export", "pi", "oa", "sa", "cu", "pu", "mu", "fu", "jn", "jo", "ia", "aa", "Xo", "Nl", "la", "ua", "ca", "ma", "pa", "Yo", "kl", "Ip", "vp", "bg", "Zo", "mi", "Sp", "Tp", "N1", "Lb", "Yy", "ao", "Jo", "lo", "Np", "_l", "fi", "Qo", "kp", "ts", "El", "_p", "Ep", "es", "rs", "da", "fa", "ns", "Jy", "ra", "Ap", "ha", "os", "$p", "Dp", "Rp", "Al", "sh", "oh", "y0", "Mb", "Fp", "is", "Op", "rh", "xa", "ga", "as", "di", "ya", "Pp", "$l", "ba", "ls", "us", "ih", "cs", "ki", "_i", "jc", "wa", "hi", "Hh", "Ca", "ps", "Zy", "Lp", "uo", "Mp", "we", "va", "Ia", "Sa", "Ho", "Dl", "Bp", "Ah", "Bn", "ms", "Ta", "Na", "zp", "fs", "ka", "_1", "_a", "Ea", "Aa", "k1", "Ilt", "Eu", "ds", "gs", "Rl", "Gp", "Vp", "Wp", "hs", "xs", "ys", "bs", "ws", "$a", "du", "Up", "Cs", "gi", "Ra", "Fa", "Oa", "Da", "z0", "vs", "xi", "Br", "js", "yi", "Is", "Slt", "Ss", "Ts", "Ns", "hu", "_n", "Hp", "Fl", "E0", "qp", "ss", "Pa", "Ye", "ks", "As", "bi", "Es", "jp", "_s", "Kp", "$s", "qa", "Ds", "Rs", "qi", "La", "Xp", "wi", "Ma", "Ji", "Os", "Ba", "Fs", "za", "Ci", "Ms", "Va", "vi", "Ol", "Ga", "Pl", "Ll", "Yp", "Ii", "Ps", "Ml", "zs", "co", "Wa", "zl", "Bl", "Vl", "Bs", "Ls", "Xr", "Vs", "Gs", "Lt", "fe", "Xn", "Ua", "Ha", "Yn", "Zp", "Si", "Gl", "Tlt", "Ka", "Ti", "Ni", "$e", "Cx", "vx", "J", "J_", "cm", "Ju", "Oi", "Ix", "Sx", "Tx", "Nx", "kx", "_x", "Xl", "Ax", "$_", "S", "eE", "Li", "$x", "Dx", "Rx", "Yl", "Fx", "w6", "nE", "Mi", "Lr", "xx", "vt", "tZ", "tt", "Ox", "Ir", "an", "Cn", "se", "Px", "Lx", "Mx", "zx", "aD", "mm", "Sn", "dm", "Bx", "Gx", "Dlt", "Zl", "hm", "Sh", "ec", "gm", "un", "GR", "oE", "tS", "Wx", "zi", "oZ", "ql", "sE", "Ux", "vpt", "_t", "Ipt", "ct", "Hx", "qx", "bS", "iE", "Bi", "Cpt", "wpt", "wS", "go", "B", "Ar", "Kx", "jx", "or", "yr", "Xx", "nc", "iu", "Vi", "Ept", "Apt", "Gi", "um", "CM", "lu", "Wi", "E6", "yx", "kpt", "C0", "lh", "tx", "ilt", "xk", "MK", "zK", "Xe", "Pn", "Qa", "jl", "uu", "D6", "lD", "KS", "vn", "Am", "Yx", "Zx", "Jx", "Oe", "Vr", "BD", "Jl", "xm", "Ln", "vS", "uE", "ZZ", "JZ", "pY", "Qx", "Sr", "Ql", "ry", "ym", "bm", "Dr", "tu", "wm", "ny", "D5", "cE", "Gt", "R_", "Mr", "eu", "sy", "pE", "Tn", "ke", "xh", "mE", "VD", "rc", "Ui", "iy", "ay", "uY", "GD", "oc", "v6", "O", "fE", "dE", "Yt", "Th", "Ja", "qs", "Ri", "cr", "br", "N", "hE", "cn", "gE", "xE", "yE", "bE", "ly", "ln", "nu", "mx", "uy", "Spt", "wE", "CE", "ME", "ac", "zE", "Hi", "ou", "Npt", "Za", "dy", "lm", "mY", "A1", "Wu", "nZ", "WD", "Rr", "Cm", "_pt", "F", "pr", "BE", "VE", "GE", "WE", "au", "vm", "Im", "mt", "S6", "yh", "Ch", "Sm", "Tm", "cY", "rt", "bH", "$pt", "slt", "nlt", "olt", "$N", "UE", "Kr", "hy", "$5", "Nm", "km", "Ot", "_m", "Ih", "Em", "lc", "Be", "su", "Hs", "ru", "R5", "k6", "A5", "mr", "Ne", "Ht", "$m", "Mn", "sr", "yo", "gy", "F5", "ut", "ft", "Xu", "xy", "Pi", "vr", "Ve", "Ks", "gx", "HE", "qE", "KE", "ho", "Y_", "G", "$r", "Tpt", "yy", "fc", "Mt", "Dm", "by", "$lt", "Alt", "Rm", "Tr", "ir", "jE", "y", "BK", "VK", "wy", "ty", "xlt", "vR", "Z_", "nf", "alt", "wM", "ike", "Id", "De", "vy", "_e", "St", "ZU", "p0", "JU", "QU", "t4", "e4", "gr", "r", "jt", "e", "r4", "n", "o", "Tl", "V1", "Flt", "B1", "Ke", "po", "t", "On", "$1", "D1", "Hu", "je", "mo", "Uu", "fo", "P1", "z1", "F1", "Fn", "M1", "tm", "ex", "S0", "s", "i", "a", "u", "l", "Ws", "R1", "S4", "O1", "Qp", "L1", "I0", "yt", "c", "p", "m", "f", "d", "C_", "v_", "IE", "vE", "fS", "TE", "SE", "dS", "kE", "NE", "hS", "EE", "_E", "gS", "$E", "AE", "xS", "h", "g", "RE", "DE", "yS", "FE", "PE", "OE", "cy", "w", "C", "T", "E", "$", "b", "D", "P", "M", "W", "H", "q", "X", "j", "vh", "lTt", "LE", "Tj", "Nj", "kj", "_j", "Ej", "Aj", "sc", "kT", "pw", "hg", "qW", "KW", "jW", "XW", "kv", "qk", "Hk", "Ft", "dr", "zo", "op", "sp", "Vd", "wg", "Cg", "vg", "Ig", "k", "R", "x", "Zd", "K", "V", "Y", "ht", "wt", "Pu", "Z", "et", "ot", "st", "it", "kt", "Vt", "nr", "Wo", "Uo", "Zg", "Jd", "pt", "at", "gt", "Hn", "dt", "cp", "bt", "Tt", "At", "Rt", "qt", "Kt", "me", "ap", "Ae", "Ie", "le", "qe", "Re", "Jr", "Dn", "xp", "b1", "gp", "$n", "Cl", "qr", "u0", "YU", "Kg", "Me", "Lo", "Or", "Qr", "tn", "so", "Mo", "io", "Fu", "np", "Qk", "Sg", "ip", "vl", "Av", "Tg", "Ou", "$v", "Ng", "en", "t1", "Ag", "Gd", "Dv", "Ut", "Rv", "Wd", "e1", "Il", "kg", "Bo", "Ud", "r1", "Fv", "Hd", "_g", "rn", "Eg", "lp", "Ov", "Gg", "Gv", "n1", "o1", "Pv", "up", "oU", "s1", "Lv", "l0", "Mv", "$g", "Dg", "KU", "zv", "y1", "qg", "f1", "Fg", "Bv", "x1", "Rg", "zu", "Lu", "Vv", "i1", "a1", "Mu", "Wv", "Uv", "m1", "Hv", "qv", "Kv", "d1", "jv", "Xv", "h1", "Yv", "Zv", "Jv", "Qv", "Og", "tI", "eI", "g1", "qd", "rI", "CI", "nI", "oI", "ne", "a0", "sI", "i0", "iI", "aI", "lI", "uI", "cI", "Kd", "Pg", "Lg", "pI", "mI", "fI", "dI", "hI", "gI", "rr", "Vg", "p1", "xI", "yI", "bI", "pp", "Mg", "zg", "Bg", "wI", "l1", "u1", "vI", "II", "SI", "TI", "NI", "kI", "_I", "EI", "AI", "$I", "DI", "RI", "FI", "OI", "PI", "LI", "MI", "zI", "BI", "VI", "GI", "WI", "UI", "HI", "qI", "KI", "jI", "XI", "YI", "ZI", "JI", "QI", "t0", "e0", "Wg", "Ug", "jd", "r0", "n0", "mp", "Xd", "Yd", "c1", "fp", "dp", "o0", "U", "Q", "xt", "$t", "he", "xe", "oe", "ee", "hr", "Vo", "Go", "hp", "Bu", "s0", "nn", "Sl", "Hg", "sU", "iU", "aU", "lU", "uU", "cU", "pU", "mU", "fU", "dU", "hU", "gU", "xU", "yU", "bU", "wU", "CU", "vU", "IU", "SU", "TU", "NU", "kU", "_U", "EU", "AU", "$U", "DU", "RU", "FU", "OU", "PU", "LU", "MU", "zU", "BU", "VU", "GU", "WU", "UU", "HU", "qU", "jg", "c0", "jU", "Xg", "Yg", "XU", "ZW", "B5e", "YW", "JW", "_v", "jk", "Kk", "qn", "w1", "Jg", "n4", "yp", "o4", "s4", "i4", "a4", "A", "Fe", "Rn", "Kn", "qo", "xr", "Qt", "l4", "na", "u4", "c4", "p4", "Gu", "m4", "f4", "ur", "m0", "f0", "d0", "h0", "g0", "d4", "Qg", "x0", "Ko", "C1", "v1", "bp", "ui", "wp", "ci", "I1", "Vu", "Qd", "Cp", "h4", "th", "g4", "x4", "eh", "S1", "b4", "C4", "w4", "T1", "b0", "w0", "v4", "nh", "Ei", "I4", "Jp", "ah", "v0", "A4", "rm", "Ul", "D4", "E4", "uh", "ju", "em", "N0", "Ku", "W1", "qu", "on", "T0", "U1", "ze", "G1", "kr", "Wl", "T4", "rx", "N4", "k4", "_4", "$4", "nx", "k0", "R4", "H1", "q1", "K1", "ch", "_0", "j1", "F4", "ox", "mh", "ph", "X1", "Us", "nm", "O4", "Y1", "Z1", "J1", "L", "F0", "fh", "L4", "Xt", "A0", "$0", "D0", "R0", "P4", "Q1", "M4", "O0", "sx", "Hl", "_", "z4", "B4", "P0", "M0", "W4", "G4", "V4", "L0", "Zn", "Pr", "e_", "t_", "v", "ja", "U4", "sn", "dh", "ix", "n_", "H4", "ax", "X4", "B0", "r_", "o_", "s_", "om", "V0", "lx", "sm", "Ai", "q4", "K4", "j4", "Se", "i_", "a_", "l_", "u_", "G0", "W0", "Yu", "Kl", "c_", "U0", "$i", "p_", "Y4", "Z4", "ux", "Xa", "im", "m_", "J4", "Q4", "tH", "eH", "f_", "d_", "rH", "nH", "Di", "h_", "oH", "cx", "am", "_r", "px", "g_", "x_", "y_", "b_", "w_", "H0", "sH", "q0", "K0", "iH", "aH", "lH", "S_", "k_", "__", "Q0", "dx", "fx", "T_", "Z0", "E_", "A_", "uH", "cH", "pH", "I_", "Ya", "j0", "mH", "fH", "X0", "Y0", "dH", "hH", "hh", "gH", "N_", "gh", "hx", "J0", "D_", "xH", "yH", "wH", "CH", "vH", "IH", "SH", "zt", "F_", "ye", "$H", "EH", "AH", "Zu", "O_", "TH", "NH", "kH", "_H", "P_", "L_", "bx", "eS", "RH", "MH", "OH", "PH", "LH", "FH", "nS", "zH", "H_", "G_", "q_", "W_", "U_", "z_", "rS", "DH", "B_", "V_", "BH", "M_", "bh", "Fi", "In", "K_", "KH", "X_", "qH", "GH", "UH", "j_", "WH", "HH", "jH", "wx", "VH", "oS", "sS", "XH", "YH", "ZH", "JH", "QH", "tq", "eq", "rq", "nq", "oq", "sq", "iq", "aq", "lq", "uq", "cq", "pq", "mq", "tE", "tc", "aS", "Ex", "fq", "iS", "Q_", "pm", "gq", "xq", "dq", "lS", "Qu", "hq", "Jn", "Er", "Te", "yq", "bq", "wq", "Cq", "vq", "Iq", "Sq", "Tq", "Nq", "rE", "kq", "_q", "Eq", "Aq", "$q", "Dq", "Rq", "Fq", "Oq", "Pq", "Lq", "Mq", "zq", "Bq", "Vq", "Gq", "fm", "Wq", "Uq", "Hq", "Vx", "qq", "Kq", "jq", "Xq", "Yq", "Zq", "Jq", "Qq", "tK", "eK", "rK", "nK", "oK", "sK", "iK", "aK", "lK", "uK", "uS", "aE", "cS", "xo", "cK", "pS", "wh", "pK", "mK", "fK", "dK", "hK", "gK", "xK", "yK", "lE", "bK", "wK", "CK", "vK", "IK", "SK", "TK", "NK", "kK", "_K", "EK", "AK", "$K", "DK", "RK", "FK", "OK", "PK", "LK", "ey", "GK", "WK", "UK", "HK", "qK", "KK", "jK", "XK", "YK", "oy", "ZK", "JK", "QK", "tj", "ej", "rj", "nj", "oj", "sj", "ij", "aj", "lj", "uj", "cj", "pj", "mj", "fj", "dj", "hj", "gj", "xj", "yj", "wj", "bj", "Cj", "vj", "Ij", "Sj", "fy", "ic", "py", "my", "$j", "Dj", "Rj", "Fj", "Oj", "Pj", "Lj", "Mj", "zj", "Bj", "Vj", "Gj", "Wj", "Uj", "Hj", "qj", "Kj", "jj", "Xj", "Yj", "Zj", "Jj", "Qj", "t6", "e6", "r6", "n6", "o6", "s6", "i6", "a6", "l6", "u6", "c6", "p6", "m6", "f6", "d6", "h6", "g6", "x6", "Cy", "y6", "b6", "C6", "I6", "XE", "N6", "_6", "YE", "A6", "$6", "ZE", "JE", "QE", "R6", "Fm", "uc", "cc", "pc", "mc", "F6", "O6", "Iy", "P6", "Sy", "L6", "M6", "z6", "tA", "B6", "Ty", "V6", "Ny", "G6", "eA", "W6", "rA", "U6", "nA", "H6", "oA", "q6", "sA", "bo", "K6", "iA", "aA", "j6", "Y6", "X6", "ky", "CS", "_y", "Ey", "lA", "Z6", "J6", "Q6", "uA", "t5", "cA", "e5", "pA", "r5", "mA", "n5", "fA", "o5", "Ay", "s5", "$y", "i5", "a5", "dA", "l5", "hA", "u5", "gA", "c5", "xA", "p5", "yA", "bA", "m5", "zr", "f5", "wA", "d5", "CA", "h5", "vA", "g5", "IA", "x5", "SA", "y5", "TA", "b5", "w5", "NA", "C5", "v5", "kA", "I5", "_A", "S5", "EA", "T5", "AA", "N5", "$A", "k5", "DA", "_5", "RA", "E5", "FA", "O5", "Y5", "Z5", "J5", "Q5", "tX", "X5", "Dy", "Ki", "SS", "IS", "P5", "iX", "mX", "M5", "nX", "oX", "G5", "L5", "cX", "lX", "aX", "RX", "DX", "sX", "fX", "pX", "W5", "H5", "B5", "U5", "q5", "z5", "K5", "j5", "xX", "yX", "bX", "vX", "SX", "IX", "wX", "CX", "_X", "TX", "NX", "kX", "dX", "eX", "gX", "NS", "rX", "V5", "TS", "uX", "OA", "PA", "hX", "$X", "AX", "EX", "Ry", "LA", "MA", "zA", "BA", "VA", "GA", "WA", "UA", "HA", "qA", "KA", "FX", "jA", "XA", "OX", "YA", "ZA", "JA", "QA", "t2", "e2", "r2", "n2", "o2", "s2", "i2", "a2", "PX", "l2", "u2", "c2", "p2", "m2", "f2", "d2", "h2", "g2", "x2", "y2", "b2", "w2", "C2", "v2", "T2", "I2", "S2", "N2", "k2", "_2", "E2", "A2", "$2", "D2", "R2", "F2", "LX", "O2", "P2", "Fy", "kS", "L2", "MX", "M2", "z2", "zX", "B2", "V2", "G2", "W2", "U2", "H2", "q2", "K2", "j2", "X2", "Y2", "Z2", "_S", "J2", "Q2", "BX", "VX", "t$", "e$", "r$", "n$", "o$", "s$", "i$", "a$", "l$", "u$", "c$", "p$", "m$", "f$", "d$", "h$", "g$", "x$", "y$", "b$", "ES", "AS", "w$", "C$", "v$", "I$", "S$", "T$", "N$", "k$", "_$", "E$", "A$", "$$", "GX", "D$", "WX", "Nn", "Gr", "z", "Nt", "Om", "Nh", "Co", "to", "DS", "Nr", "be", "vo", "tl", "wo", "Pm", "$S", "ji", "UX", "kh", "Io", "R$", "Xi", "Oy", "Je", "F$", "O$", "Py", "HX", "My", "Ly", "gu", "P$", "L$", "M$", "z$", "B$", "Lm", "Pe", "G$", "pn", "RS", "_h", "V$", "Ys", "qX", "zy", "W$", "By", "KX", "U$", "So", "dc", "Zs", "jr", "FS", "ar", "mn", "hc", "rl", "H$", "Gy", "q$", "K$", "el", "OS", "Eh", "Mm", "LS", "zm", "To", "PS", "Wy", "gc", "fn", "j$", "X$", "Uy", "Y$", "xu", "Z$", "J$", "jX", "XX", "hn", "Bm", "yu", "Vm", "Gm", "Wm", "Um", "Hm", "YX", "Wr", "xc", "yc", "bc", "wc", "Cc", "vc", "qm", "Q$", "tD", "Ee", "ge", "Hy", "Km", "Pt", "te", "jm", "rD", "JX", "$h", "Xm", "QX", "nl", "t8", "Bt", "e8", "r8", "MS", "Js", "qy", "n8", "No", "Ky", "jy", "oD", "Ic", "o8", "i8", "nD", "s8", "a8", "l8", "p8", "c8", "u8", "zS", "Sc", "Ym", "Zm", "Jm", "Qm", "sD", "Ge", "iD", "We", "d8", "C8", "w8", "v8", "I8", "y8", "S8", "T8", "f8", "N8", "g8", "h8", "x8", "b8", "m8", "al", "VY", "YY", "R7", "ZY", "QS", "tT", "eT", "i7", "l7", "c7", "a7", "u7", "p7", "n7", "T7", "JY", "DY", "RY", "FY", "OY", "PY", "C7", "v7", "MY", "GY", "BY", "r7", "WY", "NY", "XY", "HY", "D7", "$7", "m7", "f7", "k7", "_7", "PD", "LD", "h7", "g7", "TY", "o7", "_Y", "x7", "y7", "F7", "E7", "A7", "MD", "zD", "d7", "QY", "t7", "e7", "jY", "EY", "kY", "qY", "KY", "I7", "LY", "b7", "w7", "AY", "UY", "S7", "$Y", "N7", "zY", "s7", "Yi", "Xy", "uD", "k8", "ol", "BS", "Qy", "gn", "tb", "xn", "Dh", "Zi", "tf", "bu", "_8", "E8", "A8", "$8", "D8", "Tc", "ef", "R8", "rf", "F8", "O8", "Fh", "Rh", "eb", "Oh", "Ph", "pD", "P8", "L8", "VS", "mD", "nb", "ob", "M8", "z8", "B8", "V8", "G8", "W8", "Lh", "U8", "GS", "rb", "fD", "Mh", "hD", "US", "WS", "gD", "K8", "sb", "j8", "X8", "q8", "xD", "Nc", "ib", "zn", "Y8", "ab", "lb", "yD", "Z8", "CD", "bD", "J8", "vD", "wD", "Q8", "tY", "ID", "ub", "of", "cb", "pb", "eY", "SD", "ko", "HS", "rY", "qS", "TD", "ND", "nY", "oY", "kD", "sY", "iY", "mb", "_D", "ED", "aY", "lY", "Yr", "fb", "db", "hb", "gb", "xb", "yb", "bb", "wb", "Cb", "vb", "sf", "Ib", "Sb", "Tb", "Qs", "jS", "ti", "XS", "Nb", "wu", "DD", "RD", "AD", "de", "$D", "Ce", "af", "lf", "uf", "cf", "pf", "mf", "Cu", "kn", "ei", "zh", "YS", "dY", "FD", "hY", "kc", "vu", "sl", "il", "ff", "df", "kb", "hf", "Iu", "gf", "xf", "gY", "yf", "ZS", "JS", "Ac", "_c", "ul", "bf", "Ec", "wf", "ll", "Cf", "xY", "_b", "$c", "vf", "Dc", "If", "Sf", "Tf", "Nf", "kf", "_f", "Ef", "Af", "$f", "cl", "Df", "Rf", "Ff", "Of", "Pf", "Lf", "Bh", "yY", "Mf", "zf", "Bf", "Vf", "Vh", "bY", "wY", "CY", "Gf", "Wf", "vY", "Uf", "Fb", "OD", "Eb", "Hf", "qf", "Ab", "Kf", "jf", "$b", "Xf", "Yf", "Db", "Zf", "Jf", "Rb", "Qf", "td", "Ob", "ed", "IY", "SY", "rd", "H7", "j7", "O7", "P7", "M7", "z7", "G7", "q7", "W7", "U7", "K7", "X7", "B7", "V7", "L7", "Z7", "Y7", "J7", "Pb", "UD", "Q7", "eZ", "eo", "HD", "rT", "zb", "I", "wr", "yn", "Bb", "qD", "_o", "Gh", "ri", "nT", "sZ", "oT", "iZ", "sT", "aZ", "iT", "lZ", "aT", "uZ", "lT", "cZ", "uT", "pZ", "cT", "mZ", "pT", "fZ", "mT", "dZ", "fT", "hZ", "dT", "gZ", "hT", "xZ", "gT", "yZ", "xT", "bZ", "yT", "wZ", "bT", "CZ", "wT", "vZ", "CT", "IZ", "Wh", "Vb", "jb", "Wb", "Kb", "Gb", "Yb", "qb", "Xb", "Ub", "Hb", "KD", "vT", "SZ", "jD", "XD", "Zb", "ue", "YD", "ZD", "Vn", "JD", "nd", "Jb", "Qb", "pl", "QD", "tR", "eR", "rR", "nR", "oR", "sR", "iR", "IT", "aR", "lR", "uR", "tw", "cR", "pR", "mR", "fR", "dR", "hR", "gR", "xR", "yR", "bR", "wR", "ST", "Uh", "TT", "NT", "KZ", "jZ", "CR", "UZ", "HZ", "qZ", "Rc", "ew", "XZ", "YZ", "QZ", "id", "ni", "pd", "sd", "md", "DR", "LR", "MR", "zR", "VR", "KT", "BR", "RR", "$R", "_R", "IR", "rw", "Su", "SR", "_T", "TR", "nw", "NR", "tJ", "kR", "eJ", "od", "Fc", "VT", "ET", "qh", "AT", "ER", "sw", "AR", "ml", "zT", "Qe", "LT", "OT", "PT", "ow", "MT", "FT", "RT", "DT", "iw", "BT", "$T", "Oc", "En", "rJ", "nJ", "aw", "Kh", "FR", "lw", "GT", "OR", "ad", "ld", "ud", "jh", "WT", "UT", "uw", "HT", "qT", "cd", "PR", "oJ", "cw", "nt", "sJ", "Tu", "Sw", "YT", "hd", "mw", "XT", "ZT", "Pc", "JT", "tN", "rN", "nN", "fw", "dw", "sN", "oN", "aN", "iN", "hw", "lN", "gw", "uN", "cN", "Xh", "pN", "mN", "fN", "xw", "Mc", "dN", "fl", "hF", "jT", "zc", "yw", "bw", "yd", "yF", "gN", "ww", "Bc", "Vc", "Gc", "yN", "Cw", "vw", "gd", "Iw", "iJ", "WR", "re", "Cr", "UR", "fd", "Ur", "HR", "Eo", "qR", "Ao", "KR", "ie", "dd", "aJ", "Qi", "jR", "bn", "Et", "$o", "lJ", "XR", "QT", "YR", "eN", "ZR", "uJ", "JR", "cJ", "QR", "pJ", "tF", "mJ", "eF", "fJ", "rF", "dJ", "nF", "hJ", "oF", "gJ", "sF", "xJ", "iF", "yJ", "Lc", "aF", "bJ", "lF", "wJ", "uF", "Ue", "cF", "CJ", "pF", "Do", "xd", "fF", "mF", "vJ", "dF", "hN", "gF", "Ro", "xF", "IJ", "bF", "SJ", "wF", "xN", "TJ", "NJ", "Yh", "CF", "Zh", "vF", "bN", "IF", "wN", "SF", "_J", "CN", "TF", "vN", "NF", "IN", "kF", "Wc", "Jt", "_F", "SN", "EF", "EJ", "AF", "AJ", "$F", "$J", "DF", "DJ", "RF", "RJ", "FF", "FJ", "OF", "OJ", "PF", "PJ", "LF", "LJ", "MF", "MJ", "zF", "zJ", "BF", "BJ", "VJ", "VF", "GJ", "GF", "bd", "Tw", "Nw", "WF", "WJ", "UF", "UJ", "HF", "HJ", "qF", "qJ", "KF", "KJ", "jF", "jJ", "XF", "XJ", "YF", "YJ", "ZF", "ZJ", "JF", "JJ", "QF", "ta", "tO", "Nu", "eO", "TN", "rO", "QJ", "nO", "t9", "oO", "e9", "sO", "r9", "iO", "n9", "aO", "o9", "lO", "s9", "uO", "i9", "cO", "a9", "pO", "l9", "mO", "u9", "fO", "c9", "dO", "NN", "hO", "p9", "gO", "m9", "xO", "f9", "yO", "bO", "wO", "CO", "dl", "vO", "d9", "IO", "h9", "SO", "g9", "x9", "y9", "b9", "w9", "C9", "v9", "TO", "wd", "NO", "I9", "Jh", "Qh", "kw", "S9", "T9", "kN", "N9", "k9", "kO", "tg", "_9", "_O", "EO", "E9", "A9", "AO", "$9", "$O", "D9", "DO", "R9", "RO", "F9", "FO", "O9", "OO", "P9", "PO", "L9", "LO", "M9", "MO", "z9", "zO", "B9", "BO", "V9", "G9", "VO", "W9", "GO", "U9", "H9", "WO", "q9", "UO", "K9", "HO", "_N", "qO", "j9", "KO", "X9", "jO", "Y9", "XO", "Z9", "YO", "ZO", "JO", "J9", "QO", "Q9", "tP", "tQ", "eP", "eQ", "rQ", "rP", "oP", "EN", "nP", "nQ", "sP", "oQ", "sQ", "iP", "iQ", "aQ", "aP", "lQ", "uQ", "lP", "cQ", "uP", "eg", "cP", "pP", "mP", "AN", "fP", "pQ", "_w", "mQ", "fQ", "dP", "dQ", "hP", "hQ", "gP", "gQ", "xP", "xQ", "yP", "yQ", "bP", "bQ", "wP", "wQ", "CP", "CQ", "vP", "IP", "vQ", "SP", "IQ", "TP", "SQ", "TQ", "NP", "NQ", "kP", "kQ", "_P", "_Q", "EQ", "AQ", "EP", "$Q", "AP", "DQ", "$P", "RQ", "DP", "FQ", "RP", "OQ", "FP", "PQ", "OP", "LQ", "PP", "MQ", "LP", "zQ", "MP", "BQ", "zP", "VQ", "BP", "GQ", "VP", "GP", "WQ", "WP", "UQ", "UP", "HQ", "HP", "qQ", "qP", "KQ", "KP", "jQ", "jP", "XQ", "XP", "YQ", "YP", "ZQ", "ZP", "JQ", "JP", "ntt", "ott", "QP", "QQ", "ttt", "rtt", "ett", "rg", "stt", "tL", "itt", "eL", "att", "rL", "ltt", "oi", "xtt", "ig", "qN", "iL", "Fw", "Ct", "FN", "PN", "WN", "LN", "BN", "zN", "VN", "ON", "gl", "Cd", "aL", "XN", "htt", "HN", "UN", "xl", "ag", "KN", "YN", "sL", "jN", "Wn", "ZN", "JN", "_u", "QN", "Pw", "MN", "Rw", "ytt", "btt", "Ow", "gtt", "vd", "sg", "GN", "Uc", "Ew", "Gn", "ctt", "utt", "ku", "Hr", "Fr", "Hc", "nL", "ng", "ea", "oL", "og", "ptt", "mtt", "ftt", "hl", "dtt", "lL", "Aw", "$w", "Dw", "RN", "wtt", "Dt", "He", "si", "qc", "Ctt", "uL", "Sd", "Td", "Lw", "cL", "pL", "Mw", "vtt", "Ttt", "_tt", "Itt", "ktt", "Stt", "Ntt", "Dtt", "kd", "Utt", "qtt", "jtt", "Ytt", "Jtt", "Qtt", "tet", "mL", "Wtt", "Htt", "Ktt", "Xtt", "Ztt", "eet", "ret", "fL", "Rtt", "Vtt", "Ott", "Ltt", "Ftt", "Gtt", "Ptt", "Mtt", "ztt", "Btt", "Ett", "Att", "$tt", "Kc", "_d", "Ed", "Ad", "Wt", "hL", "tk", "dL", "gL", "xL", "ve", "zw", "Bw", "Vw", "Gw", "Ww", "Uw", "uk", "mk", "sk", "lk", "ok", "nk", "ak", "ik", "rk", "ek", "dk", "fk", "gk", "hk", "qw", "Xw", "Hw", "jw", "Kw", "ck", "pk", "lg", "set", "yL", "Yw", "bL", "wL", "CL", "vL", "IL", "SL", "TL", "NL", "kL", "_L", "EL", "AL", "$L", "DL", "RL", "FL", "OL", "PL", "LL", "ML", "zL", "BL", "VL", "GL", "WL", "UL", "HL", "qL", "Zw", "KL", "jL", "XL", "Jw", "YL", "ZL", "JL", "QL", "tM", "eM", "rM", "nM", "Xc", "oM", "yk", "tr", "sM", "Qw", "$d", "iet", "tC", "aM", "lM", "iM", "aet", "uet", "cet", "Zr", "fr", "uM", "bk", "cM", "pM", "mM", "Yc", "fM", "hM", "gM", "xM", "yM", "bM", "ro", "eC", "met", "fet", "det", "rC", "het", "get", "xet", "yet", "bet", "nC", "no", "Au", "Fo", "er", "vM", "An", "IM", "wk", "Ck", "wet", "SM", "vk", "Ik", "Cet", "TM", "Oo", "NM", "kM", "It", "ce", "yl", "Dd", "Sk", "ug", "_M", "cg", "EM", "AM", "lt", "$M", "pg", "oC", "Iet", "Un", "sC", "Tet", "iC", "$u", "DM", "Zc", "RM", "Le", "FM", "Tk", "Jc", "Net", "OM", "PM", "ket", "LM", "_et", "Eet", "MM", "Aet", "$et", "zM", "BM", "Det", "VM", "aC", "lC", "uC", "GM", "Ret", "WM", "Fet", "UM", "cC", "pC", "HM", "qM", "mC", "Oet", "KM", "Pet", "jM", "Let", "Met", "XM", "zet", "Bet", "YM", "Vet", "Get", "ZM", "Wet", "Uet", "Het", "JM", "qet", "Ket", "QM", "ii", "Du", "jet", "tz", "Xet", "ez", "fC", "dC", "Yet", "rz", "Zet", "nz", "Jet", "oz", "hC", "gC", "Qet", "sz", "xC", "trt", "Nk", "yC", "ert", "ai", "iz", "rrt", "az", "nrt", "lz", "ort", "uz", "srt", "kk", "cz", "bl", "pz", "irt", "mz", "_k", "fz", "dz", "art", "hz", "bC", "wC", "lrt", "gz", "CC", "xz", "urt", "yz", "vC", "SC", "IC", "Qc", "bz", "Rd", "crt", "Ek", "wz", "Fd", "TC", "Od", "NC", "kC", "_C", "EC", "prt", "Cz", "AC", "$C", "DC", "RC", "mrt", "vz", "frt", "Iz", "drt", "Sz", "hrt", "Tz", "grt", "Nz", "xrt", "yrt", "kz", "brt", "wrt", "_z", "FC", "Crt", "Ez", "tp", "mg", "Az", "$z", "OC", "vrt", "Dz", "Irt", "Rz", "Srt", "Fz", "PC", "Trt", "Oz", "Pd", "Ld", "Nrt", "Pz", "LC", "MC", "krt", "Lz", "_rt", "Mz", "zC", "Ert", "zz", "BC", "Art", "Bz", "$rt", "Vz", "Drt", "Rrt", "Frt", "Gz", "Ort", "Prt", "Lrt", "Wz", "Mrt", "zrt", "Brt", "Uz", "Vrt", "Grt", "Hz", "Wrt", "Urt", "Ak", "qz", "VC", "Kz", "jz", "Hrt", "Xz", "fg", "GC", "qrt", "Yz", "WC", "wl", "Zz", "UC", "Jz", "Qz", "Krt", "t3", "jrt", "Xrt", "Yrt", "e3", "HC", "qC", "r3", "Zrt", "Md", "$k", "Jrt", "n3", "Qrt", "o3", "KC", "tnt", "s3", "jC", "ent", "Dk", "i3", "rnt", "nnt", "ont", "a3", "snt", "int", "ant", "l3", "lnt", "u3", "unt", "cnt", "c3", "pnt", "mnt", "p3", "fnt", "dnt", "m3", "hnt", "gnt", "xnt", "f3", "ynt", "bnt", "wnt", "d3", "Cnt", "h3", "vnt", "Int", "Snt", "g3", "Tnt", "Nnt", "x3", "knt", "_nt", "Ent", "y3", "Ant", "$nt", "b3", "Dnt", "Rnt", "Fnt", "w3", "XC", "YC", "Ont", "C3", "ZC", "Pnt", "v3", "I3", "Rk", "S3", "Lnt", "Mnt", "znt", "T3", "Bnt", "N3", "Vnt", "k3", "JC", "QC", "Gnt", "_3", "Wnt", "E3", "A3", "$3", "D3", "R3", "Unt", "F3", "Hnt", "qnt", "Knt", "O3", "tv", "ev", "jnt", "P3", "Xnt", "Ynt", "Znt", "L3", "rv", "Jnt", "Qnt", "Fk", "M3", "z3", "Ok", "B3", "Pk", "V3", "tot", "G3", "eot", "rot", "not", "W3", "oot", "sot", "U3", "iot", "aot", "H3", "lot", "uot", "q3", "nv", "cot", "K3", "dg", "j3", "X3", "Y3", "pot", "Z3", "ov", "sv", "Lk", "J3", "mot", "fot", "dot", "Q3", "hot", "tB", "got", "eB", "Mk", "rB", "xot", "yot", "nB", "bot", "wot", "Cot", "oB", "vot", "Iot", "Sot", "sB", "iv", "av", "Tot", "iB", "lv", "Not", "aB", "uv", "cv", "kot", "lB", "pv", "_ot", "uB", "mv", "fv", "Eot", "cB", "dv", "pB", "Aot", "$ot", "mB", "Dot", "Rot", "fB", "zd", "Fot", "dB", "hv", "Oot", "hB", "gv", "Pot", "gB", "Lot", "Mot", "xB", "zot", "Bot", "Vot", "yB", "Got", "Wot", "bB", "Uot", "Hot", "wB", "qot", "Kot", "CB", "jot", "Xot", "vB", "Yot", "IB", "Zot", "SB", "Jot", "TB", "Qot", "NB", "tst", "kB", "est", "_B", "rst", "EB", "AB", "nst", "$B", "ost", "sst", "DB", "RB", "ist", "FB", "ast", "OB", "xv", "lst", "PB", "ust", "LB", "cst", "MB", "pst", "zB", "mst", "fst", "BB", "dst", "hst", "VB", "yv", "gst", "zk", "GB", "bv", "wv", "ep", "WB", "xst", "UB", "Cv", "yst", "HB", "bst", "qB", "wst", "KB", "vv", "Cst", "jB", "vst", "Zt", "Ru", "XB", "Ist", "Sst", "YB", "ae", "ZB", "pe", "Tst", "JB", "QB", "Nst", "kst", "tV", "rp", "eV", "rV", "_st", "oo", "Ast", "Est", "nV", "wn", "oV", "$st", "Dst", "sV", "iV", "Rst", "Fst", "aV", "lV", "Ost", "Pst", "uV", "cV", "Lst", "Mst", "pV", "lr", "mV", "fV", "zst", "Bst", "dV", "Po", "Vst", "Gst", "Wst", "hV", "Ust", "gV", "li", "xV", "yV", "bV", "Hst", "qst", "wV", "Bk", "CV", "vV", "Kst", "jst", "IV", "SV", "Xst", "Yst", "TV", "NV", "kV", "Vk", "_V", "Zst", "Jst", "EV", "AV", "Qst", "tit", "$V", "DV", "eit", "rit", "RV", "FV", "nit", "oit", "OV", "PV", "sit", "iit", "LV", "MV", "ait", "zV", "BV", "Iv", "VV", "Gk", "GV", "WV", "lit", "uit", "UV", "HV", "cit", "qV", "KV", "pit", "mit", "jV", "XV", "fit", "dit", "YV", "ZV", "hit", "git", "JV", "QV", "xit", "yit", "tG", "eG", "bit", "wit", "rG", "Cit", "nG", "vit", "oG", "sG", "Iit", "Sit", "iG", "Tit", "aG", "Nit", "lG", "uG", "kit", "cG", "pG", "_it", "mG", "Eit", "fG", "dG", "Ait", "$it", "hG", "Dit", "gG", "xG", "Rit", "Fit", "yG", "bG", "Oit", "Pit", "wG", "CG", "Lit", "Mit", "vG", "zit", "IG", "Wk", "SG", "Bit", "Vit", "TG", "Git", "NG", "kG", "Bd", "_G", "Wit", "Uit", "EG", "AG", "Hit", "qit", "$G", "DG", "Kit", "jit", "RG", "Xit", "FG", "OG", "Yit", "Zit", "PG", "Jit", "LG", "Qit", "MG", "zG", "tat", "eat", "Sv", "rat", "BG", "VG", "nat", "oat", "GG", "WG", "sat", "iat", "UG", "aat", "HG", "lat", "qG", "KG", "jG", "XG", "uat", "cat", "YG", "ZG", "pat", "mat", "JG", "QG", "fat", "dat", "tW", "eW", "hat", "gat", "rW", "nW", "oW", "sW", "xat", "yat", "iW", "aW", "bat", "wat", "lW", "uW", "Cat", "vat", "cW", "pW", "mW", "Iat", "Sat", "fW", "Tat", "dW", "hW", "Nat", "kat", "gW", "xW", "_at", "Eat", "yW", "bW", "Tv", "Nv", "Aat", "wW", "$at", "CW", "Dat", "vW", "IW", "SW", "Rat", "TW", "NW", "Fat", "Oat", "kW", "_W", "Pat", "Lat", "EW", "Mat", "AW", "zat", "$W", "Bat", "DW", "Vat", "RW", "FW", "Gat", "Wat", "OW", "PW", "LW", "MW", "Uat", "Hat", "zW", "BW", "qat", "Kat", "VW", "GW", "jat", "Xat", "WW", "Yat", "UW", "Zat", "HW", "Jat", "Uk", "Yk", "eU", "Zk", "QW", "Qat", "nU", "Xk", "elt", "tlt", "tU", "Ev", "xg", "rU", "gg", "Jk", "yg", "rlt", "llt", "ult", "clt", "plt", "mlt", "flt", "dlt", "hlt", "glt", "draw_exports", "__export", "AnchorPosition", "DrawBox", "DrawBoxOptions", "DrawFaceLandmarks", "DrawFaceLandmarksOptions", "DrawTextField", "DrawTextFieldOptions", "drawContour", "drawDetections", "drawFaceExpressions", "drawFaceLandmarks", "drawContour", "ctx", "points", "isClosed", "x", "y", "prevIdx", "from", "to", "utils_exports", "__export", "computeReshapedDimensions", "getCenterPoint", "isDimensions", "isEven", "isFloat", "isTensor", "isTensor1D", "isTensor2D", "isTensor3D", "isTensor4D", "isValidNumber", "isValidProbablitiy", "range", "round", "Dimensions", "width", "height", "isValidNumber", "isTensor", "tensor", "dim", "Lt", "isTensor1D", "isTensor2D", "isTensor3D", "isTensor4D", "isFloat", "num", "isEven", "round", "prec", "f", "isDimensions", "obj", "computeReshapedDimensions", "width", "height", "inputSize", "scale", "Dimensions", "getCenterPoint", "pts", "sum", "pt", "Point", "range", "start", "step", "_", "i", "isValidNumber", "isValidProbablitiy", "Point", "x", "y", "pt", "Box", "rect", "isValidNumber", "box", "callee", "allowNegativeDimensions", "_box", "isBbox", "isRect", "x", "y", "width", "height", "Point", "val", "diff", "s", "scaleX", "isDimensions", "scaleY", "padX", "padY", "imgWidth", "imgHeight", "right", "bottom", "clippedX", "clippedY", "newWidth", "newHeight", "clippedWidth", "clippedHeight", "sx", "sy", "imageHeight", "imageWidth", "w", "h", "dx", "dy", "edx", "edy", "ex", "ey", "region", "BoundingBox", "Box", "left", "top", "right", "bottom", "allowNegativeDimensions", "ObjectDetection", "score", "classScore", "className", "relativeBox", "imageDims", "Dimensions", "Box", "width", "height", "FaceDetection", "ObjectDetection", "score", "relativeBox", "imageDims", "width", "height", "iou", "box1", "box2", "isIOU", "width", "height", "interSection", "minBbox", "pts", "xs", "pt", "ys", "minX", "min", "x", "minY", "y", "maxX", "max", "maxY", "BoundingBox", "nonMaxSuppression", "boxes", "scores", "iouThreshold", "isIOU", "indicesSortedByScore", "score", "boxIndex", "c1", "c2", "c", "pick", "curr", "indices", "outputs", "i", "idx", "currBox", "idxBox", "iou", "_", "j", "normalize", "x", "meanRgb", "G", "r", "g", "b", "avg_r", "Vi", "avg_g", "avg_b", "avg_rgb", "se", "ut", "padToSquare", "imgTensor", "isCenterImage", "G", "height", "width", "dimDiff", "paddingAmount", "paddingAxis", "createPaddingTensor", "paddingAmountLocal", "paddingTensorShape", "Vi", "paddingTensorAppend", "remainingPaddingAmount", "tensorsToStack", "t", "tt", "se", "shuffleArray", "inputArray", "array", "i", "j", "x", "sigmoid", "x", "inverseSigmoid", "Rect", "Box", "x", "y", "width", "height", "allowNegativeDimensions", "relX", "relY", "relScale", "FaceLandmarks", "relativeFaceLandmarkPositions", "imgDims", "shift", "Point", "width", "height", "Dimensions", "pt", "x", "y", "detection", "options", "box", "FaceDetection", "Box", "useDlibAlignment", "minBoxPadding", "centers", "leftEyeCenter", "rightEyeCenter", "mouthCenter", "distToMouth", "eyeToMouthDist", "size", "refPoint", "getCenterPoint", "Rect", "padding", "minBbox", "FaceLandmarks5", "FaceLandmarks", "pts", "getCenterPoint", "FaceLandmarks68", "FaceLandmarks", "getCenterPoint", "FaceMatch", "label", "distance", "withDistance", "round", "LabeledBox", "Box", "box", "label", "callee", "isValidNumber", "LabeledFaceDescriptors", "label", "descriptors", "desc", "d", "json", "PredictedBox", "LabeledBox", "box", "label", "score", "classScore", "callee", "isValidProbablitiy", "isWithFaceDetection", "obj", "FaceDetection", "extendWithFaceDetection", "sourceObj", "detection", "createBrowserEnv", "fetch", "isNodejs", "createFileSystem", "fs", "requireFsError", "isNodejs", "err", "filePath", "resolve", "reject", "buffer", "createNodejsEnv", "Canvas", "Image", "Video", "createCanvasElement", "createImageElement", "createVideoElement", "fetch", "fileSystem", "createFileSystem", "isBrowser", "environment", "getEnv", "setEnv", "env", "initialize", "isBrowser", "createBrowserEnv", "isNodejs", "createNodejsEnv", "monkeyPatch", "Canvas", "Image", "createFileSystem", "resolveInput", "arg", "env", "getContext2dOrThrow", "canvasArg", "Canvas", "CanvasRenderingContext2D", "env", "canvas", "resolveInput", "ctx", "AnchorPosition", "DrawTextFieldOptions", "options", "anchorPosition", "backgroundColor", "fontColor", "fontSize", "fontStyle", "padding", "DrawTextField", "text", "anchor", "ctx", "l", "w0", "w1", "canvasDims", "isShiftLeft", "isShiftTop", "textFieldWidth", "textFieldHeight", "x", "y", "width", "height", "newX", "newY", "canvasArg", "canvas", "resolveInput", "getContext2dOrThrow", "maxTextWidth", "textHeight", "upperLeft", "textLine", "i", "DrawBoxOptions", "options", "boxColor", "lineWidth", "label", "drawLabelOptions", "defaultDrawLabelOptions", "DrawTextFieldOptions", "DrawBox", "box", "Box", "canvasArg", "ctx", "getContext2dOrThrow", "x", "y", "width", "height", "DrawTextField", "drawDetections", "canvasArg", "detections", "det", "score", "FaceDetection", "isWithFaceDetection", "box", "Box", "label", "round", "DrawBox", "isMediaLoaded", "media", "Image", "Video", "env", "awaitMediaLoaded", "media", "resolve", "reject", "env", "isMediaLoaded", "onError", "e", "onLoad", "bufferToImage", "buf", "resolve", "reject", "reader", "img", "env", "getMediaDimensions", "input", "Image", "Video", "env", "Dimensions", "createCanvas", "width", "height", "createCanvasElement", "env", "canvas", "createCanvasFromMedia", "media", "dims", "ImageData", "isMediaLoaded", "getMediaDimensions", "getContext2dOrThrow", "imageTensorToCanvas", "imgTensor", "canvas", "targetCanvas", "env", "height", "width", "numChannels", "isTensor4D", "imgTensor3D", "G", "xx", "isMediaElement", "input", "Image", "Canvas", "Video", "env", "imageToSquare", "input", "inputSize", "centerImage", "Image", "Canvas", "env", "createCanvas", "dims", "getMediaDimensions", "scale", "width", "height", "targetCanvas", "inputCanvas", "createCanvasFromMedia", "offset", "dx", "dy", "getContext2dOrThrow", "NetInput", "inputs", "treatAsBatchInput", "input", "idx", "isTensor3D", "isTensor4D", "batchSize", "canvas", "env", "createCanvasFromMedia", "range", "_", "batchIdx", "width", "height", "computeReshapedDimensions", "inputSize", "isCenterInputs", "G", "inputTensors", "Lt", "imgTensor", "yr", "padToSquare", "uu", "xx", "imageToSquare", "sr", "t", "tt", "toNetInput", "inputs", "NetInput", "inputArgArray", "getIdxHint", "idx", "inputArray", "resolveInput", "input", "i", "isMediaElement", "isTensor3D", "isTensor4D", "batchSize", "awaitMediaLoaded", "extractFaces", "input", "detections", "Canvas", "env", "canvas", "netInput", "toNetInput", "tensorOrCanvas", "imageTensorToCanvas", "ctx", "getContext2dOrThrow", "det", "FaceDetection", "box", "x", "y", "width", "height", "faceImg", "createCanvas", "extractFaceTensors", "imageTensor", "detections", "isTensor3D", "isTensor4D", "G", "imgHeight", "imgWidth", "numChannels", "det", "FaceDetection", "box", "x", "y", "width", "height", "Em", "fetchOrThrow", "url", "init", "fetch", "env", "res", "fetchImage", "uri", "res", "fetchOrThrow", "blob", "bufferToImage", "fetchJson", "uri", "fetchOrThrow", "fetchNetWeights", "uri", "fetchOrThrow", "bufferToVideo", "buf", "resolve", "reject", "video", "env", "fetchVideo", "uri", "res", "fetchOrThrow", "blob", "bufferToVideo", "getModelUris", "uri", "defaultModelName", "defaultManifestFilename", "protocol", "parts", "s", "manifestFile", "modelBaseUri", "loadWeightMap", "uri", "defaultModelName", "manifestUri", "modelBaseUri", "getModelUris", "manifest", "fetchJson", "vn", "matchDimensions", "input", "reference", "useMediaDimensions", "width", "height", "getMediaDimensions", "NeuralNetwork", "name", "paramPath", "obj", "objProp", "tensor", "param", "Ka", "path", "variable", "vr", "throwOnRedispose", "flat", "arr", "weightsOrUrl", "uri", "weightMap", "loadWeightMap", "filePath", "readFile", "env", "manifestUri", "modelBaseUri", "getModelUris", "fetchWeightsFromDisk", "filePaths", "fp", "buf", "loadWeights", "vn", "manifest", "paramMappings", "params", "weights", "result", "res", "Lt", "depthwiseSeparableConv", "x", "params", "stride", "G", "out", "Tm", "J", "denseBlock3", "x", "denseBlockParams", "isFirstLayer", "G", "out1", "Rr", "J", "Sn", "depthwiseSeparableConv", "out2", "in3", "out3", "denseBlock4", "isScaleDown", "in4", "out4", "convLayer", "x", "params", "padding", "withRelu", "G", "out", "J", "Sn", "Rr", "disposeUnusedWeightTensors", "weightMap", "paramMappings", "path", "pm", "extractConvParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "filterSize", "mappedPrefix", "filters", "HE", "bias", "Ve", "extractFCParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "mappedPrefix", "fc_weights", "Ks", "fc_bias", "Ve", "SeparableConvParams", "depthwise_filter", "pointwise_filter", "bias", "extractSeparableConvParamsFactory", "extractWeights", "paramMappings", "channelsIn", "channelsOut", "mappedPrefix", "depthwise_filter", "HE", "pointwise_filter", "bias", "Ve", "SeparableConvParams", "loadSeparableConvParamsFactory", "extractWeightEntry", "prefix", "extractWeightEntryFactory", "weightMap", "paramMappings", "originalPath", "paramRank", "mappedPath", "tensor", "isTensor", "extractWeightsFactory", "weights", "remainingWeights", "extractWeights", "numWeights", "ret", "getRemainingWeights", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractDenseBlock3Params", "channelsIn", "channelsOut", "mappedPrefix", "isFirstLayer", "conv0", "conv1", "conv2", "extractDenseBlock4Params", "conv3", "extractParams", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractDenseBlock4Params", "extractorsFactory", "dense0", "dense1", "dense2", "dense3", "loadConvParamsFactory", "extractWeightEntry", "prefix", "filters", "bias", "loadParamsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractConvParams", "loadConvParamsFactory", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractDenseBlock3Params", "prefix", "isFirstLayer", "conv0", "conv1", "conv2", "extractDenseBlock4Params", "conv3", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractDenseBlock4Params", "loadParamsFactory", "params", "disposeUnusedWeightTensors", "FaceFeatureExtractor", "NeuralNetwork", "input", "params", "G", "batchTensor", "tt", "normalized", "normalize", "out", "denseBlock4", "Xl", "toNetInput", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "fullyConnectedLayer", "x", "params", "G", "J", "Gt", "extractParams", "weights", "channelsIn", "channelsOut", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "fc", "extractFCParamsFactory", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractFcParams", "prefix", "weights", "bias", "params", "disposeUnusedWeightTensors", "seperateWeightMaps", "weightMap", "featureExtractorMap", "classifierMap", "key", "map", "FaceProcessor", "NeuralNetwork", "_name", "faceFeatureExtractor", "input", "params", "G", "bottleneckFeatures", "NetInput", "fullyConnectedLayer", "throwOnRedispose", "weights", "paramMappings", "extractParams", "weightMap", "featureExtractorMap", "classifierMap", "seperateWeightMaps", "extractParamsFromWeightMap", "cIn", "cOut", "classifierWeightSize", "featureExtractorWeights", "classifierWeights", "FACE_EXPRESSION_LABELS", "FaceExpressions", "probabilities", "expression", "idx", "e0", "e1", "FaceExpressionNet", "FaceProcessor", "faceFeatureExtractor", "FaceFeatureExtractor", "input", "G", "su", "toNetInput", "netInput", "out", "probabilitesByBatch", "Tr", "t", "data", "predictionsByBatch", "probabilites", "FaceExpressions", "isWithFaceExpressions", "obj", "FaceExpressions", "extendWithFaceExpressions", "sourceObj", "expressions", "drawFaceExpressions", "canvasArg", "faceExpressions", "minConfidence", "textFieldAnchor", "e", "expr", "FaceExpressions", "isWithFaceExpressions", "resultsToDisplay", "exprLocal", "anchor", "isWithFaceDetection", "Point", "DrawTextField", "round", "isWithFaceLandmarks", "obj", "isWithFaceDetection", "FaceLandmarks", "FaceDetection", "calculateFaceAngle", "mesh", "radians", "a1", "a2", "b1", "b2", "degrees", "theta", "angle", "pt", "bottom", "prev", "cur", "top", "extendWithFaceLandmarks", "sourceObj", "unshiftedLandmarks", "shift", "landmarks", "rect", "imageDims", "alignedRect", "DrawFaceLandmarksOptions", "options", "drawLines", "drawPoints", "lineWidth", "lineColor", "pointSize", "pointColor", "DrawFaceLandmarks", "faceLandmarks", "canvasArg", "ctx", "getContext2dOrThrow", "FaceLandmarks68", "drawContour", "drawPoint", "pt", "drawFaceLandmarks", "f", "landmarks", "FaceLandmarks", "isWithFaceLandmarks", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractReductionBlockParams", "channelsIn", "channelsOut", "mappedPrefix", "separable_conv0", "separable_conv1", "expansion_conv", "extractMainBlockParams", "channels", "separable_conv2", "extractParams", "weights", "numMainBlocks", "getRemainingWeights", "extractWeightsFactory", "entry_flow_conv_in", "entry_flow_reduction_block_0", "entry_flow_reduction_block_1", "entry_flow", "middle_flow", "range", "idx", "exit_flow_reduction_block", "exit_flow_separable_conv", "exit_flow", "loadParamsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractConvParams", "loadConvParamsFactory", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractReductionBlockParams", "mappedPrefix", "separable_conv0", "separable_conv1", "expansion_conv", "extractMainBlockParams", "separable_conv2", "extractParamsFromWeightMap", "numMainBlocks", "entry_flow_conv_in", "entry_flow_reduction_block_0", "entry_flow_reduction_block_1", "entry_flow", "middle_flow", "range", "idx", "exit_flow_reduction_block", "exit_flow_separable_conv", "exit_flow", "disposeUnusedWeightTensors", "conv", "x", "params", "stride", "J", "Sn", "reductionBlock", "isActivateInput", "out", "Rr", "depthwiseSeparableConv", "eu", "mainBlock", "TinyXception", "NeuralNetwork", "numMainBlocks", "input", "G", "batchTensor", "tt", "normalized", "normalize", "range", "idx", "toNetInput", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "extractParams", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractFCParams", "extractFCParamsFactory", "age", "gender", "extractParamsFromWeightMap", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractFcParams", "prefix", "weights", "bias", "params", "disposeUnusedWeightTensors", "Gender", "AgeGenderNet", "NeuralNetwork", "faceFeatureExtractor", "TinyXception", "input", "params", "G", "bottleneckFeatures", "NetInput", "pooled", "Xl", "age", "fullyConnectedLayer", "gender", "su", "toNetInput", "netInput", "out", "ages", "Tr", "genders", "ageAndGenderTensors", "ageTensor", "i", "predictionsByBatch", "genderTensor", "probMale", "isMale", "genderProbability", "throwOnRedispose", "weights", "paramMappings", "extractParams", "weightMap", "featureExtractorMap", "classifierMap", "seperateWeightMaps", "extractParamsFromWeightMap", "featureExtractorWeights", "classifierWeights", "FaceLandmark68NetBase", "FaceProcessor", "output", "inputSize", "originalDimensions", "inputDimensions", "width", "height", "scale", "batchSize", "G", "createInterleavedTensor", "fillX", "fillY", "sr", "Vi", "getPadding", "batchIdx", "cond", "getPaddingX", "w", "getPaddingY", "_", "input", "out", "toNetInput", "netInput", "landmarkTensors", "Tr", "landmarksForBatch", "landmarkTensor", "landmarksArray", "xCoords", "i", "isEven", "yCoords", "FaceLandmarks68", "Point", "t", "FaceLandmark68Net", "FaceLandmark68NetBase", "faceFeatureExtractor", "FaceFeatureExtractor", "extractParamsFromWeightMapTiny", "weightMap", "paramMappings", "extractDenseBlock3Params", "loadParamsFactory", "params", "disposeUnusedWeightTensors", "extractParamsTiny", "weights", "paramMappings", "extractWeights", "getRemainingWeights", "extractWeightsFactory", "extractDenseBlock3Params", "extractorsFactory", "dense0", "dense1", "dense2", "TinyFaceFeatureExtractor", "NeuralNetwork", "input", "params", "G", "batchTensor", "tt", "normalized", "normalize", "out", "denseBlock3", "Xl", "toNetInput", "weightMap", "extractParamsFromWeightMapTiny", "weights", "extractParamsTiny", "FaceLandmark68TinyNet", "FaceLandmark68NetBase", "faceFeatureExtractor", "TinyFaceFeatureExtractor", "FaceLandmarkNet", "FaceLandmark68Net", "scale", "x", "params", "J", "O", "convLayer", "x", "params", "strides", "withRelu", "padding", "filters", "bias", "out", "Sn", "J", "scale", "Rr", "conv", "convNoRelu", "convDown", "extractorsFactory", "extractWeights", "paramMappings", "extractFilterValues", "numFilterValues", "numFilters", "filterSize", "weights", "depth", "isFloat", "G", "Mt", "HE", "extractConvParams", "mappedPrefix", "filters", "bias", "Ve", "extractScaleLayerParams", "numWeights", "biases", "extractConvLayerParams", "conv", "scale", "extractResidualLayerParams", "isDown", "conv1", "conv2", "extractParams", "getRemainingWeights", "extractWeightsFactory", "conv32_down", "conv32_1", "conv32_2", "conv32_3", "conv64_down", "conv64_1", "conv64_2", "conv64_3", "conv128_down", "conv128_1", "conv128_2", "conv256_down", "conv256_1", "conv256_2", "conv256_down_out", "fc", "Ks", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractScaleLayerParams", "prefix", "weights", "biases", "extractConvLayerParams", "filters", "bias", "scale", "extractResidualLayerParams", "extractParamsFromWeightMap", "conv32_down", "conv32_1", "conv32_2", "conv32_3", "conv64_down", "conv64_1", "conv64_2", "conv64_3", "conv128_down", "conv128_1", "conv128_2", "conv256_down", "conv256_1", "conv256_2", "conv256_down_out", "fc", "isTensor2D", "params", "disposeUnusedWeightTensors", "residual", "x", "params", "out", "conv", "convNoRelu", "J", "Rr", "residualDown", "convDown", "pooled", "Xl", "zeros", "_e", "isPad", "padShapeX", "zerosW", "se", "padShapeY", "zerosH", "FaceRecognitionNet", "NeuralNetwork", "input", "params", "G", "batchTensor", "tt", "normalized", "normalize", "out", "convDown", "eu", "residual", "residualDown", "globalAvg", "Gt", "toNetInput", "_a", "dim", "netInput", "faceDescriptorTensors", "Tr", "faceDescriptorsForBatch", "t", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "createFaceRecognitionNet", "weights", "net", "FaceRecognitionNet", "extendWithFaceDescriptor", "sourceObj", "descriptor", "isWithAge", "obj", "extendWithAge", "sourceObj", "age", "isWithGender", "obj", "isValidProbablitiy", "extendWithGender", "sourceObj", "gender", "genderProbability", "extractorsFactory", "extractWeights", "paramMappings", "extractDepthwiseConvParams", "numChannels", "mappedPrefix", "filters", "HE", "batch_norm_scale", "Ve", "batch_norm_offset", "batch_norm_mean", "batch_norm_variance", "extractConvParams", "channelsIn", "channelsOut", "filterSize", "isPointwiseConv", "bias", "extractPointwiseConvParams", "extractConvPairParams", "depthwise_conv", "pointwise_conv", "extractMobilenetV1Params", "conv_0", "conv_1", "conv_2", "conv_3", "conv_4", "conv_5", "conv_6", "conv_7", "conv_8", "conv_9", "conv_10", "conv_11", "conv_12", "conv_13", "extractPredictionLayerParams", "box_encoding_0_predictor", "class_predictor_0", "box_encoding_1_predictor", "class_predictor_1", "box_encoding_2_predictor", "class_predictor_2", "box_encoding_3_predictor", "class_predictor_3", "box_encoding_4_predictor", "class_predictor_4", "box_encoding_5_predictor", "class_predictor_5", "extractParams", "weights", "getRemainingWeights", "extractWeightsFactory", "mobilenetv1", "prediction_layer", "output_layer", "gx", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractPointwiseConvParams", "prefix", "idx", "mappedPrefix", "filters", "batch_norm_offset", "extractConvPairParams", "prefixDepthwiseConv", "mappedPrefixDepthwiseConv", "mappedPrefixPointwiseConv", "batch_norm_scale", "batch_norm_mean", "batch_norm_variance", "extractMobilenetV1Params", "extractConvParams", "bias", "extractBoxPredictorParams", "box_encoding_predictor", "class_predictor", "extractPredictionLayerParams", "extractParamsFromWeightMap", "extra_dim", "isTensor3D", "params", "disposeUnusedWeightTensors", "pointwiseConvLayer", "x", "params", "strides", "G", "out", "Sn", "J", "Ir", "epsilon", "depthwiseConvLayer", "x", "params", "strides", "G", "out", "zi", "Li", "Ir", "getStridesForLayerIdx", "layerIdx", "idx", "mobileNetV1", "conv11", "pointwiseConvLayer", "param", "depthwiseConvStrides", "IOU", "boxes", "i", "j", "boxesData", "yminI", "xminI", "ymaxI", "xmaxI", "yminJ", "xminJ", "ymaxJ", "xmaxJ", "areaI", "areaJ", "intersectionYmin", "intersectionXmin", "intersectionYmax", "intersectionXmax", "intersectionArea", "nonMaxSuppression", "scores", "maxOutputSize", "iouThreshold", "scoreThreshold", "numBoxes", "outputSize", "candidates", "score", "boxIndex", "c", "c1", "c2", "suppressFunc", "x", "selected", "originalScore", "iou", "getCenterCoordinatesAndSizesLayer", "x", "vec", "Tr", "Mt", "sizes", "ut", "centers", "J", "ct", "decodeBoxesLayer", "x0", "x1", "div0_out", "O", "or", "add0_out", "div1_out", "add1_out", "sr", "outputLayer", "boxPredictions", "classPredictions", "params", "G", "batchSize", "boxes", "F", "$r", "scoresAndClasses", "Kr", "Ot", "scores", "boxesByBatch", "scoresByBatch", "boxPredictionLayer", "x", "params", "G", "batchSize", "boxPredictionEncoding", "F", "convLayer", "classPrediction", "predictionLayer", "x", "conv11", "params", "G", "conv0", "pointwiseConvLayer", "conv1", "conv2", "conv3", "conv4", "conv5", "conv6", "conv7", "boxPrediction0", "boxPredictionLayer", "boxPrediction1", "boxPrediction2", "boxPrediction3", "boxPrediction4", "boxPrediction5", "boxPredictions", "se", "classPredictions", "SsdMobilenetv1Options", "minConfidence", "maxResults", "SsdMobilenetv1", "NeuralNetwork", "input", "params", "G", "batchTensor", "tt", "x", "ut", "ct", "features", "mobileNetV1", "boxPredictions", "classPredictions", "predictionLayer", "outputLayer", "toNetInput", "options", "maxResults", "minConfidence", "SsdMobilenetv1Options", "netInput", "_boxes", "_scores", "boxes", "scores", "i", "scoresData", "indices", "nonMaxSuppression", "reshapedDims", "inputSize", "padX", "padY", "boxesData", "results", "idx", "top", "bottom", "val", "left", "right", "FaceDetection", "Rect", "weightMap", "extractParamsFromWeightMap", "weights", "extractParams", "createSsdMobilenetv1", "weights", "net", "SsdMobilenetv1", "createFaceDetectionNet", "FaceDetectionNet", "IOU_THRESHOLD", "BOX_ANCHORS", "Point", "BOX_ANCHORS_SEPARABLE", "MEAN_RGB_SEPARABLE", "DEFAULT_MODEL_NAME", "DEFAULT_MODEL_NAME_SEPARABLE_CONV", "isNumber", "arg", "validateConfig", "config", "c", "a", "leaky", "x", "G", "min", "O", "mt", "J", "Rr", "ut", "convWithBatchNorm", "x", "params", "G", "out", "cn", "Sn", "ut", "O", "J", "leaky", "depthwiseSeparableConv", "x", "params", "G", "out", "cn", "Tm", "J", "leaky", "extractorsFactory", "extractWeights", "paramMappings", "extractConvParams", "extractConvParamsFactory", "extractBatchNormParams", "size", "mappedPrefix", "sub", "Ve", "truediv", "extractConvWithBatchNormParams", "channelsIn", "channelsOut", "conv", "bn", "extractSeparableConvParams", "extractSeparableConvParamsFactory", "extractParams", "weights", "config", "boxEncodingSize", "filterSizes", "getRemainingWeights", "extractWeightsFactory", "params", "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", "s8", "conv0", "conv1", "conv2", "conv3", "conv4", "conv5", "conv6", "conv7", "conv8", "extractorsFactory", "weightMap", "paramMappings", "extractWeightEntry", "extractWeightEntryFactory", "extractBatchNormParams", "prefix", "sub", "truediv", "extractConvParams", "filters", "bias", "extractConvWithBatchNormParams", "conv", "bn", "extractSeparableConvParams", "loadSeparableConvParamsFactory", "extractParamsFromWeightMap", "config", "params", "numFilters", "disposeUnusedWeightTensors", "TinyYolov2Options", "inputSize", "scoreThreshold", "_TinyYolov2Base", "NeuralNetwork", "config", "validateConfig", "x", "params", "out", "convWithBatchNorm", "eu", "convLayer", "leaky", "depthwiseSeparableConv", "input", "inputSize", "G", "batchTensor", "tt", "normalize", "toNetInput", "forwardParams", "scoreThreshold", "TinyYolov2Options", "netInput", "out0", "Tr", "inputDimensions", "results", "boxes", "res", "scores", "classScores", "classNames", "nonMaxSuppression", "box", "idx", "ObjectDetection", "weightMap", "extractParamsFromWeightMap", "weights", "filterSizes", "numFilters", "extractParams", "outputTensor", "inputBlobDimensions", "width", "height", "correctionFactorX", "correctionFactorY", "numCells", "numBoxes", "boxesTensor", "scoresTensor", "classScoresTensor", "reshaped", "su", "mt", "scoresData", "boxesData", "row", "col", "anchor", "score", "sigmoid", "ctX", "ctY", "widthLocal", "heightLocal", "y", "pos", "classScore", "label", "BoundingBox", "classesTensor", "classesData", "_", "i", "max", "curr", "TinyYolov2Base", "TinyYolov2", "TinyYolov2Base", "withSeparableConvs", "config", "IOU_THRESHOLD", "BOX_ANCHORS_SEPARABLE", "MEAN_RGB_SEPARABLE", "BOX_ANCHORS", "input", "forwardParams", "det", "FaceDetection", "DEFAULT_MODEL_NAME_SEPARABLE_CONV", "DEFAULT_MODEL_NAME", "weightMap", "createTinyYolov2", "weights", "withSeparableConvs", "net", "TinyYolov2", "TinyFaceDetectorOptions", "TinyYolov2Options", "ComposableTask", "onfulfilled", "extractAllFacesAndComputeResults", "parentResults", "input", "computeResults", "extractedFaces", "getRectForAlignment", "alignedRect", "faceBoxes", "parentResult", "isWithFaceLandmarks", "faces", "Lt", "extractFaceTensors", "extractFaces", "results", "f", "extractSingleFaceAndComputeResult", "computeResult", "IOU_THRESHOLD", "BOX_ANCHORS", "Point", "MEAN_RGB", "TinyFaceDetector", "TinyYolov2Base", "config", "IOU_THRESHOLD", "BOX_ANCHORS", "MEAN_RGB", "input", "forwardParams", "det", "FaceDetection", "weightMap", "nets", "SsdMobilenetv1", "TinyFaceDetector", "TinyYolov2", "FaceLandmark68Net", "FaceLandmark68TinyNet", "FaceRecognitionNet", "FaceExpressionNet", "AgeGenderNet", "ssdMobilenetv1", "input", "options", "tinyFaceDetector", "tinyYolov2", "detectFaceLandmarks", "detectFaceLandmarksTiny", "computeFaceDescriptor", "recognizeFaceExpressions", "predictAgeAndGender", "loadSsdMobilenetv1Model", "url", "loadTinyFaceDetectorModel", "loadTinyYolov2Model", "loadFaceLandmarkModel", "loadFaceLandmarkTinyModel", "loadFaceRecognitionModel", "loadFaceExpressionModel", "loadAgeGenderModel", "loadFaceDetectionModel", "locateFaces", "detectLandmarks", "PredictFaceExpressionsTaskBase", "ComposableTask", "parentTask", "input", "extractedFaces", "PredictAllFaceExpressionsTask", "parentResults", "faceExpressionsByFace", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "i", "extendWithFaceExpressions", "PredictAllAgeAndGenderTask", "PredictSingleFaceExpressionsTask", "faceExpressions", "extractSingleFaceAndComputeResult", "PredictSingleAgeAndGenderTask", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "PredictAgeAndGenderTaskBase", "ComposableTask", "parentTask", "input", "extractedFaces", "PredictAllAgeAndGenderTask", "parentResults", "ageAndGenderByFace", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "i", "age", "gender", "genderProbability", "extendWithAge", "extendWithGender", "PredictAllFaceExpressionsTask", "PredictSingleAgeAndGenderTask", "extractSingleFaceAndComputeResult", "PredictSingleFaceExpressionsTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "PredictAllFaceExpressionsWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "ComputeFaceDescriptorsTaskBase", "ComposableTask", "parentTask", "input", "ComputeAllFaceDescriptorsTask", "parentResults", "extractAllFacesAndComputeResults", "faces", "face", "nets", "parentResult", "descriptor", "i", "extendWithFaceDescriptor", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "extractSingleFaceAndComputeResult", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "DetectFaceLandmarksTaskBase", "ComposableTask", "parentTask", "input", "useTinyLandmarkNet", "nets", "DetectAllFaceLandmarksTask", "parentResults", "detections", "res", "faces", "Lt", "extractFaceTensors", "extractFaces", "faceLandmarksByFace", "face", "f", "_parentResult", "i", "parentResult", "extendWithFaceLandmarks", "PredictAllFaceExpressionsWithFaceAlignmentTask", "PredictAllAgeAndGenderWithFaceAlignmentTask", "ComputeAllFaceDescriptorsTask", "DetectSingleFaceLandmarksTask", "detection", "landmarks", "PredictSingleFaceExpressionsWithFaceAlignmentTask", "PredictSingleAgeAndGenderWithFaceAlignmentTask", "ComputeSingleFaceDescriptorTask", "DetectFacesTaskBase", "ComposableTask", "input", "options", "SsdMobilenetv1Options", "DetectAllFacesTask", "result", "TinyFaceDetectorOptions", "nets", "TinyYolov2Options", "resolve", "reject", "detections", "detection", "extendWithFaceDetection", "err", "useTinyLandmarkNet", "DetectAllFaceLandmarksTask", "PredictAllFaceExpressionsTask", "PredictAllAgeAndGenderTask", "DetectSingleFaceTask", "faceDetections", "faceDetectionWithHighestScore", "faceDetection", "DetectSingleFaceLandmarksTask", "PredictSingleFaceExpressionsTask", "PredictSingleAgeAndGenderTask", "detectSingleFace", "input", "options", "SsdMobilenetv1Options", "DetectSingleFaceTask", "detectAllFaces", "DetectAllFacesTask", "allFacesSsdMobilenetv1", "input", "minConfidence", "detectAllFaces", "SsdMobilenetv1Options", "allFacesTinyYolov2", "forwardParams", "TinyYolov2Options", "allFaces", "euclideanDistance", "arr1", "arr2", "desc1", "desc2", "val", "i", "res", "diff", "FaceMatcher", "inputs", "distanceThreshold", "inputArray", "count", "createUniqueLabel", "desc", "LabeledFaceDescriptors", "queryDescriptor", "descriptors", "d", "euclideanDistance", "d1", "d2", "label", "FaceMatch", "best", "curr", "bestMatch", "ld", "json", "labeledDescriptors", "createTinyFaceDetector", "weights", "net", "TinyFaceDetector", "resizeResults", "results", "dimensions", "width", "height", "Dimensions", "obj", "isWithFaceLandmarks", "resizedDetection", "resizedLandmarks", "extendWithFaceLandmarks", "extendWithFaceDetection", "isWithFaceDetection", "FaceLandmarks", "FaceDetection", "version"] } diff --git a/dist/face-api.js b/dist/face-api.js index 42cb6cb..2fba074 100644 --- a/dist/face-api.js +++ b/dist/face-api.js @@ -4884,4 +4884,4 @@ return a / b;`,Kne=` } `}};function Bse(e){let{inputs:t,backend:n,attrs:a}=e,{x:r,segmentIds:s}=t,{numSegments:i}=a,o=r.shape.length,l=[],u=0,p=C.getAxesPermutation([u],o),d=r;p!=null&&(d=Cn({inputs:{x:r},backend:n,attrs:{perm:p}}),l.push(d),u=C.getInnerMostAxes(1,o)[0]);let c=C.segment_util.computeOutShape(d.shape,u,i),h=v.sizeFromShape([d.shape[u]]),m=he({inputs:{x:d},backend:n,attrs:{shape:[-1,h]}});l.push(m);let f=pf(r.dtype),g=(w,I,N,_,$)=>{let A=w.shape[0],M=w.shape[1],D=C.segment_util.segOpComputeOptimalWindowSize(M,$),T={windowSize:D,inSize:M,batchSize:A,numSegments:$},P=new Wse(T,I),U=n.compileAndRun(P,[w,N],_);if(l.push(U),U.shape[1]===$)return U;let j=HE({backend:n,attrs:{start:0,stop:$,step:1,dtype:"float32"}}),q=qE({inputs:{x:j},backend:n,attrs:{reps:[M/D]}});return l.push(j),l.push(q),g(U,I,q,_,$)},b=g(m,"unsortedSegmentSum",s,f,i),y=he({inputs:{x:b},backend:n,attrs:{shape:c}}),x=y;if(p!=null){l.push(y);let w=C.getUndoAxesPermutation(p);x=Cn({inputs:{x},backend:n,attrs:{perm:w}})}return l.forEach(w=>n.disposeIntermediateTensorInfo(w)),x}var Vse={kernelName:Bc,backendName:"webgl",kernelFunc:Bse},Use=[VJ,GJ,qJ,YJ,JJ,t9,a9,s9,u9,c9,m9,b9,v9,T9,C9,E9,A9,M9,O9,z9,U9,Y9,J9,eQ,iQ,lQ,dQ,IJ,fQ,vQ,TQ,$Q,FQ,RQ,PQ,LQ,BQ,GQ,qQ,XQ,ZQ,QQ,nee,ree,lee,pee,hee,gee,yee,kee,Nee,$ee,Dee,Pee,Oee,zee,Bee,Uee,Hee,qee,Zee,ete,ate,ste,lte,cte,fte,xte,kJ,wte,yQ,Tte,Cte,$te,SJ,Rte,Lte,Wte,Gte,qte,Zte,ene,rne,lne,cne,hne,bne,xne,wne,Sne,Cne,Ene,Ane,Dne,One,Bne,Hne,Qne,$J,aae,iae,uae,dae,nQ,fae,bae,xae,kae,Nae,CJ,_ae,$ae,Aae,aQ,Xne,Rae,Lae,Vae,FJ,jae,Xae,Qae,nre,ire,lre,cre,mre,gre,xre,kre,Sre,Ere,Fre,Mre,Lre,K9,Zne,Bre,Ure,Hre,qre,Xre,Zre,Qre,tse,ase,ise,lse,pse,hse,fse,bse,xse,Yne,zJ,kse,Sse,_se,Fse,Mse,WJ,Ose,zse,Vse,gae];for(let e of Use)Vc(e);var At;(function(e){e[e.float32=0]="float32",e[e.int32=1]="int32",e[e.bool=2]="bool",e[e.string=3]="string",e[e.complex64=4]="complex64"})(At||(At={}));var Ic;(function(e){e[e.linear=0]="linear",e[e.relu=1]="relu",e[e.relu6=2]="relu6",e[e.prelu=3]="prelu",e[e.leakyrelu=4]="leakyrelu",e[e.sigmoid=5]="sigmoid",e[e.elu=6]="elu"})(Ic||(Ic={}));var KE;function Gse(e){KE=e.wasm.cwrap(li,null,["number","array","number","number","array","number","number","number","number","number","number","number","number"])}function Hse(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s,bias:i,preluActivationWeights:o}=t;if(r.dtype!=="float32"||s.dtype!=="float32")throw new Error("_FusedMatMul for non non-float32 tensors not yet supported.");let{transposeA:l,transposeB:u,activation:p,leakyreluAlpha:d}=a,c=n.dataIdMap.get(r.dataId).id,h=n.dataIdMap.get(s.dataId).id,m=0;if(i!=null){let $=n.dataIdMap.get(i.dataId);if($.shape.length!==1)throw new Error(`_FusedMatMul only supports rank-1 bias but got rank ${$.shape.length}.`);m=$.id}let f=o==null?0:n.dataIdMap.get(o.dataId).id,g=Ic[p];if(g==null)throw new Error(`${p} activation not yet supported for FusedConv2D in the wasm backend.`);let b=l?r.shape[2]:r.shape[1],y=u?s.shape[1]:s.shape[2],x=qu.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)),w=n.makeOutput([...x,b,y],r.dtype),I=n.dataIdMap.get(w.dataId).id,N=new Uint8Array(new Int32Array(r.shape).buffer),_=new Uint8Array(new Int32Array(s.shape).buffer);return KE(c,N,r.shape.length,h,_,s.shape.length,l,u,g,m,f,d||0,I),w}var jse={kernelName:li,backendName:"wasm",setupFunc:Gse,kernelFunc:Hse};function rn(e,t){let n;function a(s){n=s.wasm.cwrap(e,null,["number","number","number"])}function r(s){let{backend:i,inputs:{x:o}}=s,l=i.dataIdMap.get(o.dataId).id,u=i.makeOutput(o.shape,t||o.dtype),p=i.dataIdMap.get(u.dataId).id;return v.sizeFromShape(u.shape)===0||n(l,At[o.dtype],p),u}return{kernelName:e,backendName:"wasm",setupFunc:a,kernelFunc:r}}var qse=rn(Ul);function dn(e,t,n){let a;function r(i){a=i.wasm.cwrap(e,null,["number","array","number","number","array","number","number","number"])}function s(i){let{backend:o,inputs:l}=i,{a:u,b:p}=l,d=o.dataIdMap.get(u.dataId).id,c=o.dataIdMap.get(p.dataId).id,h=n!=null?n:u.dtype,m=C.assertAndGetBroadcastShape(u.shape,p.shape),f=o.makeOutput(m,h);if(v.sizeFromShape(m)===0)return f;let g=new Uint8Array(new Int32Array(u.shape).buffer),b=new Uint8Array(new Int32Array(p.shape).buffer),y=o.dataIdMap.get(f.dataId).id;return a(d,g,u.shape.length,c,b,p.shape.length,At[u.dtype],y),f}return{kernelName:e,backendName:"wasm",setupFunc:r,kernelFunc:s}}var Kse=!0,Xse=dn(xs,Kse),XE;function Yse(e){XE=e.wasm.cwrap(Ti,null,["array","number","number","number"])}function Zse(e){let{inputs:t,backend:n}=e,a=n.makeOutput(t[0].shape,t[0].dtype);if(v.sizeFromShape(a.shape)===0)return a;let r=t.map(o=>n.dataIdMap.get(o.dataId).id),s=new Uint8Array(new Int32Array(r).buffer),i=n.dataIdMap.get(a.dataId).id;return XE(s,r.length,At[a.dtype],i),a}var Jse={kernelName:Ti,backendName:"wasm",setupFunc:Yse,kernelFunc:Zse};function wg(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype),r=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(a).set(r),a}var Qse={kernelName:Ui,backendName:"wasm",kernelFunc:wg},YE;function eie(e){YE=e.wasm.cwrap(Ar,null,["number","array","number","number","number","array","number"])}function gs(e){let{inputs:t,backend:n,attrs:a}=e,[r,s]=nie(t.x.shape,a.perm),i=!0;for(let m=0;m=r&&(s===-1||a[s]>a[i])&&(s=i);a[s]=r}return[n,a]}var aie={kernelName:Ar,backendName:"wasm",kernelFunc:gs,setupFunc:eie};function Ds(e,t,n){let a=e.shape,r=e.shape.length,s=v.parseAxisParam(t,a),i=s,o=C.getAxesPermutation(i,r),l=null,u=!1;if(o!=null){let p=new Array(r);for(let c=0;c`new shape: ${i}, old shape: ${a.shape}. New shape and old shape must have the same number of elements.`),e.backend.incRef(a.dataId),{dataId:a.dataId,shape:i,dtype:a.dtype}}var gie={kernelName:$u,backendName:"wasm",kernelFunc:Un},t$;function bie(e){t$=e.wasm.cwrap(Ci,null,["number","array","number","number","array","number","number","number","number"])}function yie(e){let{inputs:t,backend:n,attrs:a}=e,{a:r,b:s}=t,{transposeA:i,transposeB:o}=a;if(r.dtype!=="float32"||s.dtype!=="float32")throw new Error("BatchMatMul for non non-float32 tensors not yet supported.");let l=r.shape.length,u=s.shape.length,p=i?r.shape[l-2]:r.shape[l-1],d=o?s.shape[u-1]:s.shape[u-2],c=i?r.shape[l-1]:r.shape[l-2],h=o?s.shape[u-2]:s.shape[u-1],m=r.shape.slice(0,-2),f=s.shape.slice(0,-2),g=v.sizeFromShape(m),b=v.sizeFromShape(f),y=qu.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)).concat([c,h]);v.assert(p===d,()=>`Error in matMul: inner shapes (${p}) and (${d}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${i} and transposeB=${o} must match.`);let x=i?[g,p,c]:[g,c,p],w=o?[b,h,d]:[b,d,h],I=Un({inputs:{x:r},backend:n,attrs:{shape:x}}),N=Un({inputs:{x:s},backend:n,attrs:{shape:w}}),_=n.dataIdMap.get(I.dataId).id,$=n.dataIdMap.get(N.dataId).id,A=i?I.shape[2]:I.shape[1],M=o?N.shape[1]:N.shape[2],D=Math.max(g,b),T=n.makeOutput([D,A,M],I.dtype),P=n.dataIdMap.get(T.dataId).id,U=new Uint8Array(new Int32Array(I.shape).buffer),j=new Uint8Array(new Int32Array(N.shape).buffer);return t$(_,U,I.shape.length,$,j,N.shape.length,i,o,P),n.disposeData(I.dataId),n.disposeData(N.dataId),T.shape=y,T}var xie={kernelName:Ci,backendName:"wasm",setupFunc:bie,kernelFunc:yie};function ki(e){let{inputs:{x:t},attrs:{begin:n,size:a},backend:r}=e,[s,i]=qt.parseSliceParams(t,n,a),o=qt.isSliceContinous(t.shape,s,i),l=r.readSync(t.dataId),u=r.makeOutput(i,t.dtype),p=v.computeStrides(t.shape),d=r.dataIdMap.get(u.dataId);if(o){let m=qt.computeFlatOffset(s,p);return t.dtype==="string"?d.stringBytes=l.slice(m,m+v.sizeFromShape(i)):r.typedArrayFromHeap(u).set(l.subarray(m,m+v.sizeFromShape(i))),u}if(t.dtype==="string"){let m=vm(l,s,i,t.shape,t.dtype);return d.stringBytes=m,u}let c=r.typedArrayFromHeap(u),h=t.shape.length;if(h===2)vie(l,p[0],c,s,i);else if(h===3)wie(l,p[0],p[1],c,s,i);else if(h===4)kie(l,p[0],p[1],p[2],c,s,i);else{let m=vm(l,s,i,t.shape,t.dtype);c.set(m)}return u}function vie(e,t,n,a,r){let s=0,i=a[0],o=a[1],l=i+r[0];for(let u=i;ub*y),l=C.getReshaped(r.shape,s,o),u=C.getPermuted(l.length,s.length),p=C.getReshapedPermuted(r.shape,s,o),d=C.getSliceBeginCoords(i,s.length),c=C.getSliceSize(p,i,s.length),h=Un({inputs:{x:r},backend:n,attrs:{shape:l}}),m=gs({inputs:{x:h},backend:n,attrs:{perm:u}}),f=Un({inputs:{x:m},backend:n,attrs:{shape:p}}),g=ki({inputs:{x:f},backend:n,attrs:{begin:d,size:c}});return n.disposeData(h.dataId),n.disposeData(m.dataId),n.disposeData(h.dataId),g}var Sie={kernelName:Ql,backendName:"wasm",kernelFunc:Tie};function hp(e){let{inputs:{x:t},attrs:{dtype:n},backend:a}=e,r=a.makeOutput(t.shape,n),s=a.typedArrayFromHeap(t);return a.typedArrayFromHeap(r).set(s),r}var Nie={kernelName:_i,backendName:"wasm",kernelFunc:hp},Cie=rn(Ei),n$;function _ie(e){n$=e.wasm.cwrap(vs,null,["number","number","number","number"])}function Eie(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{clipValueMin:s,clipValueMax:i}=a,o=n.dataIdMap.get(r.dataId).id,l=n.makeOutput(r.shape,r.dtype),u=n.dataIdMap.get(l.dataId).id;return n$(o,s,i,u),l}var $ie={kernelName:vs,backendName:"wasm",setupFunc:_ie,kernelFunc:Eie};function a$(e){let{inputs:t,backend:n}=e,a=v.parseAxisParam(e.attrs.axis,t[0].shape)[0],r=C.computeOutShape(t.map(h=>h.shape),a),s=t.filter(h=>v.sizeFromShape(h.shape)>0);if(s.length===1)return wg({inputs:{x:s[0]},backend:n});let i=n.makeOutput(r,t[0].dtype);if(v.sizeFromShape(r)===0)return i;let o=s.map(h=>h.shape);if(C.assertParamsConsistent(o,a),s[0].dtype==="string"){let h=s.map(x=>{let w=v.sizeFromShape(x.shape.slice(a));return Un({inputs:{x},backend:n,attrs:{shape:[-1,w]}})}),m=h.map(x=>({vals:n.readSync(x.dataId),shape:x.shape}));r=C.computeOutShape(h.map(x=>x.shape),1);let f=h[0].shape[0]===1,g=J0(m,r,t[0].dtype,f),b=C.computeOutShape(s.map(x=>x.shape),a);i.shape=b;let y=n.dataIdMap.get(i.dataId);return y.stringBytes=C.fromStringArrayToUint8(g),h.forEach(x=>n.disposeData(x.dataId)),i}let l=v.sizeFromShape(s[0].shape.slice(0,a)),u=0,p=s.map(h=>{let m=v.sizeFromShape(h.shape.slice(a));return u+=m,m}),d=s.map(h=>n.typedArrayFromHeap(h)),c=n.typedArrayFromHeap(i);for(let h=0;h`cumprod does not support ${r.dtype} tensors in the WASM backend`);let u=C.getAxesPermutation([s],l),p=r;u!==null&&(p=gs({inputs:{x:r},attrs:{perm:u},backend:n}));let d=C.getInnerMostAxes(1,l)[0];C.assertAxesAreInnerMostDims("cumprod",[d],l);let c=n.makeOutput(p.shape,p.dtype),h=p.shape[d],m=n.dataIdMap.get(p.dataId).id,f=n.dataIdMap.get(c.dataId).id;o$(m,i?1:0,o?1:0,h,f,At[r.dtype]);let g=c;if(u!==null){let b=C.getUndoAxesPermutation(u);g=gs({inputs:{x:c},attrs:{perm:b},backend:n}),n.disposeData(p.dataId),n.disposeData(c.dataId)}return g}var Hie={kernelName:tu,backendName:"wasm",setupFunc:Uie,kernelFunc:Gie},l$;function jie(e){l$=e.wasm.cwrap(Ri,null,["number","number","number","number","number","number"])}function qie(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{axis:s,exclusive:i,reverse:o}=a,l=r.shape.length;v.assert(r.dtype==="float32"||r.dtype==="int32",()=>`cumsum does not support ${r.dtype} tensors in the WASM backend`);let u=C.getAxesPermutation([s],l),p=r;u!==null&&(p=gs({inputs:{x:r},attrs:{perm:u},backend:n}));let d=C.getInnerMostAxes(1,l)[0];C.assertAxesAreInnerMostDims("cumsum",[d],l);let c=n.makeOutput(p.shape,p.dtype),h=p.shape[d],m=n.dataIdMap.get(p.dataId).id,f=n.dataIdMap.get(c.dataId).id;l$(m,i?1:0,o?1:0,h,f,At[r.dtype]);let g=c;if(u!==null){let b=C.getUndoAxesPermutation(u);g=gs({inputs:{x:c},attrs:{perm:b},backend:n}),n.disposeData(p.dataId),n.disposeData(c.dataId)}return g}var Kie={kernelName:Ri,backendName:"wasm",setupFunc:jie,kernelFunc:qie},u$;function Xie(e){u$=e.wasm.cwrap(au,null,["number","number","number","array","number","array","array","number","number"])}function Yie(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{blockSize:s,dataFormat:i}=a,o=r.shape[0],l=i==="NHWC"?r.shape[1]:r.shape[2],u=i==="NHWC"?r.shape[2]:r.shape[3],p=i==="NHWC"?r.shape[3]:r.shape[1],d=l*s,c=u*s,h=p/(s*s),m=i==="NHWC"?[o,d,c,h]:[o,h,d,c],f=t.makeOutput(m,"float32"),g=t.dataIdMap.get(r.dataId).id,b=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(m).buffer),x=new Uint8Array(new Int32Array(v.computeStrides(m)).buffer),w=t.dataIdMap.get(f.dataId).id;return u$(g,s,i==="NHWC"?1:0,b,r.shape.length-1,y,x,m.length,w),f}var Zie={kernelName:au,backendName:"wasm",setupFunc:Xie,kernelFunc:Yie},p$;function Jie(e){p$=e.wasm.cwrap(Mi,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Qie(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s}=t,i=a.dataIdMap.get(r.dataId).id,o=a.dataIdMap.get(s.dataId).id,{strides:l,dilations:u,pad:p,dimRoundingMode:d}=n,c=u==null?[1,1]:u,h=C.computeConv2DInfo(r.shape,s.shape,l,c,p,d,!0),m=h.filterHeight,f=h.filterWidth,g=h.padInfo.top,b=h.padInfo.right,y=h.padInfo.bottom,x=h.padInfo.left,w=h.dilationHeight,I=h.dilationWidth,N=h.strideHeight,_=h.strideWidth,$=h.inChannels,A=h.outChannels,M=h.padInfo.type==="SAME"?1:0;if(h.dataFormat!=="channelsLast")throw new Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${h.dataFormat}'. Please use 'channelsLast'.`);let D=a.makeOutput(h.outShape,"float32"),T=a.dataIdMap.get(D.dataId).id;return p$(i,r.shape[0],r.shape[1],r.shape[2],o,m,f,g,b,y,x,M,w,I,N,_,$,A,T),D}var eoe={kernelName:Mi,backendName:"wasm",setupFunc:Jie,kernelFunc:Qie},toe=rn(Oi),noe=!1,aoe=dn(su,noe,"bool"),roe=rn(Li,"float32");function Wx(e){let{inputs:t,attrs:n,backend:a}=e,{input:r}=t,{dim:s}=n,i=r.shape.length,o=r.shape.slice(),l=s;return s<0&&(v.assert(-(i+1)<=s,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),l=i+s+1),o.splice(l,0,1),Un({inputs:{x:r},backend:a,attrs:{shape:o}})}var soe={kernelName:iu,backendName:"wasm",kernelFunc:Wx};function c$(e){let{attrs:{shape:t,value:n,dtype:a},backend:r}=e,s=r.makeOutput(t,a);return r.typedArrayFromHeap(s).fill(n),s}var ioe={kernelName:$c,backendName:"wasm",kernelFunc:c$},d$;function ooe(e){d$=e.wasm.cwrap(lu,null,["number","number","number","number","number","number"])}function loe(e){let{inputs:t,backend:n}=e,{image:a}=t,r=n.makeOutput(a.shape,a.dtype),s=n.dataIdMap.get(a.dataId).id,i=n.dataIdMap.get(r.dataId).id,[o,l,u,p]=a.shape;return d$(s,o,l,u,p,i),r}var uoe={kernelName:lu,backendName:"wasm",kernelFunc:loe,setupFunc:ooe},poe=rn(zi),coe=!1,doe=dn(Wi,coe),h$;function hoe(e){h$=e.wasm.cwrap(Bi,null,["number","number","number","number","number","number","number"])}function moe(e){let{backend:t,inputs:n,attrs:a}=e,{varianceEpsilon:r}=a,{x:s,mean:i,variance:o,offset:l,scale:u}=n,p=t.dataIdMap.get(s.dataId).id,d=t.dataIdMap.get(i.dataId).id,c=t.dataIdMap.get(o.dataId).id,h=l!=null?t.dataIdMap.get(l.dataId).id:0,m=u!=null?t.dataIdMap.get(u.dataId).id:0,f=t.makeOutput(s.shape,s.dtype);if(v.sizeFromShape(s.shape)===0)return f;let g=t.dataIdMap.get(f.dataId).id;return h$(p,d,c,h,m,r,g),f}var foe={kernelName:Bi,backendName:"wasm",setupFunc:hoe,kernelFunc:moe},m$;function goe(e){m$=e.wasm.cwrap(ui,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 boe(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:p,dataFormat:d,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=n,f=C.computeConv2DInfo(r.shape,s.shape,l,p,u,c),g=Ic[h];if(g==null)throw new Error(`${h} activation not yet supported for FusedConv2D in the wasm backend.`);let b=a.dataIdMap.get(r.dataId).id,y=a.dataIdMap.get(s.dataId).id,x=f.outChannels,w=0;if(i!=null){let ae=a.dataIdMap.get(i.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]!==x)throw new Error(`FusedConv2D bias shape (${ae.shape}) does not match the number of output channels (${x})`);w=ae.id}let I=f.filterHeight,N=f.filterWidth,_=f.padInfo.top,$=f.padInfo.right,A=f.padInfo.bottom,M=f.padInfo.left,D=f.dilationHeight,T=f.dilationWidth,P=f.strideHeight,U=f.strideWidth,j=f.inChannels,q=f.padInfo.type==="SAME"?1:0,K=f.batchSize,Y=f.inHeight,te=f.inWidth;if(d!=="NHWC")throw new Error(`wasm backend FusedConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let re=a.makeOutput(f.outShape,"float32"),J=a.dataIdMap.get(re.dataId).id,ie=o==null?0:a.dataIdMap.get(o.dataId).id;return m$(b,K,Y,te,y,I,N,w,_,$,A,M,q,D,T,P,U,j,x,g,ie,m||0,J),re}var yoe={kernelName:ui,backendName:"wasm",setupFunc:goe,kernelFunc:boe},f$;function xoe(e){f$=e.wasm.cwrap(pi,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 voe(e){let{inputs:t,attrs:n,backend:a}=e,{x:r,filter:s,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dilations:p,dataFormat:d,dimRoundingMode:c,activation:h,leakyreluAlpha:m}=n,f=C.computeConv2DInfo(r.shape,s.shape,l,p,u,c,!0),g=Ic[h];if(g==null)throw new Error(`${h} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let b=a.dataIdMap.get(r.dataId).id,y=a.dataIdMap.get(s.dataId).id,x=f.outChannels,w=0;if(i!=null){let ae=a.dataIdMap.get(i.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]!==x)throw new Error(`FusedDepthwiseConv2D bias shape (${ae.shape}) does not match the number of output channels (${x})`);w=ae.id}let I=f.filterHeight,N=f.filterWidth,_=f.padInfo.top,$=f.padInfo.right,A=f.padInfo.bottom,M=f.padInfo.left,D=f.dilationHeight,T=f.dilationWidth,P=f.strideHeight,U=f.strideWidth,j=f.inChannels,q=f.padInfo.type==="SAME"?1:0,K=f.batchSize,Y=f.inHeight,te=f.inWidth;if(d!=="NHWC")throw new Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let re=a.makeOutput(f.outShape,"float32"),J=a.dataIdMap.get(re.dataId).id,ie=o==null?0:a.dataIdMap.get(o.dataId).id;return f$(b,K,Y,te,y,I,N,w,_,$,A,M,q,D,T,P,U,j,x,g,ie,m||0,J),re}var woe={kernelName:pi,backendName:"wasm",setupFunc:xoe,kernelFunc:voe},g$;function koe(e){g$=e.wasm.cwrap(pu,null,["number","number","number","number","number","number","array","number"])}function Ioe(e){let{backend:t,inputs:n}=e,{params:a,indices:r}=n,[s,i,o,l]=ov.prepareAndValidate(a,r),u=t.makeOutput(s,a.dtype);if(i===0)return u;let p=r.shape,d=p[p.length-1],c=t.dataIdMap.get(a.dataId).id,h=t.dataIdMap.get(r.dataId).id,m=new Uint8Array(new Int32Array(l).buffer),f=t.dataIdMap.get(u.dataId).id;return g$(c,At[a.dtype],h,i,d,o,m,f),u}var Toe={kernelName:pu,backendName:"wasm",setupFunc:koe,kernelFunc:Ioe},b$;function Soe(e){b$=e.wasm.cwrap("Gather",null,["number","number","array","number","number","number","array","number"])}function Noe(e){let{backend:t,inputs:n,attrs:a}=e,{x:r,indices:s}=n,{axis:i,batchDims:o}=a,l=v.parseAxisParam(i,r.shape)[0],u=t.readSync(s.dataId),p=r.shape[l];for(let _=0;_=0,()=>`GatherV2: the index value ${$} is not in [0, ${p-1}]`)}let d=C.segment_util.collectGatherOpShapeInfo(r,s,l,o),c=Un({inputs:{x:r},attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]},backend:t}),h=v.sizeFromShape(s.shape),m=Un({inputs:{x:s},attrs:{shape:[d.batchSize,h/d.batchSize]},backend:t}),f=[d.batchSize,d.outerSize,h/d.batchSize,d.sliceSize],g=t.makeOutput(f,r.dtype);if(v.sizeFromShape(r.shape)===0)return g;let b=c.shape.length-1,y=t.dataIdMap.get(c.dataId).id,x=t.dataIdMap.get(m.dataId).id,w=t.dataIdMap.get(g.dataId).id,I=new Uint8Array(new Int32Array(v.computeStrides(c.shape)).buffer),N=new Uint8Array(new Int32Array(v.computeStrides(f)).buffer);return b$(y,At[r.dtype],I,b,x,d.batchSize,N,w),t.disposeData(c.dataId),t.disposeData(m.dataId),g.shape=d.outputShape,g}var Coe={kernelName:uu,backendName:"wasm",setupFunc:Soe,kernelFunc:Noe},_oe=!1,Eoe=dn(cu,_oe,"bool"),$oe=!1,Aoe=dn(Vi,$oe,"bool"),y$;function Foe(e){y$=e.wasm.cwrap(Gi,null,["number","number","number","number"])}function Doe(e){let{inputs:{x:t},attrs:{alpha:n},backend:a}=e,r=a.dataIdMap.get(t.dataId).id,s=a.makeOutput(t.shape,"float32");if(v.sizeFromShape(t.shape)!==0){let i=a.dataIdMap.get(s.dataId).id;y$(r,At[t.dtype],n,i)}return s}var Roe={kernelName:Gi,backendName:"wasm",setupFunc:Foe,kernelFunc:Doe},Moe=!1,Poe=dn(fu,Moe,"bool"),Ooe=!1,Loe=dn(gu,Ooe,"bool"),zoe=rn(Hi),Woe=!1,Boe=dn(yu,Woe,"bool"),Voe=rn(xu),Uoe=!1,Goe=dn(vu,Uoe,"bool"),Hoe=!1,joe=dn(mT,Hoe,"bool"),x$;function qoe(e){x$=e.wasm.cwrap(ji,null,["number","number","number","number"])}function Koe(e){let{backend:t,inputs:n,attrs:a}=e,{reductionIndices:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=i,{transposed:u,axes:p,originalAxes:d,inputWasTransposed:c}=Ds(i,r,t);if(c){let y=t.dataIdMap.get(u.dataId).id;l=u,o=y}let h=l.shape.length;C.assertAxesAreInnerMostDims("max",p,h);let[m,f]=C.computeOutAndReduceShapes(l.shape,p),g=v.sizeFromShape(f),b=t.makeOutput(m,i.dtype);if(v.sizeFromShape(l.shape)!==0){let y=t.dataIdMap.get(b.dataId).id;x$(o,At[i.dtype],g,y)}if(c&&t.disposeData(u.dataId),s){let y=C.expandShapeToKeepDim(b.shape,d);b.shape=y}return b}var Xoe={kernelName:ji,backendName:"wasm",setupFunc:qoe,kernelFunc:Koe},Yoe=!1,Zoe=dn(qi,Yoe),v$;function Joe(e){v$=e.wasm.cwrap(Ki,null,["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"])}function Qoe(e){let{inputs:t,attrs:n,backend:a}=e,r=t.x,s=a.dataIdMap.get(r.dataId).id;v.assert(r.dtype==="float32",()=>`Error in MaxPool: only float32 input is supported. Got ${r.dtype}.`);let{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=n,p=C.computePool2DInfo(r.shape,i,o,1,l,u),d=p.filterHeight,c=p.filterWidth,h=p.padInfo.top,m=p.padInfo.right,f=p.padInfo.bottom,g=p.padInfo.left,b=p.dilationHeight,y=p.dilationWidth,x=p.strideHeight,w=p.strideWidth,I=p.inChannels,N=p.outChannels;if(p.dataFormat!=="channelsLast")throw new Error(`wasm backend does not support dataFormat:'${p.dataFormat}'. Please use 'channelsLast'.`);let _=a.makeOutput(p.outShape,"float32"),$=a.dataIdMap.get(_.dataId).id;return v$(s,r.shape[0],r.shape[1],r.shape[2],d,c,h,m,f,g,b,y,x,w,I,N,$),_}var ele={kernelName:Ki,backendName:"wasm",setupFunc:Joe,kernelFunc:Qoe},w$;function tle(e){w$=e.wasm.cwrap(Xi,null,["number, number, number"])}function nle(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Ds(i,r,t),m=d;if(h){let w=t.dataIdMap.get(p.dataId).id;w!==o&&(u=p,l=w,m=C.getInnerMostAxes(m.length,u.shape.length))}C.assertAxesAreInnerMostDims("mean",m,u.shape.length);let[f,g]=C.computeOutAndReduceShapes(u.shape,m),b=v.sizeFromShape(g),y=u;u.dtype!=="float32"&&(y=hp({backend:t,inputs:{x:u},attrs:{dtype:"float32"}}),l=t.dataIdMap.get(y.dataId).id);let x=t.makeOutput(f,"float32");if(v.sizeFromShape(u.shape)!==0){let w=t.dataIdMap.get(x.dataId).id;w$(l,b,w)}if(h&&t.disposeData(p.dataId),s){let w=C.expandShapeToKeepDim(x.shape,c);x.shape=w}return u.dtype!=="float32"&&t.disposeData(y.dataId),x}var ale={kernelName:Xi,backendName:"wasm",setupFunc:tle,kernelFunc:nle},k$;function rle(e){k$=e.wasm.cwrap(Yi,null,["number","number","number","number"])}function sle(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Ds(i,r,t);if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x)}let m=u.shape.length;C.assertAxesAreInnerMostDims("min",d,m);let[f,g]=C.computeOutAndReduceShapes(u.shape,d),b=v.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(v.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;k$(l,At[i.dtype],b,x)}if(h&&t.disposeData(p.dataId),s){let x=C.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var ile={kernelName:Yi,backendName:"wasm",setupFunc:rle,kernelFunc:sle},ole=!1,lle=dn(Zi,ole),Bx;(function(e){e[e.reflect=0]="reflect",e[e.symmetric=1]="symmetric"})(Bx||(Bx={}));var I$;function ule(e){I$=e.wasm.cwrap(Ji,null,["number","array","number","number","array","array","number","number"])}function ple(e){let{inputs:{x:t},backend:n,attrs:{paddings:a,mode:r}}=e,s=a.map((m,f)=>m[0]+t.shape[f]+m[1]),i=n.dataIdMap.get(t.dataId).id,o=n.makeOutput(s,t.dtype),l=n.dataIdMap.get(o.dataId).id,u=new Uint8Array(new Int32Array(t.shape).buffer),p=a.map(m=>m[0]),d=a.map(m=>m[1]),c=new Uint8Array(new Int32Array(p).buffer),h=new Uint8Array(new Int32Array(d).buffer);return I$(i,u,t.shape.length,At[t.dtype],c,h,Bx[r],l),o}var cle={kernelName:Ji,backendName:"wasm",kernelFunc:ple,setupFunc:ule},dle=!0,hle=dn(Qi,dle),mle=rn(ku);function I1(e,t){let n=new Int32Array(e.wasm.HEAPU8.buffer,t,4),a=n[0],r=n[1],s=n[2],i=n[3];return e.wasm._free(t),{pSelectedIndices:a,selectedSize:r,pSelectedScores:s,pValidOutputs:i}}var T$;function fle(e){T$=e.wasm.cwrap(Tu,"number",["number","number","number","number","number"])}function gle(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i}=a,{boxes:o,scores:l}=n,u=t.dataIdMap.get(o.dataId).id,p=t.dataIdMap.get(l.dataId).id,d=T$(u,p,s,r,i),{pSelectedIndices:c,selectedSize:h,pSelectedScores:m,pValidOutputs:f}=I1(t,d);return t.wasm._free(m),t.wasm._free(f),t.makeOutput([h],"int32",c)}var ble={kernelName:Tu,backendName:"wasm",setupFunc:fle,kernelFunc:gle},S$;function yle(e){S$=e.wasm.cwrap(Su,"number",["number","number","number","number","number","bool"])}function xle(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i,padToMaxOutputSize:o}=a,{boxes:l,scores:u}=n,p=t.dataIdMap.get(l.dataId).id,d=t.dataIdMap.get(u.dataId).id,c=S$(p,d,s,r,i,o),{pSelectedIndices:h,selectedSize:m,pSelectedScores:f,pValidOutputs:g}=I1(t,c);t.wasm._free(f);let b=t.makeOutput([m],"int32",h),y=t.makeOutput([],"int32",g);return[b,y]}var vle={kernelName:Su,backendName:"wasm",setupFunc:yle,kernelFunc:xle},N$;function wle(e){N$=e.wasm.cwrap(Nu,"number",["number","number","number","number","number","number"])}function kle(e){let{backend:t,inputs:n,attrs:a}=e,{iouThreshold:r,maxOutputSize:s,scoreThreshold:i,softNmsSigma:o}=a,{boxes:l,scores:u}=n,p=t.dataIdMap.get(l.dataId).id,d=t.dataIdMap.get(u.dataId).id,c=N$(p,d,s,r,i,o),{pSelectedIndices:h,selectedSize:m,pSelectedScores:f,pValidOutputs:g}=I1(t,c);t.wasm._free(g);let b=t.makeOutput([m],"int32",h),y=t.makeOutput([m],"float32",f);return[b,y]}var Ile={kernelName:Nu,backendName:"wasm",setupFunc:wle,kernelFunc:kle},Tle=!1,Sle=dn(Iu,Tle,"bool"),C$;function Nle(e){C$=e.wasm.cwrap(eo,null,["number","number","number","number","number"])}function Cle(e){let{inputs:t,backend:n,attrs:a}=e,{indices:r}=t,{dtype:s,depth:i,onValue:o,offValue:l}=a,u=n.makeOutput([...r.shape,i],s),p=n.dataIdMap.get(u.dataId).id,d=n.dataIdMap.get(r.dataId).id;return C$(d,i,o,l,p),u}var _le={kernelName:eo,backendName:"wasm",setupFunc:Nle,kernelFunc:Cle};function Ele(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(1),a}var $le={kernelName:Cu,backendName:"wasm",kernelFunc:Ele};function Ale(e){let{inputs:t,backend:n,attrs:a}=e,{axis:r}=a;if(t.length===1)return Wx({inputs:{input:t[0]},backend:n,attrs:{dim:r}});let s=t[0].shape,i=t[0].dtype;t.forEach(p=>{v.assertShapesMatch(s,p.shape,"All tensors passed to stack must have matching shapes"),v.assert(i===p.dtype,()=>"All tensors passed to stack must have matching dtypes")});let o=[],l=t.map(p=>{let d=Wx({inputs:{input:p},backend:n,attrs:{dim:r}});return o.push(d),d}),u=a$({inputs:l,backend:n,attrs:{axis:r}});return o.forEach(p=>n.disposeData(p.dataId)),u}var Fle={kernelName:_u,backendName:"wasm",kernelFunc:Ale},_$;function Dle(e){_$=e.wasm.cwrap(to,null,["number","array","number","number","array","array","number","number"])}function Rle(e){let{inputs:{x:t},backend:n,attrs:{paddings:a,constantValue:r}}=e,s=a.map((m,f)=>m[0]+t.shape[f]+m[1]);if(v.sizeFromShape(t.shape)===0)return c$({backend:n,attrs:{shape:s,value:r,dtype:t.dtype}});let i=n.dataIdMap.get(t.dataId).id,o=n.makeOutput(s,t.dtype),l=n.dataIdMap.get(o.dataId).id,u=new Uint8Array(new Int32Array(t.shape).buffer),p=a.map(m=>m[0]),d=a.map(m=>m[1]),c=new Uint8Array(new Int32Array(p).buffer),h=new Uint8Array(new Int32Array(d).buffer);return _$(i,u,t.shape.length,At[t.dtype],c,h,r,l),o}var E$={kernelName:to,backendName:"wasm",kernelFunc:Rle,setupFunc:Dle},Mle=!1,Ple=dn(no,Mle),$$;function Ole(e){$$=e.wasm.cwrap(ao,null,["number","number","number"])}function Lle(e){let{inputs:t,backend:n}=e,{x:a,alpha:r}=t,s=n.dataIdMap.get(a.dataId).id,i=n.dataIdMap.get(r.dataId).id,o=s,l=a,u=l;l.dtype!=="float32"&&(u=hp({backend:n,inputs:{x:a},attrs:{dtype:"float32"}}),o=n.dataIdMap.get(u.dataId).id);let p=n.makeOutput(a.shape,"float32"),d=n.dataIdMap.get(p.dataId).id;return $$(o,i,d),l.dtype!=="float32"&&n.disposeData(u.dataId),p}var zle={kernelName:ao,backendName:"wasm",setupFunc:Ole,kernelFunc:Lle},A$;function Wle(e){A$=e.wasm.cwrap(ro,null,["number","number","number","number"])}function Ble(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Ds(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=C.getInnerMostAxes(m.length,u.shape.length))}C.assertAxesAreInnerMostDims("prod",m,u.shape.length);let[f,g]=C.computeOutAndReduceShapes(u.shape,m),b=v.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(v.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;A$(l,b,At[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=C.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var Vle={kernelName:ro,backendName:"wasm",setupFunc:Wle,kernelFunc:Ble},Ule=e=>{let{backend:t,attrs:n}=e,{start:a,stop:r,step:s,dtype:i}=n,o=t1(a,r,s,i),l=t.makeOutput([o.length],i);return t.typedArrayFromHeap(l).set(o),l},Gle={kernelName:Dc,backendName:"wasm",kernelFunc:Ule},Hle=!0,jle=dn(Pi,Hle),qle=rn(so),Kle=rn(lo),F$;function Xle(e){F$=e.wasm.cwrap(oo,null,["number","number","number","number","number","number","number","number","number","number"])}function Yle(e){let{backend:t,inputs:n,attrs:a}=e,{images:r}=n,{alignCorners:s,halfPixelCenters:i,size:o}=a,[l,u]=o,[p,d,c,h]=r.shape,m=[p,l,u,h],f=t.dataIdMap.get(r.dataId),g;f.dtype!=="float32"&&(g=hp({backend:t,inputs:{x:r},attrs:{dtype:"float32"}}),f=t.dataIdMap.get(g.dataId));let b=f.id,y=t.makeOutput(m,"float32");if(v.sizeFromShape(r.shape)===0)return y;let x=t.dataIdMap.get(y.dataId).id;return F$(b,p,d,c,h,l,u,s?1:0,i?1:0,x),g!=null&&t.disposeData(g.dataId),y}var Zle={kernelName:oo,backendName:"wasm",setupFunc:Xle,kernelFunc:Yle},D$;function Jle(e){D$=e.wasm.cwrap(io,null,["number","number","number","number","number","number","number","number","number","number"])}function Qle(e){let{backend:t,inputs:n,attrs:a}=e,{images:r}=n,{alignCorners:s,halfPixelCenters:i,size:o}=a,[l,u]=o,[p,d,c,h]=r.shape,m=[p,l,u,h],f=t.makeOutput(m,"float32");if(v.sizeFromShape(r.shape)===0)return f;let g=t.dataIdMap.get(r.dataId),b;g.dtype!=="float32"&&(b=hp({backend:t,inputs:{x:r},attrs:{dtype:"float32"}}),g=t.dataIdMap.get(b.dataId));let y=g.id,x=t.dataIdMap.get(f.dataId).id;return D$(y,p,d,c,h,l,u,s?1:0,i?1:0,x),b!=null&&t.disposeData(b.dataId),f}var eue={kernelName:io,backendName:"wasm",setupFunc:Jle,kernelFunc:Qle},R$;function tue(e){R$=e.wasm.cwrap(uo,null,["number","array","number","array","number","number"])}function nue(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{dims:s}=a,i=v.parseAxisParam(s,r.shape);if(r.shape.length===0)return wg({inputs:{x:r},backend:n});let o=n.makeOutput(r.shape,r.dtype),l=n.dataIdMap.get(r.dataId).id,u=n.dataIdMap.get(o.dataId).id,p=new Uint8Array(new Int32Array(i).buffer),d=new Uint8Array(new Int32Array(r.shape).buffer);R$(l,p,i.length,d,r.shape.length,u);let c=Un({inputs:{x:o},attrs:{shape:r.shape},backend:n});return n.disposeData(o.dataId),c}var aue={kernelName:uo,backendName:"wasm",kernelFunc:nue,setupFunc:tue},M$;function rue(e){M$=e.wasm.cwrap(ju,null,["number","number","number","number","number","number","number","number","array","number","number"])}function sue(e){let{inputs:t,backend:n,attrs:a}=e,{image:r}=t,{radians:s,fillValue:i,center:o}=a,l=n.makeOutput(r.shape,r.dtype),u=n.dataIdMap.get(r.dataId).id,p=n.dataIdMap.get(l.dataId).id,[d,c,h,m]=r.shape,[f,g]=C.getImageCenter(o,c,h),b=i===0,y=255,x=typeof i=="number"?[i,i,i,b?0:y]:[...i,y],w=new Uint8Array(new Int32Array(x).buffer);return M$(u,d,c,h,m,s,f,g,w,x.length,p),l}var iue={kernelName:ju,backendName:"wasm",kernelFunc:sue,setupFunc:rue},oue=rn(po),lue=rn(co),P$;function uue(e){P$=e.wasm.cwrap(Au,null,["number","number","number","number","number","number","array","number","number"])}function pue(e){let{backend:t,inputs:n,attrs:a}=e,{indices:r,updates:s}=n,{shape:i}=a,o=t.makeOutput(i,s.dtype);if(v.sizeFromShape(i)===0)return o;let{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=lv.calculateShapes(s,r,i),h=t.dataIdMap.get(r.dataId).id,m=t.dataIdMap.get(s.dataId).id,f=new Uint8Array(new Int32Array(d).buffer),g=t.dataIdMap.get(o.dataId).id;return P$(h,m,At[s.dtype],l,u,p,f,c,g),o}var cue={kernelName:Au,backendName:"wasm",setupFunc:uue,kernelFunc:pue},O$;function due(e){O$=e.wasm.cwrap("SelectV2",null,["number","number","number","number","number"])}function hue(e){let{inputs:t,backend:n}=e,{condition:a,t:r,e:s}=t,i=n.dataIdMap.get(a.dataId).id,o=n.dataIdMap.get(r.dataId).id,l=n.dataIdMap.get(s.dataId).id,u=n.makeOutput(r.shape,r.dtype),p=n.dataIdMap.get(u.dataId).id,d=a.shape.length,c=r.shape.length,h=d===0||d>1||c===1?1:v.sizeFromShape(r.shape.slice(1));return O$(i,o,l,h,p),u}var mue={kernelName:Fu,backendName:"wasm",kernelFunc:hue,setupFunc:due},L$;function fue(e){L$=e.wasm.cwrap(mo,null,["number","number"])}function gue(e){let{backend:t,inputs:{x:n}}=e,a=t.dataIdMap.get(n.dataId).id,r=t.makeOutput(n.shape,n.dtype),s=t.dataIdMap.get(r.dataId).id;return v.sizeFromShape(r.shape)===0||L$(a,s),r}var bue={kernelName:"Sigmoid",backendName:"wasm",setupFunc:fue,kernelFunc:gue},yue=rn(ho),z$;function xue(e){z$=e.wasm.cwrap(bo,null,["number","number","number","number"])}function vue(e){let{backend:t,inputs:{logits:n},attrs:{dim:a}}=e,r=t.dataIdMap.get(n.dataId).id,s=t.makeOutput(n.shape,n.dtype),i=t.dataIdMap.get(s.dataId).id,o=n.shape[a],l=v.sizeFromShape(n.shape)/o;return v.sizeFromShape(s.shape)===0||z$(r,i,o,l),s}var wue={kernelName:bo,backendName:"wasm",setupFunc:xue,kernelFunc:vue};function kue(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{blockShape:s,paddings:i}=a,o=v.sizeFromShape(s),l=[[0,0]];l.push(...i);for(let g=1+s.length;g0?l+1:0;if(u<0)throw new Error(C.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=r.shape.slice();p[0]=u;let d=n.dataIdMap.get(r.dataId).id,c=n.dataIdMap.get(s.dataId).id,h=n.dataIdMap.get(i.dataId).id,m=n.makeOutput(p,r.dtype),f=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],"int32"),b=n.dataIdMap.get(g.dataId).id;V$(d,At[r.dtype],r.shape[0],c,h,f,b,t,0);let y=n.readSync(g.dataId),x;switch(y[0]){case 0:{x=C.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{x=C.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:x=C.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(y[1],y[2]);break;case 3:x=C.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(y[1],y[2],y[3]);break;default:x=""}if(n.disposeData(g.dataId),x)throw n.disposeData(m.dataId),new Error(x);return m}function $ue(e){return G$(e,!0)}var Aue={kernelName:Mc,backendName:"wasm",setupFunc:U$,kernelFunc:$ue};function Fue(e){return G$(e,!1)}var Due={kernelName:Pc,backendName:"wasm",setupFunc:U$,kernelFunc:Fue};function Rue(e){let{inputs:t,attrs:n,backend:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=n,o=v.parseAxisParam(i,r.shape)[0],l=C.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=ki({inputs:{x:r},attrs:{begin:u,size:c},backend:a});return u[o]+=d,h})}var Mue={kernelName:zu,backendName:"wasm",kernelFunc:Rue},Pue=rn(fo),Oue=rn(Oc),Lue=!0,zue=dn(yo,Lue),H$;function Wue(e){H$=e.wasm.cwrap(ks,null,["number","number","number","number"])}function Bue(e){let{backend:t,inputs:n,attrs:a}=e,{alpha:r}=a,{x:s}=n,i=t.dataIdMap.get(s.dataId).id,o=t.makeOutput(s.shape,s.dtype),l=t.dataIdMap.get(o.dataId).id;return H$(i,r,At[s.dtype],l),o}var Vue={kernelName:ks,backendName:"wasm",setupFunc:Wue,kernelFunc:Bue},j$;function Uue(e){j$=e.wasm.cwrap(Bu,null,["number","array","number","array","array","array","array","array","number","number"])}function Gue(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:b,begin:y,end:x,strides:w}=qt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=Un({inputs:{x:r},backend:t,attrs:{shape:m}});else if(g||b){v.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);let N=qt.computeOutShape(y,x,w),_=ki({inputs:{x:r},backend:t,attrs:{begin:y,size:N}});I=Un({inputs:{x:_},backend:t,attrs:{shape:m}}),t.disposeData(_.dataId)}else{let N=t.makeOutput(h,"float32"),_=t.dataIdMap.get(r.dataId).id,$=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),A=new Uint8Array(new Int32Array(y).buffer),M=new Uint8Array(new Int32Array(x).buffer),D=new Uint8Array(new Int32Array(w).buffer),T=new Uint8Array(new Int32Array(h).buffer),P=new Uint8Array(new Int32Array(v.computeStrides(h)).buffer),U=t.dataIdMap.get(N.dataId).id;j$(_,$,r.shape.length,A,M,D,T,P,h.length,U),I=Un({inputs:{x:N},backend:t,attrs:{shape:m}}),t.disposeData(N.dataId)}return I}var Hue={kernelName:Bu,backendName:"wasm",setupFunc:Uue,kernelFunc:Gue};function jue(e){let{backend:t,inputs:n,attrs:a}=e,{data:r,dataSplits:s}=n,{separator:i,nGramWidths:o,leftPad:l,rightPad:u,padWidth:p,preserveShortSequences:d}=a,c=t.readSync(r.dataId),h=t.readSync(s.dataId),[m,f]=a1(c,h,i,o,l,u,p,d),g=t.makeOutput([m.length],"string"),b=t.dataIdMap.get(g.dataId);b.stringBytes=m;let y=t.makeOutput(s.shape,"int32");return t.typedArrayFromHeap(y).set(f),[g,y]}var que={kernelName:Lc,backendName:"wasm",kernelFunc:jue};function Kue(e){let{backend:t,inputs:n,attrs:a}=e,{input:r,delimiter:s}=n,{skipEmpty:i}=a,o=t.readSync(r.dataId),l=t.readSync(s.dataId),[u,p,d]=r1(o,l[0],i),c=p.length,h=t.makeOutput([c,2],"int32");t.typedArrayFromHeap(h).set(u);let m=t.makeOutput([c],"string"),f=t.dataIdMap.get(m.dataId);f.stringBytes=p;let g=t.makeOutput([2],"int32");return t.typedArrayFromHeap(g).set(d),[h,m,g]}var Xue={kernelName:zc,backendName:"wasm",kernelFunc:Kue};function Yue(e){let{backend:t,inputs:n,attrs:a}=e,{input:r}=n,{numBuckets:s}=a,i=t.readSync(r.dataId),o=s1(i,s),l=t.makeOutput(r.shape,"int32");return t.typedArrayFromHeap(l).set(o),l}var Zue={kernelName:Wc,backendName:"wasm",kernelFunc:Yue},Jue=!0,Que=dn(xo,Jue),q$;function epe(e){q$=e.wasm.cwrap(go,null,["number","number","number","number"])}function tpe(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Ds(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=C.getInnerMostAxes(m.length,u.shape.length))}C.assertAxesAreInnerMostDims("sum",m,u.shape.length);let[f,g]=C.computeOutAndReduceShapes(u.shape,m),b=v.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(v.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;q$(l,b,At[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=C.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var npe={kernelName:go,backendName:"wasm",setupFunc:epe,kernelFunc:tpe},ape=rn(vo),rpe=rn(wo),K$;function spe(e){K$=e.wasm.cwrap(ws,null,["number","array","number","array","number","number"])}function ipe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,s=n.dataIdMap.get(r.dataId).id,{reps:i}=a,o=new Array(r.shape.length);for(let c=0;c{let{x:a}=e,{k:r,sorted:s}=n,i=t.dataIdMap.get(a.dataId).id,o=new Uint8Array(new Int32Array(a.shape).buffer),l=a.shape.slice();l[l.length-1]=r;let u=t.makeOutput(l,a.dtype),p=t.dataIdMap.get(u.dataId).id,d=t.makeOutput(l,"int32"),c=t.dataIdMap.get(d.dataId).id;return X$(i,o,a.shape.length,At[a.dtype],r,s,p,c),[u,d]},ppe={kernelName:Vu,backendName:"wasm",setupFunc:lpe,kernelFunc:upe},Y$;function cpe(e){Y$=e.wasm.cwrap(Uu,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function dpe(e){let{backend:t,inputs:n,attrs:a}=e,{image:r,transforms:s}=n,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=a,[p,d,c,h]=r.shape,[m,f]=u!=null?u:[d,c],g=[p,m,f,h],b=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(v.computeStrides(g)).buffer),x=t.makeOutput(g,r.dtype),w=t.dataIdMap.get(x.dataId).id,I=t.dataIdMap.get(r.dataId).id,N=t.dataIdMap.get(s.dataId).id,_=i==="nearest"?1:2,$;switch(o){case"constant":$=1;break;case"reflect":$=2;break;case"wrap":$=3;break;case"nearest":$=4;break;default:$=1;break}return Y$(I,N,s.shape[0]>1,p,m,f,h,c,d,b,r.shape.length-1,y,g.length-1,_,$,l,w),x}var hpe={kernelName:Uu,backendName:"wasm",setupFunc:cpe,kernelFunc:dpe};function mpe(e){let{inputs:t,backend:n,attrs:a}=e,{value:r}=t,{axis:s}=a;s<0&&(s+=r.shape.length);let i=r.shape[s],o=r.shape.length,l=new Array(o-1),u=0;for(let h=0;h({dataId:h,dtype:m,shape:l}))}var fpe={kernelName:Gu,backendName:"wasm",kernelFunc:mpe};function gpe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(0),a}var bpe={kernelName:Hu,backendName:"wasm",kernelFunc:gpe},ype=[jse,qse,Xse,Jse,iie,uie,die,fie,xie,Sie,Nie,Cie,$ie,Aie,Rie,Oie,Lie,zie,Vie,Hie,Kie,Zie,eoe,toe,aoe,roe,soe,ioe,uoe,poe,doe,foe,yoe,woe,Toe,Coe,Eoe,Aoe,Qse,Roe,Poe,Loe,zoe,Boe,Voe,Goe,joe,Xoe,Zoe,ele,ale,ile,lle,cle,hle,mle,ble,vle,Ile,Sle,_le,$le,Fle,E$,Ple,zle,Vle,Gle,jle,qle,Kle,gie,Zle,eue,aue,iue,oue,lue,cue,mue,bue,yue,Iie,wue,Iue,Nue,Eue,Aue,Due,Mue,Pue,Oue,zue,Vue,Hue,que,Xue,Zue,Que,npe,ape,rpe,ope,ppe,hpe,aie,fpe,bpe];for(let e of ype)Vc(e);var Vx=X();Vx.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])));Vx.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(Vx.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(e){return!1}});var YI=bs(rD()),xpe=bs(sD()),ZI=bs(iD()),JI=YI.default||YI,vpe=ZI.default||ZI,Z$=class extends Tc{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(J$),Ux=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new Em(this,ir())}write(e,t,n){let a={id:this.dataIdNextNumber++};return this.move(a,e,t,n,1),a}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=v.now();return e(),{kernelMs:v.now()-t}}move(e,t,n,a,r){let s=this.dataIdNextNumber++;if(a==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:a,memoryOffset:null,refCount:r});return}let i=v.sizeFromShape(n),o=i*v.bytesPerElement(a),l=this.wasm._malloc(o);this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:a,refCount:r}),this.wasm.tfjs.registerTensor(s,i,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,o),l)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:a,dtype:r,shape:s,stringBytes:i}=this.dataIdMap.get(e);if(r==="string")return(t==null||t===0)&&(n==null||n>=i.length)?i:i.slice(t,n);t=t||0,n=n||v.sizeFromShape(s);let o=v.bytesPerElement(r),l=this.wasm.HEAPU8.slice(a+t*o,a+n*o);return Ipe(l.buffer,r)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n){let a;if(n==null)a=this.write(null,e,t);else{let r=this.dataIdNextNumber++;a={id:r},this.dataIdMap.set(a,{id:r,memoryOffset:n,shape:e,dtype:t,refCount:1});let s=v.sizeFromShape(e);this.wasm.tfjs.registerTensor(r,s,n)}return{dataId:a,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let a=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(n),s=v.sizeFromShape(e);switch(t){case"float32":return new Float32Array(a,r,s);case"int32":return new Int32Array(a,r,s);case"bool":return new Uint8Array(a,r,s);default:throw new Error(`Unknown dtype ${t}`)}}};function wpe(e){return(t,n)=>(v.fetch(e,{credentials:"same-origin"}).then(a=>{a.ok||t.env.a(`failed to load wasm binary file at '${e}'`),a.arrayBuffer().then(r=>{WebAssembly.instantiate(r,t).then(s=>{n(s.instance,s.module)})})}),{})}function QI(e,t,n){if(Cm!=null)return Cm;let a="tfjs-backend-wasm.wasm";return e&&t?a="tfjs-backend-wasm-threaded-simd.wasm":e&&(a="tfjs-backend-wasm-simd.wasm"),sc!=null&&sc[a]!=null?sc[a]:n+a}async function kpe(){let[e,t]=await Promise.all([X().getAsync("WASM_HAS_SIMD_SUPPORT"),X().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((n,a)=>{let r={};r.locateFile=(o,l)=>{if(o.endsWith(".worker.js")){let u=xpe.wasmWorkerContents.replace(/\n/g,"\\n"),p=new Blob([u],{type:"application/javascript"});return URL.createObjectURL(p)}return o.endsWith(".wasm")?QI(e,t,nc!=null?nc:l):l+o},T1&&(r.instantiateWasm=wpe(QI(e,t,nc!=null?nc:"")));let s=!1;r.onAbort=()=>{s||ic||(ic=!0,a({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"}))};let i;t&&e&&Cm==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+JI.toString()],{type:"text/javascript"}),i=JI(r)):i=vpe(r),i.then(o=>{s=!0,ic=!1;let l=null;o.tfjs={init:o.cwrap("init",null,[]),initWithThreadsCount:o.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:o.cwrap("get_threads_count","number",[]),registerTensor:o.cwrap("register_tensor",null,["number","number","number"]),disposeData:o.cwrap("dispose_data",l,["number"]),dispose:o.cwrap("dispose",l,[])},n({wasm:o})}).catch(a)})}function Ipe(e,t){switch(t){case"float32":return new Float32Array(e);case"int32":return new Int32Array(e);case"bool":return new Uint8Array(e);default:throw new Error(`Unknown dtype ${t}`)}}var Tpe=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],Cm=null,nc=null,sc={},ic=!1,T1=!1;function Spe(e,t=!1){if(iv("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),ic)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");Cm=e,T1=t}function Npe(e,t=!1){if(ic)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e=="string")nc=e;else{sc=e;let n=Tpe.filter(a=>sc[a]==null);if(n.length>0)throw new Error(`There were no entries found for the following binaries: ${n.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.`)}T1=t}var J$=-1,Ux=-1;function Cpe(e){J$=e}function _pe(){if(Ux===-1)throw new Error("WASM backend not initialized.");return Ux}var Epe="3.20.0",$pe=2;cf("wasm",async()=>{let{wasm:e}=await kpe();return new Z$(e)},$pe);var Ape="3.20.0",Fpe="3.20.0",Dpe="3.20.0",Rpe="3.20.0",Mpe="3.20.0",Ppe="3.20.0",Ope="3.20.0",Lpe="3.20.0",zpe={tfjs:Ape,"tfjs-core":Fpe,"tfjs-data":Dpe,"tfjs-layers":Rpe,"tfjs-converter":Mpe,"tfjs-backend-cpu":Ppe,"tfjs-backend-webgl":Ope,"tfjs-backend-wasm":Lpe};var X1={};Nh(X1,{AnchorPosition:()=>W1,DrawBox:()=>Cd,DrawBoxOptions:()=>Sg,DrawFaceLandmarks:()=>Pg,DrawFaceLandmarksOptions:()=>Mg,DrawTextField:()=>Br,DrawTextFieldOptions:()=>bp,drawContour:()=>Lr,drawDetections:()=>Kpe,drawFaceExpressions:()=>Qpe,drawFaceLandmarks:()=>tce});function Lr(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:a,y:r},s)=>{let i=t[s];e.moveTo(i.x,i.y),e.lineTo(a,r)}),n){let a=t[t.length-1],r=t[0];if(!a||!r)return;e.moveTo(a.x,a.y),e.lineTo(r.x,r.y)}e.stroke()}var _1={};Nh(_1,{computeReshapedDimensions:()=>C1,getCenterPoint:()=>Ro,isDimensions:()=>Ig,isEven:()=>kg,isFloat:()=>N1,isTensor:()=>Fo,isTensor1D:()=>Wpe,isTensor2D:()=>S1,isTensor3D:()=>zr,isTensor4D:()=>va,isValidNumber:()=>tr,isValidProbablitiy:()=>mp,range:()=>vr,round:()=>Do});var bn=class{constructor(t,n){if(!tr(t)||!tr(n))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:n})}`);this._width=t,this._height=n}get width(){return this._width}get height(){return this._height}reverse(){return new bn(1/this.width,1/this.height)}};function Fo(e,t){return e instanceof $e&&e.shape.length===t}function Wpe(e){return Fo(e,1)}function S1(e){return Fo(e,2)}function zr(e){return Fo(e,3)}function va(e){return Fo(e,4)}function N1(e){return e%1!==0}function kg(e){return e%2===0}function Do(e,t=2){let n=10**t;return Math.floor(e*n)/n}function Ig(e){return e&&e.width&&e.height}function C1({width:e,height:t},n){let a=n/Math.max(t,e);return new bn(Math.round(e*a),Math.round(t*a))}function Ro(e){return e.reduce((t,n)=>t.add(n),new Pe(0,0)).div(new Pe(e.length,e.length))}function vr(e,t,n){return Array(e).fill(0).map((a,r)=>t+r*n)}function tr(e){return!!e&&e!==1/0&&e!==-1/0&&!Number.isNaN(e)||e===0}function mp(e){return tr(e)&&e>=0&&e<=1}var Pe=class{constructor(t,n){this._x=t,this._y=n}get x(){return this._x}get y(){return this._y}add(t){return new Pe(this.x+t.x,this.y+t.y)}sub(t){return new Pe(this.x-t.x,this.y-t.y)}mul(t){return new Pe(this.x*t.x,this.y*t.y)}div(t){return new Pe(this.x/t.x,this.y/t.y)}abs(){return new Pe(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new Pe(Math.floor(this.x),Math.floor(this.y))}};var lt=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(tr)}static assertIsValidBox(t,n,a=!1){if(!lt.isRect(t))throw new Error(`${n} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!a&&(t.width<0||t.height<0))throw new Error(`${n} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,n=!0){let a=t||{},r=[a.left,a.top,a.right,a.bottom].every(tr),s=[a.x,a.y,a.width,a.height].every(tr);if(!s&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(a)}`);let[i,o,l,u]=s?[a.x,a.y,a.width,a.height]:[a.left,a.top,a.right-a.left,a.bottom-a.top];lt.assertIsValidBox({x:i,y:o,width:l,height:u},"Box.constructor",n),this._x=i,this._y=o,this._width=l,this._height=u}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new Pe(this.left,this.top)}get topRight(){return new Pe(this.right,this.top)}get bottomLeft(){return new Pe(this.left,this.bottom)}get bottomRight(){return new Pe(this.right,this.bottom)}round(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new lt({x:t,y:n,width:a,height:r})}floor(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new lt({x:t,y:n,width:a,height:r})}toSquare(){let{x:t,y:n,width:a,height:r}=this,s=Math.abs(a-r);return an&&(o=-d+n+a,d=n),c>t&&(l=-c+t+r,c=t),u<1&&(l=2-u,u=1),p<1&&(l=2-p,p=1),{dy:i,edy:l,dx:s,edx:o,y:p,ey:c,x:u,ex:d,w:a,h:r}}calibrate(t){return new lt({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Mo=class extends lt{constructor(t,n,a,r,s=!1){super({left:t,top:n,right:a,bottom:r},s)}};var Wr=class{constructor(t,n,a,r,s){this._imageDims=new bn(s.width,s.height),this._score=t,this._classScore=n,this._className=a,this._box=new lt(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new lt(this._box).rescale(this.imageDims.reverse())}forSize(t,n){return new Wr(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:n})}};var xt=class extends Wr{constructor(t,n,a){super(t,t,"",n,a)}forSize(t,n){let{score:a,relativeBox:r,imageDims:s}=super.forSize(t,n);return new xt(a,r,s)}};function E1(e,t,n=!0){let a=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),s=a*r;return n?s/(e.area+t.area-s):s/Math.min(e.area,t.area)}function $1(e){let t=e.map(o=>o.x),n=e.map(o=>o.y),a=t.reduce((o,l)=>lloo({score:i,boxIndex:o})).sort((i,o)=>i.score-o.score).map(i=>i.boxIndex),s=[];for(;r.length>0;){let i=r.pop();s.push(i);let o=r,l=[];for(let u=0;ul[p]<=n)}return s}function nr(e,t){return O(()=>{let[n,a,r]=t,s=$n([...e.shape.slice(0,3),1],n,"float32"),i=$n([...e.shape.slice(0,3),1],a,"float32"),o=$n([...e.shape.slice(0,3),1],r,"float32"),l=Qe([s,i,o],3);return ce(e,l)})}function F1(e,t=!1){return O(()=>{let[n,a]=e.shape.slice(1);if(n===a)return e;let r=Math.abs(n-a),s=Math.round(r*(t?.5:1)),i=n>a?2:1,o=c=>{let h=e.shape.slice();return h[i]=c,$n(h,0,"float32")},l=o(s),u=r-l.shape[i],d=[t&&u?o(u):null,e,l].filter(c=>!!c).map(c=>le(c,"float32"));return Qe(d,i)})}function Bpe(e){let t=e.slice();for(let n=t.length-1;n>0;n--){let a=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[a],t[a]=r}return t}function Sd(e){return 1/(1+Math.exp(-e))}function Vpe(e){return Math.log(e/(1-e))}var Po=class extends lt{constructor(t,n,a,r,s=!1){super({x:t,y:n,width:a,height:r},s)}};var Upe=.5,Gpe=.43,Hpe=.45,ra=class{constructor(t,n,a=new Pe(0,0)){let{width:r,height:s}=n;this._imgDims=new bn(r,s),this._shift=a,this._positions=t.map(i=>i.mul(new Pe(r,s)).add(a))}get shift(){return new Pe(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new Pe(this.imageWidth,this.imageHeight)))}forSize(t,n){return new this.constructor(this.relativePositions,{width:t,height:n})}shiftBy(t,n){return new this.constructor(this.relativePositions,this._imgDims,new Pe(t,n))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,n={}){if(t){let s=t instanceof xt?t.box.floor():new lt(t);return this.shiftBy(s.x,s.y).align(null,n)}let{useDlibAlignment:a,minBoxPadding:r}={useDlibAlignment:!1,minBoxPadding:.2,...n};return a?this.alignDlib():this.alignMinBbox(r)}alignDlib(){let t=this.getRefPointsForAlignment(),[n,a,r]=t,s=d=>r.sub(d).magnitude(),i=(s(n)+s(a))/2,o=Math.floor(i/Hpe),l=Ro(t),u=Math.floor(Math.max(0,l.x-Upe*o)),p=Math.floor(Math.max(0,l.y-Gpe*o));return new Po(u,p,Math.min(o,this.imageWidth+u),Math.min(o,this.imageHeight+p))}alignMinBbox(t){let n=$1(this.positions);return n.pad(n.width*t,n.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var D1=class extends ra{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],Ro([t[3],t[4]])]}};var Oo=class extends ra{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(Ro)}};var fp=class{constructor(t,n){this._label=t,this._distance=n}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Do(this.distance)})`:""}`}};var gp=class extends lt{constructor(n,a){super(n);this._label=a}static assertIsValidLabeledBox(n,a){if(lt.assertIsValidBox(n,a),!tr(n.label))throw new Error(`${a} - expected property label (${n.label}) to be a number`)}get label(){return this._label}};var wr=class{constructor(t,n){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(n)||n.some(a=>!(a instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=n}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let n=t.descriptors.map(a=>new Float32Array(a));return new wr(t.label,n)}};var R1=class extends gp{constructor(n,a,r,s){super(n,a);this._score=r,this._classScore=s}static assertIsValidPredictedBox(n,a){if(gp.assertIsValidLabeledBox(n,a),!mp(n.score)||!mp(n.classScore))throw new Error(`${a} - expected properties score (${n.score}) and (${n.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function kr(e){return e.detection instanceof xt}function Lo(e,t){return{...e,...{detection:t}}}function M1(){let e=window.fetch;if(!e)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:e,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Nd(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function Tg(e){let t="";if(!e&&Nd())try{e=MF("fs")}catch(a){t=a.toString()}return{readFile:e?a=>new Promise((r,s)=>{e.readFile(a,(i,o)=>i?s(i):r(o))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function P1(){let e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=global.Video||global.HTMLVideoElement,a=()=>{if(e)return new e;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(n)return new n;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,o=Tg();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:a,createImageElement:r,createVideoElement:s,fetch:i,...o}}function O1(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var sn;function jpe(){if(!sn)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return sn}function L1(e){sn=e}function z1(){return O1()?L1(M1()):Nd()?L1(P1()):null}function qpe(e){if(sn||z1(),!sn)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=sn.Canvas,Image:n=sn.Image}=e;sn.Canvas=t,sn.Image=n,sn.createCanvasElement=e.createCanvasElement||(()=>new t),sn.createImageElement=e.createImageElement||(()=>new n),sn.ImageData=e.ImageData||sn.ImageData,sn.Video=e.Video||sn.Video,sn.fetch=e.fetch||sn.fetch,sn.readFile=e.readFile||sn.readFile}var et={getEnv:jpe,setEnv:L1,initialize:z1,createBrowserEnv:M1,createFileSystem:Tg,createNodejsEnv:P1,monkeyPatch:qpe,isBrowser:O1,isNodejs:Nd};z1();function zo(e){return!et.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function Kn(e){let{Canvas:t,CanvasRenderingContext2D:n}=et.getEnv();if(e instanceof n)return e;let a=zo(e);if(!(a instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let r=a.getContext("2d");if(!r)throw new Error("resolveContext2d - canvas 2d context is null");return r}var W1=(r=>(r.TOP_LEFT="TOP_LEFT",r.TOP_RIGHT="TOP_RIGHT",r.BOTTOM_LEFT="BOTTOM_LEFT",r.BOTTOM_RIGHT="BOTTOM_RIGHT",r))(W1||{}),bp=class{constructor(t={}){let{anchorPosition:n,backgroundColor:a,fontColor:r,fontSize:s,fontStyle:i,padding:o}=t;this.anchorPosition=n||"TOP_LEFT",this.backgroundColor=a||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=o||4}},Br=class{constructor(t,n,a={}){this.text=typeof t=="string"?[t]:t instanceof Br?t.text:t,this.anchor=n,this.options=new bp(a)}measureWidth(t){let{padding:n}=this.options;return this.text.map(a=>t.measureText(a).width).reduce((a,r)=>a{let m=l+d.x,f=l+d.y+(h+1)*i;a.fillText(c,m,f)})}};var Sg=class{constructor(t={}){let{boxColor:n,lineWidth:a,label:r,drawLabelOptions:s}=t;this.boxColor=n||"rgba(0, 0, 255, 1)",this.lineWidth=a||2,this.label=r;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new bp({...i,...s})}},Cd=class{constructor(t,n={}){this.box=new lt(t),this.options=new Sg(n)}draw(t){let n=Kn(t),{boxColor:a,lineWidth:r}=this.options,{x:s,y:i,width:o,height:l}=this.box;n.strokeStyle=a,n.lineWidth=r,n.strokeRect(s,i,o,l);let{label:u}=this.options;u&&new Br([u],{x:s-r/2,y:i},this.options.drawLabelOptions).draw(t)}};function Kpe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof xt?a.score:kr(a)?a.detection.score:void 0,s=a instanceof xt?a.box:kr(a)?a.detection.box:new lt(a),i=r?`${Do(r)}`:void 0;new Cd(s,{label:i}).draw(e)})}function _d(e){let{Image:t,Video:n}=et.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function B1(e){return new Promise((t,n)=>{(e instanceof et.getEnv().Canvas||_d(e))&&t(null);function a(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),n(s))}function r(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),t(s))}e.addEventListener("load",r),e.addEventListener("error",a)})}function V1(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToImage - expected buf to be of type: Blob"));let a=new FileReader;a.onload=()=>{typeof a.result!="string"&&n(new Error("bufferToImage - expected reader.result to be a string, in onload"));let r=et.getEnv().createImageElement();r.onload=()=>t(r),r.onerror=n,r.src=a.result},a.onerror=n,a.readAsDataURL(e)})}function Wo(e){let{Image:t,Video:n}=et.getEnv();return e instanceof t?new bn(e.naturalWidth,e.naturalHeight):e instanceof n?new bn(e.videoWidth,e.videoHeight):new bn(e.width,e.height)}function Bo({width:e,height:t}){let{createCanvasElement:n}=et.getEnv(),a=n();return a.width=e,a.height=t,a}function Ed(e,t){let{ImageData:n}=et.getEnv();if(!(e instanceof n)&&!_d(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:a,height:r}=t||Wo(e),s=Bo({width:a,height:r});return e instanceof n?Kn(s).putImageData(e,0,0):Kn(s).drawImage(e,0,0,a,r),s}async function U1(e,t){let n=t||et.getEnv().createCanvasElement(),[a,r,s]=e.shape.slice(va(e)?1:0),i=O(()=>e.as3D(a,r,s).toInt());return await ko.toPixels(i,n),i.dispose(),n}function Ng(e){let{Image:t,Canvas:n,Video:a}=et.getEnv();return e instanceof t||e instanceof n||e instanceof a}function G1(e,t,n=!1){let{Image:a,Canvas:r}=et.getEnv();if(!(e instanceof a||e instanceof r))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Bo({width:1,height:1});let s=Wo(e),i=t/Math.max(s.height,s.width),o=i*s.width,l=i*s.height,u=Bo({width:t,height:t}),p=e instanceof r?e:Ed(e),d=Math.abs(o-l)/2,c=n&&o0&&p.height>0&&Kn(u).drawImage(p,c,h,o,l),u}var Ir=class{constructor(t,n=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=n,this._batchSize=t.length,t.forEach((a,r)=>{if(zr(a)){this._imageTensors[r]=a,this._inputDimensions[r]=a.shape;return}if(va(a)){let i=a.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=a,this._inputDimensions[r]=a.shape.slice(1);return}let s=a instanceof et.getEnv().Canvas?a:Ed(a);this._canvases[r]=s,this._inputDimensions[r]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return vr(this.batchSize,0,1).map((t,n)=>this.getReshapedInputDimensions(n))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let n=this.getInputWidth(t),a=this.getInputHeight(t);return C1({width:n,height:a},this.inputSize)}toBatchTensor(t,n=!0){return this._inputSize=t,O(()=>{let a=vr(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof $e){let o=va(i)?i:mn(i);return o=F1(o,n),(o.shape[1]!==t||o.shape[2]!==t)&&(o=Er.resizeBilinear(o,[t,t],!1,!1)),o.as3D(t,t,3)}if(i instanceof et.getEnv().Canvas)return ko.fromPixels(G1(i,t,n));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return Rt(a.map(s=>le(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function vt(e){if(e instanceof Ir)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");let n=r=>Array.isArray(e)?` at input index ${r}:`:"",a=t.map(zo);return a.forEach((r,s)=>{if(!Ng(r)&&!zr(r)&&!va(r))throw typeof t[s]=="string"?new Error(`toNetInput -${n(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${n(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(va(r)){let i=r.shape[0];if(i!==1)throw new Error(`toNetInput -${n(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(a.map(r=>Ng(r)&&B1(r))),new Ir(a,Array.isArray(e))}async function yp(e,t){let{Canvas:n}=et.getEnv(),a=e;if(!(e instanceof n)){let i=await vt(e);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let o=i.getInput(0);a=o instanceof n?o:await U1(o)}let r=Kn(a);return t.map(i=>i instanceof xt?i.forSize(a.width,a.height).box.floor():i).map(i=>i.clipAtImageBorders(a.width,a.height)).map(({x:i,y:o,width:l,height:u})=>{let p=Bo({width:l,height:u});return l>0&&u>0&&Kn(p).putImageData(r.getImageData(i,o,l,u),0,0),p})}async function xp(e,t){if(!zr(e)&&!va(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(va(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return O(()=>{let[n,a,r]=e.shape.slice(va(e)?1:0);return t.map(o=>o instanceof xt?o.forSize(a,n).box:o).map(o=>o.clipAtImageBorders(a,n)).filter(o=>o.width>0&&o.height>0).map(({x:o,y:l,width:u,height:p})=>To(e.as3D(n,a,r),[l,o,0],[p,u,r]))})}async function Vr(e,t){let{fetch:n}=et.getEnv(),a=await n(e,t);if(!(a.status<400))throw new Error(`failed to fetch: (${a.status}) ${a.statusText}, from url: ${a.url}`);return a}async function Xpe(e){let t=await Vr(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return V1(n)}async function H1(e){return(await Vr(e)).json()}async function Ype(e){return new Float32Array(await(await Vr(e)).arrayBuffer())}function Q$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToVideo - expected buf to be of type: Blob"));let a=et.getEnv().createVideoElement();a.oncanplay=()=>t(a),a.onerror=n,a.playsInline=!0,a.muted=!0,a.src=URL.createObjectURL(e),a.play()})}async function Zpe(e){let t=await Vr(e),n=await t.blob();if(!n.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${n.type}, for url: ${t.url}`);return Q$(n)}function Cg(e,t){let n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};let a=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(a,"");let r=e.split("/").filter(o=>o),s=e.endsWith(".json")?r[r.length-1]:n,i=a+(e.endsWith(".json")?r.slice(0,r.length-1):r).join("/");return i=e.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function j1(e,t){let{manifestUri:n,modelBaseUri:a}=Cg(e,t),r=await H1(n);return Nn.loadWeights(r,a)}function Jpe(e,t,n=!1){let{width:a,height:r}=n?Wo(t):t;return e.width=a,e.height=r,{width:a,height:r}}var on=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:n,objProp:a}=this.traversePropertyPath(t);return n[a]}reassignParamFromPath(t,n){let{obj:a,objProp:r}=this.traversePropertyPath(t);a[r].dispose(),a[r]=n}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof us)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof us))}variable(){this.getFrozenParams().forEach(({path:t,tensor:n})=>{this.reassignParamFromPath(t,n.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:n})=>{let a=Bn(n.dataSync());n.dispose(),this.reassignParamFromPath(t,a)})}dispose(t=!0){this.getParamList().forEach(n=>{if(t&&n.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${n.path}`);n.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,n)=>t.concat(n)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let n=await j1(t,this.getDefaultModelName());this.loadFromWeightMap(n)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:n}=et.getEnv(),{manifestUri:a,modelBaseUri:r}=Cg(t,this.getDefaultModelName()),s=u=>Promise.all(u.map(p=>n(p).then(d=>d.buffer))),i=Nn.weightsLoaderFactory(s),o=JSON.parse((await n(a)).toString()),l=await i(o,r);this.loadFromWeightMap(l)}loadFromWeightMap(t){let{paramMappings:n,params:a}=this.extractParamsFromWeightMap(t);this._paramMappings=n,this._params=a}extractWeights(t){let{paramMappings:n,params:a}=this.extractParams(t);this._paramMappings=n,this._params=a}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let n=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:a,objProp:r}=n;if(!a||!r||!(a[r]instanceof $e))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:a,objProp:r}}};function Xn(e,t,n){return O(()=>{let a=Es(e,t.depthwise_filter,t.pointwise_filter,n,"same");return a=Q(a,t.bias),a})}function _g(e,t,n=!1){return O(()=>{let a=Xe(n?Q(Dt(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):Xn(e,t.conv0,[2,2])),r=Xn(a,t.conv1,[1,1]),s=Xe(Q(a,r)),i=Xn(s,t.conv2,[1,1]);return Xe(Q(a,Q(r,i)))})}function $d(e,t,n=!1,a=!0){return O(()=>{let r=Xe(n?Q(Dt(e,t.conv0.filters,a?[2,2]:[1,1],"same"),t.conv0.bias):Xn(e,t.conv0,a?[2,2]:[1,1])),s=Xn(r,t.conv1,[1,1]),i=Xe(Q(r,s)),o=Xn(i,t.conv2,[1,1]),l=Xe(Q(r,Q(s,o))),u=Xn(l,t.conv3,[1,1]);return Xe(Q(r,Q(s,Q(o,u))))})}function Vo(e,t,n="same",a=!1){return O(()=>{let r=Q(Dt(e,t.filters,[1,1],n),t.bias);return a?Xe(r):r})}function Dn(e,t){Object.keys(e).forEach(n=>{t.some(a=>a.originalPath===n)||e[n].dispose()})}function vp(e,t){return(n,a,r,s)=>{let i=Fa(e(n*a*r*r),[r,r,n,a]),o=Ke(e(a));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:o}}}function Eg(e,t){return(n,a,r)=>{let s=Ea(e(n*a),[n,a]),i=Ke(e(a));return t.push({paramPath:`${r}/weights`},{paramPath:`${r}/bias`}),{weights:s,bias:i}}}var Ad=class{constructor(t,n,a){this.depthwise_filter=t;this.pointwise_filter=n;this.bias=a}};function wp(e,t){return(n,a,r)=>{let s=Fa(e(9*n),[3,3,n,1]),i=Fa(e(n*a),[1,1,n,a]),o=Ke(e(a));return t.push({paramPath:`${r}/depthwise_filter`},{paramPath:`${r}/pointwise_filter`},{paramPath:`${r}/bias`}),new Ad(s,i,o)}}function kp(e){return t=>{let n=e(`${t}/depthwise_filter`,4),a=e(`${t}/pointwise_filter`,4),r=e(`${t}/bias`,1);return new Ad(n,a,r)}}function sa(e,t){return(n,a,r)=>{let s=e[n];if(!Fo(s,a))throw new Error(`expected weightMap[${n}] to be a Tensor${a}D, instead have ${s}`);return t.push({originalPath:n,paramPath:r||n}),s}}function Rn(e){let t=e;function n(r){let s=t.slice(0,r);return t=t.slice(r),s}function a(){return t}return{extractWeights:n,getRemainingWeights:a}}function $g(e,t){let n=vp(e,t),a=wp(e,t);function r(i,o,l,u=!1){let p=u?n(i,o,3,`${l}/conv0`):a(i,o,`${l}/conv0`),d=a(o,o,`${l}/conv1`),c=a(o,o,`${l}/conv2`);return{conv0:p,conv1:d,conv2:c}}function s(i,o,l,u=!1){let{conv0:p,conv1:d,conv2:c}=r(i,o,l,u),h=a(o,o,`${l}/conv3`);return{conv0:p,conv1:d,conv2:c,conv3:h}}return{extractDenseBlock3Params:r,extractDenseBlock4Params:s}}function eA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractDenseBlock4Params:r}=$g(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2"),l=r(128,256,"dense3");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o,dense3:l}}}function Ag(e){return t=>{let n=e(`${t}/filters`,4),a=e(`${t}/bias`,1);return{filters:n,bias:a}}}function Fg(e,t){let n=sa(e,t),a=Ag(n),r=kp(n);function s(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`);return{conv0:u,conv1:p,conv2:d}}function i(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`),c=r(`${o}/conv3`);return{conv0:u,conv1:p,conv2:d,conv3:c}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function tA(e){let t=[],{extractDenseBlock4Params:n}=Fg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return Dn(e,t),{params:a,paramMappings:t}}var Ip=class extends on{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceFeatureExtractor - load model before inference");return O(()=>{let a=le(t.toBatchTensor(112,!0),"float32"),s=nr(a,[122.782,117.001,104.298]).div(255),i=$d(s,n.dense0,!0);return i=$d(i,n.dense1),i=$d(i,n.dense2),i=$d(i,n.dense3),i=ba(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return tA(t)}extractParams(t){return eA(t)}};function Fd(e,t){return O(()=>Q(Re(e,t.weights),t.bias))}function nA(e,t,n){let a=[],{extractWeights:r,getRemainingWeights:s}=Rn(e),o=Eg(r,a)(t,n,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:a,params:{fc:o}}}function aA(e){let t=[],n=sa(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:a("fc")};return Dn(e,t),{params:r,paramMappings:t}}function Dg(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=a.startsWith("fc")?n:t;r[a]=e[a]}),{featureExtractorMap:t,classifierMap:n}}var Tp=class extends on{constructor(n,a){super(n);this._faceFeatureExtractor=a}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(n){let{params:a}=this;if(!a)throw new Error(`${this._name} - load model before inference`);return O(()=>{let r=n instanceof Ir?this.faceFeatureExtractor.forwardInput(n):n;return Fd(r.as2D(r.shape[0],-1),a.fc)})}dispose(n=!0){this.faceFeatureExtractor.dispose(n),super.dispose(n)}loadClassifierParams(n){let{params:a,paramMappings:r}=this.extractClassifierParams(n);this._params=a,this._paramMappings=r}extractClassifierParams(n){return nA(n,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(n){let{featureExtractorMap:a,classifierMap:r}=Dg(n);return this.faceFeatureExtractor.loadFromWeightMap(a),aA(r)}extractParams(n){let a=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),s=r*a+r,i=n.slice(0,n.length-s),o=n.slice(n.length-s);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(o)}};var q1=["neutral","happy","sad","angry","fearful","disgusted","surprised"],Ur=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);q1.forEach((n,a)=>{this[n]=t[a]})}asSortedArray(){return q1.map(t=>({expression:t,probability:this[t]})).sort((t,n)=>n.probability-t.probability)}};var Dd=class extends Tp{constructor(t=new Ip){super("FaceExpressionNet",t)}forwardInput(t){return O(()=>Qa(this.runNet(t)))}async forward(t){return this.forwardInput(await vt(t))}async predictExpressions(t){let n=await vt(t),a=await this.forwardInput(n),r=await Promise.all(mt(a).map(async i=>{let o=i.dataSync();return i.dispose(),o}));a.dispose();let s=r.map(i=>new Ur(i));return n.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function K1(e){return e.expressions instanceof Ur}function Rg(e,t){return{...e,...{expressions:t}}}function Qpe(e,t,n=.1,a){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof Ur?s:K1(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let l=i.asSortedArray().filter(d=>d.probability>n),u=kr(s)?s.detection.box.bottomLeft:a||new Pe(0,0);new Br(l.map(d=>`${d.expression} (${Do(d.probability)})`),u).draw(e)})}function Uo(e){return kr(e)&&e.landmarks instanceof ra&&e.unshiftedLandmarks instanceof ra&&e.alignedRect instanceof xt}function ece(e){let t=(o,l,u,p)=>Math.atan2(p-l,u-o)%Math.PI,n=o=>o*180/Math.PI,a={roll:void 0,pitch:void 0,yaw:void 0};if(!e||!e._positions||e._positions.length!==68)return a;let r=e._positions;a.roll=-t(r[36]._x,r[36]._y,r[45]._x,r[45]._y),a.pitch=t(0,Math.abs(r[0]._x-r[30]._x)/r[30]._x,Math.PI,Math.abs(r[16]._x-r[30]._x)/r[30]._x);let s=r.reduce((o,l)=>oo>l._y?o:l._y,-1/0);return a.yaw=Math.PI*(e._imgDims._height/(i-s)/1.4-1),a}function Sp(e,t){let{box:n}=e.detection,a=t.shiftBy(n.x,n.y),r=a.align(),{imageDims:s}=e.detection,i=new xt(e.detection.score,r.rescale(s.reverse()),s),o=ece(t);return{...e,...{landmarks:a,unshiftedLandmarks:t,alignedRect:i,angle:o}}}var Mg=class{constructor(t={}){let{drawLines:n=!0,drawPoints:a=!0,lineWidth:r,lineColor:s,pointSize:i,pointColor:o}=t;this.drawLines=n,this.drawPoints=a,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=o||"rgba(255, 0, 255, 1)"}},Pg=class{constructor(t,n={}){this.faceLandmarks=t,this.options=new Mg(n)}draw(t){let n=Kn(t),{drawLines:a,drawPoints:r,lineWidth:s,lineColor:i,pointSize:o,pointColor:l}=this.options;if(a&&this.faceLandmarks instanceof Oo&&(n.strokeStyle=i,n.lineWidth=s,Lr(n,this.faceLandmarks.getJawOutline()),Lr(n,this.faceLandmarks.getLeftEyeBrow()),Lr(n,this.faceLandmarks.getRightEyeBrow()),Lr(n,this.faceLandmarks.getNose()),Lr(n,this.faceLandmarks.getLeftEye(),!0),Lr(n,this.faceLandmarks.getRightEye(),!0),Lr(n,this.faceLandmarks.getMouth(),!0)),r){n.strokeStyle=l,n.fillStyle=l;let u=p=>{n.beginPath(),n.arc(p.x,p.y,o,0,2*Math.PI),n.fill()};this.faceLandmarks.positions.forEach(u)}}};function tce(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof ra?a:Uo(a)?a.landmarks:void 0;if(!r)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new Pg(r).draw(e)})}var rA="1.7.3";function rce(e,t){let n=vp(e,t),a=wp(e,t);function r(i,o,l){let u=a(i,o,`${l}/separable_conv0`),p=a(o,o,`${l}/separable_conv1`),d=n(i,o,1,`${l}/expansion_conv`);return{separable_conv0:u,separable_conv1:p,expansion_conv:d}}function s(i,o){let l=a(i,i,`${o}/separable_conv0`),u=a(i,i,`${o}/separable_conv1`),p=a(i,i,`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:n,extractSeparableConvParams:a,extractReductionBlockParams:r,extractMainBlockParams:s}}function sA(e,t){let n=[],{extractWeights:a,getRemainingWeights:r}=Rn(e),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:l}=rce(a,n),u=s(3,32,3,"entry_flow/conv_in"),p=o(32,64,"entry_flow/reduction_block_0"),d=o(64,128,"entry_flow/reduction_block_1"),c={conv_in:u,reduction_block_0:p,reduction_block_1:d},h={};vr(t,0,1).forEach(b=>{h[`main_block_${b}`]=l(128,`middle_flow/main_block_${b}`)});let m=o(128,256,"exit_flow/reduction_block"),f=i(256,512,"exit_flow/separable_conv"),g={reduction_block:m,separable_conv:f};if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:n,params:{entry_flow:c,middle_flow:h,exit_flow:g}}}function sce(e,t){let n=sa(e,t),a=Ag(n),r=kp(n);function s(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=a(`${o}/expansion_conv`);return{separable_conv0:l,separable_conv1:u,expansion_conv:p}}function i(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=r(`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}}function iA(e,t){let n=[],{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}=sce(e,n),o=a("entry_flow/conv_in"),l=s("entry_flow/reduction_block_0"),u=s("entry_flow/reduction_block_1"),p={conv_in:o,reduction_block_0:l,reduction_block_1:u},d={};vr(t,0,1).forEach(f=>{d[`main_block_${f}`]=i(`middle_flow/main_block_${f}`)});let c=s("exit_flow/reduction_block"),h=r("exit_flow/separable_conv"),m={reduction_block:c,separable_conv:h};return Dn(e,n),{params:{entry_flow:p,middle_flow:d,exit_flow:m},paramMappings:n}}function oA(e,t,n){return Q(Dt(e,t.filters,n,"same"),t.bias)}function Y1(e,t,n=!0){let a=n?Xe(e):e;return a=Xn(a,t.separable_conv0,[1,1]),a=Xn(Xe(a),t.separable_conv1,[1,1]),a=Mt(a,[3,3],[2,2],"same"),a=Q(a,oA(e,t.expansion_conv,[2,2])),a}function ice(e,t){let n=Xn(Xe(e),t.separable_conv0,[1,1]);return n=Xn(Xe(n),t.separable_conv1,[1,1]),n=Xn(Xe(n),t.separable_conv2,[1,1]),n=Q(n,e),n}var Og=class extends on{constructor(n){super("TinyXception");this._numMainBlocks=n}forwardInput(n){let{params:a}=this;if(!a)throw new Error("TinyXception - load model before inference");return O(()=>{let r=le(n.toBatchTensor(112,!0),"float32"),i=nr(r,[122.782,117.001,104.298]).div(255),o=Xe(oA(i,a.entry_flow.conv_in,[2,2]));return o=Y1(o,a.entry_flow.reduction_block_0,!1),o=Y1(o,a.entry_flow.reduction_block_1),vr(this._numMainBlocks,0,1).forEach(l=>{o=ice(o,a.middle_flow[`main_block_${l}`])}),o=Y1(o,a.exit_flow.reduction_block),o=Xe(Xn(o,a.exit_flow.separable_conv,[1,1])),o})}async forward(n){return this.forwardInput(await vt(n))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(n){return iA(n,this._numMainBlocks)}extractParams(n){return sA(n,this._numMainBlocks)}};function lA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),r=Eg(n,t),s=r(512,1,"fc/age"),i=r(512,2,"fc/gender");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function uA(e){let t=[],n=sa(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:{age:a("fc/age"),gender:a("fc/gender")}};return Dn(e,t),{params:r,paramMappings:t}}var Lg=(n=>(n.FEMALE="female",n.MALE="male",n))(Lg||{});var Rd=class extends on{constructor(n=new Og(2)){super("AgeGenderNet");this._faceFeatureExtractor=n}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(n){let{params:a}=this;if(!a)throw new Error(`${this._name} - load model before inference`);return O(()=>{let r=n instanceof Ir?this.faceFeatureExtractor.forwardInput(n):n,s=ba(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),i=Fd(s,a.fc.age).as1D(),o=Fd(s,a.fc.gender);return{age:i,gender:o}})}forwardInput(n){return O(()=>{let{age:a,gender:r}=this.runNet(n);return{age:a,gender:Qa(r)}})}async forward(n){return this.forwardInput(await vt(n))}async predictAgeAndGender(n){let a=await vt(n),r=await this.forwardInput(a),s=mt(r.age),i=mt(r.gender),o=s.map((u,p)=>({ageTensor:u,genderTensor:i[p]})),l=await Promise.all(o.map(async({ageTensor:u,genderTensor:p})=>{let d=u.dataSync()[0],c=p.dataSync()[0],h=c>.5,m=h?"male":"female",f=h?c:1-c;return u.dispose(),p.dispose(),{age:d,gender:m,genderProbability:f}}));return r.age.dispose(),r.gender.dispose(),a.isBatchInput?l:l[0]}getDefaultModelName(){return"age_gender_model"}dispose(n=!0){this.faceFeatureExtractor.dispose(n),super.dispose(n)}loadClassifierParams(n){let{params:a,paramMappings:r}=this.extractClassifierParams(n);this._params=a,this._paramMappings=r}extractClassifierParams(n){return lA(n)}extractParamsFromWeightMap(n){let{featureExtractorMap:a,classifierMap:r}=Dg(n);return this.faceFeatureExtractor.loadFromWeightMap(a),uA(r)}extractParams(n){let r=n.slice(0,n.length-1539),s=n.slice(n.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(s)}};var Np=class extends Tp{postProcess(t,n,a){let r=a.map(({width:i,height:o})=>{let l=n/Math.max(o,i);return{width:i*l,height:o*l}}),s=r.length;return O(()=>{let i=(d,c)=>Rt([$n([68],d,"float32"),$n([68],c,"float32")],1).as2D(1,136).as1D(),o=(d,c)=>{let{width:h,height:m}=r[d];return c(h,m)?Math.abs(h-m)/2:0},l=d=>o(d,(c,h)=>co(d,(c,h)=>hi(l(c),u(c))))).div(Rt(Array.from(Array(s),(d,c)=>i(r[c].width,r[c].height))))})}forwardInput(t){return O(()=>{let n=this.runNet(t);return this.postProcess(n,t.inputSize,t.inputDimensions.map(([a,r])=>({height:a,width:r})))})}async forward(t){return this.forwardInput(await vt(t))}async detectLandmarks(t){let n=await vt(t),a=O(()=>mt(this.forwardInput(n))),r=await Promise.all(a.map(async(s,i)=>{let o=Array.from(s.dataSync()),l=o.filter((p,d)=>kg(d)),u=o.filter((p,d)=>!kg(d));return new Oo(Array(68).fill(0).map((p,d)=>new Pe(l[d],u[d])),{height:n.getInputHeight(i),width:n.getInputWidth(i)})}));return a.forEach(s=>s.dispose()),n.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}};var Go=class extends Np{constructor(t=new Ip){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function pA(e){let t=[],{extractDenseBlock3Params:n}=Fg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return Dn(e,t),{params:a,paramMappings:t}}function cA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractDenseBlock3Params:r}=$g(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o}}}var zg=class extends on{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyFaceFeatureExtractor - load model before inference");return O(()=>{let a=le(t.toBatchTensor(112,!0),"float32"),s=nr(a,[122.782,117.001,104.298]).div(255),i=_g(s,n.dense0,!0);return i=_g(i,n.dense1),i=_g(i,n.dense2),i=ba(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return pA(t)}extractParams(t){return cA(t)}};var Md=class extends Np{constructor(t=new zg){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var Z1=class extends Go{};function dA(e,t){return Q(W(e,t.weights),t.biases)}function J1(e,t,n,a,r="same"){let{filters:s,bias:i}=t.conv,o=Dt(e,s,n,r);return o=Q(o,i),o=dA(o,t.scale),a?Xe(o):o}function hA(e,t){return J1(e,t,[1,1],!0)}function Q1(e,t){return J1(e,t,[1,1],!1)}function Wg(e,t){return J1(e,t,[2,2],!0,"valid")}function oce(e,t){function n(o,l,u){let p=e(o),d=p.length/(l*u*u);if(N1(d))throw new Error(`depth has to be an integer: ${d}, weights.length: ${p.length}, numFilters: ${l}, filterSize: ${u}`);return O(()=>Ae(Fa(p,[l,d,u,u]),[2,3,1,0]))}function a(o,l,u,p){let d=n(o,l,u),c=Ke(e(l));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:d,bias:c}}function r(o,l){let u=Ke(e(o)),p=Ke(e(o));return t.push({paramPath:`${l}/weights`},{paramPath:`${l}/biases`}),{weights:u,biases:p}}function s(o,l,u,p){let d=a(o,l,u,`${p}/conv`),c=r(l,`${p}/scale`);return{conv:d,scale:c}}function i(o,l,u,p,d=!1){let c=s((d?.5:1)*o,l,u,`${p}/conv1`),h=s(o,l,u,`${p}/conv2`);return{conv1:c,conv2:h}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function mA(e){let{extractWeights:t,getRemainingWeights:n}=Rn(e),a=[],{extractConvLayerParams:r,extractResidualLayerParams:s}=oce(t,a),i=r(4704,32,7,"conv32_down"),o=s(9216,32,3,"conv32_1"),l=s(9216,32,3,"conv32_2"),u=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),d=s(36864,64,3,"conv64_1"),c=s(36864,64,3,"conv64_2"),h=s(36864,64,3,"conv64_3"),m=s(147456,128,3,"conv128_down",!0),f=s(147456,128,3,"conv128_1"),g=s(147456,128,3,"conv128_2"),b=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),w=s(589824,256,3,"conv256_down_out"),I=O(()=>Ae(Ea(t(256*128),[128,256]),[1,0]));if(a.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{params:{conv32_down:i,conv32_1:o,conv32_2:l,conv32_3:u,conv64_down:p,conv64_1:d,conv64_2:c,conv64_3:h,conv128_down:m,conv128_1:f,conv128_2:g,conv256_down:b,conv256_1:y,conv256_2:x,conv256_down_out:w,fc:I},paramMappings:a}}function lce(e,t){let n=sa(e,t);function a(i){let o=n(`${i}/scale/weights`,1),l=n(`${i}/scale/biases`,1);return{weights:o,biases:l}}function r(i){let o=n(`${i}/conv/filters`,4),l=n(`${i}/conv/bias`,1),u=a(i);return{conv:{filters:o,bias:l},scale:u}}function s(i){return{conv1:r(`${i}/conv1`),conv2:r(`${i}/conv2`)}}return{extractConvLayerParams:r,extractResidualLayerParams:s}}function fA(e){let t=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=lce(e,t),r=n("conv32_down"),s=a("conv32_1"),i=a("conv32_2"),o=a("conv32_3"),l=a("conv64_down"),u=a("conv64_1"),p=a("conv64_2"),d=a("conv64_3"),c=a("conv128_down"),h=a("conv128_1"),m=a("conv128_2"),f=a("conv256_down"),g=a("conv256_1"),b=a("conv256_2"),y=a("conv256_down_out"),{fc:x}=e;if(t.push({originalPath:"fc",paramPath:"fc"}),!S1(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let w={conv32_down:r,conv32_1:s,conv32_2:i,conv32_3:o,conv64_down:l,conv64_1:u,conv64_2:p,conv64_3:d,conv128_down:c,conv128_1:h,conv128_2:m,conv256_down:f,conv256_1:g,conv256_2:b,conv256_down_out:y,fc:x};return Dn(e,t),{params:w,paramMappings:t}}function ar(e,t){let n=hA(e,t.conv1);return n=Q1(n,t.conv2),n=Q(n,e),n=Xe(n),n}function Pd(e,t){let n=Wg(e,t.conv1);n=Q1(n,t.conv2);let a=ba(e,2,2,"valid"),r=It(a.shape),s=a.shape[3]!==n.shape[3];if(a.shape[1]!==n.shape[1]||a.shape[2]!==n.shape[2]){let o=[...n.shape];o[1]=1;let l=It(o);n=Qe([n,l],1);let u=[...n.shape];u[2]=1;let p=It(u);n=Qe([n,p],2)}return a=s?Qe([a,r],3):a,n=Q(a,n),n=Xe(n),n}var Ho=class extends on{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceRecognitionNet - load model before inference");return O(()=>{let a=le(t.toBatchTensor(150,!0),"float32"),s=nr(a,[122.782,117.001,104.298]).div(255),i=Wg(s,n.conv32_down);i=Mt(i,3,2,"valid"),i=ar(i,n.conv32_1),i=ar(i,n.conv32_2),i=ar(i,n.conv32_3),i=Pd(i,n.conv64_down),i=ar(i,n.conv64_1),i=ar(i,n.conv64_2),i=ar(i,n.conv64_3),i=Pd(i,n.conv128_down),i=ar(i,n.conv128_1),i=ar(i,n.conv128_2),i=Pd(i,n.conv256_down),i=ar(i,n.conv256_1),i=ar(i,n.conv256_2),i=Pd(i,n.conv256_down_out);let o=i.mean([1,2]);return Re(o,n.fc)})}async forward(t){return this.forwardInput(await vt(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let n=await vt(t),a=O(()=>mt(this.forwardInput(n))),r=await Promise.all(a.map(i=>i.data()));return a.forEach(i=>i.dispose()),n.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return fA(t)}extractParams(t){return mA(t)}};function uce(e){let t=new Ho;return t.extractWeights(e),t}function Bg(e,t){return{...e,...{descriptor:t}}}function pce(e){return typeof e.age=="number"}function Vg(e,t){return{...e,...{age:t}}}function cce(e){return(e.gender==="male"||e.gender==="female")&&mp(e.genderProbability)}function Ug(e,t,n){return{...e,...{gender:t,genderProbability:n}}}function dce(e,t){function n(l,u){let p=Fa(e(9*l),[3,3,l,1]),d=Ke(e(l)),c=Ke(e(l)),h=Ke(e(l)),m=Ke(e(l));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/batch_norm_scale`},{paramPath:`${u}/batch_norm_offset`},{paramPath:`${u}/batch_norm_mean`},{paramPath:`${u}/batch_norm_variance`}),{filters:p,batch_norm_scale:d,batch_norm_offset:c,batch_norm_mean:h,batch_norm_variance:m}}function a(l,u,p,d,c){let h=Fa(e(l*u*p*p),[p,p,l,u]),m=Ke(e(u));return t.push({paramPath:`${d}/filters`},{paramPath:`${d}/${c?"batch_norm_offset":"bias"}`}),{filters:h,bias:m}}function r(l,u,p,d){let{filters:c,bias:h}=a(l,u,p,d,!0);return{filters:c,batch_norm_offset:h}}function s(l,u,p){let d=n(l,`${p}/depthwise_conv`),c=r(l,u,1,`${p}/pointwise_conv`);return{depthwise_conv:d,pointwise_conv:c}}function i(){let l=r(3,32,3,"mobilenetv1/conv_0"),u=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),d=s(128,128,"mobilenetv1/conv_3"),c=s(128,256,"mobilenetv1/conv_4"),h=s(256,256,"mobilenetv1/conv_5"),m=s(256,512,"mobilenetv1/conv_6"),f=s(512,512,"mobilenetv1/conv_7"),g=s(512,512,"mobilenetv1/conv_8"),b=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),w=s(512,1024,"mobilenetv1/conv_12"),I=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,conv_8:g,conv_9:b,conv_10:y,conv_11:x,conv_12:w,conv_13:I}}function o(){let l=r(1024,256,1,"prediction_layer/conv_0"),u=r(256,512,3,"prediction_layer/conv_1"),p=r(512,128,1,"prediction_layer/conv_2"),d=r(128,256,3,"prediction_layer/conv_3"),c=r(256,128,1,"prediction_layer/conv_4"),h=r(128,256,3,"prediction_layer/conv_5"),m=r(256,64,1,"prediction_layer/conv_6"),f=r(64,128,3,"prediction_layer/conv_7"),g=a(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),b=a(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=a(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=a(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),w=a(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),I=a(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),N=a(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),_=a(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),$=a(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),A=a(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),M=a(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),D=a(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,box_predictor_0:{box_encoding_predictor:g,class_predictor:b},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:w,class_predictor:I},box_predictor_3:{box_encoding_predictor:N,class_predictor:_},box_predictor_4:{box_encoding_predictor:$,class_predictor:A},box_predictor_5:{box_encoding_predictor:M,class_predictor:D}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:o}}function gA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractMobilenetV1Params:r,extractPredictionLayerParams:s}=dce(n,t),i=r(),o=s(),u={extra_dim:Kc(n(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:{mobilenetv1:i,prediction_layer:o,output_layer:u},paramMappings:t}}function hce(e,t){let n=sa(e,t);function a(u,p,d){let c=n(`${u}/Conv2d_${p}_pointwise/weights`,4,`${d}/filters`),h=n(`${u}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${d}/batch_norm_offset`);return{filters:c,batch_norm_offset:h}}function r(u){let p=`mobilenetv1/conv_${u}`,d=`MobilenetV1/Conv2d_${u}_depthwise`,c=`${p}/depthwise_conv`,h=`${p}/pointwise_conv`,m=n(`${d}/depthwise_weights`,4,`${c}/filters`),f=n(`${d}/BatchNorm/gamma`,1,`${c}/batch_norm_scale`),g=n(`${d}/BatchNorm/beta`,1,`${c}/batch_norm_offset`),b=n(`${d}/BatchNorm/moving_mean`,1,`${c}/batch_norm_mean`),y=n(`${d}/BatchNorm/moving_variance`,1,`${c}/batch_norm_variance`);return{depthwise_conv:{filters:m,batch_norm_scale:f,batch_norm_offset:g,batch_norm_mean:b,batch_norm_variance:y},pointwise_conv:a("MobilenetV1",u,h)}}function s(){return{conv_0:a("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:r(1),conv_2:r(2),conv_3:r(3),conv_4:r(4),conv_5:r(5),conv_6:r(6),conv_7:r(7),conv_8:r(8),conv_9:r(9),conv_10:r(10),conv_11:r(11),conv_12:r(12),conv_13:r(13)}}function i(u,p){let d=n(`${u}/weights`,4,`${p}/filters`),c=n(`${u}/biases`,1,`${p}/bias`);return{filters:d,bias:c}}function o(u){let p=i(`Prediction/BoxPredictor_${u}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${u}/box_encoding_predictor`),d=i(`Prediction/BoxPredictor_${u}/ClassPredictor`,`prediction_layer/box_predictor_${u}/class_predictor`);return{box_encoding_predictor:p,class_predictor:d}}function l(){return{conv_0:a("Prediction",0,"prediction_layer/conv_0"),conv_1:a("Prediction",1,"prediction_layer/conv_1"),conv_2:a("Prediction",2,"prediction_layer/conv_2"),conv_3:a("Prediction",3,"prediction_layer/conv_3"),conv_4:a("Prediction",4,"prediction_layer/conv_4"),conv_5:a("Prediction",5,"prediction_layer/conv_5"),conv_6:a("Prediction",6,"prediction_layer/conv_6"),conv_7:a("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:o(0),box_predictor_1:o(1),box_predictor_2:o(2),box_predictor_3:o(3),box_predictor_4:o(4),box_predictor_5:o(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:l}}function bA(e){let t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=hce(e,t),r=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!zr(r))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${r}`);let s={mobilenetv1:n(),prediction_layer:a(),output_layer:{extra_dim:r}};return Dn(e,t),{params:s,paramMappings:t}}function Ma(e,t,n){return O(()=>{let a=Dt(e,t.filters,n,"same");return a=Q(a,t.batch_norm_offset),tn(a,0,6)})}var mce=.0010000000474974513;function fce(e,t,n){return O(()=>{let a=Ns(e,t.filters,n,"same");return a=Ss(a,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,mce),tn(a,0,6)})}function gce(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function yA(e,t){return O(()=>{let n,a=Ma(e,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let o=i+1,l=gce(o);a=fce(a,s.depthwise_conv,l),a=Ma(a,s.pointwise_conv,[1,1]),o===11&&(n=a)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:a,conv11:n}})}function bce(e,t,n){let a=e.arraySync(),r=Math.min(a[t][0],a[t][2]),s=Math.min(a[t][1],a[t][3]),i=Math.max(a[t][0],a[t][2]),o=Math.max(a[t][1],a[t][3]),l=Math.min(a[n][0],a[n][2]),u=Math.min(a[n][1],a[n][3]),p=Math.max(a[n][0],a[n][2]),d=Math.max(a[n][1],a[n][3]),c=(i-r)*(o-s),h=(p-l)*(d-u);if(c<=0||h<=0)return 0;let m=Math.max(r,l),f=Math.max(s,u),g=Math.min(i,p),b=Math.min(o,d),y=Math.max(g-m,0)*Math.max(b-f,0);return y/(c+h-y)}function xA(e,t,n,a,r){let s=e.shape[0],i=Math.min(n,s),o=t.map((p,d)=>({score:p,boxIndex:d})).filter(p=>p.score>r).sort((p,d)=>d.score-p.score),l=p=>p<=a?1:0,u=[];return o.forEach(p=>{if(u.length>=i)return;let d=p.score;for(let c=u.length-1;c>=0;--c){let h=bce(e,p.boxIndex,u[c]);if(h!==0&&(p.score*=l(h),p.score<=r))break}d===p.score&&u.push(p.boxIndex)}),u}function yce(e){let t=mt(Ae(e,[1,0])),n=[ce(t[2],t[0]),ce(t[3],t[1])],a=[Q(t[0],fe(n[0],2)),Q(t[1],fe(n[1],2))];return{sizes:n,centers:a}}function xce(e,t){let{sizes:n,centers:a}=yce(e),r=mt(Ae(t,[1,0])),s=fe(W(gn(fe(r[2],5)),n[0]),2),i=Q(W(fe(r[0],10),n[0]),a[0]),o=fe(W(gn(fe(r[3],5)),n[1]),2),l=Q(W(fe(r[1],10),n[1]),a[1]);return Ae(Rt([ce(i,s),ce(l,o),Q(i,s),Q(l,o)]),[1,0])}function vA(e,t,n){return O(()=>{let a=e.shape[0],r=xce(B(Wn(n.extra_dim,[a,1,1]),[-1,4]),B(e,[-1,4]));r=B(r,[a,r.shape[0]/a,4]);let s=ha(He(t,[0,0,1],[-1,-1,-1])),i=He(s,[0,0,0],[-1,-1,1]);i=B(i,[a,i.shape[1]]);let o=mt(r),l=mt(i);return{boxes:o,scores:l}})}function jo(e,t){return O(()=>{let n=e.shape[0],a=B(Vo(e,t.box_encoding_predictor),[n,-1,1,4]),r=B(Vo(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:a,classPrediction:r}})}function wA(e,t,n){return O(()=>{let a=Ma(e,n.conv_0,[1,1]),r=Ma(a,n.conv_1,[2,2]),s=Ma(r,n.conv_2,[1,1]),i=Ma(s,n.conv_3,[2,2]),o=Ma(i,n.conv_4,[1,1]),l=Ma(o,n.conv_5,[2,2]),u=Ma(l,n.conv_6,[1,1]),p=Ma(u,n.conv_7,[2,2]),d=jo(t,n.box_predictor_0),c=jo(e,n.box_predictor_1),h=jo(r,n.box_predictor_2),m=jo(i,n.box_predictor_3),f=jo(l,n.box_predictor_4),g=jo(p,n.box_predictor_5),b=Qe([d.boxPredictionEncoding,c.boxPredictionEncoding,h.boxPredictionEncoding,m.boxPredictionEncoding,f.boxPredictionEncoding,g.boxPredictionEncoding],1),y=Qe([d.classPrediction,c.classPrediction,h.classPrediction,m.classPrediction,f.classPrediction,g.classPrediction],1);return{boxPredictions:b,classPredictions:y}})}var wa=class{constructor({minConfidence:t,maxResults:n}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=n||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var Rs=class extends on{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("SsdMobilenetv1 - load model before inference");return O(()=>{let a=le(t.toBatchTensor(512,!1),"float32"),r=ce(fe(a,127.5),1),s=yA(r,n.mobilenetv1),{boxPredictions:i,classPredictions:o}=wA(s.out,s.conv11,n.prediction_layer);return vA(i,o,n.output_layer)})}async forward(t){return this.forwardInput(await vt(t))}async locateFaces(t,n={}){let{maxResults:a,minConfidence:r}=new wa(n),s=await vt(t),{boxes:i,scores:o}=this.forwardInput(s),l=i[0],u=o[0];for(let x=1;x{let[w,I]=[Math.max(0,b[x][0]),Math.min(1,b[x][2])].map($=>$*g),[N,_]=[Math.max(0,b[x][1]),Math.min(1,b[x][3])].map($=>$*f);return new xt(p[x],new Po(N,w,_-N,I-w),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return l.dispose(),u.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return bA(t)}extractParams(t){return gA(t)}};function kA(e){let t=new Rs;return t.extractWeights(e),t}function vce(e){return kA(e)}var ek=class extends Rs{};var IA=.4,TA=[new Pe(.738768,.874946),new Pe(2.42204,2.65704),new Pe(4.30971,7.04493),new Pe(10.246,4.59428),new Pe(12.6868,11.8741)],SA=[new Pe(1.603231,2.094468),new Pe(6.041143,7.080126),new Pe(2.882459,3.518061),new Pe(4.266906,5.178857),new Pe(9.041765,10.66308)],NA=[117.001,114.697,97.404],CA="tiny_yolov2_model",_A="tiny_yolov2_separable_conv_model";var Gg=e=>typeof e=="number";function tk(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!Gg(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>Gg(t.x)&&Gg(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(Gg)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function Cp(e){return O(()=>{let t=W(e,ke(.10000000149011612));return Q(Xe(ce(e,t)),t)})}function Gr(e,t){return O(()=>{let n=ya(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Dt(n,t.conv.filters,[1,1],"valid"),n=ce(n,t.bn.sub),n=W(n,t.bn.truediv),n=Q(n,t.conv.bias),Cp(n)})}function Hr(e,t){return O(()=>{let n=ya(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Es(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=Q(n,t.bias),Cp(n)})}function wce(e,t){let n=vp(e,t);function a(i,o){let l=Ke(e(i)),u=Ke(e(i));return t.push({paramPath:`${o}/sub`},{paramPath:`${o}/truediv`}),{sub:l,truediv:u}}function r(i,o,l){let u=n(i,o,3,`${l}/conv`),p=a(o,`${l}/bn`);return{conv:u,bn:p}}let s=wp(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}}function EA(e,t,n,a){let{extractWeights:r,getRemainingWeights:s}=Rn(e),i=[],{extractConvParams:o,extractConvWithBatchNormParams:l,extractSeparableConvParams:u}=wce(r,i),p;if(t.withSeparableConvs){let[d,c,h,m,f,g,b,y,x]=a,w=t.isFirstLayerConv2d?o(d,c,3,"conv0"):u(d,c,"conv0"),I=u(c,h,"conv1"),N=u(h,m,"conv2"),_=u(m,f,"conv3"),$=u(f,g,"conv4"),A=u(g,b,"conv5"),M=y?u(b,y,"conv6"):void 0,D=x?u(y,x,"conv7"):void 0,T=o(x||y||b,5*n,1,"conv8");p={conv0:w,conv1:I,conv2:N,conv3:_,conv4:$,conv5:A,conv6:M,conv7:D,conv8:T}}else{let[d,c,h,m,f,g,b,y,x]=a,w=l(d,c,"conv0"),I=l(c,h,"conv1"),N=l(h,m,"conv2"),_=l(m,f,"conv3"),$=l(f,g,"conv4"),A=l(g,b,"conv5"),M=l(b,y,"conv6"),D=l(y,x,"conv7"),T=o(x,5*n,1,"conv8");p={conv0:w,conv1:I,conv2:N,conv3:_,conv4:$,conv5:A,conv6:M,conv7:D,conv8:T}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:i}}function kce(e,t){let n=sa(e,t);function a(o){let l=n(`${o}/sub`,1),u=n(`${o}/truediv`,1);return{sub:l,truediv:u}}function r(o){let l=n(`${o}/filters`,4),u=n(`${o}/bias`,1);return{filters:l,bias:u}}function s(o){let l=r(`${o}/conv`),u=a(`${o}/bn`);return{conv:l,bn:u}}let i=kp(n);return{extractConvParams:r,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function $A(e,t){let n=[],{extractConvParams:a,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}=kce(e,n),i;if(t.withSeparableConvs){let o=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?a("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:o>7?s("conv6"):void 0,conv7:o>8?s("conv7"):void 0,conv8:a("conv8")}}else i={conv0:r("conv0"),conv1:r("conv1"),conv2:r("conv2"),conv3:r("conv3"),conv4:r("conv4"),conv5:r("conv5"),conv6:r("conv6"),conv7:r("conv7"),conv8:a("conv8")};return Dn(e,n),{params:i,paramMappings:n}}var rr=class{constructor({inputSize:t,scoreThreshold:n}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=n||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var nk=class extends on{constructor(n){super("TinyYolov2");tk(n),this._config=n}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(n,a){let r=Gr(n,a.conv0);return r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv1),r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv2),r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv3),r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv4),r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv5),r=Mt(r,[2,2],[1,1],"same"),r=Gr(r,a.conv6),r=Gr(r,a.conv7),Vo(r,a.conv8,"valid",!1)}runMobilenet(n,a){let r=this.config.isFirstLayerConv2d?Cp(Vo(n,a.conv0,"valid",!1)):Hr(n,a.conv0);return r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv1),r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv2),r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv3),r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv4),r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv5),r=Mt(r,[2,2],[1,1],"same"),r=a.conv6?Hr(r,a.conv6):r,r=a.conv7?Hr(r,a.conv7):r,Vo(r,a.conv8,"valid",!1)}forwardInput(n,a){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return O(()=>{let s=le(n.toBatchTensor(a,!1),"float32");return s=this.config.meanRgb?nr(s,this.config.meanRgb):s,s=s.div(255),this.config.withSeparableConvs?this.runMobilenet(s,r):this.runTinyYolov2(s,r)})}async forward(n,a){return this.forwardInput(await vt(n),a)}async detect(n,a={}){let{inputSize:r,scoreThreshold:s}=new rr(a),i=await vt(n),o=await this.forwardInput(i,r),l=O(()=>mt(o)[0].expandDims()),u={width:i.getInputWidth(0),height:i.getInputHeight(0)},p=await this.extractBoxes(l,i.getReshapedInputDimensions(0),s);o.dispose(),l.dispose();let d=p.map(b=>b.box),c=p.map(b=>b.score),h=p.map(b=>b.classScore),m=p.map(b=>this.config.classes[b.label]);return A1(d.map(b=>b.rescale(r)),c,this.config.iouThreshold,!0).map(b=>new Wr(c[b],h[b],m[b],d[b],u))}getDefaultModelName(){return""}extractParamsFromWeightMap(n){return $A(n,this.config)}extractParams(n){let a=this.config.filterSizes||nk.DEFAULT_FILTER_SIZES,r=a?a.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return EA(n,this.config,this.boxEncodingSize,a)}async extractBoxes(n,a,r){let{width:s,height:i}=a,o=Math.max(s,i),l=o/s,u=o/i,p=n.shape[1],d=this.config.anchors.length,[c,h,m]=O(()=>{let y=n.reshape([p,p,d,this.boxEncodingSize]),x=y.slice([0,0,0,0],[p,p,d,4]),w=y.slice([0,0,0,4],[p,p,d,1]),I=this.withClassScores?Qa(y.slice([0,0,0,5],[p,p,d,this.config.classes.length]),3):ke(0);return[x,w,I]}),f=[],g=await h.array(),b=await c.array();for(let y=0;yr){let N=(x+Sd(b[y][x][w][0]))/p*l,_=(y+Sd(b[y][x][w][1]))/p*u,$=Math.exp(b[y][x][w][2])*this.config.anchors[w].x/p*l,A=Math.exp(b[y][x][w][3])*this.config.anchors[w].y/p*u,M=N-$/2,D=_-A/2,T={row:y,col:x,anchor:w},{classScore:P,label:U}=this.withClassScores?await this.extractPredictedClass(m,T):{classScore:1,label:0};f.push({box:new Mo(M,D,M+$,D+A),score:I,classScore:I*P,label:U,...T})}}return c.dispose(),h.dispose(),m.dispose(),f}async extractPredictedClass(n,a){let{row:r,col:s,anchor:i}=a,o=await n.array();return Array(this.config.classes.length).fill(0).map((l,u)=>o[r][s][i][u]).map((l,u)=>({classScore:l,label:u})).reduce((l,u)=>l.classScore>u.classScore?l:u)}},qo=nk;qo.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Ko=class extends qo{constructor(t=!0){let n={withSeparableConvs:t,iouThreshold:IA,classes:["face"],...t?{anchors:SA,meanRgb:NA}:{anchors:TA,withClassScores:!0}};super(n)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new xt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?_A:CA}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function Ice(e,t=!0){let n=new Ko(t);return n.extractWeights(e),n}var Od=class extends rr{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var ka=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function Xo(e,t,n,a,r=({alignedRect:s})=>s){let s=e.map(l=>Uo(l)?r(l):l.detection),i=a||(t instanceof $e?await xp(t,s):await yp(t,s)),o=await n(i);return i.forEach(l=>l instanceof $e&&l.dispose()),o}async function _p(e,t,n,a,r){return Xo([e],t,async s=>n(s[0]),a,r)}var AA=.4,FA=[new Pe(1.603231,2.094468),new Pe(6.041143,7.080126),new Pe(2.882459,3.518061),new Pe(4.266906,5.178857),new Pe(9.041765,10.66308)],DA=[117.001,114.697,97.404];var Yo=class extends qo{constructor(){let t={withSeparableConvs:!0,iouThreshold:AA,classes:["face"],anchors:FA,meanRgb:DA,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new xt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var tt={ssdMobilenetv1:new Rs,tinyFaceDetector:new Yo,tinyYolov2:new Ko,faceLandmark68Net:new Go,faceLandmark68TinyNet:new Md,faceRecognitionNet:new Ho,faceExpressionNet:new Dd,ageGenderNet:new Rd},RA=(e,t)=>tt.ssdMobilenetv1.locateFaces(e,t),Tce=(e,t)=>tt.tinyFaceDetector.locateFaces(e,t),Sce=(e,t)=>tt.tinyYolov2.locateFaces(e,t),MA=e=>tt.faceLandmark68Net.detectLandmarks(e),Nce=e=>tt.faceLandmark68TinyNet.detectLandmarks(e),Cce=e=>tt.faceRecognitionNet.computeFaceDescriptor(e),_ce=e=>tt.faceExpressionNet.predictExpressions(e),Ece=e=>tt.ageGenderNet.predictAgeAndGender(e),PA=e=>tt.ssdMobilenetv1.load(e),$ce=e=>tt.tinyFaceDetector.load(e),Ace=e=>tt.tinyYolov2.load(e),Fce=e=>tt.faceLandmark68Net.load(e),Dce=e=>tt.faceLandmark68TinyNet.load(e),Rce=e=>tt.faceRecognitionNet.load(e),Mce=e=>tt.faceExpressionNet.load(e),Pce=e=>tt.ageGenderNet.load(e),Oce=PA,Lce=RA,zce=MA;var Hg=class extends ka{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Zo=class extends Hg{async run(){let t=await this.parentTask,n=await Xo(t,this.input,async a=>Promise.all(a.map(r=>tt.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return t.map((a,r)=>Rg(a,n[r]))}withAgeAndGender(){return new Qo(this,this.input)}},Jo=class extends Hg{async run(){let t=await this.parentTask;if(!t)return;let n=await _p(t,this.input,a=>tt.faceExpressionNet.predictExpressions(a),this.extractedFaces);return Rg(t,n)}withAgeAndGender(){return new el(this,this.input)}},Ms=class extends Zo{withAgeAndGender(){return new Os(this,this.input)}withFaceDescriptors(){return new jr(this,this.input)}},Ps=class extends Jo{withAgeAndGender(){return new Ls(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var jg=class extends ka{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Qo=class extends jg{async run(){let t=await this.parentTask,n=await Xo(t,this.input,async a=>Promise.all(a.map(r=>tt.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return t.map((a,r)=>{let{age:s,gender:i,genderProbability:o}=n[r];return Vg(Ug(a,i,o),s)})}withFaceExpressions(){return new Zo(this,this.input)}},el=class extends jg{async run(){let t=await this.parentTask;if(!t)return;let{age:n,gender:a,genderProbability:r}=await _p(t,this.input,s=>tt.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Vg(Ug(t,a,r),n)}withFaceExpressions(){return new Jo(this,this.input)}},Os=class extends Qo{withFaceExpressions(){return new Ms(this,this.input)}withFaceDescriptors(){return new jr(this,this.input)}},Ls=class extends el{withFaceExpressions(){return new Ps(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var Ld=class extends ka{constructor(n,a){super();this.parentTask=n;this.input=a}},jr=class extends Ld{async run(){let t=await this.parentTask;return(await Xo(t,this.input,a=>Promise.all(a.map(r=>tt.faceRecognitionNet.computeFaceDescriptor(r))),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}))).map((a,r)=>Bg(t[r],a))}withFaceExpressions(){return new Ms(this,this.input)}withAgeAndGender(){return new Os(this,this.input)}},qr=class extends Ld{async run(){let t=await this.parentTask;if(!t)return;let n=await _p(t,this.input,a=>tt.faceRecognitionNet.computeFaceDescriptor(a),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}));return Bg(t,n)}withFaceExpressions(){return new Ps(this,this.input)}withAgeAndGender(){return new Ls(this,this.input)}};var zd=class extends ka{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.useTinyLandmarkNet=r}get landmarkNet(){return this.useTinyLandmarkNet?tt.faceLandmark68TinyNet:tt.faceLandmark68Net}},Wd=class extends zd{async run(){let t=await this.parentTask,n=t.map(i=>i.detection),a=this.input instanceof $e?await xp(this.input,n):await yp(this.input,n),r=await Promise.all(a.map(i=>this.landmarkNet.detectLandmarks(i)));return a.forEach(i=>i instanceof $e&&i.dispose()),t.filter((i,o)=>r[o]).map((i,o)=>Sp(i,r[o]))}withFaceExpressions(){return new Ms(this,this.input)}withAgeAndGender(){return new Os(this,this.input)}withFaceDescriptors(){return new jr(this,this.input)}},Bd=class extends zd{async run(){let t=await this.parentTask;if(!t)return;let{detection:n}=t,a=this.input instanceof $e?await xp(this.input,[n]):await yp(this.input,[n]),r=await this.landmarkNet.detectLandmarks(a[0]);return a.forEach(s=>s instanceof $e&&s.dispose()),Sp(t,r)}withFaceExpressions(){return new Ps(this,this.input)}withAgeAndGender(){return new Ls(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var Vd=class extends ka{constructor(n,a=new wa){super();this.input=n;this.options=a}},Ep=class extends Vd{async run(){let{input:t,options:n}=this,a;if(n instanceof Od)a=tt.tinyFaceDetector.locateFaces(t,n);else if(n instanceof wa)a=tt.ssdMobilenetv1.locateFaces(t,n);else if(n instanceof rr)a=tt.tinyYolov2.locateFaces(t,n);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return a}runAndExtendWithFaceDetections(){return new Promise((t,n)=>{this.run().then(a=>t(a.map(r=>Lo({},r)))).catch(a=>n(a))})}withFaceLandmarks(t=!1){return new Wd(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new Zo(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Qo(this.runAndExtendWithFaceDetections(),this.input)}},Ud=class extends Vd{async run(){let t=await new Ep(this.input,this.options),n=t[0];return t.forEach(a=>{a.score>n.score&&(n=a)}),n}runAndExtendWithFaceDetection(){return new Promise(async t=>{let n=await this.run();t(n?Lo({},n):void 0)})}withFaceLandmarks(t=!1){return new Bd(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new Jo(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new el(this.runAndExtendWithFaceDetection(),this.input)}};function Wce(e,t=new wa){return new Ud(e,t)}function qg(e,t=new wa){return new Ep(e,t)}async function OA(e,t){return qg(e,new wa(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Bce(e,t={}){return qg(e,new rr(t)).withFaceLandmarks().withFaceDescriptors()}var Vce=OA;function ak(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let n=Array.from(e),a=Array.from(t);return Math.sqrt(n.map((r,s)=>r-a[s]).reduce((r,s)=>r+s**2,0))}var Gd=class{constructor(t,n=.6){this._distanceThreshold=n;let a=Array.isArray(t)?t:[t];if(!a.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1,s=()=>`person ${r++}`;this._labeledDescriptors=a.map(i=>{if(i instanceof wr)return i;if(i instanceof Float32Array)return new wr(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new wr(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,n){return n.map(a=>ak(a,t)).reduce((a,r)=>a+r,0)/(n.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:n,label:a})=>new fp(a,this.computeMeanDistance(t,n))).reduce((n,a)=>n.distancet.toJSON())}}static fromJSON(t){let n=t.labeledDescriptors.map(a=>wr.fromJSON(a));return new Gd(n,t.distanceThreshold)}};function Uce(e){let t=new Yo;return t.extractWeights(e),t}function LA(e,t){let{width:n,height:a}=new bn(t.width,t.height);if(n<=0||a<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:a})}`);if(Array.isArray(e))return e.map(r=>LA(r,{width:n,height:a}));if(Uo(e)){let r=e.detection.forSize(n,a),s=e.unshiftedLandmarks.forSize(r.box.width,r.box.height);return Sp(Lo(e,r),s)}return kr(e)?Lo(e,e.detection.forSize(n,a)):e instanceof ra||e instanceof xt?e.forSize(n,a):e}var Gce=rA;return OF(Hce);})(); + ${r.shape}`);if(s.shape.length!==1)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);let i=t.dataIdMap.get(a.dataId).id,o=t.dataIdMap.get(r.dataId).id,l=t.dataIdMap.get(s.dataId).id,u=a.shape[0],p=v.sizeFromShape(s.shape),d=t.makeOutput([u,p],a.dtype),c=t.dataIdMap.get(d.dataId).id,h=t.makeOutput([p],s.dtype),m=t.dataIdMap.get(h.dataId).id,f=t.makeOutput([3],"int32"),g=t.dataIdMap.get(f.dataId).id;B$(i,o,l,u,c,m,g);let b=t.readSync(f.dataId),y;switch(b[0]){case 0:{y=C.getSparseReshapeMultipleNegativeOneOutputDimErrorMessage(b[1],b[2]);break}case 1:{y=C.getSparseReshapeNegativeOutputDimErrorMessage(b[1],b[2]);break}case 2:y=C.getSparseReshapeEmptyTensorZeroOutputDimErrorMessage();break;case 3:{let x=Array.from(t.readSync(r.dataId)),w=Array.from(t.readSync(h.dataId));y=C.getSparseReshapeInputOutputMultipleErrorMessage(x,w);break}case 4:{let x=Array.from(t.readSync(r.dataId)),w=Array.from(t.readSync(h.dataId));y=C.getSparseReshapeInputOutputMismatchErrorMessage(x,w);break}default:y=""}if(t.disposeData(f.dataId),y)throw t.disposeData(d.dataId),t.disposeData(h.dataId),new Error(y);return[d,h]}var Eue={kernelName:Wu,backendName:"wasm",setupFunc:Cue,kernelFunc:_ue},V$;function U$(e){V$=e.wasm.cwrap("SparseSegmentReduction",null,["number","number","number","number","number","number","number","number","number"])}function G$(e,t){let{backend:n,inputs:a}=e,{data:r,indices:s,segmentIds:i}=a,o=s.shape[0],l=n.readSync(i.dataId,o-1,o)[0],u=o>0?l+1:0;if(u<0)throw new Error(C.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let p=r.shape.slice();p[0]=u;let d=n.dataIdMap.get(r.dataId).id,c=n.dataIdMap.get(s.dataId).id,h=n.dataIdMap.get(i.dataId).id,m=n.makeOutput(p,r.dtype),f=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],"int32"),b=n.dataIdMap.get(g.dataId).id;V$(d,At[r.dtype],r.shape[0],c,h,f,b,t,0);let y=n.readSync(g.dataId),x;switch(y[0]){case 0:{x=C.getSparseSegmentReductionNegativeSegmentIdsErrorMessage();break}case 1:{x=C.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage();break}case 2:x=C.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(y[1],y[2]);break;case 3:x=C.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(y[1],y[2],y[3]);break;default:x=""}if(n.disposeData(g.dataId),x)throw n.disposeData(m.dataId),new Error(x);return m}function $ue(e){return G$(e,!0)}var Aue={kernelName:Mc,backendName:"wasm",setupFunc:U$,kernelFunc:$ue};function Fue(e){return G$(e,!1)}var Due={kernelName:Pc,backendName:"wasm",setupFunc:U$,kernelFunc:Fue};function Rue(e){let{inputs:t,attrs:n,backend:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=n,o=v.parseAxisParam(i,r.shape)[0],l=C.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=ki({inputs:{x:r},attrs:{begin:u,size:c},backend:a});return u[o]+=d,h})}var Mue={kernelName:zu,backendName:"wasm",kernelFunc:Rue},Pue=rn(fo),Oue=rn(Oc),Lue=!0,zue=dn(yo,Lue),H$;function Wue(e){H$=e.wasm.cwrap(ks,null,["number","number","number","number"])}function Bue(e){let{backend:t,inputs:n,attrs:a}=e,{alpha:r}=a,{x:s}=n,i=t.dataIdMap.get(s.dataId).id,o=t.makeOutput(s.shape,s.dtype),l=t.dataIdMap.get(o.dataId).id;return H$(i,r,At[s.dtype],l),o}var Vue={kernelName:ks,backendName:"wasm",setupFunc:Wue,kernelFunc:Bue},j$;function Uue(e){j$=e.wasm.cwrap(Bu,null,["number","array","number","array","array","array","array","array","number","number"])}function Gue(e){let{backend:t,inputs:n,attrs:a}=e,{x:r}=n,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:b,begin:y,end:x,strides:w}=qt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=Un({inputs:{x:r},backend:t,attrs:{shape:m}});else if(g||b){v.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);let N=qt.computeOutShape(y,x,w),_=ki({inputs:{x:r},backend:t,attrs:{begin:y,size:N}});I=Un({inputs:{x:_},backend:t,attrs:{shape:m}}),t.disposeData(_.dataId)}else{let N=t.makeOutput(h,"float32"),_=t.dataIdMap.get(r.dataId).id,$=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),A=new Uint8Array(new Int32Array(y).buffer),M=new Uint8Array(new Int32Array(x).buffer),D=new Uint8Array(new Int32Array(w).buffer),T=new Uint8Array(new Int32Array(h).buffer),P=new Uint8Array(new Int32Array(v.computeStrides(h)).buffer),U=t.dataIdMap.get(N.dataId).id;j$(_,$,r.shape.length,A,M,D,T,P,h.length,U),I=Un({inputs:{x:N},backend:t,attrs:{shape:m}}),t.disposeData(N.dataId)}return I}var Hue={kernelName:Bu,backendName:"wasm",setupFunc:Uue,kernelFunc:Gue};function jue(e){let{backend:t,inputs:n,attrs:a}=e,{data:r,dataSplits:s}=n,{separator:i,nGramWidths:o,leftPad:l,rightPad:u,padWidth:p,preserveShortSequences:d}=a,c=t.readSync(r.dataId),h=t.readSync(s.dataId),[m,f]=a1(c,h,i,o,l,u,p,d),g=t.makeOutput([m.length],"string"),b=t.dataIdMap.get(g.dataId);b.stringBytes=m;let y=t.makeOutput(s.shape,"int32");return t.typedArrayFromHeap(y).set(f),[g,y]}var que={kernelName:Lc,backendName:"wasm",kernelFunc:jue};function Kue(e){let{backend:t,inputs:n,attrs:a}=e,{input:r,delimiter:s}=n,{skipEmpty:i}=a,o=t.readSync(r.dataId),l=t.readSync(s.dataId),[u,p,d]=r1(o,l[0],i),c=p.length,h=t.makeOutput([c,2],"int32");t.typedArrayFromHeap(h).set(u);let m=t.makeOutput([c],"string"),f=t.dataIdMap.get(m.dataId);f.stringBytes=p;let g=t.makeOutput([2],"int32");return t.typedArrayFromHeap(g).set(d),[h,m,g]}var Xue={kernelName:zc,backendName:"wasm",kernelFunc:Kue};function Yue(e){let{backend:t,inputs:n,attrs:a}=e,{input:r}=n,{numBuckets:s}=a,i=t.readSync(r.dataId),o=s1(i,s),l=t.makeOutput(r.shape,"int32");return t.typedArrayFromHeap(l).set(o),l}var Zue={kernelName:Wc,backendName:"wasm",kernelFunc:Yue},Jue=!0,Que=dn(xo,Jue),q$;function epe(e){q$=e.wasm.cwrap(go,null,["number","number","number","number"])}function tpe(e){let{backend:t,inputs:n,attrs:a}=e,{axis:r,keepDims:s}=a,{x:i}=n,o=t.dataIdMap.get(i.dataId).id,l=o,u=i,{transposed:p,axes:d,originalAxes:c,inputWasTransposed:h}=Ds(i,r,t),m=d;if(h){let x=t.dataIdMap.get(p.dataId).id;x!==o&&(u=p,l=x,m=C.getInnerMostAxes(m.length,u.shape.length))}C.assertAxesAreInnerMostDims("sum",m,u.shape.length);let[f,g]=C.computeOutAndReduceShapes(u.shape,m),b=v.sizeFromShape(g),y=t.makeOutput(f,u.dtype);if(v.sizeFromShape(u.shape)!==0){let x=t.dataIdMap.get(y.dataId).id;q$(l,b,At[y.dtype],x)}if(h&&t.disposeData(p.dataId),s){let x=C.expandShapeToKeepDim(y.shape,c);y.shape=x}return y}var npe={kernelName:go,backendName:"wasm",setupFunc:epe,kernelFunc:tpe},ape=rn(vo),rpe=rn(wo),K$;function spe(e){K$=e.wasm.cwrap(ws,null,["number","array","number","array","number","number"])}function ipe(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,s=n.dataIdMap.get(r.dataId).id,{reps:i}=a,o=new Array(r.shape.length);for(let c=0;c{let{x:a}=e,{k:r,sorted:s}=n,i=t.dataIdMap.get(a.dataId).id,o=new Uint8Array(new Int32Array(a.shape).buffer),l=a.shape.slice();l[l.length-1]=r;let u=t.makeOutput(l,a.dtype),p=t.dataIdMap.get(u.dataId).id,d=t.makeOutput(l,"int32"),c=t.dataIdMap.get(d.dataId).id;return X$(i,o,a.shape.length,At[a.dtype],r,s,p,c),[u,d]},ppe={kernelName:Vu,backendName:"wasm",setupFunc:lpe,kernelFunc:upe},Y$;function cpe(e){Y$=e.wasm.cwrap(Uu,null,["number","number","bool","number","number","number","number","number","number","array","number","array","number","number","number","number","number"])}function dpe(e){let{backend:t,inputs:n,attrs:a}=e,{image:r,transforms:s}=n,{interpolation:i,fillMode:o,fillValue:l,outputShape:u}=a,[p,d,c,h]=r.shape,[m,f]=u!=null?u:[d,c],g=[p,m,f,h],b=new Uint8Array(new Int32Array(v.computeStrides(r.shape)).buffer),y=new Uint8Array(new Int32Array(v.computeStrides(g)).buffer),x=t.makeOutput(g,r.dtype),w=t.dataIdMap.get(x.dataId).id,I=t.dataIdMap.get(r.dataId).id,N=t.dataIdMap.get(s.dataId).id,_=i==="nearest"?1:2,$;switch(o){case"constant":$=1;break;case"reflect":$=2;break;case"wrap":$=3;break;case"nearest":$=4;break;default:$=1;break}return Y$(I,N,s.shape[0]>1,p,m,f,h,c,d,b,r.shape.length-1,y,g.length-1,_,$,l,w),x}var hpe={kernelName:Uu,backendName:"wasm",setupFunc:cpe,kernelFunc:dpe};function mpe(e){let{inputs:t,backend:n,attrs:a}=e,{value:r}=t,{axis:s}=a;s<0&&(s+=r.shape.length);let i=r.shape[s],o=r.shape.length,l=new Array(o-1),u=0;for(let h=0;h({dataId:h,dtype:m,shape:l}))}var fpe={kernelName:Gu,backendName:"wasm",kernelFunc:mpe};function gpe(e){let{inputs:{x:t},backend:n}=e,a=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(a).fill(0),a}var bpe={kernelName:Hu,backendName:"wasm",kernelFunc:gpe},ype=[jse,qse,Xse,Jse,iie,uie,die,fie,xie,Sie,Nie,Cie,$ie,Aie,Rie,Oie,Lie,zie,Vie,Hie,Kie,Zie,eoe,toe,aoe,roe,soe,ioe,uoe,poe,doe,foe,yoe,woe,Toe,Coe,Eoe,Aoe,Qse,Roe,Poe,Loe,zoe,Boe,Voe,Goe,joe,Xoe,Zoe,ele,ale,ile,lle,cle,hle,mle,ble,vle,Ile,Sle,_le,$le,Fle,E$,Ple,zle,Vle,Gle,jle,qle,Kle,gie,Zle,eue,aue,iue,oue,lue,cue,mue,bue,yue,Iie,wue,Iue,Nue,Eue,Aue,Due,Mue,Pue,Oue,zue,Vue,Hue,que,Xue,Zue,Que,npe,ape,rpe,ope,ppe,hpe,aie,fpe,bpe];for(let e of ype)Vc(e);var Vx=X();Vx.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])));Vx.registerFlag("WASM_HAS_MULTITHREAD_SUPPORT",async()=>{if(Vx.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(e){return!1}});var YI=bs(rD()),xpe=bs(sD()),ZI=bs(iD()),JI=YI.default||YI,vpe=ZI.default||ZI,Z$=class extends Tc{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(J$),Ux=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new Em(this,ir())}write(e,t,n){let a={id:this.dataIdNextNumber++};return this.move(a,e,t,n,1),a}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=v.now();return e(),{kernelMs:v.now()-t}}move(e,t,n,a,r){let s=this.dataIdNextNumber++;if(a==="string"){let u=t;this.dataIdMap.set(e,{id:s,stringBytes:u,shape:n,dtype:a,memoryOffset:null,refCount:r});return}let i=v.sizeFromShape(n),o=i*v.bytesPerElement(a),l=this.wasm._malloc(o);this.dataIdMap.set(e,{id:s,memoryOffset:l,shape:n,dtype:a,refCount:r}),this.wasm.tfjs.registerTensor(s,i,l),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,o),l)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:a,dtype:r,shape:s,stringBytes:i}=this.dataIdMap.get(e);if(r==="string")return(t==null||t===0)&&(n==null||n>=i.length)?i:i.slice(t,n);t=t||0,n=n||v.sizeFromShape(s);let o=v.bytesPerElement(r),l=this.wasm.HEAPU8.slice(a+t*o,a+n*o);return Ipe(l.buffer,r)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),"PThread"in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n){let a;if(n==null)a=this.write(null,e,t);else{let r=this.dataIdNextNumber++;a={id:r},this.dataIdMap.set(a,{id:r,memoryOffset:n,shape:e,dtype:t,refCount:1});let s=v.sizeFromShape(e);this.wasm.tfjs.registerTensor(r,s,n)}return{dataId:a,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let a=this.wasm.HEAPU8.buffer,{memoryOffset:r}=this.dataIdMap.get(n),s=v.sizeFromShape(e);switch(t){case"float32":return new Float32Array(a,r,s);case"int32":return new Int32Array(a,r,s);case"bool":return new Uint8Array(a,r,s);default:throw new Error(`Unknown dtype ${t}`)}}};function wpe(e){return(t,n)=>(v.fetch(e,{credentials:"same-origin"}).then(a=>{a.ok||t.env.a(`failed to load wasm binary file at '${e}'`),a.arrayBuffer().then(r=>{WebAssembly.instantiate(r,t).then(s=>{n(s.instance,s.module)})})}),{})}function QI(e,t,n){if(Cm!=null)return Cm;let a="tfjs-backend-wasm.wasm";return e&&t?a="tfjs-backend-wasm-threaded-simd.wasm":e&&(a="tfjs-backend-wasm-simd.wasm"),sc!=null&&sc[a]!=null?sc[a]:n+a}async function kpe(){let[e,t]=await Promise.all([X().getAsync("WASM_HAS_SIMD_SUPPORT"),X().getAsync("WASM_HAS_MULTITHREAD_SUPPORT")]);return new Promise((n,a)=>{let r={};r.locateFile=(o,l)=>{if(o.endsWith(".worker.js")){let u=xpe.wasmWorkerContents.replace(/\n/g,"\\n"),p=new Blob([u],{type:"application/javascript"});return URL.createObjectURL(p)}return o.endsWith(".wasm")?QI(e,t,nc!=null?nc:l):l+o},T1&&(r.instantiateWasm=wpe(QI(e,t,nc!=null?nc:"")));let s=!1;r.onAbort=()=>{s||ic||(ic=!0,a({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"}))};let i;t&&e&&Cm==null?(r.mainScriptUrlOrBlob=new Blob(["var WasmBackendModuleThreadedSimd = "+JI.toString()],{type:"text/javascript"}),i=JI(r)):i=vpe(r),i.then(o=>{s=!0,ic=!1;let l=null;o.tfjs={init:o.cwrap("init",null,[]),initWithThreadsCount:o.cwrap("init_with_threads_count",null,["number"]),getThreadsCount:o.cwrap("get_threads_count","number",[]),registerTensor:o.cwrap("register_tensor",null,["number","number","number"]),disposeData:o.cwrap("dispose_data",l,["number"]),dispose:o.cwrap("dispose",l,[])},n({wasm:o})}).catch(a)})}function Ipe(e,t){switch(t){case"float32":return new Float32Array(e);case"int32":return new Int32Array(e);case"bool":return new Uint8Array(e);default:throw new Error(`Unknown dtype ${t}`)}}var Tpe=["tfjs-backend-wasm.wasm","tfjs-backend-wasm-simd.wasm","tfjs-backend-wasm-threaded-simd.wasm"],Cm=null,nc=null,sc={},ic=!1,T1=!1;function Spe(e,t=!1){if(iv("setWasmPath has been deprecated in favor of setWasmPaths and will be removed in a future release."),ic)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPath()` before you call `tf.setBackend()` or `tf.ready()`");Cm=e,T1=t}function Npe(e,t=!1){if(ic)throw new Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e=="string")nc=e;else{sc=e;let n=Tpe.filter(a=>sc[a]==null);if(n.length>0)throw new Error(`There were no entries found for the following binaries: ${n.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.`)}T1=t}var J$=-1,Ux=-1;function Cpe(e){J$=e}function _pe(){if(Ux===-1)throw new Error("WASM backend not initialized.");return Ux}var Epe="3.20.0",$pe=2;cf("wasm",async()=>{let{wasm:e}=await kpe();return new Z$(e)},$pe);var Ape="3.20.0",Fpe="3.20.0",Dpe="3.20.0",Rpe="3.20.0",Mpe="3.20.0",Ppe="3.20.0",Ope="3.20.0",Lpe="3.20.0",zpe={tfjs:Ape,"tfjs-core":Fpe,"tfjs-data":Dpe,"tfjs-layers":Rpe,"tfjs-converter":Mpe,"tfjs-backend-cpu":Ppe,"tfjs-backend-webgl":Ope,"tfjs-backend-wasm":Lpe};var X1={};Nh(X1,{AnchorPosition:()=>W1,DrawBox:()=>Cd,DrawBoxOptions:()=>Sg,DrawFaceLandmarks:()=>Pg,DrawFaceLandmarksOptions:()=>Mg,DrawTextField:()=>Br,DrawTextFieldOptions:()=>bp,drawContour:()=>Lr,drawDetections:()=>Kpe,drawFaceExpressions:()=>Qpe,drawFaceLandmarks:()=>tce});function Lr(e,t,n=!1){if(e.beginPath(),t.slice(1).forEach(({x:a,y:r},s)=>{let i=t[s];e.moveTo(i.x,i.y),e.lineTo(a,r)}),n){let a=t[t.length-1],r=t[0];if(!a||!r)return;e.moveTo(a.x,a.y),e.lineTo(r.x,r.y)}e.stroke()}var _1={};Nh(_1,{computeReshapedDimensions:()=>C1,getCenterPoint:()=>Ro,isDimensions:()=>Ig,isEven:()=>kg,isFloat:()=>N1,isTensor:()=>Fo,isTensor1D:()=>Wpe,isTensor2D:()=>S1,isTensor3D:()=>zr,isTensor4D:()=>va,isValidNumber:()=>tr,isValidProbablitiy:()=>mp,range:()=>vr,round:()=>Do});var bn=class{constructor(t,n){if(!tr(t)||!tr(n))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:n})}`);this._width=t,this._height=n}get width(){return this._width}get height(){return this._height}reverse(){return new bn(1/this.width,1/this.height)}};function Fo(e,t){return e instanceof $e&&e.shape.length===t}function Wpe(e){return Fo(e,1)}function S1(e){return Fo(e,2)}function zr(e){return Fo(e,3)}function va(e){return Fo(e,4)}function N1(e){return e%1!==0}function kg(e){return e%2===0}function Do(e,t=2){let n=10**t;return Math.floor(e*n)/n}function Ig(e){return e&&e.width&&e.height}function C1({width:e,height:t},n){let a=n/Math.max(t,e);return new bn(Math.round(e*a),Math.round(t*a))}function Ro(e){return e.reduce((t,n)=>t.add(n),new Pe(0,0)).div(new Pe(e.length,e.length))}function vr(e,t,n){return Array(e).fill(0).map((a,r)=>t+r*n)}function tr(e){return!!e&&e!==1/0&&e!==-1/0&&!Number.isNaN(e)||e===0}function mp(e){return tr(e)&&e>=0&&e<=1}var Pe=class{constructor(t,n){this._x=t,this._y=n}get x(){return this._x}get y(){return this._y}add(t){return new Pe(this.x+t.x,this.y+t.y)}sub(t){return new Pe(this.x-t.x,this.y-t.y)}mul(t){return new Pe(this.x*t.x,this.y*t.y)}div(t){return new Pe(this.x/t.x,this.y/t.y)}abs(){return new Pe(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new Pe(Math.floor(this.x),Math.floor(this.y))}};var lt=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(tr)}static assertIsValidBox(t,n,a=!1){if(!lt.isRect(t))throw new Error(`${n} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!a&&(t.width<0||t.height<0))throw new Error(`${n} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,n=!0){let a=t||{},r=[a.left,a.top,a.right,a.bottom].every(tr),s=[a.x,a.y,a.width,a.height].every(tr);if(!s&&!r)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(a)}`);let[i,o,l,u]=s?[a.x,a.y,a.width,a.height]:[a.left,a.top,a.right-a.left,a.bottom-a.top];lt.assertIsValidBox({x:i,y:o,width:l,height:u},"Box.constructor",n),this._x=i,this._y=o,this._width=l,this._height=u}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new Pe(this.left,this.top)}get topRight(){return new Pe(this.right,this.top)}get bottomLeft(){return new Pe(this.left,this.bottom)}get bottomRight(){return new Pe(this.right,this.bottom)}round(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.round(s));return new lt({x:t,y:n,width:a,height:r})}floor(){let[t,n,a,r]=[this.x,this.y,this.width,this.height].map(s=>Math.floor(s));return new lt({x:t,y:n,width:a,height:r})}toSquare(){let{x:t,y:n,width:a,height:r}=this,s=Math.abs(a-r);return an&&(o=-d+n+a,d=n),c>t&&(l=-c+t+r,c=t),u<1&&(l=2-u,u=1),p<1&&(l=2-p,p=1),{dy:i,edy:l,dx:s,edx:o,y:p,ey:c,x:u,ex:d,w:a,h:r}}calibrate(t){return new lt({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Mo=class extends lt{constructor(t,n,a,r,s=!1){super({left:t,top:n,right:a,bottom:r},s)}};var Wr=class{constructor(t,n,a,r,s){this._imageDims=new bn(s.width,s.height),this._score=t,this._classScore=n,this._className=a,this._box=new lt(r).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new lt(this._box).rescale(this.imageDims.reverse())}forSize(t,n){return new Wr(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:n})}};var xt=class extends Wr{constructor(t,n,a){super(t,t,"",n,a)}forSize(t,n){let{score:a,relativeBox:r,imageDims:s}=super.forSize(t,n);return new xt(a,r,s)}};function E1(e,t,n=!0){let a=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top)),s=a*r;return n?s/(e.area+t.area-s):s/Math.min(e.area,t.area)}function $1(e){let t=e.map(o=>o.x),n=e.map(o=>o.y),a=t.reduce((o,l)=>lloo({score:i,boxIndex:o})).sort((i,o)=>i.score-o.score).map(i=>i.boxIndex),s=[];for(;r.length>0;){let i=r.pop();s.push(i);let o=r,l=[];for(let u=0;ul[p]<=n)}return s}function nr(e,t){return O(()=>{let[n,a,r]=t,s=$n([...e.shape.slice(0,3),1],n,"float32"),i=$n([...e.shape.slice(0,3),1],a,"float32"),o=$n([...e.shape.slice(0,3),1],r,"float32"),l=Qe([s,i,o],3);return ce(e,l)})}function F1(e,t=!1){return O(()=>{let[n,a]=e.shape.slice(1);if(n===a)return e;let r=Math.abs(n-a),s=Math.round(r*(t?.5:1)),i=n>a?2:1,o=c=>{let h=e.shape.slice();return h[i]=c,$n(h,0,"float32")},l=o(s),u=r-l.shape[i],d=[t&&u?o(u):null,e,l].filter(c=>!!c).map(c=>le(c,"float32"));return Qe(d,i)})}function Bpe(e){let t=e.slice();for(let n=t.length-1;n>0;n--){let a=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[a],t[a]=r}return t}function Sd(e){return 1/(1+Math.exp(-e))}function Vpe(e){return Math.log(e/(1-e))}var Po=class extends lt{constructor(t,n,a,r,s=!1){super({x:t,y:n,width:a,height:r},s)}};var Upe=.5,Gpe=.43,Hpe=.45,ra=class{constructor(t,n,a=new Pe(0,0)){let{width:r,height:s}=n;this._imgDims=new bn(r,s),this._shift=a,this._positions=t.map(i=>i.mul(new Pe(r,s)).add(a))}get shift(){return new Pe(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new Pe(this.imageWidth,this.imageHeight)))}forSize(t,n){return new this.constructor(this.relativePositions,{width:t,height:n})}shiftBy(t,n){return new this.constructor(this.relativePositions,this._imgDims,new Pe(t,n))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,n={}){if(t){let s=t instanceof xt?t.box.floor():new lt(t);return this.shiftBy(s.x,s.y).align(null,n)}let{useDlibAlignment:a,minBoxPadding:r}={useDlibAlignment:!1,minBoxPadding:.2,...n};return a?this.alignDlib():this.alignMinBbox(r)}alignDlib(){let t=this.getRefPointsForAlignment(),[n,a,r]=t,s=d=>r.sub(d).magnitude(),i=(s(n)+s(a))/2,o=Math.floor(i/Hpe),l=Ro(t),u=Math.floor(Math.max(0,l.x-Upe*o)),p=Math.floor(Math.max(0,l.y-Gpe*o));return new Po(u,p,Math.min(o,this.imageWidth+u),Math.min(o,this.imageHeight+p))}alignMinBbox(t){let n=$1(this.positions);return n.pad(n.width*t,n.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var D1=class extends ra{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],Ro([t[3],t[4]])]}};var Oo=class extends ra{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(Ro)}};var fp=class{constructor(t,n){this._label=t,this._distance=n}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Do(this.distance)})`:""}`}};var gp=class extends lt{constructor(n,a){super(n);this._label=a}static assertIsValidLabeledBox(n,a){if(lt.assertIsValidBox(n,a),!tr(n.label))throw new Error(`${a} - expected property label (${n.label}) to be a number`)}get label(){return this._label}};var wr=class{constructor(t,n){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(n)||n.some(a=>!(a instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=n}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let n=t.descriptors.map(a=>new Float32Array(a));return new wr(t.label,n)}};var R1=class extends gp{constructor(n,a,r,s){super(n,a);this._score=r,this._classScore=s}static assertIsValidPredictedBox(n,a){if(gp.assertIsValidLabeledBox(n,a),!mp(n.score)||!mp(n.classScore))throw new Error(`${a} - expected properties score (${n.score}) and (${n.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function kr(e){return e.detection instanceof xt}function Lo(e,t){return{...e,...{detection:t}}}function M1(){let e=window.fetch;if(!e)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:e,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Nd(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function Tg(e){let t="";if(!e&&Nd())try{e=MF("fs")}catch(a){t=a.toString()}return{readFile:e?a=>new Promise((r,s)=>{e.readFile(a,(i,o)=>i?s(i):r(o))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function P1(){let e=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,n=global.Video||global.HTMLVideoElement,a=()=>{if(e)return new e;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},r=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},s=()=>{if(n)return new n;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},i=global.fetch,o=Tg();return{Canvas:e||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:a,createImageElement:r,createVideoElement:s,fetch:i,...o}}function O1(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var sn;function jpe(){if(!sn)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return sn}function L1(e){sn=e}function z1(){return O1()?L1(M1()):Nd()?L1(P1()):null}function qpe(e){if(sn||z1(),!sn)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=sn.Canvas,Image:n=sn.Image}=e;sn.Canvas=t,sn.Image=n,sn.createCanvasElement=e.createCanvasElement||(()=>new t),sn.createImageElement=e.createImageElement||(()=>new n),sn.ImageData=e.ImageData||sn.ImageData,sn.Video=e.Video||sn.Video,sn.fetch=e.fetch||sn.fetch,sn.readFile=e.readFile||sn.readFile}var et={getEnv:jpe,setEnv:L1,initialize:z1,createBrowserEnv:M1,createFileSystem:Tg,createNodejsEnv:P1,monkeyPatch:qpe,isBrowser:O1,isNodejs:Nd};z1();function zo(e){return!et.isNodejs()&&typeof e=="string"?document.getElementById(e):e}function Kn(e){let{Canvas:t,CanvasRenderingContext2D:n}=et.getEnv();if(e instanceof n)return e;let a=zo(e);if(!(a instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let r=a.getContext("2d");if(!r)throw new Error("resolveContext2d - canvas 2d context is null");return r}var W1=(r=>(r.TOP_LEFT="TOP_LEFT",r.TOP_RIGHT="TOP_RIGHT",r.BOTTOM_LEFT="BOTTOM_LEFT",r.BOTTOM_RIGHT="BOTTOM_RIGHT",r))(W1||{}),bp=class{constructor(t={}){let{anchorPosition:n,backgroundColor:a,fontColor:r,fontSize:s,fontStyle:i,padding:o}=t;this.anchorPosition=n||"TOP_LEFT",this.backgroundColor=a||"rgba(0, 0, 0, 0.5)",this.fontColor=r||"rgba(255, 255, 255, 1)",this.fontSize=s||14,this.fontStyle=i||"Georgia",this.padding=o||4}},Br=class{constructor(t,n,a={}){this.text=typeof t=="string"?[t]:t instanceof Br?t.text:t,this.anchor=n,this.options=new bp(a)}measureWidth(t){let{padding:n}=this.options;return this.text.map(a=>t.measureText(a).width).reduce((a,r)=>a{let m=l+d.x,f=l+d.y+(h+1)*i;a.fillText(c,m,f)})}};var Sg=class{constructor(t={}){let{boxColor:n,lineWidth:a,label:r,drawLabelOptions:s}=t;this.boxColor=n||"rgba(0, 0, 255, 1)",this.lineWidth=a||2,this.label=r;let i={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new bp({...i,...s})}},Cd=class{constructor(t,n={}){this.box=new lt(t),this.options=new Sg(n)}draw(t){let n=Kn(t),{boxColor:a,lineWidth:r}=this.options,{x:s,y:i,width:o,height:l}=this.box;n.strokeStyle=a,n.lineWidth=r,n.strokeRect(s,i,o,l);let{label:u}=this.options;u&&new Br([u],{x:s-r/2,y:i},this.options.drawLabelOptions).draw(t)}};function Kpe(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof xt?a.score:kr(a)?a.detection.score:void 0,s=a instanceof xt?a.box:kr(a)?a.detection.box:new lt(a),i=r?`${Do(r)}`:void 0;new Cd(s,{label:i}).draw(e)})}function _d(e){let{Image:t,Video:n}=et.getEnv();return e instanceof t&&e.complete||e instanceof n&&e.readyState>=3}function B1(e){return new Promise((t,n)=>{(e instanceof et.getEnv().Canvas||_d(e))&&t(null);function a(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),n(s))}function r(s){!s.currentTarget||(s.currentTarget.removeEventListener("load",r),s.currentTarget.removeEventListener("error",a),t(s))}e.addEventListener("load",r),e.addEventListener("error",a)})}function V1(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToImage - expected buf to be of type: Blob"));let a=new FileReader;a.onload=()=>{typeof a.result!="string"&&n(new Error("bufferToImage - expected reader.result to be a string, in onload"));let r=et.getEnv().createImageElement();r.onload=()=>t(r),r.onerror=n,r.src=a.result},a.onerror=n,a.readAsDataURL(e)})}function Wo(e){let{Image:t,Video:n}=et.getEnv();return e instanceof t?new bn(e.naturalWidth,e.naturalHeight):e instanceof n?new bn(e.videoWidth,e.videoHeight):new bn(e.width,e.height)}function Bo({width:e,height:t}){let{createCanvasElement:n}=et.getEnv(),a=n();return a.width=e,a.height=t,a}function Ed(e,t){let{ImageData:n}=et.getEnv();if(!(e instanceof n)&&!_d(e))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:a,height:r}=t||Wo(e),s=Bo({width:a,height:r});return e instanceof n?Kn(s).putImageData(e,0,0):Kn(s).drawImage(e,0,0,a,r),s}async function U1(e,t){let n=t||et.getEnv().createCanvasElement(),[a,r,s]=e.shape.slice(va(e)?1:0),i=O(()=>e.as3D(a,r,s).toInt());return await ko.toPixels(i,n),i.dispose(),n}function Ng(e){let{Image:t,Canvas:n,Video:a}=et.getEnv();return e instanceof t||e instanceof n||e instanceof a}function G1(e,t,n=!1){let{Image:a,Canvas:r}=et.getEnv();if(!(e instanceof a||e instanceof r))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Bo({width:1,height:1});let s=Wo(e),i=t/Math.max(s.height,s.width),o=i*s.width,l=i*s.height,u=Bo({width:t,height:t}),p=e instanceof r?e:Ed(e),d=Math.abs(o-l)/2,c=n&&o0&&p.height>0&&Kn(u).drawImage(p,c,h,o,l),u}var Ir=class{constructor(t,n=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=n,this._batchSize=t.length,t.forEach((a,r)=>{if(zr(a)){this._imageTensors[r]=a,this._inputDimensions[r]=a.shape;return}if(va(a)){let i=a.shape[0];if(i!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${i} passed, but not supported in input array`);this._imageTensors[r]=a,this._inputDimensions[r]=a.shape.slice(1);return}let s=a instanceof et.getEnv().Canvas?a:Ed(a);this._canvases[r]=s,this._inputDimensions[r]=[s.height,s.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return vr(this.batchSize,0,1).map((t,n)=>this.getReshapedInputDimensions(n))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let n=this.getInputWidth(t),a=this.getInputHeight(t);return C1({width:n,height:a},this.inputSize)}toBatchTensor(t,n=!0){return this._inputSize=t,O(()=>{let a=vr(this.batchSize,0,1).map(s=>{let i=this.getInput(s);if(i instanceof $e){let o=va(i)?i:mn(i);return o=F1(o,n),(o.shape[1]!==t||o.shape[2]!==t)&&(o=Er.resizeBilinear(o,[t,t],!1,!1)),o.as3D(t,t,3)}if(i instanceof et.getEnv().Canvas)return ko.fromPixels(G1(i,t,n));throw new Error(`toBatchTensor - at batchIdx ${s}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${i}`)});return Rt(a.map(s=>le(s,"float32"))).as4D(this.batchSize,t,t,3)})}};async function vt(e){if(e instanceof Ir)return e;let t=Array.isArray(e)?e:[e];if(!t.length)throw new Error("toNetInput - empty array passed as input");let n=r=>Array.isArray(e)?` at input index ${r}:`:"",a=t.map(zo);return a.forEach((r,s)=>{if(!Ng(r)&&!zr(r)&&!va(r))throw typeof t[s]=="string"?new Error(`toNetInput -${n(s)} string passed, but could not resolve HTMLElement for element id ${t[s]}`):new Error(`toNetInput -${n(s)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(va(r)){let i=r.shape[0];if(i!==1)throw new Error(`toNetInput -${n(s)} tf.Tensor4D with batchSize ${i} passed, but not supported in input array`)}}),await Promise.all(a.map(r=>Ng(r)&&B1(r))),new Ir(a,Array.isArray(e))}async function yp(e,t){let{Canvas:n}=et.getEnv(),a=e;if(!(e instanceof n)){let i=await vt(e);if(i.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let o=i.getInput(0);a=o instanceof n?o:await U1(o)}let r=Kn(a);return t.map(i=>i instanceof xt?i.forSize(a.width,a.height).box.floor():i).map(i=>i.clipAtImageBorders(a.width,a.height)).map(({x:i,y:o,width:l,height:u})=>{let p=Bo({width:l,height:u});return l>0&&u>0&&Kn(p).putImageData(r.getImageData(i,o,l,u),0,0),p})}async function xp(e,t){if(!zr(e)&&!va(e))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(va(e)&&e.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return O(()=>{let[n,a,r]=e.shape.slice(va(e)?1:0);return t.map(o=>o instanceof xt?o.forSize(a,n).box:o).map(o=>o.clipAtImageBorders(a,n)).filter(o=>o.width>0&&o.height>0).map(({x:o,y:l,width:u,height:p})=>To(e.as3D(n,a,r),[l,o,0],[p,u,r]))})}async function Vr(e,t){let{fetch:n}=et.getEnv(),a=await n(e,t);if(!(a.status<400))throw new Error(`failed to fetch: (${a.status}) ${a.statusText}, from url: ${a.url}`);return a}async function Xpe(e){let t=await Vr(e),n=await t.blob();if(!n.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${n.type}, for url: ${t.url}`);return V1(n)}async function H1(e){return(await Vr(e)).json()}async function Ype(e){return new Float32Array(await(await Vr(e)).arrayBuffer())}function Q$(e){return new Promise((t,n)=>{e instanceof Blob||n(new Error("bufferToVideo - expected buf to be of type: Blob"));let a=et.getEnv().createVideoElement();a.oncanplay=()=>t(a),a.onerror=n,a.playsInline=!0,a.muted=!0,a.src=URL.createObjectURL(e),a.play()})}async function Zpe(e){let t=await Vr(e),n=await t.blob();if(!n.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${n.type}, for url: ${t.url}`);return Q$(n)}function Cg(e,t){let n=`${t}-weights_manifest.json`;if(!e)return{modelBaseUri:"",manifestUri:n};if(e==="/")return{modelBaseUri:"/",manifestUri:`/${n}`};let a=e.startsWith("http://")?"http://":e.startsWith("https://")?"https://":"";e=e.replace(a,"");let r=e.split("/").filter(o=>o),s=e.endsWith(".json")?r[r.length-1]:n,i=a+(e.endsWith(".json")?r.slice(0,r.length-1):r).join("/");return i=e.startsWith("/")?`/${i}`:i,{modelBaseUri:i,manifestUri:i==="/"?`/${s}`:`${i}/${s}`}}async function j1(e,t){let{manifestUri:n,modelBaseUri:a}=Cg(e,t),r=await H1(n);return Nn.loadWeights(r,a)}function Jpe(e,t,n=!1){let{width:a,height:r}=n?Wo(t):t;return e.width=a,e.height=r,{width:a,height:r}}var on=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:n,objProp:a}=this.traversePropertyPath(t);return n[a]}reassignParamFromPath(t,n){let{obj:a,objProp:r}=this.traversePropertyPath(t);a[r].dispose(),a[r]=n}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof us)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof us))}variable(){this.getFrozenParams().forEach(({path:t,tensor:n})=>{this.reassignParamFromPath(t,n.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:n})=>{let a=Bn(n.dataSync());n.dispose(),this.reassignParamFromPath(t,a)})}dispose(t=!0){this.getParamList().forEach(n=>{if(t&&n.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${n.path}`);n.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,n)=>t.concat(n)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let n=await j1(t,this.getDefaultModelName());this.loadFromWeightMap(n)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:n}=et.getEnv(),{manifestUri:a,modelBaseUri:r}=Cg(t,this.getDefaultModelName()),s=u=>Promise.all(u.map(p=>n(p).then(d=>d.buffer))),i=Nn.weightsLoaderFactory(s),o=JSON.parse((await n(a)).toString()),l=await i(o,r);this.loadFromWeightMap(l)}loadFromWeightMap(t){let{paramMappings:n,params:a}=this.extractParamsFromWeightMap(t);this._paramMappings=n,this._params=a}extractWeights(t){let{paramMappings:n,params:a}=this.extractParams(t);this._paramMappings=n,this._params=a}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let n=t.split("/").reduce((s,i)=>{if(!s.nextObj.hasOwnProperty(i))throw new Error(`traversePropertyPath - object does not have property ${i}, for path ${t}`);return{obj:s.nextObj,objProp:i,nextObj:s.nextObj[i]}},{nextObj:this.params}),{obj:a,objProp:r}=n;if(!a||!r||!(a[r]instanceof $e))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:a,objProp:r}}};function Xn(e,t,n){return O(()=>{let a=Es(e,t.depthwise_filter,t.pointwise_filter,n,"same");return a=Q(a,t.bias),a})}function _g(e,t,n=!1){return O(()=>{let a=Xe(n?Q(Dt(e,t.conv0.filters,[2,2],"same"),t.conv0.bias):Xn(e,t.conv0,[2,2])),r=Xn(a,t.conv1,[1,1]),s=Xe(Q(a,r)),i=Xn(s,t.conv2,[1,1]);return Xe(Q(a,Q(r,i)))})}function $d(e,t,n=!1,a=!0){return O(()=>{let r=Xe(n?Q(Dt(e,t.conv0.filters,a?[2,2]:[1,1],"same"),t.conv0.bias):Xn(e,t.conv0,a?[2,2]:[1,1])),s=Xn(r,t.conv1,[1,1]),i=Xe(Q(r,s)),o=Xn(i,t.conv2,[1,1]),l=Xe(Q(r,Q(s,o))),u=Xn(l,t.conv3,[1,1]);return Xe(Q(r,Q(s,Q(o,u))))})}function Vo(e,t,n="same",a=!1){return O(()=>{let r=Q(Dt(e,t.filters,[1,1],n),t.bias);return a?Xe(r):r})}function Dn(e,t){Object.keys(e).forEach(n=>{t.some(a=>a.originalPath===n)||e[n].dispose()})}function vp(e,t){return(n,a,r,s)=>{let i=Fa(e(n*a*r*r),[r,r,n,a]),o=Ke(e(a));return t.push({paramPath:`${s}/filters`},{paramPath:`${s}/bias`}),{filters:i,bias:o}}}function Eg(e,t){return(n,a,r)=>{let s=Ea(e(n*a),[n,a]),i=Ke(e(a));return t.push({paramPath:`${r}/weights`},{paramPath:`${r}/bias`}),{weights:s,bias:i}}}var Ad=class{constructor(t,n,a){this.depthwise_filter=t;this.pointwise_filter=n;this.bias=a}};function wp(e,t){return(n,a,r)=>{let s=Fa(e(9*n),[3,3,n,1]),i=Fa(e(n*a),[1,1,n,a]),o=Ke(e(a));return t.push({paramPath:`${r}/depthwise_filter`},{paramPath:`${r}/pointwise_filter`},{paramPath:`${r}/bias`}),new Ad(s,i,o)}}function kp(e){return t=>{let n=e(`${t}/depthwise_filter`,4),a=e(`${t}/pointwise_filter`,4),r=e(`${t}/bias`,1);return new Ad(n,a,r)}}function sa(e,t){return(n,a,r)=>{let s=e[n];if(!Fo(s,a))throw new Error(`expected weightMap[${n}] to be a Tensor${a}D, instead have ${s}`);return t.push({originalPath:n,paramPath:r||n}),s}}function Rn(e){let t=e;function n(r){let s=t.slice(0,r);return t=t.slice(r),s}function a(){return t}return{extractWeights:n,getRemainingWeights:a}}function $g(e,t){let n=vp(e,t),a=wp(e,t);function r(i,o,l,u=!1){let p=u?n(i,o,3,`${l}/conv0`):a(i,o,`${l}/conv0`),d=a(o,o,`${l}/conv1`),c=a(o,o,`${l}/conv2`);return{conv0:p,conv1:d,conv2:c}}function s(i,o,l,u=!1){let{conv0:p,conv1:d,conv2:c}=r(i,o,l,u),h=a(o,o,`${l}/conv3`);return{conv0:p,conv1:d,conv2:c,conv3:h}}return{extractDenseBlock3Params:r,extractDenseBlock4Params:s}}function eA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractDenseBlock4Params:r}=$g(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2"),l=r(128,256,"dense3");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o,dense3:l}}}function Ag(e){return t=>{let n=e(`${t}/filters`,4),a=e(`${t}/bias`,1);return{filters:n,bias:a}}}function Fg(e,t){let n=sa(e,t),a=Ag(n),r=kp(n);function s(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`);return{conv0:u,conv1:p,conv2:d}}function i(o,l=!1){let u=l?a(`${o}/conv0`):r(`${o}/conv0`),p=r(`${o}/conv1`),d=r(`${o}/conv2`),c=r(`${o}/conv3`);return{conv0:u,conv1:p,conv2:d,conv3:c}}return{extractDenseBlock3Params:s,extractDenseBlock4Params:i}}function tA(e){let t=[],{extractDenseBlock4Params:n}=Fg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2"),dense3:n("dense3")};return Dn(e,t),{params:a,paramMappings:t}}var Ip=class extends on{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceFeatureExtractor - load model before inference");return O(()=>{let a=le(t.toBatchTensor(112,!0),"float32"),s=nr(a,[122.782,117.001,104.298]).div(255),i=$d(s,n.dense0,!0);return i=$d(i,n.dense1),i=$d(i,n.dense2),i=$d(i,n.dense3),i=ba(i,[7,7],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return tA(t)}extractParams(t){return eA(t)}};function Fd(e,t){return O(()=>Q(Re(e,t.weights),t.bias))}function nA(e,t,n){let a=[],{extractWeights:r,getRemainingWeights:s}=Rn(e),o=Eg(r,a)(t,n,"fc");if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{paramMappings:a,params:{fc:o}}}function aA(e){let t=[],n=sa(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:a("fc")};return Dn(e,t),{params:r,paramMappings:t}}function Dg(e){let t={},n={};return Object.keys(e).forEach(a=>{let r=a.startsWith("fc")?n:t;r[a]=e[a]}),{featureExtractorMap:t,classifierMap:n}}var Tp=class extends on{constructor(n,a){super(n);this._faceFeatureExtractor=a}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(n){let{params:a}=this;if(!a)throw new Error(`${this._name} - load model before inference`);return O(()=>{let r=n instanceof Ir?this.faceFeatureExtractor.forwardInput(n):n;return Fd(r.as2D(r.shape[0],-1),a.fc)})}dispose(n=!0){this.faceFeatureExtractor.dispose(n),super.dispose(n)}loadClassifierParams(n){let{params:a,paramMappings:r}=this.extractClassifierParams(n);this._params=a,this._paramMappings=r}extractClassifierParams(n){return nA(n,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(n){let{featureExtractorMap:a,classifierMap:r}=Dg(n);return this.faceFeatureExtractor.loadFromWeightMap(a),aA(r)}extractParams(n){let a=this.getClassifierChannelsIn(),r=this.getClassifierChannelsOut(),s=r*a+r,i=n.slice(0,n.length-s),o=n.slice(n.length-s);return this.faceFeatureExtractor.extractWeights(i),this.extractClassifierParams(o)}};var q1=["neutral","happy","sad","angry","fearful","disgusted","surprised"],Ur=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);q1.forEach((n,a)=>{this[n]=t[a]})}asSortedArray(){return q1.map(t=>({expression:t,probability:this[t]})).sort((t,n)=>n.probability-t.probability)}};var Dd=class extends Tp{constructor(t=new Ip){super("FaceExpressionNet",t)}forwardInput(t){return O(()=>Qa(this.runNet(t)))}async forward(t){return this.forwardInput(await vt(t))}async predictExpressions(t){let n=await vt(t),a=await this.forwardInput(n),r=await Promise.all(mt(a).map(async i=>{let o=i.dataSync();return i.dispose(),o}));a.dispose();let s=r.map(i=>new Ur(i));return n.isBatchInput?s:s[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function K1(e){return e.expressions instanceof Ur}function Rg(e,t){return{...e,...{expressions:t}}}function Qpe(e,t,n=.1,a){(Array.isArray(t)?t:[t]).forEach(s=>{let i=s instanceof Ur?s:K1(s)?s.expressions:void 0;if(!i)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let l=i.asSortedArray().filter(d=>d.probability>n),u=kr(s)?s.detection.box.bottomLeft:a||new Pe(0,0);new Br(l.map(d=>`${d.expression} (${Do(d.probability)})`),u).draw(e)})}function Uo(e){return kr(e)&&e.landmarks instanceof ra&&e.unshiftedLandmarks instanceof ra&&e.alignedRect instanceof xt}function ece(e){let t=(o,l,u,p)=>Math.atan2(p-l,u-o)%Math.PI,n=o=>o*180/Math.PI,a={roll:void 0,pitch:void 0,yaw:void 0};if(!e||!e._positions||e._positions.length!==68)return a;let r=e._positions;a.roll=-t(r[36]._x,r[36]._y,r[45]._x,r[45]._y),a.pitch=t(0,Math.abs(r[0]._x-r[30]._x)/r[30]._x,Math.PI,Math.abs(r[16]._x-r[30]._x)/r[30]._x);let s=r.reduce((o,l)=>oo>l._y?o:l._y,-1/0);return a.yaw=Math.PI*(e._imgDims._height/(i-s)/1.4-1),a}function Sp(e,t){let{box:n}=e.detection,a=t.shiftBy(n.x,n.y),r=a.align(),{imageDims:s}=e.detection,i=new xt(e.detection.score,r.rescale(s.reverse()),s),o=ece(t);return{...e,...{landmarks:a,unshiftedLandmarks:t,alignedRect:i,angle:o}}}var Mg=class{constructor(t={}){let{drawLines:n=!0,drawPoints:a=!0,lineWidth:r,lineColor:s,pointSize:i,pointColor:o}=t;this.drawLines=n,this.drawPoints=a,this.lineWidth=r||1,this.pointSize=i||2,this.lineColor=s||"rgba(0, 255, 255, 1)",this.pointColor=o||"rgba(255, 0, 255, 1)"}},Pg=class{constructor(t,n={}){this.faceLandmarks=t,this.options=new Mg(n)}draw(t){let n=Kn(t),{drawLines:a,drawPoints:r,lineWidth:s,lineColor:i,pointSize:o,pointColor:l}=this.options;if(a&&this.faceLandmarks instanceof Oo&&(n.strokeStyle=i,n.lineWidth=s,Lr(n,this.faceLandmarks.getJawOutline()),Lr(n,this.faceLandmarks.getLeftEyeBrow()),Lr(n,this.faceLandmarks.getRightEyeBrow()),Lr(n,this.faceLandmarks.getNose()),Lr(n,this.faceLandmarks.getLeftEye(),!0),Lr(n,this.faceLandmarks.getRightEye(),!0),Lr(n,this.faceLandmarks.getMouth(),!0)),r){n.strokeStyle=l,n.fillStyle=l;let u=p=>{n.beginPath(),n.arc(p.x,p.y,o,0,2*Math.PI),n.fill()};this.faceLandmarks.positions.forEach(u)}}};function tce(e,t){(Array.isArray(t)?t:[t]).forEach(a=>{let r=a instanceof ra?a:Uo(a)?a.landmarks:void 0;if(!r)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new Pg(r).draw(e)})}var rA="1.7.3";function rce(e,t){let n=vp(e,t),a=wp(e,t);function r(i,o,l){let u=a(i,o,`${l}/separable_conv0`),p=a(o,o,`${l}/separable_conv1`),d=n(i,o,1,`${l}/expansion_conv`);return{separable_conv0:u,separable_conv1:p,expansion_conv:d}}function s(i,o){let l=a(i,i,`${o}/separable_conv0`),u=a(i,i,`${o}/separable_conv1`),p=a(i,i,`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:n,extractSeparableConvParams:a,extractReductionBlockParams:r,extractMainBlockParams:s}}function sA(e,t){let n=[],{extractWeights:a,getRemainingWeights:r}=Rn(e),{extractConvParams:s,extractSeparableConvParams:i,extractReductionBlockParams:o,extractMainBlockParams:l}=rce(a,n),u=s(3,32,3,"entry_flow/conv_in"),p=o(32,64,"entry_flow/reduction_block_0"),d=o(64,128,"entry_flow/reduction_block_1"),c={conv_in:u,reduction_block_0:p,reduction_block_1:d},h={};vr(t,0,1).forEach(b=>{h[`main_block_${b}`]=l(128,`middle_flow/main_block_${b}`)});let m=o(128,256,"exit_flow/reduction_block"),f=i(256,512,"exit_flow/separable_conv"),g={reduction_block:m,separable_conv:f};if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:n,params:{entry_flow:c,middle_flow:h,exit_flow:g}}}function sce(e,t){let n=sa(e,t),a=Ag(n),r=kp(n);function s(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=a(`${o}/expansion_conv`);return{separable_conv0:l,separable_conv1:u,expansion_conv:p}}function i(o){let l=r(`${o}/separable_conv0`),u=r(`${o}/separable_conv1`),p=r(`${o}/separable_conv2`);return{separable_conv0:l,separable_conv1:u,separable_conv2:p}}return{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}}function iA(e,t){let n=[],{extractConvParams:a,extractSeparableConvParams:r,extractReductionBlockParams:s,extractMainBlockParams:i}=sce(e,n),o=a("entry_flow/conv_in"),l=s("entry_flow/reduction_block_0"),u=s("entry_flow/reduction_block_1"),p={conv_in:o,reduction_block_0:l,reduction_block_1:u},d={};vr(t,0,1).forEach(f=>{d[`main_block_${f}`]=i(`middle_flow/main_block_${f}`)});let c=s("exit_flow/reduction_block"),h=r("exit_flow/separable_conv"),m={reduction_block:c,separable_conv:h};return Dn(e,n),{params:{entry_flow:p,middle_flow:d,exit_flow:m},paramMappings:n}}function oA(e,t,n){return Q(Dt(e,t.filters,n,"same"),t.bias)}function Y1(e,t,n=!0){let a=n?Xe(e):e;return a=Xn(a,t.separable_conv0,[1,1]),a=Xn(Xe(a),t.separable_conv1,[1,1]),a=Mt(a,[3,3],[2,2],"same"),a=Q(a,oA(e,t.expansion_conv,[2,2])),a}function ice(e,t){let n=Xn(Xe(e),t.separable_conv0,[1,1]);return n=Xn(Xe(n),t.separable_conv1,[1,1]),n=Xn(Xe(n),t.separable_conv2,[1,1]),n=Q(n,e),n}var Og=class extends on{constructor(n){super("TinyXception");this._numMainBlocks=n}forwardInput(n){let{params:a}=this;if(!a)throw new Error("TinyXception - load model before inference");return O(()=>{let r=le(n.toBatchTensor(112,!0),"float32"),i=nr(r,[122.782,117.001,104.298]).div(255),o=Xe(oA(i,a.entry_flow.conv_in,[2,2]));return o=Y1(o,a.entry_flow.reduction_block_0,!1),o=Y1(o,a.entry_flow.reduction_block_1),vr(this._numMainBlocks,0,1).forEach(l=>{o=ice(o,a.middle_flow[`main_block_${l}`])}),o=Y1(o,a.exit_flow.reduction_block),o=Xe(Xn(o,a.exit_flow.separable_conv,[1,1])),o})}async forward(n){return this.forwardInput(await vt(n))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(n){return iA(n,this._numMainBlocks)}extractParams(n){return sA(n,this._numMainBlocks)}};function lA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),r=Eg(n,t),s=r(512,1,"fc/age"),i=r(512,2,"fc/gender");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{fc:{age:s,gender:i}}}}function uA(e){let t=[],n=sa(e,t);function a(s){let i=n(`${s}/weights`,2),o=n(`${s}/bias`,1);return{weights:i,bias:o}}let r={fc:{age:a("fc/age"),gender:a("fc/gender")}};return Dn(e,t),{params:r,paramMappings:t}}var Lg=(n=>(n.FEMALE="female",n.MALE="male",n))(Lg||{});var Rd=class extends on{constructor(n=new Og(2)){super("AgeGenderNet");this._faceFeatureExtractor=n}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(n){let{params:a}=this;if(!a)throw new Error(`${this._name} - load model before inference`);return O(()=>{let r=n instanceof Ir?this.faceFeatureExtractor.forwardInput(n):n,s=ba(r,[7,7],[2,2],"valid").as2D(r.shape[0],-1),i=Fd(s,a.fc.age).as1D(),o=Fd(s,a.fc.gender);return{age:i,gender:o}})}forwardInput(n){return O(()=>{let{age:a,gender:r}=this.runNet(n);return{age:a,gender:Qa(r)}})}async forward(n){return this.forwardInput(await vt(n))}async predictAgeAndGender(n){let a=await vt(n),r=await this.forwardInput(a),s=mt(r.age),i=mt(r.gender),o=s.map((u,p)=>({ageTensor:u,genderTensor:i[p]})),l=await Promise.all(o.map(async({ageTensor:u,genderTensor:p})=>{let d=u.dataSync()[0],c=p.dataSync()[0],h=c>.5,m=h?"male":"female",f=h?c:1-c;return u.dispose(),p.dispose(),{age:d,gender:m,genderProbability:f}}));return r.age.dispose(),r.gender.dispose(),a.isBatchInput?l:l[0]}getDefaultModelName(){return"age_gender_model"}dispose(n=!0){this.faceFeatureExtractor.dispose(n),super.dispose(n)}loadClassifierParams(n){let{params:a,paramMappings:r}=this.extractClassifierParams(n);this._params=a,this._paramMappings=r}extractClassifierParams(n){return lA(n)}extractParamsFromWeightMap(n){let{featureExtractorMap:a,classifierMap:r}=Dg(n);return this.faceFeatureExtractor.loadFromWeightMap(a),uA(r)}extractParams(n){let r=n.slice(0,n.length-1539),s=n.slice(n.length-1539);return this.faceFeatureExtractor.extractWeights(r),this.extractClassifierParams(s)}};var Np=class extends Tp{postProcess(t,n,a){let r=a.map(({width:i,height:o})=>{let l=n/Math.max(o,i);return{width:i*l,height:o*l}}),s=r.length;return O(()=>{let i=(d,c)=>Rt([$n([68],d,"float32"),$n([68],c,"float32")],1).as2D(1,136).as1D(),o=(d,c)=>{let{width:h,height:m}=r[d];return c(h,m)?Math.abs(h-m)/2:0},l=d=>o(d,(c,h)=>co(d,(c,h)=>hi(l(c),u(c))))).div(Rt(Array.from(Array(s),(d,c)=>i(r[c].width,r[c].height))))})}forwardInput(t){return O(()=>{let n=this.runNet(t);return this.postProcess(n,t.inputSize,t.inputDimensions.map(([a,r])=>({height:a,width:r})))})}async forward(t){return this.forwardInput(await vt(t))}async detectLandmarks(t){let n=await vt(t),a=O(()=>mt(this.forwardInput(n))),r=await Promise.all(a.map(async(s,i)=>{let o=Array.from(s.dataSync()),l=o.filter((p,d)=>kg(d)),u=o.filter((p,d)=>!kg(d));return new Oo(Array(68).fill(0).map((p,d)=>new Pe(l[d],u[d])),{height:n.getInputHeight(i),width:n.getInputWidth(i)})}));return a.forEach(s=>s.dispose()),n.isBatchInput?r:r[0]}getClassifierChannelsOut(){return 136}};var Go=class extends Np{constructor(t=new Ip){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};function pA(e){let t=[],{extractDenseBlock3Params:n}=Fg(e,t),a={dense0:n("dense0",!0),dense1:n("dense1"),dense2:n("dense2")};return Dn(e,t),{params:a,paramMappings:t}}function cA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractDenseBlock3Params:r}=$g(n,t),s=r(3,32,"dense0",!0),i=r(32,64,"dense1"),o=r(64,128,"dense2");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:t,params:{dense0:s,dense1:i,dense2:o}}}var zg=class extends on{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("TinyFaceFeatureExtractor - load model before inference");return O(()=>{let a=le(t.toBatchTensor(112,!0),"float32"),s=nr(a,[122.782,117.001,104.298]).div(255),i=_g(s,n.dense0,!0);return i=_g(i,n.dense1),i=_g(i,n.dense2),i=ba(i,[14,14],[2,2],"valid"),i})}async forward(t){return this.forwardInput(await vt(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return pA(t)}extractParams(t){return cA(t)}};var Md=class extends Np{constructor(t=new zg){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var Z1=class extends Go{};function dA(e,t){return Q(W(e,t.weights),t.biases)}function J1(e,t,n,a,r="same"){let{filters:s,bias:i}=t.conv,o=Dt(e,s,n,r);return o=Q(o,i),o=dA(o,t.scale),a?Xe(o):o}function hA(e,t){return J1(e,t,[1,1],!0)}function Q1(e,t){return J1(e,t,[1,1],!1)}function Wg(e,t){return J1(e,t,[2,2],!0,"valid")}function oce(e,t){function n(o,l,u){let p=e(o),d=p.length/(l*u*u);if(N1(d))throw new Error(`depth has to be an integer: ${d}, weights.length: ${p.length}, numFilters: ${l}, filterSize: ${u}`);return O(()=>Ae(Fa(p,[l,d,u,u]),[2,3,1,0]))}function a(o,l,u,p){let d=n(o,l,u),c=Ke(e(l));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:d,bias:c}}function r(o,l){let u=Ke(e(o)),p=Ke(e(o));return t.push({paramPath:`${l}/weights`},{paramPath:`${l}/biases`}),{weights:u,biases:p}}function s(o,l,u,p){let d=a(o,l,u,`${p}/conv`),c=r(l,`${p}/scale`);return{conv:d,scale:c}}function i(o,l,u,p,d=!1){let c=s((d?.5:1)*o,l,u,`${p}/conv1`),h=s(o,l,u,`${p}/conv2`);return{conv1:c,conv2:h}}return{extractConvLayerParams:s,extractResidualLayerParams:i}}function mA(e){let{extractWeights:t,getRemainingWeights:n}=Rn(e),a=[],{extractConvLayerParams:r,extractResidualLayerParams:s}=oce(t,a),i=r(4704,32,7,"conv32_down"),o=s(9216,32,3,"conv32_1"),l=s(9216,32,3,"conv32_2"),u=s(9216,32,3,"conv32_3"),p=s(36864,64,3,"conv64_down",!0),d=s(36864,64,3,"conv64_1"),c=s(36864,64,3,"conv64_2"),h=s(36864,64,3,"conv64_3"),m=s(147456,128,3,"conv128_down",!0),f=s(147456,128,3,"conv128_1"),g=s(147456,128,3,"conv128_2"),b=s(589824,256,3,"conv256_down",!0),y=s(589824,256,3,"conv256_1"),x=s(589824,256,3,"conv256_2"),w=s(589824,256,3,"conv256_down_out"),I=O(()=>Ae(Ea(t(256*128),[128,256]),[1,0]));if(a.push({paramPath:"fc"}),n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{params:{conv32_down:i,conv32_1:o,conv32_2:l,conv32_3:u,conv64_down:p,conv64_1:d,conv64_2:c,conv64_3:h,conv128_down:m,conv128_1:f,conv128_2:g,conv256_down:b,conv256_1:y,conv256_2:x,conv256_down_out:w,fc:I},paramMappings:a}}function lce(e,t){let n=sa(e,t);function a(i){let o=n(`${i}/scale/weights`,1),l=n(`${i}/scale/biases`,1);return{weights:o,biases:l}}function r(i){let o=n(`${i}/conv/filters`,4),l=n(`${i}/conv/bias`,1),u=a(i);return{conv:{filters:o,bias:l},scale:u}}function s(i){return{conv1:r(`${i}/conv1`),conv2:r(`${i}/conv2`)}}return{extractConvLayerParams:r,extractResidualLayerParams:s}}function fA(e){let t=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=lce(e,t),r=n("conv32_down"),s=a("conv32_1"),i=a("conv32_2"),o=a("conv32_3"),l=a("conv64_down"),u=a("conv64_1"),p=a("conv64_2"),d=a("conv64_3"),c=a("conv128_down"),h=a("conv128_1"),m=a("conv128_2"),f=a("conv256_down"),g=a("conv256_1"),b=a("conv256_2"),y=a("conv256_down_out"),{fc:x}=e;if(t.push({originalPath:"fc",paramPath:"fc"}),!S1(x))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${x}`);let w={conv32_down:r,conv32_1:s,conv32_2:i,conv32_3:o,conv64_down:l,conv64_1:u,conv64_2:p,conv64_3:d,conv128_down:c,conv128_1:h,conv128_2:m,conv256_down:f,conv256_1:g,conv256_2:b,conv256_down_out:y,fc:x};return Dn(e,t),{params:w,paramMappings:t}}function ar(e,t){let n=hA(e,t.conv1);return n=Q1(n,t.conv2),n=Q(n,e),n=Xe(n),n}function Pd(e,t){let n=Wg(e,t.conv1);n=Q1(n,t.conv2);let a=ba(e,2,2,"valid"),r=It(a.shape),s=a.shape[3]!==n.shape[3];if(a.shape[1]!==n.shape[1]||a.shape[2]!==n.shape[2]){let o=[...n.shape];o[1]=1;let l=It(o);n=Qe([n,l],1);let u=[...n.shape];u[2]=1;let p=It(u);n=Qe([n,p],2)}return a=s?Qe([a,r],3):a,n=Q(a,n),n=Xe(n),n}var Ho=class extends on{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("FaceRecognitionNet - load model before inference");return O(()=>{let a=le(t.toBatchTensor(150,!0),"float32"),s=nr(a,[122.782,117.001,104.298]).div(255),i=Wg(s,n.conv32_down);i=Mt(i,3,2,"valid"),i=ar(i,n.conv32_1),i=ar(i,n.conv32_2),i=ar(i,n.conv32_3),i=Pd(i,n.conv64_down),i=ar(i,n.conv64_1),i=ar(i,n.conv64_2),i=ar(i,n.conv64_3),i=Pd(i,n.conv128_down),i=ar(i,n.conv128_1),i=ar(i,n.conv128_2),i=Pd(i,n.conv256_down),i=ar(i,n.conv256_1),i=ar(i,n.conv256_2),i=Pd(i,n.conv256_down_out);let o=i.mean([1,2]);return Re(o,n.fc)})}async forward(t){return this.forwardInput(await vt(t))}async computeFaceDescriptor(t){var s;if((s=t==null?void 0:t.shape)!=null&&s.some(i=>i<=0))return new Float32Array(128);let n=await vt(t),a=O(()=>mt(this.forwardInput(n))),r=await Promise.all(a.map(i=>i.data()));return a.forEach(i=>i.dispose()),n.isBatchInput?r:r[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return fA(t)}extractParams(t){return mA(t)}};function uce(e){let t=new Ho;return t.extractWeights(e),t}function Bg(e,t){return{...e,...{descriptor:t}}}function pce(e){return typeof e.age=="number"}function Vg(e,t){return{...e,...{age:t}}}function cce(e){return(e.gender==="male"||e.gender==="female")&&mp(e.genderProbability)}function Ug(e,t,n){return{...e,...{gender:t,genderProbability:n}}}function dce(e,t){function n(l,u){let p=Fa(e(9*l),[3,3,l,1]),d=Ke(e(l)),c=Ke(e(l)),h=Ke(e(l)),m=Ke(e(l));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/batch_norm_scale`},{paramPath:`${u}/batch_norm_offset`},{paramPath:`${u}/batch_norm_mean`},{paramPath:`${u}/batch_norm_variance`}),{filters:p,batch_norm_scale:d,batch_norm_offset:c,batch_norm_mean:h,batch_norm_variance:m}}function a(l,u,p,d,c){let h=Fa(e(l*u*p*p),[p,p,l,u]),m=Ke(e(u));return t.push({paramPath:`${d}/filters`},{paramPath:`${d}/${c?"batch_norm_offset":"bias"}`}),{filters:h,bias:m}}function r(l,u,p,d){let{filters:c,bias:h}=a(l,u,p,d,!0);return{filters:c,batch_norm_offset:h}}function s(l,u,p){let d=n(l,`${p}/depthwise_conv`),c=r(l,u,1,`${p}/pointwise_conv`);return{depthwise_conv:d,pointwise_conv:c}}function i(){let l=r(3,32,3,"mobilenetv1/conv_0"),u=s(32,64,"mobilenetv1/conv_1"),p=s(64,128,"mobilenetv1/conv_2"),d=s(128,128,"mobilenetv1/conv_3"),c=s(128,256,"mobilenetv1/conv_4"),h=s(256,256,"mobilenetv1/conv_5"),m=s(256,512,"mobilenetv1/conv_6"),f=s(512,512,"mobilenetv1/conv_7"),g=s(512,512,"mobilenetv1/conv_8"),b=s(512,512,"mobilenetv1/conv_9"),y=s(512,512,"mobilenetv1/conv_10"),x=s(512,512,"mobilenetv1/conv_11"),w=s(512,1024,"mobilenetv1/conv_12"),I=s(1024,1024,"mobilenetv1/conv_13");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,conv_8:g,conv_9:b,conv_10:y,conv_11:x,conv_12:w,conv_13:I}}function o(){let l=r(1024,256,1,"prediction_layer/conv_0"),u=r(256,512,3,"prediction_layer/conv_1"),p=r(512,128,1,"prediction_layer/conv_2"),d=r(128,256,3,"prediction_layer/conv_3"),c=r(256,128,1,"prediction_layer/conv_4"),h=r(128,256,3,"prediction_layer/conv_5"),m=r(256,64,1,"prediction_layer/conv_6"),f=r(64,128,3,"prediction_layer/conv_7"),g=a(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),b=a(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),y=a(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),x=a(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),w=a(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),I=a(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),N=a(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),_=a(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),$=a(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),A=a(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),M=a(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),D=a(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:l,conv_1:u,conv_2:p,conv_3:d,conv_4:c,conv_5:h,conv_6:m,conv_7:f,box_predictor_0:{box_encoding_predictor:g,class_predictor:b},box_predictor_1:{box_encoding_predictor:y,class_predictor:x},box_predictor_2:{box_encoding_predictor:w,class_predictor:I},box_predictor_3:{box_encoding_predictor:N,class_predictor:_},box_predictor_4:{box_encoding_predictor:$,class_predictor:A},box_predictor_5:{box_encoding_predictor:M,class_predictor:D}}}return{extractMobilenetV1Params:i,extractPredictionLayerParams:o}}function gA(e){let t=[],{extractWeights:n,getRemainingWeights:a}=Rn(e),{extractMobilenetV1Params:r,extractPredictionLayerParams:s}=dce(n,t),i=r(),o=s(),u={extra_dim:Kc(n(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:{mobilenetv1:i,prediction_layer:o,output_layer:u},paramMappings:t}}function hce(e,t){let n=sa(e,t);function a(u,p,d){let c=n(`${u}/Conv2d_${p}_pointwise/weights`,4,`${d}/filters`),h=n(`${u}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${d}/batch_norm_offset`);return{filters:c,batch_norm_offset:h}}function r(u){let p=`mobilenetv1/conv_${u}`,d=`MobilenetV1/Conv2d_${u}_depthwise`,c=`${p}/depthwise_conv`,h=`${p}/pointwise_conv`,m=n(`${d}/depthwise_weights`,4,`${c}/filters`),f=n(`${d}/BatchNorm/gamma`,1,`${c}/batch_norm_scale`),g=n(`${d}/BatchNorm/beta`,1,`${c}/batch_norm_offset`),b=n(`${d}/BatchNorm/moving_mean`,1,`${c}/batch_norm_mean`),y=n(`${d}/BatchNorm/moving_variance`,1,`${c}/batch_norm_variance`);return{depthwise_conv:{filters:m,batch_norm_scale:f,batch_norm_offset:g,batch_norm_mean:b,batch_norm_variance:y},pointwise_conv:a("MobilenetV1",u,h)}}function s(){return{conv_0:a("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:r(1),conv_2:r(2),conv_3:r(3),conv_4:r(4),conv_5:r(5),conv_6:r(6),conv_7:r(7),conv_8:r(8),conv_9:r(9),conv_10:r(10),conv_11:r(11),conv_12:r(12),conv_13:r(13)}}function i(u,p){let d=n(`${u}/weights`,4,`${p}/filters`),c=n(`${u}/biases`,1,`${p}/bias`);return{filters:d,bias:c}}function o(u){let p=i(`Prediction/BoxPredictor_${u}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${u}/box_encoding_predictor`),d=i(`Prediction/BoxPredictor_${u}/ClassPredictor`,`prediction_layer/box_predictor_${u}/class_predictor`);return{box_encoding_predictor:p,class_predictor:d}}function l(){return{conv_0:a("Prediction",0,"prediction_layer/conv_0"),conv_1:a("Prediction",1,"prediction_layer/conv_1"),conv_2:a("Prediction",2,"prediction_layer/conv_2"),conv_3:a("Prediction",3,"prediction_layer/conv_3"),conv_4:a("Prediction",4,"prediction_layer/conv_4"),conv_5:a("Prediction",5,"prediction_layer/conv_5"),conv_6:a("Prediction",6,"prediction_layer/conv_6"),conv_7:a("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:o(0),box_predictor_1:o(1),box_predictor_2:o(2),box_predictor_3:o(3),box_predictor_4:o(4),box_predictor_5:o(5)}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:l}}function bA(e){let t=[],{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=hce(e,t),r=e["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!zr(r))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${r}`);let s={mobilenetv1:n(),prediction_layer:a(),output_layer:{extra_dim:r}};return Dn(e,t),{params:s,paramMappings:t}}function Ma(e,t,n){return O(()=>{let a=Dt(e,t.filters,n,"same");return a=Q(a,t.batch_norm_offset),tn(a,0,6)})}var mce=.0010000000474974513;function fce(e,t,n){return O(()=>{let a=Ns(e,t.filters,n,"same");return a=Ss(a,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,mce),tn(a,0,6)})}function gce(e){return[2,4,6,12].some(t=>t===e)?[2,2]:[1,1]}function yA(e,t){return O(()=>{let n,a=Ma(e,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((s,i)=>{let o=i+1,l=gce(o);a=fce(a,s.depthwise_conv,l),a=Ma(a,s.pointwise_conv,[1,1]),o===11&&(n=a)}),n===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:a,conv11:n}})}function bce(e,t,n){let a=e.arraySync(),r=Math.min(a[t][0],a[t][2]),s=Math.min(a[t][1],a[t][3]),i=Math.max(a[t][0],a[t][2]),o=Math.max(a[t][1],a[t][3]),l=Math.min(a[n][0],a[n][2]),u=Math.min(a[n][1],a[n][3]),p=Math.max(a[n][0],a[n][2]),d=Math.max(a[n][1],a[n][3]),c=(i-r)*(o-s),h=(p-l)*(d-u);if(c<=0||h<=0)return 0;let m=Math.max(r,l),f=Math.max(s,u),g=Math.min(i,p),b=Math.min(o,d),y=Math.max(g-m,0)*Math.max(b-f,0);return y/(c+h-y)}function xA(e,t,n,a,r){let s=e.shape[0],i=Math.min(n,s),o=t.map((p,d)=>({score:p,boxIndex:d})).filter(p=>p.score>r).sort((p,d)=>d.score-p.score),l=p=>p<=a?1:0,u=[];return o.forEach(p=>{if(u.length>=i)return;let d=p.score;for(let c=u.length-1;c>=0;--c){let h=bce(e,p.boxIndex,u[c]);if(h!==0&&(p.score*=l(h),p.score<=r))break}d===p.score&&u.push(p.boxIndex)}),u}function yce(e){let t=mt(Ae(e,[1,0])),n=[ce(t[2],t[0]),ce(t[3],t[1])],a=[Q(t[0],fe(n[0],2)),Q(t[1],fe(n[1],2))];return{sizes:n,centers:a}}function xce(e,t){let{sizes:n,centers:a}=yce(e),r=mt(Ae(t,[1,0])),s=fe(W(gn(fe(r[2],5)),n[0]),2),i=Q(W(fe(r[0],10),n[0]),a[0]),o=fe(W(gn(fe(r[3],5)),n[1]),2),l=Q(W(fe(r[1],10),n[1]),a[1]);return Ae(Rt([ce(i,s),ce(l,o),Q(i,s),Q(l,o)]),[1,0])}function vA(e,t,n){return O(()=>{let a=e.shape[0],r=xce(B(Wn(n.extra_dim,[a,1,1]),[-1,4]),B(e,[-1,4]));r=B(r,[a,r.shape[0]/a,4]);let s=ha(He(t,[0,0,1],[-1,-1,-1])),i=He(s,[0,0,0],[-1,-1,1]);i=B(i,[a,i.shape[1]]);let o=mt(r),l=mt(i);return{boxes:o,scores:l}})}function jo(e,t){return O(()=>{let n=e.shape[0],a=B(Vo(e,t.box_encoding_predictor),[n,-1,1,4]),r=B(Vo(e,t.class_predictor),[n,-1,3]);return{boxPredictionEncoding:a,classPrediction:r}})}function wA(e,t,n){return O(()=>{let a=Ma(e,n.conv_0,[1,1]),r=Ma(a,n.conv_1,[2,2]),s=Ma(r,n.conv_2,[1,1]),i=Ma(s,n.conv_3,[2,2]),o=Ma(i,n.conv_4,[1,1]),l=Ma(o,n.conv_5,[2,2]),u=Ma(l,n.conv_6,[1,1]),p=Ma(u,n.conv_7,[2,2]),d=jo(t,n.box_predictor_0),c=jo(e,n.box_predictor_1),h=jo(r,n.box_predictor_2),m=jo(i,n.box_predictor_3),f=jo(l,n.box_predictor_4),g=jo(p,n.box_predictor_5),b=Qe([d.boxPredictionEncoding,c.boxPredictionEncoding,h.boxPredictionEncoding,m.boxPredictionEncoding,f.boxPredictionEncoding,g.boxPredictionEncoding],1),y=Qe([d.classPrediction,c.classPrediction,h.classPrediction,m.classPrediction,f.classPrediction,g.classPrediction],1);return{boxPredictions:b,classPredictions:y}})}var wa=class{constructor({minConfidence:t,maxResults:n}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=n||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var Rs=class extends on{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:n}=this;if(!n)throw new Error("SsdMobilenetv1 - load model before inference");return O(()=>{let a=le(t.toBatchTensor(512,!1),"float32"),r=ce(fe(a,127.5),1),s=yA(r,n.mobilenetv1),{boxPredictions:i,classPredictions:o}=wA(s.out,s.conv11,n.prediction_layer);return vA(i,o,n.output_layer)})}async forward(t){return this.forwardInput(await vt(t))}async locateFaces(t,n={}){let{maxResults:a,minConfidence:r}=new wa(n),s=await vt(t),{boxes:i,scores:o}=this.forwardInput(s),l=i[0],u=o[0];for(let x=1;x{let[w,I]=[Math.max(0,b[x][0]),Math.min(1,b[x][2])].map($=>$*g),[N,_]=[Math.max(0,b[x][1]),Math.min(1,b[x][3])].map($=>$*f);return new xt(p[x],new Po(N,w,_-N,I-w),{height:s.getInputHeight(0),width:s.getInputWidth(0)})});return l.dispose(),u.dispose(),y}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return bA(t)}extractParams(t){return gA(t)}};function kA(e){let t=new Rs;return t.extractWeights(e),t}function vce(e){return kA(e)}var ek=class extends Rs{};var IA=.4,TA=[new Pe(.738768,.874946),new Pe(2.42204,2.65704),new Pe(4.30971,7.04493),new Pe(10.246,4.59428),new Pe(12.6868,11.8741)],SA=[new Pe(1.603231,2.094468),new Pe(6.041143,7.080126),new Pe(2.882459,3.518061),new Pe(4.266906,5.178857),new Pe(9.041765,10.66308)],NA=[117.001,114.697,97.404],CA="tiny_yolov2_model",_A="tiny_yolov2_separable_conv_model";var Gg=e=>typeof e=="number";function tk(e){if(!e)throw new Error(`invalid config: ${e}`);if(typeof e.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${e.withSeparableConvs}`);if(!Gg(e.iouThreshold)||e.iouThreshold<0||e.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${e.iouThreshold}`);if(!Array.isArray(e.classes)||!e.classes.length||!e.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(e.classes)}`);if(!Array.isArray(e.anchors)||!e.anchors.length||!e.anchors.map(t=>t||{}).every(t=>Gg(t.x)&&Gg(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(e.anchors)}`);if(e.meanRgb&&(!Array.isArray(e.meanRgb)||e.meanRgb.length!==3||!e.meanRgb.every(Gg)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(e.meanRgb)}`)}function Cp(e){return O(()=>{let t=W(e,ke(.10000000149011612));return Q(Xe(ce(e,t)),t)})}function Gr(e,t){return O(()=>{let n=ya(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Dt(n,t.conv.filters,[1,1],"valid"),n=ce(n,t.bn.sub),n=W(n,t.bn.truediv),n=Q(n,t.conv.bias),Cp(n)})}function Hr(e,t){return O(()=>{let n=ya(e,[[0,0],[1,1],[1,1],[0,0]]);return n=Es(n,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),n=Q(n,t.bias),Cp(n)})}function wce(e,t){let n=vp(e,t);function a(i,o){let l=Ke(e(i)),u=Ke(e(i));return t.push({paramPath:`${o}/sub`},{paramPath:`${o}/truediv`}),{sub:l,truediv:u}}function r(i,o,l){let u=n(i,o,3,`${l}/conv`),p=a(o,`${l}/bn`);return{conv:u,bn:p}}let s=wp(e,t);return{extractConvParams:n,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}}function EA(e,t,n,a){let{extractWeights:r,getRemainingWeights:s}=Rn(e),i=[],{extractConvParams:o,extractConvWithBatchNormParams:l,extractSeparableConvParams:u}=wce(r,i),p;if(t.withSeparableConvs){let[d,c,h,m,f,g,b,y,x]=a,w=t.isFirstLayerConv2d?o(d,c,3,"conv0"):u(d,c,"conv0"),I=u(c,h,"conv1"),N=u(h,m,"conv2"),_=u(m,f,"conv3"),$=u(f,g,"conv4"),A=u(g,b,"conv5"),M=y?u(b,y,"conv6"):void 0,D=x?u(y,x,"conv7"):void 0,T=o(x||y||b,5*n,1,"conv8");p={conv0:w,conv1:I,conv2:N,conv3:_,conv4:$,conv5:A,conv6:M,conv7:D,conv8:T}}else{let[d,c,h,m,f,g,b,y,x]=a,w=l(d,c,"conv0"),I=l(c,h,"conv1"),N=l(h,m,"conv2"),_=l(m,f,"conv3"),$=l(f,g,"conv4"),A=l(g,b,"conv5"),M=l(b,y,"conv6"),D=l(y,x,"conv7"),T=o(x,5*n,1,"conv8");p={conv0:w,conv1:I,conv2:N,conv3:_,conv4:$,conv5:A,conv6:M,conv7:D,conv8:T}}if(s().length!==0)throw new Error(`weights remaing after extract: ${s().length}`);return{params:p,paramMappings:i}}function kce(e,t){let n=sa(e,t);function a(o){let l=n(`${o}/sub`,1),u=n(`${o}/truediv`,1);return{sub:l,truediv:u}}function r(o){let l=n(`${o}/filters`,4),u=n(`${o}/bias`,1);return{filters:l,bias:u}}function s(o){let l=r(`${o}/conv`),u=a(`${o}/bn`);return{conv:l,bn:u}}let i=kp(n);return{extractConvParams:r,extractConvWithBatchNormParams:s,extractSeparableConvParams:i}}function $A(e,t){let n=[],{extractConvParams:a,extractConvWithBatchNormParams:r,extractSeparableConvParams:s}=kce(e,n),i;if(t.withSeparableConvs){let o=t.filterSizes&&t.filterSizes.length||9;i={conv0:t.isFirstLayerConv2d?a("conv0"):s("conv0"),conv1:s("conv1"),conv2:s("conv2"),conv3:s("conv3"),conv4:s("conv4"),conv5:s("conv5"),conv6:o>7?s("conv6"):void 0,conv7:o>8?s("conv7"):void 0,conv8:a("conv8")}}else i={conv0:r("conv0"),conv1:r("conv1"),conv2:r("conv2"),conv3:r("conv3"),conv4:r("conv4"),conv5:r("conv5"),conv6:r("conv6"),conv7:r("conv7"),conv8:a("conv8")};return Dn(e,n),{params:i,paramMappings:n}}var rr=class{constructor({inputSize:t,scoreThreshold:n}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=n||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var nk=class extends on{constructor(n){super("TinyYolov2");tk(n),this._config=n}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(n,a){let r=Gr(n,a.conv0);return r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv1),r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv2),r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv3),r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv4),r=Mt(r,[2,2],[2,2],"same"),r=Gr(r,a.conv5),r=Mt(r,[2,2],[1,1],"same"),r=Gr(r,a.conv6),r=Gr(r,a.conv7),Vo(r,a.conv8,"valid",!1)}runMobilenet(n,a){let r=this.config.isFirstLayerConv2d?Cp(Vo(n,a.conv0,"valid",!1)):Hr(n,a.conv0);return r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv1),r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv2),r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv3),r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv4),r=Mt(r,[2,2],[2,2],"same"),r=Hr(r,a.conv5),r=Mt(r,[2,2],[1,1],"same"),r=a.conv6?Hr(r,a.conv6):r,r=a.conv7?Hr(r,a.conv7):r,Vo(r,a.conv8,"valid",!1)}forwardInput(n,a){let{params:r}=this;if(!r)throw new Error("TinyYolov2 - load model before inference");return O(()=>{let s=le(n.toBatchTensor(a,!1),"float32");return s=this.config.meanRgb?nr(s,this.config.meanRgb):s,s=s.div(255),this.config.withSeparableConvs?this.runMobilenet(s,r):this.runTinyYolov2(s,r)})}async forward(n,a){return this.forwardInput(await vt(n),a)}async detect(n,a={}){let{inputSize:r,scoreThreshold:s}=new rr(a),i=await vt(n),o=await this.forwardInput(i,r),l=O(()=>mt(o)[0].expandDims()),u={width:i.getInputWidth(0),height:i.getInputHeight(0)},p=await this.extractBoxes(l,i.getReshapedInputDimensions(0),s);o.dispose(),l.dispose();let d=p.map(b=>b.box),c=p.map(b=>b.score),h=p.map(b=>b.classScore),m=p.map(b=>this.config.classes[b.label]);return A1(d.map(b=>b.rescale(r)),c,this.config.iouThreshold,!0).map(b=>new Wr(c[b],h[b],m[b],d[b],u))}getDefaultModelName(){return""}extractParamsFromWeightMap(n){return $A(n,this.config)}extractParams(n){let a=this.config.filterSizes||nk.DEFAULT_FILTER_SIZES,r=a?a.length:void 0;if(r!==7&&r!==8&&r!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${r} filterSizes in config`);return EA(n,this.config,this.boxEncodingSize,a)}async extractBoxes(n,a,r){let{width:s,height:i}=a,o=Math.max(s,i),l=o/s,u=o/i,p=n.shape[1],d=this.config.anchors.length,[c,h,m]=O(()=>{let y=n.reshape([p,p,d,this.boxEncodingSize]),x=y.slice([0,0,0,0],[p,p,d,4]),w=y.slice([0,0,0,4],[p,p,d,1]),I=this.withClassScores?Qa(y.slice([0,0,0,5],[p,p,d,this.config.classes.length]),3):ke(0);return[x,w,I]}),f=[],g=await h.array(),b=await c.array();for(let y=0;yr){let N=(x+Sd(b[y][x][w][0]))/p*l,_=(y+Sd(b[y][x][w][1]))/p*u,$=Math.exp(b[y][x][w][2])*this.config.anchors[w].x/p*l,A=Math.exp(b[y][x][w][3])*this.config.anchors[w].y/p*u,M=N-$/2,D=_-A/2,T={row:y,col:x,anchor:w},{classScore:P,label:U}=this.withClassScores?await this.extractPredictedClass(m,T):{classScore:1,label:0};f.push({box:new Mo(M,D,M+$,D+A),score:I,classScore:I*P,label:U,...T})}}return c.dispose(),h.dispose(),m.dispose(),f}async extractPredictedClass(n,a){let{row:r,col:s,anchor:i}=a,o=await n.array();return Array(this.config.classes.length).fill(0).map((l,u)=>o[r][s][i][u]).map((l,u)=>({classScore:l,label:u})).reduce((l,u)=>l.classScore>u.classScore?l:u)}},qo=nk;qo.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var Ko=class extends qo{constructor(t=!0){let n={withSeparableConvs:t,iouThreshold:IA,classes:["face"],...t?{anchors:SA,meanRgb:NA}:{anchors:TA,withClassScores:!0}};super(n)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new xt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?_A:CA}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function Ice(e,t=!0){let n=new Ko(t);return n.extractWeights(e),n}var Od=class extends rr{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var ka=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};async function Xo(e,t,n,a,r=({alignedRect:s})=>s){let s=e.map(l=>Uo(l)?r(l):l.detection),i=a||(t instanceof $e?await xp(t,s):await yp(t,s)),o=await n(i);return i.forEach(l=>l instanceof $e&&l.dispose()),o}async function _p(e,t,n,a,r){return Xo([e],t,async s=>n(s[0]),a,r)}var AA=.4,FA=[new Pe(1.603231,2.094468),new Pe(6.041143,7.080126),new Pe(2.882459,3.518061),new Pe(4.266906,5.178857),new Pe(9.041765,10.66308)],DA=[117.001,114.697,97.404];var Yo=class extends qo{constructor(){let t={withSeparableConvs:!0,iouThreshold:AA,classes:["face"],anchors:FA,meanRgb:DA,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,n){return(await this.detect(t,n)).map(r=>new xt(r.score,r.relativeBox,{width:r.imageWidth,height:r.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var tt={ssdMobilenetv1:new Rs,tinyFaceDetector:new Yo,tinyYolov2:new Ko,faceLandmark68Net:new Go,faceLandmark68TinyNet:new Md,faceRecognitionNet:new Ho,faceExpressionNet:new Dd,ageGenderNet:new Rd},RA=(e,t)=>tt.ssdMobilenetv1.locateFaces(e,t),Tce=(e,t)=>tt.tinyFaceDetector.locateFaces(e,t),Sce=(e,t)=>tt.tinyYolov2.locateFaces(e,t),MA=e=>tt.faceLandmark68Net.detectLandmarks(e),Nce=e=>tt.faceLandmark68TinyNet.detectLandmarks(e),Cce=e=>tt.faceRecognitionNet.computeFaceDescriptor(e),_ce=e=>tt.faceExpressionNet.predictExpressions(e),Ece=e=>tt.ageGenderNet.predictAgeAndGender(e),PA=e=>tt.ssdMobilenetv1.load(e),$ce=e=>tt.tinyFaceDetector.load(e),Ace=e=>tt.tinyYolov2.load(e),Fce=e=>tt.faceLandmark68Net.load(e),Dce=e=>tt.faceLandmark68TinyNet.load(e),Rce=e=>tt.faceRecognitionNet.load(e),Mce=e=>tt.faceExpressionNet.load(e),Pce=e=>tt.ageGenderNet.load(e),Oce=PA,Lce=RA,zce=MA;var Hg=class extends ka{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Zo=class extends Hg{async run(){let t=await this.parentTask,n=await Xo(t,this.input,async a=>Promise.all(a.map(r=>tt.faceExpressionNet.predictExpressions(r))),this.extractedFaces);return t.map((a,r)=>Rg(a,n[r]))}withAgeAndGender(){return new Qo(this,this.input)}},Jo=class extends Hg{async run(){let t=await this.parentTask;if(!t)return;let n=await _p(t,this.input,a=>tt.faceExpressionNet.predictExpressions(a),this.extractedFaces);return Rg(t,n)}withAgeAndGender(){return new el(this,this.input)}},Ms=class extends Zo{withAgeAndGender(){return new Os(this,this.input)}withFaceDescriptors(){return new jr(this,this.input)}},Ps=class extends Jo{withAgeAndGender(){return new Ls(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var jg=class extends ka{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.extractedFaces=r}},Qo=class extends jg{async run(){let t=await this.parentTask,n=await Xo(t,this.input,async a=>Promise.all(a.map(r=>tt.ageGenderNet.predictAgeAndGender(r))),this.extractedFaces);return t.map((a,r)=>{let{age:s,gender:i,genderProbability:o}=n[r];return Vg(Ug(a,i,o),s)})}withFaceExpressions(){return new Zo(this,this.input)}},el=class extends jg{async run(){let t=await this.parentTask;if(!t)return;let{age:n,gender:a,genderProbability:r}=await _p(t,this.input,s=>tt.ageGenderNet.predictAgeAndGender(s),this.extractedFaces);return Vg(Ug(t,a,r),n)}withFaceExpressions(){return new Jo(this,this.input)}},Os=class extends Qo{withFaceExpressions(){return new Ms(this,this.input)}withFaceDescriptors(){return new jr(this,this.input)}},Ls=class extends el{withFaceExpressions(){return new Ps(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var Ld=class extends ka{constructor(n,a){super();this.parentTask=n;this.input=a}},jr=class extends Ld{async run(){let t=await this.parentTask;return(await Xo(t,this.input,a=>Promise.all(a.map(r=>tt.faceRecognitionNet.computeFaceDescriptor(r))),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}))).map((a,r)=>Bg(t[r],a))}withFaceExpressions(){return new Ms(this,this.input)}withAgeAndGender(){return new Os(this,this.input)}},qr=class extends Ld{async run(){let t=await this.parentTask;if(!t)return;let n=await _p(t,this.input,a=>tt.faceRecognitionNet.computeFaceDescriptor(a),null,a=>a.landmarks.align(null,{useDlibAlignment:!0}));return Bg(t,n)}withFaceExpressions(){return new Ps(this,this.input)}withAgeAndGender(){return new Ls(this,this.input)}};var zd=class extends ka{constructor(n,a,r){super();this.parentTask=n;this.input=a;this.useTinyLandmarkNet=r}get landmarkNet(){return this.useTinyLandmarkNet?tt.faceLandmark68TinyNet:tt.faceLandmark68Net}},Wd=class extends zd{async run(){let t=await this.parentTask,n=t.map(i=>i.detection),a=this.input instanceof $e?await xp(this.input,n):await yp(this.input,n),r=await Promise.all(a.map(i=>this.landmarkNet.detectLandmarks(i)));return a.forEach(i=>i instanceof $e&&i.dispose()),t.filter((i,o)=>r[o]).map((i,o)=>Sp(i,r[o]))}withFaceExpressions(){return new Ms(this,this.input)}withAgeAndGender(){return new Os(this,this.input)}withFaceDescriptors(){return new jr(this,this.input)}},Bd=class extends zd{async run(){let t=await this.parentTask;if(!t)return;let{detection:n}=t,a=this.input instanceof $e?await xp(this.input,[n]):await yp(this.input,[n]),r=await this.landmarkNet.detectLandmarks(a[0]);return a.forEach(s=>s instanceof $e&&s.dispose()),Sp(t,r)}withFaceExpressions(){return new Ps(this,this.input)}withAgeAndGender(){return new Ls(this,this.input)}withFaceDescriptor(){return new qr(this,this.input)}};var Vd=class extends ka{constructor(n,a=new wa){super();this.input=n;this.options=a}},Ep=class extends Vd{async run(){let{input:t,options:n}=this,a;if(n instanceof Od)a=tt.tinyFaceDetector.locateFaces(t,n);else if(n instanceof wa)a=tt.ssdMobilenetv1.locateFaces(t,n);else if(n instanceof rr)a=tt.tinyYolov2.locateFaces(t,n);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return a}runAndExtendWithFaceDetections(){return new Promise((t,n)=>{this.run().then(a=>t(a.map(r=>Lo({},r)))).catch(a=>n(a))})}withFaceLandmarks(t=!1){return new Wd(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new Zo(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new Qo(this.runAndExtendWithFaceDetections(),this.input)}},Ud=class extends Vd{async run(){let t=await new Ep(this.input,this.options),n=t[0];return t.forEach(a=>{a.score>n.score&&(n=a)}),n}runAndExtendWithFaceDetection(){return new Promise(async t=>{let n=await this.run();t(n?Lo({},n):void 0)})}withFaceLandmarks(t=!1){return new Bd(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new Jo(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new el(this.runAndExtendWithFaceDetection(),this.input)}};function Wce(e,t=new wa){return new Ud(e,t)}function qg(e,t=new wa){return new Ep(e,t)}async function OA(e,t){return qg(e,new wa(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Bce(e,t={}){return qg(e,new rr(t)).withFaceLandmarks().withFaceDescriptors()}var Vce=OA;function ak(e,t){if(e.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let n=Array.from(e),a=Array.from(t);return Math.sqrt(n.map((r,s)=>r-a[s]).reduce((r,s)=>r+s*s,0))}var Gd=class{constructor(t,n=.6){this._distanceThreshold=n;let a=Array.isArray(t)?t:[t];if(!a.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let r=1,s=()=>`person ${r++}`;this._labeledDescriptors=a.map(i=>{if(i instanceof wr)return i;if(i instanceof Float32Array)return new wr(s(),[i]);if(i.descriptor&&i.descriptor instanceof Float32Array)return new wr(s(),[i.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,n){return n.map(a=>ak(a,t)).reduce((a,r)=>a+r,0)/(n.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:n,label:a})=>new fp(a,this.computeMeanDistance(t,n))).reduce((n,a)=>n.distancet.toJSON())}}static fromJSON(t){let n=t.labeledDescriptors.map(a=>wr.fromJSON(a));return new Gd(n,t.distanceThreshold)}};function Uce(e){let t=new Yo;return t.extractWeights(e),t}function LA(e,t){let{width:n,height:a}=new bn(t.width,t.height);if(n<=0||a<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:n,height:a})}`);if(Array.isArray(e))return e.map(r=>LA(r,{width:n,height:a}));if(Uo(e)){let r=e.detection.forSize(n,a),s=e.unshiftedLandmarks.forSize(r.box.width,r.box.height);return Sp(Lo(e,r),s)}return kr(e)?Lo(e,e.detection.forSize(n,a)):e instanceof ra||e instanceof xt?e.forSize(n,a):e}var Gce=rA;return OF(Hce);})(); diff --git a/dist/face-api.node-gpu.js b/dist/face-api.node-gpu.js index 2c6b8cc..406147b 100644 --- a/dist/face-api.node-gpu.js +++ b/dist/face-api.node-gpu.js @@ -4,4 +4,4 @@ author: ' */ -"use strict";var ln=Object.create;var er=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,gn=Object.prototype.hasOwnProperty;var xn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Lr=(o,t)=>{for(var e in t)er(o,e,{get:t[e],enumerable:!0})},yo=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hn(t))!gn.call(o,n)&&n!==e&&er(o,n,{get:()=>t[n],enumerable:!(r=dn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ln(bn(o)):{},yo(t||!o||!o.__esModule?er(e,"default",{value:o,enumerable:!0}):e,o)),vn=o=>yo(er({},"__esModule",{value:!0}),o);var x=xn((ka,Wr)=>{"use strict";var _o=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,_n=Object.getOwnPropertyNames,Tn=Object.prototype.hasOwnProperty,Ar=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _n(t))!Tn.call(o,n)&&n!==e&&_o(o,n,{get:()=>t[n],enumerable:!(r=yn(t,n))||r.enumerable});return o},Pn=(o,t,e)=>(Ar(o,t,"default"),e&&Ar(e,t,"default")),wn=o=>Ar(_o({},"__esModule",{value:!0}),o),To={};Wr.exports=wn(To);Pn(To,require("@tensorflow/tfjs-node-gpu"),Wr.exports)});var Na={};Lr(Na,{AgeGenderNet:()=>He,BoundingBox:()=>Vt,Box:()=>F,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>wt,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Ft,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>k,FACE_EXPRESSION_LABELS:()=>no,FaceDetection:()=>M,FaceDetectionNet:()=>uo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>yt,FaceLandmark68Net:()=>Kt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>co,FaceLandmarks:()=>z,FaceLandmarks5:()=>Yr,FaceLandmarks68:()=>Gt,FaceMatch:()=>pe,FaceMatcher:()=>tr,FaceRecognitionNet:()=>Qt,Gender:()=>Tr,LabeledBox:()=>ue,LabeledFaceDescriptors:()=>mt,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>bt,Point:()=>b,PredictedBox:()=>Gr,Rect:()=>Yt,SsdMobilenetv1:()=>St,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>ne,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>re,TinyYolov2Options:()=>st,allFaces:()=>Ea,allFacesSsdMobilenetv1:()=>un,allFacesTinyYolov2:()=>Da,awaitMediaLoaded:()=>Kr,bufferToImage:()=>Qr,computeFaceDescriptor:()=>fa,createCanvas:()=>Jt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>aa,createFaceRecognitionNet:()=>Xn,createSsdMobilenetv1:()=>Jo,createTinyFaceDetector:()=>Ma,createTinyYolov2:()=>ca,detectAllFaces:()=>Sr,detectFaceLandmarks:()=>mn,detectFaceLandmarksTiny:()=>ua,detectLandmarks:()=>wa,detectSingleFace:()=>Fa,draw:()=>so,env:()=>P,euclideanDistance:()=>go,extendWithAge:()=>Er,extendWithFaceDescriptor:()=>Dr,extendWithFaceDetection:()=>jt,extendWithFaceExpressions:()=>xr,extendWithFaceLandmarks:()=>we,extendWithGender:()=>Mr,extractFaceTensors:()=>de,extractFaces:()=>le,fetchImage:()=>An,fetchJson:()=>ro,fetchNetWeights:()=>Wn,fetchOrThrow:()=>xt,fetchVideo:()=>kn,getContext2dOrThrow:()=>O,getMediaDimensions:()=>Xt,imageTensorToCanvas:()=>to,imageToSquare:()=>eo,inverseSigmoid:()=>En,iou:()=>Or,isMediaElement:()=>ir,isMediaLoaded:()=>Ae,isWithAge:()=>Jn,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>ao,isWithFaceLandmarks:()=>Zt,isWithGender:()=>qn,loadAgeGenderModel:()=>_a,loadFaceDetectionModel:()=>Ta,loadFaceExpressionModel:()=>ya,loadFaceLandmarkModel:()=>ga,loadFaceLandmarkTinyModel:()=>xa,loadFaceRecognitionModel:()=>va,loadSsdMobilenetv1Model:()=>pn,loadTinyFaceDetectorModel:()=>ha,loadTinyYolov2Model:()=>ba,loadWeightMap:()=>oo,locateFaces:()=>Pa,matchDimensions:()=>Bn,minBbox:()=>Hr,nets:()=>w,nonMaxSuppression:()=>zr,normalize:()=>rt,padToSquare:()=>Vr,predictAgeAndGender:()=>da,recognizeFaceExpressions:()=>la,resizeResults:()=>fn,resolveInput:()=>Ut,shuffleArray:()=>Dn,sigmoid:()=>Ne,ssdMobilenetv1:()=>cn,tf:()=>Ca,tinyFaceDetector:()=>ma,tinyYolov2:()=>pa,toNetInput:()=>C,utils:()=>$r,validateConfig:()=>fo,version:()=>Ia});module.exports=vn(Na);var Ca=v(x());var so={};Lr(so,{AnchorPosition:()=>Zr,DrawBox:()=>Le,DrawBoxOptions:()=>ar,DrawFaceLandmarks:()=>yr,DrawFaceLandmarksOptions:()=>vr,DrawTextField:()=>gt,DrawTextFieldOptions:()=>fe,drawContour:()=>dt,drawDetections:()=>Ln,drawFaceExpressions:()=>Rn,drawFaceLandmarks:()=>On});function dt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},a)=>{let s=t[a];o.moveTo(s.x,s.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var $r={};Lr($r,{computeReshapedDimensions:()=>Rr,getCenterPoint:()=>zt,isDimensions:()=>or,isEven:()=>rr,isFloat:()=>Br,isTensor:()=>Ot,isTensor1D:()=>Fn,isTensor2D:()=>kr,isTensor3D:()=>ht,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>me,range:()=>it,round:()=>Ht});var Po=v(x());var k=class{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new k(1/this.width,1/this.height)}};function Ot(o,t){return o instanceof Po.Tensor&&o.shape.length===t}function Fn(o){return Ot(o,1)}function kr(o){return Ot(o,2)}function ht(o){return Ot(o,3)}function U(o){return Ot(o,4)}function Br(o){return o%1!==0}function rr(o){return o%2===0}function Ht(o,t=2){let e=10**t;return Math.floor(o*e)/e}function or(o){return o&&o.width&&o.height}function Rr({width:o,height:t},e){let r=e/Math.max(t,o);return new k(Math.round(o*r),Math.round(t*r))}function zt(o){return o.reduce((t,e)=>t.add(e),new b(0,0)).div(new b(o.length,o.length))}function it(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function me(o){return et(o)&&o>=0&&o<=1}var b=class{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new b(this.x+t.x,this.y+t.y)}sub(t){return new b(this.x-t.x,this.y-t.y)}mul(t){return new b(this.x*t.x,this.y*t.y)}div(t){return new b(this.x/t.x,this.y/t.y)}abs(){return new b(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new b(Math.floor(this.x),Math.floor(this.y))}};var F=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!F.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),a=[r.x,r.y,r.width,r.height].every(et);if(!a&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[s,i,c,m]=a?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];F.assertIsValidBox({x:s,y:i,width:c,height:m},"Box.constructor",e),this._x=s,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new b(this.left,this.top)}get topRight(){return new b(this.right,this.top)}get bottomLeft(){return new b(this.left,this.bottom)}get bottomRight(){return new b(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.round(a));return new F({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.floor(a));return new F({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,a=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:s,edy:c,dx:a,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new F({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Vt=class extends F{constructor(t,e,r,n,a=!1){super({left:t,top:e,right:r,bottom:n},a)}};var bt=class{constructor(t,e,r,n,a){this._imageDims=new k(a.width,a.height),this._score=t,this._classScore=e,this._className=r,this._box=new F(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new F(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new bt(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class extends bt{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:a}=super.forSize(t,e);return new M(r,n,a)}};function Or(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),a=r*n;return e?a/(o.area+t.area-a):a/Math.min(o.area,t.area)}function Hr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:s,boxIndex:i})).sort((s,i)=>s.score-i.score).map(s=>s.boxIndex),a=[];for(;n.length>0;){let s=n.pop();a.push(s);let i=n,c=[];for(let m=0;mc[p]<=e)}return a}var ct=v(x());function rt(o,t){return ct.tidy(()=>{let[e,r,n]=t,a=ct.fill([...o.shape.slice(0,3),1],e,"float32"),s=ct.fill([...o.shape.slice(0,3),1],r,"float32"),i=ct.fill([...o.shape.slice(0,3),1],n,"float32"),c=ct.concat([a,s,i],3);return ct.sub(o,c)})}var Ct=v(x());function Vr(o,t=!1){return Ct.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),a=Math.round(n*(t?.5:1)),s=e>r?2:1,i=f=>{let l=o.shape.slice();return l[s]=f,Ct.fill(l,0,"float32")},c=i(a),m=n-c.shape[s],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Ct.cast(f,"float32"));return Ct.concat(u,s)})}function Dn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function En(o){return Math.log(o/(1-o))}var Yt=class extends F{constructor(t,e,r,n,a=!1){super({x:t,y:e,width:r,height:n},a)}};var Mn=.5,Cn=.43,In=.45,z=class{constructor(t,e,r=new b(0,0)){let{width:n,height:a}=e;this._imgDims=new k(n,a),this._shift=r,this._positions=t.map(s=>s.mul(new b(n,a)).add(r))}get shift(){return new b(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new b(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new b(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let a=t instanceof M?t.box.floor():new F(t);return this.shiftBy(a.x,a.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,a=u=>n.sub(u).magnitude(),s=(a(e)+a(r))/2,i=Math.floor(s/In),c=zt(t),m=Math.floor(Math.max(0,c.x-Mn*i)),p=Math.floor(Math.max(0,c.y-Cn*i));return new Yt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Hr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var Yr=class extends z{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],zt([t[3],t[4]])]}};var Gt=class extends z{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(zt)}};var pe=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Ht(this.distance)})`:""}`}};var ue=class extends F{constructor(e,r){super(e);this._label=r}static assertIsValidLabeledBox(e,r){if(F.assertIsValidBox(e,r),!et(e.label))throw new Error(`${r} - expected property label (${e.label}) to be a number`)}get label(){return this._label}};var mt=class{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new mt(t.label,e)}};var Gr=class extends ue{constructor(e,r,n,a){super(e,r);this._score=n,this._classScore=a}static assertIsValidPredictedBox(e,r){if(ue.assertIsValidLabeledBox(e,r),!me(e.score)||!me(e.classScore))throw new Error(`${r} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function jt(o,t){return{...o,...{detection:t}}}function jr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Se(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function nr(o){let t="";if(!o&&Se())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,a)=>{o.readFile(r,(s,i)=>s?a(s):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Ur(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},a=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},s=global.fetch,i=nr();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:a,fetch:s,...i}}function Xr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var L;function Nn(){if(!L)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return L}function Jr(o){L=o}function qr(){return Xr()?Jr(jr()):Se()?Jr(Ur()):null}function Sn(o){if(L||qr(),!L)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=L.Canvas,Image:e=L.Image}=o;L.Canvas=t,L.Image=e,L.createCanvasElement=o.createCanvasElement||(()=>new t),L.createImageElement=o.createImageElement||(()=>new e),L.ImageData=o.ImageData||L.ImageData,L.Video=o.Video||L.Video,L.fetch=o.fetch||L.fetch,L.readFile=o.readFile||L.readFile}var P={getEnv:Nn,setEnv:Jr,initialize:qr,createBrowserEnv:jr,createFileSystem:nr,createNodejsEnv:Ur,monkeyPatch:Sn,isBrowser:Xr,isNodejs:Se};qr();function Ut(o){return!P.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function O(o){let{Canvas:t,CanvasRenderingContext2D:e}=P.getEnv();if(o instanceof e)return o;let r=Ut(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d");if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Zr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Zr||{}),fe=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:a,fontStyle:s,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=a||14,this.fontStyle=s||"Georgia",this.padding=i||4}},gt=class{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof gt?t.text:t,this.anchor=e,this.options=new fe(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let g=c+u.x,T=c+u.y+(l+1)*s;r.fillText(f,g,T)})}};var ar=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:a}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let s={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new fe({...s,...a})}},Le=class{constructor(t,e={}){this.box=new F(t),this.options=new ar(e)}draw(t){let e=O(t),{boxColor:r,lineWidth:n}=this.options,{x:a,y:s,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(a,s,i,c);let{label:m}=this.options;m&&new gt([m],{x:a-n/2,y:s},this.options.drawLabelOptions).draw(t)}};function Ln(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,a=r instanceof M?r.box:pt(r)?r.detection.box:new F(r),s=n?`${Ht(n)}`:void 0;new Le(a,{label:s}).draw(o)})}var Pe=v(x());function Ae(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function Kr(o){return new Promise((t,e)=>{(o instanceof P.getEnv().Canvas||Ae(o))&&t(null);function r(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),e(a))}function n(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),t(a))}o.addEventListener("load",n),o.addEventListener("error",r)})}function Qr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=P.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Xt(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t?new k(o.naturalWidth,o.naturalHeight):o instanceof e?new k(o.videoWidth,o.videoHeight):new k(o.width,o.height)}function Jt({width:o,height:t}){let{createCanvasElement:e}=P.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=P.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Xt(o),a=Jt({width:r,height:n});return o instanceof e?O(a).putImageData(o,0,0):O(a).drawImage(o,0,0,r,n),a}var sr=v(x());async function to(o,t){let e=t||P.getEnv().createCanvasElement(),[r,n,a]=o.shape.slice(U(o)?1:0),s=sr.tidy(()=>o.as3D(r,n,a).toInt());return await sr.browser.toPixels(s,e),s.dispose(),e}function ir(o){let{Image:t,Canvas:e,Video:r}=P.getEnv();return o instanceof t||o instanceof e||o instanceof r}var V=v(x());function eo(o,t,e=!1){let{Image:r,Canvas:n}=P.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Jt({width:1,height:1});let a=Xt(o),s=t/Math.max(a.height,a.width),i=s*a.width,c=s*a.height,m=Jt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&O(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(ht(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let s=r.shape[0];if(s!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${s} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let a=r instanceof P.getEnv().Canvas?r:We(r);this._canvases[n]=a,this._inputDimensions[n]=[a.height,a.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return it(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Rr({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,V.tidy(()=>{let r=it(this.batchSize,0,1).map(a=>{let s=this.getInput(a);if(s instanceof V.Tensor){let i=U(s)?s:V.expandDims(s);return i=Vr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=V.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(s instanceof P.getEnv().Canvas)return V.browser.fromPixels(eo(s,t,e));throw new Error(`toBatchTensor - at batchIdx ${a}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${s}`)});return V.stack(r.map(a=>V.cast(a,"float32"))).as4D(this.batchSize,t,t,3)})}};async function C(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Ut);return r.forEach((n,a)=>{if(!ir(n)&&!ht(n)&&!U(n))throw typeof t[a]=="string"?new Error(`toNetInput -${e(a)} string passed, but could not resolve HTMLElement for element id ${t[a]}`):new Error(`toNetInput -${e(a)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let s=n.shape[0];if(s!==1)throw new Error(`toNetInput -${e(a)} tf.Tensor4D with batchSize ${s} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>ir(n)&&Kr(n))),new ut(r,Array.isArray(o))}async function le(o,t){let{Canvas:e}=P.getEnv(),r=o;if(!(o instanceof e)){let s=await C(o);if(s.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=s.getInput(0);r=i instanceof e?i:await to(i)}let n=O(r);return t.map(s=>s instanceof M?s.forSize(r.width,r.height).box.floor():s).map(s=>s.clipAtImageBorders(r.width,r.height)).map(({x:s,y:i,width:c,height:m})=>{let p=Jt({width:c,height:m});return c>0&&m>0&&O(p).putImageData(n.getImageData(s,i,c,m),0,0),p})}var cr=v(x());async function de(o,t){if(!ht(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return cr.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>cr.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function xt(o,t){let{fetch:e}=P.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function An(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return Qr(e)}async function ro(o){return(await xt(o)).json()}async function Wn(o){return new Float32Array(await(await xt(o)).arrayBuffer())}function wo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=P.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function kn(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return wo(e)}var Fo=v(x());function mr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),a=o.endsWith(".json")?n[n.length-1]:e,s=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return s=o.startsWith("/")?`/${s}`:s,{modelBaseUri:s,manifestUri:s==="/"?`/${a}`:`${s}/${a}`}}async function oo(o,t){let{manifestUri:e,modelBaseUri:r}=mr(o,t),n=await ro(e);return Fo.io.loadWeights(n,r)}function Bn(o,t,e=!1){let{width:r,height:n}=e?Xt(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ye=v(x());var vt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof vt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof vt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=vt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await oo(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=P.getEnv(),{manifestUri:r,modelBaseUri:n}=mr(t,this.getDefaultModelName()),a=m=>Promise.all(m.map(p=>e(p).then(u=>u.buffer))),s=vt.io.weightsLoaderFactory(a),i=JSON.parse((await e(r)).toString()),c=await s(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((a,s)=>{if(!a.nextObj.hasOwnProperty(s))throw new Error(`traversePropertyPath - object does not have property ${s}, for path ${t}`);return{obj:a.nextObj,objProp:s,nextObj:a.nextObj[s]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof vt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var I=v(x());var he=v(x());function H(o,t,e){return he.tidy(()=>{let r=he.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=he.add(r,t.bias),r})}function pr(o,t,e=!1){return I.tidy(()=>{let r=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):H(o,t.conv0,[2,2])),n=H(r,t.conv1,[1,1]),a=I.relu(I.add(r,n)),s=H(a,t.conv2,[1,1]);return I.relu(I.add(r,I.add(n,s)))})}function ke(o,t,e=!1,r=!0){return I.tidy(()=>{let n=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):H(o,t.conv0,r?[2,2]:[1,1])),a=H(n,t.conv1,[1,1]),s=I.relu(I.add(n,a)),i=H(s,t.conv2,[1,1]),c=I.relu(I.add(n,I.add(a,i))),m=H(c,t.conv3,[1,1]);return I.relu(I.add(n,I.add(a,I.add(i,m))))})}var It=v(x());function qt(o,t,e="same",r=!1){return It.tidy(()=>{let n=It.add(It.conv2d(o,t.filters,[1,1],e),t.bias);return r?It.relu(n):n})}function B(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var ur=v(x());function be(o,t){return(e,r,n,a)=>{let s=ur.tensor4d(o(e*r*n*n),[n,n,e,r]),i=ur.tensor1d(o(r));return t.push({paramPath:`${a}/filters`},{paramPath:`${a}/bias`}),{filters:s,bias:i}}}var fr=v(x());function lr(o,t){return(e,r,n)=>{let a=fr.tensor2d(o(e*r),[e,r]),s=fr.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:a,bias:s}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function ge(o,t){return(e,r,n)=>{let a=Re.tensor4d(o(9*e),[3,3,e,1]),s=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(a,s,i)}}function xe(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let a=o[e];if(!Ot(a,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${a}`);return t.push({originalPath:e,paramPath:n||e}),a}}function R(o){let t=o;function e(n){let a=t.slice(0,n);return t=t.slice(n),a}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function dr(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c,m=!1){let p=m?e(s,i,3,`${c}/conv0`):r(s,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function a(s,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(s,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:a}}function Do(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock4Params:n}=dr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i,dense3:c}}}function hr(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function br(o,t){let e=Y(o,t),r=hr(e),n=xe(e);function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:s}}function Eo(o){let t=[],{extractDenseBlock4Params:e}=br(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return B(o,t),{params:r,paramMappings:t}}var ve=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ye.tidy(()=>{let r=ye.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=ke(a,e.dense0,!0);return s=ke(s,e.dense1),s=ke(s,e.dense2),s=ke(s,e.dense3),s=ye.avgPool(s,[7,7],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Eo(t)}extractParams(t){return Do(t)}};var Io=v(x());var _e=v(x());function $e(o,t){return _e.tidy(()=>_e.add(_e.matMul(o,t.weights),t.bias))}function Mo(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:a}=R(o),i=lr(n,r)(t,e,"fc");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:r,params:{fc:i}}}function Co(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:r("fc")};return B(o,t),{params:n,paramMappings:t}}function gr(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var Te=class extends A{constructor(e,r){super(e);this._faceFeatureExtractor=r}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return Io.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e;return $e(n.as2D(n.shape[0],-1),r.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Mo(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=gr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Co(n)}extractParams(e){let r=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),a=n*r+n,s=e.slice(0,e.length-a),i=e.slice(e.length-a);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var no=["neutral","happy","sad","angry","fearful","disgusted","surprised"],yt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);no.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return no.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends Te{constructor(t=new ve){super("FaceExpressionNet",t)}forwardInput(t){return Pe.tidy(()=>Pe.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await C(t))}async predictExpressions(t){let e=await C(t),r=await this.forwardInput(e),n=await Promise.all(Pe.unstack(r).map(async s=>{let i=s.dataSync();return s.dispose(),i}));r.dispose();let a=n.map(s=>new yt(s));return e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function ao(o){return o.expressions instanceof yt}function xr(o,t){return{...o,...{expressions:t}}}function Rn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(a=>{let s=a instanceof yt?a:ao(a)?a.expressions:void 0;if(!s)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=s.asSortedArray().filter(u=>u.probability>e),m=pt(a)?a.detection.box.bottomLeft:r||new b(0,0);new gt(c.map(u=>`${u.expression} (${Ht(u.probability)})`),m).draw(o)})}function Zt(o){return pt(o)&&o.landmarks instanceof z&&o.unshiftedLandmarks instanceof z&&o.alignedRect instanceof M}function $n(o){let t=(i,c,m,p)=>Math.atan2(p-c,m-i)%Math.PI,e=i=>i*180/Math.PI,r={roll:void 0,pitch:void 0,yaw:void 0};if(!o||!o._positions||o._positions.length!==68)return r;let n=o._positions;r.roll=-t(n[36]._x,n[36]._y,n[45]._x,n[45]._y),r.pitch=t(0,Math.abs(n[0]._x-n[30]._x)/n[30]._x,Math.PI,Math.abs(n[16]._x-n[30]._x)/n[30]._x);let a=n.reduce((i,c)=>ii>c._y?i:c._y,-1/0);return r.yaw=Math.PI*(o._imgDims._height/(s-a)/1.4-1),r}function we(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:a}=o.detection,s=new M(o.detection.score,n.rescale(a.reverse()),a),i=$n(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:s,angle:i}}}var vr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:a,pointSize:s,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=s||2,this.lineColor=a||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},yr=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new vr(e)}draw(t){let e=O(t),{drawLines:r,drawPoints:n,lineWidth:a,lineColor:s,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Gt&&(e.strokeStyle=s,e.lineWidth=a,dt(e,this.faceLandmarks.getJawOutline()),dt(e,this.faceLandmarks.getLeftEyeBrow()),dt(e,this.faceLandmarks.getRightEyeBrow()),dt(e,this.faceLandmarks.getNose()),dt(e,this.faceLandmarks.getLeftEye(),!0),dt(e,this.faceLandmarks.getRightEye(),!0),dt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function On(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof z?r:Zt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new yr(n).draw(o)})}var No="1.7.3";var ft=v(x());var S=v(x());function Vn(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c){let m=r(s,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(s,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function a(s,i){let c=r(s,s,`${i}/separable_conv0`),m=r(s,s,`${i}/separable_conv1`),p=r(s,s,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:a}}function So(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=R(o),{extractConvParams:a,extractSeparableConvParams:s,extractReductionBlockParams:i,extractMainBlockParams:c}=Vn(r,e),m=a(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};it(t,0,1).forEach(h=>{l[`main_block_${h}`]=c(128,`middle_flow/main_block_${h}`)});let g=i(128,256,"exit_flow/reduction_block"),T=s(256,512,"exit_flow/separable_conv"),D={reduction_block:g,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:D}}}function Yn(o,t){let e=Y(o,t),r=hr(e),n=xe(e);function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}}function Lo(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}=Yn(o,e),i=r("entry_flow/conv_in"),c=a("entry_flow/reduction_block_0"),m=a("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};it(t,0,1).forEach(T=>{u[`main_block_${T}`]=s(`middle_flow/main_block_${T}`)});let f=a("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),g={reduction_block:f,separable_conv:l};return B(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:g},paramMappings:e}}function Ao(o,t,e){return S.add(S.conv2d(o,t.filters,e,"same"),t.bias)}function io(o,t,e=!0){let r=e?S.relu(o):o;return r=H(r,t.separable_conv0,[1,1]),r=H(S.relu(r),t.separable_conv1,[1,1]),r=S.maxPool(r,[3,3],[2,2],"same"),r=S.add(r,Ao(o,t.expansion_conv,[2,2])),r}function Gn(o,t){let e=H(S.relu(o),t.separable_conv0,[1,1]);return e=H(S.relu(e),t.separable_conv1,[1,1]),e=H(S.relu(e),t.separable_conv2,[1,1]),e=S.add(e,o),e}var _r=class extends A{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){let{params:r}=this;if(!r)throw new Error("TinyXception - load model before inference");return S.tidy(()=>{let n=S.cast(e.toBatchTensor(112,!0),"float32"),s=rt(n,[122.782,117.001,104.298]).div(255),i=S.relu(Ao(s,r.entry_flow.conv_in,[2,2]));return i=io(i,r.entry_flow.reduction_block_0,!1),i=io(i,r.entry_flow.reduction_block_1),it(this._numMainBlocks,0,1).forEach(c=>{i=Gn(i,r.middle_flow[`main_block_${c}`])}),i=io(i,r.exit_flow.reduction_block),i=S.relu(H(i,r.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await C(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(e){return Lo(e,this._numMainBlocks)}extractParams(e){return So(e,this._numMainBlocks)}};function Wo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),n=lr(e,t),a=n(512,1,"fc/age"),s=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:a,gender:s}}}}function ko(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return B(o,t),{params:n,paramMappings:t}}var Tr=(e=>(e.FEMALE="female",e.MALE="male",e))(Tr||{});var He=class extends A{constructor(e=new _r(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e,a=ft.avgPool(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),s=$e(a,r.fc.age).as1D(),i=$e(a,r.fc.gender);return{age:s,gender:i}})}forwardInput(e){return ft.tidy(()=>{let{age:r,gender:n}=this.runNet(e);return{age:r,gender:ft.softmax(n)}})}async forward(e){return this.forwardInput(await C(e))}async predictAgeAndGender(e){let r=await C(e),n=await this.forwardInput(r),a=ft.unstack(n.age),s=ft.unstack(n.gender),i=a.map((m,p)=>({ageTensor:m,genderTensor:s[p]})),c=await Promise.all(i.map(async({ageTensor:m,genderTensor:p})=>{let u=m.dataSync()[0],f=p.dataSync()[0],l=f>.5,g=l?"male":"female",T=l?f:1-f;return m.dispose(),p.dispose(),{age:u,gender:g,genderProbability:T}}));return n.age.dispose(),n.gender.dispose(),r.isBatchInput?c:c[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Wo(e)}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=gr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),ko(n)}extractParams(e){let n=e.slice(0,e.length-1539),a=e.slice(e.length-1539);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(a)}};var G=v(x());var Fe=class extends Te{postProcess(t,e,r){let n=r.map(({width:s,height:i})=>{let c=e/Math.max(i,s);return{width:s*c,height:i*c}}),a=n.length;return G.tidy(()=>{let s=(u,f)=>G.stack([G.fill([68],u,"float32"),G.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:g}=n[u];return f(l,g)?Math.abs(l-g)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>ls(c(f),m(f))))).div(G.stack(Array.from(Array(a),(u,f)=>s(n[f].width,n[f].height))))})}forwardInput(t){return G.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await C(t))}async detectLandmarks(t){let e=await C(t),r=G.tidy(()=>G.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(a,s)=>{let i=Array.from(a.dataSync()),c=i.filter((p,u)=>rr(u)),m=i.filter((p,u)=>!rr(u));return new Gt(Array(68).fill(0).map((p,u)=>new b(c[u],m[u])),{height:e.getInputHeight(s),width:e.getInputWidth(s)})}));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Kt=class extends Fe{constructor(t=new ve){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var De=v(x());function Bo(o){let t=[],{extractDenseBlock3Params:e}=br(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return B(o,t),{params:r,paramMappings:t}}function Ro(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock3Params:n}=dr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i}}}var Pr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return De.tidy(()=>{let r=De.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=pr(a,e.dense0,!0);return s=pr(s,e.dense1),s=pr(s,e.dense2),s=De.avgPool(s,[14,14],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Bo(t)}extractParams(t){return Ro(t)}};var ze=class extends Fe{constructor(t=new Pr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var co=class extends Kt{};var nt=v(x());var Ee=v(x());var wr=v(x());function $o(o,t){return wr.add(wr.mul(o,t.weights),t.biases)}function mo(o,t,e,r,n="same"){let{filters:a,bias:s}=t.conv,i=Ee.conv2d(o,a,e,n);return i=Ee.add(i,s),i=$o(i,t.scale),r?Ee.relu(i):i}function Oo(o,t){return mo(o,t,[1,1],!0)}function po(o,t){return mo(o,t,[1,1],!1)}function Fr(o,t){return mo(o,t,[2,2],!0,"valid")}var j=v(x());function jn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if(Br(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return j.tidy(()=>j.transpose(j.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=j.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=j.tensor1d(o(i)),p=j.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function a(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function s(i,c,m,p,u=!1){let f=a((u?.5:1)*i,c,m,`${p}/conv1`),l=a(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:a,extractResidualLayerParams:s}}function Ho(o){let{extractWeights:t,getRemainingWeights:e}=R(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=jn(t,r),s=n(4704,32,7,"conv32_down"),i=a(9216,32,3,"conv32_1"),c=a(9216,32,3,"conv32_2"),m=a(9216,32,3,"conv32_3"),p=a(36864,64,3,"conv64_down",!0),u=a(36864,64,3,"conv64_1"),f=a(36864,64,3,"conv64_2"),l=a(36864,64,3,"conv64_3"),g=a(147456,128,3,"conv128_down",!0),T=a(147456,128,3,"conv128_1"),D=a(147456,128,3,"conv128_2"),h=a(589824,256,3,"conv256_down",!0),_=a(589824,256,3,"conv256_1"),y=a(589824,256,3,"conv256_2"),E=a(589824,256,3,"conv256_down_out"),W=j.tidy(()=>j.transpose(j.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:s,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:g,conv128_1:T,conv128_2:D,conv256_down:h,conv256_1:_,conv256_2:y,conv256_down_out:E,fc:W},paramMappings:r}}function Un(o,t){let e=Y(o,t);function r(s){let i=e(`${s}/scale/weights`,1),c=e(`${s}/scale/biases`,1);return{weights:i,biases:c}}function n(s){let i=e(`${s}/conv/filters`,4),c=e(`${s}/conv/bias`,1),m=r(s);return{conv:{filters:i,bias:c},scale:m}}function a(s){return{conv1:n(`${s}/conv1`),conv2:n(`${s}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:a}}function zo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Un(o,t),n=e("conv32_down"),a=r("conv32_1"),s=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),g=r("conv128_2"),T=r("conv256_down"),D=r("conv256_1"),h=r("conv256_2"),_=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!kr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let E={conv32_down:n,conv32_1:a,conv32_2:s,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:g,conv256_down:T,conv256_1:D,conv256_2:h,conv256_down_out:_,fc:y};return B(o,t),{params:E,paramMappings:t}}var $=v(x());function ot(o,t){let e=Oo(o,t.conv1);return e=po(e,t.conv2),e=$.add(e,o),e=$.relu(e),e}function Ve(o,t){let e=Fr(o,t.conv1);e=po(e,t.conv2);let r=$.avgPool(o,2,2,"valid"),n=$.zeros(r.shape),a=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=$.zeros(i);e=$.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=$.zeros(m);e=$.concat([e,p],2)}return r=a?$.concat([r,n],3):r,e=$.add(r,e),e=$.relu(e),e}var Qt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=Fr(a,e.conv32_down);s=nt.maxPool(s,3,2,"valid"),s=ot(s,e.conv32_1),s=ot(s,e.conv32_2),s=ot(s,e.conv32_3),s=Ve(s,e.conv64_down),s=ot(s,e.conv64_1),s=ot(s,e.conv64_2),s=ot(s,e.conv64_3),s=Ve(s,e.conv128_down),s=ot(s,e.conv128_1),s=ot(s,e.conv128_2),s=Ve(s,e.conv256_down),s=ot(s,e.conv256_1),s=ot(s,e.conv256_2),s=Ve(s,e.conv256_down_out);let i=s.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await C(t))}async computeFaceDescriptor(t){var a;if((a=t==null?void 0:t.shape)!=null&&a.some(s=>s<=0))return new Float32Array(128);let e=await C(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(s=>s.data()));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return zo(t)}extractParams(t){return Ho(t)}};function Xn(o){let t=new Qt;return t.extractWeights(o),t}function Dr(o,t){return{...o,...{descriptor:t}}}function Jn(o){return typeof o.age=="number"}function Er(o,t){return{...o,...{age:t}}}function qn(o){return(o.gender==="male"||o.gender==="female")&&me(o.genderProbability)}function Mr(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Lt=v(x());var at=v(x());function Zn(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),g=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:g}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),g=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:g}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function a(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function s(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=a(32,64,"mobilenetv1/conv_1"),p=a(64,128,"mobilenetv1/conv_2"),u=a(128,128,"mobilenetv1/conv_3"),f=a(128,256,"mobilenetv1/conv_4"),l=a(256,256,"mobilenetv1/conv_5"),g=a(256,512,"mobilenetv1/conv_6"),T=a(512,512,"mobilenetv1/conv_7"),D=a(512,512,"mobilenetv1/conv_8"),h=a(512,512,"mobilenetv1/conv_9"),_=a(512,512,"mobilenetv1/conv_10"),y=a(512,512,"mobilenetv1/conv_11"),E=a(512,1024,"mobilenetv1/conv_12"),W=a(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,conv_8:D,conv_9:h,conv_10:_,conv_11:y,conv_12:E,conv_13:W}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),g=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),D=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),h=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),_=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),E=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),W=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),lt=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Dt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),Et=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Mt=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,box_predictor_0:{box_encoding_predictor:D,class_predictor:h},box_predictor_1:{box_encoding_predictor:_,class_predictor:y},box_predictor_2:{box_encoding_predictor:E,class_predictor:W},box_predictor_3:{box_encoding_predictor:tt,class_predictor:lt},box_predictor_4:{box_encoding_predictor:q,class_predictor:Dt},box_predictor_5:{box_encoding_predictor:Et,class_predictor:Mt}}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:i}}function Vo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=Zn(e,t),s=n(),i=a(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:s,prediction_layer:i,output_layer:m},paramMappings:t}}function Kn(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,g=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),D=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),h=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),_=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:g,batch_norm_scale:T,batch_norm_offset:D,batch_norm_mean:h,batch_norm_variance:_},pointwise_conv:r("MobilenetV1",m,l)}}function a(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function s(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=s(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=s(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:c}}function Yo(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=Kn(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!ht(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let a={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return B(o,t),{params:a,paramMappings:t}}var _t=v(x());var Nt=v(x());function Z(o,t,e){return Nt.tidy(()=>{let r=Nt.conv2d(o,t.filters,e,"same");return r=Nt.add(r,t.batch_norm_offset),Nt.clipByValue(r,0,6)})}var Qn=.0010000000474974513;function ta(o,t,e){return _t.tidy(()=>{let r=_t.depthwiseConv2d(o,t.filters,e,"same");return r=_t.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Qn),_t.clipByValue(r,0,6)})}function ea(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Go(o,t){return _t.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((a,s)=>{let i=s+1,c=ea(i);r=ta(r,a.depthwise_conv,c),r=Z(r,a.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ra(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),a=Math.min(r[t][1],r[t][3]),s=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(s-n)*(i-a),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let g=Math.max(n,c),T=Math.max(a,m),D=Math.min(s,p),h=Math.min(i,u),_=Math.max(D-g,0)*Math.max(h-T,0);return _/(f+l-_)}function jo(o,t,e,r,n){let a=o.shape[0],s=Math.min(e,a),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=s)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ra(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function oa(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function na(o,t){let{sizes:e,centers:r}=oa(o),n=d.unstack(d.transpose(t,[1,0])),a=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),s=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(s,a),d.sub(c,i),d.add(s,a),d.add(c,i)]),[1,0])}function Uo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=na(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let a=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),s=d.slice(a,[0,0,0],[-1,-1,1]);s=d.reshape(s,[r,s.shape[1]]);let i=d.unstack(n),c=d.unstack(s);return{boxes:i,scores:c}})}var Ge=v(x());var Ye=v(x());function te(o,t){return Ye.tidy(()=>{let e=o.shape[0],r=Ye.reshape(qt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ye.reshape(qt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Xo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),a=Z(n,e.conv_2,[1,1]),s=Z(a,e.conv_3,[2,2]),i=Z(s,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=te(t,e.box_predictor_0),f=te(o,e.box_predictor_1),l=te(n,e.box_predictor_2),g=te(s,e.box_predictor_3),T=te(c,e.box_predictor_4),D=te(p,e.box_predictor_5),h=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,g.boxPredictionEncoding,T.boxPredictionEncoding,D.boxPredictionEncoding],1),_=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,g.classPrediction,T.classPrediction,D.classPrediction],1);return{boxPredictions:h,classPredictions:_}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var St=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Lt.tidy(()=>{let r=Lt.cast(t.toBatchTensor(512,!1),"float32"),n=Lt.sub(Lt.div(r,127.5),1),a=Go(n,e.mobilenetv1),{boxPredictions:s,classPredictions:i}=Xo(a.out,a.conv11,e.prediction_layer);return Uo(s,i,e.output_layer)})}async forward(t){return this.forwardInput(await C(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),a=await C(t),{boxes:s,scores:i}=this.forwardInput(a),c=s[0],m=i[0];for(let y=1;y{let[E,W]=[Math.max(0,h[y][0]),Math.min(1,h[y][2])].map(q=>q*D),[tt,lt]=[Math.max(0,h[y][1]),Math.min(1,h[y][3])].map(q=>q*T);return new M(p[y],new Yt(tt,E,lt-tt,W-E),{height:a.getInputHeight(0),width:a.getInputWidth(0)})});return c.dispose(),m.dispose(),_}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Yo(t)}extractParams(t){return Vo(t)}};function Jo(o){let t=new St;return t.extractWeights(o),t}function aa(o){return Jo(o)}var uo=class extends St{};var qo=.4,Zo=[new b(.738768,.874946),new b(2.42204,2.65704),new b(4.30971,7.04493),new b(10.246,4.59428),new b(12.6868,11.8741)],Ko=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],Qo=[117.001,114.697,97.404],tn="tiny_yolov2_model",en="tiny_yolov2_separable_conv_model";var N=v(x());var Cr=o=>typeof o=="number";function fo(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Cr(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Cr(t.x)&&Cr(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Cr)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Me(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function Tt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Me(e)})}var At=v(x());function Pt(o,t){return At.tidy(()=>{let e=At.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=At.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=At.add(e,t.bias),Me(e)})}var lo=v(x());function sa(o,t){let e=be(o,t);function r(s,i){let c=lo.tensor1d(o(s)),m=lo.tensor1d(o(s));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(s,i,c){let m=e(s,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let a=ge(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}}function rn(o,t,e,r){let{extractWeights:n,getRemainingWeights:a}=R(o),s=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=sa(n,s),p;if(t.withSeparableConvs){let[u,f,l,g,T,D,h,_,y]=r,E=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),W=m(f,l,"conv1"),tt=m(l,g,"conv2"),lt=m(g,T,"conv3"),q=m(T,D,"conv4"),Dt=m(D,h,"conv5"),Et=_?m(h,_,"conv6"):void 0,Mt=y?m(_,y,"conv7"):void 0,$t=i(y||_||h,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}else{let[u,f,l,g,T,D,h,_,y]=r,E=c(u,f,"conv0"),W=c(f,l,"conv1"),tt=c(l,g,"conv2"),lt=c(g,T,"conv3"),q=c(T,D,"conv4"),Dt=c(D,h,"conv5"),Et=c(h,_,"conv6"),Mt=c(_,y,"conv7"),$t=i(y,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:p,paramMappings:s}}function ia(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function a(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let s=xe(e);return{extractConvParams:n,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}}function on(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}=ia(o,e),s;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;s={conv0:t.isFirstLayerConv2d?r("conv0"):a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:i>7?a("conv6"):void 0,conv7:i>8?a("conv7"):void 0,conv8:r("conv8")}}else s={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return B(o,e),{params:s,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var ho=class extends A{constructor(e){super("TinyYolov2");fo(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,r){let n=Tt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=Tt(n,r.conv6),n=Tt(n,r.conv7),qt(n,r.conv8,"valid",!1)}runMobilenet(e,r){let n=this.config.isFirstLayerConv2d?Me(qt(e,r.conv0,"valid",!1)):Pt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=r.conv6?Pt(n,r.conv6):n,n=r.conv7?Pt(n,r.conv7):n,qt(n,r.conv8,"valid",!1)}forwardInput(e,r){let{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return N.tidy(()=>{let a=N.cast(e.toBatchTensor(r,!1),"float32");return a=this.config.meanRgb?rt(a,this.config.meanRgb):a,a=a.div(255),this.config.withSeparableConvs?this.runMobilenet(a,n):this.runTinyYolov2(a,n)})}async forward(e,r){return this.forwardInput(await C(e),r)}async detect(e,r={}){let{inputSize:n,scoreThreshold:a}=new st(r),s=await C(e),i=await this.forwardInput(s,n),c=N.tidy(()=>N.unstack(i)[0].expandDims()),m={width:s.getInputWidth(0),height:s.getInputHeight(0)},p=await this.extractBoxes(c,s.getReshapedInputDimensions(0),a);i.dispose(),c.dispose();let u=p.map(h=>h.box),f=p.map(h=>h.score),l=p.map(h=>h.classScore),g=p.map(h=>this.config.classes[h.label]);return zr(u.map(h=>h.rescale(n)),f,this.config.iouThreshold,!0).map(h=>new bt(f[h],l[h],g[h],u[h],m))}getDefaultModelName(){return""}extractParamsFromWeightMap(e){return on(e,this.config)}extractParams(e){let r=this.config.filterSizes||ho.DEFAULT_FILTER_SIZES,n=r?r.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return rn(e,this.config,this.boxEncodingSize,r)}async extractBoxes(e,r,n){let{width:a,height:s}=r,i=Math.max(a,s),c=i/a,m=i/s,p=e.shape[1],u=this.config.anchors.length,[f,l,g]=N.tidy(()=>{let _=e.reshape([p,p,u,this.boxEncodingSize]),y=_.slice([0,0,0,0],[p,p,u,4]),E=_.slice([0,0,0,4],[p,p,u,1]),W=this.withClassScores?N.softmax(_.slice([0,0,0,5],[p,p,u,this.config.classes.length]),3):N.scalar(0);return[y,E,W]}),T=[],D=await l.array(),h=await f.array();for(let _=0;_n){let tt=(y+Ne(h[_][y][E][0]))/p*c,lt=(_+Ne(h[_][y][E][1]))/p*m,q=Math.exp(h[_][y][E][2])*this.config.anchors[E].x/p*c,Dt=Math.exp(h[_][y][E][3])*this.config.anchors[E].y/p*m,Et=tt-q/2,Mt=lt-Dt/2,$t={row:_,col:y,anchor:E},{classScore:xo,label:vo}=this.withClassScores?await this.extractPredictedClass(g,$t):{classScore:1,label:0};T.push({box:new Vt(Et,Mt,Et+q,Mt+Dt),score:W,classScore:W*xo,label:vo,...$t})}}return f.dispose(),l.dispose(),g.dispose(),T}async extractPredictedClass(e,r){let{row:n,col:a,anchor:s}=r,i=await e.array();return Array(this.config.classes.length).fill(0).map((c,m)=>i[n][a][s][m]).map((c,m)=>({classScore:c,label:m})).reduce((c,m)=>c.classScore>m.classScore?c:m)}},ee=ho;ee.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var re=class extends ee{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:qo,classes:["face"],...t?{anchors:Ko,meanRgb:Qo}:{anchors:Zo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?en:tn}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function ca(o,t=!0){let e=new re(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var bo=v(x());async function oe(o,t,e,r,n=({alignedRect:a})=>a){let a=o.map(c=>Zt(c)?n(c):c.detection),s=r||(t instanceof bo.Tensor?await de(t,a):await le(t,a)),i=await e(s);return s.forEach(c=>c instanceof bo.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return oe([o],t,async a=>e(a[0]),r,n)}var nn=.4,an=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],sn=[117.001,114.697,97.404];var ne=class extends ee{constructor(){let t={withSeparableConvs:!0,iouThreshold:nn,classes:["face"],anchors:an,meanRgb:sn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var w={ssdMobilenetv1:new St,tinyFaceDetector:new ne,tinyYolov2:new re,faceLandmark68Net:new Kt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Qt,faceExpressionNet:new Oe,ageGenderNet:new He},cn=(o,t)=>w.ssdMobilenetv1.locateFaces(o,t),ma=(o,t)=>w.tinyFaceDetector.locateFaces(o,t),pa=(o,t)=>w.tinyYolov2.locateFaces(o,t),mn=o=>w.faceLandmark68Net.detectLandmarks(o),ua=o=>w.faceLandmark68TinyNet.detectLandmarks(o),fa=o=>w.faceRecognitionNet.computeFaceDescriptor(o),la=o=>w.faceExpressionNet.predictExpressions(o),da=o=>w.ageGenderNet.predictAgeAndGender(o),pn=o=>w.ssdMobilenetv1.load(o),ha=o=>w.tinyFaceDetector.load(o),ba=o=>w.tinyYolov2.load(o),ga=o=>w.faceLandmark68Net.load(o),xa=o=>w.faceLandmark68TinyNet.load(o),va=o=>w.faceRecognitionNet.load(o),ya=o=>w.faceExpressionNet.load(o),_a=o=>w.ageGenderNet.load(o),Ta=pn,Pa=cn,wa=mn;var Ir=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Ir{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>xr(r,e[n]))}withAgeAndGender(){return new ie(this,this.input)}},se=class extends Ir{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceExpressionNet.predictExpressions(r),this.extractedFaces);return xr(t,e)}withAgeAndGender(){return new ce(this,this.input)}},Wt=class extends ae{withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},kt=class extends se{withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ie=class extends Nr{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:a,gender:s,genderProbability:i}=e[n];return Er(Mr(r,s,i),a)})}withFaceExpressions(){return new ae(this,this.input)}},ce=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,a=>w.ageGenderNet.predictAgeAndGender(a),this.extractedFaces);return Er(Mr(t,r,n),e)}withFaceExpressions(){return new se(this,this.input)}},Bt=class extends ie{withFaceExpressions(){return new Wt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Rt=class extends ce{withFaceExpressions(){return new kt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},wt=class extends Ue{async run(){let t=await this.parentTask;return(await oe(t,this.input,r=>Promise.all(r.map(n=>w.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Dr(t[n],r))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}},Ft=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Dr(t,e)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?w.faceLandmark68TinyNet:w.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(s=>s.detection),r=this.input instanceof Xe.Tensor?await de(this.input,e):await le(this.input,e),n=await Promise.all(r.map(s=>this.landmarkNet.detectLandmarks(s)));return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),t.filter((s,i)=>n[i]).map((s,i)=>we(s,n[i]))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await de(this.input,[e]):await le(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),we(t,n)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=w.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=w.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=w.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>jt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ie(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?jt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new se(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new ce(this.runAndExtendWithFaceDetection(),this.input)}};function Fa(o,t=new X){return new Qe(o,t)}function Sr(o,t=new X){return new Ie(o,t)}async function un(o,t){return Sr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Da(o,t={}){return Sr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Ea=un;function go(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,a)=>n-r[a]).reduce((n,a)=>n+a**2,0))}var tr=class{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,a=()=>`person ${n++}`;this._labeledDescriptors=r.map(s=>{if(s instanceof mt)return s;if(s instanceof Float32Array)return new mt(a(),[s]);if(s.descriptor&&s.descriptor instanceof Float32Array)return new mt(a(),[s.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>go(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new pe(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>mt.fromJSON(r));return new tr(e,t.distanceThreshold)}};function Ma(o){let t=new ne;return t.extractWeights(o),t}function fn(o,t){let{width:e,height:r}=new k(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>fn(n,{width:e,height:r}));if(Zt(o)){let n=o.detection.forSize(e,r),a=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return we(jt(o,n),a)}return pt(o)?jt(o,o.detection.forSize(e,r)):o instanceof z||o instanceof M?o.forSize(e,r):o}var Ia=No;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); +"use strict";var ln=Object.create;var er=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,gn=Object.prototype.hasOwnProperty;var xn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Lr=(o,t)=>{for(var e in t)er(o,e,{get:t[e],enumerable:!0})},yo=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hn(t))!gn.call(o,n)&&n!==e&&er(o,n,{get:()=>t[n],enumerable:!(r=dn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ln(bn(o)):{},yo(t||!o||!o.__esModule?er(e,"default",{value:o,enumerable:!0}):e,o)),vn=o=>yo(er({},"__esModule",{value:!0}),o);var x=xn((ka,Wr)=>{"use strict";var _o=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,_n=Object.getOwnPropertyNames,Tn=Object.prototype.hasOwnProperty,Ar=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _n(t))!Tn.call(o,n)&&n!==e&&_o(o,n,{get:()=>t[n],enumerable:!(r=yn(t,n))||r.enumerable});return o},Pn=(o,t,e)=>(Ar(o,t,"default"),e&&Ar(e,t,"default")),wn=o=>Ar(_o({},"__esModule",{value:!0}),o),To={};Wr.exports=wn(To);Pn(To,require("@tensorflow/tfjs-node-gpu"),Wr.exports)});var Na={};Lr(Na,{AgeGenderNet:()=>He,BoundingBox:()=>Vt,Box:()=>F,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>wt,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Ft,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>k,FACE_EXPRESSION_LABELS:()=>no,FaceDetection:()=>M,FaceDetectionNet:()=>uo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>yt,FaceLandmark68Net:()=>Kt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>co,FaceLandmarks:()=>z,FaceLandmarks5:()=>Yr,FaceLandmarks68:()=>Gt,FaceMatch:()=>pe,FaceMatcher:()=>tr,FaceRecognitionNet:()=>Qt,Gender:()=>Tr,LabeledBox:()=>ue,LabeledFaceDescriptors:()=>mt,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>bt,Point:()=>b,PredictedBox:()=>Gr,Rect:()=>Yt,SsdMobilenetv1:()=>St,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>ne,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>re,TinyYolov2Options:()=>st,allFaces:()=>Ea,allFacesSsdMobilenetv1:()=>un,allFacesTinyYolov2:()=>Da,awaitMediaLoaded:()=>Kr,bufferToImage:()=>Qr,computeFaceDescriptor:()=>fa,createCanvas:()=>Jt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>aa,createFaceRecognitionNet:()=>Xn,createSsdMobilenetv1:()=>Jo,createTinyFaceDetector:()=>Ma,createTinyYolov2:()=>ca,detectAllFaces:()=>Sr,detectFaceLandmarks:()=>mn,detectFaceLandmarksTiny:()=>ua,detectLandmarks:()=>wa,detectSingleFace:()=>Fa,draw:()=>so,env:()=>P,euclideanDistance:()=>go,extendWithAge:()=>Er,extendWithFaceDescriptor:()=>Dr,extendWithFaceDetection:()=>jt,extendWithFaceExpressions:()=>xr,extendWithFaceLandmarks:()=>we,extendWithGender:()=>Mr,extractFaceTensors:()=>de,extractFaces:()=>le,fetchImage:()=>An,fetchJson:()=>ro,fetchNetWeights:()=>Wn,fetchOrThrow:()=>xt,fetchVideo:()=>kn,getContext2dOrThrow:()=>O,getMediaDimensions:()=>Xt,imageTensorToCanvas:()=>to,imageToSquare:()=>eo,inverseSigmoid:()=>En,iou:()=>Or,isMediaElement:()=>ir,isMediaLoaded:()=>Ae,isWithAge:()=>Jn,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>ao,isWithFaceLandmarks:()=>Zt,isWithGender:()=>qn,loadAgeGenderModel:()=>_a,loadFaceDetectionModel:()=>Ta,loadFaceExpressionModel:()=>ya,loadFaceLandmarkModel:()=>ga,loadFaceLandmarkTinyModel:()=>xa,loadFaceRecognitionModel:()=>va,loadSsdMobilenetv1Model:()=>pn,loadTinyFaceDetectorModel:()=>ha,loadTinyYolov2Model:()=>ba,loadWeightMap:()=>oo,locateFaces:()=>Pa,matchDimensions:()=>Bn,minBbox:()=>Hr,nets:()=>w,nonMaxSuppression:()=>zr,normalize:()=>rt,padToSquare:()=>Vr,predictAgeAndGender:()=>da,recognizeFaceExpressions:()=>la,resizeResults:()=>fn,resolveInput:()=>Ut,shuffleArray:()=>Dn,sigmoid:()=>Ne,ssdMobilenetv1:()=>cn,tf:()=>Ca,tinyFaceDetector:()=>ma,tinyYolov2:()=>pa,toNetInput:()=>C,utils:()=>$r,validateConfig:()=>fo,version:()=>Ia});module.exports=vn(Na);var Ca=v(x());var so={};Lr(so,{AnchorPosition:()=>Zr,DrawBox:()=>Le,DrawBoxOptions:()=>ar,DrawFaceLandmarks:()=>yr,DrawFaceLandmarksOptions:()=>vr,DrawTextField:()=>gt,DrawTextFieldOptions:()=>fe,drawContour:()=>dt,drawDetections:()=>Ln,drawFaceExpressions:()=>Rn,drawFaceLandmarks:()=>On});function dt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},a)=>{let s=t[a];o.moveTo(s.x,s.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var $r={};Lr($r,{computeReshapedDimensions:()=>Rr,getCenterPoint:()=>zt,isDimensions:()=>or,isEven:()=>rr,isFloat:()=>Br,isTensor:()=>Ot,isTensor1D:()=>Fn,isTensor2D:()=>kr,isTensor3D:()=>ht,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>me,range:()=>it,round:()=>Ht});var Po=v(x());var k=class{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new k(1/this.width,1/this.height)}};function Ot(o,t){return o instanceof Po.Tensor&&o.shape.length===t}function Fn(o){return Ot(o,1)}function kr(o){return Ot(o,2)}function ht(o){return Ot(o,3)}function U(o){return Ot(o,4)}function Br(o){return o%1!==0}function rr(o){return o%2===0}function Ht(o,t=2){let e=10**t;return Math.floor(o*e)/e}function or(o){return o&&o.width&&o.height}function Rr({width:o,height:t},e){let r=e/Math.max(t,o);return new k(Math.round(o*r),Math.round(t*r))}function zt(o){return o.reduce((t,e)=>t.add(e),new b(0,0)).div(new b(o.length,o.length))}function it(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function me(o){return et(o)&&o>=0&&o<=1}var b=class{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new b(this.x+t.x,this.y+t.y)}sub(t){return new b(this.x-t.x,this.y-t.y)}mul(t){return new b(this.x*t.x,this.y*t.y)}div(t){return new b(this.x/t.x,this.y/t.y)}abs(){return new b(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new b(Math.floor(this.x),Math.floor(this.y))}};var F=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!F.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),a=[r.x,r.y,r.width,r.height].every(et);if(!a&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[s,i,c,m]=a?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];F.assertIsValidBox({x:s,y:i,width:c,height:m},"Box.constructor",e),this._x=s,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new b(this.left,this.top)}get topRight(){return new b(this.right,this.top)}get bottomLeft(){return new b(this.left,this.bottom)}get bottomRight(){return new b(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.round(a));return new F({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.floor(a));return new F({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,a=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:s,edy:c,dx:a,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new F({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Vt=class extends F{constructor(t,e,r,n,a=!1){super({left:t,top:e,right:r,bottom:n},a)}};var bt=class{constructor(t,e,r,n,a){this._imageDims=new k(a.width,a.height),this._score=t,this._classScore=e,this._className=r,this._box=new F(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new F(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new bt(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class extends bt{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:a}=super.forSize(t,e);return new M(r,n,a)}};function Or(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),a=r*n;return e?a/(o.area+t.area-a):a/Math.min(o.area,t.area)}function Hr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:s,boxIndex:i})).sort((s,i)=>s.score-i.score).map(s=>s.boxIndex),a=[];for(;n.length>0;){let s=n.pop();a.push(s);let i=n,c=[];for(let m=0;mc[p]<=e)}return a}var ct=v(x());function rt(o,t){return ct.tidy(()=>{let[e,r,n]=t,a=ct.fill([...o.shape.slice(0,3),1],e,"float32"),s=ct.fill([...o.shape.slice(0,3),1],r,"float32"),i=ct.fill([...o.shape.slice(0,3),1],n,"float32"),c=ct.concat([a,s,i],3);return ct.sub(o,c)})}var Ct=v(x());function Vr(o,t=!1){return Ct.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),a=Math.round(n*(t?.5:1)),s=e>r?2:1,i=f=>{let l=o.shape.slice();return l[s]=f,Ct.fill(l,0,"float32")},c=i(a),m=n-c.shape[s],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Ct.cast(f,"float32"));return Ct.concat(u,s)})}function Dn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function En(o){return Math.log(o/(1-o))}var Yt=class extends F{constructor(t,e,r,n,a=!1){super({x:t,y:e,width:r,height:n},a)}};var Mn=.5,Cn=.43,In=.45,z=class{constructor(t,e,r=new b(0,0)){let{width:n,height:a}=e;this._imgDims=new k(n,a),this._shift=r,this._positions=t.map(s=>s.mul(new b(n,a)).add(r))}get shift(){return new b(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new b(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new b(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let a=t instanceof M?t.box.floor():new F(t);return this.shiftBy(a.x,a.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,a=u=>n.sub(u).magnitude(),s=(a(e)+a(r))/2,i=Math.floor(s/In),c=zt(t),m=Math.floor(Math.max(0,c.x-Mn*i)),p=Math.floor(Math.max(0,c.y-Cn*i));return new Yt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Hr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var Yr=class extends z{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],zt([t[3],t[4]])]}};var Gt=class extends z{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(zt)}};var pe=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Ht(this.distance)})`:""}`}};var ue=class extends F{constructor(e,r){super(e);this._label=r}static assertIsValidLabeledBox(e,r){if(F.assertIsValidBox(e,r),!et(e.label))throw new Error(`${r} - expected property label (${e.label}) to be a number`)}get label(){return this._label}};var mt=class{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new mt(t.label,e)}};var Gr=class extends ue{constructor(e,r,n,a){super(e,r);this._score=n,this._classScore=a}static assertIsValidPredictedBox(e,r){if(ue.assertIsValidLabeledBox(e,r),!me(e.score)||!me(e.classScore))throw new Error(`${r} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function jt(o,t){return{...o,...{detection:t}}}function jr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Se(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function nr(o){let t="";if(!o&&Se())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,a)=>{o.readFile(r,(s,i)=>s?a(s):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Ur(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},a=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},s=global.fetch,i=nr();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:a,fetch:s,...i}}function Xr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var L;function Nn(){if(!L)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return L}function Jr(o){L=o}function qr(){return Xr()?Jr(jr()):Se()?Jr(Ur()):null}function Sn(o){if(L||qr(),!L)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=L.Canvas,Image:e=L.Image}=o;L.Canvas=t,L.Image=e,L.createCanvasElement=o.createCanvasElement||(()=>new t),L.createImageElement=o.createImageElement||(()=>new e),L.ImageData=o.ImageData||L.ImageData,L.Video=o.Video||L.Video,L.fetch=o.fetch||L.fetch,L.readFile=o.readFile||L.readFile}var P={getEnv:Nn,setEnv:Jr,initialize:qr,createBrowserEnv:jr,createFileSystem:nr,createNodejsEnv:Ur,monkeyPatch:Sn,isBrowser:Xr,isNodejs:Se};qr();function Ut(o){return!P.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function O(o){let{Canvas:t,CanvasRenderingContext2D:e}=P.getEnv();if(o instanceof e)return o;let r=Ut(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d");if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Zr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Zr||{}),fe=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:a,fontStyle:s,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=a||14,this.fontStyle=s||"Georgia",this.padding=i||4}},gt=class{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof gt?t.text:t,this.anchor=e,this.options=new fe(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let g=c+u.x,T=c+u.y+(l+1)*s;r.fillText(f,g,T)})}};var ar=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:a}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let s={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new fe({...s,...a})}},Le=class{constructor(t,e={}){this.box=new F(t),this.options=new ar(e)}draw(t){let e=O(t),{boxColor:r,lineWidth:n}=this.options,{x:a,y:s,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(a,s,i,c);let{label:m}=this.options;m&&new gt([m],{x:a-n/2,y:s},this.options.drawLabelOptions).draw(t)}};function Ln(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,a=r instanceof M?r.box:pt(r)?r.detection.box:new F(r),s=n?`${Ht(n)}`:void 0;new Le(a,{label:s}).draw(o)})}var Pe=v(x());function Ae(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function Kr(o){return new Promise((t,e)=>{(o instanceof P.getEnv().Canvas||Ae(o))&&t(null);function r(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),e(a))}function n(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),t(a))}o.addEventListener("load",n),o.addEventListener("error",r)})}function Qr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=P.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Xt(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t?new k(o.naturalWidth,o.naturalHeight):o instanceof e?new k(o.videoWidth,o.videoHeight):new k(o.width,o.height)}function Jt({width:o,height:t}){let{createCanvasElement:e}=P.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=P.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Xt(o),a=Jt({width:r,height:n});return o instanceof e?O(a).putImageData(o,0,0):O(a).drawImage(o,0,0,r,n),a}var sr=v(x());async function to(o,t){let e=t||P.getEnv().createCanvasElement(),[r,n,a]=o.shape.slice(U(o)?1:0),s=sr.tidy(()=>o.as3D(r,n,a).toInt());return await sr.browser.toPixels(s,e),s.dispose(),e}function ir(o){let{Image:t,Canvas:e,Video:r}=P.getEnv();return o instanceof t||o instanceof e||o instanceof r}var V=v(x());function eo(o,t,e=!1){let{Image:r,Canvas:n}=P.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Jt({width:1,height:1});let a=Xt(o),s=t/Math.max(a.height,a.width),i=s*a.width,c=s*a.height,m=Jt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&O(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(ht(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let s=r.shape[0];if(s!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${s} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let a=r instanceof P.getEnv().Canvas?r:We(r);this._canvases[n]=a,this._inputDimensions[n]=[a.height,a.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return it(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Rr({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,V.tidy(()=>{let r=it(this.batchSize,0,1).map(a=>{let s=this.getInput(a);if(s instanceof V.Tensor){let i=U(s)?s:V.expandDims(s);return i=Vr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=V.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(s instanceof P.getEnv().Canvas)return V.browser.fromPixels(eo(s,t,e));throw new Error(`toBatchTensor - at batchIdx ${a}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${s}`)});return V.stack(r.map(a=>V.cast(a,"float32"))).as4D(this.batchSize,t,t,3)})}};async function C(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Ut);return r.forEach((n,a)=>{if(!ir(n)&&!ht(n)&&!U(n))throw typeof t[a]=="string"?new Error(`toNetInput -${e(a)} string passed, but could not resolve HTMLElement for element id ${t[a]}`):new Error(`toNetInput -${e(a)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let s=n.shape[0];if(s!==1)throw new Error(`toNetInput -${e(a)} tf.Tensor4D with batchSize ${s} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>ir(n)&&Kr(n))),new ut(r,Array.isArray(o))}async function le(o,t){let{Canvas:e}=P.getEnv(),r=o;if(!(o instanceof e)){let s=await C(o);if(s.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=s.getInput(0);r=i instanceof e?i:await to(i)}let n=O(r);return t.map(s=>s instanceof M?s.forSize(r.width,r.height).box.floor():s).map(s=>s.clipAtImageBorders(r.width,r.height)).map(({x:s,y:i,width:c,height:m})=>{let p=Jt({width:c,height:m});return c>0&&m>0&&O(p).putImageData(n.getImageData(s,i,c,m),0,0),p})}var cr=v(x());async function de(o,t){if(!ht(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return cr.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>cr.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function xt(o,t){let{fetch:e}=P.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function An(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return Qr(e)}async function ro(o){return(await xt(o)).json()}async function Wn(o){return new Float32Array(await(await xt(o)).arrayBuffer())}function wo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=P.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function kn(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return wo(e)}var Fo=v(x());function mr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),a=o.endsWith(".json")?n[n.length-1]:e,s=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return s=o.startsWith("/")?`/${s}`:s,{modelBaseUri:s,manifestUri:s==="/"?`/${a}`:`${s}/${a}`}}async function oo(o,t){let{manifestUri:e,modelBaseUri:r}=mr(o,t),n=await ro(e);return Fo.io.loadWeights(n,r)}function Bn(o,t,e=!1){let{width:r,height:n}=e?Xt(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ye=v(x());var vt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof vt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof vt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=vt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await oo(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=P.getEnv(),{manifestUri:r,modelBaseUri:n}=mr(t,this.getDefaultModelName()),a=m=>Promise.all(m.map(p=>e(p).then(u=>u.buffer))),s=vt.io.weightsLoaderFactory(a),i=JSON.parse((await e(r)).toString()),c=await s(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((a,s)=>{if(!a.nextObj.hasOwnProperty(s))throw new Error(`traversePropertyPath - object does not have property ${s}, for path ${t}`);return{obj:a.nextObj,objProp:s,nextObj:a.nextObj[s]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof vt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var I=v(x());var he=v(x());function H(o,t,e){return he.tidy(()=>{let r=he.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=he.add(r,t.bias),r})}function pr(o,t,e=!1){return I.tidy(()=>{let r=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):H(o,t.conv0,[2,2])),n=H(r,t.conv1,[1,1]),a=I.relu(I.add(r,n)),s=H(a,t.conv2,[1,1]);return I.relu(I.add(r,I.add(n,s)))})}function ke(o,t,e=!1,r=!0){return I.tidy(()=>{let n=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):H(o,t.conv0,r?[2,2]:[1,1])),a=H(n,t.conv1,[1,1]),s=I.relu(I.add(n,a)),i=H(s,t.conv2,[1,1]),c=I.relu(I.add(n,I.add(a,i))),m=H(c,t.conv3,[1,1]);return I.relu(I.add(n,I.add(a,I.add(i,m))))})}var It=v(x());function qt(o,t,e="same",r=!1){return It.tidy(()=>{let n=It.add(It.conv2d(o,t.filters,[1,1],e),t.bias);return r?It.relu(n):n})}function B(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var ur=v(x());function be(o,t){return(e,r,n,a)=>{let s=ur.tensor4d(o(e*r*n*n),[n,n,e,r]),i=ur.tensor1d(o(r));return t.push({paramPath:`${a}/filters`},{paramPath:`${a}/bias`}),{filters:s,bias:i}}}var fr=v(x());function lr(o,t){return(e,r,n)=>{let a=fr.tensor2d(o(e*r),[e,r]),s=fr.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:a,bias:s}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function ge(o,t){return(e,r,n)=>{let a=Re.tensor4d(o(9*e),[3,3,e,1]),s=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(a,s,i)}}function xe(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let a=o[e];if(!Ot(a,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${a}`);return t.push({originalPath:e,paramPath:n||e}),a}}function R(o){let t=o;function e(n){let a=t.slice(0,n);return t=t.slice(n),a}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function dr(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c,m=!1){let p=m?e(s,i,3,`${c}/conv0`):r(s,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function a(s,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(s,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:a}}function Do(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock4Params:n}=dr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i,dense3:c}}}function hr(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function br(o,t){let e=Y(o,t),r=hr(e),n=xe(e);function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:s}}function Eo(o){let t=[],{extractDenseBlock4Params:e}=br(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return B(o,t),{params:r,paramMappings:t}}var ve=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ye.tidy(()=>{let r=ye.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=ke(a,e.dense0,!0);return s=ke(s,e.dense1),s=ke(s,e.dense2),s=ke(s,e.dense3),s=ye.avgPool(s,[7,7],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Eo(t)}extractParams(t){return Do(t)}};var Io=v(x());var _e=v(x());function $e(o,t){return _e.tidy(()=>_e.add(_e.matMul(o,t.weights),t.bias))}function Mo(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:a}=R(o),i=lr(n,r)(t,e,"fc");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:r,params:{fc:i}}}function Co(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:r("fc")};return B(o,t),{params:n,paramMappings:t}}function gr(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var Te=class extends A{constructor(e,r){super(e);this._faceFeatureExtractor=r}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return Io.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e;return $e(n.as2D(n.shape[0],-1),r.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Mo(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=gr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Co(n)}extractParams(e){let r=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),a=n*r+n,s=e.slice(0,e.length-a),i=e.slice(e.length-a);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var no=["neutral","happy","sad","angry","fearful","disgusted","surprised"],yt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);no.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return no.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends Te{constructor(t=new ve){super("FaceExpressionNet",t)}forwardInput(t){return Pe.tidy(()=>Pe.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await C(t))}async predictExpressions(t){let e=await C(t),r=await this.forwardInput(e),n=await Promise.all(Pe.unstack(r).map(async s=>{let i=s.dataSync();return s.dispose(),i}));r.dispose();let a=n.map(s=>new yt(s));return e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function ao(o){return o.expressions instanceof yt}function xr(o,t){return{...o,...{expressions:t}}}function Rn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(a=>{let s=a instanceof yt?a:ao(a)?a.expressions:void 0;if(!s)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=s.asSortedArray().filter(u=>u.probability>e),m=pt(a)?a.detection.box.bottomLeft:r||new b(0,0);new gt(c.map(u=>`${u.expression} (${Ht(u.probability)})`),m).draw(o)})}function Zt(o){return pt(o)&&o.landmarks instanceof z&&o.unshiftedLandmarks instanceof z&&o.alignedRect instanceof M}function $n(o){let t=(i,c,m,p)=>Math.atan2(p-c,m-i)%Math.PI,e=i=>i*180/Math.PI,r={roll:void 0,pitch:void 0,yaw:void 0};if(!o||!o._positions||o._positions.length!==68)return r;let n=o._positions;r.roll=-t(n[36]._x,n[36]._y,n[45]._x,n[45]._y),r.pitch=t(0,Math.abs(n[0]._x-n[30]._x)/n[30]._x,Math.PI,Math.abs(n[16]._x-n[30]._x)/n[30]._x);let a=n.reduce((i,c)=>ii>c._y?i:c._y,-1/0);return r.yaw=Math.PI*(o._imgDims._height/(s-a)/1.4-1),r}function we(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:a}=o.detection,s=new M(o.detection.score,n.rescale(a.reverse()),a),i=$n(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:s,angle:i}}}var vr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:a,pointSize:s,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=s||2,this.lineColor=a||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},yr=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new vr(e)}draw(t){let e=O(t),{drawLines:r,drawPoints:n,lineWidth:a,lineColor:s,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Gt&&(e.strokeStyle=s,e.lineWidth=a,dt(e,this.faceLandmarks.getJawOutline()),dt(e,this.faceLandmarks.getLeftEyeBrow()),dt(e,this.faceLandmarks.getRightEyeBrow()),dt(e,this.faceLandmarks.getNose()),dt(e,this.faceLandmarks.getLeftEye(),!0),dt(e,this.faceLandmarks.getRightEye(),!0),dt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function On(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof z?r:Zt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new yr(n).draw(o)})}var No="1.7.3";var ft=v(x());var S=v(x());function Vn(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c){let m=r(s,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(s,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function a(s,i){let c=r(s,s,`${i}/separable_conv0`),m=r(s,s,`${i}/separable_conv1`),p=r(s,s,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:a}}function So(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=R(o),{extractConvParams:a,extractSeparableConvParams:s,extractReductionBlockParams:i,extractMainBlockParams:c}=Vn(r,e),m=a(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};it(t,0,1).forEach(h=>{l[`main_block_${h}`]=c(128,`middle_flow/main_block_${h}`)});let g=i(128,256,"exit_flow/reduction_block"),T=s(256,512,"exit_flow/separable_conv"),D={reduction_block:g,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:D}}}function Yn(o,t){let e=Y(o,t),r=hr(e),n=xe(e);function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}}function Lo(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}=Yn(o,e),i=r("entry_flow/conv_in"),c=a("entry_flow/reduction_block_0"),m=a("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};it(t,0,1).forEach(T=>{u[`main_block_${T}`]=s(`middle_flow/main_block_${T}`)});let f=a("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),g={reduction_block:f,separable_conv:l};return B(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:g},paramMappings:e}}function Ao(o,t,e){return S.add(S.conv2d(o,t.filters,e,"same"),t.bias)}function io(o,t,e=!0){let r=e?S.relu(o):o;return r=H(r,t.separable_conv0,[1,1]),r=H(S.relu(r),t.separable_conv1,[1,1]),r=S.maxPool(r,[3,3],[2,2],"same"),r=S.add(r,Ao(o,t.expansion_conv,[2,2])),r}function Gn(o,t){let e=H(S.relu(o),t.separable_conv0,[1,1]);return e=H(S.relu(e),t.separable_conv1,[1,1]),e=H(S.relu(e),t.separable_conv2,[1,1]),e=S.add(e,o),e}var _r=class extends A{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){let{params:r}=this;if(!r)throw new Error("TinyXception - load model before inference");return S.tidy(()=>{let n=S.cast(e.toBatchTensor(112,!0),"float32"),s=rt(n,[122.782,117.001,104.298]).div(255),i=S.relu(Ao(s,r.entry_flow.conv_in,[2,2]));return i=io(i,r.entry_flow.reduction_block_0,!1),i=io(i,r.entry_flow.reduction_block_1),it(this._numMainBlocks,0,1).forEach(c=>{i=Gn(i,r.middle_flow[`main_block_${c}`])}),i=io(i,r.exit_flow.reduction_block),i=S.relu(H(i,r.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await C(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(e){return Lo(e,this._numMainBlocks)}extractParams(e){return So(e,this._numMainBlocks)}};function Wo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),n=lr(e,t),a=n(512,1,"fc/age"),s=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:a,gender:s}}}}function ko(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return B(o,t),{params:n,paramMappings:t}}var Tr=(e=>(e.FEMALE="female",e.MALE="male",e))(Tr||{});var He=class extends A{constructor(e=new _r(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e,a=ft.avgPool(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),s=$e(a,r.fc.age).as1D(),i=$e(a,r.fc.gender);return{age:s,gender:i}})}forwardInput(e){return ft.tidy(()=>{let{age:r,gender:n}=this.runNet(e);return{age:r,gender:ft.softmax(n)}})}async forward(e){return this.forwardInput(await C(e))}async predictAgeAndGender(e){let r=await C(e),n=await this.forwardInput(r),a=ft.unstack(n.age),s=ft.unstack(n.gender),i=a.map((m,p)=>({ageTensor:m,genderTensor:s[p]})),c=await Promise.all(i.map(async({ageTensor:m,genderTensor:p})=>{let u=m.dataSync()[0],f=p.dataSync()[0],l=f>.5,g=l?"male":"female",T=l?f:1-f;return m.dispose(),p.dispose(),{age:u,gender:g,genderProbability:T}}));return n.age.dispose(),n.gender.dispose(),r.isBatchInput?c:c[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Wo(e)}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=gr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),ko(n)}extractParams(e){let n=e.slice(0,e.length-1539),a=e.slice(e.length-1539);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(a)}};var G=v(x());var Fe=class extends Te{postProcess(t,e,r){let n=r.map(({width:s,height:i})=>{let c=e/Math.max(i,s);return{width:s*c,height:i*c}}),a=n.length;return G.tidy(()=>{let s=(u,f)=>G.stack([G.fill([68],u,"float32"),G.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:g}=n[u];return f(l,g)?Math.abs(l-g)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>ls(c(f),m(f))))).div(G.stack(Array.from(Array(a),(u,f)=>s(n[f].width,n[f].height))))})}forwardInput(t){return G.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await C(t))}async detectLandmarks(t){let e=await C(t),r=G.tidy(()=>G.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(a,s)=>{let i=Array.from(a.dataSync()),c=i.filter((p,u)=>rr(u)),m=i.filter((p,u)=>!rr(u));return new Gt(Array(68).fill(0).map((p,u)=>new b(c[u],m[u])),{height:e.getInputHeight(s),width:e.getInputWidth(s)})}));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Kt=class extends Fe{constructor(t=new ve){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var De=v(x());function Bo(o){let t=[],{extractDenseBlock3Params:e}=br(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return B(o,t),{params:r,paramMappings:t}}function Ro(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock3Params:n}=dr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i}}}var Pr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return De.tidy(()=>{let r=De.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=pr(a,e.dense0,!0);return s=pr(s,e.dense1),s=pr(s,e.dense2),s=De.avgPool(s,[14,14],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Bo(t)}extractParams(t){return Ro(t)}};var ze=class extends Fe{constructor(t=new Pr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var co=class extends Kt{};var nt=v(x());var Ee=v(x());var wr=v(x());function $o(o,t){return wr.add(wr.mul(o,t.weights),t.biases)}function mo(o,t,e,r,n="same"){let{filters:a,bias:s}=t.conv,i=Ee.conv2d(o,a,e,n);return i=Ee.add(i,s),i=$o(i,t.scale),r?Ee.relu(i):i}function Oo(o,t){return mo(o,t,[1,1],!0)}function po(o,t){return mo(o,t,[1,1],!1)}function Fr(o,t){return mo(o,t,[2,2],!0,"valid")}var j=v(x());function jn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if(Br(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return j.tidy(()=>j.transpose(j.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=j.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=j.tensor1d(o(i)),p=j.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function a(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function s(i,c,m,p,u=!1){let f=a((u?.5:1)*i,c,m,`${p}/conv1`),l=a(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:a,extractResidualLayerParams:s}}function Ho(o){let{extractWeights:t,getRemainingWeights:e}=R(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=jn(t,r),s=n(4704,32,7,"conv32_down"),i=a(9216,32,3,"conv32_1"),c=a(9216,32,3,"conv32_2"),m=a(9216,32,3,"conv32_3"),p=a(36864,64,3,"conv64_down",!0),u=a(36864,64,3,"conv64_1"),f=a(36864,64,3,"conv64_2"),l=a(36864,64,3,"conv64_3"),g=a(147456,128,3,"conv128_down",!0),T=a(147456,128,3,"conv128_1"),D=a(147456,128,3,"conv128_2"),h=a(589824,256,3,"conv256_down",!0),_=a(589824,256,3,"conv256_1"),y=a(589824,256,3,"conv256_2"),E=a(589824,256,3,"conv256_down_out"),W=j.tidy(()=>j.transpose(j.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:s,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:g,conv128_1:T,conv128_2:D,conv256_down:h,conv256_1:_,conv256_2:y,conv256_down_out:E,fc:W},paramMappings:r}}function Un(o,t){let e=Y(o,t);function r(s){let i=e(`${s}/scale/weights`,1),c=e(`${s}/scale/biases`,1);return{weights:i,biases:c}}function n(s){let i=e(`${s}/conv/filters`,4),c=e(`${s}/conv/bias`,1),m=r(s);return{conv:{filters:i,bias:c},scale:m}}function a(s){return{conv1:n(`${s}/conv1`),conv2:n(`${s}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:a}}function zo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Un(o,t),n=e("conv32_down"),a=r("conv32_1"),s=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),g=r("conv128_2"),T=r("conv256_down"),D=r("conv256_1"),h=r("conv256_2"),_=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!kr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let E={conv32_down:n,conv32_1:a,conv32_2:s,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:g,conv256_down:T,conv256_1:D,conv256_2:h,conv256_down_out:_,fc:y};return B(o,t),{params:E,paramMappings:t}}var $=v(x());function ot(o,t){let e=Oo(o,t.conv1);return e=po(e,t.conv2),e=$.add(e,o),e=$.relu(e),e}function Ve(o,t){let e=Fr(o,t.conv1);e=po(e,t.conv2);let r=$.avgPool(o,2,2,"valid"),n=$.zeros(r.shape),a=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=$.zeros(i);e=$.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=$.zeros(m);e=$.concat([e,p],2)}return r=a?$.concat([r,n],3):r,e=$.add(r,e),e=$.relu(e),e}var Qt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=Fr(a,e.conv32_down);s=nt.maxPool(s,3,2,"valid"),s=ot(s,e.conv32_1),s=ot(s,e.conv32_2),s=ot(s,e.conv32_3),s=Ve(s,e.conv64_down),s=ot(s,e.conv64_1),s=ot(s,e.conv64_2),s=ot(s,e.conv64_3),s=Ve(s,e.conv128_down),s=ot(s,e.conv128_1),s=ot(s,e.conv128_2),s=Ve(s,e.conv256_down),s=ot(s,e.conv256_1),s=ot(s,e.conv256_2),s=Ve(s,e.conv256_down_out);let i=s.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await C(t))}async computeFaceDescriptor(t){var a;if((a=t==null?void 0:t.shape)!=null&&a.some(s=>s<=0))return new Float32Array(128);let e=await C(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(s=>s.data()));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return zo(t)}extractParams(t){return Ho(t)}};function Xn(o){let t=new Qt;return t.extractWeights(o),t}function Dr(o,t){return{...o,...{descriptor:t}}}function Jn(o){return typeof o.age=="number"}function Er(o,t){return{...o,...{age:t}}}function qn(o){return(o.gender==="male"||o.gender==="female")&&me(o.genderProbability)}function Mr(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Lt=v(x());var at=v(x());function Zn(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),g=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:g}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),g=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:g}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function a(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function s(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=a(32,64,"mobilenetv1/conv_1"),p=a(64,128,"mobilenetv1/conv_2"),u=a(128,128,"mobilenetv1/conv_3"),f=a(128,256,"mobilenetv1/conv_4"),l=a(256,256,"mobilenetv1/conv_5"),g=a(256,512,"mobilenetv1/conv_6"),T=a(512,512,"mobilenetv1/conv_7"),D=a(512,512,"mobilenetv1/conv_8"),h=a(512,512,"mobilenetv1/conv_9"),_=a(512,512,"mobilenetv1/conv_10"),y=a(512,512,"mobilenetv1/conv_11"),E=a(512,1024,"mobilenetv1/conv_12"),W=a(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,conv_8:D,conv_9:h,conv_10:_,conv_11:y,conv_12:E,conv_13:W}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),g=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),D=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),h=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),_=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),E=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),W=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),lt=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Dt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),Et=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Mt=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,box_predictor_0:{box_encoding_predictor:D,class_predictor:h},box_predictor_1:{box_encoding_predictor:_,class_predictor:y},box_predictor_2:{box_encoding_predictor:E,class_predictor:W},box_predictor_3:{box_encoding_predictor:tt,class_predictor:lt},box_predictor_4:{box_encoding_predictor:q,class_predictor:Dt},box_predictor_5:{box_encoding_predictor:Et,class_predictor:Mt}}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:i}}function Vo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=Zn(e,t),s=n(),i=a(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:s,prediction_layer:i,output_layer:m},paramMappings:t}}function Kn(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,g=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),D=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),h=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),_=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:g,batch_norm_scale:T,batch_norm_offset:D,batch_norm_mean:h,batch_norm_variance:_},pointwise_conv:r("MobilenetV1",m,l)}}function a(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function s(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=s(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=s(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:c}}function Yo(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=Kn(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!ht(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let a={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return B(o,t),{params:a,paramMappings:t}}var _t=v(x());var Nt=v(x());function Z(o,t,e){return Nt.tidy(()=>{let r=Nt.conv2d(o,t.filters,e,"same");return r=Nt.add(r,t.batch_norm_offset),Nt.clipByValue(r,0,6)})}var Qn=.0010000000474974513;function ta(o,t,e){return _t.tidy(()=>{let r=_t.depthwiseConv2d(o,t.filters,e,"same");return r=_t.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Qn),_t.clipByValue(r,0,6)})}function ea(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Go(o,t){return _t.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((a,s)=>{let i=s+1,c=ea(i);r=ta(r,a.depthwise_conv,c),r=Z(r,a.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ra(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),a=Math.min(r[t][1],r[t][3]),s=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(s-n)*(i-a),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let g=Math.max(n,c),T=Math.max(a,m),D=Math.min(s,p),h=Math.min(i,u),_=Math.max(D-g,0)*Math.max(h-T,0);return _/(f+l-_)}function jo(o,t,e,r,n){let a=o.shape[0],s=Math.min(e,a),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=s)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ra(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function oa(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function na(o,t){let{sizes:e,centers:r}=oa(o),n=d.unstack(d.transpose(t,[1,0])),a=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),s=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(s,a),d.sub(c,i),d.add(s,a),d.add(c,i)]),[1,0])}function Uo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=na(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let a=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),s=d.slice(a,[0,0,0],[-1,-1,1]);s=d.reshape(s,[r,s.shape[1]]);let i=d.unstack(n),c=d.unstack(s);return{boxes:i,scores:c}})}var Ge=v(x());var Ye=v(x());function te(o,t){return Ye.tidy(()=>{let e=o.shape[0],r=Ye.reshape(qt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ye.reshape(qt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Xo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),a=Z(n,e.conv_2,[1,1]),s=Z(a,e.conv_3,[2,2]),i=Z(s,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=te(t,e.box_predictor_0),f=te(o,e.box_predictor_1),l=te(n,e.box_predictor_2),g=te(s,e.box_predictor_3),T=te(c,e.box_predictor_4),D=te(p,e.box_predictor_5),h=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,g.boxPredictionEncoding,T.boxPredictionEncoding,D.boxPredictionEncoding],1),_=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,g.classPrediction,T.classPrediction,D.classPrediction],1);return{boxPredictions:h,classPredictions:_}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var St=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Lt.tidy(()=>{let r=Lt.cast(t.toBatchTensor(512,!1),"float32"),n=Lt.sub(Lt.div(r,127.5),1),a=Go(n,e.mobilenetv1),{boxPredictions:s,classPredictions:i}=Xo(a.out,a.conv11,e.prediction_layer);return Uo(s,i,e.output_layer)})}async forward(t){return this.forwardInput(await C(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),a=await C(t),{boxes:s,scores:i}=this.forwardInput(a),c=s[0],m=i[0];for(let y=1;y{let[E,W]=[Math.max(0,h[y][0]),Math.min(1,h[y][2])].map(q=>q*D),[tt,lt]=[Math.max(0,h[y][1]),Math.min(1,h[y][3])].map(q=>q*T);return new M(p[y],new Yt(tt,E,lt-tt,W-E),{height:a.getInputHeight(0),width:a.getInputWidth(0)})});return c.dispose(),m.dispose(),_}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Yo(t)}extractParams(t){return Vo(t)}};function Jo(o){let t=new St;return t.extractWeights(o),t}function aa(o){return Jo(o)}var uo=class extends St{};var qo=.4,Zo=[new b(.738768,.874946),new b(2.42204,2.65704),new b(4.30971,7.04493),new b(10.246,4.59428),new b(12.6868,11.8741)],Ko=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],Qo=[117.001,114.697,97.404],tn="tiny_yolov2_model",en="tiny_yolov2_separable_conv_model";var N=v(x());var Cr=o=>typeof o=="number";function fo(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Cr(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Cr(t.x)&&Cr(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Cr)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Me(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function Tt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Me(e)})}var At=v(x());function Pt(o,t){return At.tidy(()=>{let e=At.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=At.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=At.add(e,t.bias),Me(e)})}var lo=v(x());function sa(o,t){let e=be(o,t);function r(s,i){let c=lo.tensor1d(o(s)),m=lo.tensor1d(o(s));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(s,i,c){let m=e(s,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let a=ge(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}}function rn(o,t,e,r){let{extractWeights:n,getRemainingWeights:a}=R(o),s=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=sa(n,s),p;if(t.withSeparableConvs){let[u,f,l,g,T,D,h,_,y]=r,E=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),W=m(f,l,"conv1"),tt=m(l,g,"conv2"),lt=m(g,T,"conv3"),q=m(T,D,"conv4"),Dt=m(D,h,"conv5"),Et=_?m(h,_,"conv6"):void 0,Mt=y?m(_,y,"conv7"):void 0,$t=i(y||_||h,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}else{let[u,f,l,g,T,D,h,_,y]=r,E=c(u,f,"conv0"),W=c(f,l,"conv1"),tt=c(l,g,"conv2"),lt=c(g,T,"conv3"),q=c(T,D,"conv4"),Dt=c(D,h,"conv5"),Et=c(h,_,"conv6"),Mt=c(_,y,"conv7"),$t=i(y,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:p,paramMappings:s}}function ia(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function a(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let s=xe(e);return{extractConvParams:n,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}}function on(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}=ia(o,e),s;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;s={conv0:t.isFirstLayerConv2d?r("conv0"):a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:i>7?a("conv6"):void 0,conv7:i>8?a("conv7"):void 0,conv8:r("conv8")}}else s={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return B(o,e),{params:s,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var ho=class extends A{constructor(e){super("TinyYolov2");fo(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,r){let n=Tt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=Tt(n,r.conv6),n=Tt(n,r.conv7),qt(n,r.conv8,"valid",!1)}runMobilenet(e,r){let n=this.config.isFirstLayerConv2d?Me(qt(e,r.conv0,"valid",!1)):Pt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=r.conv6?Pt(n,r.conv6):n,n=r.conv7?Pt(n,r.conv7):n,qt(n,r.conv8,"valid",!1)}forwardInput(e,r){let{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return N.tidy(()=>{let a=N.cast(e.toBatchTensor(r,!1),"float32");return a=this.config.meanRgb?rt(a,this.config.meanRgb):a,a=a.div(255),this.config.withSeparableConvs?this.runMobilenet(a,n):this.runTinyYolov2(a,n)})}async forward(e,r){return this.forwardInput(await C(e),r)}async detect(e,r={}){let{inputSize:n,scoreThreshold:a}=new st(r),s=await C(e),i=await this.forwardInput(s,n),c=N.tidy(()=>N.unstack(i)[0].expandDims()),m={width:s.getInputWidth(0),height:s.getInputHeight(0)},p=await this.extractBoxes(c,s.getReshapedInputDimensions(0),a);i.dispose(),c.dispose();let u=p.map(h=>h.box),f=p.map(h=>h.score),l=p.map(h=>h.classScore),g=p.map(h=>this.config.classes[h.label]);return zr(u.map(h=>h.rescale(n)),f,this.config.iouThreshold,!0).map(h=>new bt(f[h],l[h],g[h],u[h],m))}getDefaultModelName(){return""}extractParamsFromWeightMap(e){return on(e,this.config)}extractParams(e){let r=this.config.filterSizes||ho.DEFAULT_FILTER_SIZES,n=r?r.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return rn(e,this.config,this.boxEncodingSize,r)}async extractBoxes(e,r,n){let{width:a,height:s}=r,i=Math.max(a,s),c=i/a,m=i/s,p=e.shape[1],u=this.config.anchors.length,[f,l,g]=N.tidy(()=>{let _=e.reshape([p,p,u,this.boxEncodingSize]),y=_.slice([0,0,0,0],[p,p,u,4]),E=_.slice([0,0,0,4],[p,p,u,1]),W=this.withClassScores?N.softmax(_.slice([0,0,0,5],[p,p,u,this.config.classes.length]),3):N.scalar(0);return[y,E,W]}),T=[],D=await l.array(),h=await f.array();for(let _=0;_n){let tt=(y+Ne(h[_][y][E][0]))/p*c,lt=(_+Ne(h[_][y][E][1]))/p*m,q=Math.exp(h[_][y][E][2])*this.config.anchors[E].x/p*c,Dt=Math.exp(h[_][y][E][3])*this.config.anchors[E].y/p*m,Et=tt-q/2,Mt=lt-Dt/2,$t={row:_,col:y,anchor:E},{classScore:xo,label:vo}=this.withClassScores?await this.extractPredictedClass(g,$t):{classScore:1,label:0};T.push({box:new Vt(Et,Mt,Et+q,Mt+Dt),score:W,classScore:W*xo,label:vo,...$t})}}return f.dispose(),l.dispose(),g.dispose(),T}async extractPredictedClass(e,r){let{row:n,col:a,anchor:s}=r,i=await e.array();return Array(this.config.classes.length).fill(0).map((c,m)=>i[n][a][s][m]).map((c,m)=>({classScore:c,label:m})).reduce((c,m)=>c.classScore>m.classScore?c:m)}},ee=ho;ee.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var re=class extends ee{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:qo,classes:["face"],...t?{anchors:Ko,meanRgb:Qo}:{anchors:Zo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?en:tn}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function ca(o,t=!0){let e=new re(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var bo=v(x());async function oe(o,t,e,r,n=({alignedRect:a})=>a){let a=o.map(c=>Zt(c)?n(c):c.detection),s=r||(t instanceof bo.Tensor?await de(t,a):await le(t,a)),i=await e(s);return s.forEach(c=>c instanceof bo.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return oe([o],t,async a=>e(a[0]),r,n)}var nn=.4,an=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],sn=[117.001,114.697,97.404];var ne=class extends ee{constructor(){let t={withSeparableConvs:!0,iouThreshold:nn,classes:["face"],anchors:an,meanRgb:sn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var w={ssdMobilenetv1:new St,tinyFaceDetector:new ne,tinyYolov2:new re,faceLandmark68Net:new Kt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Qt,faceExpressionNet:new Oe,ageGenderNet:new He},cn=(o,t)=>w.ssdMobilenetv1.locateFaces(o,t),ma=(o,t)=>w.tinyFaceDetector.locateFaces(o,t),pa=(o,t)=>w.tinyYolov2.locateFaces(o,t),mn=o=>w.faceLandmark68Net.detectLandmarks(o),ua=o=>w.faceLandmark68TinyNet.detectLandmarks(o),fa=o=>w.faceRecognitionNet.computeFaceDescriptor(o),la=o=>w.faceExpressionNet.predictExpressions(o),da=o=>w.ageGenderNet.predictAgeAndGender(o),pn=o=>w.ssdMobilenetv1.load(o),ha=o=>w.tinyFaceDetector.load(o),ba=o=>w.tinyYolov2.load(o),ga=o=>w.faceLandmark68Net.load(o),xa=o=>w.faceLandmark68TinyNet.load(o),va=o=>w.faceRecognitionNet.load(o),ya=o=>w.faceExpressionNet.load(o),_a=o=>w.ageGenderNet.load(o),Ta=pn,Pa=cn,wa=mn;var Ir=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Ir{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>xr(r,e[n]))}withAgeAndGender(){return new ie(this,this.input)}},se=class extends Ir{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceExpressionNet.predictExpressions(r),this.extractedFaces);return xr(t,e)}withAgeAndGender(){return new ce(this,this.input)}},Wt=class extends ae{withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},kt=class extends se{withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ie=class extends Nr{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:a,gender:s,genderProbability:i}=e[n];return Er(Mr(r,s,i),a)})}withFaceExpressions(){return new ae(this,this.input)}},ce=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,a=>w.ageGenderNet.predictAgeAndGender(a),this.extractedFaces);return Er(Mr(t,r,n),e)}withFaceExpressions(){return new se(this,this.input)}},Bt=class extends ie{withFaceExpressions(){return new Wt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Rt=class extends ce{withFaceExpressions(){return new kt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},wt=class extends Ue{async run(){let t=await this.parentTask;return(await oe(t,this.input,r=>Promise.all(r.map(n=>w.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Dr(t[n],r))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}},Ft=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Dr(t,e)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?w.faceLandmark68TinyNet:w.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(s=>s.detection),r=this.input instanceof Xe.Tensor?await de(this.input,e):await le(this.input,e),n=await Promise.all(r.map(s=>this.landmarkNet.detectLandmarks(s)));return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),t.filter((s,i)=>n[i]).map((s,i)=>we(s,n[i]))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await de(this.input,[e]):await le(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),we(t,n)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=w.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=w.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=w.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>jt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ie(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?jt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new se(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new ce(this.runAndExtendWithFaceDetection(),this.input)}};function Fa(o,t=new X){return new Qe(o,t)}function Sr(o,t=new X){return new Ie(o,t)}async function un(o,t){return Sr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Da(o,t={}){return Sr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Ea=un;function go(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,a)=>n-r[a]).reduce((n,a)=>n+a*a,0))}var tr=class{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,a=()=>`person ${n++}`;this._labeledDescriptors=r.map(s=>{if(s instanceof mt)return s;if(s instanceof Float32Array)return new mt(a(),[s]);if(s.descriptor&&s.descriptor instanceof Float32Array)return new mt(a(),[s.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>go(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new pe(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>mt.fromJSON(r));return new tr(e,t.distanceThreshold)}};function Ma(o){let t=new ne;return t.extractWeights(o),t}function fn(o,t){let{width:e,height:r}=new k(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>fn(n,{width:e,height:r}));if(Zt(o)){let n=o.detection.forSize(e,r),a=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return we(jt(o,n),a)}return pt(o)?jt(o,o.detection.forSize(e,r)):o instanceof z||o instanceof M?o.forSize(e,r):o}var Ia=No;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); diff --git a/dist/face-api.node-wasm.js b/dist/face-api.node-wasm.js index 7e02189..332649a 100644 --- a/dist/face-api.node-wasm.js +++ b/dist/face-api.node-wasm.js @@ -4,4 +4,4 @@ author: ' */ -"use strict";var dn=Object.create;var er=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var bn=Object.getOwnPropertyNames;var gn=Object.getPrototypeOf,xn=Object.prototype.hasOwnProperty;var vn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Ar=(o,t)=>{for(var e in t)er(o,e,{get:t[e],enumerable:!0})},_o=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of bn(t))!xn.call(o,n)&&n!==e&&er(o,n,{get:()=>t[n],enumerable:!(r=hn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?dn(gn(o)):{},_o(t||!o||!o.__esModule?er(e,"default",{value:o,enumerable:!0}):e,o)),yn=o=>_o(er({},"__esModule",{value:!0}),o);var x=vn((ka,rr)=>{"use strict";var To=Object.defineProperty,_n=Object.getOwnPropertyDescriptor,Tn=Object.getOwnPropertyNames,Pn=Object.prototype.hasOwnProperty,Wr=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Tn(t))!Pn.call(o,n)&&n!==e&&To(o,n,{get:()=>t[n],enumerable:!(r=_n(t,n))||r.enumerable});return o},Po=(o,t,e)=>(Wr(o,t,"default"),e&&Wr(e,t,"default")),wn=o=>Wr(To({},"__esModule",{value:!0}),o),kr={};rr.exports=wn(kr);Po(kr,require("@tensorflow/tfjs"),rr.exports);Po(kr,require("@tensorflow/tfjs-backend-wasm"),rr.exports)});var Na={};Ar(Na,{AgeGenderNet:()=>He,BoundingBox:()=>Vt,Box:()=>F,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>wt,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Ft,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>k,FACE_EXPRESSION_LABELS:()=>ao,FaceDetection:()=>M,FaceDetectionNet:()=>fo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>yt,FaceLandmark68Net:()=>Kt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>mo,FaceLandmarks:()=>z,FaceLandmarks5:()=>Gr,FaceLandmarks68:()=>Gt,FaceMatch:()=>pe,FaceMatcher:()=>tr,FaceRecognitionNet:()=>Qt,Gender:()=>Pr,LabeledBox:()=>ue,LabeledFaceDescriptors:()=>mt,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>bt,Point:()=>b,PredictedBox:()=>jr,Rect:()=>Yt,SsdMobilenetv1:()=>St,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>ne,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>re,TinyYolov2Options:()=>st,allFaces:()=>Ea,allFacesSsdMobilenetv1:()=>fn,allFacesTinyYolov2:()=>Da,awaitMediaLoaded:()=>Qr,bufferToImage:()=>to,computeFaceDescriptor:()=>fa,createCanvas:()=>Jt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>aa,createFaceRecognitionNet:()=>Xn,createSsdMobilenetv1:()=>qo,createTinyFaceDetector:()=>Ma,createTinyYolov2:()=>ca,detectAllFaces:()=>Lr,detectFaceLandmarks:()=>pn,detectFaceLandmarksTiny:()=>ua,detectLandmarks:()=>wa,detectSingleFace:()=>Fa,draw:()=>io,env:()=>P,euclideanDistance:()=>xo,extendWithAge:()=>Mr,extendWithFaceDescriptor:()=>Er,extendWithFaceDetection:()=>jt,extendWithFaceExpressions:()=>vr,extendWithFaceLandmarks:()=>we,extendWithGender:()=>Cr,extractFaceTensors:()=>de,extractFaces:()=>le,fetchImage:()=>An,fetchJson:()=>oo,fetchNetWeights:()=>Wn,fetchOrThrow:()=>xt,fetchVideo:()=>kn,getContext2dOrThrow:()=>O,getMediaDimensions:()=>Xt,imageTensorToCanvas:()=>eo,imageToSquare:()=>ro,inverseSigmoid:()=>En,iou:()=>Hr,isMediaElement:()=>cr,isMediaLoaded:()=>Ae,isWithAge:()=>Jn,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>so,isWithFaceLandmarks:()=>Zt,isWithGender:()=>qn,loadAgeGenderModel:()=>_a,loadFaceDetectionModel:()=>Ta,loadFaceExpressionModel:()=>ya,loadFaceLandmarkModel:()=>ga,loadFaceLandmarkTinyModel:()=>xa,loadFaceRecognitionModel:()=>va,loadSsdMobilenetv1Model:()=>un,loadTinyFaceDetectorModel:()=>ha,loadTinyYolov2Model:()=>ba,loadWeightMap:()=>no,locateFaces:()=>Pa,matchDimensions:()=>Bn,minBbox:()=>zr,nets:()=>w,nonMaxSuppression:()=>Vr,normalize:()=>rt,padToSquare:()=>Yr,predictAgeAndGender:()=>da,recognizeFaceExpressions:()=>la,resizeResults:()=>ln,resolveInput:()=>Ut,shuffleArray:()=>Dn,sigmoid:()=>Ne,ssdMobilenetv1:()=>mn,tf:()=>Ca,tinyFaceDetector:()=>ma,tinyYolov2:()=>pa,toNetInput:()=>C,utils:()=>Or,validateConfig:()=>lo,version:()=>Ia});module.exports=yn(Na);var Ca=v(x());var io={};Ar(io,{AnchorPosition:()=>Kr,DrawBox:()=>Le,DrawBoxOptions:()=>sr,DrawFaceLandmarks:()=>_r,DrawFaceLandmarksOptions:()=>yr,DrawTextField:()=>gt,DrawTextFieldOptions:()=>fe,drawContour:()=>dt,drawDetections:()=>Ln,drawFaceExpressions:()=>Rn,drawFaceLandmarks:()=>On});function dt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},a)=>{let s=t[a];o.moveTo(s.x,s.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var Or={};Ar(Or,{computeReshapedDimensions:()=>$r,getCenterPoint:()=>zt,isDimensions:()=>nr,isEven:()=>or,isFloat:()=>Rr,isTensor:()=>Ot,isTensor1D:()=>Fn,isTensor2D:()=>Br,isTensor3D:()=>ht,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>me,range:()=>it,round:()=>Ht});var wo=v(x());var k=class{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new k(1/this.width,1/this.height)}};function Ot(o,t){return o instanceof wo.Tensor&&o.shape.length===t}function Fn(o){return Ot(o,1)}function Br(o){return Ot(o,2)}function ht(o){return Ot(o,3)}function U(o){return Ot(o,4)}function Rr(o){return o%1!==0}function or(o){return o%2===0}function Ht(o,t=2){let e=10**t;return Math.floor(o*e)/e}function nr(o){return o&&o.width&&o.height}function $r({width:o,height:t},e){let r=e/Math.max(t,o);return new k(Math.round(o*r),Math.round(t*r))}function zt(o){return o.reduce((t,e)=>t.add(e),new b(0,0)).div(new b(o.length,o.length))}function it(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function me(o){return et(o)&&o>=0&&o<=1}var b=class{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new b(this.x+t.x,this.y+t.y)}sub(t){return new b(this.x-t.x,this.y-t.y)}mul(t){return new b(this.x*t.x,this.y*t.y)}div(t){return new b(this.x/t.x,this.y/t.y)}abs(){return new b(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new b(Math.floor(this.x),Math.floor(this.y))}};var F=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!F.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),a=[r.x,r.y,r.width,r.height].every(et);if(!a&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[s,i,c,m]=a?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];F.assertIsValidBox({x:s,y:i,width:c,height:m},"Box.constructor",e),this._x=s,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new b(this.left,this.top)}get topRight(){return new b(this.right,this.top)}get bottomLeft(){return new b(this.left,this.bottom)}get bottomRight(){return new b(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.round(a));return new F({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.floor(a));return new F({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,a=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:s,edy:c,dx:a,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new F({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Vt=class extends F{constructor(t,e,r,n,a=!1){super({left:t,top:e,right:r,bottom:n},a)}};var bt=class{constructor(t,e,r,n,a){this._imageDims=new k(a.width,a.height),this._score=t,this._classScore=e,this._className=r,this._box=new F(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new F(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new bt(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class extends bt{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:a}=super.forSize(t,e);return new M(r,n,a)}};function Hr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),a=r*n;return e?a/(o.area+t.area-a):a/Math.min(o.area,t.area)}function zr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:s,boxIndex:i})).sort((s,i)=>s.score-i.score).map(s=>s.boxIndex),a=[];for(;n.length>0;){let s=n.pop();a.push(s);let i=n,c=[];for(let m=0;mc[p]<=e)}return a}var ct=v(x());function rt(o,t){return ct.tidy(()=>{let[e,r,n]=t,a=ct.fill([...o.shape.slice(0,3),1],e,"float32"),s=ct.fill([...o.shape.slice(0,3),1],r,"float32"),i=ct.fill([...o.shape.slice(0,3),1],n,"float32"),c=ct.concat([a,s,i],3);return ct.sub(o,c)})}var Ct=v(x());function Yr(o,t=!1){return Ct.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),a=Math.round(n*(t?.5:1)),s=e>r?2:1,i=f=>{let l=o.shape.slice();return l[s]=f,Ct.fill(l,0,"float32")},c=i(a),m=n-c.shape[s],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Ct.cast(f,"float32"));return Ct.concat(u,s)})}function Dn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function En(o){return Math.log(o/(1-o))}var Yt=class extends F{constructor(t,e,r,n,a=!1){super({x:t,y:e,width:r,height:n},a)}};var Mn=.5,Cn=.43,In=.45,z=class{constructor(t,e,r=new b(0,0)){let{width:n,height:a}=e;this._imgDims=new k(n,a),this._shift=r,this._positions=t.map(s=>s.mul(new b(n,a)).add(r))}get shift(){return new b(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new b(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new b(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let a=t instanceof M?t.box.floor():new F(t);return this.shiftBy(a.x,a.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,a=u=>n.sub(u).magnitude(),s=(a(e)+a(r))/2,i=Math.floor(s/In),c=zt(t),m=Math.floor(Math.max(0,c.x-Mn*i)),p=Math.floor(Math.max(0,c.y-Cn*i));return new Yt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=zr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var Gr=class extends z{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],zt([t[3],t[4]])]}};var Gt=class extends z{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(zt)}};var pe=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Ht(this.distance)})`:""}`}};var ue=class extends F{constructor(e,r){super(e);this._label=r}static assertIsValidLabeledBox(e,r){if(F.assertIsValidBox(e,r),!et(e.label))throw new Error(`${r} - expected property label (${e.label}) to be a number`)}get label(){return this._label}};var mt=class{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new mt(t.label,e)}};var jr=class extends ue{constructor(e,r,n,a){super(e,r);this._score=n,this._classScore=a}static assertIsValidPredictedBox(e,r){if(ue.assertIsValidLabeledBox(e,r),!me(e.score)||!me(e.classScore))throw new Error(`${r} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function jt(o,t){return{...o,...{detection:t}}}function Ur(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Se(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function ar(o){let t="";if(!o&&Se())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,a)=>{o.readFile(r,(s,i)=>s?a(s):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Xr(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},a=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},s=global.fetch,i=ar();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:a,fetch:s,...i}}function Jr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var L;function Nn(){if(!L)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return L}function qr(o){L=o}function Zr(){return Jr()?qr(Ur()):Se()?qr(Xr()):null}function Sn(o){if(L||Zr(),!L)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=L.Canvas,Image:e=L.Image}=o;L.Canvas=t,L.Image=e,L.createCanvasElement=o.createCanvasElement||(()=>new t),L.createImageElement=o.createImageElement||(()=>new e),L.ImageData=o.ImageData||L.ImageData,L.Video=o.Video||L.Video,L.fetch=o.fetch||L.fetch,L.readFile=o.readFile||L.readFile}var P={getEnv:Nn,setEnv:qr,initialize:Zr,createBrowserEnv:Ur,createFileSystem:ar,createNodejsEnv:Xr,monkeyPatch:Sn,isBrowser:Jr,isNodejs:Se};Zr();function Ut(o){return!P.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function O(o){let{Canvas:t,CanvasRenderingContext2D:e}=P.getEnv();if(o instanceof e)return o;let r=Ut(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d");if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Kr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Kr||{}),fe=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:a,fontStyle:s,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=a||14,this.fontStyle=s||"Georgia",this.padding=i||4}},gt=class{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof gt?t.text:t,this.anchor=e,this.options=new fe(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let g=c+u.x,T=c+u.y+(l+1)*s;r.fillText(f,g,T)})}};var sr=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:a}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let s={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new fe({...s,...a})}},Le=class{constructor(t,e={}){this.box=new F(t),this.options=new sr(e)}draw(t){let e=O(t),{boxColor:r,lineWidth:n}=this.options,{x:a,y:s,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(a,s,i,c);let{label:m}=this.options;m&&new gt([m],{x:a-n/2,y:s},this.options.drawLabelOptions).draw(t)}};function Ln(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,a=r instanceof M?r.box:pt(r)?r.detection.box:new F(r),s=n?`${Ht(n)}`:void 0;new Le(a,{label:s}).draw(o)})}var Pe=v(x());function Ae(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function Qr(o){return new Promise((t,e)=>{(o instanceof P.getEnv().Canvas||Ae(o))&&t(null);function r(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),e(a))}function n(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),t(a))}o.addEventListener("load",n),o.addEventListener("error",r)})}function to(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=P.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Xt(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t?new k(o.naturalWidth,o.naturalHeight):o instanceof e?new k(o.videoWidth,o.videoHeight):new k(o.width,o.height)}function Jt({width:o,height:t}){let{createCanvasElement:e}=P.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=P.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Xt(o),a=Jt({width:r,height:n});return o instanceof e?O(a).putImageData(o,0,0):O(a).drawImage(o,0,0,r,n),a}var ir=v(x());async function eo(o,t){let e=t||P.getEnv().createCanvasElement(),[r,n,a]=o.shape.slice(U(o)?1:0),s=ir.tidy(()=>o.as3D(r,n,a).toInt());return await ir.browser.toPixels(s,e),s.dispose(),e}function cr(o){let{Image:t,Canvas:e,Video:r}=P.getEnv();return o instanceof t||o instanceof e||o instanceof r}var V=v(x());function ro(o,t,e=!1){let{Image:r,Canvas:n}=P.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Jt({width:1,height:1});let a=Xt(o),s=t/Math.max(a.height,a.width),i=s*a.width,c=s*a.height,m=Jt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&O(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(ht(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let s=r.shape[0];if(s!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${s} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let a=r instanceof P.getEnv().Canvas?r:We(r);this._canvases[n]=a,this._inputDimensions[n]=[a.height,a.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return it(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return $r({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,V.tidy(()=>{let r=it(this.batchSize,0,1).map(a=>{let s=this.getInput(a);if(s instanceof V.Tensor){let i=U(s)?s:V.expandDims(s);return i=Yr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=V.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(s instanceof P.getEnv().Canvas)return V.browser.fromPixels(ro(s,t,e));throw new Error(`toBatchTensor - at batchIdx ${a}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${s}`)});return V.stack(r.map(a=>V.cast(a,"float32"))).as4D(this.batchSize,t,t,3)})}};async function C(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Ut);return r.forEach((n,a)=>{if(!cr(n)&&!ht(n)&&!U(n))throw typeof t[a]=="string"?new Error(`toNetInput -${e(a)} string passed, but could not resolve HTMLElement for element id ${t[a]}`):new Error(`toNetInput -${e(a)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let s=n.shape[0];if(s!==1)throw new Error(`toNetInput -${e(a)} tf.Tensor4D with batchSize ${s} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>cr(n)&&Qr(n))),new ut(r,Array.isArray(o))}async function le(o,t){let{Canvas:e}=P.getEnv(),r=o;if(!(o instanceof e)){let s=await C(o);if(s.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=s.getInput(0);r=i instanceof e?i:await eo(i)}let n=O(r);return t.map(s=>s instanceof M?s.forSize(r.width,r.height).box.floor():s).map(s=>s.clipAtImageBorders(r.width,r.height)).map(({x:s,y:i,width:c,height:m})=>{let p=Jt({width:c,height:m});return c>0&&m>0&&O(p).putImageData(n.getImageData(s,i,c,m),0,0),p})}var mr=v(x());async function de(o,t){if(!ht(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return mr.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>mr.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function xt(o,t){let{fetch:e}=P.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function An(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return to(e)}async function oo(o){return(await xt(o)).json()}async function Wn(o){return new Float32Array(await(await xt(o)).arrayBuffer())}function Fo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=P.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function kn(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return Fo(e)}var Do=v(x());function pr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),a=o.endsWith(".json")?n[n.length-1]:e,s=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return s=o.startsWith("/")?`/${s}`:s,{modelBaseUri:s,manifestUri:s==="/"?`/${a}`:`${s}/${a}`}}async function no(o,t){let{manifestUri:e,modelBaseUri:r}=pr(o,t),n=await oo(e);return Do.io.loadWeights(n,r)}function Bn(o,t,e=!1){let{width:r,height:n}=e?Xt(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ye=v(x());var vt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof vt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof vt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=vt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await no(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=P.getEnv(),{manifestUri:r,modelBaseUri:n}=pr(t,this.getDefaultModelName()),a=m=>Promise.all(m.map(p=>e(p).then(u=>u.buffer))),s=vt.io.weightsLoaderFactory(a),i=JSON.parse((await e(r)).toString()),c=await s(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((a,s)=>{if(!a.nextObj.hasOwnProperty(s))throw new Error(`traversePropertyPath - object does not have property ${s}, for path ${t}`);return{obj:a.nextObj,objProp:s,nextObj:a.nextObj[s]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof vt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var I=v(x());var he=v(x());function H(o,t,e){return he.tidy(()=>{let r=he.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=he.add(r,t.bias),r})}function ur(o,t,e=!1){return I.tidy(()=>{let r=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):H(o,t.conv0,[2,2])),n=H(r,t.conv1,[1,1]),a=I.relu(I.add(r,n)),s=H(a,t.conv2,[1,1]);return I.relu(I.add(r,I.add(n,s)))})}function ke(o,t,e=!1,r=!0){return I.tidy(()=>{let n=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):H(o,t.conv0,r?[2,2]:[1,1])),a=H(n,t.conv1,[1,1]),s=I.relu(I.add(n,a)),i=H(s,t.conv2,[1,1]),c=I.relu(I.add(n,I.add(a,i))),m=H(c,t.conv3,[1,1]);return I.relu(I.add(n,I.add(a,I.add(i,m))))})}var It=v(x());function qt(o,t,e="same",r=!1){return It.tidy(()=>{let n=It.add(It.conv2d(o,t.filters,[1,1],e),t.bias);return r?It.relu(n):n})}function B(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var fr=v(x());function be(o,t){return(e,r,n,a)=>{let s=fr.tensor4d(o(e*r*n*n),[n,n,e,r]),i=fr.tensor1d(o(r));return t.push({paramPath:`${a}/filters`},{paramPath:`${a}/bias`}),{filters:s,bias:i}}}var lr=v(x());function dr(o,t){return(e,r,n)=>{let a=lr.tensor2d(o(e*r),[e,r]),s=lr.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:a,bias:s}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function ge(o,t){return(e,r,n)=>{let a=Re.tensor4d(o(9*e),[3,3,e,1]),s=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(a,s,i)}}function xe(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let a=o[e];if(!Ot(a,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${a}`);return t.push({originalPath:e,paramPath:n||e}),a}}function R(o){let t=o;function e(n){let a=t.slice(0,n);return t=t.slice(n),a}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function hr(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c,m=!1){let p=m?e(s,i,3,`${c}/conv0`):r(s,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function a(s,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(s,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:a}}function Eo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock4Params:n}=hr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i,dense3:c}}}function br(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function gr(o,t){let e=Y(o,t),r=br(e),n=xe(e);function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:s}}function Mo(o){let t=[],{extractDenseBlock4Params:e}=gr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return B(o,t),{params:r,paramMappings:t}}var ve=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ye.tidy(()=>{let r=ye.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=ke(a,e.dense0,!0);return s=ke(s,e.dense1),s=ke(s,e.dense2),s=ke(s,e.dense3),s=ye.avgPool(s,[7,7],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Mo(t)}extractParams(t){return Eo(t)}};var No=v(x());var _e=v(x());function $e(o,t){return _e.tidy(()=>_e.add(_e.matMul(o,t.weights),t.bias))}function Co(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:a}=R(o),i=dr(n,r)(t,e,"fc");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:r,params:{fc:i}}}function Io(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:r("fc")};return B(o,t),{params:n,paramMappings:t}}function xr(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var Te=class extends A{constructor(e,r){super(e);this._faceFeatureExtractor=r}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return No.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e;return $e(n.as2D(n.shape[0],-1),r.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Co(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=xr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Io(n)}extractParams(e){let r=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),a=n*r+n,s=e.slice(0,e.length-a),i=e.slice(e.length-a);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var ao=["neutral","happy","sad","angry","fearful","disgusted","surprised"],yt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);ao.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return ao.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends Te{constructor(t=new ve){super("FaceExpressionNet",t)}forwardInput(t){return Pe.tidy(()=>Pe.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await C(t))}async predictExpressions(t){let e=await C(t),r=await this.forwardInput(e),n=await Promise.all(Pe.unstack(r).map(async s=>{let i=s.dataSync();return s.dispose(),i}));r.dispose();let a=n.map(s=>new yt(s));return e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function so(o){return o.expressions instanceof yt}function vr(o,t){return{...o,...{expressions:t}}}function Rn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(a=>{let s=a instanceof yt?a:so(a)?a.expressions:void 0;if(!s)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=s.asSortedArray().filter(u=>u.probability>e),m=pt(a)?a.detection.box.bottomLeft:r||new b(0,0);new gt(c.map(u=>`${u.expression} (${Ht(u.probability)})`),m).draw(o)})}function Zt(o){return pt(o)&&o.landmarks instanceof z&&o.unshiftedLandmarks instanceof z&&o.alignedRect instanceof M}function $n(o){let t=(i,c,m,p)=>Math.atan2(p-c,m-i)%Math.PI,e=i=>i*180/Math.PI,r={roll:void 0,pitch:void 0,yaw:void 0};if(!o||!o._positions||o._positions.length!==68)return r;let n=o._positions;r.roll=-t(n[36]._x,n[36]._y,n[45]._x,n[45]._y),r.pitch=t(0,Math.abs(n[0]._x-n[30]._x)/n[30]._x,Math.PI,Math.abs(n[16]._x-n[30]._x)/n[30]._x);let a=n.reduce((i,c)=>ii>c._y?i:c._y,-1/0);return r.yaw=Math.PI*(o._imgDims._height/(s-a)/1.4-1),r}function we(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:a}=o.detection,s=new M(o.detection.score,n.rescale(a.reverse()),a),i=$n(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:s,angle:i}}}var yr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:a,pointSize:s,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=s||2,this.lineColor=a||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},_r=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new yr(e)}draw(t){let e=O(t),{drawLines:r,drawPoints:n,lineWidth:a,lineColor:s,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Gt&&(e.strokeStyle=s,e.lineWidth=a,dt(e,this.faceLandmarks.getJawOutline()),dt(e,this.faceLandmarks.getLeftEyeBrow()),dt(e,this.faceLandmarks.getRightEyeBrow()),dt(e,this.faceLandmarks.getNose()),dt(e,this.faceLandmarks.getLeftEye(),!0),dt(e,this.faceLandmarks.getRightEye(),!0),dt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function On(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof z?r:Zt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new _r(n).draw(o)})}var So="1.7.3";var ft=v(x());var S=v(x());function Vn(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c){let m=r(s,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(s,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function a(s,i){let c=r(s,s,`${i}/separable_conv0`),m=r(s,s,`${i}/separable_conv1`),p=r(s,s,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:a}}function Lo(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=R(o),{extractConvParams:a,extractSeparableConvParams:s,extractReductionBlockParams:i,extractMainBlockParams:c}=Vn(r,e),m=a(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};it(t,0,1).forEach(h=>{l[`main_block_${h}`]=c(128,`middle_flow/main_block_${h}`)});let g=i(128,256,"exit_flow/reduction_block"),T=s(256,512,"exit_flow/separable_conv"),D={reduction_block:g,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:D}}}function Yn(o,t){let e=Y(o,t),r=br(e),n=xe(e);function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}}function Ao(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}=Yn(o,e),i=r("entry_flow/conv_in"),c=a("entry_flow/reduction_block_0"),m=a("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};it(t,0,1).forEach(T=>{u[`main_block_${T}`]=s(`middle_flow/main_block_${T}`)});let f=a("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),g={reduction_block:f,separable_conv:l};return B(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:g},paramMappings:e}}function Wo(o,t,e){return S.add(S.conv2d(o,t.filters,e,"same"),t.bias)}function co(o,t,e=!0){let r=e?S.relu(o):o;return r=H(r,t.separable_conv0,[1,1]),r=H(S.relu(r),t.separable_conv1,[1,1]),r=S.maxPool(r,[3,3],[2,2],"same"),r=S.add(r,Wo(o,t.expansion_conv,[2,2])),r}function Gn(o,t){let e=H(S.relu(o),t.separable_conv0,[1,1]);return e=H(S.relu(e),t.separable_conv1,[1,1]),e=H(S.relu(e),t.separable_conv2,[1,1]),e=S.add(e,o),e}var Tr=class extends A{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){let{params:r}=this;if(!r)throw new Error("TinyXception - load model before inference");return S.tidy(()=>{let n=S.cast(e.toBatchTensor(112,!0),"float32"),s=rt(n,[122.782,117.001,104.298]).div(255),i=S.relu(Wo(s,r.entry_flow.conv_in,[2,2]));return i=co(i,r.entry_flow.reduction_block_0,!1),i=co(i,r.entry_flow.reduction_block_1),it(this._numMainBlocks,0,1).forEach(c=>{i=Gn(i,r.middle_flow[`main_block_${c}`])}),i=co(i,r.exit_flow.reduction_block),i=S.relu(H(i,r.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await C(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(e){return Ao(e,this._numMainBlocks)}extractParams(e){return Lo(e,this._numMainBlocks)}};function ko(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),n=dr(e,t),a=n(512,1,"fc/age"),s=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:a,gender:s}}}}function Bo(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return B(o,t),{params:n,paramMappings:t}}var Pr=(e=>(e.FEMALE="female",e.MALE="male",e))(Pr||{});var He=class extends A{constructor(e=new Tr(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e,a=ft.avgPool(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),s=$e(a,r.fc.age).as1D(),i=$e(a,r.fc.gender);return{age:s,gender:i}})}forwardInput(e){return ft.tidy(()=>{let{age:r,gender:n}=this.runNet(e);return{age:r,gender:ft.softmax(n)}})}async forward(e){return this.forwardInput(await C(e))}async predictAgeAndGender(e){let r=await C(e),n=await this.forwardInput(r),a=ft.unstack(n.age),s=ft.unstack(n.gender),i=a.map((m,p)=>({ageTensor:m,genderTensor:s[p]})),c=await Promise.all(i.map(async({ageTensor:m,genderTensor:p})=>{let u=m.dataSync()[0],f=p.dataSync()[0],l=f>.5,g=l?"male":"female",T=l?f:1-f;return m.dispose(),p.dispose(),{age:u,gender:g,genderProbability:T}}));return n.age.dispose(),n.gender.dispose(),r.isBatchInput?c:c[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return ko(e)}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=xr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Bo(n)}extractParams(e){let n=e.slice(0,e.length-1539),a=e.slice(e.length-1539);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(a)}};var G=v(x());var Fe=class extends Te{postProcess(t,e,r){let n=r.map(({width:s,height:i})=>{let c=e/Math.max(i,s);return{width:s*c,height:i*c}}),a=n.length;return G.tidy(()=>{let s=(u,f)=>G.stack([G.fill([68],u,"float32"),G.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:g}=n[u];return f(l,g)?Math.abs(l-g)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>ls(c(f),m(f))))).div(G.stack(Array.from(Array(a),(u,f)=>s(n[f].width,n[f].height))))})}forwardInput(t){return G.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await C(t))}async detectLandmarks(t){let e=await C(t),r=G.tidy(()=>G.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(a,s)=>{let i=Array.from(a.dataSync()),c=i.filter((p,u)=>or(u)),m=i.filter((p,u)=>!or(u));return new Gt(Array(68).fill(0).map((p,u)=>new b(c[u],m[u])),{height:e.getInputHeight(s),width:e.getInputWidth(s)})}));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Kt=class extends Fe{constructor(t=new ve){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var De=v(x());function Ro(o){let t=[],{extractDenseBlock3Params:e}=gr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return B(o,t),{params:r,paramMappings:t}}function $o(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock3Params:n}=hr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i}}}var wr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return De.tidy(()=>{let r=De.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=ur(a,e.dense0,!0);return s=ur(s,e.dense1),s=ur(s,e.dense2),s=De.avgPool(s,[14,14],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Ro(t)}extractParams(t){return $o(t)}};var ze=class extends Fe{constructor(t=new wr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var mo=class extends Kt{};var nt=v(x());var Ee=v(x());var Fr=v(x());function Oo(o,t){return Fr.add(Fr.mul(o,t.weights),t.biases)}function po(o,t,e,r,n="same"){let{filters:a,bias:s}=t.conv,i=Ee.conv2d(o,a,e,n);return i=Ee.add(i,s),i=Oo(i,t.scale),r?Ee.relu(i):i}function Ho(o,t){return po(o,t,[1,1],!0)}function uo(o,t){return po(o,t,[1,1],!1)}function Dr(o,t){return po(o,t,[2,2],!0,"valid")}var j=v(x());function jn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if(Rr(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return j.tidy(()=>j.transpose(j.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=j.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=j.tensor1d(o(i)),p=j.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function a(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function s(i,c,m,p,u=!1){let f=a((u?.5:1)*i,c,m,`${p}/conv1`),l=a(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:a,extractResidualLayerParams:s}}function zo(o){let{extractWeights:t,getRemainingWeights:e}=R(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=jn(t,r),s=n(4704,32,7,"conv32_down"),i=a(9216,32,3,"conv32_1"),c=a(9216,32,3,"conv32_2"),m=a(9216,32,3,"conv32_3"),p=a(36864,64,3,"conv64_down",!0),u=a(36864,64,3,"conv64_1"),f=a(36864,64,3,"conv64_2"),l=a(36864,64,3,"conv64_3"),g=a(147456,128,3,"conv128_down",!0),T=a(147456,128,3,"conv128_1"),D=a(147456,128,3,"conv128_2"),h=a(589824,256,3,"conv256_down",!0),_=a(589824,256,3,"conv256_1"),y=a(589824,256,3,"conv256_2"),E=a(589824,256,3,"conv256_down_out"),W=j.tidy(()=>j.transpose(j.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:s,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:g,conv128_1:T,conv128_2:D,conv256_down:h,conv256_1:_,conv256_2:y,conv256_down_out:E,fc:W},paramMappings:r}}function Un(o,t){let e=Y(o,t);function r(s){let i=e(`${s}/scale/weights`,1),c=e(`${s}/scale/biases`,1);return{weights:i,biases:c}}function n(s){let i=e(`${s}/conv/filters`,4),c=e(`${s}/conv/bias`,1),m=r(s);return{conv:{filters:i,bias:c},scale:m}}function a(s){return{conv1:n(`${s}/conv1`),conv2:n(`${s}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:a}}function Vo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Un(o,t),n=e("conv32_down"),a=r("conv32_1"),s=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),g=r("conv128_2"),T=r("conv256_down"),D=r("conv256_1"),h=r("conv256_2"),_=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Br(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let E={conv32_down:n,conv32_1:a,conv32_2:s,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:g,conv256_down:T,conv256_1:D,conv256_2:h,conv256_down_out:_,fc:y};return B(o,t),{params:E,paramMappings:t}}var $=v(x());function ot(o,t){let e=Ho(o,t.conv1);return e=uo(e,t.conv2),e=$.add(e,o),e=$.relu(e),e}function Ve(o,t){let e=Dr(o,t.conv1);e=uo(e,t.conv2);let r=$.avgPool(o,2,2,"valid"),n=$.zeros(r.shape),a=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=$.zeros(i);e=$.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=$.zeros(m);e=$.concat([e,p],2)}return r=a?$.concat([r,n],3):r,e=$.add(r,e),e=$.relu(e),e}var Qt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=Dr(a,e.conv32_down);s=nt.maxPool(s,3,2,"valid"),s=ot(s,e.conv32_1),s=ot(s,e.conv32_2),s=ot(s,e.conv32_3),s=Ve(s,e.conv64_down),s=ot(s,e.conv64_1),s=ot(s,e.conv64_2),s=ot(s,e.conv64_3),s=Ve(s,e.conv128_down),s=ot(s,e.conv128_1),s=ot(s,e.conv128_2),s=Ve(s,e.conv256_down),s=ot(s,e.conv256_1),s=ot(s,e.conv256_2),s=Ve(s,e.conv256_down_out);let i=s.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await C(t))}async computeFaceDescriptor(t){var a;if((a=t==null?void 0:t.shape)!=null&&a.some(s=>s<=0))return new Float32Array(128);let e=await C(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(s=>s.data()));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return Vo(t)}extractParams(t){return zo(t)}};function Xn(o){let t=new Qt;return t.extractWeights(o),t}function Er(o,t){return{...o,...{descriptor:t}}}function Jn(o){return typeof o.age=="number"}function Mr(o,t){return{...o,...{age:t}}}function qn(o){return(o.gender==="male"||o.gender==="female")&&me(o.genderProbability)}function Cr(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Lt=v(x());var at=v(x());function Zn(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),g=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:g}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),g=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:g}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function a(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function s(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=a(32,64,"mobilenetv1/conv_1"),p=a(64,128,"mobilenetv1/conv_2"),u=a(128,128,"mobilenetv1/conv_3"),f=a(128,256,"mobilenetv1/conv_4"),l=a(256,256,"mobilenetv1/conv_5"),g=a(256,512,"mobilenetv1/conv_6"),T=a(512,512,"mobilenetv1/conv_7"),D=a(512,512,"mobilenetv1/conv_8"),h=a(512,512,"mobilenetv1/conv_9"),_=a(512,512,"mobilenetv1/conv_10"),y=a(512,512,"mobilenetv1/conv_11"),E=a(512,1024,"mobilenetv1/conv_12"),W=a(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,conv_8:D,conv_9:h,conv_10:_,conv_11:y,conv_12:E,conv_13:W}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),g=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),D=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),h=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),_=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),E=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),W=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),lt=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Dt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),Et=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Mt=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,box_predictor_0:{box_encoding_predictor:D,class_predictor:h},box_predictor_1:{box_encoding_predictor:_,class_predictor:y},box_predictor_2:{box_encoding_predictor:E,class_predictor:W},box_predictor_3:{box_encoding_predictor:tt,class_predictor:lt},box_predictor_4:{box_encoding_predictor:q,class_predictor:Dt},box_predictor_5:{box_encoding_predictor:Et,class_predictor:Mt}}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:i}}function Yo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=Zn(e,t),s=n(),i=a(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:s,prediction_layer:i,output_layer:m},paramMappings:t}}function Kn(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,g=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),D=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),h=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),_=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:g,batch_norm_scale:T,batch_norm_offset:D,batch_norm_mean:h,batch_norm_variance:_},pointwise_conv:r("MobilenetV1",m,l)}}function a(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function s(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=s(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=s(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:c}}function Go(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=Kn(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!ht(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let a={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return B(o,t),{params:a,paramMappings:t}}var _t=v(x());var Nt=v(x());function Z(o,t,e){return Nt.tidy(()=>{let r=Nt.conv2d(o,t.filters,e,"same");return r=Nt.add(r,t.batch_norm_offset),Nt.clipByValue(r,0,6)})}var Qn=.0010000000474974513;function ta(o,t,e){return _t.tidy(()=>{let r=_t.depthwiseConv2d(o,t.filters,e,"same");return r=_t.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Qn),_t.clipByValue(r,0,6)})}function ea(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function jo(o,t){return _t.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((a,s)=>{let i=s+1,c=ea(i);r=ta(r,a.depthwise_conv,c),r=Z(r,a.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ra(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),a=Math.min(r[t][1],r[t][3]),s=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(s-n)*(i-a),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let g=Math.max(n,c),T=Math.max(a,m),D=Math.min(s,p),h=Math.min(i,u),_=Math.max(D-g,0)*Math.max(h-T,0);return _/(f+l-_)}function Uo(o,t,e,r,n){let a=o.shape[0],s=Math.min(e,a),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=s)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ra(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function oa(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function na(o,t){let{sizes:e,centers:r}=oa(o),n=d.unstack(d.transpose(t,[1,0])),a=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),s=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(s,a),d.sub(c,i),d.add(s,a),d.add(c,i)]),[1,0])}function Xo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=na(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let a=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),s=d.slice(a,[0,0,0],[-1,-1,1]);s=d.reshape(s,[r,s.shape[1]]);let i=d.unstack(n),c=d.unstack(s);return{boxes:i,scores:c}})}var Ge=v(x());var Ye=v(x());function te(o,t){return Ye.tidy(()=>{let e=o.shape[0],r=Ye.reshape(qt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ye.reshape(qt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Jo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),a=Z(n,e.conv_2,[1,1]),s=Z(a,e.conv_3,[2,2]),i=Z(s,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=te(t,e.box_predictor_0),f=te(o,e.box_predictor_1),l=te(n,e.box_predictor_2),g=te(s,e.box_predictor_3),T=te(c,e.box_predictor_4),D=te(p,e.box_predictor_5),h=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,g.boxPredictionEncoding,T.boxPredictionEncoding,D.boxPredictionEncoding],1),_=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,g.classPrediction,T.classPrediction,D.classPrediction],1);return{boxPredictions:h,classPredictions:_}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var St=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Lt.tidy(()=>{let r=Lt.cast(t.toBatchTensor(512,!1),"float32"),n=Lt.sub(Lt.div(r,127.5),1),a=jo(n,e.mobilenetv1),{boxPredictions:s,classPredictions:i}=Jo(a.out,a.conv11,e.prediction_layer);return Xo(s,i,e.output_layer)})}async forward(t){return this.forwardInput(await C(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),a=await C(t),{boxes:s,scores:i}=this.forwardInput(a),c=s[0],m=i[0];for(let y=1;y{let[E,W]=[Math.max(0,h[y][0]),Math.min(1,h[y][2])].map(q=>q*D),[tt,lt]=[Math.max(0,h[y][1]),Math.min(1,h[y][3])].map(q=>q*T);return new M(p[y],new Yt(tt,E,lt-tt,W-E),{height:a.getInputHeight(0),width:a.getInputWidth(0)})});return c.dispose(),m.dispose(),_}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Go(t)}extractParams(t){return Yo(t)}};function qo(o){let t=new St;return t.extractWeights(o),t}function aa(o){return qo(o)}var fo=class extends St{};var Zo=.4,Ko=[new b(.738768,.874946),new b(2.42204,2.65704),new b(4.30971,7.04493),new b(10.246,4.59428),new b(12.6868,11.8741)],Qo=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],tn=[117.001,114.697,97.404],en="tiny_yolov2_model",rn="tiny_yolov2_separable_conv_model";var N=v(x());var Ir=o=>typeof o=="number";function lo(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Ir(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Ir(t.x)&&Ir(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Ir)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Me(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function Tt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Me(e)})}var At=v(x());function Pt(o,t){return At.tidy(()=>{let e=At.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=At.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=At.add(e,t.bias),Me(e)})}var ho=v(x());function sa(o,t){let e=be(o,t);function r(s,i){let c=ho.tensor1d(o(s)),m=ho.tensor1d(o(s));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(s,i,c){let m=e(s,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let a=ge(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}}function on(o,t,e,r){let{extractWeights:n,getRemainingWeights:a}=R(o),s=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=sa(n,s),p;if(t.withSeparableConvs){let[u,f,l,g,T,D,h,_,y]=r,E=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),W=m(f,l,"conv1"),tt=m(l,g,"conv2"),lt=m(g,T,"conv3"),q=m(T,D,"conv4"),Dt=m(D,h,"conv5"),Et=_?m(h,_,"conv6"):void 0,Mt=y?m(_,y,"conv7"):void 0,$t=i(y||_||h,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}else{let[u,f,l,g,T,D,h,_,y]=r,E=c(u,f,"conv0"),W=c(f,l,"conv1"),tt=c(l,g,"conv2"),lt=c(g,T,"conv3"),q=c(T,D,"conv4"),Dt=c(D,h,"conv5"),Et=c(h,_,"conv6"),Mt=c(_,y,"conv7"),$t=i(y,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:p,paramMappings:s}}function ia(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function a(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let s=xe(e);return{extractConvParams:n,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}}function nn(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}=ia(o,e),s;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;s={conv0:t.isFirstLayerConv2d?r("conv0"):a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:i>7?a("conv6"):void 0,conv7:i>8?a("conv7"):void 0,conv8:r("conv8")}}else s={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return B(o,e),{params:s,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var bo=class extends A{constructor(e){super("TinyYolov2");lo(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,r){let n=Tt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=Tt(n,r.conv6),n=Tt(n,r.conv7),qt(n,r.conv8,"valid",!1)}runMobilenet(e,r){let n=this.config.isFirstLayerConv2d?Me(qt(e,r.conv0,"valid",!1)):Pt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=r.conv6?Pt(n,r.conv6):n,n=r.conv7?Pt(n,r.conv7):n,qt(n,r.conv8,"valid",!1)}forwardInput(e,r){let{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return N.tidy(()=>{let a=N.cast(e.toBatchTensor(r,!1),"float32");return a=this.config.meanRgb?rt(a,this.config.meanRgb):a,a=a.div(255),this.config.withSeparableConvs?this.runMobilenet(a,n):this.runTinyYolov2(a,n)})}async forward(e,r){return this.forwardInput(await C(e),r)}async detect(e,r={}){let{inputSize:n,scoreThreshold:a}=new st(r),s=await C(e),i=await this.forwardInput(s,n),c=N.tidy(()=>N.unstack(i)[0].expandDims()),m={width:s.getInputWidth(0),height:s.getInputHeight(0)},p=await this.extractBoxes(c,s.getReshapedInputDimensions(0),a);i.dispose(),c.dispose();let u=p.map(h=>h.box),f=p.map(h=>h.score),l=p.map(h=>h.classScore),g=p.map(h=>this.config.classes[h.label]);return Vr(u.map(h=>h.rescale(n)),f,this.config.iouThreshold,!0).map(h=>new bt(f[h],l[h],g[h],u[h],m))}getDefaultModelName(){return""}extractParamsFromWeightMap(e){return nn(e,this.config)}extractParams(e){let r=this.config.filterSizes||bo.DEFAULT_FILTER_SIZES,n=r?r.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return on(e,this.config,this.boxEncodingSize,r)}async extractBoxes(e,r,n){let{width:a,height:s}=r,i=Math.max(a,s),c=i/a,m=i/s,p=e.shape[1],u=this.config.anchors.length,[f,l,g]=N.tidy(()=>{let _=e.reshape([p,p,u,this.boxEncodingSize]),y=_.slice([0,0,0,0],[p,p,u,4]),E=_.slice([0,0,0,4],[p,p,u,1]),W=this.withClassScores?N.softmax(_.slice([0,0,0,5],[p,p,u,this.config.classes.length]),3):N.scalar(0);return[y,E,W]}),T=[],D=await l.array(),h=await f.array();for(let _=0;_n){let tt=(y+Ne(h[_][y][E][0]))/p*c,lt=(_+Ne(h[_][y][E][1]))/p*m,q=Math.exp(h[_][y][E][2])*this.config.anchors[E].x/p*c,Dt=Math.exp(h[_][y][E][3])*this.config.anchors[E].y/p*m,Et=tt-q/2,Mt=lt-Dt/2,$t={row:_,col:y,anchor:E},{classScore:vo,label:yo}=this.withClassScores?await this.extractPredictedClass(g,$t):{classScore:1,label:0};T.push({box:new Vt(Et,Mt,Et+q,Mt+Dt),score:W,classScore:W*vo,label:yo,...$t})}}return f.dispose(),l.dispose(),g.dispose(),T}async extractPredictedClass(e,r){let{row:n,col:a,anchor:s}=r,i=await e.array();return Array(this.config.classes.length).fill(0).map((c,m)=>i[n][a][s][m]).map((c,m)=>({classScore:c,label:m})).reduce((c,m)=>c.classScore>m.classScore?c:m)}},ee=bo;ee.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var re=class extends ee{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:Zo,classes:["face"],...t?{anchors:Qo,meanRgb:tn}:{anchors:Ko,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?rn:en}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function ca(o,t=!0){let e=new re(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var go=v(x());async function oe(o,t,e,r,n=({alignedRect:a})=>a){let a=o.map(c=>Zt(c)?n(c):c.detection),s=r||(t instanceof go.Tensor?await de(t,a):await le(t,a)),i=await e(s);return s.forEach(c=>c instanceof go.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return oe([o],t,async a=>e(a[0]),r,n)}var an=.4,sn=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],cn=[117.001,114.697,97.404];var ne=class extends ee{constructor(){let t={withSeparableConvs:!0,iouThreshold:an,classes:["face"],anchors:sn,meanRgb:cn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var w={ssdMobilenetv1:new St,tinyFaceDetector:new ne,tinyYolov2:new re,faceLandmark68Net:new Kt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Qt,faceExpressionNet:new Oe,ageGenderNet:new He},mn=(o,t)=>w.ssdMobilenetv1.locateFaces(o,t),ma=(o,t)=>w.tinyFaceDetector.locateFaces(o,t),pa=(o,t)=>w.tinyYolov2.locateFaces(o,t),pn=o=>w.faceLandmark68Net.detectLandmarks(o),ua=o=>w.faceLandmark68TinyNet.detectLandmarks(o),fa=o=>w.faceRecognitionNet.computeFaceDescriptor(o),la=o=>w.faceExpressionNet.predictExpressions(o),da=o=>w.ageGenderNet.predictAgeAndGender(o),un=o=>w.ssdMobilenetv1.load(o),ha=o=>w.tinyFaceDetector.load(o),ba=o=>w.tinyYolov2.load(o),ga=o=>w.faceLandmark68Net.load(o),xa=o=>w.faceLandmark68TinyNet.load(o),va=o=>w.faceRecognitionNet.load(o),ya=o=>w.faceExpressionNet.load(o),_a=o=>w.ageGenderNet.load(o),Ta=un,Pa=mn,wa=pn;var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Nr{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>vr(r,e[n]))}withAgeAndGender(){return new ie(this,this.input)}},se=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceExpressionNet.predictExpressions(r),this.extractedFaces);return vr(t,e)}withAgeAndGender(){return new ce(this,this.input)}},Wt=class extends ae{withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},kt=class extends se{withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Sr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ie=class extends Sr{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:a,gender:s,genderProbability:i}=e[n];return Mr(Cr(r,s,i),a)})}withFaceExpressions(){return new ae(this,this.input)}},ce=class extends Sr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,a=>w.ageGenderNet.predictAgeAndGender(a),this.extractedFaces);return Mr(Cr(t,r,n),e)}withFaceExpressions(){return new se(this,this.input)}},Bt=class extends ie{withFaceExpressions(){return new Wt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Rt=class extends ce{withFaceExpressions(){return new kt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},wt=class extends Ue{async run(){let t=await this.parentTask;return(await oe(t,this.input,r=>Promise.all(r.map(n=>w.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Er(t[n],r))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}},Ft=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Er(t,e)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?w.faceLandmark68TinyNet:w.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(s=>s.detection),r=this.input instanceof Xe.Tensor?await de(this.input,e):await le(this.input,e),n=await Promise.all(r.map(s=>this.landmarkNet.detectLandmarks(s)));return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),t.filter((s,i)=>n[i]).map((s,i)=>we(s,n[i]))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await de(this.input,[e]):await le(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),we(t,n)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=w.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=w.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=w.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>jt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ie(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?jt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new se(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new ce(this.runAndExtendWithFaceDetection(),this.input)}};function Fa(o,t=new X){return new Qe(o,t)}function Lr(o,t=new X){return new Ie(o,t)}async function fn(o,t){return Lr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Da(o,t={}){return Lr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Ea=fn;function xo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,a)=>n-r[a]).reduce((n,a)=>n+a**2,0))}var tr=class{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,a=()=>`person ${n++}`;this._labeledDescriptors=r.map(s=>{if(s instanceof mt)return s;if(s instanceof Float32Array)return new mt(a(),[s]);if(s.descriptor&&s.descriptor instanceof Float32Array)return new mt(a(),[s.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>xo(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new pe(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>mt.fromJSON(r));return new tr(e,t.distanceThreshold)}};function Ma(o){let t=new ne;return t.extractWeights(o),t}function ln(o,t){let{width:e,height:r}=new k(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>ln(n,{width:e,height:r}));if(Zt(o)){let n=o.detection.forSize(e,r),a=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return we(jt(o,n),a)}return pt(o)?jt(o,o.detection.forSize(e,r)):o instanceof z||o instanceof M?o.forSize(e,r):o}var Ia=So;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); +"use strict";var dn=Object.create;var er=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var bn=Object.getOwnPropertyNames;var gn=Object.getPrototypeOf,xn=Object.prototype.hasOwnProperty;var vn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Ar=(o,t)=>{for(var e in t)er(o,e,{get:t[e],enumerable:!0})},_o=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of bn(t))!xn.call(o,n)&&n!==e&&er(o,n,{get:()=>t[n],enumerable:!(r=hn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?dn(gn(o)):{},_o(t||!o||!o.__esModule?er(e,"default",{value:o,enumerable:!0}):e,o)),yn=o=>_o(er({},"__esModule",{value:!0}),o);var x=vn((ka,rr)=>{"use strict";var To=Object.defineProperty,_n=Object.getOwnPropertyDescriptor,Tn=Object.getOwnPropertyNames,Pn=Object.prototype.hasOwnProperty,Wr=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Tn(t))!Pn.call(o,n)&&n!==e&&To(o,n,{get:()=>t[n],enumerable:!(r=_n(t,n))||r.enumerable});return o},Po=(o,t,e)=>(Wr(o,t,"default"),e&&Wr(e,t,"default")),wn=o=>Wr(To({},"__esModule",{value:!0}),o),kr={};rr.exports=wn(kr);Po(kr,require("@tensorflow/tfjs"),rr.exports);Po(kr,require("@tensorflow/tfjs-backend-wasm"),rr.exports)});var Na={};Ar(Na,{AgeGenderNet:()=>He,BoundingBox:()=>Vt,Box:()=>F,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>wt,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Ft,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>k,FACE_EXPRESSION_LABELS:()=>ao,FaceDetection:()=>M,FaceDetectionNet:()=>fo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>yt,FaceLandmark68Net:()=>Kt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>mo,FaceLandmarks:()=>z,FaceLandmarks5:()=>Gr,FaceLandmarks68:()=>Gt,FaceMatch:()=>pe,FaceMatcher:()=>tr,FaceRecognitionNet:()=>Qt,Gender:()=>Pr,LabeledBox:()=>ue,LabeledFaceDescriptors:()=>mt,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>bt,Point:()=>b,PredictedBox:()=>jr,Rect:()=>Yt,SsdMobilenetv1:()=>St,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>ne,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>re,TinyYolov2Options:()=>st,allFaces:()=>Ea,allFacesSsdMobilenetv1:()=>fn,allFacesTinyYolov2:()=>Da,awaitMediaLoaded:()=>Qr,bufferToImage:()=>to,computeFaceDescriptor:()=>fa,createCanvas:()=>Jt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>aa,createFaceRecognitionNet:()=>Xn,createSsdMobilenetv1:()=>qo,createTinyFaceDetector:()=>Ma,createTinyYolov2:()=>ca,detectAllFaces:()=>Lr,detectFaceLandmarks:()=>pn,detectFaceLandmarksTiny:()=>ua,detectLandmarks:()=>wa,detectSingleFace:()=>Fa,draw:()=>io,env:()=>P,euclideanDistance:()=>xo,extendWithAge:()=>Mr,extendWithFaceDescriptor:()=>Er,extendWithFaceDetection:()=>jt,extendWithFaceExpressions:()=>vr,extendWithFaceLandmarks:()=>we,extendWithGender:()=>Cr,extractFaceTensors:()=>de,extractFaces:()=>le,fetchImage:()=>An,fetchJson:()=>oo,fetchNetWeights:()=>Wn,fetchOrThrow:()=>xt,fetchVideo:()=>kn,getContext2dOrThrow:()=>O,getMediaDimensions:()=>Xt,imageTensorToCanvas:()=>eo,imageToSquare:()=>ro,inverseSigmoid:()=>En,iou:()=>Hr,isMediaElement:()=>cr,isMediaLoaded:()=>Ae,isWithAge:()=>Jn,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>so,isWithFaceLandmarks:()=>Zt,isWithGender:()=>qn,loadAgeGenderModel:()=>_a,loadFaceDetectionModel:()=>Ta,loadFaceExpressionModel:()=>ya,loadFaceLandmarkModel:()=>ga,loadFaceLandmarkTinyModel:()=>xa,loadFaceRecognitionModel:()=>va,loadSsdMobilenetv1Model:()=>un,loadTinyFaceDetectorModel:()=>ha,loadTinyYolov2Model:()=>ba,loadWeightMap:()=>no,locateFaces:()=>Pa,matchDimensions:()=>Bn,minBbox:()=>zr,nets:()=>w,nonMaxSuppression:()=>Vr,normalize:()=>rt,padToSquare:()=>Yr,predictAgeAndGender:()=>da,recognizeFaceExpressions:()=>la,resizeResults:()=>ln,resolveInput:()=>Ut,shuffleArray:()=>Dn,sigmoid:()=>Ne,ssdMobilenetv1:()=>mn,tf:()=>Ca,tinyFaceDetector:()=>ma,tinyYolov2:()=>pa,toNetInput:()=>C,utils:()=>Or,validateConfig:()=>lo,version:()=>Ia});module.exports=yn(Na);var Ca=v(x());var io={};Ar(io,{AnchorPosition:()=>Kr,DrawBox:()=>Le,DrawBoxOptions:()=>sr,DrawFaceLandmarks:()=>_r,DrawFaceLandmarksOptions:()=>yr,DrawTextField:()=>gt,DrawTextFieldOptions:()=>fe,drawContour:()=>dt,drawDetections:()=>Ln,drawFaceExpressions:()=>Rn,drawFaceLandmarks:()=>On});function dt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},a)=>{let s=t[a];o.moveTo(s.x,s.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var Or={};Ar(Or,{computeReshapedDimensions:()=>$r,getCenterPoint:()=>zt,isDimensions:()=>nr,isEven:()=>or,isFloat:()=>Rr,isTensor:()=>Ot,isTensor1D:()=>Fn,isTensor2D:()=>Br,isTensor3D:()=>ht,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>me,range:()=>it,round:()=>Ht});var wo=v(x());var k=class{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new k(1/this.width,1/this.height)}};function Ot(o,t){return o instanceof wo.Tensor&&o.shape.length===t}function Fn(o){return Ot(o,1)}function Br(o){return Ot(o,2)}function ht(o){return Ot(o,3)}function U(o){return Ot(o,4)}function Rr(o){return o%1!==0}function or(o){return o%2===0}function Ht(o,t=2){let e=10**t;return Math.floor(o*e)/e}function nr(o){return o&&o.width&&o.height}function $r({width:o,height:t},e){let r=e/Math.max(t,o);return new k(Math.round(o*r),Math.round(t*r))}function zt(o){return o.reduce((t,e)=>t.add(e),new b(0,0)).div(new b(o.length,o.length))}function it(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function me(o){return et(o)&&o>=0&&o<=1}var b=class{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new b(this.x+t.x,this.y+t.y)}sub(t){return new b(this.x-t.x,this.y-t.y)}mul(t){return new b(this.x*t.x,this.y*t.y)}div(t){return new b(this.x/t.x,this.y/t.y)}abs(){return new b(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new b(Math.floor(this.x),Math.floor(this.y))}};var F=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!F.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),a=[r.x,r.y,r.width,r.height].every(et);if(!a&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[s,i,c,m]=a?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];F.assertIsValidBox({x:s,y:i,width:c,height:m},"Box.constructor",e),this._x=s,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new b(this.left,this.top)}get topRight(){return new b(this.right,this.top)}get bottomLeft(){return new b(this.left,this.bottom)}get bottomRight(){return new b(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.round(a));return new F({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.floor(a));return new F({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,a=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:s,edy:c,dx:a,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new F({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Vt=class extends F{constructor(t,e,r,n,a=!1){super({left:t,top:e,right:r,bottom:n},a)}};var bt=class{constructor(t,e,r,n,a){this._imageDims=new k(a.width,a.height),this._score=t,this._classScore=e,this._className=r,this._box=new F(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new F(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new bt(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class extends bt{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:a}=super.forSize(t,e);return new M(r,n,a)}};function Hr(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),a=r*n;return e?a/(o.area+t.area-a):a/Math.min(o.area,t.area)}function zr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:s,boxIndex:i})).sort((s,i)=>s.score-i.score).map(s=>s.boxIndex),a=[];for(;n.length>0;){let s=n.pop();a.push(s);let i=n,c=[];for(let m=0;mc[p]<=e)}return a}var ct=v(x());function rt(o,t){return ct.tidy(()=>{let[e,r,n]=t,a=ct.fill([...o.shape.slice(0,3),1],e,"float32"),s=ct.fill([...o.shape.slice(0,3),1],r,"float32"),i=ct.fill([...o.shape.slice(0,3),1],n,"float32"),c=ct.concat([a,s,i],3);return ct.sub(o,c)})}var Ct=v(x());function Yr(o,t=!1){return Ct.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),a=Math.round(n*(t?.5:1)),s=e>r?2:1,i=f=>{let l=o.shape.slice();return l[s]=f,Ct.fill(l,0,"float32")},c=i(a),m=n-c.shape[s],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Ct.cast(f,"float32"));return Ct.concat(u,s)})}function Dn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function En(o){return Math.log(o/(1-o))}var Yt=class extends F{constructor(t,e,r,n,a=!1){super({x:t,y:e,width:r,height:n},a)}};var Mn=.5,Cn=.43,In=.45,z=class{constructor(t,e,r=new b(0,0)){let{width:n,height:a}=e;this._imgDims=new k(n,a),this._shift=r,this._positions=t.map(s=>s.mul(new b(n,a)).add(r))}get shift(){return new b(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new b(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new b(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let a=t instanceof M?t.box.floor():new F(t);return this.shiftBy(a.x,a.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,a=u=>n.sub(u).magnitude(),s=(a(e)+a(r))/2,i=Math.floor(s/In),c=zt(t),m=Math.floor(Math.max(0,c.x-Mn*i)),p=Math.floor(Math.max(0,c.y-Cn*i));return new Yt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=zr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var Gr=class extends z{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],zt([t[3],t[4]])]}};var Gt=class extends z{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(zt)}};var pe=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Ht(this.distance)})`:""}`}};var ue=class extends F{constructor(e,r){super(e);this._label=r}static assertIsValidLabeledBox(e,r){if(F.assertIsValidBox(e,r),!et(e.label))throw new Error(`${r} - expected property label (${e.label}) to be a number`)}get label(){return this._label}};var mt=class{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new mt(t.label,e)}};var jr=class extends ue{constructor(e,r,n,a){super(e,r);this._score=n,this._classScore=a}static assertIsValidPredictedBox(e,r){if(ue.assertIsValidLabeledBox(e,r),!me(e.score)||!me(e.classScore))throw new Error(`${r} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function jt(o,t){return{...o,...{detection:t}}}function Ur(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Se(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function ar(o){let t="";if(!o&&Se())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,a)=>{o.readFile(r,(s,i)=>s?a(s):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Xr(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},a=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},s=global.fetch,i=ar();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:a,fetch:s,...i}}function Jr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var L;function Nn(){if(!L)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return L}function qr(o){L=o}function Zr(){return Jr()?qr(Ur()):Se()?qr(Xr()):null}function Sn(o){if(L||Zr(),!L)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=L.Canvas,Image:e=L.Image}=o;L.Canvas=t,L.Image=e,L.createCanvasElement=o.createCanvasElement||(()=>new t),L.createImageElement=o.createImageElement||(()=>new e),L.ImageData=o.ImageData||L.ImageData,L.Video=o.Video||L.Video,L.fetch=o.fetch||L.fetch,L.readFile=o.readFile||L.readFile}var P={getEnv:Nn,setEnv:qr,initialize:Zr,createBrowserEnv:Ur,createFileSystem:ar,createNodejsEnv:Xr,monkeyPatch:Sn,isBrowser:Jr,isNodejs:Se};Zr();function Ut(o){return!P.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function O(o){let{Canvas:t,CanvasRenderingContext2D:e}=P.getEnv();if(o instanceof e)return o;let r=Ut(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d");if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Kr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Kr||{}),fe=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:a,fontStyle:s,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=a||14,this.fontStyle=s||"Georgia",this.padding=i||4}},gt=class{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof gt?t.text:t,this.anchor=e,this.options=new fe(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let g=c+u.x,T=c+u.y+(l+1)*s;r.fillText(f,g,T)})}};var sr=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:a}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let s={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new fe({...s,...a})}},Le=class{constructor(t,e={}){this.box=new F(t),this.options=new sr(e)}draw(t){let e=O(t),{boxColor:r,lineWidth:n}=this.options,{x:a,y:s,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(a,s,i,c);let{label:m}=this.options;m&&new gt([m],{x:a-n/2,y:s},this.options.drawLabelOptions).draw(t)}};function Ln(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,a=r instanceof M?r.box:pt(r)?r.detection.box:new F(r),s=n?`${Ht(n)}`:void 0;new Le(a,{label:s}).draw(o)})}var Pe=v(x());function Ae(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function Qr(o){return new Promise((t,e)=>{(o instanceof P.getEnv().Canvas||Ae(o))&&t(null);function r(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),e(a))}function n(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),t(a))}o.addEventListener("load",n),o.addEventListener("error",r)})}function to(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=P.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Xt(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t?new k(o.naturalWidth,o.naturalHeight):o instanceof e?new k(o.videoWidth,o.videoHeight):new k(o.width,o.height)}function Jt({width:o,height:t}){let{createCanvasElement:e}=P.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=P.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Xt(o),a=Jt({width:r,height:n});return o instanceof e?O(a).putImageData(o,0,0):O(a).drawImage(o,0,0,r,n),a}var ir=v(x());async function eo(o,t){let e=t||P.getEnv().createCanvasElement(),[r,n,a]=o.shape.slice(U(o)?1:0),s=ir.tidy(()=>o.as3D(r,n,a).toInt());return await ir.browser.toPixels(s,e),s.dispose(),e}function cr(o){let{Image:t,Canvas:e,Video:r}=P.getEnv();return o instanceof t||o instanceof e||o instanceof r}var V=v(x());function ro(o,t,e=!1){let{Image:r,Canvas:n}=P.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Jt({width:1,height:1});let a=Xt(o),s=t/Math.max(a.height,a.width),i=s*a.width,c=s*a.height,m=Jt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&O(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(ht(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let s=r.shape[0];if(s!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${s} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let a=r instanceof P.getEnv().Canvas?r:We(r);this._canvases[n]=a,this._inputDimensions[n]=[a.height,a.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return it(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return $r({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,V.tidy(()=>{let r=it(this.batchSize,0,1).map(a=>{let s=this.getInput(a);if(s instanceof V.Tensor){let i=U(s)?s:V.expandDims(s);return i=Yr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=V.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(s instanceof P.getEnv().Canvas)return V.browser.fromPixels(ro(s,t,e));throw new Error(`toBatchTensor - at batchIdx ${a}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${s}`)});return V.stack(r.map(a=>V.cast(a,"float32"))).as4D(this.batchSize,t,t,3)})}};async function C(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Ut);return r.forEach((n,a)=>{if(!cr(n)&&!ht(n)&&!U(n))throw typeof t[a]=="string"?new Error(`toNetInput -${e(a)} string passed, but could not resolve HTMLElement for element id ${t[a]}`):new Error(`toNetInput -${e(a)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let s=n.shape[0];if(s!==1)throw new Error(`toNetInput -${e(a)} tf.Tensor4D with batchSize ${s} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>cr(n)&&Qr(n))),new ut(r,Array.isArray(o))}async function le(o,t){let{Canvas:e}=P.getEnv(),r=o;if(!(o instanceof e)){let s=await C(o);if(s.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=s.getInput(0);r=i instanceof e?i:await eo(i)}let n=O(r);return t.map(s=>s instanceof M?s.forSize(r.width,r.height).box.floor():s).map(s=>s.clipAtImageBorders(r.width,r.height)).map(({x:s,y:i,width:c,height:m})=>{let p=Jt({width:c,height:m});return c>0&&m>0&&O(p).putImageData(n.getImageData(s,i,c,m),0,0),p})}var mr=v(x());async function de(o,t){if(!ht(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return mr.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>mr.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function xt(o,t){let{fetch:e}=P.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function An(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return to(e)}async function oo(o){return(await xt(o)).json()}async function Wn(o){return new Float32Array(await(await xt(o)).arrayBuffer())}function Fo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=P.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function kn(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return Fo(e)}var Do=v(x());function pr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),a=o.endsWith(".json")?n[n.length-1]:e,s=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return s=o.startsWith("/")?`/${s}`:s,{modelBaseUri:s,manifestUri:s==="/"?`/${a}`:`${s}/${a}`}}async function no(o,t){let{manifestUri:e,modelBaseUri:r}=pr(o,t),n=await oo(e);return Do.io.loadWeights(n,r)}function Bn(o,t,e=!1){let{width:r,height:n}=e?Xt(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ye=v(x());var vt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof vt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof vt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=vt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await no(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=P.getEnv(),{manifestUri:r,modelBaseUri:n}=pr(t,this.getDefaultModelName()),a=m=>Promise.all(m.map(p=>e(p).then(u=>u.buffer))),s=vt.io.weightsLoaderFactory(a),i=JSON.parse((await e(r)).toString()),c=await s(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((a,s)=>{if(!a.nextObj.hasOwnProperty(s))throw new Error(`traversePropertyPath - object does not have property ${s}, for path ${t}`);return{obj:a.nextObj,objProp:s,nextObj:a.nextObj[s]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof vt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var I=v(x());var he=v(x());function H(o,t,e){return he.tidy(()=>{let r=he.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=he.add(r,t.bias),r})}function ur(o,t,e=!1){return I.tidy(()=>{let r=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):H(o,t.conv0,[2,2])),n=H(r,t.conv1,[1,1]),a=I.relu(I.add(r,n)),s=H(a,t.conv2,[1,1]);return I.relu(I.add(r,I.add(n,s)))})}function ke(o,t,e=!1,r=!0){return I.tidy(()=>{let n=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):H(o,t.conv0,r?[2,2]:[1,1])),a=H(n,t.conv1,[1,1]),s=I.relu(I.add(n,a)),i=H(s,t.conv2,[1,1]),c=I.relu(I.add(n,I.add(a,i))),m=H(c,t.conv3,[1,1]);return I.relu(I.add(n,I.add(a,I.add(i,m))))})}var It=v(x());function qt(o,t,e="same",r=!1){return It.tidy(()=>{let n=It.add(It.conv2d(o,t.filters,[1,1],e),t.bias);return r?It.relu(n):n})}function B(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var fr=v(x());function be(o,t){return(e,r,n,a)=>{let s=fr.tensor4d(o(e*r*n*n),[n,n,e,r]),i=fr.tensor1d(o(r));return t.push({paramPath:`${a}/filters`},{paramPath:`${a}/bias`}),{filters:s,bias:i}}}var lr=v(x());function dr(o,t){return(e,r,n)=>{let a=lr.tensor2d(o(e*r),[e,r]),s=lr.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:a,bias:s}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function ge(o,t){return(e,r,n)=>{let a=Re.tensor4d(o(9*e),[3,3,e,1]),s=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(a,s,i)}}function xe(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let a=o[e];if(!Ot(a,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${a}`);return t.push({originalPath:e,paramPath:n||e}),a}}function R(o){let t=o;function e(n){let a=t.slice(0,n);return t=t.slice(n),a}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function hr(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c,m=!1){let p=m?e(s,i,3,`${c}/conv0`):r(s,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function a(s,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(s,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:a}}function Eo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock4Params:n}=hr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i,dense3:c}}}function br(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function gr(o,t){let e=Y(o,t),r=br(e),n=xe(e);function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:s}}function Mo(o){let t=[],{extractDenseBlock4Params:e}=gr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return B(o,t),{params:r,paramMappings:t}}var ve=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ye.tidy(()=>{let r=ye.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=ke(a,e.dense0,!0);return s=ke(s,e.dense1),s=ke(s,e.dense2),s=ke(s,e.dense3),s=ye.avgPool(s,[7,7],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Mo(t)}extractParams(t){return Eo(t)}};var No=v(x());var _e=v(x());function $e(o,t){return _e.tidy(()=>_e.add(_e.matMul(o,t.weights),t.bias))}function Co(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:a}=R(o),i=dr(n,r)(t,e,"fc");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:r,params:{fc:i}}}function Io(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:r("fc")};return B(o,t),{params:n,paramMappings:t}}function xr(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var Te=class extends A{constructor(e,r){super(e);this._faceFeatureExtractor=r}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return No.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e;return $e(n.as2D(n.shape[0],-1),r.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Co(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=xr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Io(n)}extractParams(e){let r=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),a=n*r+n,s=e.slice(0,e.length-a),i=e.slice(e.length-a);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var ao=["neutral","happy","sad","angry","fearful","disgusted","surprised"],yt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);ao.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return ao.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends Te{constructor(t=new ve){super("FaceExpressionNet",t)}forwardInput(t){return Pe.tidy(()=>Pe.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await C(t))}async predictExpressions(t){let e=await C(t),r=await this.forwardInput(e),n=await Promise.all(Pe.unstack(r).map(async s=>{let i=s.dataSync();return s.dispose(),i}));r.dispose();let a=n.map(s=>new yt(s));return e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function so(o){return o.expressions instanceof yt}function vr(o,t){return{...o,...{expressions:t}}}function Rn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(a=>{let s=a instanceof yt?a:so(a)?a.expressions:void 0;if(!s)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=s.asSortedArray().filter(u=>u.probability>e),m=pt(a)?a.detection.box.bottomLeft:r||new b(0,0);new gt(c.map(u=>`${u.expression} (${Ht(u.probability)})`),m).draw(o)})}function Zt(o){return pt(o)&&o.landmarks instanceof z&&o.unshiftedLandmarks instanceof z&&o.alignedRect instanceof M}function $n(o){let t=(i,c,m,p)=>Math.atan2(p-c,m-i)%Math.PI,e=i=>i*180/Math.PI,r={roll:void 0,pitch:void 0,yaw:void 0};if(!o||!o._positions||o._positions.length!==68)return r;let n=o._positions;r.roll=-t(n[36]._x,n[36]._y,n[45]._x,n[45]._y),r.pitch=t(0,Math.abs(n[0]._x-n[30]._x)/n[30]._x,Math.PI,Math.abs(n[16]._x-n[30]._x)/n[30]._x);let a=n.reduce((i,c)=>ii>c._y?i:c._y,-1/0);return r.yaw=Math.PI*(o._imgDims._height/(s-a)/1.4-1),r}function we(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:a}=o.detection,s=new M(o.detection.score,n.rescale(a.reverse()),a),i=$n(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:s,angle:i}}}var yr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:a,pointSize:s,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=s||2,this.lineColor=a||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},_r=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new yr(e)}draw(t){let e=O(t),{drawLines:r,drawPoints:n,lineWidth:a,lineColor:s,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Gt&&(e.strokeStyle=s,e.lineWidth=a,dt(e,this.faceLandmarks.getJawOutline()),dt(e,this.faceLandmarks.getLeftEyeBrow()),dt(e,this.faceLandmarks.getRightEyeBrow()),dt(e,this.faceLandmarks.getNose()),dt(e,this.faceLandmarks.getLeftEye(),!0),dt(e,this.faceLandmarks.getRightEye(),!0),dt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function On(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof z?r:Zt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new _r(n).draw(o)})}var So="1.7.3";var ft=v(x());var S=v(x());function Vn(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c){let m=r(s,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(s,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function a(s,i){let c=r(s,s,`${i}/separable_conv0`),m=r(s,s,`${i}/separable_conv1`),p=r(s,s,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:a}}function Lo(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=R(o),{extractConvParams:a,extractSeparableConvParams:s,extractReductionBlockParams:i,extractMainBlockParams:c}=Vn(r,e),m=a(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};it(t,0,1).forEach(h=>{l[`main_block_${h}`]=c(128,`middle_flow/main_block_${h}`)});let g=i(128,256,"exit_flow/reduction_block"),T=s(256,512,"exit_flow/separable_conv"),D={reduction_block:g,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:D}}}function Yn(o,t){let e=Y(o,t),r=br(e),n=xe(e);function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}}function Ao(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}=Yn(o,e),i=r("entry_flow/conv_in"),c=a("entry_flow/reduction_block_0"),m=a("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};it(t,0,1).forEach(T=>{u[`main_block_${T}`]=s(`middle_flow/main_block_${T}`)});let f=a("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),g={reduction_block:f,separable_conv:l};return B(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:g},paramMappings:e}}function Wo(o,t,e){return S.add(S.conv2d(o,t.filters,e,"same"),t.bias)}function co(o,t,e=!0){let r=e?S.relu(o):o;return r=H(r,t.separable_conv0,[1,1]),r=H(S.relu(r),t.separable_conv1,[1,1]),r=S.maxPool(r,[3,3],[2,2],"same"),r=S.add(r,Wo(o,t.expansion_conv,[2,2])),r}function Gn(o,t){let e=H(S.relu(o),t.separable_conv0,[1,1]);return e=H(S.relu(e),t.separable_conv1,[1,1]),e=H(S.relu(e),t.separable_conv2,[1,1]),e=S.add(e,o),e}var Tr=class extends A{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){let{params:r}=this;if(!r)throw new Error("TinyXception - load model before inference");return S.tidy(()=>{let n=S.cast(e.toBatchTensor(112,!0),"float32"),s=rt(n,[122.782,117.001,104.298]).div(255),i=S.relu(Wo(s,r.entry_flow.conv_in,[2,2]));return i=co(i,r.entry_flow.reduction_block_0,!1),i=co(i,r.entry_flow.reduction_block_1),it(this._numMainBlocks,0,1).forEach(c=>{i=Gn(i,r.middle_flow[`main_block_${c}`])}),i=co(i,r.exit_flow.reduction_block),i=S.relu(H(i,r.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await C(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(e){return Ao(e,this._numMainBlocks)}extractParams(e){return Lo(e,this._numMainBlocks)}};function ko(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),n=dr(e,t),a=n(512,1,"fc/age"),s=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:a,gender:s}}}}function Bo(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return B(o,t),{params:n,paramMappings:t}}var Pr=(e=>(e.FEMALE="female",e.MALE="male",e))(Pr||{});var He=class extends A{constructor(e=new Tr(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e,a=ft.avgPool(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),s=$e(a,r.fc.age).as1D(),i=$e(a,r.fc.gender);return{age:s,gender:i}})}forwardInput(e){return ft.tidy(()=>{let{age:r,gender:n}=this.runNet(e);return{age:r,gender:ft.softmax(n)}})}async forward(e){return this.forwardInput(await C(e))}async predictAgeAndGender(e){let r=await C(e),n=await this.forwardInput(r),a=ft.unstack(n.age),s=ft.unstack(n.gender),i=a.map((m,p)=>({ageTensor:m,genderTensor:s[p]})),c=await Promise.all(i.map(async({ageTensor:m,genderTensor:p})=>{let u=m.dataSync()[0],f=p.dataSync()[0],l=f>.5,g=l?"male":"female",T=l?f:1-f;return m.dispose(),p.dispose(),{age:u,gender:g,genderProbability:T}}));return n.age.dispose(),n.gender.dispose(),r.isBatchInput?c:c[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return ko(e)}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=xr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Bo(n)}extractParams(e){let n=e.slice(0,e.length-1539),a=e.slice(e.length-1539);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(a)}};var G=v(x());var Fe=class extends Te{postProcess(t,e,r){let n=r.map(({width:s,height:i})=>{let c=e/Math.max(i,s);return{width:s*c,height:i*c}}),a=n.length;return G.tidy(()=>{let s=(u,f)=>G.stack([G.fill([68],u,"float32"),G.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:g}=n[u];return f(l,g)?Math.abs(l-g)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>ls(c(f),m(f))))).div(G.stack(Array.from(Array(a),(u,f)=>s(n[f].width,n[f].height))))})}forwardInput(t){return G.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await C(t))}async detectLandmarks(t){let e=await C(t),r=G.tidy(()=>G.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(a,s)=>{let i=Array.from(a.dataSync()),c=i.filter((p,u)=>or(u)),m=i.filter((p,u)=>!or(u));return new Gt(Array(68).fill(0).map((p,u)=>new b(c[u],m[u])),{height:e.getInputHeight(s),width:e.getInputWidth(s)})}));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Kt=class extends Fe{constructor(t=new ve){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var De=v(x());function Ro(o){let t=[],{extractDenseBlock3Params:e}=gr(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return B(o,t),{params:r,paramMappings:t}}function $o(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock3Params:n}=hr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i}}}var wr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return De.tidy(()=>{let r=De.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=ur(a,e.dense0,!0);return s=ur(s,e.dense1),s=ur(s,e.dense2),s=De.avgPool(s,[14,14],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Ro(t)}extractParams(t){return $o(t)}};var ze=class extends Fe{constructor(t=new wr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var mo=class extends Kt{};var nt=v(x());var Ee=v(x());var Fr=v(x());function Oo(o,t){return Fr.add(Fr.mul(o,t.weights),t.biases)}function po(o,t,e,r,n="same"){let{filters:a,bias:s}=t.conv,i=Ee.conv2d(o,a,e,n);return i=Ee.add(i,s),i=Oo(i,t.scale),r?Ee.relu(i):i}function Ho(o,t){return po(o,t,[1,1],!0)}function uo(o,t){return po(o,t,[1,1],!1)}function Dr(o,t){return po(o,t,[2,2],!0,"valid")}var j=v(x());function jn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if(Rr(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return j.tidy(()=>j.transpose(j.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=j.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=j.tensor1d(o(i)),p=j.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function a(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function s(i,c,m,p,u=!1){let f=a((u?.5:1)*i,c,m,`${p}/conv1`),l=a(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:a,extractResidualLayerParams:s}}function zo(o){let{extractWeights:t,getRemainingWeights:e}=R(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=jn(t,r),s=n(4704,32,7,"conv32_down"),i=a(9216,32,3,"conv32_1"),c=a(9216,32,3,"conv32_2"),m=a(9216,32,3,"conv32_3"),p=a(36864,64,3,"conv64_down",!0),u=a(36864,64,3,"conv64_1"),f=a(36864,64,3,"conv64_2"),l=a(36864,64,3,"conv64_3"),g=a(147456,128,3,"conv128_down",!0),T=a(147456,128,3,"conv128_1"),D=a(147456,128,3,"conv128_2"),h=a(589824,256,3,"conv256_down",!0),_=a(589824,256,3,"conv256_1"),y=a(589824,256,3,"conv256_2"),E=a(589824,256,3,"conv256_down_out"),W=j.tidy(()=>j.transpose(j.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:s,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:g,conv128_1:T,conv128_2:D,conv256_down:h,conv256_1:_,conv256_2:y,conv256_down_out:E,fc:W},paramMappings:r}}function Un(o,t){let e=Y(o,t);function r(s){let i=e(`${s}/scale/weights`,1),c=e(`${s}/scale/biases`,1);return{weights:i,biases:c}}function n(s){let i=e(`${s}/conv/filters`,4),c=e(`${s}/conv/bias`,1),m=r(s);return{conv:{filters:i,bias:c},scale:m}}function a(s){return{conv1:n(`${s}/conv1`),conv2:n(`${s}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:a}}function Vo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Un(o,t),n=e("conv32_down"),a=r("conv32_1"),s=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),g=r("conv128_2"),T=r("conv256_down"),D=r("conv256_1"),h=r("conv256_2"),_=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!Br(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let E={conv32_down:n,conv32_1:a,conv32_2:s,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:g,conv256_down:T,conv256_1:D,conv256_2:h,conv256_down_out:_,fc:y};return B(o,t),{params:E,paramMappings:t}}var $=v(x());function ot(o,t){let e=Ho(o,t.conv1);return e=uo(e,t.conv2),e=$.add(e,o),e=$.relu(e),e}function Ve(o,t){let e=Dr(o,t.conv1);e=uo(e,t.conv2);let r=$.avgPool(o,2,2,"valid"),n=$.zeros(r.shape),a=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=$.zeros(i);e=$.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=$.zeros(m);e=$.concat([e,p],2)}return r=a?$.concat([r,n],3):r,e=$.add(r,e),e=$.relu(e),e}var Qt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=Dr(a,e.conv32_down);s=nt.maxPool(s,3,2,"valid"),s=ot(s,e.conv32_1),s=ot(s,e.conv32_2),s=ot(s,e.conv32_3),s=Ve(s,e.conv64_down),s=ot(s,e.conv64_1),s=ot(s,e.conv64_2),s=ot(s,e.conv64_3),s=Ve(s,e.conv128_down),s=ot(s,e.conv128_1),s=ot(s,e.conv128_2),s=Ve(s,e.conv256_down),s=ot(s,e.conv256_1),s=ot(s,e.conv256_2),s=Ve(s,e.conv256_down_out);let i=s.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await C(t))}async computeFaceDescriptor(t){var a;if((a=t==null?void 0:t.shape)!=null&&a.some(s=>s<=0))return new Float32Array(128);let e=await C(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(s=>s.data()));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return Vo(t)}extractParams(t){return zo(t)}};function Xn(o){let t=new Qt;return t.extractWeights(o),t}function Er(o,t){return{...o,...{descriptor:t}}}function Jn(o){return typeof o.age=="number"}function Mr(o,t){return{...o,...{age:t}}}function qn(o){return(o.gender==="male"||o.gender==="female")&&me(o.genderProbability)}function Cr(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Lt=v(x());var at=v(x());function Zn(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),g=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:g}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),g=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:g}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function a(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function s(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=a(32,64,"mobilenetv1/conv_1"),p=a(64,128,"mobilenetv1/conv_2"),u=a(128,128,"mobilenetv1/conv_3"),f=a(128,256,"mobilenetv1/conv_4"),l=a(256,256,"mobilenetv1/conv_5"),g=a(256,512,"mobilenetv1/conv_6"),T=a(512,512,"mobilenetv1/conv_7"),D=a(512,512,"mobilenetv1/conv_8"),h=a(512,512,"mobilenetv1/conv_9"),_=a(512,512,"mobilenetv1/conv_10"),y=a(512,512,"mobilenetv1/conv_11"),E=a(512,1024,"mobilenetv1/conv_12"),W=a(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,conv_8:D,conv_9:h,conv_10:_,conv_11:y,conv_12:E,conv_13:W}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),g=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),D=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),h=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),_=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),E=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),W=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),lt=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Dt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),Et=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Mt=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,box_predictor_0:{box_encoding_predictor:D,class_predictor:h},box_predictor_1:{box_encoding_predictor:_,class_predictor:y},box_predictor_2:{box_encoding_predictor:E,class_predictor:W},box_predictor_3:{box_encoding_predictor:tt,class_predictor:lt},box_predictor_4:{box_encoding_predictor:q,class_predictor:Dt},box_predictor_5:{box_encoding_predictor:Et,class_predictor:Mt}}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:i}}function Yo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=Zn(e,t),s=n(),i=a(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:s,prediction_layer:i,output_layer:m},paramMappings:t}}function Kn(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,g=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),D=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),h=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),_=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:g,batch_norm_scale:T,batch_norm_offset:D,batch_norm_mean:h,batch_norm_variance:_},pointwise_conv:r("MobilenetV1",m,l)}}function a(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function s(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=s(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=s(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:c}}function Go(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=Kn(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!ht(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let a={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return B(o,t),{params:a,paramMappings:t}}var _t=v(x());var Nt=v(x());function Z(o,t,e){return Nt.tidy(()=>{let r=Nt.conv2d(o,t.filters,e,"same");return r=Nt.add(r,t.batch_norm_offset),Nt.clipByValue(r,0,6)})}var Qn=.0010000000474974513;function ta(o,t,e){return _t.tidy(()=>{let r=_t.depthwiseConv2d(o,t.filters,e,"same");return r=_t.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Qn),_t.clipByValue(r,0,6)})}function ea(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function jo(o,t){return _t.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((a,s)=>{let i=s+1,c=ea(i);r=ta(r,a.depthwise_conv,c),r=Z(r,a.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ra(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),a=Math.min(r[t][1],r[t][3]),s=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(s-n)*(i-a),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let g=Math.max(n,c),T=Math.max(a,m),D=Math.min(s,p),h=Math.min(i,u),_=Math.max(D-g,0)*Math.max(h-T,0);return _/(f+l-_)}function Uo(o,t,e,r,n){let a=o.shape[0],s=Math.min(e,a),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=s)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ra(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function oa(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function na(o,t){let{sizes:e,centers:r}=oa(o),n=d.unstack(d.transpose(t,[1,0])),a=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),s=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(s,a),d.sub(c,i),d.add(s,a),d.add(c,i)]),[1,0])}function Xo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=na(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let a=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),s=d.slice(a,[0,0,0],[-1,-1,1]);s=d.reshape(s,[r,s.shape[1]]);let i=d.unstack(n),c=d.unstack(s);return{boxes:i,scores:c}})}var Ge=v(x());var Ye=v(x());function te(o,t){return Ye.tidy(()=>{let e=o.shape[0],r=Ye.reshape(qt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ye.reshape(qt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Jo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),a=Z(n,e.conv_2,[1,1]),s=Z(a,e.conv_3,[2,2]),i=Z(s,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=te(t,e.box_predictor_0),f=te(o,e.box_predictor_1),l=te(n,e.box_predictor_2),g=te(s,e.box_predictor_3),T=te(c,e.box_predictor_4),D=te(p,e.box_predictor_5),h=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,g.boxPredictionEncoding,T.boxPredictionEncoding,D.boxPredictionEncoding],1),_=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,g.classPrediction,T.classPrediction,D.classPrediction],1);return{boxPredictions:h,classPredictions:_}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var St=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Lt.tidy(()=>{let r=Lt.cast(t.toBatchTensor(512,!1),"float32"),n=Lt.sub(Lt.div(r,127.5),1),a=jo(n,e.mobilenetv1),{boxPredictions:s,classPredictions:i}=Jo(a.out,a.conv11,e.prediction_layer);return Xo(s,i,e.output_layer)})}async forward(t){return this.forwardInput(await C(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),a=await C(t),{boxes:s,scores:i}=this.forwardInput(a),c=s[0],m=i[0];for(let y=1;y{let[E,W]=[Math.max(0,h[y][0]),Math.min(1,h[y][2])].map(q=>q*D),[tt,lt]=[Math.max(0,h[y][1]),Math.min(1,h[y][3])].map(q=>q*T);return new M(p[y],new Yt(tt,E,lt-tt,W-E),{height:a.getInputHeight(0),width:a.getInputWidth(0)})});return c.dispose(),m.dispose(),_}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Go(t)}extractParams(t){return Yo(t)}};function qo(o){let t=new St;return t.extractWeights(o),t}function aa(o){return qo(o)}var fo=class extends St{};var Zo=.4,Ko=[new b(.738768,.874946),new b(2.42204,2.65704),new b(4.30971,7.04493),new b(10.246,4.59428),new b(12.6868,11.8741)],Qo=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],tn=[117.001,114.697,97.404],en="tiny_yolov2_model",rn="tiny_yolov2_separable_conv_model";var N=v(x());var Ir=o=>typeof o=="number";function lo(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Ir(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Ir(t.x)&&Ir(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Ir)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Me(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function Tt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Me(e)})}var At=v(x());function Pt(o,t){return At.tidy(()=>{let e=At.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=At.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=At.add(e,t.bias),Me(e)})}var ho=v(x());function sa(o,t){let e=be(o,t);function r(s,i){let c=ho.tensor1d(o(s)),m=ho.tensor1d(o(s));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(s,i,c){let m=e(s,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let a=ge(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}}function on(o,t,e,r){let{extractWeights:n,getRemainingWeights:a}=R(o),s=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=sa(n,s),p;if(t.withSeparableConvs){let[u,f,l,g,T,D,h,_,y]=r,E=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),W=m(f,l,"conv1"),tt=m(l,g,"conv2"),lt=m(g,T,"conv3"),q=m(T,D,"conv4"),Dt=m(D,h,"conv5"),Et=_?m(h,_,"conv6"):void 0,Mt=y?m(_,y,"conv7"):void 0,$t=i(y||_||h,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}else{let[u,f,l,g,T,D,h,_,y]=r,E=c(u,f,"conv0"),W=c(f,l,"conv1"),tt=c(l,g,"conv2"),lt=c(g,T,"conv3"),q=c(T,D,"conv4"),Dt=c(D,h,"conv5"),Et=c(h,_,"conv6"),Mt=c(_,y,"conv7"),$t=i(y,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:p,paramMappings:s}}function ia(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function a(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let s=xe(e);return{extractConvParams:n,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}}function nn(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}=ia(o,e),s;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;s={conv0:t.isFirstLayerConv2d?r("conv0"):a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:i>7?a("conv6"):void 0,conv7:i>8?a("conv7"):void 0,conv8:r("conv8")}}else s={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return B(o,e),{params:s,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var bo=class extends A{constructor(e){super("TinyYolov2");lo(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,r){let n=Tt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=Tt(n,r.conv6),n=Tt(n,r.conv7),qt(n,r.conv8,"valid",!1)}runMobilenet(e,r){let n=this.config.isFirstLayerConv2d?Me(qt(e,r.conv0,"valid",!1)):Pt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=r.conv6?Pt(n,r.conv6):n,n=r.conv7?Pt(n,r.conv7):n,qt(n,r.conv8,"valid",!1)}forwardInput(e,r){let{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return N.tidy(()=>{let a=N.cast(e.toBatchTensor(r,!1),"float32");return a=this.config.meanRgb?rt(a,this.config.meanRgb):a,a=a.div(255),this.config.withSeparableConvs?this.runMobilenet(a,n):this.runTinyYolov2(a,n)})}async forward(e,r){return this.forwardInput(await C(e),r)}async detect(e,r={}){let{inputSize:n,scoreThreshold:a}=new st(r),s=await C(e),i=await this.forwardInput(s,n),c=N.tidy(()=>N.unstack(i)[0].expandDims()),m={width:s.getInputWidth(0),height:s.getInputHeight(0)},p=await this.extractBoxes(c,s.getReshapedInputDimensions(0),a);i.dispose(),c.dispose();let u=p.map(h=>h.box),f=p.map(h=>h.score),l=p.map(h=>h.classScore),g=p.map(h=>this.config.classes[h.label]);return Vr(u.map(h=>h.rescale(n)),f,this.config.iouThreshold,!0).map(h=>new bt(f[h],l[h],g[h],u[h],m))}getDefaultModelName(){return""}extractParamsFromWeightMap(e){return nn(e,this.config)}extractParams(e){let r=this.config.filterSizes||bo.DEFAULT_FILTER_SIZES,n=r?r.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return on(e,this.config,this.boxEncodingSize,r)}async extractBoxes(e,r,n){let{width:a,height:s}=r,i=Math.max(a,s),c=i/a,m=i/s,p=e.shape[1],u=this.config.anchors.length,[f,l,g]=N.tidy(()=>{let _=e.reshape([p,p,u,this.boxEncodingSize]),y=_.slice([0,0,0,0],[p,p,u,4]),E=_.slice([0,0,0,4],[p,p,u,1]),W=this.withClassScores?N.softmax(_.slice([0,0,0,5],[p,p,u,this.config.classes.length]),3):N.scalar(0);return[y,E,W]}),T=[],D=await l.array(),h=await f.array();for(let _=0;_n){let tt=(y+Ne(h[_][y][E][0]))/p*c,lt=(_+Ne(h[_][y][E][1]))/p*m,q=Math.exp(h[_][y][E][2])*this.config.anchors[E].x/p*c,Dt=Math.exp(h[_][y][E][3])*this.config.anchors[E].y/p*m,Et=tt-q/2,Mt=lt-Dt/2,$t={row:_,col:y,anchor:E},{classScore:vo,label:yo}=this.withClassScores?await this.extractPredictedClass(g,$t):{classScore:1,label:0};T.push({box:new Vt(Et,Mt,Et+q,Mt+Dt),score:W,classScore:W*vo,label:yo,...$t})}}return f.dispose(),l.dispose(),g.dispose(),T}async extractPredictedClass(e,r){let{row:n,col:a,anchor:s}=r,i=await e.array();return Array(this.config.classes.length).fill(0).map((c,m)=>i[n][a][s][m]).map((c,m)=>({classScore:c,label:m})).reduce((c,m)=>c.classScore>m.classScore?c:m)}},ee=bo;ee.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var re=class extends ee{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:Zo,classes:["face"],...t?{anchors:Qo,meanRgb:tn}:{anchors:Ko,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?rn:en}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function ca(o,t=!0){let e=new re(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var go=v(x());async function oe(o,t,e,r,n=({alignedRect:a})=>a){let a=o.map(c=>Zt(c)?n(c):c.detection),s=r||(t instanceof go.Tensor?await de(t,a):await le(t,a)),i=await e(s);return s.forEach(c=>c instanceof go.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return oe([o],t,async a=>e(a[0]),r,n)}var an=.4,sn=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],cn=[117.001,114.697,97.404];var ne=class extends ee{constructor(){let t={withSeparableConvs:!0,iouThreshold:an,classes:["face"],anchors:sn,meanRgb:cn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var w={ssdMobilenetv1:new St,tinyFaceDetector:new ne,tinyYolov2:new re,faceLandmark68Net:new Kt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Qt,faceExpressionNet:new Oe,ageGenderNet:new He},mn=(o,t)=>w.ssdMobilenetv1.locateFaces(o,t),ma=(o,t)=>w.tinyFaceDetector.locateFaces(o,t),pa=(o,t)=>w.tinyYolov2.locateFaces(o,t),pn=o=>w.faceLandmark68Net.detectLandmarks(o),ua=o=>w.faceLandmark68TinyNet.detectLandmarks(o),fa=o=>w.faceRecognitionNet.computeFaceDescriptor(o),la=o=>w.faceExpressionNet.predictExpressions(o),da=o=>w.ageGenderNet.predictAgeAndGender(o),un=o=>w.ssdMobilenetv1.load(o),ha=o=>w.tinyFaceDetector.load(o),ba=o=>w.tinyYolov2.load(o),ga=o=>w.faceLandmark68Net.load(o),xa=o=>w.faceLandmark68TinyNet.load(o),va=o=>w.faceRecognitionNet.load(o),ya=o=>w.faceExpressionNet.load(o),_a=o=>w.ageGenderNet.load(o),Ta=un,Pa=mn,wa=pn;var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Nr{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>vr(r,e[n]))}withAgeAndGender(){return new ie(this,this.input)}},se=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceExpressionNet.predictExpressions(r),this.extractedFaces);return vr(t,e)}withAgeAndGender(){return new ce(this,this.input)}},Wt=class extends ae{withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},kt=class extends se{withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Sr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ie=class extends Sr{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:a,gender:s,genderProbability:i}=e[n];return Mr(Cr(r,s,i),a)})}withFaceExpressions(){return new ae(this,this.input)}},ce=class extends Sr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,a=>w.ageGenderNet.predictAgeAndGender(a),this.extractedFaces);return Mr(Cr(t,r,n),e)}withFaceExpressions(){return new se(this,this.input)}},Bt=class extends ie{withFaceExpressions(){return new Wt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Rt=class extends ce{withFaceExpressions(){return new kt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},wt=class extends Ue{async run(){let t=await this.parentTask;return(await oe(t,this.input,r=>Promise.all(r.map(n=>w.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Er(t[n],r))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}},Ft=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Er(t,e)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?w.faceLandmark68TinyNet:w.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(s=>s.detection),r=this.input instanceof Xe.Tensor?await de(this.input,e):await le(this.input,e),n=await Promise.all(r.map(s=>this.landmarkNet.detectLandmarks(s)));return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),t.filter((s,i)=>n[i]).map((s,i)=>we(s,n[i]))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await de(this.input,[e]):await le(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),we(t,n)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=w.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=w.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=w.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>jt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ie(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?jt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new se(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new ce(this.runAndExtendWithFaceDetection(),this.input)}};function Fa(o,t=new X){return new Qe(o,t)}function Lr(o,t=new X){return new Ie(o,t)}async function fn(o,t){return Lr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Da(o,t={}){return Lr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Ea=fn;function xo(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,a)=>n-r[a]).reduce((n,a)=>n+a*a,0))}var tr=class{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,a=()=>`person ${n++}`;this._labeledDescriptors=r.map(s=>{if(s instanceof mt)return s;if(s instanceof Float32Array)return new mt(a(),[s]);if(s.descriptor&&s.descriptor instanceof Float32Array)return new mt(a(),[s.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>xo(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new pe(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>mt.fromJSON(r));return new tr(e,t.distanceThreshold)}};function Ma(o){let t=new ne;return t.extractWeights(o),t}function ln(o,t){let{width:e,height:r}=new k(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>ln(n,{width:e,height:r}));if(Zt(o)){let n=o.detection.forSize(e,r),a=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return we(jt(o,n),a)}return pt(o)?jt(o,o.detection.forSize(e,r)):o instanceof z||o instanceof M?o.forSize(e,r):o}var Ia=So;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); diff --git a/dist/face-api.node.js b/dist/face-api.node.js index 51f84a2..024577f 100644 --- a/dist/face-api.node.js +++ b/dist/face-api.node.js @@ -4,4 +4,4 @@ author: ' */ -"use strict";var ln=Object.create;var er=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,gn=Object.prototype.hasOwnProperty;var xn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Lr=(o,t)=>{for(var e in t)er(o,e,{get:t[e],enumerable:!0})},yo=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hn(t))!gn.call(o,n)&&n!==e&&er(o,n,{get:()=>t[n],enumerable:!(r=dn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ln(bn(o)):{},yo(t||!o||!o.__esModule?er(e,"default",{value:o,enumerable:!0}):e,o)),vn=o=>yo(er({},"__esModule",{value:!0}),o);var x=xn((ka,Wr)=>{"use strict";var _o=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,_n=Object.getOwnPropertyNames,Tn=Object.prototype.hasOwnProperty,Ar=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _n(t))!Tn.call(o,n)&&n!==e&&_o(o,n,{get:()=>t[n],enumerable:!(r=yn(t,n))||r.enumerable});return o},Pn=(o,t,e)=>(Ar(o,t,"default"),e&&Ar(e,t,"default")),wn=o=>Ar(_o({},"__esModule",{value:!0}),o),To={};Wr.exports=wn(To);Pn(To,require("@tensorflow/tfjs-node"),Wr.exports)});var Na={};Lr(Na,{AgeGenderNet:()=>He,BoundingBox:()=>Vt,Box:()=>F,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>wt,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Ft,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>k,FACE_EXPRESSION_LABELS:()=>no,FaceDetection:()=>M,FaceDetectionNet:()=>uo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>yt,FaceLandmark68Net:()=>Kt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>co,FaceLandmarks:()=>z,FaceLandmarks5:()=>Yr,FaceLandmarks68:()=>Gt,FaceMatch:()=>pe,FaceMatcher:()=>tr,FaceRecognitionNet:()=>Qt,Gender:()=>Tr,LabeledBox:()=>ue,LabeledFaceDescriptors:()=>mt,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>bt,Point:()=>b,PredictedBox:()=>Gr,Rect:()=>Yt,SsdMobilenetv1:()=>St,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>ne,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>re,TinyYolov2Options:()=>st,allFaces:()=>Ea,allFacesSsdMobilenetv1:()=>un,allFacesTinyYolov2:()=>Da,awaitMediaLoaded:()=>Kr,bufferToImage:()=>Qr,computeFaceDescriptor:()=>fa,createCanvas:()=>Jt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>aa,createFaceRecognitionNet:()=>Xn,createSsdMobilenetv1:()=>Jo,createTinyFaceDetector:()=>Ma,createTinyYolov2:()=>ca,detectAllFaces:()=>Sr,detectFaceLandmarks:()=>mn,detectFaceLandmarksTiny:()=>ua,detectLandmarks:()=>wa,detectSingleFace:()=>Fa,draw:()=>so,env:()=>P,euclideanDistance:()=>go,extendWithAge:()=>Er,extendWithFaceDescriptor:()=>Dr,extendWithFaceDetection:()=>jt,extendWithFaceExpressions:()=>xr,extendWithFaceLandmarks:()=>we,extendWithGender:()=>Mr,extractFaceTensors:()=>de,extractFaces:()=>le,fetchImage:()=>An,fetchJson:()=>ro,fetchNetWeights:()=>Wn,fetchOrThrow:()=>xt,fetchVideo:()=>kn,getContext2dOrThrow:()=>O,getMediaDimensions:()=>Xt,imageTensorToCanvas:()=>to,imageToSquare:()=>eo,inverseSigmoid:()=>En,iou:()=>Or,isMediaElement:()=>ir,isMediaLoaded:()=>Ae,isWithAge:()=>Jn,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>ao,isWithFaceLandmarks:()=>Zt,isWithGender:()=>qn,loadAgeGenderModel:()=>_a,loadFaceDetectionModel:()=>Ta,loadFaceExpressionModel:()=>ya,loadFaceLandmarkModel:()=>ga,loadFaceLandmarkTinyModel:()=>xa,loadFaceRecognitionModel:()=>va,loadSsdMobilenetv1Model:()=>pn,loadTinyFaceDetectorModel:()=>ha,loadTinyYolov2Model:()=>ba,loadWeightMap:()=>oo,locateFaces:()=>Pa,matchDimensions:()=>Bn,minBbox:()=>Hr,nets:()=>w,nonMaxSuppression:()=>zr,normalize:()=>rt,padToSquare:()=>Vr,predictAgeAndGender:()=>da,recognizeFaceExpressions:()=>la,resizeResults:()=>fn,resolveInput:()=>Ut,shuffleArray:()=>Dn,sigmoid:()=>Ne,ssdMobilenetv1:()=>cn,tf:()=>Ca,tinyFaceDetector:()=>ma,tinyYolov2:()=>pa,toNetInput:()=>C,utils:()=>$r,validateConfig:()=>fo,version:()=>Ia});module.exports=vn(Na);var Ca=v(x());var so={};Lr(so,{AnchorPosition:()=>Zr,DrawBox:()=>Le,DrawBoxOptions:()=>ar,DrawFaceLandmarks:()=>yr,DrawFaceLandmarksOptions:()=>vr,DrawTextField:()=>gt,DrawTextFieldOptions:()=>fe,drawContour:()=>dt,drawDetections:()=>Ln,drawFaceExpressions:()=>Rn,drawFaceLandmarks:()=>On});function dt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},a)=>{let s=t[a];o.moveTo(s.x,s.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var $r={};Lr($r,{computeReshapedDimensions:()=>Rr,getCenterPoint:()=>zt,isDimensions:()=>or,isEven:()=>rr,isFloat:()=>Br,isTensor:()=>Ot,isTensor1D:()=>Fn,isTensor2D:()=>kr,isTensor3D:()=>ht,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>me,range:()=>it,round:()=>Ht});var Po=v(x());var k=class{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new k(1/this.width,1/this.height)}};function Ot(o,t){return o instanceof Po.Tensor&&o.shape.length===t}function Fn(o){return Ot(o,1)}function kr(o){return Ot(o,2)}function ht(o){return Ot(o,3)}function U(o){return Ot(o,4)}function Br(o){return o%1!==0}function rr(o){return o%2===0}function Ht(o,t=2){let e=10**t;return Math.floor(o*e)/e}function or(o){return o&&o.width&&o.height}function Rr({width:o,height:t},e){let r=e/Math.max(t,o);return new k(Math.round(o*r),Math.round(t*r))}function zt(o){return o.reduce((t,e)=>t.add(e),new b(0,0)).div(new b(o.length,o.length))}function it(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function me(o){return et(o)&&o>=0&&o<=1}var b=class{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new b(this.x+t.x,this.y+t.y)}sub(t){return new b(this.x-t.x,this.y-t.y)}mul(t){return new b(this.x*t.x,this.y*t.y)}div(t){return new b(this.x/t.x,this.y/t.y)}abs(){return new b(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new b(Math.floor(this.x),Math.floor(this.y))}};var F=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!F.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),a=[r.x,r.y,r.width,r.height].every(et);if(!a&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[s,i,c,m]=a?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];F.assertIsValidBox({x:s,y:i,width:c,height:m},"Box.constructor",e),this._x=s,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new b(this.left,this.top)}get topRight(){return new b(this.right,this.top)}get bottomLeft(){return new b(this.left,this.bottom)}get bottomRight(){return new b(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.round(a));return new F({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.floor(a));return new F({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,a=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:s,edy:c,dx:a,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new F({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Vt=class extends F{constructor(t,e,r,n,a=!1){super({left:t,top:e,right:r,bottom:n},a)}};var bt=class{constructor(t,e,r,n,a){this._imageDims=new k(a.width,a.height),this._score=t,this._classScore=e,this._className=r,this._box=new F(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new F(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new bt(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class extends bt{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:a}=super.forSize(t,e);return new M(r,n,a)}};function Or(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),a=r*n;return e?a/(o.area+t.area-a):a/Math.min(o.area,t.area)}function Hr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:s,boxIndex:i})).sort((s,i)=>s.score-i.score).map(s=>s.boxIndex),a=[];for(;n.length>0;){let s=n.pop();a.push(s);let i=n,c=[];for(let m=0;mc[p]<=e)}return a}var ct=v(x());function rt(o,t){return ct.tidy(()=>{let[e,r,n]=t,a=ct.fill([...o.shape.slice(0,3),1],e,"float32"),s=ct.fill([...o.shape.slice(0,3),1],r,"float32"),i=ct.fill([...o.shape.slice(0,3),1],n,"float32"),c=ct.concat([a,s,i],3);return ct.sub(o,c)})}var Ct=v(x());function Vr(o,t=!1){return Ct.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),a=Math.round(n*(t?.5:1)),s=e>r?2:1,i=f=>{let l=o.shape.slice();return l[s]=f,Ct.fill(l,0,"float32")},c=i(a),m=n-c.shape[s],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Ct.cast(f,"float32"));return Ct.concat(u,s)})}function Dn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function En(o){return Math.log(o/(1-o))}var Yt=class extends F{constructor(t,e,r,n,a=!1){super({x:t,y:e,width:r,height:n},a)}};var Mn=.5,Cn=.43,In=.45,z=class{constructor(t,e,r=new b(0,0)){let{width:n,height:a}=e;this._imgDims=new k(n,a),this._shift=r,this._positions=t.map(s=>s.mul(new b(n,a)).add(r))}get shift(){return new b(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new b(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new b(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let a=t instanceof M?t.box.floor():new F(t);return this.shiftBy(a.x,a.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,a=u=>n.sub(u).magnitude(),s=(a(e)+a(r))/2,i=Math.floor(s/In),c=zt(t),m=Math.floor(Math.max(0,c.x-Mn*i)),p=Math.floor(Math.max(0,c.y-Cn*i));return new Yt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Hr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var Yr=class extends z{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],zt([t[3],t[4]])]}};var Gt=class extends z{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(zt)}};var pe=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Ht(this.distance)})`:""}`}};var ue=class extends F{constructor(e,r){super(e);this._label=r}static assertIsValidLabeledBox(e,r){if(F.assertIsValidBox(e,r),!et(e.label))throw new Error(`${r} - expected property label (${e.label}) to be a number`)}get label(){return this._label}};var mt=class{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new mt(t.label,e)}};var Gr=class extends ue{constructor(e,r,n,a){super(e,r);this._score=n,this._classScore=a}static assertIsValidPredictedBox(e,r){if(ue.assertIsValidLabeledBox(e,r),!me(e.score)||!me(e.classScore))throw new Error(`${r} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function jt(o,t){return{...o,...{detection:t}}}function jr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Se(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function nr(o){let t="";if(!o&&Se())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,a)=>{o.readFile(r,(s,i)=>s?a(s):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Ur(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},a=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},s=global.fetch,i=nr();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:a,fetch:s,...i}}function Xr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var L;function Nn(){if(!L)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return L}function Jr(o){L=o}function qr(){return Xr()?Jr(jr()):Se()?Jr(Ur()):null}function Sn(o){if(L||qr(),!L)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=L.Canvas,Image:e=L.Image}=o;L.Canvas=t,L.Image=e,L.createCanvasElement=o.createCanvasElement||(()=>new t),L.createImageElement=o.createImageElement||(()=>new e),L.ImageData=o.ImageData||L.ImageData,L.Video=o.Video||L.Video,L.fetch=o.fetch||L.fetch,L.readFile=o.readFile||L.readFile}var P={getEnv:Nn,setEnv:Jr,initialize:qr,createBrowserEnv:jr,createFileSystem:nr,createNodejsEnv:Ur,monkeyPatch:Sn,isBrowser:Xr,isNodejs:Se};qr();function Ut(o){return!P.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function O(o){let{Canvas:t,CanvasRenderingContext2D:e}=P.getEnv();if(o instanceof e)return o;let r=Ut(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d");if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Zr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Zr||{}),fe=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:a,fontStyle:s,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=a||14,this.fontStyle=s||"Georgia",this.padding=i||4}},gt=class{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof gt?t.text:t,this.anchor=e,this.options=new fe(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let g=c+u.x,T=c+u.y+(l+1)*s;r.fillText(f,g,T)})}};var ar=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:a}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let s={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new fe({...s,...a})}},Le=class{constructor(t,e={}){this.box=new F(t),this.options=new ar(e)}draw(t){let e=O(t),{boxColor:r,lineWidth:n}=this.options,{x:a,y:s,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(a,s,i,c);let{label:m}=this.options;m&&new gt([m],{x:a-n/2,y:s},this.options.drawLabelOptions).draw(t)}};function Ln(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,a=r instanceof M?r.box:pt(r)?r.detection.box:new F(r),s=n?`${Ht(n)}`:void 0;new Le(a,{label:s}).draw(o)})}var Pe=v(x());function Ae(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function Kr(o){return new Promise((t,e)=>{(o instanceof P.getEnv().Canvas||Ae(o))&&t(null);function r(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),e(a))}function n(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),t(a))}o.addEventListener("load",n),o.addEventListener("error",r)})}function Qr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=P.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Xt(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t?new k(o.naturalWidth,o.naturalHeight):o instanceof e?new k(o.videoWidth,o.videoHeight):new k(o.width,o.height)}function Jt({width:o,height:t}){let{createCanvasElement:e}=P.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=P.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Xt(o),a=Jt({width:r,height:n});return o instanceof e?O(a).putImageData(o,0,0):O(a).drawImage(o,0,0,r,n),a}var sr=v(x());async function to(o,t){let e=t||P.getEnv().createCanvasElement(),[r,n,a]=o.shape.slice(U(o)?1:0),s=sr.tidy(()=>o.as3D(r,n,a).toInt());return await sr.browser.toPixels(s,e),s.dispose(),e}function ir(o){let{Image:t,Canvas:e,Video:r}=P.getEnv();return o instanceof t||o instanceof e||o instanceof r}var V=v(x());function eo(o,t,e=!1){let{Image:r,Canvas:n}=P.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Jt({width:1,height:1});let a=Xt(o),s=t/Math.max(a.height,a.width),i=s*a.width,c=s*a.height,m=Jt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&O(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(ht(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let s=r.shape[0];if(s!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${s} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let a=r instanceof P.getEnv().Canvas?r:We(r);this._canvases[n]=a,this._inputDimensions[n]=[a.height,a.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return it(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Rr({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,V.tidy(()=>{let r=it(this.batchSize,0,1).map(a=>{let s=this.getInput(a);if(s instanceof V.Tensor){let i=U(s)?s:V.expandDims(s);return i=Vr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=V.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(s instanceof P.getEnv().Canvas)return V.browser.fromPixels(eo(s,t,e));throw new Error(`toBatchTensor - at batchIdx ${a}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${s}`)});return V.stack(r.map(a=>V.cast(a,"float32"))).as4D(this.batchSize,t,t,3)})}};async function C(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Ut);return r.forEach((n,a)=>{if(!ir(n)&&!ht(n)&&!U(n))throw typeof t[a]=="string"?new Error(`toNetInput -${e(a)} string passed, but could not resolve HTMLElement for element id ${t[a]}`):new Error(`toNetInput -${e(a)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let s=n.shape[0];if(s!==1)throw new Error(`toNetInput -${e(a)} tf.Tensor4D with batchSize ${s} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>ir(n)&&Kr(n))),new ut(r,Array.isArray(o))}async function le(o,t){let{Canvas:e}=P.getEnv(),r=o;if(!(o instanceof e)){let s=await C(o);if(s.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=s.getInput(0);r=i instanceof e?i:await to(i)}let n=O(r);return t.map(s=>s instanceof M?s.forSize(r.width,r.height).box.floor():s).map(s=>s.clipAtImageBorders(r.width,r.height)).map(({x:s,y:i,width:c,height:m})=>{let p=Jt({width:c,height:m});return c>0&&m>0&&O(p).putImageData(n.getImageData(s,i,c,m),0,0),p})}var cr=v(x());async function de(o,t){if(!ht(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return cr.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>cr.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function xt(o,t){let{fetch:e}=P.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function An(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return Qr(e)}async function ro(o){return(await xt(o)).json()}async function Wn(o){return new Float32Array(await(await xt(o)).arrayBuffer())}function wo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=P.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function kn(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return wo(e)}var Fo=v(x());function mr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),a=o.endsWith(".json")?n[n.length-1]:e,s=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return s=o.startsWith("/")?`/${s}`:s,{modelBaseUri:s,manifestUri:s==="/"?`/${a}`:`${s}/${a}`}}async function oo(o,t){let{manifestUri:e,modelBaseUri:r}=mr(o,t),n=await ro(e);return Fo.io.loadWeights(n,r)}function Bn(o,t,e=!1){let{width:r,height:n}=e?Xt(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ye=v(x());var vt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof vt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof vt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=vt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await oo(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=P.getEnv(),{manifestUri:r,modelBaseUri:n}=mr(t,this.getDefaultModelName()),a=m=>Promise.all(m.map(p=>e(p).then(u=>u.buffer))),s=vt.io.weightsLoaderFactory(a),i=JSON.parse((await e(r)).toString()),c=await s(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((a,s)=>{if(!a.nextObj.hasOwnProperty(s))throw new Error(`traversePropertyPath - object does not have property ${s}, for path ${t}`);return{obj:a.nextObj,objProp:s,nextObj:a.nextObj[s]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof vt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var I=v(x());var he=v(x());function H(o,t,e){return he.tidy(()=>{let r=he.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=he.add(r,t.bias),r})}function pr(o,t,e=!1){return I.tidy(()=>{let r=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):H(o,t.conv0,[2,2])),n=H(r,t.conv1,[1,1]),a=I.relu(I.add(r,n)),s=H(a,t.conv2,[1,1]);return I.relu(I.add(r,I.add(n,s)))})}function ke(o,t,e=!1,r=!0){return I.tidy(()=>{let n=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):H(o,t.conv0,r?[2,2]:[1,1])),a=H(n,t.conv1,[1,1]),s=I.relu(I.add(n,a)),i=H(s,t.conv2,[1,1]),c=I.relu(I.add(n,I.add(a,i))),m=H(c,t.conv3,[1,1]);return I.relu(I.add(n,I.add(a,I.add(i,m))))})}var It=v(x());function qt(o,t,e="same",r=!1){return It.tidy(()=>{let n=It.add(It.conv2d(o,t.filters,[1,1],e),t.bias);return r?It.relu(n):n})}function B(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var ur=v(x());function be(o,t){return(e,r,n,a)=>{let s=ur.tensor4d(o(e*r*n*n),[n,n,e,r]),i=ur.tensor1d(o(r));return t.push({paramPath:`${a}/filters`},{paramPath:`${a}/bias`}),{filters:s,bias:i}}}var fr=v(x());function lr(o,t){return(e,r,n)=>{let a=fr.tensor2d(o(e*r),[e,r]),s=fr.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:a,bias:s}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function ge(o,t){return(e,r,n)=>{let a=Re.tensor4d(o(9*e),[3,3,e,1]),s=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(a,s,i)}}function xe(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let a=o[e];if(!Ot(a,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${a}`);return t.push({originalPath:e,paramPath:n||e}),a}}function R(o){let t=o;function e(n){let a=t.slice(0,n);return t=t.slice(n),a}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function dr(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c,m=!1){let p=m?e(s,i,3,`${c}/conv0`):r(s,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function a(s,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(s,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:a}}function Do(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock4Params:n}=dr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i,dense3:c}}}function hr(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function br(o,t){let e=Y(o,t),r=hr(e),n=xe(e);function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:s}}function Eo(o){let t=[],{extractDenseBlock4Params:e}=br(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return B(o,t),{params:r,paramMappings:t}}var ve=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ye.tidy(()=>{let r=ye.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=ke(a,e.dense0,!0);return s=ke(s,e.dense1),s=ke(s,e.dense2),s=ke(s,e.dense3),s=ye.avgPool(s,[7,7],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Eo(t)}extractParams(t){return Do(t)}};var Io=v(x());var _e=v(x());function $e(o,t){return _e.tidy(()=>_e.add(_e.matMul(o,t.weights),t.bias))}function Mo(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:a}=R(o),i=lr(n,r)(t,e,"fc");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:r,params:{fc:i}}}function Co(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:r("fc")};return B(o,t),{params:n,paramMappings:t}}function gr(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var Te=class extends A{constructor(e,r){super(e);this._faceFeatureExtractor=r}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return Io.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e;return $e(n.as2D(n.shape[0],-1),r.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Mo(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=gr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Co(n)}extractParams(e){let r=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),a=n*r+n,s=e.slice(0,e.length-a),i=e.slice(e.length-a);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var no=["neutral","happy","sad","angry","fearful","disgusted","surprised"],yt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);no.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return no.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends Te{constructor(t=new ve){super("FaceExpressionNet",t)}forwardInput(t){return Pe.tidy(()=>Pe.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await C(t))}async predictExpressions(t){let e=await C(t),r=await this.forwardInput(e),n=await Promise.all(Pe.unstack(r).map(async s=>{let i=s.dataSync();return s.dispose(),i}));r.dispose();let a=n.map(s=>new yt(s));return e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function ao(o){return o.expressions instanceof yt}function xr(o,t){return{...o,...{expressions:t}}}function Rn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(a=>{let s=a instanceof yt?a:ao(a)?a.expressions:void 0;if(!s)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=s.asSortedArray().filter(u=>u.probability>e),m=pt(a)?a.detection.box.bottomLeft:r||new b(0,0);new gt(c.map(u=>`${u.expression} (${Ht(u.probability)})`),m).draw(o)})}function Zt(o){return pt(o)&&o.landmarks instanceof z&&o.unshiftedLandmarks instanceof z&&o.alignedRect instanceof M}function $n(o){let t=(i,c,m,p)=>Math.atan2(p-c,m-i)%Math.PI,e=i=>i*180/Math.PI,r={roll:void 0,pitch:void 0,yaw:void 0};if(!o||!o._positions||o._positions.length!==68)return r;let n=o._positions;r.roll=-t(n[36]._x,n[36]._y,n[45]._x,n[45]._y),r.pitch=t(0,Math.abs(n[0]._x-n[30]._x)/n[30]._x,Math.PI,Math.abs(n[16]._x-n[30]._x)/n[30]._x);let a=n.reduce((i,c)=>ii>c._y?i:c._y,-1/0);return r.yaw=Math.PI*(o._imgDims._height/(s-a)/1.4-1),r}function we(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:a}=o.detection,s=new M(o.detection.score,n.rescale(a.reverse()),a),i=$n(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:s,angle:i}}}var vr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:a,pointSize:s,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=s||2,this.lineColor=a||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},yr=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new vr(e)}draw(t){let e=O(t),{drawLines:r,drawPoints:n,lineWidth:a,lineColor:s,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Gt&&(e.strokeStyle=s,e.lineWidth=a,dt(e,this.faceLandmarks.getJawOutline()),dt(e,this.faceLandmarks.getLeftEyeBrow()),dt(e,this.faceLandmarks.getRightEyeBrow()),dt(e,this.faceLandmarks.getNose()),dt(e,this.faceLandmarks.getLeftEye(),!0),dt(e,this.faceLandmarks.getRightEye(),!0),dt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function On(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof z?r:Zt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new yr(n).draw(o)})}var No="1.7.3";var ft=v(x());var S=v(x());function Vn(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c){let m=r(s,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(s,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function a(s,i){let c=r(s,s,`${i}/separable_conv0`),m=r(s,s,`${i}/separable_conv1`),p=r(s,s,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:a}}function So(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=R(o),{extractConvParams:a,extractSeparableConvParams:s,extractReductionBlockParams:i,extractMainBlockParams:c}=Vn(r,e),m=a(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};it(t,0,1).forEach(h=>{l[`main_block_${h}`]=c(128,`middle_flow/main_block_${h}`)});let g=i(128,256,"exit_flow/reduction_block"),T=s(256,512,"exit_flow/separable_conv"),D={reduction_block:g,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:D}}}function Yn(o,t){let e=Y(o,t),r=hr(e),n=xe(e);function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}}function Lo(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}=Yn(o,e),i=r("entry_flow/conv_in"),c=a("entry_flow/reduction_block_0"),m=a("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};it(t,0,1).forEach(T=>{u[`main_block_${T}`]=s(`middle_flow/main_block_${T}`)});let f=a("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),g={reduction_block:f,separable_conv:l};return B(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:g},paramMappings:e}}function Ao(o,t,e){return S.add(S.conv2d(o,t.filters,e,"same"),t.bias)}function io(o,t,e=!0){let r=e?S.relu(o):o;return r=H(r,t.separable_conv0,[1,1]),r=H(S.relu(r),t.separable_conv1,[1,1]),r=S.maxPool(r,[3,3],[2,2],"same"),r=S.add(r,Ao(o,t.expansion_conv,[2,2])),r}function Gn(o,t){let e=H(S.relu(o),t.separable_conv0,[1,1]);return e=H(S.relu(e),t.separable_conv1,[1,1]),e=H(S.relu(e),t.separable_conv2,[1,1]),e=S.add(e,o),e}var _r=class extends A{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){let{params:r}=this;if(!r)throw new Error("TinyXception - load model before inference");return S.tidy(()=>{let n=S.cast(e.toBatchTensor(112,!0),"float32"),s=rt(n,[122.782,117.001,104.298]).div(255),i=S.relu(Ao(s,r.entry_flow.conv_in,[2,2]));return i=io(i,r.entry_flow.reduction_block_0,!1),i=io(i,r.entry_flow.reduction_block_1),it(this._numMainBlocks,0,1).forEach(c=>{i=Gn(i,r.middle_flow[`main_block_${c}`])}),i=io(i,r.exit_flow.reduction_block),i=S.relu(H(i,r.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await C(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(e){return Lo(e,this._numMainBlocks)}extractParams(e){return So(e,this._numMainBlocks)}};function Wo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),n=lr(e,t),a=n(512,1,"fc/age"),s=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:a,gender:s}}}}function ko(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return B(o,t),{params:n,paramMappings:t}}var Tr=(e=>(e.FEMALE="female",e.MALE="male",e))(Tr||{});var He=class extends A{constructor(e=new _r(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e,a=ft.avgPool(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),s=$e(a,r.fc.age).as1D(),i=$e(a,r.fc.gender);return{age:s,gender:i}})}forwardInput(e){return ft.tidy(()=>{let{age:r,gender:n}=this.runNet(e);return{age:r,gender:ft.softmax(n)}})}async forward(e){return this.forwardInput(await C(e))}async predictAgeAndGender(e){let r=await C(e),n=await this.forwardInput(r),a=ft.unstack(n.age),s=ft.unstack(n.gender),i=a.map((m,p)=>({ageTensor:m,genderTensor:s[p]})),c=await Promise.all(i.map(async({ageTensor:m,genderTensor:p})=>{let u=m.dataSync()[0],f=p.dataSync()[0],l=f>.5,g=l?"male":"female",T=l?f:1-f;return m.dispose(),p.dispose(),{age:u,gender:g,genderProbability:T}}));return n.age.dispose(),n.gender.dispose(),r.isBatchInput?c:c[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Wo(e)}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=gr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),ko(n)}extractParams(e){let n=e.slice(0,e.length-1539),a=e.slice(e.length-1539);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(a)}};var G=v(x());var Fe=class extends Te{postProcess(t,e,r){let n=r.map(({width:s,height:i})=>{let c=e/Math.max(i,s);return{width:s*c,height:i*c}}),a=n.length;return G.tidy(()=>{let s=(u,f)=>G.stack([G.fill([68],u,"float32"),G.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:g}=n[u];return f(l,g)?Math.abs(l-g)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>ls(c(f),m(f))))).div(G.stack(Array.from(Array(a),(u,f)=>s(n[f].width,n[f].height))))})}forwardInput(t){return G.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await C(t))}async detectLandmarks(t){let e=await C(t),r=G.tidy(()=>G.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(a,s)=>{let i=Array.from(a.dataSync()),c=i.filter((p,u)=>rr(u)),m=i.filter((p,u)=>!rr(u));return new Gt(Array(68).fill(0).map((p,u)=>new b(c[u],m[u])),{height:e.getInputHeight(s),width:e.getInputWidth(s)})}));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Kt=class extends Fe{constructor(t=new ve){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var De=v(x());function Bo(o){let t=[],{extractDenseBlock3Params:e}=br(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return B(o,t),{params:r,paramMappings:t}}function Ro(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock3Params:n}=dr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i}}}var Pr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return De.tidy(()=>{let r=De.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=pr(a,e.dense0,!0);return s=pr(s,e.dense1),s=pr(s,e.dense2),s=De.avgPool(s,[14,14],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Bo(t)}extractParams(t){return Ro(t)}};var ze=class extends Fe{constructor(t=new Pr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var co=class extends Kt{};var nt=v(x());var Ee=v(x());var wr=v(x());function $o(o,t){return wr.add(wr.mul(o,t.weights),t.biases)}function mo(o,t,e,r,n="same"){let{filters:a,bias:s}=t.conv,i=Ee.conv2d(o,a,e,n);return i=Ee.add(i,s),i=$o(i,t.scale),r?Ee.relu(i):i}function Oo(o,t){return mo(o,t,[1,1],!0)}function po(o,t){return mo(o,t,[1,1],!1)}function Fr(o,t){return mo(o,t,[2,2],!0,"valid")}var j=v(x());function jn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if(Br(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return j.tidy(()=>j.transpose(j.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=j.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=j.tensor1d(o(i)),p=j.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function a(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function s(i,c,m,p,u=!1){let f=a((u?.5:1)*i,c,m,`${p}/conv1`),l=a(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:a,extractResidualLayerParams:s}}function Ho(o){let{extractWeights:t,getRemainingWeights:e}=R(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=jn(t,r),s=n(4704,32,7,"conv32_down"),i=a(9216,32,3,"conv32_1"),c=a(9216,32,3,"conv32_2"),m=a(9216,32,3,"conv32_3"),p=a(36864,64,3,"conv64_down",!0),u=a(36864,64,3,"conv64_1"),f=a(36864,64,3,"conv64_2"),l=a(36864,64,3,"conv64_3"),g=a(147456,128,3,"conv128_down",!0),T=a(147456,128,3,"conv128_1"),D=a(147456,128,3,"conv128_2"),h=a(589824,256,3,"conv256_down",!0),_=a(589824,256,3,"conv256_1"),y=a(589824,256,3,"conv256_2"),E=a(589824,256,3,"conv256_down_out"),W=j.tidy(()=>j.transpose(j.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:s,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:g,conv128_1:T,conv128_2:D,conv256_down:h,conv256_1:_,conv256_2:y,conv256_down_out:E,fc:W},paramMappings:r}}function Un(o,t){let e=Y(o,t);function r(s){let i=e(`${s}/scale/weights`,1),c=e(`${s}/scale/biases`,1);return{weights:i,biases:c}}function n(s){let i=e(`${s}/conv/filters`,4),c=e(`${s}/conv/bias`,1),m=r(s);return{conv:{filters:i,bias:c},scale:m}}function a(s){return{conv1:n(`${s}/conv1`),conv2:n(`${s}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:a}}function zo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Un(o,t),n=e("conv32_down"),a=r("conv32_1"),s=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),g=r("conv128_2"),T=r("conv256_down"),D=r("conv256_1"),h=r("conv256_2"),_=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!kr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let E={conv32_down:n,conv32_1:a,conv32_2:s,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:g,conv256_down:T,conv256_1:D,conv256_2:h,conv256_down_out:_,fc:y};return B(o,t),{params:E,paramMappings:t}}var $=v(x());function ot(o,t){let e=Oo(o,t.conv1);return e=po(e,t.conv2),e=$.add(e,o),e=$.relu(e),e}function Ve(o,t){let e=Fr(o,t.conv1);e=po(e,t.conv2);let r=$.avgPool(o,2,2,"valid"),n=$.zeros(r.shape),a=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=$.zeros(i);e=$.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=$.zeros(m);e=$.concat([e,p],2)}return r=a?$.concat([r,n],3):r,e=$.add(r,e),e=$.relu(e),e}var Qt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=Fr(a,e.conv32_down);s=nt.maxPool(s,3,2,"valid"),s=ot(s,e.conv32_1),s=ot(s,e.conv32_2),s=ot(s,e.conv32_3),s=Ve(s,e.conv64_down),s=ot(s,e.conv64_1),s=ot(s,e.conv64_2),s=ot(s,e.conv64_3),s=Ve(s,e.conv128_down),s=ot(s,e.conv128_1),s=ot(s,e.conv128_2),s=Ve(s,e.conv256_down),s=ot(s,e.conv256_1),s=ot(s,e.conv256_2),s=Ve(s,e.conv256_down_out);let i=s.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await C(t))}async computeFaceDescriptor(t){var a;if((a=t==null?void 0:t.shape)!=null&&a.some(s=>s<=0))return new Float32Array(128);let e=await C(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(s=>s.data()));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return zo(t)}extractParams(t){return Ho(t)}};function Xn(o){let t=new Qt;return t.extractWeights(o),t}function Dr(o,t){return{...o,...{descriptor:t}}}function Jn(o){return typeof o.age=="number"}function Er(o,t){return{...o,...{age:t}}}function qn(o){return(o.gender==="male"||o.gender==="female")&&me(o.genderProbability)}function Mr(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Lt=v(x());var at=v(x());function Zn(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),g=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:g}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),g=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:g}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function a(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function s(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=a(32,64,"mobilenetv1/conv_1"),p=a(64,128,"mobilenetv1/conv_2"),u=a(128,128,"mobilenetv1/conv_3"),f=a(128,256,"mobilenetv1/conv_4"),l=a(256,256,"mobilenetv1/conv_5"),g=a(256,512,"mobilenetv1/conv_6"),T=a(512,512,"mobilenetv1/conv_7"),D=a(512,512,"mobilenetv1/conv_8"),h=a(512,512,"mobilenetv1/conv_9"),_=a(512,512,"mobilenetv1/conv_10"),y=a(512,512,"mobilenetv1/conv_11"),E=a(512,1024,"mobilenetv1/conv_12"),W=a(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,conv_8:D,conv_9:h,conv_10:_,conv_11:y,conv_12:E,conv_13:W}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),g=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),D=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),h=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),_=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),E=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),W=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),lt=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Dt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),Et=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Mt=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,box_predictor_0:{box_encoding_predictor:D,class_predictor:h},box_predictor_1:{box_encoding_predictor:_,class_predictor:y},box_predictor_2:{box_encoding_predictor:E,class_predictor:W},box_predictor_3:{box_encoding_predictor:tt,class_predictor:lt},box_predictor_4:{box_encoding_predictor:q,class_predictor:Dt},box_predictor_5:{box_encoding_predictor:Et,class_predictor:Mt}}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:i}}function Vo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=Zn(e,t),s=n(),i=a(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:s,prediction_layer:i,output_layer:m},paramMappings:t}}function Kn(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,g=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),D=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),h=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),_=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:g,batch_norm_scale:T,batch_norm_offset:D,batch_norm_mean:h,batch_norm_variance:_},pointwise_conv:r("MobilenetV1",m,l)}}function a(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function s(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=s(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=s(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:c}}function Yo(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=Kn(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!ht(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let a={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return B(o,t),{params:a,paramMappings:t}}var _t=v(x());var Nt=v(x());function Z(o,t,e){return Nt.tidy(()=>{let r=Nt.conv2d(o,t.filters,e,"same");return r=Nt.add(r,t.batch_norm_offset),Nt.clipByValue(r,0,6)})}var Qn=.0010000000474974513;function ta(o,t,e){return _t.tidy(()=>{let r=_t.depthwiseConv2d(o,t.filters,e,"same");return r=_t.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Qn),_t.clipByValue(r,0,6)})}function ea(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Go(o,t){return _t.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((a,s)=>{let i=s+1,c=ea(i);r=ta(r,a.depthwise_conv,c),r=Z(r,a.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ra(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),a=Math.min(r[t][1],r[t][3]),s=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(s-n)*(i-a),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let g=Math.max(n,c),T=Math.max(a,m),D=Math.min(s,p),h=Math.min(i,u),_=Math.max(D-g,0)*Math.max(h-T,0);return _/(f+l-_)}function jo(o,t,e,r,n){let a=o.shape[0],s=Math.min(e,a),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=s)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ra(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function oa(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function na(o,t){let{sizes:e,centers:r}=oa(o),n=d.unstack(d.transpose(t,[1,0])),a=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),s=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(s,a),d.sub(c,i),d.add(s,a),d.add(c,i)]),[1,0])}function Uo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=na(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let a=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),s=d.slice(a,[0,0,0],[-1,-1,1]);s=d.reshape(s,[r,s.shape[1]]);let i=d.unstack(n),c=d.unstack(s);return{boxes:i,scores:c}})}var Ge=v(x());var Ye=v(x());function te(o,t){return Ye.tidy(()=>{let e=o.shape[0],r=Ye.reshape(qt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ye.reshape(qt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Xo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),a=Z(n,e.conv_2,[1,1]),s=Z(a,e.conv_3,[2,2]),i=Z(s,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=te(t,e.box_predictor_0),f=te(o,e.box_predictor_1),l=te(n,e.box_predictor_2),g=te(s,e.box_predictor_3),T=te(c,e.box_predictor_4),D=te(p,e.box_predictor_5),h=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,g.boxPredictionEncoding,T.boxPredictionEncoding,D.boxPredictionEncoding],1),_=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,g.classPrediction,T.classPrediction,D.classPrediction],1);return{boxPredictions:h,classPredictions:_}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var St=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Lt.tidy(()=>{let r=Lt.cast(t.toBatchTensor(512,!1),"float32"),n=Lt.sub(Lt.div(r,127.5),1),a=Go(n,e.mobilenetv1),{boxPredictions:s,classPredictions:i}=Xo(a.out,a.conv11,e.prediction_layer);return Uo(s,i,e.output_layer)})}async forward(t){return this.forwardInput(await C(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),a=await C(t),{boxes:s,scores:i}=this.forwardInput(a),c=s[0],m=i[0];for(let y=1;y{let[E,W]=[Math.max(0,h[y][0]),Math.min(1,h[y][2])].map(q=>q*D),[tt,lt]=[Math.max(0,h[y][1]),Math.min(1,h[y][3])].map(q=>q*T);return new M(p[y],new Yt(tt,E,lt-tt,W-E),{height:a.getInputHeight(0),width:a.getInputWidth(0)})});return c.dispose(),m.dispose(),_}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Yo(t)}extractParams(t){return Vo(t)}};function Jo(o){let t=new St;return t.extractWeights(o),t}function aa(o){return Jo(o)}var uo=class extends St{};var qo=.4,Zo=[new b(.738768,.874946),new b(2.42204,2.65704),new b(4.30971,7.04493),new b(10.246,4.59428),new b(12.6868,11.8741)],Ko=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],Qo=[117.001,114.697,97.404],tn="tiny_yolov2_model",en="tiny_yolov2_separable_conv_model";var N=v(x());var Cr=o=>typeof o=="number";function fo(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Cr(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Cr(t.x)&&Cr(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Cr)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Me(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function Tt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Me(e)})}var At=v(x());function Pt(o,t){return At.tidy(()=>{let e=At.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=At.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=At.add(e,t.bias),Me(e)})}var lo=v(x());function sa(o,t){let e=be(o,t);function r(s,i){let c=lo.tensor1d(o(s)),m=lo.tensor1d(o(s));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(s,i,c){let m=e(s,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let a=ge(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}}function rn(o,t,e,r){let{extractWeights:n,getRemainingWeights:a}=R(o),s=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=sa(n,s),p;if(t.withSeparableConvs){let[u,f,l,g,T,D,h,_,y]=r,E=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),W=m(f,l,"conv1"),tt=m(l,g,"conv2"),lt=m(g,T,"conv3"),q=m(T,D,"conv4"),Dt=m(D,h,"conv5"),Et=_?m(h,_,"conv6"):void 0,Mt=y?m(_,y,"conv7"):void 0,$t=i(y||_||h,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}else{let[u,f,l,g,T,D,h,_,y]=r,E=c(u,f,"conv0"),W=c(f,l,"conv1"),tt=c(l,g,"conv2"),lt=c(g,T,"conv3"),q=c(T,D,"conv4"),Dt=c(D,h,"conv5"),Et=c(h,_,"conv6"),Mt=c(_,y,"conv7"),$t=i(y,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:p,paramMappings:s}}function ia(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function a(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let s=xe(e);return{extractConvParams:n,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}}function on(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}=ia(o,e),s;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;s={conv0:t.isFirstLayerConv2d?r("conv0"):a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:i>7?a("conv6"):void 0,conv7:i>8?a("conv7"):void 0,conv8:r("conv8")}}else s={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return B(o,e),{params:s,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var ho=class extends A{constructor(e){super("TinyYolov2");fo(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,r){let n=Tt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=Tt(n,r.conv6),n=Tt(n,r.conv7),qt(n,r.conv8,"valid",!1)}runMobilenet(e,r){let n=this.config.isFirstLayerConv2d?Me(qt(e,r.conv0,"valid",!1)):Pt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=r.conv6?Pt(n,r.conv6):n,n=r.conv7?Pt(n,r.conv7):n,qt(n,r.conv8,"valid",!1)}forwardInput(e,r){let{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return N.tidy(()=>{let a=N.cast(e.toBatchTensor(r,!1),"float32");return a=this.config.meanRgb?rt(a,this.config.meanRgb):a,a=a.div(255),this.config.withSeparableConvs?this.runMobilenet(a,n):this.runTinyYolov2(a,n)})}async forward(e,r){return this.forwardInput(await C(e),r)}async detect(e,r={}){let{inputSize:n,scoreThreshold:a}=new st(r),s=await C(e),i=await this.forwardInput(s,n),c=N.tidy(()=>N.unstack(i)[0].expandDims()),m={width:s.getInputWidth(0),height:s.getInputHeight(0)},p=await this.extractBoxes(c,s.getReshapedInputDimensions(0),a);i.dispose(),c.dispose();let u=p.map(h=>h.box),f=p.map(h=>h.score),l=p.map(h=>h.classScore),g=p.map(h=>this.config.classes[h.label]);return zr(u.map(h=>h.rescale(n)),f,this.config.iouThreshold,!0).map(h=>new bt(f[h],l[h],g[h],u[h],m))}getDefaultModelName(){return""}extractParamsFromWeightMap(e){return on(e,this.config)}extractParams(e){let r=this.config.filterSizes||ho.DEFAULT_FILTER_SIZES,n=r?r.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return rn(e,this.config,this.boxEncodingSize,r)}async extractBoxes(e,r,n){let{width:a,height:s}=r,i=Math.max(a,s),c=i/a,m=i/s,p=e.shape[1],u=this.config.anchors.length,[f,l,g]=N.tidy(()=>{let _=e.reshape([p,p,u,this.boxEncodingSize]),y=_.slice([0,0,0,0],[p,p,u,4]),E=_.slice([0,0,0,4],[p,p,u,1]),W=this.withClassScores?N.softmax(_.slice([0,0,0,5],[p,p,u,this.config.classes.length]),3):N.scalar(0);return[y,E,W]}),T=[],D=await l.array(),h=await f.array();for(let _=0;_n){let tt=(y+Ne(h[_][y][E][0]))/p*c,lt=(_+Ne(h[_][y][E][1]))/p*m,q=Math.exp(h[_][y][E][2])*this.config.anchors[E].x/p*c,Dt=Math.exp(h[_][y][E][3])*this.config.anchors[E].y/p*m,Et=tt-q/2,Mt=lt-Dt/2,$t={row:_,col:y,anchor:E},{classScore:xo,label:vo}=this.withClassScores?await this.extractPredictedClass(g,$t):{classScore:1,label:0};T.push({box:new Vt(Et,Mt,Et+q,Mt+Dt),score:W,classScore:W*xo,label:vo,...$t})}}return f.dispose(),l.dispose(),g.dispose(),T}async extractPredictedClass(e,r){let{row:n,col:a,anchor:s}=r,i=await e.array();return Array(this.config.classes.length).fill(0).map((c,m)=>i[n][a][s][m]).map((c,m)=>({classScore:c,label:m})).reduce((c,m)=>c.classScore>m.classScore?c:m)}},ee=ho;ee.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var re=class extends ee{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:qo,classes:["face"],...t?{anchors:Ko,meanRgb:Qo}:{anchors:Zo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?en:tn}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function ca(o,t=!0){let e=new re(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var bo=v(x());async function oe(o,t,e,r,n=({alignedRect:a})=>a){let a=o.map(c=>Zt(c)?n(c):c.detection),s=r||(t instanceof bo.Tensor?await de(t,a):await le(t,a)),i=await e(s);return s.forEach(c=>c instanceof bo.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return oe([o],t,async a=>e(a[0]),r,n)}var nn=.4,an=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],sn=[117.001,114.697,97.404];var ne=class extends ee{constructor(){let t={withSeparableConvs:!0,iouThreshold:nn,classes:["face"],anchors:an,meanRgb:sn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var w={ssdMobilenetv1:new St,tinyFaceDetector:new ne,tinyYolov2:new re,faceLandmark68Net:new Kt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Qt,faceExpressionNet:new Oe,ageGenderNet:new He},cn=(o,t)=>w.ssdMobilenetv1.locateFaces(o,t),ma=(o,t)=>w.tinyFaceDetector.locateFaces(o,t),pa=(o,t)=>w.tinyYolov2.locateFaces(o,t),mn=o=>w.faceLandmark68Net.detectLandmarks(o),ua=o=>w.faceLandmark68TinyNet.detectLandmarks(o),fa=o=>w.faceRecognitionNet.computeFaceDescriptor(o),la=o=>w.faceExpressionNet.predictExpressions(o),da=o=>w.ageGenderNet.predictAgeAndGender(o),pn=o=>w.ssdMobilenetv1.load(o),ha=o=>w.tinyFaceDetector.load(o),ba=o=>w.tinyYolov2.load(o),ga=o=>w.faceLandmark68Net.load(o),xa=o=>w.faceLandmark68TinyNet.load(o),va=o=>w.faceRecognitionNet.load(o),ya=o=>w.faceExpressionNet.load(o),_a=o=>w.ageGenderNet.load(o),Ta=pn,Pa=cn,wa=mn;var Ir=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Ir{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>xr(r,e[n]))}withAgeAndGender(){return new ie(this,this.input)}},se=class extends Ir{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceExpressionNet.predictExpressions(r),this.extractedFaces);return xr(t,e)}withAgeAndGender(){return new ce(this,this.input)}},Wt=class extends ae{withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},kt=class extends se{withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ie=class extends Nr{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:a,gender:s,genderProbability:i}=e[n];return Er(Mr(r,s,i),a)})}withFaceExpressions(){return new ae(this,this.input)}},ce=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,a=>w.ageGenderNet.predictAgeAndGender(a),this.extractedFaces);return Er(Mr(t,r,n),e)}withFaceExpressions(){return new se(this,this.input)}},Bt=class extends ie{withFaceExpressions(){return new Wt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Rt=class extends ce{withFaceExpressions(){return new kt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},wt=class extends Ue{async run(){let t=await this.parentTask;return(await oe(t,this.input,r=>Promise.all(r.map(n=>w.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Dr(t[n],r))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}},Ft=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Dr(t,e)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?w.faceLandmark68TinyNet:w.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(s=>s.detection),r=this.input instanceof Xe.Tensor?await de(this.input,e):await le(this.input,e),n=await Promise.all(r.map(s=>this.landmarkNet.detectLandmarks(s)));return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),t.filter((s,i)=>n[i]).map((s,i)=>we(s,n[i]))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await de(this.input,[e]):await le(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),we(t,n)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=w.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=w.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=w.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>jt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ie(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?jt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new se(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new ce(this.runAndExtendWithFaceDetection(),this.input)}};function Fa(o,t=new X){return new Qe(o,t)}function Sr(o,t=new X){return new Ie(o,t)}async function un(o,t){return Sr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Da(o,t={}){return Sr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Ea=un;function go(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,a)=>n-r[a]).reduce((n,a)=>n+a**2,0))}var tr=class{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,a=()=>`person ${n++}`;this._labeledDescriptors=r.map(s=>{if(s instanceof mt)return s;if(s instanceof Float32Array)return new mt(a(),[s]);if(s.descriptor&&s.descriptor instanceof Float32Array)return new mt(a(),[s.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>go(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new pe(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>mt.fromJSON(r));return new tr(e,t.distanceThreshold)}};function Ma(o){let t=new ne;return t.extractWeights(o),t}function fn(o,t){let{width:e,height:r}=new k(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>fn(n,{width:e,height:r}));if(Zt(o)){let n=o.detection.forSize(e,r),a=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return we(jt(o,n),a)}return pt(o)?jt(o,o.detection.forSize(e,r)):o instanceof z||o instanceof M?o.forSize(e,r):o}var Ia=No;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); +"use strict";var ln=Object.create;var er=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,gn=Object.prototype.hasOwnProperty;var xn=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),Lr=(o,t)=>{for(var e in t)er(o,e,{get:t[e],enumerable:!0})},yo=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of hn(t))!gn.call(o,n)&&n!==e&&er(o,n,{get:()=>t[n],enumerable:!(r=dn(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ln(bn(o)):{},yo(t||!o||!o.__esModule?er(e,"default",{value:o,enumerable:!0}):e,o)),vn=o=>yo(er({},"__esModule",{value:!0}),o);var x=xn((ka,Wr)=>{"use strict";var _o=Object.defineProperty,yn=Object.getOwnPropertyDescriptor,_n=Object.getOwnPropertyNames,Tn=Object.prototype.hasOwnProperty,Ar=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _n(t))!Tn.call(o,n)&&n!==e&&_o(o,n,{get:()=>t[n],enumerable:!(r=yn(t,n))||r.enumerable});return o},Pn=(o,t,e)=>(Ar(o,t,"default"),e&&Ar(e,t,"default")),wn=o=>Ar(_o({},"__esModule",{value:!0}),o),To={};Wr.exports=wn(To);Pn(To,require("@tensorflow/tfjs-node"),Wr.exports)});var Na={};Lr(Na,{AgeGenderNet:()=>He,BoundingBox:()=>Vt,Box:()=>F,ComposableTask:()=>J,ComputeAllFaceDescriptorsTask:()=>wt,ComputeFaceDescriptorsTaskBase:()=>Ue,ComputeSingleFaceDescriptorTask:()=>Ft,DetectAllFaceLandmarksTask:()=>qe,DetectAllFacesTask:()=>Ie,DetectFaceLandmarksTaskBase:()=>Je,DetectFacesTaskBase:()=>Ke,DetectSingleFaceLandmarksTask:()=>Ze,DetectSingleFaceTask:()=>Qe,Dimensions:()=>k,FACE_EXPRESSION_LABELS:()=>no,FaceDetection:()=>M,FaceDetectionNet:()=>uo,FaceExpressionNet:()=>Oe,FaceExpressions:()=>yt,FaceLandmark68Net:()=>Kt,FaceLandmark68TinyNet:()=>ze,FaceLandmarkNet:()=>co,FaceLandmarks:()=>z,FaceLandmarks5:()=>Yr,FaceLandmarks68:()=>Gt,FaceMatch:()=>pe,FaceMatcher:()=>tr,FaceRecognitionNet:()=>Qt,Gender:()=>Tr,LabeledBox:()=>ue,LabeledFaceDescriptors:()=>mt,NetInput:()=>ut,NeuralNetwork:()=>A,ObjectDetection:()=>bt,Point:()=>b,PredictedBox:()=>Gr,Rect:()=>Yt,SsdMobilenetv1:()=>St,SsdMobilenetv1Options:()=>X,TinyFaceDetector:()=>ne,TinyFaceDetectorOptions:()=>je,TinyYolov2:()=>re,TinyYolov2Options:()=>st,allFaces:()=>Ea,allFacesSsdMobilenetv1:()=>un,allFacesTinyYolov2:()=>Da,awaitMediaLoaded:()=>Kr,bufferToImage:()=>Qr,computeFaceDescriptor:()=>fa,createCanvas:()=>Jt,createCanvasFromMedia:()=>We,createFaceDetectionNet:()=>aa,createFaceRecognitionNet:()=>Xn,createSsdMobilenetv1:()=>Jo,createTinyFaceDetector:()=>Ma,createTinyYolov2:()=>ca,detectAllFaces:()=>Sr,detectFaceLandmarks:()=>mn,detectFaceLandmarksTiny:()=>ua,detectLandmarks:()=>wa,detectSingleFace:()=>Fa,draw:()=>so,env:()=>P,euclideanDistance:()=>go,extendWithAge:()=>Er,extendWithFaceDescriptor:()=>Dr,extendWithFaceDetection:()=>jt,extendWithFaceExpressions:()=>xr,extendWithFaceLandmarks:()=>we,extendWithGender:()=>Mr,extractFaceTensors:()=>de,extractFaces:()=>le,fetchImage:()=>An,fetchJson:()=>ro,fetchNetWeights:()=>Wn,fetchOrThrow:()=>xt,fetchVideo:()=>kn,getContext2dOrThrow:()=>O,getMediaDimensions:()=>Xt,imageTensorToCanvas:()=>to,imageToSquare:()=>eo,inverseSigmoid:()=>En,iou:()=>Or,isMediaElement:()=>ir,isMediaLoaded:()=>Ae,isWithAge:()=>Jn,isWithFaceDetection:()=>pt,isWithFaceExpressions:()=>ao,isWithFaceLandmarks:()=>Zt,isWithGender:()=>qn,loadAgeGenderModel:()=>_a,loadFaceDetectionModel:()=>Ta,loadFaceExpressionModel:()=>ya,loadFaceLandmarkModel:()=>ga,loadFaceLandmarkTinyModel:()=>xa,loadFaceRecognitionModel:()=>va,loadSsdMobilenetv1Model:()=>pn,loadTinyFaceDetectorModel:()=>ha,loadTinyYolov2Model:()=>ba,loadWeightMap:()=>oo,locateFaces:()=>Pa,matchDimensions:()=>Bn,minBbox:()=>Hr,nets:()=>w,nonMaxSuppression:()=>zr,normalize:()=>rt,padToSquare:()=>Vr,predictAgeAndGender:()=>da,recognizeFaceExpressions:()=>la,resizeResults:()=>fn,resolveInput:()=>Ut,shuffleArray:()=>Dn,sigmoid:()=>Ne,ssdMobilenetv1:()=>cn,tf:()=>Ca,tinyFaceDetector:()=>ma,tinyYolov2:()=>pa,toNetInput:()=>C,utils:()=>$r,validateConfig:()=>fo,version:()=>Ia});module.exports=vn(Na);var Ca=v(x());var so={};Lr(so,{AnchorPosition:()=>Zr,DrawBox:()=>Le,DrawBoxOptions:()=>ar,DrawFaceLandmarks:()=>yr,DrawFaceLandmarksOptions:()=>vr,DrawTextField:()=>gt,DrawTextFieldOptions:()=>fe,drawContour:()=>dt,drawDetections:()=>Ln,drawFaceExpressions:()=>Rn,drawFaceLandmarks:()=>On});function dt(o,t,e=!1){if(o.beginPath(),t.slice(1).forEach(({x:r,y:n},a)=>{let s=t[a];o.moveTo(s.x,s.y),o.lineTo(r,n)}),e){let r=t[t.length-1],n=t[0];if(!r||!n)return;o.moveTo(r.x,r.y),o.lineTo(n.x,n.y)}o.stroke()}var $r={};Lr($r,{computeReshapedDimensions:()=>Rr,getCenterPoint:()=>zt,isDimensions:()=>or,isEven:()=>rr,isFloat:()=>Br,isTensor:()=>Ot,isTensor1D:()=>Fn,isTensor2D:()=>kr,isTensor3D:()=>ht,isTensor4D:()=>U,isValidNumber:()=>et,isValidProbablitiy:()=>me,range:()=>it,round:()=>Ht});var Po=v(x());var k=class{constructor(t,e){if(!et(t)||!et(e))throw new Error(`Dimensions.constructor - expected width and height to be valid numbers, instead have ${JSON.stringify({width:t,height:e})}`);this._width=t,this._height=e}get width(){return this._width}get height(){return this._height}reverse(){return new k(1/this.width,1/this.height)}};function Ot(o,t){return o instanceof Po.Tensor&&o.shape.length===t}function Fn(o){return Ot(o,1)}function kr(o){return Ot(o,2)}function ht(o){return Ot(o,3)}function U(o){return Ot(o,4)}function Br(o){return o%1!==0}function rr(o){return o%2===0}function Ht(o,t=2){let e=10**t;return Math.floor(o*e)/e}function or(o){return o&&o.width&&o.height}function Rr({width:o,height:t},e){let r=e/Math.max(t,o);return new k(Math.round(o*r),Math.round(t*r))}function zt(o){return o.reduce((t,e)=>t.add(e),new b(0,0)).div(new b(o.length,o.length))}function it(o,t,e){return Array(o).fill(0).map((r,n)=>t+n*e)}function et(o){return!!o&&o!==1/0&&o!==-1/0&&!Number.isNaN(o)||o===0}function me(o){return et(o)&&o>=0&&o<=1}var b=class{constructor(t,e){this._x=t,this._y=e}get x(){return this._x}get y(){return this._y}add(t){return new b(this.x+t.x,this.y+t.y)}sub(t){return new b(this.x-t.x,this.y-t.y)}mul(t){return new b(this.x*t.x,this.y*t.y)}div(t){return new b(this.x/t.x,this.y/t.y)}abs(){return new b(Math.abs(this.x),Math.abs(this.y))}magnitude(){return Math.sqrt(this.x**2+this.y**2)}floor(){return new b(Math.floor(this.x),Math.floor(this.y))}};var F=class{static isRect(t){return!!t&&[t.x,t.y,t.width,t.height].every(et)}static assertIsValidBox(t,e,r=!1){if(!F.isRect(t))throw new Error(`${e} - invalid box: ${JSON.stringify(t)}, expected object with properties x, y, width, height`);if(!r&&(t.width<0||t.height<0))throw new Error(`${e} - width (${t.width}) and height (${t.height}) must be positive numbers`)}constructor(t,e=!0){let r=t||{},n=[r.left,r.top,r.right,r.bottom].every(et),a=[r.x,r.y,r.width,r.height].every(et);if(!a&&!n)throw new Error(`Box.constructor - expected box to be IBoundingBox | IRect, instead have ${JSON.stringify(r)}`);let[s,i,c,m]=a?[r.x,r.y,r.width,r.height]:[r.left,r.top,r.right-r.left,r.bottom-r.top];F.assertIsValidBox({x:s,y:i,width:c,height:m},"Box.constructor",e),this._x=s,this._y=i,this._width=c,this._height=m}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get area(){return this.width*this.height}get topLeft(){return new b(this.left,this.top)}get topRight(){return new b(this.right,this.top)}get bottomLeft(){return new b(this.left,this.bottom)}get bottomRight(){return new b(this.right,this.bottom)}round(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.round(a));return new F({x:t,y:e,width:r,height:n})}floor(){let[t,e,r,n]=[this.x,this.y,this.width,this.height].map(a=>Math.floor(a));return new F({x:t,y:e,width:r,height:n})}toSquare(){let{x:t,y:e,width:r,height:n}=this,a=Math.abs(r-n);return re&&(i=-u+e+r,u=e),f>t&&(c=-f+t+n,f=t),m<1&&(c=2-m,m=1),p<1&&(c=2-p,p=1),{dy:s,edy:c,dx:a,edx:i,y:p,ey:f,x:m,ex:u,w:r,h:n}}calibrate(t){return new F({left:this.left+t.left*this.width,top:this.top+t.top*this.height,right:this.right+t.right*this.width,bottom:this.bottom+t.bottom*this.height}).toSquare().round()}};var Vt=class extends F{constructor(t,e,r,n,a=!1){super({left:t,top:e,right:r,bottom:n},a)}};var bt=class{constructor(t,e,r,n,a){this._imageDims=new k(a.width,a.height),this._score=t,this._classScore=e,this._className=r,this._box=new F(n).rescale(this._imageDims)}get score(){return this._score}get classScore(){return this._classScore}get className(){return this._className}get box(){return this._box}get imageDims(){return this._imageDims}get imageWidth(){return this.imageDims.width}get imageHeight(){return this.imageDims.height}get relativeBox(){return new F(this._box).rescale(this.imageDims.reverse())}forSize(t,e){return new bt(this.score,this.classScore,this.className,this.relativeBox,{width:t,height:e})}};var M=class extends bt{constructor(t,e,r){super(t,t,"",e,r)}forSize(t,e){let{score:r,relativeBox:n,imageDims:a}=super.forSize(t,e);return new M(r,n,a)}};function Or(o,t,e=!0){let r=Math.max(0,Math.min(o.right,t.right)-Math.max(o.left,t.left)),n=Math.max(0,Math.min(o.bottom,t.bottom)-Math.max(o.top,t.top)),a=r*n;return e?a/(o.area+t.area-a):a/Math.min(o.area,t.area)}function Hr(o){let t=o.map(i=>i.x),e=o.map(i=>i.y),r=t.reduce((i,c)=>ccii({score:s,boxIndex:i})).sort((s,i)=>s.score-i.score).map(s=>s.boxIndex),a=[];for(;n.length>0;){let s=n.pop();a.push(s);let i=n,c=[];for(let m=0;mc[p]<=e)}return a}var ct=v(x());function rt(o,t){return ct.tidy(()=>{let[e,r,n]=t,a=ct.fill([...o.shape.slice(0,3),1],e,"float32"),s=ct.fill([...o.shape.slice(0,3),1],r,"float32"),i=ct.fill([...o.shape.slice(0,3),1],n,"float32"),c=ct.concat([a,s,i],3);return ct.sub(o,c)})}var Ct=v(x());function Vr(o,t=!1){return Ct.tidy(()=>{let[e,r]=o.shape.slice(1);if(e===r)return o;let n=Math.abs(e-r),a=Math.round(n*(t?.5:1)),s=e>r?2:1,i=f=>{let l=o.shape.slice();return l[s]=f,Ct.fill(l,0,"float32")},c=i(a),m=n-c.shape[s],u=[t&&m?i(m):null,o,c].filter(f=>!!f).map(f=>Ct.cast(f,"float32"));return Ct.concat(u,s)})}function Dn(o){let t=o.slice();for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function Ne(o){return 1/(1+Math.exp(-o))}function En(o){return Math.log(o/(1-o))}var Yt=class extends F{constructor(t,e,r,n,a=!1){super({x:t,y:e,width:r,height:n},a)}};var Mn=.5,Cn=.43,In=.45,z=class{constructor(t,e,r=new b(0,0)){let{width:n,height:a}=e;this._imgDims=new k(n,a),this._shift=r,this._positions=t.map(s=>s.mul(new b(n,a)).add(r))}get shift(){return new b(this._shift.x,this._shift.y)}get imageWidth(){return this._imgDims.width}get imageHeight(){return this._imgDims.height}get positions(){return this._positions}get relativePositions(){return this._positions.map(t=>t.sub(this._shift).div(new b(this.imageWidth,this.imageHeight)))}forSize(t,e){return new this.constructor(this.relativePositions,{width:t,height:e})}shiftBy(t,e){return new this.constructor(this.relativePositions,this._imgDims,new b(t,e))}shiftByPoint(t){return this.shiftBy(t.x,t.y)}align(t,e={}){if(t){let a=t instanceof M?t.box.floor():new F(t);return this.shiftBy(a.x,a.y).align(null,e)}let{useDlibAlignment:r,minBoxPadding:n}={useDlibAlignment:!1,minBoxPadding:.2,...e};return r?this.alignDlib():this.alignMinBbox(n)}alignDlib(){let t=this.getRefPointsForAlignment(),[e,r,n]=t,a=u=>n.sub(u).magnitude(),s=(a(e)+a(r))/2,i=Math.floor(s/In),c=zt(t),m=Math.floor(Math.max(0,c.x-Mn*i)),p=Math.floor(Math.max(0,c.y-Cn*i));return new Yt(m,p,Math.min(i,this.imageWidth+m),Math.min(i,this.imageHeight+p))}alignMinBbox(t){let e=Hr(this.positions);return e.pad(e.width*t,e.height*t)}getRefPointsForAlignment(){throw new Error("getRefPointsForAlignment not implemented by base class")}};var Yr=class extends z{getRefPointsForAlignment(){let t=this.positions;return[t[0],t[1],zt([t[3],t[4]])]}};var Gt=class extends z{getJawOutline(){return this.positions.slice(0,17)}getLeftEyeBrow(){return this.positions.slice(17,22)}getRightEyeBrow(){return this.positions.slice(22,27)}getNose(){return this.positions.slice(27,36)}getLeftEye(){return this.positions.slice(36,42)}getRightEye(){return this.positions.slice(42,48)}getMouth(){return this.positions.slice(48,68)}getRefPointsForAlignment(){return[this.getLeftEye(),this.getRightEye(),this.getMouth()].map(zt)}};var pe=class{constructor(t,e){this._label=t,this._distance=e}get label(){return this._label}get distance(){return this._distance}toString(t=!0){return`${this.label}${t?` (${Ht(this.distance)})`:""}`}};var ue=class extends F{constructor(e,r){super(e);this._label=r}static assertIsValidLabeledBox(e,r){if(F.assertIsValidBox(e,r),!et(e.label))throw new Error(`${r} - expected property label (${e.label}) to be a number`)}get label(){return this._label}};var mt=class{constructor(t,e){if(typeof t!="string")throw new Error("LabeledFaceDescriptors - constructor expected label to be a string");if(!Array.isArray(e)||e.some(r=>!(r instanceof Float32Array)))throw new Error("LabeledFaceDescriptors - constructor expected descriptors to be an array of Float32Array");this._label=t,this._descriptors=e}get label(){return this._label}get descriptors(){return this._descriptors}toJSON(){return{label:this.label,descriptors:this.descriptors.map(t=>Array.from(t))}}static fromJSON(t){let e=t.descriptors.map(r=>new Float32Array(r));return new mt(t.label,e)}};var Gr=class extends ue{constructor(e,r,n,a){super(e,r);this._score=n,this._classScore=a}static assertIsValidPredictedBox(e,r){if(ue.assertIsValidLabeledBox(e,r),!me(e.score)||!me(e.classScore))throw new Error(`${r} - expected properties score (${e.score}) and (${e.classScore}) to be a number between [0, 1]`)}get score(){return this._score}get classScore(){return this._classScore}};function pt(o){return o.detection instanceof M}function jt(o,t){return{...o,...{detection:t}}}function jr(){let o=window.fetch;if(!o)throw new Error("fetch - missing fetch implementation for browser environment");return{Canvas:HTMLCanvasElement,CanvasRenderingContext2D,Image:HTMLImageElement,ImageData,Video:HTMLVideoElement,createCanvasElement:()=>document.createElement("canvas"),createImageElement:()=>document.createElement("img"),createVideoElement:()=>document.createElement("video"),fetch:o,readFile:()=>{throw new Error("readFile - filesystem not available for browser environment")}}}function Se(){return typeof global=="object"&&typeof process!="undefined"&&process.versions!=null&&process.versions.node!=null}function nr(o){let t="";if(!o&&Se())try{o=require("fs")}catch(r){t=r.toString()}return{readFile:o?r=>new Promise((n,a)=>{o.readFile(r,(s,i)=>s?a(s):n(i))}):()=>{throw new Error(`readFile - failed to require fs in nodejs environment with error: ${t}`)}}}function Ur(){let o=global.Canvas||global.HTMLCanvasElement,t=global.Image||global.HTMLImageElement,e=global.Video||global.HTMLVideoElement,r=()=>{if(o)return new o;throw new Error("createCanvasElement - missing Canvas implementation for nodejs environment")},n=()=>{if(t)return new t;throw new Error("createImageElement - missing Image implementation for nodejs environment")},a=()=>{if(e)return new e;throw new Error("createVideoElement - missing Video implementation for nodejs environment")},s=global.fetch,i=nr();return{Canvas:o||class{},CanvasRenderingContext2D:global.CanvasRenderingContext2D||class{},Image:t||class{},ImageData:global.ImageData||class{},Video:global.HTMLVideoElement||class{},createCanvasElement:r,createImageElement:n,createVideoElement:a,fetch:s,...i}}function Xr(){return typeof window=="object"&&typeof document!="undefined"&&typeof HTMLImageElement!="undefined"&&typeof HTMLCanvasElement!="undefined"&&typeof HTMLVideoElement!="undefined"&&typeof ImageData!="undefined"&&typeof CanvasRenderingContext2D!="undefined"}var L;function Nn(){if(!L)throw new Error("getEnv - environment is not defined, check isNodejs() and isBrowser()");return L}function Jr(o){L=o}function qr(){return Xr()?Jr(jr()):Se()?Jr(Ur()):null}function Sn(o){if(L||qr(),!L)throw new Error("monkeyPatch - environment is not defined, check isNodejs() and isBrowser()");let{Canvas:t=L.Canvas,Image:e=L.Image}=o;L.Canvas=t,L.Image=e,L.createCanvasElement=o.createCanvasElement||(()=>new t),L.createImageElement=o.createImageElement||(()=>new e),L.ImageData=o.ImageData||L.ImageData,L.Video=o.Video||L.Video,L.fetch=o.fetch||L.fetch,L.readFile=o.readFile||L.readFile}var P={getEnv:Nn,setEnv:Jr,initialize:qr,createBrowserEnv:jr,createFileSystem:nr,createNodejsEnv:Ur,monkeyPatch:Sn,isBrowser:Xr,isNodejs:Se};qr();function Ut(o){return!P.isNodejs()&&typeof o=="string"?document.getElementById(o):o}function O(o){let{Canvas:t,CanvasRenderingContext2D:e}=P.getEnv();if(o instanceof e)return o;let r=Ut(o);if(!(r instanceof t))throw new Error("resolveContext2d - expected canvas to be of instance of Canvas");let n=r.getContext("2d");if(!n)throw new Error("resolveContext2d - canvas 2d context is null");return n}var Zr=(n=>(n.TOP_LEFT="TOP_LEFT",n.TOP_RIGHT="TOP_RIGHT",n.BOTTOM_LEFT="BOTTOM_LEFT",n.BOTTOM_RIGHT="BOTTOM_RIGHT",n))(Zr||{}),fe=class{constructor(t={}){let{anchorPosition:e,backgroundColor:r,fontColor:n,fontSize:a,fontStyle:s,padding:i}=t;this.anchorPosition=e||"TOP_LEFT",this.backgroundColor=r||"rgba(0, 0, 0, 0.5)",this.fontColor=n||"rgba(255, 255, 255, 1)",this.fontSize=a||14,this.fontStyle=s||"Georgia",this.padding=i||4}},gt=class{constructor(t,e,r={}){this.text=typeof t=="string"?[t]:t instanceof gt?t.text:t,this.anchor=e,this.options=new fe(r)}measureWidth(t){let{padding:e}=this.options;return this.text.map(r=>t.measureText(r).width).reduce((r,n)=>r{let g=c+u.x,T=c+u.y+(l+1)*s;r.fillText(f,g,T)})}};var ar=class{constructor(t={}){let{boxColor:e,lineWidth:r,label:n,drawLabelOptions:a}=t;this.boxColor=e||"rgba(0, 0, 255, 1)",this.lineWidth=r||2,this.label=n;let s={anchorPosition:"BOTTOM_LEFT",backgroundColor:this.boxColor};this.drawLabelOptions=new fe({...s,...a})}},Le=class{constructor(t,e={}){this.box=new F(t),this.options=new ar(e)}draw(t){let e=O(t),{boxColor:r,lineWidth:n}=this.options,{x:a,y:s,width:i,height:c}=this.box;e.strokeStyle=r,e.lineWidth=n,e.strokeRect(a,s,i,c);let{label:m}=this.options;m&&new gt([m],{x:a-n/2,y:s},this.options.drawLabelOptions).draw(t)}};function Ln(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof M?r.score:pt(r)?r.detection.score:void 0,a=r instanceof M?r.box:pt(r)?r.detection.box:new F(r),s=n?`${Ht(n)}`:void 0;new Le(a,{label:s}).draw(o)})}var Pe=v(x());function Ae(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t&&o.complete||o instanceof e&&o.readyState>=3}function Kr(o){return new Promise((t,e)=>{(o instanceof P.getEnv().Canvas||Ae(o))&&t(null);function r(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),e(a))}function n(a){!a.currentTarget||(a.currentTarget.removeEventListener("load",n),a.currentTarget.removeEventListener("error",r),t(a))}o.addEventListener("load",n),o.addEventListener("error",r)})}function Qr(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToImage - expected buf to be of type: Blob"));let r=new FileReader;r.onload=()=>{typeof r.result!="string"&&e(new Error("bufferToImage - expected reader.result to be a string, in onload"));let n=P.getEnv().createImageElement();n.onload=()=>t(n),n.onerror=e,n.src=r.result},r.onerror=e,r.readAsDataURL(o)})}function Xt(o){let{Image:t,Video:e}=P.getEnv();return o instanceof t?new k(o.naturalWidth,o.naturalHeight):o instanceof e?new k(o.videoWidth,o.videoHeight):new k(o.width,o.height)}function Jt({width:o,height:t}){let{createCanvasElement:e}=P.getEnv(),r=e();return r.width=o,r.height=t,r}function We(o,t){let{ImageData:e}=P.getEnv();if(!(o instanceof e)&&!Ae(o))throw new Error("createCanvasFromMedia - media has not finished loading yet");let{width:r,height:n}=t||Xt(o),a=Jt({width:r,height:n});return o instanceof e?O(a).putImageData(o,0,0):O(a).drawImage(o,0,0,r,n),a}var sr=v(x());async function to(o,t){let e=t||P.getEnv().createCanvasElement(),[r,n,a]=o.shape.slice(U(o)?1:0),s=sr.tidy(()=>o.as3D(r,n,a).toInt());return await sr.browser.toPixels(s,e),s.dispose(),e}function ir(o){let{Image:t,Canvas:e,Video:r}=P.getEnv();return o instanceof t||o instanceof e||o instanceof r}var V=v(x());function eo(o,t,e=!1){let{Image:r,Canvas:n}=P.getEnv();if(!(o instanceof r||o instanceof n))throw new Error("imageToSquare - expected arg0 to be HTMLImageElement | HTMLCanvasElement");if(t<=0)return Jt({width:1,height:1});let a=Xt(o),s=t/Math.max(a.height,a.width),i=s*a.width,c=s*a.height,m=Jt({width:t,height:t}),p=o instanceof n?o:We(o),u=Math.abs(i-c)/2,f=e&&i0&&p.height>0&&O(m).drawImage(p,f,l,i,c),m}var ut=class{constructor(t,e=!1){this._imageTensors=[];this._canvases=[];this._treatAsBatchInput=!1;this._inputDimensions=[];this._inputSize=0;if(!Array.isArray(t))throw new Error(`NetInput.constructor - expected inputs to be an Array of TResolvedNetInput or to be instanceof tf.Tensor4D, instead have ${t}`);this._treatAsBatchInput=e,this._batchSize=t.length,t.forEach((r,n)=>{if(ht(r)){this._imageTensors[n]=r,this._inputDimensions[n]=r.shape;return}if(U(r)){let s=r.shape[0];if(s!==1)throw new Error(`NetInput - tf.Tensor4D with batchSize ${s} passed, but not supported in input array`);this._imageTensors[n]=r,this._inputDimensions[n]=r.shape.slice(1);return}let a=r instanceof P.getEnv().Canvas?r:We(r);this._canvases[n]=a,this._inputDimensions[n]=[a.height,a.width,3]})}get imageTensors(){return this._imageTensors}get canvases(){return this._canvases}get isBatchInput(){return this.batchSize>1||this._treatAsBatchInput}get batchSize(){return this._batchSize}get inputDimensions(){return this._inputDimensions}get inputSize(){return this._inputSize}get reshapedInputDimensions(){return it(this.batchSize,0,1).map((t,e)=>this.getReshapedInputDimensions(e))}getInput(t){return this.canvases[t]||this.imageTensors[t]}getInputDimensions(t){return this._inputDimensions[t]}getInputHeight(t){return this._inputDimensions[t][0]}getInputWidth(t){return this._inputDimensions[t][1]}getReshapedInputDimensions(t){if(typeof this.inputSize!="number")throw new Error("getReshapedInputDimensions - inputSize not set, toBatchTensor has not been called yet");let e=this.getInputWidth(t),r=this.getInputHeight(t);return Rr({width:e,height:r},this.inputSize)}toBatchTensor(t,e=!0){return this._inputSize=t,V.tidy(()=>{let r=it(this.batchSize,0,1).map(a=>{let s=this.getInput(a);if(s instanceof V.Tensor){let i=U(s)?s:V.expandDims(s);return i=Vr(i,e),(i.shape[1]!==t||i.shape[2]!==t)&&(i=V.image.resizeBilinear(i,[t,t],!1,!1)),i.as3D(t,t,3)}if(s instanceof P.getEnv().Canvas)return V.browser.fromPixels(eo(s,t,e));throw new Error(`toBatchTensor - at batchIdx ${a}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${s}`)});return V.stack(r.map(a=>V.cast(a,"float32"))).as4D(this.batchSize,t,t,3)})}};async function C(o){if(o instanceof ut)return o;let t=Array.isArray(o)?o:[o];if(!t.length)throw new Error("toNetInput - empty array passed as input");let e=n=>Array.isArray(o)?` at input index ${n}:`:"",r=t.map(Ut);return r.forEach((n,a)=>{if(!ir(n)&&!ht(n)&&!U(n))throw typeof t[a]=="string"?new Error(`toNetInput -${e(a)} string passed, but could not resolve HTMLElement for element id ${t[a]}`):new Error(`toNetInput -${e(a)} expected media to be of type HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | tf.Tensor3D, or to be an element id`);if(U(n)){let s=n.shape[0];if(s!==1)throw new Error(`toNetInput -${e(a)} tf.Tensor4D with batchSize ${s} passed, but not supported in input array`)}}),await Promise.all(r.map(n=>ir(n)&&Kr(n))),new ut(r,Array.isArray(o))}async function le(o,t){let{Canvas:e}=P.getEnv(),r=o;if(!(o instanceof e)){let s=await C(o);if(s.batchSize>1)throw new Error("extractFaces - batchSize > 1 not supported");let i=s.getInput(0);r=i instanceof e?i:await to(i)}let n=O(r);return t.map(s=>s instanceof M?s.forSize(r.width,r.height).box.floor():s).map(s=>s.clipAtImageBorders(r.width,r.height)).map(({x:s,y:i,width:c,height:m})=>{let p=Jt({width:c,height:m});return c>0&&m>0&&O(p).putImageData(n.getImageData(s,i,c,m),0,0),p})}var cr=v(x());async function de(o,t){if(!ht(o)&&!U(o))throw new Error("extractFaceTensors - expected image tensor to be 3D or 4D");if(U(o)&&o.shape[0]>1)throw new Error("extractFaceTensors - batchSize > 1 not supported");return cr.tidy(()=>{let[e,r,n]=o.shape.slice(U(o)?1:0);return t.map(i=>i instanceof M?i.forSize(r,e).box:i).map(i=>i.clipAtImageBorders(r,e)).filter(i=>i.width>0&&i.height>0).map(({x:i,y:c,width:m,height:p})=>cr.slice3d(o.as3D(e,r,n),[c,i,0],[p,m,n]))})}async function xt(o,t){let{fetch:e}=P.getEnv(),r=await e(o,t);if(!(r.status<400))throw new Error(`failed to fetch: (${r.status}) ${r.statusText}, from url: ${r.url}`);return r}async function An(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("image/"))throw new Error(`fetchImage - expected blob type to be of type image/*, instead have: ${e.type}, for url: ${t.url}`);return Qr(e)}async function ro(o){return(await xt(o)).json()}async function Wn(o){return new Float32Array(await(await xt(o)).arrayBuffer())}function wo(o){return new Promise((t,e)=>{o instanceof Blob||e(new Error("bufferToVideo - expected buf to be of type: Blob"));let r=P.getEnv().createVideoElement();r.oncanplay=()=>t(r),r.onerror=e,r.playsInline=!0,r.muted=!0,r.src=URL.createObjectURL(o),r.play()})}async function kn(o){let t=await xt(o),e=await t.blob();if(!e.type.startsWith("video/"))throw new Error(`fetchVideo - expected blob type to be of type video/*, instead have: ${e.type}, for url: ${t.url}`);return wo(e)}var Fo=v(x());function mr(o,t){let e=`${t}-weights_manifest.json`;if(!o)return{modelBaseUri:"",manifestUri:e};if(o==="/")return{modelBaseUri:"/",manifestUri:`/${e}`};let r=o.startsWith("http://")?"http://":o.startsWith("https://")?"https://":"";o=o.replace(r,"");let n=o.split("/").filter(i=>i),a=o.endsWith(".json")?n[n.length-1]:e,s=r+(o.endsWith(".json")?n.slice(0,n.length-1):n).join("/");return s=o.startsWith("/")?`/${s}`:s,{modelBaseUri:s,manifestUri:s==="/"?`/${a}`:`${s}/${a}`}}async function oo(o,t){let{manifestUri:e,modelBaseUri:r}=mr(o,t),n=await ro(e);return Fo.io.loadWeights(n,r)}function Bn(o,t,e=!1){let{width:r,height:n}=e?Xt(t):t;return o.width=r,o.height=n,{width:r,height:n}}var ye=v(x());var vt=v(x());var A=class{constructor(t){this._params=void 0;this._paramMappings=[];this._name=t}get params(){return this._params}get paramMappings(){return this._paramMappings}get isLoaded(){return!!this.params}getParamFromPath(t){let{obj:e,objProp:r}=this.traversePropertyPath(t);return e[r]}reassignParamFromPath(t,e){let{obj:r,objProp:n}=this.traversePropertyPath(t);r[n].dispose(),r[n]=e}getParamList(){return this._paramMappings.map(({paramPath:t})=>({path:t,tensor:this.getParamFromPath(t)}))}getTrainableParams(){return this.getParamList().filter(t=>t.tensor instanceof vt.Variable)}getFrozenParams(){return this.getParamList().filter(t=>!(t.tensor instanceof vt.Variable))}variable(){this.getFrozenParams().forEach(({path:t,tensor:e})=>{this.reassignParamFromPath(t,e.variable())})}freeze(){this.getTrainableParams().forEach(({path:t,tensor:e})=>{let r=vt.tensor(e.dataSync());e.dispose(),this.reassignParamFromPath(t,r)})}dispose(t=!0){this.getParamList().forEach(e=>{if(t&&e.tensor.isDisposed)throw new Error(`param tensor has already been disposed for path ${e.path}`);e.tensor.dispose()}),this._params=void 0}serializeParams(){return new Float32Array(this.getParamList().map(({tensor:t})=>Array.from(t.dataSync())).reduce((t,e)=>t.concat(e)))}async load(t){if(t instanceof Float32Array){this.extractWeights(t);return}await this.loadFromUri(t)}async loadFromUri(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromUri - expected model uri`);let e=await oo(t,this.getDefaultModelName());this.loadFromWeightMap(e)}async loadFromDisk(t){if(t&&typeof t!="string")throw new Error(`${this._name}.loadFromDisk - expected model file path`);let{readFile:e}=P.getEnv(),{manifestUri:r,modelBaseUri:n}=mr(t,this.getDefaultModelName()),a=m=>Promise.all(m.map(p=>e(p).then(u=>u.buffer))),s=vt.io.weightsLoaderFactory(a),i=JSON.parse((await e(r)).toString()),c=await s(i,n);this.loadFromWeightMap(c)}loadFromWeightMap(t){let{paramMappings:e,params:r}=this.extractParamsFromWeightMap(t);this._paramMappings=e,this._params=r}extractWeights(t){let{paramMappings:e,params:r}=this.extractParams(t);this._paramMappings=e,this._params=r}traversePropertyPath(t){if(!this.params)throw new Error("traversePropertyPath - model has no loaded params");let e=t.split("/").reduce((a,s)=>{if(!a.nextObj.hasOwnProperty(s))throw new Error(`traversePropertyPath - object does not have property ${s}, for path ${t}`);return{obj:a.nextObj,objProp:s,nextObj:a.nextObj[s]}},{nextObj:this.params}),{obj:r,objProp:n}=e;if(!r||!n||!(r[n]instanceof vt.Tensor))throw new Error(`traversePropertyPath - parameter is not a tensor, for path ${t}`);return{obj:r,objProp:n}}};var I=v(x());var he=v(x());function H(o,t,e){return he.tidy(()=>{let r=he.separableConv2d(o,t.depthwise_filter,t.pointwise_filter,e,"same");return r=he.add(r,t.bias),r})}function pr(o,t,e=!1){return I.tidy(()=>{let r=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,[2,2],"same"),t.conv0.bias):H(o,t.conv0,[2,2])),n=H(r,t.conv1,[1,1]),a=I.relu(I.add(r,n)),s=H(a,t.conv2,[1,1]);return I.relu(I.add(r,I.add(n,s)))})}function ke(o,t,e=!1,r=!0){return I.tidy(()=>{let n=I.relu(e?I.add(I.conv2d(o,t.conv0.filters,r?[2,2]:[1,1],"same"),t.conv0.bias):H(o,t.conv0,r?[2,2]:[1,1])),a=H(n,t.conv1,[1,1]),s=I.relu(I.add(n,a)),i=H(s,t.conv2,[1,1]),c=I.relu(I.add(n,I.add(a,i))),m=H(c,t.conv3,[1,1]);return I.relu(I.add(n,I.add(a,I.add(i,m))))})}var It=v(x());function qt(o,t,e="same",r=!1){return It.tidy(()=>{let n=It.add(It.conv2d(o,t.filters,[1,1],e),t.bias);return r?It.relu(n):n})}function B(o,t){Object.keys(o).forEach(e=>{t.some(r=>r.originalPath===e)||o[e].dispose()})}var ur=v(x());function be(o,t){return(e,r,n,a)=>{let s=ur.tensor4d(o(e*r*n*n),[n,n,e,r]),i=ur.tensor1d(o(r));return t.push({paramPath:`${a}/filters`},{paramPath:`${a}/bias`}),{filters:s,bias:i}}}var fr=v(x());function lr(o,t){return(e,r,n)=>{let a=fr.tensor2d(o(e*r),[e,r]),s=fr.tensor1d(o(r));return t.push({paramPath:`${n}/weights`},{paramPath:`${n}/bias`}),{weights:a,bias:s}}}var Re=v(x());var Be=class{constructor(t,e,r){this.depthwise_filter=t;this.pointwise_filter=e;this.bias=r}};function ge(o,t){return(e,r,n)=>{let a=Re.tensor4d(o(9*e),[3,3,e,1]),s=Re.tensor4d(o(e*r),[1,1,e,r]),i=Re.tensor1d(o(r));return t.push({paramPath:`${n}/depthwise_filter`},{paramPath:`${n}/pointwise_filter`},{paramPath:`${n}/bias`}),new Be(a,s,i)}}function xe(o){return t=>{let e=o(`${t}/depthwise_filter`,4),r=o(`${t}/pointwise_filter`,4),n=o(`${t}/bias`,1);return new Be(e,r,n)}}function Y(o,t){return(e,r,n)=>{let a=o[e];if(!Ot(a,r))throw new Error(`expected weightMap[${e}] to be a Tensor${r}D, instead have ${a}`);return t.push({originalPath:e,paramPath:n||e}),a}}function R(o){let t=o;function e(n){let a=t.slice(0,n);return t=t.slice(n),a}function r(){return t}return{extractWeights:e,getRemainingWeights:r}}function dr(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c,m=!1){let p=m?e(s,i,3,`${c}/conv0`):r(s,i,`${c}/conv0`),u=r(i,i,`${c}/conv1`),f=r(i,i,`${c}/conv2`);return{conv0:p,conv1:u,conv2:f}}function a(s,i,c,m=!1){let{conv0:p,conv1:u,conv2:f}=n(s,i,c,m),l=r(i,i,`${c}/conv3`);return{conv0:p,conv1:u,conv2:f,conv3:l}}return{extractDenseBlock3Params:n,extractDenseBlock4Params:a}}function Do(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock4Params:n}=dr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2"),c=n(128,256,"dense3");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i,dense3:c}}}function hr(o){return t=>{let e=o(`${t}/filters`,4),r=o(`${t}/bias`,1);return{filters:e,bias:r}}}function br(o,t){let e=Y(o,t),r=hr(e),n=xe(e);function a(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`);return{conv0:m,conv1:p,conv2:u}}function s(i,c=!1){let m=c?r(`${i}/conv0`):n(`${i}/conv0`),p=n(`${i}/conv1`),u=n(`${i}/conv2`),f=n(`${i}/conv3`);return{conv0:m,conv1:p,conv2:u,conv3:f}}return{extractDenseBlock3Params:a,extractDenseBlock4Params:s}}function Eo(o){let t=[],{extractDenseBlock4Params:e}=br(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2"),dense3:e("dense3")};return B(o,t),{params:r,paramMappings:t}}var ve=class extends A{constructor(){super("FaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceFeatureExtractor - load model before inference");return ye.tidy(()=>{let r=ye.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=ke(a,e.dense0,!0);return s=ke(s,e.dense1),s=ke(s,e.dense2),s=ke(s,e.dense3),s=ye.avgPool(s,[7,7],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_model"}extractParamsFromWeightMap(t){return Eo(t)}extractParams(t){return Do(t)}};var Io=v(x());var _e=v(x());function $e(o,t){return _e.tidy(()=>_e.add(_e.matMul(o,t.weights),t.bias))}function Mo(o,t,e){let r=[],{extractWeights:n,getRemainingWeights:a}=R(o),i=lr(n,r)(t,e,"fc");if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{paramMappings:r,params:{fc:i}}}function Co(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:r("fc")};return B(o,t),{params:n,paramMappings:t}}function gr(o){let t={},e={};return Object.keys(o).forEach(r=>{let n=r.startsWith("fc")?e:t;n[r]=o[r]}),{featureExtractorMap:t,classifierMap:e}}var Te=class extends A{constructor(e,r){super(e);this._faceFeatureExtractor=r}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return Io.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e;return $e(n.as2D(n.shape[0],-1),r.fc)})}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Mo(e,this.getClassifierChannelsIn(),this.getClassifierChannelsOut())}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=gr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),Co(n)}extractParams(e){let r=this.getClassifierChannelsIn(),n=this.getClassifierChannelsOut(),a=n*r+n,s=e.slice(0,e.length-a),i=e.slice(e.length-a);return this.faceFeatureExtractor.extractWeights(s),this.extractClassifierParams(i)}};var no=["neutral","happy","sad","angry","fearful","disgusted","surprised"],yt=class{constructor(t){this.neutral=0;this.happy=0;this.sad=0;this.angry=0;this.fearful=0;this.disgusted=0;this.surprised=0;if(t.length!==7)throw new Error(`FaceExpressions.constructor - expected probabilities.length to be 7, have: ${t.length}`);no.forEach((e,r)=>{this[e]=t[r]})}asSortedArray(){return no.map(t=>({expression:t,probability:this[t]})).sort((t,e)=>e.probability-t.probability)}};var Oe=class extends Te{constructor(t=new ve){super("FaceExpressionNet",t)}forwardInput(t){return Pe.tidy(()=>Pe.softmax(this.runNet(t)))}async forward(t){return this.forwardInput(await C(t))}async predictExpressions(t){let e=await C(t),r=await this.forwardInput(e),n=await Promise.all(Pe.unstack(r).map(async s=>{let i=s.dataSync();return s.dispose(),i}));r.dispose();let a=n.map(s=>new yt(s));return e.isBatchInput?a:a[0]}getDefaultModelName(){return"face_expression_model"}getClassifierChannelsIn(){return 256}getClassifierChannelsOut(){return 7}};function ao(o){return o.expressions instanceof yt}function xr(o,t){return{...o,...{expressions:t}}}function Rn(o,t,e=.1,r){(Array.isArray(t)?t:[t]).forEach(a=>{let s=a instanceof yt?a:ao(a)?a.expressions:void 0;if(!s)throw new Error("drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof");let c=s.asSortedArray().filter(u=>u.probability>e),m=pt(a)?a.detection.box.bottomLeft:r||new b(0,0);new gt(c.map(u=>`${u.expression} (${Ht(u.probability)})`),m).draw(o)})}function Zt(o){return pt(o)&&o.landmarks instanceof z&&o.unshiftedLandmarks instanceof z&&o.alignedRect instanceof M}function $n(o){let t=(i,c,m,p)=>Math.atan2(p-c,m-i)%Math.PI,e=i=>i*180/Math.PI,r={roll:void 0,pitch:void 0,yaw:void 0};if(!o||!o._positions||o._positions.length!==68)return r;let n=o._positions;r.roll=-t(n[36]._x,n[36]._y,n[45]._x,n[45]._y),r.pitch=t(0,Math.abs(n[0]._x-n[30]._x)/n[30]._x,Math.PI,Math.abs(n[16]._x-n[30]._x)/n[30]._x);let a=n.reduce((i,c)=>ii>c._y?i:c._y,-1/0);return r.yaw=Math.PI*(o._imgDims._height/(s-a)/1.4-1),r}function we(o,t){let{box:e}=o.detection,r=t.shiftBy(e.x,e.y),n=r.align(),{imageDims:a}=o.detection,s=new M(o.detection.score,n.rescale(a.reverse()),a),i=$n(t);return{...o,...{landmarks:r,unshiftedLandmarks:t,alignedRect:s,angle:i}}}var vr=class{constructor(t={}){let{drawLines:e=!0,drawPoints:r=!0,lineWidth:n,lineColor:a,pointSize:s,pointColor:i}=t;this.drawLines=e,this.drawPoints=r,this.lineWidth=n||1,this.pointSize=s||2,this.lineColor=a||"rgba(0, 255, 255, 1)",this.pointColor=i||"rgba(255, 0, 255, 1)"}},yr=class{constructor(t,e={}){this.faceLandmarks=t,this.options=new vr(e)}draw(t){let e=O(t),{drawLines:r,drawPoints:n,lineWidth:a,lineColor:s,pointSize:i,pointColor:c}=this.options;if(r&&this.faceLandmarks instanceof Gt&&(e.strokeStyle=s,e.lineWidth=a,dt(e,this.faceLandmarks.getJawOutline()),dt(e,this.faceLandmarks.getLeftEyeBrow()),dt(e,this.faceLandmarks.getRightEyeBrow()),dt(e,this.faceLandmarks.getNose()),dt(e,this.faceLandmarks.getLeftEye(),!0),dt(e,this.faceLandmarks.getRightEye(),!0),dt(e,this.faceLandmarks.getMouth(),!0)),n){e.strokeStyle=c,e.fillStyle=c;let m=p=>{e.beginPath(),e.arc(p.x,p.y,i,0,2*Math.PI),e.fill()};this.faceLandmarks.positions.forEach(m)}}};function On(o,t){(Array.isArray(t)?t:[t]).forEach(r=>{let n=r instanceof z?r:Zt(r)?r.landmarks:void 0;if(!n)throw new Error("drawFaceLandmarks - expected faceExpressions to be FaceLandmarks | WithFaceLandmarks> or array thereof");new yr(n).draw(o)})}var No="1.7.3";var ft=v(x());var S=v(x());function Vn(o,t){let e=be(o,t),r=ge(o,t);function n(s,i,c){let m=r(s,i,`${c}/separable_conv0`),p=r(i,i,`${c}/separable_conv1`),u=e(s,i,1,`${c}/expansion_conv`);return{separable_conv0:m,separable_conv1:p,expansion_conv:u}}function a(s,i){let c=r(s,s,`${i}/separable_conv0`),m=r(s,s,`${i}/separable_conv1`),p=r(s,s,`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:e,extractSeparableConvParams:r,extractReductionBlockParams:n,extractMainBlockParams:a}}function So(o,t){let e=[],{extractWeights:r,getRemainingWeights:n}=R(o),{extractConvParams:a,extractSeparableConvParams:s,extractReductionBlockParams:i,extractMainBlockParams:c}=Vn(r,e),m=a(3,32,3,"entry_flow/conv_in"),p=i(32,64,"entry_flow/reduction_block_0"),u=i(64,128,"entry_flow/reduction_block_1"),f={conv_in:m,reduction_block_0:p,reduction_block_1:u},l={};it(t,0,1).forEach(h=>{l[`main_block_${h}`]=c(128,`middle_flow/main_block_${h}`)});let g=i(128,256,"exit_flow/reduction_block"),T=s(256,512,"exit_flow/separable_conv"),D={reduction_block:g,separable_conv:T};if(n().length!==0)throw new Error(`weights remaing after extract: ${n().length}`);return{paramMappings:e,params:{entry_flow:f,middle_flow:l,exit_flow:D}}}function Yn(o,t){let e=Y(o,t),r=hr(e),n=xe(e);function a(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=r(`${i}/expansion_conv`);return{separable_conv0:c,separable_conv1:m,expansion_conv:p}}function s(i){let c=n(`${i}/separable_conv0`),m=n(`${i}/separable_conv1`),p=n(`${i}/separable_conv2`);return{separable_conv0:c,separable_conv1:m,separable_conv2:p}}return{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}}function Lo(o,t){let e=[],{extractConvParams:r,extractSeparableConvParams:n,extractReductionBlockParams:a,extractMainBlockParams:s}=Yn(o,e),i=r("entry_flow/conv_in"),c=a("entry_flow/reduction_block_0"),m=a("entry_flow/reduction_block_1"),p={conv_in:i,reduction_block_0:c,reduction_block_1:m},u={};it(t,0,1).forEach(T=>{u[`main_block_${T}`]=s(`middle_flow/main_block_${T}`)});let f=a("exit_flow/reduction_block"),l=n("exit_flow/separable_conv"),g={reduction_block:f,separable_conv:l};return B(o,e),{params:{entry_flow:p,middle_flow:u,exit_flow:g},paramMappings:e}}function Ao(o,t,e){return S.add(S.conv2d(o,t.filters,e,"same"),t.bias)}function io(o,t,e=!0){let r=e?S.relu(o):o;return r=H(r,t.separable_conv0,[1,1]),r=H(S.relu(r),t.separable_conv1,[1,1]),r=S.maxPool(r,[3,3],[2,2],"same"),r=S.add(r,Ao(o,t.expansion_conv,[2,2])),r}function Gn(o,t){let e=H(S.relu(o),t.separable_conv0,[1,1]);return e=H(S.relu(e),t.separable_conv1,[1,1]),e=H(S.relu(e),t.separable_conv2,[1,1]),e=S.add(e,o),e}var _r=class extends A{constructor(e){super("TinyXception");this._numMainBlocks=e}forwardInput(e){let{params:r}=this;if(!r)throw new Error("TinyXception - load model before inference");return S.tidy(()=>{let n=S.cast(e.toBatchTensor(112,!0),"float32"),s=rt(n,[122.782,117.001,104.298]).div(255),i=S.relu(Ao(s,r.entry_flow.conv_in,[2,2]));return i=io(i,r.entry_flow.reduction_block_0,!1),i=io(i,r.entry_flow.reduction_block_1),it(this._numMainBlocks,0,1).forEach(c=>{i=Gn(i,r.middle_flow[`main_block_${c}`])}),i=io(i,r.exit_flow.reduction_block),i=S.relu(H(i,r.exit_flow.separable_conv,[1,1])),i})}async forward(e){return this.forwardInput(await C(e))}getDefaultModelName(){return"tiny_xception_model"}extractParamsFromWeightMap(e){return Lo(e,this._numMainBlocks)}extractParams(e){return So(e,this._numMainBlocks)}};function Wo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),n=lr(e,t),a=n(512,1,"fc/age"),s=n(512,2,"fc/gender");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{fc:{age:a,gender:s}}}}function ko(o){let t=[],e=Y(o,t);function r(a){let s=e(`${a}/weights`,2),i=e(`${a}/bias`,1);return{weights:s,bias:i}}let n={fc:{age:r("fc/age"),gender:r("fc/gender")}};return B(o,t),{params:n,paramMappings:t}}var Tr=(e=>(e.FEMALE="female",e.MALE="male",e))(Tr||{});var He=class extends A{constructor(e=new _r(2)){super("AgeGenderNet");this._faceFeatureExtractor=e}get faceFeatureExtractor(){return this._faceFeatureExtractor}runNet(e){let{params:r}=this;if(!r)throw new Error(`${this._name} - load model before inference`);return ft.tidy(()=>{let n=e instanceof ut?this.faceFeatureExtractor.forwardInput(e):e,a=ft.avgPool(n,[7,7],[2,2],"valid").as2D(n.shape[0],-1),s=$e(a,r.fc.age).as1D(),i=$e(a,r.fc.gender);return{age:s,gender:i}})}forwardInput(e){return ft.tidy(()=>{let{age:r,gender:n}=this.runNet(e);return{age:r,gender:ft.softmax(n)}})}async forward(e){return this.forwardInput(await C(e))}async predictAgeAndGender(e){let r=await C(e),n=await this.forwardInput(r),a=ft.unstack(n.age),s=ft.unstack(n.gender),i=a.map((m,p)=>({ageTensor:m,genderTensor:s[p]})),c=await Promise.all(i.map(async({ageTensor:m,genderTensor:p})=>{let u=m.dataSync()[0],f=p.dataSync()[0],l=f>.5,g=l?"male":"female",T=l?f:1-f;return m.dispose(),p.dispose(),{age:u,gender:g,genderProbability:T}}));return n.age.dispose(),n.gender.dispose(),r.isBatchInput?c:c[0]}getDefaultModelName(){return"age_gender_model"}dispose(e=!0){this.faceFeatureExtractor.dispose(e),super.dispose(e)}loadClassifierParams(e){let{params:r,paramMappings:n}=this.extractClassifierParams(e);this._params=r,this._paramMappings=n}extractClassifierParams(e){return Wo(e)}extractParamsFromWeightMap(e){let{featureExtractorMap:r,classifierMap:n}=gr(e);return this.faceFeatureExtractor.loadFromWeightMap(r),ko(n)}extractParams(e){let n=e.slice(0,e.length-1539),a=e.slice(e.length-1539);return this.faceFeatureExtractor.extractWeights(n),this.extractClassifierParams(a)}};var G=v(x());var Fe=class extends Te{postProcess(t,e,r){let n=r.map(({width:s,height:i})=>{let c=e/Math.max(i,s);return{width:s*c,height:i*c}}),a=n.length;return G.tidy(()=>{let s=(u,f)=>G.stack([G.fill([68],u,"float32"),G.fill([68],f,"float32")],1).as2D(1,136).as1D(),i=(u,f)=>{let{width:l,height:g}=n[u];return f(l,g)?Math.abs(l-g)/2:0},c=u=>i(u,(f,l)=>fi(u,(f,l)=>ls(c(f),m(f))))).div(G.stack(Array.from(Array(a),(u,f)=>s(n[f].width,n[f].height))))})}forwardInput(t){return G.tidy(()=>{let e=this.runNet(t);return this.postProcess(e,t.inputSize,t.inputDimensions.map(([r,n])=>({height:r,width:n})))})}async forward(t){return this.forwardInput(await C(t))}async detectLandmarks(t){let e=await C(t),r=G.tidy(()=>G.unstack(this.forwardInput(e))),n=await Promise.all(r.map(async(a,s)=>{let i=Array.from(a.dataSync()),c=i.filter((p,u)=>rr(u)),m=i.filter((p,u)=>!rr(u));return new Gt(Array(68).fill(0).map((p,u)=>new b(c[u],m[u])),{height:e.getInputHeight(s),width:e.getInputWidth(s)})}));return r.forEach(a=>a.dispose()),e.isBatchInput?n:n[0]}getClassifierChannelsOut(){return 136}};var Kt=class extends Fe{constructor(t=new ve){super("FaceLandmark68Net",t)}getDefaultModelName(){return"face_landmark_68_model"}getClassifierChannelsIn(){return 256}};var De=v(x());function Bo(o){let t=[],{extractDenseBlock3Params:e}=br(o,t),r={dense0:e("dense0",!0),dense1:e("dense1"),dense2:e("dense2")};return B(o,t),{params:r,paramMappings:t}}function Ro(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractDenseBlock3Params:n}=dr(e,t),a=n(3,32,"dense0",!0),s=n(32,64,"dense1"),i=n(64,128,"dense2");if(r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{paramMappings:t,params:{dense0:a,dense1:s,dense2:i}}}var Pr=class extends A{constructor(){super("TinyFaceFeatureExtractor")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("TinyFaceFeatureExtractor - load model before inference");return De.tidy(()=>{let r=De.cast(t.toBatchTensor(112,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=pr(a,e.dense0,!0);return s=pr(s,e.dense1),s=pr(s,e.dense2),s=De.avgPool(s,[14,14],[2,2],"valid"),s})}async forward(t){return this.forwardInput(await C(t))}getDefaultModelName(){return"face_feature_extractor_tiny_model"}extractParamsFromWeightMap(t){return Bo(t)}extractParams(t){return Ro(t)}};var ze=class extends Fe{constructor(t=new Pr){super("FaceLandmark68TinyNet",t)}getDefaultModelName(){return"face_landmark_68_tiny_model"}getClassifierChannelsIn(){return 128}};var co=class extends Kt{};var nt=v(x());var Ee=v(x());var wr=v(x());function $o(o,t){return wr.add(wr.mul(o,t.weights),t.biases)}function mo(o,t,e,r,n="same"){let{filters:a,bias:s}=t.conv,i=Ee.conv2d(o,a,e,n);return i=Ee.add(i,s),i=$o(i,t.scale),r?Ee.relu(i):i}function Oo(o,t){return mo(o,t,[1,1],!0)}function po(o,t){return mo(o,t,[1,1],!1)}function Fr(o,t){return mo(o,t,[2,2],!0,"valid")}var j=v(x());function jn(o,t){function e(i,c,m){let p=o(i),u=p.length/(c*m*m);if(Br(u))throw new Error(`depth has to be an integer: ${u}, weights.length: ${p.length}, numFilters: ${c}, filterSize: ${m}`);return j.tidy(()=>j.transpose(j.tensor4d(p,[c,u,m,m]),[2,3,1,0]))}function r(i,c,m,p){let u=e(i,c,m),f=j.tensor1d(o(c));return t.push({paramPath:`${p}/filters`},{paramPath:`${p}/bias`}),{filters:u,bias:f}}function n(i,c){let m=j.tensor1d(o(i)),p=j.tensor1d(o(i));return t.push({paramPath:`${c}/weights`},{paramPath:`${c}/biases`}),{weights:m,biases:p}}function a(i,c,m,p){let u=r(i,c,m,`${p}/conv`),f=n(c,`${p}/scale`);return{conv:u,scale:f}}function s(i,c,m,p,u=!1){let f=a((u?.5:1)*i,c,m,`${p}/conv1`),l=a(i,c,m,`${p}/conv2`);return{conv1:f,conv2:l}}return{extractConvLayerParams:a,extractResidualLayerParams:s}}function Ho(o){let{extractWeights:t,getRemainingWeights:e}=R(o),r=[],{extractConvLayerParams:n,extractResidualLayerParams:a}=jn(t,r),s=n(4704,32,7,"conv32_down"),i=a(9216,32,3,"conv32_1"),c=a(9216,32,3,"conv32_2"),m=a(9216,32,3,"conv32_3"),p=a(36864,64,3,"conv64_down",!0),u=a(36864,64,3,"conv64_1"),f=a(36864,64,3,"conv64_2"),l=a(36864,64,3,"conv64_3"),g=a(147456,128,3,"conv128_down",!0),T=a(147456,128,3,"conv128_1"),D=a(147456,128,3,"conv128_2"),h=a(589824,256,3,"conv256_down",!0),_=a(589824,256,3,"conv256_1"),y=a(589824,256,3,"conv256_2"),E=a(589824,256,3,"conv256_down_out"),W=j.tidy(()=>j.transpose(j.tensor2d(t(256*128),[128,256]),[1,0]));if(r.push({paramPath:"fc"}),e().length!==0)throw new Error(`weights remaing after extract: ${e().length}`);return{params:{conv32_down:s,conv32_1:i,conv32_2:c,conv32_3:m,conv64_down:p,conv64_1:u,conv64_2:f,conv64_3:l,conv128_down:g,conv128_1:T,conv128_2:D,conv256_down:h,conv256_1:_,conv256_2:y,conv256_down_out:E,fc:W},paramMappings:r}}function Un(o,t){let e=Y(o,t);function r(s){let i=e(`${s}/scale/weights`,1),c=e(`${s}/scale/biases`,1);return{weights:i,biases:c}}function n(s){let i=e(`${s}/conv/filters`,4),c=e(`${s}/conv/bias`,1),m=r(s);return{conv:{filters:i,bias:c},scale:m}}function a(s){return{conv1:n(`${s}/conv1`),conv2:n(`${s}/conv2`)}}return{extractConvLayerParams:n,extractResidualLayerParams:a}}function zo(o){let t=[],{extractConvLayerParams:e,extractResidualLayerParams:r}=Un(o,t),n=e("conv32_down"),a=r("conv32_1"),s=r("conv32_2"),i=r("conv32_3"),c=r("conv64_down"),m=r("conv64_1"),p=r("conv64_2"),u=r("conv64_3"),f=r("conv128_down"),l=r("conv128_1"),g=r("conv128_2"),T=r("conv256_down"),D=r("conv256_1"),h=r("conv256_2"),_=r("conv256_down_out"),{fc:y}=o;if(t.push({originalPath:"fc",paramPath:"fc"}),!kr(y))throw new Error(`expected weightMap[fc] to be a Tensor2D, instead have ${y}`);let E={conv32_down:n,conv32_1:a,conv32_2:s,conv32_3:i,conv64_down:c,conv64_1:m,conv64_2:p,conv64_3:u,conv128_down:f,conv128_1:l,conv128_2:g,conv256_down:T,conv256_1:D,conv256_2:h,conv256_down_out:_,fc:y};return B(o,t),{params:E,paramMappings:t}}var $=v(x());function ot(o,t){let e=Oo(o,t.conv1);return e=po(e,t.conv2),e=$.add(e,o),e=$.relu(e),e}function Ve(o,t){let e=Fr(o,t.conv1);e=po(e,t.conv2);let r=$.avgPool(o,2,2,"valid"),n=$.zeros(r.shape),a=r.shape[3]!==e.shape[3];if(r.shape[1]!==e.shape[1]||r.shape[2]!==e.shape[2]){let i=[...e.shape];i[1]=1;let c=$.zeros(i);e=$.concat([e,c],1);let m=[...e.shape];m[2]=1;let p=$.zeros(m);e=$.concat([e,p],2)}return r=a?$.concat([r,n],3):r,e=$.add(r,e),e=$.relu(e),e}var Qt=class extends A{constructor(){super("FaceRecognitionNet")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("FaceRecognitionNet - load model before inference");return nt.tidy(()=>{let r=nt.cast(t.toBatchTensor(150,!0),"float32"),a=rt(r,[122.782,117.001,104.298]).div(255),s=Fr(a,e.conv32_down);s=nt.maxPool(s,3,2,"valid"),s=ot(s,e.conv32_1),s=ot(s,e.conv32_2),s=ot(s,e.conv32_3),s=Ve(s,e.conv64_down),s=ot(s,e.conv64_1),s=ot(s,e.conv64_2),s=ot(s,e.conv64_3),s=Ve(s,e.conv128_down),s=ot(s,e.conv128_1),s=ot(s,e.conv128_2),s=Ve(s,e.conv256_down),s=ot(s,e.conv256_1),s=ot(s,e.conv256_2),s=Ve(s,e.conv256_down_out);let i=s.mean([1,2]);return nt.matMul(i,e.fc)})}async forward(t){return this.forwardInput(await C(t))}async computeFaceDescriptor(t){var a;if((a=t==null?void 0:t.shape)!=null&&a.some(s=>s<=0))return new Float32Array(128);let e=await C(t),r=nt.tidy(()=>nt.unstack(this.forwardInput(e))),n=await Promise.all(r.map(s=>s.data()));return r.forEach(s=>s.dispose()),e.isBatchInput?n:n[0]}getDefaultModelName(){return"face_recognition_model"}extractParamsFromWeightMap(t){return zo(t)}extractParams(t){return Ho(t)}};function Xn(o){let t=new Qt;return t.extractWeights(o),t}function Dr(o,t){return{...o,...{descriptor:t}}}function Jn(o){return typeof o.age=="number"}function Er(o,t){return{...o,...{age:t}}}function qn(o){return(o.gender==="male"||o.gender==="female")&&me(o.genderProbability)}function Mr(o,t,e){return{...o,...{gender:t,genderProbability:e}}}var Lt=v(x());var at=v(x());function Zn(o,t){function e(c,m){let p=at.tensor4d(o(9*c),[3,3,c,1]),u=at.tensor1d(o(c)),f=at.tensor1d(o(c)),l=at.tensor1d(o(c)),g=at.tensor1d(o(c));return t.push({paramPath:`${m}/filters`},{paramPath:`${m}/batch_norm_scale`},{paramPath:`${m}/batch_norm_offset`},{paramPath:`${m}/batch_norm_mean`},{paramPath:`${m}/batch_norm_variance`}),{filters:p,batch_norm_scale:u,batch_norm_offset:f,batch_norm_mean:l,batch_norm_variance:g}}function r(c,m,p,u,f){let l=at.tensor4d(o(c*m*p*p),[p,p,c,m]),g=at.tensor1d(o(m));return t.push({paramPath:`${u}/filters`},{paramPath:`${u}/${f?"batch_norm_offset":"bias"}`}),{filters:l,bias:g}}function n(c,m,p,u){let{filters:f,bias:l}=r(c,m,p,u,!0);return{filters:f,batch_norm_offset:l}}function a(c,m,p){let u=e(c,`${p}/depthwise_conv`),f=n(c,m,1,`${p}/pointwise_conv`);return{depthwise_conv:u,pointwise_conv:f}}function s(){let c=n(3,32,3,"mobilenetv1/conv_0"),m=a(32,64,"mobilenetv1/conv_1"),p=a(64,128,"mobilenetv1/conv_2"),u=a(128,128,"mobilenetv1/conv_3"),f=a(128,256,"mobilenetv1/conv_4"),l=a(256,256,"mobilenetv1/conv_5"),g=a(256,512,"mobilenetv1/conv_6"),T=a(512,512,"mobilenetv1/conv_7"),D=a(512,512,"mobilenetv1/conv_8"),h=a(512,512,"mobilenetv1/conv_9"),_=a(512,512,"mobilenetv1/conv_10"),y=a(512,512,"mobilenetv1/conv_11"),E=a(512,1024,"mobilenetv1/conv_12"),W=a(1024,1024,"mobilenetv1/conv_13");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,conv_8:D,conv_9:h,conv_10:_,conv_11:y,conv_12:E,conv_13:W}}function i(){let c=n(1024,256,1,"prediction_layer/conv_0"),m=n(256,512,3,"prediction_layer/conv_1"),p=n(512,128,1,"prediction_layer/conv_2"),u=n(128,256,3,"prediction_layer/conv_3"),f=n(256,128,1,"prediction_layer/conv_4"),l=n(128,256,3,"prediction_layer/conv_5"),g=n(256,64,1,"prediction_layer/conv_6"),T=n(64,128,3,"prediction_layer/conv_7"),D=r(512,12,1,"prediction_layer/box_predictor_0/box_encoding_predictor"),h=r(512,9,1,"prediction_layer/box_predictor_0/class_predictor"),_=r(1024,24,1,"prediction_layer/box_predictor_1/box_encoding_predictor"),y=r(1024,18,1,"prediction_layer/box_predictor_1/class_predictor"),E=r(512,24,1,"prediction_layer/box_predictor_2/box_encoding_predictor"),W=r(512,18,1,"prediction_layer/box_predictor_2/class_predictor"),tt=r(256,24,1,"prediction_layer/box_predictor_3/box_encoding_predictor"),lt=r(256,18,1,"prediction_layer/box_predictor_3/class_predictor"),q=r(256,24,1,"prediction_layer/box_predictor_4/box_encoding_predictor"),Dt=r(256,18,1,"prediction_layer/box_predictor_4/class_predictor"),Et=r(128,24,1,"prediction_layer/box_predictor_5/box_encoding_predictor"),Mt=r(128,18,1,"prediction_layer/box_predictor_5/class_predictor");return{conv_0:c,conv_1:m,conv_2:p,conv_3:u,conv_4:f,conv_5:l,conv_6:g,conv_7:T,box_predictor_0:{box_encoding_predictor:D,class_predictor:h},box_predictor_1:{box_encoding_predictor:_,class_predictor:y},box_predictor_2:{box_encoding_predictor:E,class_predictor:W},box_predictor_3:{box_encoding_predictor:tt,class_predictor:lt},box_predictor_4:{box_encoding_predictor:q,class_predictor:Dt},box_predictor_5:{box_encoding_predictor:Et,class_predictor:Mt}}}return{extractMobilenetV1Params:s,extractPredictionLayerParams:i}}function Vo(o){let t=[],{extractWeights:e,getRemainingWeights:r}=R(o),{extractMobilenetV1Params:n,extractPredictionLayerParams:a}=Zn(e,t),s=n(),i=a(),m={extra_dim:at.tensor3d(e(5118*4),[1,5118,4])};if(t.push({paramPath:"output_layer/extra_dim"}),r().length!==0)throw new Error(`weights remaing after extract: ${r().length}`);return{params:{mobilenetv1:s,prediction_layer:i,output_layer:m},paramMappings:t}}function Kn(o,t){let e=Y(o,t);function r(m,p,u){let f=e(`${m}/Conv2d_${p}_pointwise/weights`,4,`${u}/filters`),l=e(`${m}/Conv2d_${p}_pointwise/convolution_bn_offset`,1,`${u}/batch_norm_offset`);return{filters:f,batch_norm_offset:l}}function n(m){let p=`mobilenetv1/conv_${m}`,u=`MobilenetV1/Conv2d_${m}_depthwise`,f=`${p}/depthwise_conv`,l=`${p}/pointwise_conv`,g=e(`${u}/depthwise_weights`,4,`${f}/filters`),T=e(`${u}/BatchNorm/gamma`,1,`${f}/batch_norm_scale`),D=e(`${u}/BatchNorm/beta`,1,`${f}/batch_norm_offset`),h=e(`${u}/BatchNorm/moving_mean`,1,`${f}/batch_norm_mean`),_=e(`${u}/BatchNorm/moving_variance`,1,`${f}/batch_norm_variance`);return{depthwise_conv:{filters:g,batch_norm_scale:T,batch_norm_offset:D,batch_norm_mean:h,batch_norm_variance:_},pointwise_conv:r("MobilenetV1",m,l)}}function a(){return{conv_0:r("MobilenetV1",0,"mobilenetv1/conv_0"),conv_1:n(1),conv_2:n(2),conv_3:n(3),conv_4:n(4),conv_5:n(5),conv_6:n(6),conv_7:n(7),conv_8:n(8),conv_9:n(9),conv_10:n(10),conv_11:n(11),conv_12:n(12),conv_13:n(13)}}function s(m,p){let u=e(`${m}/weights`,4,`${p}/filters`),f=e(`${m}/biases`,1,`${p}/bias`);return{filters:u,bias:f}}function i(m){let p=s(`Prediction/BoxPredictor_${m}/BoxEncodingPredictor`,`prediction_layer/box_predictor_${m}/box_encoding_predictor`),u=s(`Prediction/BoxPredictor_${m}/ClassPredictor`,`prediction_layer/box_predictor_${m}/class_predictor`);return{box_encoding_predictor:p,class_predictor:u}}function c(){return{conv_0:r("Prediction",0,"prediction_layer/conv_0"),conv_1:r("Prediction",1,"prediction_layer/conv_1"),conv_2:r("Prediction",2,"prediction_layer/conv_2"),conv_3:r("Prediction",3,"prediction_layer/conv_3"),conv_4:r("Prediction",4,"prediction_layer/conv_4"),conv_5:r("Prediction",5,"prediction_layer/conv_5"),conv_6:r("Prediction",6,"prediction_layer/conv_6"),conv_7:r("Prediction",7,"prediction_layer/conv_7"),box_predictor_0:i(0),box_predictor_1:i(1),box_predictor_2:i(2),box_predictor_3:i(3),box_predictor_4:i(4),box_predictor_5:i(5)}}return{extractMobilenetV1Params:a,extractPredictionLayerParams:c}}function Yo(o){let t=[],{extractMobilenetV1Params:e,extractPredictionLayerParams:r}=Kn(o,t),n=o["Output/extra_dim"];if(t.push({originalPath:"Output/extra_dim",paramPath:"output_layer/extra_dim"}),!ht(n))throw new Error(`expected weightMap['Output/extra_dim'] to be a Tensor3D, instead have ${n}`);let a={mobilenetv1:e(),prediction_layer:r(),output_layer:{extra_dim:n}};return B(o,t),{params:a,paramMappings:t}}var _t=v(x());var Nt=v(x());function Z(o,t,e){return Nt.tidy(()=>{let r=Nt.conv2d(o,t.filters,e,"same");return r=Nt.add(r,t.batch_norm_offset),Nt.clipByValue(r,0,6)})}var Qn=.0010000000474974513;function ta(o,t,e){return _t.tidy(()=>{let r=_t.depthwiseConv2d(o,t.filters,e,"same");return r=_t.batchNorm(r,t.batch_norm_mean,t.batch_norm_variance,t.batch_norm_offset,t.batch_norm_scale,Qn),_t.clipByValue(r,0,6)})}function ea(o){return[2,4,6,12].some(t=>t===o)?[2,2]:[1,1]}function Go(o,t){return _t.tidy(()=>{let e,r=Z(o,t.conv_0,[2,2]);if([t.conv_1,t.conv_2,t.conv_3,t.conv_4,t.conv_5,t.conv_6,t.conv_7,t.conv_8,t.conv_9,t.conv_10,t.conv_11,t.conv_12,t.conv_13].forEach((a,s)=>{let i=s+1,c=ea(i);r=ta(r,a.depthwise_conv,c),r=Z(r,a.pointwise_conv,[1,1]),i===11&&(e=r)}),e===null)throw new Error("mobileNetV1 - output of conv layer 11 is null");return{out:r,conv11:e}})}function ra(o,t,e){let r=o.arraySync(),n=Math.min(r[t][0],r[t][2]),a=Math.min(r[t][1],r[t][3]),s=Math.max(r[t][0],r[t][2]),i=Math.max(r[t][1],r[t][3]),c=Math.min(r[e][0],r[e][2]),m=Math.min(r[e][1],r[e][3]),p=Math.max(r[e][0],r[e][2]),u=Math.max(r[e][1],r[e][3]),f=(s-n)*(i-a),l=(p-c)*(u-m);if(f<=0||l<=0)return 0;let g=Math.max(n,c),T=Math.max(a,m),D=Math.min(s,p),h=Math.min(i,u),_=Math.max(D-g,0)*Math.max(h-T,0);return _/(f+l-_)}function jo(o,t,e,r,n){let a=o.shape[0],s=Math.min(e,a),i=t.map((p,u)=>({score:p,boxIndex:u})).filter(p=>p.score>n).sort((p,u)=>u.score-p.score),c=p=>p<=r?1:0,m=[];return i.forEach(p=>{if(m.length>=s)return;let u=p.score;for(let f=m.length-1;f>=0;--f){let l=ra(o,p.boxIndex,m[f]);if(l!==0&&(p.score*=c(l),p.score<=n))break}u===p.score&&m.push(p.boxIndex)}),m}var d=v(x());function oa(o){let t=d.unstack(d.transpose(o,[1,0])),e=[d.sub(t[2],t[0]),d.sub(t[3],t[1])],r=[d.add(t[0],d.div(e[0],2)),d.add(t[1],d.div(e[1],2))];return{sizes:e,centers:r}}function na(o,t){let{sizes:e,centers:r}=oa(o),n=d.unstack(d.transpose(t,[1,0])),a=d.div(d.mul(d.exp(d.div(n[2],5)),e[0]),2),s=d.add(d.mul(d.div(n[0],10),e[0]),r[0]),i=d.div(d.mul(d.exp(d.div(n[3],5)),e[1]),2),c=d.add(d.mul(d.div(n[1],10),e[1]),r[1]);return d.transpose(d.stack([d.sub(s,a),d.sub(c,i),d.add(s,a),d.add(c,i)]),[1,0])}function Uo(o,t,e){return d.tidy(()=>{let r=o.shape[0],n=na(d.reshape(d.tile(e.extra_dim,[r,1,1]),[-1,4]),d.reshape(o,[-1,4]));n=d.reshape(n,[r,n.shape[0]/r,4]);let a=d.sigmoid(d.slice(t,[0,0,1],[-1,-1,-1])),s=d.slice(a,[0,0,0],[-1,-1,1]);s=d.reshape(s,[r,s.shape[1]]);let i=d.unstack(n),c=d.unstack(s);return{boxes:i,scores:c}})}var Ge=v(x());var Ye=v(x());function te(o,t){return Ye.tidy(()=>{let e=o.shape[0],r=Ye.reshape(qt(o,t.box_encoding_predictor),[e,-1,1,4]),n=Ye.reshape(qt(o,t.class_predictor),[e,-1,3]);return{boxPredictionEncoding:r,classPrediction:n}})}function Xo(o,t,e){return Ge.tidy(()=>{let r=Z(o,e.conv_0,[1,1]),n=Z(r,e.conv_1,[2,2]),a=Z(n,e.conv_2,[1,1]),s=Z(a,e.conv_3,[2,2]),i=Z(s,e.conv_4,[1,1]),c=Z(i,e.conv_5,[2,2]),m=Z(c,e.conv_6,[1,1]),p=Z(m,e.conv_7,[2,2]),u=te(t,e.box_predictor_0),f=te(o,e.box_predictor_1),l=te(n,e.box_predictor_2),g=te(s,e.box_predictor_3),T=te(c,e.box_predictor_4),D=te(p,e.box_predictor_5),h=Ge.concat([u.boxPredictionEncoding,f.boxPredictionEncoding,l.boxPredictionEncoding,g.boxPredictionEncoding,T.boxPredictionEncoding,D.boxPredictionEncoding],1),_=Ge.concat([u.classPrediction,f.classPrediction,l.classPrediction,g.classPrediction,T.classPrediction,D.classPrediction],1);return{boxPredictions:h,classPredictions:_}})}var X=class{constructor({minConfidence:t,maxResults:e}={}){this._name="SsdMobilenetv1Options";if(this._minConfidence=t||.5,this._maxResults=e||100,typeof this._minConfidence!="number"||this._minConfidence<=0||this._minConfidence>=1)throw new Error(`${this._name} - expected minConfidence to be a number between 0 and 1`);if(typeof this._maxResults!="number")throw new Error(`${this._name} - expected maxResults to be a number`)}get minConfidence(){return this._minConfidence}get maxResults(){return this._maxResults}};var St=class extends A{constructor(){super("SsdMobilenetv1")}forwardInput(t){let{params:e}=this;if(!e)throw new Error("SsdMobilenetv1 - load model before inference");return Lt.tidy(()=>{let r=Lt.cast(t.toBatchTensor(512,!1),"float32"),n=Lt.sub(Lt.div(r,127.5),1),a=Go(n,e.mobilenetv1),{boxPredictions:s,classPredictions:i}=Xo(a.out,a.conv11,e.prediction_layer);return Uo(s,i,e.output_layer)})}async forward(t){return this.forwardInput(await C(t))}async locateFaces(t,e={}){let{maxResults:r,minConfidence:n}=new X(e),a=await C(t),{boxes:s,scores:i}=this.forwardInput(a),c=s[0],m=i[0];for(let y=1;y{let[E,W]=[Math.max(0,h[y][0]),Math.min(1,h[y][2])].map(q=>q*D),[tt,lt]=[Math.max(0,h[y][1]),Math.min(1,h[y][3])].map(q=>q*T);return new M(p[y],new Yt(tt,E,lt-tt,W-E),{height:a.getInputHeight(0),width:a.getInputWidth(0)})});return c.dispose(),m.dispose(),_}getDefaultModelName(){return"ssd_mobilenetv1_model"}extractParamsFromWeightMap(t){return Yo(t)}extractParams(t){return Vo(t)}};function Jo(o){let t=new St;return t.extractWeights(o),t}function aa(o){return Jo(o)}var uo=class extends St{};var qo=.4,Zo=[new b(.738768,.874946),new b(2.42204,2.65704),new b(4.30971,7.04493),new b(10.246,4.59428),new b(12.6868,11.8741)],Ko=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],Qo=[117.001,114.697,97.404],tn="tiny_yolov2_model",en="tiny_yolov2_separable_conv_model";var N=v(x());var Cr=o=>typeof o=="number";function fo(o){if(!o)throw new Error(`invalid config: ${o}`);if(typeof o.withSeparableConvs!="boolean")throw new Error(`config.withSeparableConvs has to be a boolean, have: ${o.withSeparableConvs}`);if(!Cr(o.iouThreshold)||o.iouThreshold<0||o.iouThreshold>1)throw new Error(`config.iouThreshold has to be a number between [0, 1], have: ${o.iouThreshold}`);if(!Array.isArray(o.classes)||!o.classes.length||!o.classes.every(t=>typeof t=="string"))throw new Error(`config.classes has to be an array class names: string[], have: ${JSON.stringify(o.classes)}`);if(!Array.isArray(o.anchors)||!o.anchors.length||!o.anchors.map(t=>t||{}).every(t=>Cr(t.x)&&Cr(t.y)))throw new Error(`config.anchors has to be an array of { x: number, y: number }, have: ${JSON.stringify(o.anchors)}`);if(o.meanRgb&&(!Array.isArray(o.meanRgb)||o.meanRgb.length!==3||!o.meanRgb.every(Cr)))throw new Error(`config.meanRgb has to be an array of shape [number, number, number], have: ${JSON.stringify(o.meanRgb)}`)}var Q=v(x());var K=v(x());function Me(o){return K.tidy(()=>{let t=K.mul(o,K.scalar(.10000000149011612));return K.add(K.relu(K.sub(o,t)),t)})}function Tt(o,t){return Q.tidy(()=>{let e=Q.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=Q.conv2d(e,t.conv.filters,[1,1],"valid"),e=Q.sub(e,t.bn.sub),e=Q.mul(e,t.bn.truediv),e=Q.add(e,t.conv.bias),Me(e)})}var At=v(x());function Pt(o,t){return At.tidy(()=>{let e=At.pad(o,[[0,0],[1,1],[1,1],[0,0]]);return e=At.separableConv2d(e,t.depthwise_filter,t.pointwise_filter,[1,1],"valid"),e=At.add(e,t.bias),Me(e)})}var lo=v(x());function sa(o,t){let e=be(o,t);function r(s,i){let c=lo.tensor1d(o(s)),m=lo.tensor1d(o(s));return t.push({paramPath:`${i}/sub`},{paramPath:`${i}/truediv`}),{sub:c,truediv:m}}function n(s,i,c){let m=e(s,i,3,`${c}/conv`),p=r(i,`${c}/bn`);return{conv:m,bn:p}}let a=ge(o,t);return{extractConvParams:e,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}}function rn(o,t,e,r){let{extractWeights:n,getRemainingWeights:a}=R(o),s=[],{extractConvParams:i,extractConvWithBatchNormParams:c,extractSeparableConvParams:m}=sa(n,s),p;if(t.withSeparableConvs){let[u,f,l,g,T,D,h,_,y]=r,E=t.isFirstLayerConv2d?i(u,f,3,"conv0"):m(u,f,"conv0"),W=m(f,l,"conv1"),tt=m(l,g,"conv2"),lt=m(g,T,"conv3"),q=m(T,D,"conv4"),Dt=m(D,h,"conv5"),Et=_?m(h,_,"conv6"):void 0,Mt=y?m(_,y,"conv7"):void 0,$t=i(y||_||h,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}else{let[u,f,l,g,T,D,h,_,y]=r,E=c(u,f,"conv0"),W=c(f,l,"conv1"),tt=c(l,g,"conv2"),lt=c(g,T,"conv3"),q=c(T,D,"conv4"),Dt=c(D,h,"conv5"),Et=c(h,_,"conv6"),Mt=c(_,y,"conv7"),$t=i(y,5*e,1,"conv8");p={conv0:E,conv1:W,conv2:tt,conv3:lt,conv4:q,conv5:Dt,conv6:Et,conv7:Mt,conv8:$t}}if(a().length!==0)throw new Error(`weights remaing after extract: ${a().length}`);return{params:p,paramMappings:s}}function ia(o,t){let e=Y(o,t);function r(i){let c=e(`${i}/sub`,1),m=e(`${i}/truediv`,1);return{sub:c,truediv:m}}function n(i){let c=e(`${i}/filters`,4),m=e(`${i}/bias`,1);return{filters:c,bias:m}}function a(i){let c=n(`${i}/conv`),m=r(`${i}/bn`);return{conv:c,bn:m}}let s=xe(e);return{extractConvParams:n,extractConvWithBatchNormParams:a,extractSeparableConvParams:s}}function on(o,t){let e=[],{extractConvParams:r,extractConvWithBatchNormParams:n,extractSeparableConvParams:a}=ia(o,e),s;if(t.withSeparableConvs){let i=t.filterSizes&&t.filterSizes.length||9;s={conv0:t.isFirstLayerConv2d?r("conv0"):a("conv0"),conv1:a("conv1"),conv2:a("conv2"),conv3:a("conv3"),conv4:a("conv4"),conv5:a("conv5"),conv6:i>7?a("conv6"):void 0,conv7:i>8?a("conv7"):void 0,conv8:r("conv8")}}else s={conv0:n("conv0"),conv1:n("conv1"),conv2:n("conv2"),conv3:n("conv3"),conv4:n("conv4"),conv5:n("conv5"),conv6:n("conv6"),conv7:n("conv7"),conv8:r("conv8")};return B(o,e),{params:s,paramMappings:e}}var st=class{constructor({inputSize:t,scoreThreshold:e}={}){this._name="TinyYolov2Options";if(this._inputSize=t||416,this._scoreThreshold=e||.5,typeof this._inputSize!="number"||this._inputSize%32!==0)throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`);if(typeof this._scoreThreshold!="number"||this._scoreThreshold<=0||this._scoreThreshold>=1)throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`)}get inputSize(){return this._inputSize}get scoreThreshold(){return this._scoreThreshold}};var ho=class extends A{constructor(e){super("TinyYolov2");fo(e),this._config=e}get config(){return this._config}get withClassScores(){return this.config.withClassScores||this.config.classes.length>1}get boxEncodingSize(){return 5+(this.withClassScores?this.config.classes.length:0)}runTinyYolov2(e,r){let n=Tt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Tt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=Tt(n,r.conv6),n=Tt(n,r.conv7),qt(n,r.conv8,"valid",!1)}runMobilenet(e,r){let n=this.config.isFirstLayerConv2d?Me(qt(e,r.conv0,"valid",!1)):Pt(e,r.conv0);return n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv1),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv2),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv3),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv4),n=N.maxPool(n,[2,2],[2,2],"same"),n=Pt(n,r.conv5),n=N.maxPool(n,[2,2],[1,1],"same"),n=r.conv6?Pt(n,r.conv6):n,n=r.conv7?Pt(n,r.conv7):n,qt(n,r.conv8,"valid",!1)}forwardInput(e,r){let{params:n}=this;if(!n)throw new Error("TinyYolov2 - load model before inference");return N.tidy(()=>{let a=N.cast(e.toBatchTensor(r,!1),"float32");return a=this.config.meanRgb?rt(a,this.config.meanRgb):a,a=a.div(255),this.config.withSeparableConvs?this.runMobilenet(a,n):this.runTinyYolov2(a,n)})}async forward(e,r){return this.forwardInput(await C(e),r)}async detect(e,r={}){let{inputSize:n,scoreThreshold:a}=new st(r),s=await C(e),i=await this.forwardInput(s,n),c=N.tidy(()=>N.unstack(i)[0].expandDims()),m={width:s.getInputWidth(0),height:s.getInputHeight(0)},p=await this.extractBoxes(c,s.getReshapedInputDimensions(0),a);i.dispose(),c.dispose();let u=p.map(h=>h.box),f=p.map(h=>h.score),l=p.map(h=>h.classScore),g=p.map(h=>this.config.classes[h.label]);return zr(u.map(h=>h.rescale(n)),f,this.config.iouThreshold,!0).map(h=>new bt(f[h],l[h],g[h],u[h],m))}getDefaultModelName(){return""}extractParamsFromWeightMap(e){return on(e,this.config)}extractParams(e){let r=this.config.filterSizes||ho.DEFAULT_FILTER_SIZES,n=r?r.length:void 0;if(n!==7&&n!==8&&n!==9)throw new Error(`TinyYolov2 - expected 7 | 8 | 9 convolutional filters, but found ${n} filterSizes in config`);return rn(e,this.config,this.boxEncodingSize,r)}async extractBoxes(e,r,n){let{width:a,height:s}=r,i=Math.max(a,s),c=i/a,m=i/s,p=e.shape[1],u=this.config.anchors.length,[f,l,g]=N.tidy(()=>{let _=e.reshape([p,p,u,this.boxEncodingSize]),y=_.slice([0,0,0,0],[p,p,u,4]),E=_.slice([0,0,0,4],[p,p,u,1]),W=this.withClassScores?N.softmax(_.slice([0,0,0,5],[p,p,u,this.config.classes.length]),3):N.scalar(0);return[y,E,W]}),T=[],D=await l.array(),h=await f.array();for(let _=0;_n){let tt=(y+Ne(h[_][y][E][0]))/p*c,lt=(_+Ne(h[_][y][E][1]))/p*m,q=Math.exp(h[_][y][E][2])*this.config.anchors[E].x/p*c,Dt=Math.exp(h[_][y][E][3])*this.config.anchors[E].y/p*m,Et=tt-q/2,Mt=lt-Dt/2,$t={row:_,col:y,anchor:E},{classScore:xo,label:vo}=this.withClassScores?await this.extractPredictedClass(g,$t):{classScore:1,label:0};T.push({box:new Vt(Et,Mt,Et+q,Mt+Dt),score:W,classScore:W*xo,label:vo,...$t})}}return f.dispose(),l.dispose(),g.dispose(),T}async extractPredictedClass(e,r){let{row:n,col:a,anchor:s}=r,i=await e.array();return Array(this.config.classes.length).fill(0).map((c,m)=>i[n][a][s][m]).map((c,m)=>({classScore:c,label:m})).reduce((c,m)=>c.classScore>m.classScore?c:m)}},ee=ho;ee.DEFAULT_FILTER_SIZES=[3,16,32,64,128,256,512,1024,1024];var re=class extends ee{constructor(t=!0){let e={withSeparableConvs:t,iouThreshold:qo,classes:["face"],...t?{anchors:Ko,meanRgb:Qo}:{anchors:Zo,withClassScores:!0}};super(e)}get withSeparableConvs(){return this.config.withSeparableConvs}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return this.withSeparableConvs?en:tn}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};function ca(o,t=!0){let e=new re(t);return e.extractWeights(o),e}var je=class extends st{constructor(){super(...arguments);this._name="TinyFaceDetectorOptions"}};var J=class{async then(t){return t(await this.run())}async run(){throw new Error("ComposableTask - run is not implemented")}};var Xe=v(x());var bo=v(x());async function oe(o,t,e,r,n=({alignedRect:a})=>a){let a=o.map(c=>Zt(c)?n(c):c.detection),s=r||(t instanceof bo.Tensor?await de(t,a):await le(t,a)),i=await e(s);return s.forEach(c=>c instanceof bo.Tensor&&c.dispose()),i}async function Ce(o,t,e,r,n){return oe([o],t,async a=>e(a[0]),r,n)}var nn=.4,an=[new b(1.603231,2.094468),new b(6.041143,7.080126),new b(2.882459,3.518061),new b(4.266906,5.178857),new b(9.041765,10.66308)],sn=[117.001,114.697,97.404];var ne=class extends ee{constructor(){let t={withSeparableConvs:!0,iouThreshold:nn,classes:["face"],anchors:an,meanRgb:sn,isFirstLayerConv2d:!0,filterSizes:[3,16,32,64,128,256,512]};super(t)}get anchors(){return this.config.anchors}async locateFaces(t,e){return(await this.detect(t,e)).map(n=>new M(n.score,n.relativeBox,{width:n.imageWidth,height:n.imageHeight}))}getDefaultModelName(){return"tiny_face_detector_model"}extractParamsFromWeightMap(t){return super.extractParamsFromWeightMap(t)}};var w={ssdMobilenetv1:new St,tinyFaceDetector:new ne,tinyYolov2:new re,faceLandmark68Net:new Kt,faceLandmark68TinyNet:new ze,faceRecognitionNet:new Qt,faceExpressionNet:new Oe,ageGenderNet:new He},cn=(o,t)=>w.ssdMobilenetv1.locateFaces(o,t),ma=(o,t)=>w.tinyFaceDetector.locateFaces(o,t),pa=(o,t)=>w.tinyYolov2.locateFaces(o,t),mn=o=>w.faceLandmark68Net.detectLandmarks(o),ua=o=>w.faceLandmark68TinyNet.detectLandmarks(o),fa=o=>w.faceRecognitionNet.computeFaceDescriptor(o),la=o=>w.faceExpressionNet.predictExpressions(o),da=o=>w.ageGenderNet.predictAgeAndGender(o),pn=o=>w.ssdMobilenetv1.load(o),ha=o=>w.tinyFaceDetector.load(o),ba=o=>w.tinyYolov2.load(o),ga=o=>w.faceLandmark68Net.load(o),xa=o=>w.faceLandmark68TinyNet.load(o),va=o=>w.faceRecognitionNet.load(o),ya=o=>w.faceExpressionNet.load(o),_a=o=>w.ageGenderNet.load(o),Ta=pn,Pa=cn,wa=mn;var Ir=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ae=class extends Ir{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.faceExpressionNet.predictExpressions(n))),this.extractedFaces);return t.map((r,n)=>xr(r,e[n]))}withAgeAndGender(){return new ie(this,this.input)}},se=class extends Ir{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceExpressionNet.predictExpressions(r),this.extractedFaces);return xr(t,e)}withAgeAndGender(){return new ce(this,this.input)}},Wt=class extends ae{withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},kt=class extends se{withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Nr=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.extractedFaces=n}},ie=class extends Nr{async run(){let t=await this.parentTask,e=await oe(t,this.input,async r=>Promise.all(r.map(n=>w.ageGenderNet.predictAgeAndGender(n))),this.extractedFaces);return t.map((r,n)=>{let{age:a,gender:s,genderProbability:i}=e[n];return Er(Mr(r,s,i),a)})}withFaceExpressions(){return new ae(this,this.input)}},ce=class extends Nr{async run(){let t=await this.parentTask;if(!t)return;let{age:e,gender:r,genderProbability:n}=await Ce(t,this.input,a=>w.ageGenderNet.predictAgeAndGender(a),this.extractedFaces);return Er(Mr(t,r,n),e)}withFaceExpressions(){return new se(this,this.input)}},Bt=class extends ie{withFaceExpressions(){return new Wt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Rt=class extends ce{withFaceExpressions(){return new kt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ue=class extends J{constructor(e,r){super();this.parentTask=e;this.input=r}},wt=class extends Ue{async run(){let t=await this.parentTask;return(await oe(t,this.input,r=>Promise.all(r.map(n=>w.faceRecognitionNet.computeFaceDescriptor(n))),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}))).map((r,n)=>Dr(t[n],r))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}},Ft=class extends Ue{async run(){let t=await this.parentTask;if(!t)return;let e=await Ce(t,this.input,r=>w.faceRecognitionNet.computeFaceDescriptor(r),null,r=>r.landmarks.align(null,{useDlibAlignment:!0}));return Dr(t,e)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}};var Je=class extends J{constructor(e,r,n){super();this.parentTask=e;this.input=r;this.useTinyLandmarkNet=n}get landmarkNet(){return this.useTinyLandmarkNet?w.faceLandmark68TinyNet:w.faceLandmark68Net}},qe=class extends Je{async run(){let t=await this.parentTask,e=t.map(s=>s.detection),r=this.input instanceof Xe.Tensor?await de(this.input,e):await le(this.input,e),n=await Promise.all(r.map(s=>this.landmarkNet.detectLandmarks(s)));return r.forEach(s=>s instanceof Xe.Tensor&&s.dispose()),t.filter((s,i)=>n[i]).map((s,i)=>we(s,n[i]))}withFaceExpressions(){return new Wt(this,this.input)}withAgeAndGender(){return new Bt(this,this.input)}withFaceDescriptors(){return new wt(this,this.input)}},Ze=class extends Je{async run(){let t=await this.parentTask;if(!t)return;let{detection:e}=t,r=this.input instanceof Xe.Tensor?await de(this.input,[e]):await le(this.input,[e]),n=await this.landmarkNet.detectLandmarks(r[0]);return r.forEach(a=>a instanceof Xe.Tensor&&a.dispose()),we(t,n)}withFaceExpressions(){return new kt(this,this.input)}withAgeAndGender(){return new Rt(this,this.input)}withFaceDescriptor(){return new Ft(this,this.input)}};var Ke=class extends J{constructor(e,r=new X){super();this.input=e;this.options=r}},Ie=class extends Ke{async run(){let{input:t,options:e}=this,r;if(e instanceof je)r=w.tinyFaceDetector.locateFaces(t,e);else if(e instanceof X)r=w.ssdMobilenetv1.locateFaces(t,e);else if(e instanceof st)r=w.tinyYolov2.locateFaces(t,e);else throw new Error("detectFaces - expected options to be instance of TinyFaceDetectorOptions | SsdMobilenetv1Options | TinyYolov2Options");return r}runAndExtendWithFaceDetections(){return new Promise((t,e)=>{this.run().then(r=>t(r.map(n=>jt({},n)))).catch(r=>e(r))})}withFaceLandmarks(t=!1){return new qe(this.runAndExtendWithFaceDetections(),this.input,t)}withFaceExpressions(){return new ae(this.runAndExtendWithFaceDetections(),this.input)}withAgeAndGender(){return new ie(this.runAndExtendWithFaceDetections(),this.input)}},Qe=class extends Ke{async run(){let t=await new Ie(this.input,this.options),e=t[0];return t.forEach(r=>{r.score>e.score&&(e=r)}),e}runAndExtendWithFaceDetection(){return new Promise(async t=>{let e=await this.run();t(e?jt({},e):void 0)})}withFaceLandmarks(t=!1){return new Ze(this.runAndExtendWithFaceDetection(),this.input,t)}withFaceExpressions(){return new se(this.runAndExtendWithFaceDetection(),this.input)}withAgeAndGender(){return new ce(this.runAndExtendWithFaceDetection(),this.input)}};function Fa(o,t=new X){return new Qe(o,t)}function Sr(o,t=new X){return new Ie(o,t)}async function un(o,t){return Sr(o,new X(t?{minConfidence:t}:{})).withFaceLandmarks().withFaceDescriptors()}async function Da(o,t={}){return Sr(o,new st(t)).withFaceLandmarks().withFaceDescriptors()}var Ea=un;function go(o,t){if(o.length!==t.length)throw new Error("euclideanDistance: arr1.length !== arr2.length");let e=Array.from(o),r=Array.from(t);return Math.sqrt(e.map((n,a)=>n-r[a]).reduce((n,a)=>n+a*a,0))}var tr=class{constructor(t,e=.6){this._distanceThreshold=e;let r=Array.isArray(t)?t:[t];if(!r.length)throw new Error("FaceRecognizer.constructor - expected atleast one input");let n=1,a=()=>`person ${n++}`;this._labeledDescriptors=r.map(s=>{if(s instanceof mt)return s;if(s instanceof Float32Array)return new mt(a(),[s]);if(s.descriptor&&s.descriptor instanceof Float32Array)return new mt(a(),[s.descriptor]);throw new Error("FaceRecognizer.constructor - expected inputs to be of type LabeledFaceDescriptors | WithFaceDescriptor | Float32Array | Array | Float32Array>")})}get labeledDescriptors(){return this._labeledDescriptors}get distanceThreshold(){return this._distanceThreshold}computeMeanDistance(t,e){return e.map(r=>go(r,t)).reduce((r,n)=>r+n,0)/(e.length||1)}matchDescriptor(t){return this.labeledDescriptors.map(({descriptors:e,label:r})=>new pe(r,this.computeMeanDistance(t,e))).reduce((e,r)=>e.distancet.toJSON())}}static fromJSON(t){let e=t.labeledDescriptors.map(r=>mt.fromJSON(r));return new tr(e,t.distanceThreshold)}};function Ma(o){let t=new ne;return t.extractWeights(o),t}function fn(o,t){let{width:e,height:r}=new k(t.width,t.height);if(e<=0||r<=0)throw new Error(`resizeResults - invalid dimensions: ${JSON.stringify({width:e,height:r})}`);if(Array.isArray(o))return o.map(n=>fn(n,{width:e,height:r}));if(Zt(o)){let n=o.detection.forSize(e,r),a=o.unshiftedLandmarks.forSize(n.box.width,n.box.height);return we(jt(o,n),a)}return pt(o)?jt(o,o.detection.forSize(e,r)):o instanceof z||o instanceof M?o.forSize(e,r):o}var Ia=No;0&&(module.exports={AgeGenderNet,BoundingBox,Box,ComposableTask,ComputeAllFaceDescriptorsTask,ComputeFaceDescriptorsTaskBase,ComputeSingleFaceDescriptorTask,DetectAllFaceLandmarksTask,DetectAllFacesTask,DetectFaceLandmarksTaskBase,DetectFacesTaskBase,DetectSingleFaceLandmarksTask,DetectSingleFaceTask,Dimensions,FACE_EXPRESSION_LABELS,FaceDetection,FaceDetectionNet,FaceExpressionNet,FaceExpressions,FaceLandmark68Net,FaceLandmark68TinyNet,FaceLandmarkNet,FaceLandmarks,FaceLandmarks5,FaceLandmarks68,FaceMatch,FaceMatcher,FaceRecognitionNet,Gender,LabeledBox,LabeledFaceDescriptors,NetInput,NeuralNetwork,ObjectDetection,Point,PredictedBox,Rect,SsdMobilenetv1,SsdMobilenetv1Options,TinyFaceDetector,TinyFaceDetectorOptions,TinyYolov2,TinyYolov2Options,allFaces,allFacesSsdMobilenetv1,allFacesTinyYolov2,awaitMediaLoaded,bufferToImage,computeFaceDescriptor,createCanvas,createCanvasFromMedia,createFaceDetectionNet,createFaceRecognitionNet,createSsdMobilenetv1,createTinyFaceDetector,createTinyYolov2,detectAllFaces,detectFaceLandmarks,detectFaceLandmarksTiny,detectLandmarks,detectSingleFace,draw,env,euclideanDistance,extendWithAge,extendWithFaceDescriptor,extendWithFaceDetection,extendWithFaceExpressions,extendWithFaceLandmarks,extendWithGender,extractFaceTensors,extractFaces,fetchImage,fetchJson,fetchNetWeights,fetchOrThrow,fetchVideo,getContext2dOrThrow,getMediaDimensions,imageTensorToCanvas,imageToSquare,inverseSigmoid,iou,isMediaElement,isMediaLoaded,isWithAge,isWithFaceDetection,isWithFaceExpressions,isWithFaceLandmarks,isWithGender,loadAgeGenderModel,loadFaceDetectionModel,loadFaceExpressionModel,loadFaceLandmarkModel,loadFaceLandmarkTinyModel,loadFaceRecognitionModel,loadSsdMobilenetv1Model,loadTinyFaceDetectorModel,loadTinyYolov2Model,loadWeightMap,locateFaces,matchDimensions,minBbox,nets,nonMaxSuppression,normalize,padToSquare,predictAgeAndGender,recognizeFaceExpressions,resizeResults,resolveInput,shuffleArray,sigmoid,ssdMobilenetv1,tf,tinyFaceDetector,tinyYolov2,toNetInput,utils,validateConfig,version}); diff --git a/package.json b/package.json index ddc6021..c6e402e 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "tfjs" ], "devDependencies": { - "@microsoft/api-extractor": "^7.30.0", + "@microsoft/api-extractor": "^7.31.0", "@tensorflow/tfjs": "^3.20.0", "@tensorflow/tfjs-backend-cpu": "^3.20.0", "@tensorflow/tfjs-backend-wasm": "^3.20.0", @@ -54,15 +54,15 @@ "@tensorflow/tfjs-layers": "^3.20.0", "@tensorflow/tfjs-node": "^3.20.0", "@tensorflow/tfjs-node-gpu": "^3.20.0", - "@types/node": "^18.7.14", + "@types/node": "^18.7.18", "@types/offscreencanvas": "^2019.7.0", - "@typescript-eslint/eslint-plugin": "^5.36.1", - "@typescript-eslint/parser": "^5.36.1", - "@vladmandic/build": "^0.7.11", + "@typescript-eslint/eslint-plugin": "^5.37.0", + "@typescript-eslint/parser": "^5.37.0", + "@vladmandic/build": "^0.7.12", "@vladmandic/pilogger": "^0.4.6", "@vladmandic/tfjs": "github:vladmandic/tfjs", "esbuild": "^0.15.7", - "eslint": "^8.23.0", + "eslint": "^8.23.1", "eslint-config-airbnb-base": "^15.0.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-json": "^3.1.0", @@ -72,6 +72,6 @@ "seedrandom": "^3.0.5", "tslib": "^2.4.0", "typedoc": "^0.23.14", - "typescript": "4.8.2" + "typescript": "4.8.3" } } diff --git a/src/NeuralNetwork.ts b/src/NeuralNetwork.ts index b67c098..2781ffa 100644 --- a/src/NeuralNetwork.ts +++ b/src/NeuralNetwork.ts @@ -103,7 +103,7 @@ export abstract class NeuralNetwork { const { readFile } = env.getEnv(); const { manifestUri, modelBaseUri } = getModelUris(filePath, this.getDefaultModelName()); const fetchWeightsFromDisk = (filePaths: string[]) => Promise.all(filePaths.map((fp) => readFile(fp).then((buf) => buf.buffer))); - const loadWeights = tf.io.weightsLoaderFactory(fetchWeightsFromDisk); + const loadWeights = tf['io'].weightsLoaderFactory(fetchWeightsFromDisk); const manifest = JSON.parse((await readFile(manifestUri)).toString()); const weightMap = await loadWeights(manifest, modelBaseUri); this.loadFromWeightMap(weightMap); diff --git a/src/dom/NetInput.ts b/src/dom/NetInput.ts index fcafb56..aadd009 100644 --- a/src/dom/NetInput.ts +++ b/src/dom/NetInput.ts @@ -131,14 +131,14 @@ export class NetInput { imgTensor = padToSquare(imgTensor as tf.Tensor4D, isCenterInputs); if (imgTensor.shape[1] !== inputSize || imgTensor.shape[2] !== inputSize) { - imgTensor = tf.image.resizeBilinear(imgTensor as tf.Tensor4D, [inputSize, inputSize], false, false); + imgTensor = tf['image'].resizeBilinear(imgTensor as tf.Tensor4D, [inputSize, inputSize], false, false); } return imgTensor.as3D(inputSize, inputSize, 3); } if (input instanceof env.getEnv().Canvas) { - return tf.browser.fromPixels(imageToSquare(input, inputSize, isCenterInputs)); + return tf['browser'].fromPixels(imageToSquare(input, inputSize, isCenterInputs)); } throw new Error(`toBatchTensor - at batchIdx ${batchIdx}, expected input to be instanceof tf.Tensor or instanceof HTMLCanvasElement, instead have ${input}`); diff --git a/src/dom/imageTensorToCanvas.ts b/src/dom/imageTensorToCanvas.ts index 2b9ba68..bbfcceb 100644 --- a/src/dom/imageTensorToCanvas.ts +++ b/src/dom/imageTensorToCanvas.ts @@ -11,7 +11,7 @@ export async function imageTensorToCanvas( const [height, width, numChannels] = imgTensor.shape.slice(isTensor4D(imgTensor) ? 1 : 0); const imgTensor3D = tf.tidy(() => imgTensor.as3D(height, width, numChannels).toInt()); - await tf.browser.toPixels(imgTensor3D, targetCanvas); + await tf['browser'].toPixels(imgTensor3D, targetCanvas); imgTensor3D.dispose(); diff --git a/src/dom/loadWeightMap.ts b/src/dom/loadWeightMap.ts index 0c220d7..c3d1226 100644 --- a/src/dom/loadWeightMap.ts +++ b/src/dom/loadWeightMap.ts @@ -8,7 +8,8 @@ export async function loadWeightMap( defaultModelName: string, ): Promise { const { manifestUri, modelBaseUri } = getModelUris(uri, defaultModelName); + // @ts-ignore const manifest = await fetchJson(manifestUri); // if (manifest['weightsManifest']) manifest = manifest['weightsManifest']; - return tf.io.loadWeights(manifest, modelBaseUri); + return tf['io'].loadWeights(manifest, modelBaseUri); } diff --git a/src/euclideanDistance.ts b/src/euclideanDistance.ts index a36fec0..247cd46 100644 --- a/src/euclideanDistance.ts +++ b/src/euclideanDistance.ts @@ -1,12 +1,10 @@ export function euclideanDistance(arr1: number[] | Float32Array, arr2: number[] | Float32Array) { if (arr1.length !== arr2.length) throw new Error('euclideanDistance: arr1.length !== arr2.length'); - const desc1 = Array.from(arr1); const desc2 = Array.from(arr2); - return Math.sqrt( desc1 .map((val, i) => val - desc2[i]) - .reduce((res, diff) => res + (diff ** 2), 0), + .reduce((res, diff) => res + (diff * diff), 0), ); }