@kubohiroya/turbowarp-teachable-machine 3.5.0 → 3.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -6
- package/dist/backend-wasm.js +1 -1
- package/dist/backend-webgpu.js +1 -1
- package/dist/composition.js +666 -8
- package/dist/posenet.js +15 -6
- package/dist/runtime.js +3 -3
- package/dist/tm.js +2723 -2028
- package/dist/types/extension.d.ts +7 -0
- package/dist/types/fixed-input-editors.d.ts +7 -0
- package/dist/types/fixed-input-schema.d.ts +142 -0
- package/docs/fixed-input-editors.ja.md +36 -0
- package/package.json +15 -6
- package/schemas/block-editor-fixed-inputs.schema.json +193 -0
package/dist/runtime.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @license Includes TensorFlow.js 4.22.0, Speech Commands 0.5.4, Teachable Machine Pose 0.8.6, Teachable Machine Image 0.8.5, and PoseNet 2.2.2 (Apache-2.0). See https://github.com/kubohiroya/turbowarp-teachable-machine/blob/v3.5.
|
|
1
|
+
/*! @license Includes TensorFlow.js 4.22.0, Speech Commands 0.5.4, Teachable Machine Pose 0.8.6, Teachable Machine Image 0.8.5, and PoseNet 2.2.2 (Apache-2.0). See https://github.com/kubohiroya/turbowarp-teachable-machine/blob/v3.5.2/THIRD_PARTY_NOTICES.md. */
|
|
2
2
|
(function(){var LK=Object.create,pd=Object.defineProperty,PK=Object.getOwnPropertyDescriptor,MK=Object.getOwnPropertyNames,zK=Object.getPrototypeOf,xx=Object.prototype.hasOwnProperty,m=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}},Ye=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),Te=(e,t)=>{let n={};for(var r in e)pd(n,r,{get:e[r],enumerable:!0});return t||pd(n,Symbol.toStringTag,{value:"Module"}),n},UN=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(var s=MK(t),a=0,i=s.length,o;a<i;a++)o=s[a],!xx.call(e,o)&&o!==n&&pd(e,o,{get:(l=>t[l]).bind(null,o),enumerable:!(r=PK(t,o))||r.enumerable});return e},Co=(e,t,n)=>(n=e!=null?LK(zK(e)):{},UN(t||!e||!e.__esModule||!xx.call(e,"default")?pd(n,"default",{value:e,enumerable:!0}):n,e)),or=e=>xx.call(e,"module.exports")?e["module.exports"]:UN(pd({},"__esModule",{value:!0}),e);function lr(e){throw new Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}var GN,HN,fd,Gu,jN=m((()=>{GN=1e-7,HN=1e-4,fd=class{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap,this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}},Gu=class{refCount(e){return lr("refCount")}incRef(e){return lr("incRef")}timerAvailable(){return!0}time(e){return lr("time")}read(e){return lr("read")}readSync(e){return lr("readSync")}readToGPU(e,t){return lr("readToGPU")}numDataIds(){return lr("numDataIds")}disposeData(e,t){return lr("disposeData")}write(e,t,n){return lr("write")}move(e,t,n,r,s){return lr("move")}createTensorFromGPUData(e,t,n){return lr("createTensorFromGPUData")}memory(){return lr("memory")}floatPrecision(){return lr("floatPrecision")}epsilon(){return this.floatPrecision()===32?GN:HN}dispose(){return lr("dispose")}}}));function $o(e){let t=e.length,n=0;for(;t>0;)n=Math.random()*t|0,t--,Xs(e,t,n)}function BK(e,t){if(e.length!==t.length)throw new Error(`Array sizes must match to be shuffled together First array length was ${e.length}Second array length was ${t.length}`);let n=e.length,r=0;for(;n>0;)r=Math.random()*n|0,n--,Xs(e,n,r),Xs(t,n,r)}function Aa(e,t,n){return Math.max(e,Math.min(t,n))}function _m(e){return e%2===0?e:e+1}function Xs(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function qN(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n];return t}function VK(e,t){const n=Math.random();return t*n+(1-n)*e}function WK(e,t){let n=0;for(let r=0;r<e.length;r++){const s=Number(e[r])-Number(t[r]);n+=s*s}return n}function E(e,t){if(!e)throw new Error(typeof t=="string"?t:t())}function bn(e,t,n=""){E(Ue(e,t),()=>n+` Shapes ${e} and ${t} must match`)}function ko(e){E(e!=null,()=>"The input to the tensor constructor must be a non-null value.")}function te(e){if(e.length===0)return 1;let t=e[0];for(let n=1;n<e.length;n++)t*=e[n];return t}function UK(e){return e.length===0}function KN(e,t){if(e===t)return!0;if(e==null||t==null||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==null&&t[n]!==null&&e[n]!==t[n])return!1;return!0}function Ue(e,t){if(e===t)return!0;if(e==null||t==null||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function To(e){return e%1===0}function GK(e){if(Math.tanh!=null)return Math.tanh(e);if(e===1/0)return 1;if(e===-1/0)return-1;{const t=Math.exp(2*e);return(t-1)/(t+1)}}function Sm(e){const t=Math.ceil(Math.sqrt(e));return[t,Math.ceil(e/t)]}function HK(e){const t=new Uint32Array(e);for(let n=0;n<e;++n)t[n]=n;return $o(t),t}function Eo(e,t){return t<=e.length?e:e+" ".repeat(t-e.length)}function wx(e,t=s=>0,n,r){return new Promise((s,a)=>{let i=0;const o=()=>{if(e()){s();return}i++;const l=t(i);if(n!=null&&i>=n){a();return}r!=null?r(o,l):setTimeout(o,l)};o()})}function _x(e,t){let n=1,r=-1;for(let a=0;a<e.length;++a)if(e[a]>=0)n*=e[a];else if(e[a]===-1){if(r!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${a}`);r=a}else if(e[a]<0)throw Error(`Shapes can not be < 0. Found ${e[a]} at dim ${a}`);if(r===-1){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(n===0)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);const s=e.slice();return s[r]=t/n,s}function Be(e,t){const n=t.length;return e=e==null?t.map((r,s)=>s):[].concat(e),E(e.every(r=>r>=-n&&r<n),()=>`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`),E(e.every(r=>To(r)),()=>`All values in axis param must be integers but got axis ${e}`),e.map(r=>r<0?n+r:r)}function Ys(e,t){const n=[],r=[],s=t!=null&&Array.isArray(t)&&t.length===0,a=t==null||s?null:Be(t,e).sort();let i=0;for(let o=0;o<e.length;++o){if(a!=null){if(a[i]===o&&e[o]!==1)throw new Error(`Can't squeeze axis ${o} since its dim '${e[o]}' is not 1`);(a[i]==null||a[i]>o)&&e[o]===1&&(n.push(e[o]),r.push(o)),a[i]<=o&&i++}e[o]!==1&&(n.push(e[o]),r.push(o))}return{newShape:n,keptDims:r}}function un(e,t){return Dt(e,t)}function Dt(e,t){let n=null;if(e==null||e==="float32")n=new Float32Array(t);else if(e==="int32")n=new Int32Array(t);else if(e==="bool")n=new Uint8Array(t);else if(e==="string")n=new Array(t);else throw new Error(`Unknown data type ${e}`);return n}function XN(e,t){for(let n=0;n<e.length;n++){const r=e[n];if(isNaN(r)||!isFinite(r))throw Error(`A tensor of type ${t} being uploaded contains ${r}.`)}}function YN(e){return e==="bool"||e==="complex64"||e==="float32"||e==="int32"||e==="string"}function Sx(e,t){return!(t==="complex64"||t==="float32"&&e!=="complex64"||t==="int32"&&e!=="float32"&&e!=="complex64"||t==="bool"&&e==="bool")}function md(e){if(e==="float32"||e==="int32")return 4;if(e==="complex64")return 8;if(e==="bool")return 1;throw new Error(`Unknown dtype ${e}`)}function ZN(e){if(e==null)return 0;let t=0;return e.forEach(n=>t+=n.length),t}function bs(e){return typeof e=="string"||e instanceof String}function JN(e){return typeof e=="boolean"}function Im(e){return typeof e=="number"}function Ao(e){return Array.isArray(e)?Ao(e[0]):e instanceof Float32Array?"float32":e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?"int32":Im(e)?"float32":bs(e)?"string":JN(e)?"bool":"float32"}function Ra(e){return!!(e&&e.constructor&&e.call&&e.apply)}function Nm(e,t){for(let n=t;n<e;++n)if(e%n===0)return n;return e}function Ie(e){const t=e.length;if(t<2)return[];const n=new Array(t-1);n[t-2]=e[t-1];for(let r=t-3;r>=0;--r)n[r]=n[r+1]*e[r+1];return n}function QN(e,t,n,r=!1){const s=new Array;if(t.length===1){const a=t[0]*(r?2:1);for(let i=0;i<a;i++)s[i]=n[e+i]}else{const a=t[0],i=t.slice(1),o=i.reduce((l,u)=>l*u)*(r?2:1);for(let l=0;l<a;l++)s[l]=QN(e+l*o,i,n,r)}return s}function xr(e,t,n=!1){if(e.length===0)return t[0];const r=e.reduce((s,a)=>s*a)*(n?2:1);if(r===0)return[];if(r!==t.length)throw new Error(`[${e}] does not match the input size ${t.length}${n?" for a complex tensor":""}.`);return QN(0,e,t,n)}function eC(e,t){if(Array.isArray(e))return e;if(t==="float32")return e instanceof Float32Array?e:new Float32Array(e);if(t==="int32")return e instanceof Int32Array?e:new Int32Array(e);if(t==="bool"||t==="string")return Uint8Array.from(new Int32Array(e));throw new Error(`Unknown dtype ${t}`)}function Cm(e,t){const n=xn(e,t);for(let r=0;r<n.length;r++)n[r]=1;return n}function xn(e,t){if(t==null||t==="float32"||t==="complex64")return new Float32Array(e);if(t==="int32")return new Int32Array(e);if(t==="bool")return new Uint8Array(e);throw new Error(`Unknown data type ${t}`)}function Ix(e,t){const n=e.reduce((r,s)=>r*s,1);if(t==null||t==="float32")return xr(e,new Float32Array(n));if(t==="int32")return xr(e,new Int32Array(n));if(t==="bool")return xr(e,new Uint8Array(n));throw new Error(`Unknown data type ${t}`)}function ur(e){e.forEach(t=>{E(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`)})}function Xr(e,t,n){if(t===0)return 0;if(t===1)return e[0];let r=e[e.length-1];for(let s=0;s<e.length-1;++s)r+=n[s]*e[s];return r}function Ro(e,t,n){if(t===0)return[];if(t===1)return[e];const r=new Array(t);for(let s=0;s<r.length-1;++s)r[s]=Math.floor(e/n[s]),e-=r[s]*n[s];return r[r.length-1]=e,r}function Zs(e){return e&&e.then&&typeof e.then=="function"}var cn=m((()=>{}));function jK(e){const t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(n,...r)=>(qK(t,r[0],r[1]),r.join("="))),t}function qK(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||"")}function KK(e,t){const n=t.toLowerCase();return n==="true"||n==="false"?n==="true":`${+n}`===n?+n:t}function Z(){return gd}function XK(e){gd=e}var Nx,$m,gd,wn=m((()=>{cn(),Nx="tfjsflags",$m=class{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=jK,this.populateURLFlags()}setPlatform(e,t){this.platform!=null&&(Z().getBool("IS_TEST")||Z().getBool("PROD")||console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},this.urlFlags[e]!=null){const r=this.urlFlags[e];Z().getBool("IS_TEST")||Z().getBool("PROD")||console.warn(`Setting feature override from URL ${e}: ${r}.`),this.set(e,r)}}async getAsync(e){return e in this.flags?this.flags[e]:(this.flags[e]=await this.evaluateFlag(e),this.flags[e])}get(e){if(e in this.flags)return this.flags[e];const t=this.evaluateFlag(e);if(Zs(t))throw new Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getString(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(this.flagRegistry[e]==null)throw new Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,this.flagRegistry[e].setHook!=null&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(this.flagRegistry[e]==null)throw new Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(typeof this.global>"u"||typeof this.global.location>"u"||typeof this.global.location.search>"u")return;const e=this.getQueryParams(this.global.location.search);Nx in e&&e[Nx].split(",").forEach(t=>{const[n,r]=t.split(":");this.urlFlags[n]=KK(n,r)})}},gd=null}));function tC(){if($x==null){let e;if(typeof window<"u")e=window;else if(typeof global<"u")e=global;else if(typeof process<"u")e=process;else if(typeof self<"u")e=self;else throw new Error("Could not find a global object");$x=e}return $x}function YK(){const e=tC();return e._tfGlobals==null&&(e._tfGlobals=new Map),e._tfGlobals}function Cx(e,t){const n=YK();if(n.has(e))return n.get(e);{const r=t();return n.set(e,r),n.get(e)}}var $x,kx=m((()=>{})),ZK,Da,Oa,JK,Do,QK,eX,Oo,Fo,Fa,La,Pa,Ma,za,Lo,Hu,Po,ju,Mo,zo,qu,Bo,km,Ku,Ba,Va,Wa,Xu,Vo,Wo,Uo,Yu,Go,Ho,Zu,Ju,tX,Ua,Qu,jo,ec,tc,nc,qo,rc,sc,ac,Ko,ic,oc,vd,Ga,lc,nX,uc,rX,Xo,sX,Yo,Ha,aX,cc,hc,ja,qa,Zo,Jo,dc,Qo,Ka,Xa,pc,fc,Ya,Za,Ja,el,tl,nl,mc,iX,Qa,rl,sl,al,Tx,Tm,Ex,oX,gc,Ax,lX,ei,il,vc,ol,yc,bc,ll,uX,ti,ul,cX,xc,ni,hX,cl,wc,_c,Sc,hl,dl,pl,fl,Rx,dX,ml,gl,Ic,Nc,Cc,$c,kc,ri,si,vl,yl,Tc,bl,Ec,ai,xl,ii,oi,Ac,Rc,Dc,wl,li,_l,pX,ui,ci,hi,di,pi,fX,Sl,Il,Nl,Oc,Fc,Lc,Pc,Mc,fi,zc,Cl,Bc,Vc,Wc,Uc,mX,gX,mi,gi,Gc,Hc,Js,jc,$l,kl,Dx,Tl,vi,yd,qc,El,Al,Rl,P=m((()=>{ZK="Abs",Da="Acos",Oa="Acosh",JK="Add",Do="AddN",QK="All",eX="Any",Oo="ArgMax",Fo="ArgMin",Fa="Asin",La="Asinh",Pa="Atan",Ma="Atanh",za="Atan2",Lo="AvgPool",Hu="AvgPoolGrad",Po="AvgPool3D",ju="AvgPool3DGrad",Mo="BatchMatMul",zo="BatchToSpaceND",qu="Bincount",Bo="BitwiseAnd",km="BroadcastTo",Ku="BroadcastArgs",Ba="Cast",Va="Ceil",Wa="ClipByValue",Xu="Complex",Vo="ComplexAbs",Wo="Concat",Uo="Conv2D",Yu="Conv2DBackpropFilter",Go="Conv2DBackpropInput",Ho="Conv3D",Zu="Conv3DBackpropFilterV2",Ju="Conv3DBackpropInputV2",tX="Cos",Ua="Cosh",Qu="Cumprod",jo="Cumsum",ec="CropAndResize",tc="DenseBincount",nc="DepthToSpace",qo="DepthwiseConv2dNative",rc="DepthwiseConv2dNativeBackpropFilter",sc="DepthwiseConv2dNativeBackpropInput",ac="Diag",Ko="Dilation2D",ic="Dilation2DBackpropInput",oc="Dilation2DBackpropFilter",vd="Draw",Ga="RealDiv",lc="Einsum",nX="Elu",uc="EluGrad",rX="Erf",Xo="Equal",sX="Exp",Yo="ExpandDims",Ha="Expm1",aX="FFT",cc="Fill",hc="FlipLeftRight",ja="Floor",qa="FloorDiv",Zo="FusedBatchNorm",Jo="GatherV2",dc="GatherNd",Qo="Greater",Ka="GreaterEqual",Xa="Identity",pc="IFFT",fc="Imag",Ya="IsFinite",Za="IsInf",Ja="IsNan",el="LeakyRelu",tl="Less",nl="LessEqual",mc="LinSpace",iX="Log",Qa="Log1p",rl="LogicalAnd",sl="LogicalNot",al="LogicalOr",Tx="LogicalXor",Tm="LogSoftmax",Ex="LowerBound",oX="LRN",gc="LRNGrad",Ax="MatrixBandPart",lX="Max",ei="Maximum",il="MaxPool",vc="MaxPoolGrad",ol="MaxPool3D",yc="MaxPool3DGrad",bc="MaxPoolWithArgmax",ll="Mean",uX="Min",ti="Minimum",ul="MirrorPad",cX="Mod",xc="Multinomial",ni="Multiply",hX="Neg",cl="NotEqual",wc="NonMaxSuppressionV3",_c="NonMaxSuppressionV4",Sc="NonMaxSuppressionV5",hl="OnesLike",dl="OneHot",pl="Pack",fl="PadV2",Rx="Pool",dX="Pow",ml="Prelu",gl="Prod",Ic="RaggedGather",Nc="RaggedRange",Cc="RaggedTensorToTensor",$c="Range",kc="Real",ri="Reciprocal",si="Relu",vl="Reshape",yl="ResizeNearestNeighbor",Tc="ResizeNearestNeighborGrad",bl="ResizeBilinear",Ec="ResizeBilinearGrad",ai="Relu6",xl="Reverse",ii="Round",oi="Rsqrt",Ac="ScatterNd",Rc="TensorScatterUpdate",Dc="SearchSorted",wl="Select",li="Selu",_l="Slice",pX="Sin",ui="Sinh",ci="Sign",hi="Sigmoid",di="Softplus",pi="Sqrt",fX="Sum",Sl="SpaceToBatchND",Il="SplitV",Nl="Softmax",Oc="SparseFillEmptyRows",Fc="SparseReshape",Lc="SparseSegmentMean",Pc="SparseSegmentSum",Mc="SparseToDense",fi="SquaredDifference",zc="Square",Cl="StaticRegexReplace",Bc="StridedSlice",Vc="StringNGrams",Wc="StringSplit",Uc="StringToHashBucketFast",mX="Sub",gX="Tan",mi="Tanh",gi="Tile",Gc="TopK",Hc="Transform",Js="Transpose",jc="Unique",$l="Unpack",kl="UnsortedSegmentSum",Dx="UpperBound",Tl="ZerosLike",vi="Step",yd="FromPixels",qc="RotateWithOffset",El="_FusedMatMul",Al="FusedConv2D",Rl="FusedDepthwiseConv2D"}));function wr(...e){Z().getBool("IS_TEST")||Z().getBool("PROD")||console.warn(...e)}function vX(...e){Z().getBool("IS_TEST")||Z().getBool("PROD")||console.log(...e)}var Ox=m((()=>{wn()}));function Kc(e,t){const n=Lx(e,t);return Dl.get(n)}function Em(e){return Xc.get(e)}function bd(e){const t=Dl.entries(),n=[];for(;;){const{done:r,value:s}=t.next();if(r)break;const[a,i]=s,[o]=a.split("_");o===e&&n.push(i)}return n}function xd(e){const{kernelName:t,backendName:n}=e,r=Lx(t,n);Dl.has(r)&&wr(`The kernel '${t}' for backend '${n}' is already registered`),Dl.set(r,e)}function Fx(e){const{kernelName:t}=e;Xc.has(t)&&Z().getBool("DEBUG")&&wr(`Overriding the gradient for '${t}'`),Xc.set(t,e)}function nC(e,t){const n=Lx(e,t);if(!Dl.has(n))throw new Error(`The kernel '${e}' for backend '${t}' is not registered`);Dl.delete(n)}function rC(e){if(!Xc.has(e))throw new Error(`The gradient '${e}' for backend is not registered`);Xc.delete(e)}function sC(e,t){bd(e).forEach(n=>{xd(Object.assign({},n,{backendName:t}))})}function Lx(e,t){return`${t}_${e}`}var Dl,Xc,Am=m((()=>{wn(),kx(),Ox(),Dl=Cx("kernelRegistry",()=>new Map),Xc=Cx("gradRegistry",()=>new Map)}));function aC(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}var iC=m((()=>{})),yX=Ye(((e,t)=>{t.exports=r;var n=null;try{n=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{}function r(T,S,F){this.low=T|0,this.high=S|0,this.unsigned=!!F}r.prototype.__isLong__,Object.defineProperty(r.prototype,"__isLong__",{value:!0});function s(T){return(T&&T.__isLong__)===!0}r.isLong=s;var a={},i={};function o(T,S){var F,M,L;return S?(T>>>=0,(L=0<=T&&T<256)&&(M=i[T],M)?M:(F=u(T,(T|0)<0?-1:0,!0),L&&(i[T]=F),F)):(T|=0,(L=-128<=T&&T<128)&&(M=a[T],M)?M:(F=u(T,T<0?-1:0,!1),L&&(a[T]=F),F))}r.fromInt=o;function l(T,S){if(isNaN(T))return S?x:w;if(S){if(T<0)return x;if(T>=v)return A}else{if(T<=-y)return O;if(T+1>=y)return k}return T<0?l(-T,S).neg():u(T%g|0,T/g|0,S)}r.fromNumber=l;function u(T,S,F){return new r(T,S,F)}r.fromBits=u;var c=Math.pow;function h(T,S,F){if(T.length===0)throw Error("empty string");if(T==="NaN"||T==="Infinity"||T==="+Infinity"||T==="-Infinity")return w;if(typeof S=="number"?(F=S,S=!1):S=!!S,F=F||10,F<2||36<F)throw RangeError("radix");var M;if((M=T.indexOf("-"))>0)throw Error("interior hyphen");if(M===0)return h(T.substring(1),S,F).neg();for(var L=l(c(F,8)),z=w,q=0;q<T.length;q+=8){var J=Math.min(8,T.length-q),re=parseInt(T.substring(q,q+J),F);if(J<8){var Y=l(c(F,J));z=z.mul(Y).add(l(re))}else z=z.mul(L),z=z.add(l(re))}return z.unsigned=S,z}r.fromString=h;function d(T,S){return typeof T=="number"?l(T,S):typeof T=="string"?h(T,S):u(T.low,T.high,typeof S=="boolean"?S:T.unsigned)}r.fromValue=d;var p=65536,f=1<<24,g=p*p,v=g*g,y=v/2,b=o(f),w=o(0);r.ZERO=w;var x=o(0,!0);r.UZERO=x;var _=o(1);r.ONE=_;var $=o(1,!0);r.UONE=$;var N=o(-1);r.NEG_ONE=N;var k=u(-1,2147483647,!1);r.MAX_VALUE=k;var A=u(-1,-1,!0);r.MAX_UNSIGNED_VALUE=A;var O=u(0,-2147483648,!1);r.MIN_VALUE=O;var R=r.prototype;R.toInt=function(){return this.unsigned?this.low>>>0:this.low},R.toNumber=function(){return this.unsigned?(this.high>>>0)*g+(this.low>>>0):this.high*g+(this.low>>>0)},R.toString=function(S){if(S=S||10,S<2||36<S)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(O)){var F=l(S),M=this.div(F),L=M.mul(F).sub(this);return M.toString(S)+L.toInt().toString(S)}else return"-"+this.neg().toString(S);for(var z=l(c(S,6),this.unsigned),q=this,J="";;){var re=q.div(z),Y=(q.sub(re.mul(z)).toInt()>>>0).toString(S);if(q=re,q.isZero())return Y+J;for(;Y.length<6;)Y="0"+Y;J=""+Y+J}},R.getHighBits=function(){return this.high},R.getHighBitsUnsigned=function(){return this.high>>>0},R.getLowBits=function(){return this.low},R.getLowBitsUnsigned=function(){return this.low>>>0},R.getNumBitsAbs=function(){if(this.isNegative())return this.eq(O)?64:this.neg().getNumBitsAbs();for(var S=this.high!=0?this.high:this.low,F=31;F>0&&(S&1<<F)==0;F--);return this.high!=0?F+33:F+1},R.isZero=function(){return this.high===0&&this.low===0},R.eqz=R.isZero,R.isNegative=function(){return!this.unsigned&&this.high<0},R.isPositive=function(){return this.unsigned||this.high>=0},R.isOdd=function(){return(this.low&1)===1},R.isEven=function(){return(this.low&1)===0},R.equals=function(S){return s(S)||(S=d(S)),this.unsigned!==S.unsigned&&this.high>>>31===1&&S.high>>>31===1?!1:this.high===S.high&&this.low===S.low},R.eq=R.equals,R.notEquals=function(S){return!this.eq(S)},R.neq=R.notEquals,R.ne=R.notEquals,R.lessThan=function(S){return this.comp(S)<0},R.lt=R.lessThan,R.lessThanOrEqual=function(S){return this.comp(S)<=0},R.lte=R.lessThanOrEqual,R.le=R.lessThanOrEqual,R.greaterThan=function(S){return this.comp(S)>0},R.gt=R.greaterThan,R.greaterThanOrEqual=function(S){return this.comp(S)>=0},R.gte=R.greaterThanOrEqual,R.ge=R.greaterThanOrEqual,R.compare=function(S){if(s(S)||(S=d(S)),this.eq(S))return 0;var F=this.isNegative(),M=S.isNegative();return F&&!M?-1:!F&&M?1:this.unsigned?S.high>>>0>this.high>>>0||S.high===this.high&&S.low>>>0>this.low>>>0?-1:1:this.sub(S).isNegative()?-1:1},R.comp=R.compare,R.negate=function(){return!this.unsigned&&this.eq(O)?O:this.not().add(_)},R.neg=R.negate,R.add=function(S){s(S)||(S=d(S));var F=this.high>>>16,M=this.high&65535,L=this.low>>>16,z=this.low&65535,q=S.high>>>16,J=S.high&65535,re=S.low>>>16,Y=S.low&65535,ae=0,ne=0,oe=0,ce=0;return ce+=z+Y,oe+=ce>>>16,ce&=65535,oe+=L+re,ne+=oe>>>16,oe&=65535,ne+=M+J,ae+=ne>>>16,ne&=65535,ae+=F+q,ae&=65535,u(oe<<16|ce,ae<<16|ne,this.unsigned)},R.subtract=function(S){return s(S)||(S=d(S)),this.add(S.neg())},R.sub=R.subtract,R.multiply=function(S){if(this.isZero())return w;if(s(S)||(S=d(S)),n)return u(n.mul(this.low,this.high,S.low,S.high),n.get_high(),this.unsigned);if(S.isZero())return w;if(this.eq(O))return S.isOdd()?O:w;if(S.eq(O))return this.isOdd()?O:w;if(this.isNegative())return S.isNegative()?this.neg().mul(S.neg()):this.neg().mul(S).neg();if(S.isNegative())return this.mul(S.neg()).neg();if(this.lt(b)&&S.lt(b))return l(this.toNumber()*S.toNumber(),this.unsigned);var F=this.high>>>16,M=this.high&65535,L=this.low>>>16,z=this.low&65535,q=S.high>>>16,J=S.high&65535,re=S.low>>>16,Y=S.low&65535,ae=0,ne=0,oe=0,ce=0;return ce+=z*Y,oe+=ce>>>16,ce&=65535,oe+=L*Y,ne+=oe>>>16,oe&=65535,oe+=z*re,ne+=oe>>>16,oe&=65535,ne+=M*Y,ae+=ne>>>16,ne&=65535,ne+=L*re,ae+=ne>>>16,ne&=65535,ne+=z*J,ae+=ne>>>16,ne&=65535,ae+=F*Y+M*re+L*J+z*q,ae&=65535,u(oe<<16|ce,ae<<16|ne,this.unsigned)},R.mul=R.multiply,R.divide=function(S){if(s(S)||(S=d(S)),S.isZero())throw Error("division by zero");if(n)return!this.unsigned&&this.high===-2147483648&&S.low===-1&&S.high===-1?this:u((this.unsigned?n.div_u:n.div_s)(this.low,this.high,S.low,S.high),n.get_high(),this.unsigned);if(this.isZero())return this.unsigned?x:w;var F,M,L;if(this.unsigned){if(S.unsigned||(S=S.toUnsigned()),S.gt(this))return x;if(S.gt(this.shru(1)))return $;L=x}else{if(this.eq(O))return S.eq(_)||S.eq(N)?O:S.eq(O)?_:(F=this.shr(1).div(S).shl(1),F.eq(w)?S.isNegative()?_:N:(M=this.sub(S.mul(F)),L=F.add(M.div(S)),L));if(S.eq(O))return this.unsigned?x:w;if(this.isNegative())return S.isNegative()?this.neg().div(S.neg()):this.neg().div(S).neg();if(S.isNegative())return this.div(S.neg()).neg();L=w}for(M=this;M.gte(S);){F=Math.max(1,Math.floor(M.toNumber()/S.toNumber()));for(var z=Math.ceil(Math.log(F)/Math.LN2),q=z<=48?1:c(2,z-48),J=l(F),re=J.mul(S);re.isNegative()||re.gt(M);)F-=q,J=l(F,this.unsigned),re=J.mul(S);J.isZero()&&(J=_),L=L.add(J),M=M.sub(re)}return L},R.div=R.divide,R.modulo=function(S){return s(S)||(S=d(S)),n?u((this.unsigned?n.rem_u:n.rem_s)(this.low,this.high,S.low,S.high),n.get_high(),this.unsigned):this.sub(this.div(S).mul(S))},R.mod=R.modulo,R.rem=R.modulo,R.not=function(){return u(~this.low,~this.high,this.unsigned)},R.and=function(S){return s(S)||(S=d(S)),u(this.low&S.low,this.high&S.high,this.unsigned)},R.or=function(S){return s(S)||(S=d(S)),u(this.low|S.low,this.high|S.high,this.unsigned)},R.xor=function(S){return s(S)||(S=d(S)),u(this.low^S.low,this.high^S.high,this.unsigned)},R.shiftLeft=function(S){return s(S)&&(S=S.toInt()),(S&=63)===0?this:S<32?u(this.low<<S,this.high<<S|this.low>>>32-S,this.unsigned):u(0,this.low<<S-32,this.unsigned)},R.shl=R.shiftLeft,R.shiftRight=function(S){return s(S)&&(S=S.toInt()),(S&=63)===0?this:S<32?u(this.low>>>S|this.high<<32-S,this.high>>S,this.unsigned):u(this.high>>S-32,this.high>=0?0:-1,this.unsigned)},R.shr=R.shiftRight,R.shiftRightUnsigned=function(S){if(s(S)&&(S=S.toInt()),S&=63,S===0)return this;var F=this.high;if(S<32){var M=this.low;return u(M>>>S|F<<32-S,F>>>S,this.unsigned)}else return S===32?u(F,0,this.unsigned):u(F>>>S-32,0,this.unsigned)},R.shru=R.shiftRightUnsigned,R.shr_u=R.shiftRightUnsigned,R.toSigned=function(){return this.unsigned?u(this.low,this.high,!1):this},R.toUnsigned=function(){return this.unsigned?this:u(this.low,this.high,!0)},R.toBytes=function(S){return S?this.toBytesLE():this.toBytesBE()},R.toBytesLE=function(){var S=this.high,F=this.low;return[F&255,F>>>8&255,F>>>16&255,F>>>24,S&255,S>>>8&255,S>>>16&255,S>>>24]},R.toBytesBE=function(){var S=this.high,F=this.low;return[S>>>24,S>>>16&255,S>>>8&255,S&255,F>>>24,F>>>16&255,F>>>8&255,F&255]},r.fromBytes=function(S,F,M){return M?r.fromBytesLE(S,F):r.fromBytesBE(S,F)},r.fromBytesLE=function(S,F){return new r(S[0]|S[1]<<8|S[2]<<16|S[3]<<24,S[4]|S[5]<<8|S[6]<<16|S[7]<<24,F)},r.fromBytesBE=function(S,F){return new r(S[4]<<24|S[5]<<16|S[6]<<8|S[7],S[0]<<24|S[1]<<16|S[2]<<8|S[3],F)}}));function wd(e){return bi.fromString(e,!0,16)}function Px(e){return e.xor(e.shru(47))}function oC(e,t,n){const r=e.slice(t,t+n);return bi.fromBytes(Array.from(r),!0,!0)}function ft(e,t){return oC(e,t,8)}function lC(e,t){return oC(e,t,4)}function hn(e,t){return t===0?e:e.shru(t).or(e.shl(64-t))}function yi(e,t,n=wd("9ddfea08eb382d69")){let r=e.xor(t).mul(n);r=r.xor(r.shru(47));let s=t.xor(r).mul(n);return s=s.xor(s.shru(47)),s=s.mul(n),s}function bX(e,t,n,r,s,a){s=s.add(e),a=hn(a.add(s).add(r),21);const i=s;return s=s.add(t),s=s.add(n),a=a.add(hn(s,44)),[s.add(r),a.add(i)]}function Rm(e,t,n,r){return bX(ft(e,t),ft(e,t+8),ft(e,t+16),ft(e,t+24),n,r)}function xX(e,t=e.length){if(t>=8){const n=Dn.add(t*2),r=ft(e,0).add(Dn),s=ft(e,t-8);return yi(hn(s,37).mul(n).add(r),hn(r,25).add(s).mul(n),n)}if(t>=4){const n=Dn.add(t*2);return yi(lC(e,0).shl(3).add(t),lC(e,t-4),n)}if(t>0){const n=e[0],r=e[t>>1],s=e[t-1],a=n+(r<<8),i=t+(s<<2);return Px(Dn.mul(a).xor(zx.mul(i))).mul(Dn)}return Dn}function wX(e,t=e.length){const n=Dn.add(t*2),r=ft(e,0).mul(xi),s=ft(e,8),a=ft(e,t-8).mul(n),i=ft(e,t-16).mul(Dn);return yi(hn(r.add(s),43).add(hn(a,30)).add(i),r.add(hn(s.add(Dn),18)).add(a),n)}function _X(e,t=e.length){const n=Dn.add(t*2),r=ft(e,0).mul(Dn),s=ft(e,8),a=ft(e,t-8).mul(n),i=ft(e,t-16).mul(Dn),o=hn(r.add(s),43).add(hn(a,30)).add(i),l=yi(o,r.add(hn(s.add(Dn),18)).add(a),n),u=ft(e,16).mul(n),c=ft(e,24),h=o.add(ft(e,t-32)).mul(n),d=l.add(ft(e,t-24)).mul(n);return yi(hn(u.add(c),43).add(hn(h,30)).add(d),u.add(hn(c.add(r),18)).add(h),n)}function uC(e,t=e.length){const n=bi.fromNumber(81,!0);if(t<=32)return t<=16?xX(e,t):wX(e,t);if(t<=64)return _X(e,t);let r=n,s=n.mul(xi).add(113),a=Px(s.mul(Dn).add(113)).mul(Dn),i=[bi.UZERO,bi.UZERO],o=[bi.UZERO,bi.UZERO];r=r.mul(Dn).add(ft(e,0));let l=0;const u=(t-1>>6)*64,c=u+(t-1&63)-63;do r=hn(r.add(s).add(i[0]).add(ft(e,l+8)),37).mul(xi),s=hn(s.add(i[1]).add(ft(e,l+48)),42).mul(xi),r=r.xor(o[1]),s=s.add(i[0]).add(ft(e,l+40)),a=hn(a.add(o[0]),33).mul(xi),i=Rm(e,l,i[1].mul(xi),r.add(o[0])),o=Rm(e,l+32,a.add(o[1]),s.add(ft(e,l+16))),[a,r]=[r,a],l+=64;while(l!==u);const h=xi.add(a.and(255).shl(1));return l=c,o[0]=o[0].add(t-1&63),i[0]=i[0].add(o[0]),o[0]=o[0].add(i[0]),r=hn(r.add(s).add(i[0]).add(ft(e,l+8)),37).mul(h),s=hn(s.add(i[1]).add(ft(e,l+48)),42).mul(h),r=r.xor(o[1].mul(9)),s=s.add(i[0].mul(9).add(ft(e,l+40))),a=hn(a.add(o[0]),33).mul(h),i=Rm(e,l,i[1].mul(h),r.add(o[0])),o=Rm(e,l+32,a.add(o[1]),s.add(ft(e,l+16))),[a,r]=[r,a],yi(yi(i[0],o[0],h).add(Px(s).mul(zx)).add(a),yi(i[1],o[1],h).add(r),h)}var Mx,bi,zx,xi,Dn,SX=m((()=>{Mx=Co(yX()),bi=Mx.default||Mx,zx=wd("c3a5c85c97cb3127"),xi=wd("b492b66fbe98f273"),Dn=wd("9ae16a3b2f90404f")})),cC=Te({arraysEqual:()=>Ue,arraysEqualWithNull:()=>KN,assert:()=>E,assertNonNegativeIntegerDimensions:()=>ur,assertNonNull:()=>ko,assertShapesMatch:()=>bn,bytesFromStringArray:()=>ZN,bytesPerElement:()=>md,checkConversionForErrors:()=>XN,clamp:()=>Aa,computeStrides:()=>Ie,convertBackendValuesAndArrayBuffer:()=>eC,createScalarValue:()=>Qs,createShuffledIndices:()=>HK,decodeString:()=>ea,distSquared:()=>WK,encodeString:()=>xs,fetch:()=>hC,fingerPrint64:()=>uC,flatten:()=>ws,getArrayFromDType:()=>Dt,getTypedArrayFromDType:()=>un,hasEncodingLoss:()=>Sx,hexToLong:()=>wd,indexToLoc:()=>Ro,inferDtype:()=>Ao,inferFromImplicitShape:()=>_x,isBoolean:()=>JN,isFunction:()=>Ra,isInt:()=>To,isNumber:()=>Im,isPromise:()=>Zs,isScalarShape:()=>UK,isString:()=>bs,isTypedArray:()=>en,isValidDtype:()=>YN,locToIndex:()=>Xr,makeOnesTypedArray:()=>Cm,makeZerosNestedTypedArray:()=>Ix,makeZerosTypedArray:()=>xn,nearestDivisor:()=>Nm,nearestLargerEven:()=>_m,now:()=>Bt,parseAxisParam:()=>Be,randUniform:()=>VK,repeatedTry:()=>wx,rightPad:()=>Eo,shuffle:()=>$o,shuffleCombo:()=>BK,sizeFromShape:()=>te,sizeToSquarishShape:()=>Sm,squeezeShape:()=>Ys,sum:()=>qN,swap:()=>Xs,tanh:()=>GK,toNestedArray:()=>xr,toTypedArray:()=>wi});function Qs(e,t){return t==="string"?xs(e):wi([e],t)}function IX(e,t){return e instanceof Float32Array&&t==="float32"||e instanceof Int32Array&&t==="int32"||e instanceof Uint8Array&&t==="bool"}function wi(e,t){if(t==="string")throw new Error("Cannot convert a string[] to a TypedArray");if(Array.isArray(e)&&(e=ws(e)),Z().getBool("DEBUG")&&XN(e,t),IX(e,t))return e;if(t==null||t==="float32"||t==="complex64")return new Float32Array(e);if(t==="int32")return new Int32Array(e);if(t==="bool"){const n=new Uint8Array(e.length);for(let r=0;r<n.length;++r)Math.round(e[r])!==0&&(n[r]=1);return n}else throw new Error(`Unknown data type ${t}`)}function Bt(){return Z().platform.now()}function hC(e,t){return Z().platform.fetch(e,t)}function xs(e,t="utf-8"){return t=t||"utf-8",Z().platform.encode(e,t)}function ea(e,t="utf-8"){return t=t||"utf-8",Z().platform.decode(e,t)}function en(e){return Z().platform.isTypedArray!=null?Z().platform.isTypedArray(e):aC(e)}function ws(e,t=[],n=!1){if(t==null&&(t=[]),typeof e=="boolean"||typeof e=="number"||typeof e=="string"||Zs(e)||e==null||en(e)&&n)t.push(e);else if(Array.isArray(e)||en(e))for(let r=0;r<e.length;++r)ws(e[r],t,n);else{let r=-1;for(const s of Object.keys(e))/^([1-9]+[0-9]*|0)$/.test(s)&&(r=Math.max(r,Number(s)));for(let s=0;s<=r;s++)ws(e[s],t,n)}return t}var Q=m((()=>{wn(),iC(),cn(),cn(),SX()}));function NX(e,t,n){if(t!=="float32")return!1;for(let r=0;r<e.length;r++){const s=e[r];if(isNaN(s)||!isFinite(s))return console.warn(`Found ${s} in the result of '${n}'`),!0}return!1}var dC,pC,CX=m((()=>{wn(),Q(),dC=class{constructor(e,t){this.backendTimer=e,this.logger=t,t==null&&(this.logger=new pC)}profileKernel(e,t,n){let r;const s=()=>{r=n()};let a;const i=Bt();if(this.backendTimer.timerAvailable())a=this.backendTimer.time(s);else{s();for(const o of r)o.dataSync();a=Promise.resolve({kernelMs:Bt()-i})}if(Z().getBool("CHECK_COMPUTATION_FOR_ERRORS"))for(let o=0;o<r.length;o++){const l=r[o];l.data().then(u=>{NX(u,l.dtype,e)})}return{kernelName:e,outputs:r,inputs:t,timeMs:a.then(o=>o.kernelMs),extraInfo:a.then(o=>o.getExtraProfileInfo!=null?o.getExtraProfileInfo():"")}}logKernelProfile(e){const{kernelName:t,outputs:n,timeMs:r,inputs:s,extraInfo:a}=e;n.forEach(i=>{Promise.all([i.data(),r,a]).then(o=>{this.logger.logKernelProfile(t,i,o[0],o[1],s,o[2])})})}},pC=class{logKernelProfile(e,t,n,r,s,a){const i=typeof r=="number"?Eo(`${r}ms`,9):r.error,o=Eo(e,25),l=t.rank,u=t.size,c=Eo(t.shape.toString(),14);let h="";for(const d in s){const p=s[d];if(p!=null){const f=p.shape||t.shape,g=f.length;h+=`${d}: ${g}D ${g>0?f:""} `}}console.log(`%c${o} %c${i} %c${l}D ${c} %c${u} %c${h} %c${a}`,"font-weight:bold","color:red","color:blue","color: orange","color: green","color: steelblue")}}}));function $X(e,t,n){const r={},s={};for(let l=0;l<t.length;l++)r[t[l].id]=!0;for(let l=0;l<e.length;l++){const u=e[l],c=u.inputs;for(const h in c){const d=c[h];let p=!1;for(let f=0;f<t.length;f++)if(r[d.id]){u.outputs.forEach(g=>r[g.id]=!0),p=!0,s[u.id]=!0;break}if(p)break}}const a={};a[n.id]=!0;const i={};for(let l=e.length-1;l>=0;l--){const u=e[l],c=u.inputs;for(let h=0;h<u.outputs.length;h++)if(a[u.outputs[h].id]){for(const d in c)a[c[d].id]=!0,i[u.id]=!0;break}}const o=[];for(let l=0;l<e.length;l++){const u=e[l];if(s[u.id]&&i[u.id]){const c={};for(const d in u.inputs){const p=u.inputs[d];r[p.id]&&(c[d]=p)}const h=Object.assign({},u);h.inputs=c,h.outputs=u.outputs,o.push(h)}}return o}function kX(e,t,n,r){for(let s=t.length-1;s>=0;s--){const a=t[s],i=[];if(a.outputs.forEach(l=>{const u=e[l.id];u!=null?i.push(u):i.push(null)}),a.gradient==null)throw new Error(`Cannot compute gradient: gradient function not found for ${a.kernelName}.`);const o=a.gradient(i);for(const l in a.inputs){if(!(l in o))throw new Error(`Cannot backprop through input ${l}. Available gradients found: ${Object.keys(o)}.`);const u=n(()=>o[l]());if(u.dtype!=="float32")throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input ${l} must have 'float32' dtype, but has '${u.dtype}'`);const c=a.inputs[l];if(!Ue(u.shape,c.shape))throw new Error(`Error in gradient for op ${a.kernelName}. The gradient of input '${l}' has shape '${u.shape}', which does not match the shape of the input '${c.shape}'`);if(e[c.id]==null)e[c.id]=u;else{const h=e[c.id];e[c.id]=r(h,u),h.dispose()}}}}var TX=m((()=>{Q()}));function EX(e,t,n,r){const s=Ie(t),a=AX(e,t,n,s),i=t.length,o=Dm(e,t,n,s,a),l=["Tensor"];return r&&(l.push(` dtype: ${n}`),l.push(` rank: ${i}`),l.push(` shape: [${t}]`),l.push(" values:")),l.push(o.map(u=>" "+u).join(`
|
|
3
3
|
`)),l.join(`
|
|
4
4
|
`)}function AX(e,t,n,r){const s=te(t),a=r[r.length-1],i=new Array(a).fill(0),o=t.length,l=n==="complex64"?Sd(e):e;if(o>1)for(let u=0;u<s/a;u++){const c=u*a;for(let h=0;h<a;h++)i[h]=Math.max(i[h],_d(l[c+h],0,n).length)}return i}function _d(e,t,n){let r;return Array.isArray(e)?r=`${parseFloat(e[0].toFixed(Om))} + ${parseFloat(e[1].toFixed(Om))}j`:bs(e)?r=`'${e}'`:n==="bool"?r=fC(e):r=parseFloat(e.toFixed(Om)).toString(),Eo(r,t)}function fC(e){return e===0?"false":"true"}function Dm(e,t,n,r,s,a=!0){const i=n==="complex64"?2:1,o=t[0],l=t.length;if(l===0)return n==="complex64"?[_d(Sd(e)[0],0,n)]:n==="bool"?[fC(e[0])]:[e[0].toString()];if(l===1){if(o>Bx){const g=Yc*i;let v=Array.from(e.slice(0,g)),y=Array.from(e.slice((o-Yc)*i,o*i));return n==="complex64"&&(v=Sd(v),y=Sd(y)),["["+v.map((b,w)=>_d(b,s[w],n)).join(", ")+", ..., "+y.map((b,w)=>_d(b,s[o-Yc+w],n)).join(", ")+"]"]}return["["+(n==="complex64"?Sd(e):Array.from(e)).map((g,v)=>_d(g,s[v],n)).join(", ")+"]"]}const u=t.slice(1),c=r.slice(1),h=r[0]*i,d=[];if(o>Bx){for(let g=0;g<Yc;g++){const v=g*h,y=v+h;d.push(...Dm(e.slice(v,y),u,n,c,s,!1))}d.push("...");for(let g=o-Yc;g<o;g++){const v=g*h,y=v+h;d.push(...Dm(e.slice(v,y),u,n,c,s,g===o-1))}}else for(let g=0;g<o;g++){const v=g*h,y=v+h;d.push(...Dm(e.slice(v,y),u,n,c,s,g===o-1))}const p=l===2?",":"";d[0]="["+(o>0?d[0]+p:"");for(let g=1;g<d.length-1;g++)d[g]=" "+d[g]+p;let f=`,
|
|
@@ -44,7 +44,7 @@ Manifest JSON has weights with names: ${o.join(", ")}.`)}const l=s.reduce((p,f,g
|
|
|
44
44
|
`).map(e=>(e.endsWith("\r")&&(e=e.slice(0,-1)),e))}}})),Hf,Hh,H_,jf,xb,j_,q_,kO=m((()=>{C(),bb(),$O(),Hf='"',Hh=Symbol("out"),H_=Symbol("field"),jf=Symbol("quote"),xb=Symbol("quoteafterquote"),j_=Symbol("quoteinquote"),q_=class extends Cu{async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){const e=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!e)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&e&&E(e.length===this.fullColumnNames.length,()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+")."),this.fullColumnNames||(this.fullColumnNames=e);const t=this.fullColumnNames.reduce((r,s)=>(r[s]=r[s]+1||1,r),{}),n=Object.keys(t).filter(r=>t[r]>1);if(E(n.length===0,()=>"Duplicate column names found: "+n.toString()),this.columnConfigs){for(const r of Object.keys(this.columnConfigs))if(this.fullColumnNames.indexOf(r)===-1)throw new Error('The key "'+r+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const e=await(await this.base.iterator()).next();if(e.done)throw new Error("No data was found for CSV parsing.");const t=e.value;return this.parseRow(t,!1)}else return null}constructor(e,t){super(),this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new G_(e),t||(t={}),this.hasHeader=t.hasHeader!==!1,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(E(t.delimiter==null,()=>"Delimiter should not be provided when delimWhitespace is true."),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map(t=>this.makeDataElement(t))}makeDataElement(e){const t=this.parseRow(e),n={},r={};for(let s=0;s<this.fullColumnNames.length;s++){const a=this.fullColumnNames[s],i=this.columnConfigs?this.columnConfigs[a]:null;if(!(this.configuredColumnsOnly&&!i)){const o=t[s];let l=null;if(o==="")if(i&&i.default!==void 0)l=i.default;else{if(i&&(i.required||i.isLabel))throw new Error(`Required column ${a} is empty in this line: ${e}`);l=void 0}else{const u=Number(o);if(isNaN(u))i&&i.dtype==="bool"?l=this.getBoolean(o):l=o;else if(!i||!i.dtype)l=u;else switch(i.dtype){case"float32":l=u;break;case"int32":l=Math.floor(u);break;case"bool":l=this.getBoolean(o);break;default:l=u}}i&&i.isLabel?r[a]=l:n[a]=l}}return Object.keys(r).length===0?n:{xs:n,ys:r}}getBoolean(e){return e==="1"||e.toLowerCase()==="true"?1:0}parseRow(e,t=!0){const n=[];let r=0;const s=e.length;let a=Hh;for(let i=0;i<s;i++)switch(a){case Hh:switch(e.charAt(i)){case Hf:r=i+1,a=jf;break;case this.delimiter:if(r=i+1,this.delimiter===" "&&this.delimWhitespace)break;n.push(""),a=Hh;break;default:a=H_,r=i}break;case H_:e.charAt(i)===this.delimiter&&(n.push(e.substring(r,i)),a=Hh,r=i+1);break;case jf:e.charAt(i)===Hf&&(a=xb);break;case xb:switch(e.charAt(i)){case this.delimiter:n.push(e.substring(r,i-1)),a=Hh,r=i+1;break;case Hf:a=jf;break;default:a=j_}break;case j_:e.charAt(i)===Hf&&(a=jf)}if(a===xb?n.push(e.substring(r,s-1)):n.push(e.substring(r)),t&&n.length!==this.fullColumnNames.length)throw new Error(`Invalid row in csv file. Should have ${this.fullColumnNames.length} elements in a row, but got ${n}`);return n}}})),TO,Whe=m((()=>{C(),Gh(),TO=class RK extends an{constructor(t){super(),this.microphoneConfig=t,this.isClosed=!1,this.fftSize=t.fftSize||1024;const n=Math.log2(this.fftSize);if(this.fftSize<0||n<4||n>14||!Number.isInteger(n))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(!Z().get("IS_BROWSER"))throw new Error("microphone API is only supported in browser environment.");const n=new RK(t);return await n.start(),n}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:this.audioTrackConstraints==null?!0:this.audioTrackConstraints,video:!1})}catch(r){throw new Error(`Error thrown while initializing video stream: ${r.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const 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}`);const n=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=this.fftSize*2,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,n.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,n;const r=await this.getAudioData();if(this.includeSpectrogram){const s=this.flattenQueue(r.freqDataQueue);t=this.getTensorFromAudioDataArray(s,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const s=this.flattenQueue(r.timeDataQueue);n=this.getTensorFromAudioDataArray(s,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:t,waveform:n},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const t=[],n=[];let r=0;return new Promise(s=>{const a=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&s({freqDataQueue:t,timeDataQueue:n}),t.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),n.push(this.timeData.slice())),++r===this.numFrames&&(clearInterval(a),s({freqDataQueue:t,timeDataQueue:n}))},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){const n=t[0].length,r=new Float32Array(t.length*n);return t.forEach((s,a)=>r.set(s,a*n)),r}getTensorFromAudioDataArray(t,n){const r=new Float32Array(te(n));return r.set(t,r.length-t.length),Vn(r,n)}}})),EO,Uhe=m((()=>{C(),Gh(),EO=class DK extends an{constructor(t,n){if(super(),this.webcamVideoElement=t,this.webcamConfig=n,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=Mt([0],"int32"),this.webcamConfig.centerCrop){const r=this.webcamConfig.resizeWidth*1/this.webcamVideoElement.width,s=this.webcamConfig.resizeHeight*1/this.webcamVideoElement.height,a=(1-r)/2,i=(1-s)/2,o=a+r,l=s+i;this.cropBox=ns([i,a,l,o],[1,4])}else this.cropBox=ns([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(t,n={}){if(!Z().get("IS_BROWSER"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!t){if(t=document.createElement("video"),!n.resizeWidth||!n.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");t.width=n.resizeWidth,t.height=n.resizeHeight}const r=new DK(t,n);return await r.start(),r}async start(){this.webcamConfig.facingMode&&E(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=gv(this.webcamVideoElement)}catch(n){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(n)}`)}if(this.resize)try{return{value:this.cropAndResizeFrame(t),done:!1}}catch(n){throw new Error(`Error thrown cropping the video: ${n.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 K(()=>{const n=Lt(ue(t,"float32"),0);let r;r=nr.cropAndResize(n,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const s=r.shape;return H(r,s.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(t=>t.stop());try{this.webcamVideoElement.srcObject=null}catch(t){console.log(t),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}}})),K_,AO=m((()=>{K_=class{}})),X_,RO,DO,Ghe=m((()=>{Gh(),X_=class extends an{split(e){return new RO(this,e)}},RO=class extends X_{constructor(e,t){super(),this.upstream=e,this.impl=new DO(e,t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},DO=class extends yb{constructor(e,t){super(),this.upstream=e,this.separator=t,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const e=await this.upstream.next();if(e.done)return this.carryover===""?!1:(this.outputQueue.push(this.carryover),this.carryover="",!0);const t=e.value.split(this.separator);t[0]=this.carryover+t[0];for(const n of t.slice(0,-1))this.outputQueue.push(n);return this.carryover=t[t.length-1],!0}}})),OO,FO,LO,Hhe=m((()=>{C(),Gh(),Ghe(),OO=class extends an{decodeUTF8(){return new FO(this)}},FO=class extends X_{constructor(e){super(),this.upstream=e,this.impl=new LO(e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}},LO=class extends yb{constructor(e){if(super(),this.upstream=e,Z().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:t}=Bl();this.decoder=new t("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const e=await this.upstream.next();let t;if(e.done)return!1;t=e.value;let n;return Z().get("IS_BROWSER")?n=this.decoder.decode(t,{stream:!0}):n=this.decoder.write(Buffer.from(t.buffer)),this.outputQueue.push(n),!0}}})),Y_,PO=m((()=>{C(),Hhe(),Y_=class extends OO{constructor(e,t={}){super(),this.file=e,this.options=t,E(e instanceof Uint8Array||(Z().get("IS_BROWSER")?e instanceof File||e instanceof Blob:!1),()=>"FileChunkIterator only supports File, Blob and Uint8Array right now."),this.offset=t.offset||0,this.chunkSize=t.chunkSize||1048576}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,t)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,n)));else{const r=new FileReader;r.onload=a=>{let i=r.result;if(i instanceof ArrayBuffer&&(i=new Uint8Array(i)),!(i instanceof Uint8Array))return t(new TypeError("FileReader returned unknown type."));e(i)},r.onabort=a=>t(new Error("Aborted")),r.onerror=a=>t(new Error(a.type));const s=this.file.slice(this.offset,n);r.readAsArrayBuffer(s)}this.offset=n}),done:!1}}}}));async function jhe(e,t={},n){let r,s;typeof e=="string"?r=e:(r=e.url,s=MO(e));const a=await(n||hC)(r,s);if(a.ok){const i=new Uint8Array(await a.arrayBuffer());return new Y_(i,t)}else throw new Error(a.statusText)}var MO,qhe=m((()=>{C(),PO(),MO=e=>({method:e.method,headers:e.headers,body:e.body,mode:e.mode,credentials:e.credentials,cache:e.cache,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity})}));function zO(e){return typeof e=="string"&&e.slice(0,7)==="file://"}var BO=m((()=>{})),Z_,VO=m((()=>{C(),AO(),PO(),BO(),Z_=class extends K_{constructor(e,t={}){super(),this.input=e,this.options=t}async iterator(){if(zO(this.input)&&Z().get("IS_NODE")){const e=Bl();this.input=e.readFileSync(this.input.slice(7))}return new Y_(this.input,this.options)}}})),J_,WO=m((()=>{AO(),qhe(),BO(),VO(),J_=class extends K_{constructor(e,t={}){super(),this.url=e,this.fileOptions=t}async iterator(){return zO(this.url)?new Z_(this.url,this.fileOptions).iterator():jhe(this.url,this.fileOptions)}}}));function Khe(e,t={}){return new q_(new J_(e),t)}function Xhe(e){const t=z_(e);return gr(async()=>t)}function Yhe(e){return gr(async()=>{const t=await e();return z_(()=>t.next())})}async function Zhe(e,t){return EO.create(e,t)}async function Jhe(e){return TO.create(e)}var Qhe=m((()=>{bb(),kO(),Gh(),Whe(),Uhe(),WO()})),Q_,ede=m((()=>{Q_="4.22.0"})),tde=Te({CSVDataset:()=>q_,Dataset:()=>Cu,FileDataSource:()=>Z_,TextLineDataset:()=>G_,URLDataSource:()=>J_,array:()=>Gf,csv:()=>Khe,func:()=>Xhe,generator:()=>Yhe,microphone:()=>Jhe,version_data:()=>Q_,webcam:()=>Zhe,zip:()=>U_}),UO=m((()=>{bb(),kO(),$O(),Qhe(),VO(),WO(),ede()}));function be(e,t){Array.isArray(e)||(e=[e]),e.forEach(n=>{n!=null&&E(n.dtype!=="complex64",()=>`${t} does not support complex64 tensors in the CPU backend.`)})}var xe=m((()=>{C()})),GO,wb,nde=m((()=>{C(),xe(),GO=Vg,wb=class OK extends Gu{nextDataId(){return OK.nextDataId++}constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new fd(this,Lr())}write(t,n,r){this.firstUse&&(this.firstUse=!1,Z().get("IS_NODE")&&wr(`
|
|
45
45
|
============================
|
|
46
46
|
Hi, 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.
|
|
47
|
-
============================`));const s={id:this.nextDataId()};return this.data.set(s,{values:t,dtype:r,refCount:1}),s}makeTensorInfo(t,n,r){let s;if(n==="string"&&r!=null&&r.length>0&&bs(r[0])){const a=r.map(i=>xs(i));s=this.write(a,t,n)}else s=this.write(r,t,n);return{dataId:s,shape:t,dtype:n}}refCount(t){return this.data.has(t)?this.data.get(t).refCount:0}incRef(t){const n=this.data.get(t);n.refCount++}decRef(t){if(this.data.has(t)){const n=this.data.get(t);n.refCount--}}move(t,n,r,s,a){this.data.set(t,{values:n,dtype:s,refCount:a})}numDataIds(){return this.data.numDataIds()}async read(t){return this.readSync(t)}readSync(t){const{dtype:n,complexTensorInfos:r}=this.data.get(t);if(n==="complex64"){const s=this.readSync(r.real.dataId),a=this.readSync(r.imag.dataId);return va(s,a)}return eC(this.data.get(t).values,n)}bufferSync(t){const n=this.readSync(t.dataId);if(t.dtype==="string")try{const r=n.map(s=>ea(s));return Fe(t.shape,t.dtype,r)}catch{throw new Error("Failed to decode encoded string bytes into utf-8")}return Fe(t.shape,t.dtype,n)}makeOutput(t,n,r){return Lr().makeTensorFromTensorInfo(this.makeTensorInfo(n,r,t),this)}disposeData(t,n=!1){if(this.data.has(t)){if(this.data.get(t).refCount--,!n&&this.data.get(t).refCount>0)return!1;const{complexTensorInfos:r}=this.data.get(t);r!=null&&(this.disposeData(r.real.dataId,!0),this.disposeData(r.imag.dataId,!0)),this.data.delete(t)}return!0}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}async time(t){const n=Bt();return t(),{kernelMs:Bt()-n}}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){be([t],"where");const n=this.readSync(t.dataId);return GO(t.shape,n)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}},wb.nextDataId=0}));function HO(e){const t=new Float32Array(e.length);for(let n=0;n<e.length;++n)t[n]=Math.abs(e[n]);return t}var jO,qO,KO=m((()=>{C(),xe(),jO=e=>{const{x:t}=e.inputs,n=e.backend;be(t,"abs");let r=new Float32Array(te(t.shape));const s=n.data.get(t.dataId).values;return r=HO(s),n.makeOutput(r,t.shape,t.dtype)},qO={kernelName:"Abs",backendName:"cpu",kernelFunc:jO}}));function qt(e){return(t,n,r,s,a)=>{const i=De(t,n),o=i.length,l=Ie(i),u=te(i),c=un(a,u),h=t.length,d=n.length,p=Ie(t),f=Ie(n),g=ql(t,i),v=ql(n,i);if(g.length+v.length===0)for(let y=0;y<c.length;++y)c[y]=e(r[y%r.length],s[y%s.length]);else for(let y=0;y<c.length;++y){const b=Ro(y,o,l),w=b.slice(-h);g.forEach(N=>w[N]=0);const x=Xr(w,h,p),_=b.slice(-d);v.forEach(N=>_[N]=0);const $=Xr(_,d,f);c[y]=e(r[x],s[$])}return[c,i]}}var Kt=m((()=>{C()}));function vr(e){const{inputs:t,backend:n}=e,{real:r,imag:s}=t,a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,o=n.makeTensorInfo(r.shape,"complex64"),l=n.data.get(o.dataId);return l.complexTensorInfos={real:n.makeTensorInfo(r.shape,"float32",a),imag:n.makeTensorInfo(s.shape,"float32",i)},o}var XO,co=m((()=>{C(),XO={kernelName:Xu,backendName:"cpu",kernelFunc:vr}}));function _b(e,t,n="float32"){if(n==="complex64"){const s=_b(e,t,"float32"),a=_b(e,t,"float32");return vr({inputs:{real:s,imag:a},backend:e})}const r=xn(te(t),n);return e.makeTensorInfo(t,n,r)}var YO=m((()=>{C(),co()}));function Vs(e){const{inputs:t,backend:n}=e,{x:r}=t;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}var ZO,Sa=m((()=>{C(),ZO={kernelName:Xa,backendName:"cpu",kernelFunc:Vs}}));function $u(e){const{inputs:t,backend:n}=e,{input:r}=t,s=n.data.get(r.dataId).complexTensorInfos.real,a=n.data.get(s.dataId).values;return n.makeTensorInfo(s.shape,s.dtype,a)}var JO,jh=m((()=>{C(),JO={kernelName:kc,backendName:"cpu",kernelFunc:$u}}));function QO(e,t,n,r){if(r==="int32")return[t,"int32",Int32Array.from(e)];if(r==="bool"){const s=wi([0],n),[a,i]=qt((o,l)=>o!==l?1:0)(t,[],e,s,"bool");return[i,"bool",a]}throw new Error(`Error in Cast: failed to cast ${n} to ${r}`)}function ho(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dtype:a}=r;if(a==="complex64"){if(s.dtype==="complex64")return Vs({inputs:{x:s},backend:n});const c=_b(n,s.shape,s.dtype),h=ho({inputs:{x:s},backend:n,attrs:{dtype:"float32"}}),d=vr({inputs:{real:h,imag:c},backend:n});return n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),d}if(s.dtype==="complex64"){const c=$u({inputs:{input:s},backend:n}),h=ho({inputs:{x:c},backend:n,attrs:{dtype:a}});return n.disposeIntermediateTensorInfo(c),h}if(!Sx(s.dtype,a)){const c=Vs({inputs:{x:s},backend:n});return{dataId:c.dataId,shape:c.shape,dtype:a}}const i=n.data.get(s.dataId).values,[o,l,u]=QO(i,s.shape,s.dtype,a);return n.makeTensorInfo(o,l,u)}var eF,qh=m((()=>{C(),Kt(),YO(),co(),Sa(),jh(),eF={kernelName:Ba,backendName:"cpu",kernelFunc:ho}}));function on(e,t,n,r){return n==null?({inputs:s,backend:a})=>{const{a:i,b:o}=s,l=a;be([i,o],e);const u=l.data.get(i.dataId).values,c=l.data.get(o.dataId).values,h=i.dtype==="string"?ya(u):u,d=i.dtype==="string"?ya(c):c,p=r||i.dtype,[f,g]=t(i.shape,o.shape,h,d,p);return l.makeTensorInfo(g,p,f)}:({inputs:s,backend:a})=>{const{a:i,b:o}=s,l=a;if(i.dtype==="complex64"||o.dtype==="complex64"){const u=ho({inputs:{x:i},backend:l,attrs:{dtype:"complex64"}}),c=l.data.get(u.dataId),h=c.complexTensorInfos.real,d=c.complexTensorInfos.imag,p=l.data.get(h.dataId).values,f=l.data.get(d.dataId).values,g=ho({inputs:{x:o},backend:l,attrs:{dtype:"complex64"}}),v=l.data.get(g.dataId),y=v.complexTensorInfos.real,b=v.complexTensorInfos.imag,w=l.data.get(y.dataId).values,x=l.data.get(b.dataId).values,[_,$,N]=n(i.shape,o.shape,p,f,w,x),k=l.makeTensorInfo(N,"float32",_),A=l.makeTensorInfo(N,"float32",$),O=vr({inputs:{real:k,imag:A},backend:l});return l.disposeIntermediateTensorInfo(u),l.disposeIntermediateTensorInfo(g),l.disposeIntermediateTensorInfo(k),l.disposeIntermediateTensorInfo(A),O}else{const u=l.data.get(i.dataId).values,c=l.data.get(o.dataId).values,h=r||i.dtype,[d,p]=t(i.shape,o.shape,u,c,h);return l.makeTensorInfo(p,h,d)}}}function eS(e){return(t,n,r,s,a,i)=>{const o=De(t,n),l=te(o),u=o.length,c=Ie(o),h=un("float32",l),d=un("float32",l),p=ql(t,o),f=ql(n,o),g=va(r,s),v=va(a,i),y=t.length,b=Ie(t),w=n.length,x=Ie(n);if(p.length+f.length===0)for(let _=0;_<h.length;_++){const $=_%g.length,N=_%v.length,k=e(g[$*2],g[$*2+1],v[N*2],v[N*2+1]);h[_]=k.real,d[_]=k.imag}else for(let _=0;_<h.length;_++){const $=Ro(_,u,c),N=$.slice(-y);p.forEach(T=>N[T]=0);const k=Xr(N,y,b),A=$.slice(-w);f.forEach(T=>A[T]=0);const O=Xr(A,w,x),R=e(g[k*2],g[k*2+1],v[O*2],v[O*2+1]);h[_]=R.real,d[_]=R.imag}return[h,d,o]}}var ln=m((()=>{C(),xe(),qh(),co()})),tS,tF,ku,nF,Kh=m((()=>{C(),Kt(),ln(),tS=qt(((e,t)=>e+t)),tF=eS(((e,t,n,r)=>({real:e+n,imag:t+r}))),ku=on("Add",tS,tF),nF={kernelName:"Add",backendName:"cpu",kernelFunc:ku}}));function nS(e,t,n,r,s){const a=te(r),i=xn(s,n);for(let o=0;o<e.length;o++){const l=e[o];if(l<0)throw new Error("Input x must be non-negative!");l>=s||(a>0?i[l]+=t[o]:i[l]+=1)}return i}function rF(e,t,n,r=!1){const s=e.shape[0],a=e.shape[1],i=Fe([s,n],t.dtype);for(let o=0;o<s;o++)for(let l=0;l<a;l++){const u=e.get(o,l);if(u<0)throw new Error("Input x must be non-negative!");u>=n||(r?i.set(1,o,u):t.size>0?i.set(i.get(o,u)+t.get(o,l),o,u):i.set(i.get(o,u)+1,o,u))}return i}var rS=m((()=>{C()})),sS,sF,aF,iF=m((()=>{C(),Kt(),ln(),sS=qt(((e,t)=>e&t)),sF=on(Bo,sS),aF={kernelName:Bo,backendName:"cpu",kernelFunc:sF}}));function Ws(e){return(t,n,r)=>{const s=Dt(n,t.length);for(let a=0;a<t.length;++a)s[a]=e(t[a],r);return s}}var Us=m((()=>{C()}));function ot(e,t,n){return po(e,Ws(t),n)}function po(e,t,n){return({inputs:r,attrs:s,backend:a})=>{const{x:i}=r;be(i,e);const o=a,l=o.data.get(i.dataId).values;let u;if(i.dtype==="string"){if(!Array.isArray(l))throw new Error("String tensor's value was not an instance of Array");u=ya(l)}else u=l;const c=n||i.dtype,h=t(u,c,s);return o.makeTensorInfo(i.shape,c,h)}}var qe=m((()=>{C(),xe(),Us()})),aS,oF,lF,uF=m((()=>{C(),Us(),qe(),aS=Ws(e=>Math.ceil(e)),oF=po(Va,aS),lF={kernelName:Va,backendName:"cpu",kernelFunc:oF}}));function cF(e,t,n,r){const s=Dt(n,te(t));if(r&&n!=="string"){let a=0;e.forEach(i=>{const o=te(i.shape);s.set(i.vals,a),a+=o})}else{let a=0;e.forEach(i=>{const o=n==="string"?ya(i.vals):i.vals;let l=0;for(let u=0;u<i.shape[0];++u){const c=u*t[1]+a;for(let h=0;h<i.shape[1];++h)s[c+h]=o[l++]}a+=i.shape[1]})}return s}var hF=m((()=>{C()})),iS,oS,dF,lS=m((()=>{C(),Kt(),ln(),iS=qt((e,t)=>e===t?1:0),oS=on(Xo,iS,null,"bool"),dF={kernelName:Xo,backendName:"cpu",kernelFunc:oS}})),uS,cS,pF,hS=m((()=>{C(),Us(),qe(),uS=Ws(e=>Math.exp(e)),cS=po("Exp",uS,"float32"),pF={kernelName:"Exp",backendName:"cpu",kernelFunc:cS}})),dS,fF,mF,gF=m((()=>{C(),Us(),qe(),dS=Ws(e=>Math.expm1(e)),fF=po(Ha,dS),mF={kernelName:Ha,backendName:"cpu",kernelFunc:fF}})),pS,vF,yF,bF=m((()=>{C(),Us(),qe(),pS=Ws(e=>Math.floor(e)),vF=po(ja,pS),yF={kernelName:ja,backendName:"cpu",kernelFunc:vF}})),fS,xF,wF,_F=m((()=>{C(),Kt(),ln(),fS=qt((e,t)=>Math.floor(e/t)),xF=on(qa,fS,null,"int32"),wF={kernelName:qa,backendName:"cpu",kernelFunc:xF}}));function SF(e,t,n,r,s,a,i,o,l){const u=Fe([r,a],n);for(let c=0;c<r;c++){const h=[];let d=0;for(let p=0;p<s;p++){const f=e[c*s+p];d+=f*i[p],h.push(f)}if(d<0||d>=l/a)throw new Error(`Invalid indices: ${h} does not index into ${o}`);for(let p=0;p<a;p++)u.values[c*a+p]=t.get(...t.indexToLoc(d*a+p))}return u}var IF=m((()=>{C()}));function NF(e,t,n){const r=Fe(n,e.dtype);for(let s=0;s<r.size;++s){const a=r.indexToLoc(s).slice(),i=a[0],o=a[2],l=t.locToIndex([i,o]);a[2]=t.values[l];const u=e.locToIndex(a);0<=u&&u<e.values.length&&(r.values[s]=e.values[u])}return r}var CF=m((()=>{C()})),mS,$F,kF,TF=m((()=>{C(),Kt(),ln(),mS=qt((e,t)=>e>t?1:0),$F=on(Qo,mS,null,"bool"),kF={kernelName:Qo,backendName:"cpu",kernelFunc:$F}})),gS,EF,AF,RF=m((()=>{C(),Kt(),ln(),gS=qt((e,t)=>e>=t?1:0),EF=on(Ka,gS,null,"bool"),AF={kernelName:Ka,backendName:"cpu",kernelFunc:EF}})),vS,DF,OF,FF=m((()=>{C(),Kt(),ln(),vS=qt((e,t)=>e<t?1:0),DF=on(tl,vS,null,"bool"),OF={kernelName:tl,backendName:"cpu",kernelFunc:DF}})),yS,LF,PF,MF=m((()=>{C(),Kt(),ln(),yS=qt((e,t)=>e<=t?1:0),LF=on(nl,yS,null,"bool"),PF={kernelName:nl,backendName:"cpu",kernelFunc:LF}}));function zF(e,t,n){const r=(t-e)/(n-1),s=xn(n,"float32");s[0]=e;for(let a=1;a<s.length;a++)s[a]=s[a-1]+r;return s}var BF=m((()=>{C()})),bS,VF,WF,UF=m((()=>{C(),Us(),qe(),bS=Ws(e=>Math.log(e)),VF=po("Log",bS),WF={kernelName:"Log",backendName:"cpu",kernelFunc:VF}}));function GF(e,t,n,r){const s=un(r,te(n));for(let a=0;a<s.length;++a){const i=a*t;let o=e[i];for(let l=0;l<t;++l){const u=e[i+l];(Number.isNaN(u)||u>o)&&(o=u)}s[a]=o}return s}var HF=m((()=>{C()})),xS,jF,qF,KF=m((()=>{C(),Kt(),ln(),xS=qt(((e,t)=>Math.max(e,t))),jF=on(ei,xS),qF={kernelName:ei,backendName:"cpu",kernelFunc:jF}})),wS,XF,YF,ZF=m((()=>{C(),Kt(),ln(),wS=qt(((e,t)=>Math.min(e,t))),XF=on(ti,wS),YF={kernelName:ti,backendName:"cpu",kernelFunc:XF}})),Sb,JF,qf,QF,Xh=m((()=>{C(),Kt(),ln(),Sb=qt(((e,t)=>e*t)),JF=eS(((e,t,n,r)=>({real:e*n-t*r,imag:e*r+t*n}))),qf=on(ni,Sb,JF),QF={kernelName:ni,backendName:"cpu",kernelFunc:qf}}));function eL(e,t,n){const r=Qs(-1,n);return Sb([],t,r,e,n)}function rde(e){const{inputs:t,backend:n}=e,{x:r}=t;be(r,"neg");const s=n.data.get(r.dataId).values,[a,i]=eL(s,r.shape,r.dtype);return n.makeTensorInfo(i,r.dtype,a)}var tL,nL=m((()=>{C(),xe(),Xh(),tL={kernelName:"Neg",backendName:"cpu",kernelFunc:rde}})),_S,rL,sL,aL=m((()=>{C(),Kt(),ln(),_S=qt(((e,t)=>e!==t?1:0)),rL=on(cl,_S,null,"bool"),sL={kernelName:cl,backendName:"cpu",kernelFunc:rL}}));function SS(e,t,n,r,s){const a=t.length,i=te(t),o=Ie(t),l=Ie(s),u=un(n,te(s));for(let c=0;c<i;++c){const h=Ro(c,a,o),d=new Array(h.length);for(let f=0;f<d.length;f++)d[f]=h[r[f]];const p=Xr(d,a,l);u[p]=e[c]}return u}var IS=m((()=>{C()}));function sr(e){const{inputs:t,attrs:n,backend:r}=e,{x:s}=t,{perm:a}=n;be(s,"transpose");const i=s.shape.length,o=new Array(i);for(let c=0;c<o.length;c++)o[c]=s.shape[a[c]];const l=r.data.get(s.dataId).values,u=SS(l,s.shape,s.dtype,a,o);return{dataId:r.write(u,o,s.dtype),shape:o,dtype:s.dtype}}var iL,$r=m((()=>{C(),xe(),IS(),iL={kernelName:Js,backendName:"cpu",kernelFunc:sr}}));function oL(e,t,n,r){const[s,a]=pn(e,r),i=zn(t,"int32"),o=xn(te(s),i),l=te(a);for(let u=0;u<o.length;++u){const c=u*l;let h=1;for(let d=0;d<l;++d)h*=n[c+d];o[u]=h}return{outVals:o,outShape:s,outDtype:i}}function sde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"prod");const o=s.shape.length,l=Be(a,s.shape),u=kt(l,o);let c=l,h=s;const d=[];u!=null&&(h=sr({inputs:{x:s},backend:n,attrs:{perm:u}}),d.push(h),c=Wt(c.length,o));const p=n.data.get(h.dataId).values,{outVals:f,outShape:g,outDtype:v}=oL(h.shape,h.dtype,p,c);let y=g;return i&&(y=Vt(g,l)),d.forEach(b=>n.disposeIntermediateTensorInfo(b)),n.makeTensorInfo(y,v,f)}var lL,uL=m((()=>{C(),xe(),$r(),lL={kernelName:gl,backendName:"cpu",kernelFunc:sde}}));function ade(e,t,n){e.forEach((r,s)=>{if(r<0||r>=n){const a=Ro(s,t.length,Ie(t)).join(",");throw new Error(`indices[${a}] = ${r} is not in [0, ${n})`)}})}function ide(e,t){for(let n=0;n<e.length;++n){const r=e[n],s=n===e.length-1?t:e[n+1].length;if(r.length===0)throw new Error("Ragged splits may not be empty");if(r[0]<0)throw new Error("Ragged splits must be non-negative");if(r[r.length-1]>s)throw new Error("Ragged splits must not point past values");for(let a=1;a<r.length;++a)if(r[a-1]>r[a])throw new Error("Ragged splits must be sorted in ascending order")}}function ode(e,t,n,r){const s=[];let a=0;const i=t.length-1+n.length,o=new Array(i).fill(null).map(()=>[0]);ide(n,r);let l=1;for(let u=0;u<t.length-1;++u){l*=t[u];const c=t[u+1];for(let h=1;h<l+1;++h)o[u].push(h*c)}for(let u=0;u<e.length;++u){let c=e[u],h=e[u]+1;for(let d=0;d<n.length;++d){const p=n[d],f=d+t.length-1;if(f>=0){const g=o[f],v=g[g.length-1]-p[c];for(let y=c;y<h;++y)o[f].push(p[y+1]+v)}c=p[c],h=p[h]}h!==c&&(s.push([c,h]),a+=h-c)}return{outSplits:o,valueSlices:s,numValues:a}}function lde(e){const t=[];for(let n=0;n<e.length;++n){const r=e[n].length,s=Dt("int32",r);t.push(s),e[n].forEach((a,i)=>s[i]=a)}return t}function cL(e,t){const n=e.slice(0,t);for(;n.length<t;)n.push(1);for(let r=t;r<e.length;r++)n[t-1]*=e[r];return n}function ude(e,t,n,r,s,a){const i=cL(t,2)[1],o=cL(a,2)[1];let l=0;for(const u of n)for(let c=u[0];c<u[1];++c){for(let h=0;h<r;++h)s[l*o+h]=e[c*i+h];++l}}function cde(e,t,n,r,s){const a=t.slice();a[0]=s;const i=Dt(n,te(a)),o=e.length;return ude(e,t,r,o===0?0:o/t[0],i,a),[i,a]}function hL(e,t,n,r,s,a,i,o){if(e.length===0)throw new Error("paramsNestedSplits must be non empty");if(t[0].length===0)throw new Error("Split tensors must not be scalars");if(ade(a,i,t[0][0]-1),r.length===0)throw new Error("params.rank must be nonzero");const l=r[0],{outSplits:u,valueSlices:c,numValues:h}=ode(a,i,e,l),d=lde(u),p=cde(n,r,s,c,h);return[d,p[0],p[1]]}var dL=m((()=>{C()}));function pL(e,t,n,r,s,a,i){if(t.length>1)throw new Error("starts must be a scalar or vector");if(s.length>1)throw new Error("limits must be a scalar or vector");if(i.length>1)throw new Error("deltas must be a scalar or vector");const o=t.length===0,l=s.length===0,u=i.length===0,c=[];o||c.push(t[0]),l||c.push(s[0]),u||c.push(i[0]);for(let v=1;v<c.length;++v)if(c[v]!==c[v-1])throw new Error("starts, limits, and deltas must have the same shape");const h=c.length===0?1:c[0],d=Dt("int32",h+1);d[0]=0;for(let v=0;v<h;++v){const y=o?e[0]:e[v],b=l?r[0]:r[v],w=u?a[0]:a[v];if(w===0)throw new Error("Requires delta != 0");let x;if(w>0&&b<y||w<0&&b>y)x=0;else if(x=Math.ceil(Math.abs((b-y)/w)),x>NS)throw new Error(`Requires ((limit - start) / delta) <= ${NS}`);d[v+1]=d[v]+x}const p=d[h],f=Dt(n,p);let g=0;for(let v=0;v<h;++v){const y=d[v+1]-d[v];let b=o?e[0]:e[v];const w=u?a[0]:a[v];for(let x=0;x<y;++x)f[g++]=b,b+=w}return[d,f]}var NS,fL=m((()=>{C(),NS=2147483647}));function mL(e,t,n){for(let r=0;r<n;r++)e[r]=t[r]}function gL(e,t){const n=[];for(let r of e){if(r<0){if(!t)throw new Error(`Dimension ${r} must be >= 0`);if(r<-1)throw new Error(`Dimension ${r} must be >= -1`);r=-1}n.push(r)}return n}function vL(e,t,n,r,s,a,i,o,l,u){return new yL(e,t,n,r,s,a,i,o,l,u).compute()}var kr,yL,bL=m((()=>{C(),kr=ss,yL=class WN{constructor(t,n,r,s,a,i,o,l,u,c){this.shape=t,this.shapeShape=n,this.values=r,this.valuesShape=s,this.valuesDType=a,this.defaultValue=i,this.defaultValueShape=o,this.rowPartitionValues=l,this.rowPartitionValuesShapes=u,this.rowPartitionTypes=HT(c),this.raggedRank=jT(this.rowPartitionTypes)}getRowPartitionTypeByDimension(t){return this.rowPartitionTypes[0]===kr.FIRST_DIM_SIZE?this.rowPartitionTypes[t+1]:this.rowPartitionTypes[t]}getRowPartitionTensor(t){return this.rowPartitionTypes[0]===kr.FIRST_DIM_SIZE?this.rowPartitionValues[t+1]:this.rowPartitionValues[t]}getMaxWidth(t){const n=this.getRowPartitionTensor(t-1);switch(this.getRowPartitionTypeByDimension(t-1)){case kr.VALUE_ROWIDS:return WN.getMaxWidthValueRowID(n);case kr.ROW_SPLITS:return WN.getMaxWidthRowSplit(n);default:throw new Error(`Cannot handle partition type ${kr[this.getRowPartitionTypeByDimension(t-1)]}`)}}static getMaxWidthRowSplit(t){const n=t.length;if(n===0||n===1)return 0;let r=0;for(let s=0;s<n-1;++s){const a=t[s+1]-t[s];a>r&&(r=a)}return r}static getMaxWidthValueRowID(t){const n=t.length;if(n===0)return 0;let r=0,s=t[0],a=0;for(let i=1;i<n;++i){const o=t[i];o!==s&&(s=o,a=Math.max(i-r,a),r=i)}return Math.max(n-r,a)}tensorShapeFromTensor(t,n,r=!0){if(n.length===0){if(t[0]===-1)return[];throw new Error("The only valid scalar shape tensor is the fully unknown shape specified as -1.")}return gL(t,r)}calculateOutputSize(t){const n=this.valuesShape,r=this.defaultValueShape;qT(r,n);const s=this.tensorShapeFromTensor(this.shape,this.shapeShape),a=GT(this.raggedRank,s,n);a[0]<0&&(a[0]=t);for(let i=1;i<=this.raggedRank;++i)a[i]<0&&(a[i]=this.getMaxWidth(i));return a}calculateFirstParentOutputIndex(t,n,r){const s=Math.min(t,r),a=[];let i=0;for(let o=0;o<s;++o,i+=n)a.push(i);for(let o=s;o<t;++o)a.push(-1);return E(a.length===t,()=>"Final length of result must be equal to firstDimension."),a}calculateOutputIndexRowSplit(t,n,r,s){const a=t.length,i=[];for(let o=0;o<a-1;++o){const l=t[o+1]-t[o];let u=Math.min(s,l),c=n[o];c===-1&&(u=0);for(let h=0;h<u;++h)i.push(c),c+=r;for(let h=0;h<l-u;++h)i.push(-1)}if(a>0&&i.length!==t[a-1])throw new Error("Invalid row split size.");return i}calculateOutputIndexValueRowID(t,n,r,s){const a=t.length,i=[];if(a===0)return[];let o=0,l=t[0];if(l>=n.length)throw new Error(`Got currentValueRowId=${l}, which is not less than ${n.length}`);let u=n[l];i.push(u);for(let c=1;c<a;++c){const h=t[c];if(h===l)u>=0&&(++o,o<s?u+=r:u=-1);else{if(o=0,l=h,h>=n.length)throw new Error(`Got nextValueRowId=${h} which is not less than ${n.length}`);u=n[h]}i.push(u)}if(i.length!==t.length)throw new Error("Invalid row ids.");return i}calculateOutputIndex(t,n,r,s){const a=this.getRowPartitionTensor(t),i=this.getRowPartitionTypeByDimension(t);switch(i){case kr.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(a,n,r,s);case kr.ROW_SPLITS:if(a.length-1>n.length)throw new Error(`Row partition size is greater than output size: ${a.length-1} > ${n.length}`);return this.calculateOutputIndexRowSplit(a,n,r,s);default:throw new Error(`Unsupported partition type: ${kr[i]}`)}}getFirstDimensionSize(){const t=this.rowPartitionValues[0];if(this.rowPartitionTypes.length===0)throw new Error("No row_partition_types given.");const n=this.rowPartitionTypes[0];switch(n){case kr.FIRST_DIM_SIZE:return t[0];case kr.VALUE_ROWIDS:throw new Error("Cannot handle VALUE_ROWIDS in first dimension.");case kr.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${kr[n]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error("Invalid first partition input. Tensor requires at least one element.");const t=this.getFirstDimensionSize(),n=this.calculateOutputSize(t),r=new Array(this.raggedRank+1);r[r.length-1]=1;for(let i=r.length-2;i>=0;--i)r[i]=r[i+1]*n[i+1];const s=gL(n,!1),a=Dt(this.valuesDType,te(s));if(r[0]*n[0]>0){let i=this.calculateFirstParentOutputIndex(t,r[0],n[0]);for(let o=1;o<=this.raggedRank;++o)i=this.calculateOutputIndex(o-1,i,r[o],n[o]);this.setOutput(this.raggedRank,i,a,s)}return[s,a]}setOutput(t,n,r,s){if(r.length===0)return;const a=this.values,i=r;let o=s.slice();o=o.slice(t+1);const l=te(o),u=n.length;let c=this.defaultValue;if(c.length!==l&&c.length!==1){const f=this.defaultValueShape;K(()=>{const g=H(c,f);c=oa(g,o).dataSync()})}let h=0,d=0,p=0;for(let f=0;f<=u;++f){let g=f<u?n[f]:-1;if(g===p){++p;continue}if(d<p){const v=a.subarray(h*l);mL(i.subarray(d*l),v,(p-d)*l)}if(f>=u){const v=r.length;g=Math.floor(v/l)}if(g>p)if(this.defaultValue.length===1)i.subarray(p*l,g*l).fill(this.defaultValue[0]),p=g;else for(;g>p;)mL(i.slice(p*l),c,l),++p;g<0?(h=f+1,d=p):(h=f,d=p,p=d+1)}}}}));function xL(e,t,n,r){if(e===t||e<t&&n<0||t<e&&n>1)return xn(0,r);const s=Math.abs(Math.ceil((t-e)/n)),a=xn(s,r);t<e&&n===1&&(n=-1),a[0]=e;for(let i=1;i<a.length;i++)a[i]=a[i-1]+n;return a}var wL=m((()=>{C()})),CS,_L,SL,IL=m((()=>{C(),Us(),qe(),CS=Ws(e=>1/Math.sqrt(e)),_L=po(oi,CS),SL={kernelName:oi,backendName:"cpu",kernelFunc:_L}}));function Tu(e,t,n,r,s,a,i,o,l,u){const c=[r/s,s],h=e.values,d=t.values;if(r===0)return Fe(n,t.dtype);const p=l instanceof Ot?l:Fe(c,t.dtype);typeof l=="string"||typeof l=="number"?p.values.fill(l):typeof l=="boolean"&&p.values.fill(+l);for(let f=0;f<a;f++){const g=[];let v=0;for(let y=0;y<i;y++){const b=h[f*i+y];g.push(b),v+=b*o[y]}if(v<0||v>=r/s)throw new Error(`Invalid indices: ${g} does not index into ${n}`);for(let y=0;y<s;y++)u?p.values[v*s+y]+=d[f*s+y]:p.values[v*s+y]=t.rank===0?d[0]:d[f*s+y]}return p}var Ib=m((()=>{C()})),NL,$S,CL,kS=m((()=>{C(),Us(),qe(),NL=Ws(e=>1/(1+Math.exp(-e))),$S=ot(hi,e=>1/(1+Math.exp(-e))),CL={kernelName:hi,backendName:"cpu",kernelFunc:$S}}));function $L(e,t,n,r,s){const a=b1(r,t,n),i=te(n),o=Ie(r);if(a){const h=x1(t,o);return s==="string"?e.slice(h,h+i):e.subarray(h,h+i)}const l=s==="string"?ya(e):e,u=Fe(r,s,l),c=Fe(n,s);for(let h=0;h<c.size;++h){const d=c.indexToLoc(h),p=d.map((f,g)=>f+t[g]);c.set(u.get(...p),...d)}return s==="string"?g2(c.values):c.values}function Eu(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{begin:a,size:i}=r;be(s,"slice");const[o,l]=yv(s,a,i);v1(s,o,l);const u=n.data.get(s.dataId).values,c=$L(u,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,c)}var kL,Au=m((()=>{C(),xe(),kL={kernelName:_l,backendName:"cpu",kernelFunc:Eu}}));function TL(e,t,n,r,s,a,i){const o=t[0],l=a[0],u=new Array(l),c=new Array(o),h=t[1];if(l===0){if(o!==0)throw new Error(r2(o));const v=Dt(n,0),y=Dt(s,0);return[v,[0,h],y,u,c]}let d=!0,p=0;const f=new Array(l).fill(0);for(let v=0;v<o;++v){const y=e[v*h];if(y<0)throw new Error(s2(v,y));if(y>=l)throw new Error(a2(v,y,l));++f[y],d=d&&y>=p,p=y}let g=!0;for(let v=0;v<l;++v){const y=f[v]===0;u[v]=y,g=g&&!y,f[v]=Math.max(f[v],1),v>0&&(f[v]+=f[v-1])}if(g&&d){const v=e,y=r;for(let b=0;b<o;++b)c[b]=b;return[v,[o,h],y,u,c]}else{const v=f[l-1],y=Dt(n,v*h),b=Dt(s,v),w=new Array(l).fill(0);for(let x=0;x<o;++x){const _=e[x*h],$=w[_],N=(_===0?0:f[_-1])+$;w[_]++;for(let k=0;k<h;++k)y[N*h+k]=e[x*h+k];b[N]=r[x],c[x]=N}for(let x=0;x<l;++x)if(w[x]===0){const _=x===0?0:f[x-1];y[_*h+0]=x;for(let $=1;$<h;++$)y[_*h+$]=0;b[_]=i}return[y,[v,h],b,u,c]}}var EL=m((()=>{C()}));function AL(e,t,n,r,s){const a=te(r),i=t[0],o=s.length,l=[];let u=1,c=-1;for(let g=0;g<o;++g){const v=s[g];if(v===-1){if(c!==-1)throw new Error(i2(c,g));c=g,l.push(1)}else{if(v<0)throw new Error(o2(g,v));u*=v,l.push(v)}}if(c!==-1){if(u<=0)throw new Error(l2());const g=Math.trunc(a/u);if(u*g!==a)throw new Error(u2(r,l));l[c]=g}if(te(l)!==a)throw new Error(c2(r,l));const h=r.length,d=[];if(h>0){d[h-1]=1;for(let g=h-2;g>=0;--g)d[g]=d[g+1]*r[g+1]}const p=[];if(o>0){p[o-1]=1;for(let g=o-2;g>=0;--g)p[g]=p[g+1]*l[g+1]}const f=Dt(n,i*o);for(let g=0;g<i;++g){let v=0;for(let y=0;y<h;++y)v+=e[g*h+y]*d[y];for(let y=0;y<o;++y)f[g*o+y]=Math.trunc(v/p[y]),v%=p[y]}return[f,[i,o],l]}var RL=m((()=>{C()}));function TS(e,t,n,r,s,a=!1,i=0){const o=r.length,l=[t[0],e.length/t[0]],u=l[1],c=o>0?s[o-1]+1:0;if(c<0)throw new Error(P1());const h=t.slice();h[0]=c;const d=h.reduce((b,w)=>b*w,1),p=Dt(n,d);if(o===0)return c>0&&p.fill(i),[p,h];if(c<=0)throw new Error(P1());let f=0,g=1,v=0,y=s[f];for(;;){let b=0;if(g<o){if(b=s[g],y===b){++g;continue}if(y>=b)throw new Error(h2())}if(y<0||y>=c)throw new Error(d2(y,c));y>v&&p.fill(i,v*u,y*u);for(let w=f;w<g;++w){const x=r[w];if(x<0||x>=l[0])throw new Error(p2(w,r[w],l[0]));for(let _=0;_<u;_++)p[y*u+_]+=e[x*u+_]}if(a)for(let w=0;w<u;w++)p[y*u+w]/=g-f;if(f=g,++g,v=y+1,y=b,g>o)break}return v<c&&p.fill(i,v*u,c*u),[p,h]}var ES=m((()=>{C()})),DL,OL,FL,LL=m((()=>{C(),Us(),qe(),DL=Ws(e=>Math.sqrt(e)),OL=ot(pi,e=>Math.sqrt(e)),FL={kernelName:pi,backendName:"cpu",kernelFunc:OL}})),AS,PL,ML,zL=m((()=>{C(),Kt(),ln(),AS=qt(((e,t)=>{const n=e-t;return n*n})),PL=on(fi,AS),ML={kernelName:fi,backendName:"cpu",kernelFunc:PL}})),RS,BL,VL,WL=m((()=>{C(),Us(),qe(),RS=Ws((e,t)=>{const{pattern:n,replaceGlobal:r,rewrite:s}=t;return e.replace(new RegExp(n,r?"g":""),s)}),BL=po(Cl,RS),VL={kernelName:Cl,backendName:"cpu",kernelFunc:BL}}));function UL(e,t,n,r){const s=Fe(e,t.dtype);for(let a=0;a<s.size;a++){const i=s.indexToLoc(a),o=new Array(i.length);for(let l=0;l<o.length;l++)o[l]=i[l]*n[l]+r[l];s.set(t.get(...o),...i)}return s}var GL=m((()=>{C()}));function HL(e,t,n,r,s,a,i,o){return new jL(n,r,s,a,i,o).compute(e,t)}var jL,qL=m((()=>{C(),jL=class{constructor(e,t,n,r,s,a){this.separator=xs(e),this.nGramWidths=t,this.leftPad=xs(n),this.rightPad=xs(r),this.padWidth=s,this.preserveShort=a}getPadWidth(e){return Math.min(this.padWidth<0?e-1:this.padWidth,e-1)}getNumNGrams(e,t){const n=this.getPadWidth(t);return Math.max(0,e+2*n-t+1)}createNGrams(e,t,n,r,s,a){for(let i=0;i<s;++i){const o=this.getPadWidth(a),l=Math.max(0,o-i),u=Math.max(0,o-(s-(i+1))),c=a-(l+u),h=t+(l>0?0:i-o);let d=0;d+=l*this.leftPad.length;for(let y=0;y<c;++y)d+=e[h+y].length;d+=u*this.rightPad.length;const p=l+u+c-1;d+=p*this.separator.length,n[r+i]=new Uint8Array(d);const f=n[r+i];let g=0;const v=y=>y.forEach(b=>f[g++]=b);for(let y=0;y<l;++y)v(this.leftPad),v(this.separator);for(let y=0;y<c-1;++y)v(e[h+y]),v(this.separator);if(c>0){v(e[h+c-1]);for(let y=0;y<u;++y)v(this.separator),v(this.rightPad)}else{for(let y=0;y<u-1;++y)v(this.rightPad),v(this.separator);v(this.rightPad)}}}compute(e,t){const n=e.length,r=t.length;if(r>0){let o=t[0];if(o!==0)throw new Error(`First split value must be 0, got ${o}`);for(let l=1;l<r;++l){let u=t[l]>=o;if(u=u&&t[l]<=n,!u)throw new Error(`Invalid split value ${t[l]}, must be in [${o}, ${n}]`);o=t[l]}if(o!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${o}`)}const s=r-1,a=Dt("int32",r);if(n===0||r===0){const o=new Array(n);for(let l=0;l<=s;++l)a[l]=0;return[o,a]}a[0]=0;for(let o=1;o<=s;++o){const l=t[o]-t[o-1];let u=0;this.nGramWidths.forEach(c=>{u+=this.getNumNGrams(l,c)}),this.preserveShort&&l>0&&u===0&&(u=1),a[o]=a[o-1]+u}const i=new Array(a[s]);for(let o=0;o<s;++o){const l=t[o];let u=a[o];if(this.nGramWidths.forEach(c=>{const h=t[o+1]-t[o],d=this.getNumNGrams(h,c);this.createNGrams(e,l,i,u,d,c),u+=d}),this.preserveShort&&u===a[o]){const c=t[o+1]-t[o];if(c===0)continue;const h=c+2*this.padWidth;this.createNGrams(e,l,i,u,1,h)}}return[i,a]}}}));function hde(e,t,n,r){if(!e.length)return;if(t.length===0){for(let a=0;a<e.length;++a)r.push(e.subarray(a,a+1));return}if(t.length===1){const a=t[0];let i=e.indexOf(a);for(;i!==-1;){const o=e.subarray(0,i);(!n||o.length!==0)&&r.push(o),e=e.subarray(i+1),i=e.indexOf(a)}(!n||e.length!==0)&&r.push(e);return}let s=0;for(let a=0;a<e.length+1;a++)if(a===e.length||t.indexOf(e[a])!==-1){const i=e.subarray(s,a);(!n||i.length!==0)&&r.push(i),s=a+1}}function KL(e,t,n){const r=e.length,s=[];let a=0,i=0;const o=new Array(r);for(let d=0;d<r;++d){const p=s.length;hde(e[d],t,n,s);const f=s.length-p;o[d]=f,a+=f,i=Math.max(i,f)}const l=Dt("int32",a*2),u=new Array(a),c=[r,i];let h=0;for(let d=0;d<r;++d)for(let p=0;p<o[d];++p)l[h*2]=d,l[h*2+1]=p,u[h]=s[h],++h;return[l,u,c]}var XL=m((()=>{C()}));function YL(e,t){const n=Dt("int32",e.length);for(let r=0;r<e.length;++r)n[r]=uC(e[r]).modulo(t).getLowBitsUnsigned();return n}var ZL=m((()=>{C()})),DS,JL,Nb,QL,Cb=m((()=>{C(),Kt(),ln(),DS=qt(((e,t)=>e-t)),JL=eS(((e,t,n,r)=>({real:e-n,imag:t-r}))),Nb=on("Sub",DS,JL),QL={kernelName:"Sub",backendName:"cpu",kernelFunc:Nb}}));function eP(e,t){const n=new Array(e.rank);for(let s=0;s<n.length;s++)n[s]=e.shape[s]*t[s];const r=Fe(n,e.dtype);for(let s=0;s<r.values.length;++s){const a=r.indexToLoc(s),i=new Array(e.rank);for(let l=0;l<i.length;l++)i[l]=a[l]%e.shape[l];const o=e.locToIndex(i);r.values[s]=e.values[o]}return r}var tP=m((()=>{C()}));function nP(e,t,n=0,r=e.length-1){for(;r>n;){if(r-n>600){const o=r-n+1,l=t-n+1,u=Math.log(o),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(o-c)/o)*Math.sign(l-o/2);nP(e,t,Math.max(n,Math.floor(t-l*c/o+h)),Math.min(r,Math.floor(t+(o-l)*c/o+h)))}const s=e[t];let a=n,i=r;for(Xs(e,n,t),Yh(e[r],s)>0&&Xs(e,n,r);a<i;){for(Xs(e,a,i),a++,i--;Yh(e[a],s)<0;)a=a+1;for(;Yh(e[i],s)>0;)i=i-1}Yh(e[n],s)===0?Xs(e,n,i):(i=i+1,Xs(e,i,r)),i<=t&&(n=i+1),t<=i&&(r=i-1)}}function rP(e,t,n,r,s){const a=t[t.length-1],[i,o]=[e.length/a,a],l=un(n,i*r),u=un("int32",i*r);for(let h=0;h<i;h++){const d=h*o,p=e.subarray(d,d+o);let f=new Array(p.length);p.forEach((b,w)=>f[w]={value:b,index:w}),r<f.length&&(nP(f,r),f=f.slice(0,r)),s&&f.sort(Yh);const g=h*r,v=l.subarray(g,g+r),y=u.subarray(g,g+r);for(let b=0;b<r;b++)v[b]=f[b].value,y[b]=f[b].index}const c=t.slice();return c[c.length-1]=r,[Fe(c,n,l),Fe(c,"int32",u)]}var Yh,sP=m((()=>{C(),Yh=(e,t)=>{const n=t.value-e.value;return n===0?e.index-t.index:n}}));function aP(e,t,n,r){const s=Be(t,n)[0],a=[1,n[0],1];for(let f=0;f<s;f++)a[0]*=n[f];a[1]=n[s];for(let f=s+1;f<n.length;f++)a[2]*=n[f];const i=new Map,o=new Int32Array(n[s]),l=new Ot(a,r,e),u=[],c=a[0]===1&&a[2]===1;for(let f=0;f<n[s];f++){let g;if(c)g=e[f].toString();else{const y=[];for(let b=0;b<a[0];b++)for(let w=0;w<a[2];w++)y.push(l.get(b,f,w));g=y.join(",")}const v=i.get(g);if(v!=null)o[f]=v;else{const y=i.size;i.set(g,y),o[f]=y,u.push(f)}}const h=a.slice();h[1]=i.size;const d=new Ot(h,r);u.forEach((f,g)=>{for(let v=0;v<a[0];v++)for(let y=0;y<a[2];y++)d.set(l.get(v,f,y),v,g,y)});const p=n.slice();return p[s]=h[1],{outputValues:d.values,outputShape:p,indices:o}}var iP=m((()=>{C()})),oP=Te({addImpl:()=>tS,bincountImpl:()=>nS,bincountReduceImpl:()=>rF,bitwiseAndImpl:()=>sS,castImpl:()=>QO,ceilImpl:()=>aS,concatImpl:()=>cF,equalImpl:()=>iS,expImpl:()=>uS,expm1Impl:()=>dS,floorDivImpl:()=>fS,floorImpl:()=>pS,gatherNdImpl:()=>SF,gatherV2Impl:()=>NF,greaterEqualImpl:()=>gS,greaterImpl:()=>mS,lessEqualImpl:()=>yS,lessImpl:()=>vS,linSpaceImpl:()=>zF,logImpl:()=>bS,maxImpl:()=>GF,maximumImpl:()=>xS,minimumImpl:()=>wS,multiplyImpl:()=>Sb,negImpl:()=>eL,notEqualImpl:()=>_S,prodImpl:()=>oL,raggedGatherImpl:()=>hL,raggedRangeImpl:()=>pL,raggedTensorToTensorImpl:()=>vL,rangeImpl:()=>xL,rsqrtImpl:()=>CS,scatterImpl:()=>Tu,sigmoidImpl:()=>NL,simpleAbsImpl:()=>HO,sliceImpl:()=>$L,sparseFillEmptyRowsImpl:()=>TL,sparseReshapeImpl:()=>AL,sparseSegmentReductionImpl:()=>TS,sqrtImpl:()=>DL,squaredDifferenceImpl:()=>AS,staticRegexReplaceImpl:()=>RS,stridedSliceImpl:()=>UL,stringNGramsImpl:()=>HL,stringSplitImpl:()=>KL,stringToHashBucketFastImpl:()=>YL,subImpl:()=>DS,tileImpl:()=>eP,topKImpl:()=>rP,transposeImpl:()=>SS,uniqueImpl:()=>aP}),lP=m((()=>{KO(),Kh(),rS(),iF(),qh(),uF(),hF(),lS(),hS(),gF(),bF(),_F(),IF(),CF(),TF(),RF(),FF(),MF(),BF(),UF(),HF(),KF(),ZF(),Xh(),nL(),aL(),uL(),dL(),fL(),bL(),wL(),IL(),Ib(),kS(),Au(),EL(),RL(),ES(),LL(),zL(),WL(),GL(),qL(),XL(),ZL(),Cb(),tP(),sP(),IS(),iP()})),OS,dde=m((()=>{OS="4.22.0"})),pde=m((()=>{C(),nde(),lP(),dde(),zm("cpu",()=>new wb,1)})),FS,uP,cP=m((()=>{C(),qe(),FS=ot("Elu",e=>e>=0?e:Math.exp(e)-1),uP={kernelName:"Elu",backendName:"cpu",kernelFunc:FS}}));function hP(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{alpha:a}=r;be([s],"leakyRelu");const i=te(s.shape),o=n.data.get(s.dataId).values,l=un("float32",i);for(let u=0;u<o.length;u++)l[u]=o[u]<0?a*o[u]:o[u];return n.makeTensorInfo(s.shape,"float32",l)}var dP,pP=m((()=>{C(),xe(),dP={kernelName:el,backendName:"cpu",kernelFunc:hP}}));function fP(e){const{inputs:t,backend:n}=e,{x:r,alpha:s}=t;be([r,s],"prelu");const a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,[o,l]=mP(r.shape,s.shape,a,i,"float32");return n.makeTensorInfo(l,"float32",o)}var mP,gP,vP=m((()=>{C(),xe(),Kt(),mP=qt((e,t)=>e<0?t*e:e),gP={kernelName:ml,backendName:"cpu",kernelFunc:fP}})),LS,yP,bP=m((()=>{C(),qe(),LS=ot(si,e=>Math.max(0,e)),yP={kernelName:si,backendName:"cpu",kernelFunc:LS}})),PS,xP,wP=m((()=>{C(),qe(),PS=ot(ai,e=>Math.min(Math.max(0,e),6)),xP={kernelName:ai,backendName:"cpu",kernelFunc:PS}}));function $b(e,t,n,r,s){if(n==="linear")return Vs({inputs:{x:t},backend:e});if(n==="relu")return LS({inputs:{x:t},backend:e});if(n==="elu")return FS({inputs:{x:t},backend:e});if(n==="relu6")return PS({inputs:{x:t},backend:e});if(n==="prelu")return fP({inputs:{x:t,alpha:r},backend:e});if(n==="leakyrelu")return hP({inputs:{x:t},backend:e,attrs:{alpha:s}});if(n==="sigmoid")return $S({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)}var MS=m((()=>{cP(),Sa(),pP(),vP(),bP(),wP(),kS()}));function bt(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{shape:a}=r,i=te(s.shape),o=_x(a,i),l=te(o);E(i===l,()=>`The new shape (${o}) has ${l} elements and the old shape (${s.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`),n.incRef(s.dataId);const u=n.data.get(s.dataId);if(u.complexTensorInfos!=null){const c=u.complexTensorInfos.real,h=u.complexTensorInfos.imag;c.shape=o,h.shape=o}return{dataId:s.dataId,shape:o,dtype:s.dtype}}var _P,kn=m((()=>{C(),_P={kernelName:vl,backendName:"cpu",kernelFunc:bt}}));function SP(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a}=t,{transposeA:i,transposeB:o}=r;be([s,a],"matMul");const l=s.shape.length,u=a.shape.length,c=i?s.shape[l-2]:s.shape[l-1],h=o?a.shape[u-1]:a.shape[u-2],d=i?s.shape[l-1]:s.shape[l-2],p=o?a.shape[u-2]:a.shape[u-1],f=s.shape.slice(0,-2),g=a.shape.slice(0,-2),v=te(f),y=te(g),b=De(s.shape.slice(0,-2),a.shape.slice(0,-2)).concat([d,p]);E(c===h,()=>`Error in matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${s.shape} and ${a.shape} and transposeA=${i} and transposeB=${o} must match.`);const w=i?[v,c,d]:[v,d,c],x=o?[y,p,h]:[y,h,p],_=bt({inputs:{x:s},backend:n,attrs:{shape:w}}),$=bt({inputs:{x:a},backend:n,attrs:{shape:x}}),N=i?_.shape[1]:_.shape[2],k=i?_.shape[2]:_.shape[1],A=o?$.shape[1]:$.shape[2],O=Math.max(v,y),R=n.data.get(_.dataId).values,T=n.data.get($.dataId).values,S=Ie(_.shape),F=Ie($.shape),[M,L,z]=i?[S[0],1,S[1]]:[S[0],S[1],1],[q,J,re]=o?[1,F[1],F[0]]:[F[1],1,F[0]],Y=k*A,ae=Fe([O,k,A],_.dtype),ne=ae.values,oe=n.blockSize;for(let ce=0;ce<O;ce++){const ve=ce%v,_e=ce%y;for(let $e=0;$e<k;$e+=oe){const Re=Math.min($e+oe,k);for(let Oe=0;Oe<A;Oe+=oe){const He=Math.min(Oe+oe,A);for(let Xe=0;Xe<N;Xe+=oe){const dt=Math.min(Xe+oe,N);for(let nt=$e;nt<Re;nt++)for(let Qe=Oe;Qe<He;Qe++){let lt=0;for(let at=Xe;at<dt;at++){const Rn=R[ve*M+nt*L+at*z],Ta=T[at*q+Qe*J+_e*re];lt+=Rn*Ta}ne[ce*Y+(nt*A+Qe)]+=lt}}}}}return n.disposeIntermediateTensorInfo(_),n.disposeIntermediateTensorInfo($),n.makeTensorInfo(b,ae.dtype,ae.values)}var IP,NP=m((()=>{C(),xe(),kn(),IP={kernelName:Mo,backendName:"cpu",kernelFunc:SP}}));function fde(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a,bias:i,preluActivationWeights:o}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:h}=r;let d,p,f;const g=[];d=SP({inputs:{a:s,b:a},attrs:{transposeA:l,transposeB:u},backend:n}),i&&(p=ku({inputs:{a:d,b:i},backend:n}),g.push(d),d=p),c&&(f=$b(n,d,c,o,h),g.push(d),d=f);for(const v of g)n.disposeIntermediateTensorInfo(v);return d}var CP,mde=m((()=>{C(),MS(),Kh(),NP(),CP={kernelName:El,backendName:"cpu",kernelFunc:fde}})),$P,kP,gde=m((()=>{C(),qe(),$P=ot(Da,e=>Math.acos(e)),kP={kernelName:Da,backendName:"cpu",kernelFunc:$P}})),TP,EP,vde=m((()=>{C(),qe(),TP=ot(Oa,e=>Math.acosh(e)),EP={kernelName:Oa,backendName:"cpu",kernelFunc:TP}}));function yde(e){const{inputs:t,backend:n}=e,r=t;be(t,"addN");const s=r.map(o=>n.data.get(o.dataId).values),a=Fe(r[0].shape,r[0].dtype),i=a.values;for(let o=0;o<r.length;o++){const l=s[o];for(let u=0;u<i.length;u++)i[u]+=l[u]}return n.makeTensorInfo(a.shape,a.dtype,a.values)}var AP,bde=m((()=>{C(),xe(),AP={kernelName:Do,backendName:"cpu",kernelFunc:yde}}));function xde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"all");const o=Be(a,s.shape);let l=o;const u=kt(l,s.shape.length);let c=s;u!=null&&(c=sr({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Wt(l.length,s.shape.length)),Sn("all",l,c.shape.length);const[h,d]=pn(c.shape,l),p=te(d),f=xn(te(h),c.dtype),g=n.data.get(c.dataId).values;for(let y=0;y<f.length;++y){const b=y*p;let w=g[b];for(let x=0;x<p;++x){const _=g[b+x];w=w&&_}f[y]=w}u!=null&&n.disposeIntermediateTensorInfo(c);const v=n.makeTensorInfo(h,c.dtype,f);if(i){const y=Vt(h,o),b=bt({inputs:{x:v},backend:n,attrs:{shape:y}});return n.disposeIntermediateTensorInfo(v),b}return v}var RP,wde=m((()=>{C(),xe(),kn(),$r(),RP={kernelName:"All",backendName:"cpu",kernelFunc:xde}}));function _de(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"any");const o=Be(a,s.shape);let l=o;const u=kt(l,s.shape.length);let c=s;u!=null&&(c=sr({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Wt(l.length,s.shape.length)),Sn("any",l,c.shape.length);const[h,d]=pn(c.shape,l),p=te(d),f=xn(te(h),c.dtype),g=n.data.get(c.dataId).values;for(let y=0;y<f.length;++y){const b=y*p;let w=g[b];for(let x=0;x<p;++x){const _=g[b+x];w=w||_}f[y]=w}u!=null&&n.disposeIntermediateTensorInfo(c);const v=n.makeTensorInfo(h,c.dtype,f);if(i){const y=Vt(h,o),b=bt({inputs:{x:v},backend:n,attrs:{shape:y}});return n.disposeIntermediateTensorInfo(v),b}return v}var DP,Sde=m((()=>{C(),xe(),kn(),$r(),DP={kernelName:"Any",backendName:"cpu",kernelFunc:_de}}));function Ide(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;be(s,"argMax");let i=Be(a,s.shape);const o=kt(i,s.shape.length);let l=s;const u=[];o!=null&&(l=sr({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Wt(i.length,l.shape.length)),i=[i[0]],Sn("argMax",i,l.shape.length);const[c,h]=pn(l.shape,i),d=te(c),p=xn(d,"int32"),f=te(h),g=n.data.get(l.dataId).values;for(let v=0;v<p.length;++v){const y=v*f;let b=g[y],w=0;for(let x=0;x<f;++x){const _=g[y+x];_>b&&(b=_,w=x)}p[v]=w}return u.forEach(v=>n.disposeIntermediateTensorInfo(v)),n.makeTensorInfo(c,"int32",p)}var OP,Nde=m((()=>{C(),xe(),$r(),OP={kernelName:Oo,backendName:"cpu",kernelFunc:Ide}}));function Cde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;be(s,"argMin");let i=Be(a,s.shape);const o=kt(i,s.shape.length);let l=s;const u=[];o!=null&&(l=sr({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Wt(i.length,l.shape.length)),i=[i[0]],Sn("argMin",i,l.shape.length);const[c,h]=pn(l.shape,i),d=te(c),p=xn(d,"int32"),f=te(h),g=n.data.get(l.dataId).values;for(let v=0;v<p.length;++v){const y=v*f;let b=g[y],w=0;for(let x=0;x<f;++x){const _=g[y+x];_<b&&(b=_,w=x)}p[v]=w}return u.forEach(v=>n.disposeIntermediateTensorInfo(v)),n.makeTensorInfo(c,"int32",p)}var FP,$de=m((()=>{C(),xe(),$r(),FP={kernelName:Fo,backendName:"cpu",kernelFunc:Cde}})),LP,PP,kde=m((()=>{C(),qe(),LP=ot(Fa,e=>Math.asin(e)),PP={kernelName:Fa,backendName:"cpu",kernelFunc:LP}})),MP,zP,Tde=m((()=>{C(),qe(),MP=ot(La,e=>Math.asinh(e)),zP={kernelName:La,backendName:"cpu",kernelFunc:MP}})),BP,VP,Ede=m((()=>{C(),qe(),BP=ot(Pa,e=>Math.atan(e)),VP={kernelName:Pa,backendName:"cpu",kernelFunc:BP}})),WP,UP,GP,Ade=m((()=>{C(),Kt(),ln(),WP=qt((e,t)=>Math.atan2(e,t)),UP=on(za,WP),GP={kernelName:za,backendName:"cpu",kernelFunc:UP}})),HP,jP,Rde=m((()=>{C(),qe(),HP=ot(Ma,e=>Math.atanh(e)),jP={kernelName:Ma,backendName:"cpu",kernelFunc:HP}}));function zS(e,t,n,r,s,a){const i=s.strideHeight,o=s.strideWidth,l=s.dilationHeight,u=s.dilationWidth,c=s.effectiveFilterHeight,h=s.effectiveFilterWidth,d=s.padInfo.top,p=s.padInfo.left,f=a==="max"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,g=Fe(s.outShape,n),v=g.values,y=s.outShape[1]*s.outShape[2]*s.outShape[3],b=s.outShape[2]*s.outShape[3],w=s.outShape[3];for(let x=0;x<s.batchSize;++x){const _=x*y,$=x*r[0];for(let N=0;N<s.inChannels;++N)for(let k=0;k<s.outHeight;++k){const A=k*i-d,O=Math.max(0,A),R=Math.min(s.inHeight,c+A),T=_+k*b;for(let S=0;S<s.outWidth;++S){const F=S*o-p,M=Math.max(0,F),L=Math.min(s.inWidth,h+F);let z=f,q=0,J=0;for(let Y=O;Y<R;Y+=l){const ae=$+Y*r[1];for(let ne=M;ne<L;ne+=u){const oe=e[ae+ne*r[2]+N];a==="max"&&oe>z?z=oe:a==="avg"&&(q+=oe,J++)}if(isNaN(z))break}const re=T+S*w+N;v[re]=a==="avg"?q/J:z}}}return g}function qP(e,t,n,r,s=!1,a=!1){const i=Fe(r.outShape,"int32"),o=r.strideHeight,l=r.strideWidth,u=r.dilationHeight,c=r.dilationWidth,h=r.effectiveFilterHeight,d=r.effectiveFilterWidth,p=r.padInfo.top,f=r.padInfo.left,g=Fe(t,n,e);for(let v=0;v<r.batchSize;++v)for(let y=0;y<r.inChannels;++y)for(let b=0;b<r.outHeight;++b){const w=b*o-p;let x=w;for(;x<0;)x+=u;const _=Math.min(r.inHeight,h+w);for(let $=0;$<r.outWidth;++$){const N=$*l-f;let k=N;for(;k<0;)k+=c;const A=Math.min(r.inWidth,d+N);let O=Number.NEGATIVE_INFINITY,R=-1;for(let T=x;T<_;T+=u){const S=T-w;for(let F=k;F<A;F+=c){const M=F-N,L=g.get(v,T,F,y);L>O&&(O=L,s?R=a?((v*r.inHeight+T)*r.inWidth+F)*r.inChannels+y:(T*r.inWidth+F)*r.inChannels+y:R=S*d+M)}}i.set(R,v,b,$,y)}}return i}function KP(e,t,n,r,s,a){const i=s.strideDepth,o=s.strideHeight,l=s.strideWidth,u=s.dilationDepth,c=s.dilationHeight,h=s.dilationWidth,d=s.effectiveFilterDepth,p=s.effectiveFilterHeight,f=s.effectiveFilterWidth,g=s.padInfo.front,v=s.padInfo.top,y=s.padInfo.left,b=a==="max"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,w=Fe(s.outShape,n),x=w.values,_=s.outShape[1]*s.outShape[2]*s.outShape[3]*s.outShape[4],$=s.outShape[2]*s.outShape[3]*s.outShape[4],N=s.outShape[3]*s.outShape[4],k=s.outShape[4];for(let A=0;A<s.batchSize;++A){const O=A*_,R=A*r[0];for(let T=0;T<s.inChannels;++T)for(let S=0;S<s.outDepth;++S){const F=S*i-g;let M=F;for(;M<0;)M+=u;const L=Math.min(s.inDepth,d+F),z=O+S*$;for(let q=0;q<s.outHeight;++q){const J=q*o-v;let re=J;for(;re<0;)re+=c;const Y=Math.min(s.inHeight,p+J),ae=z+q*N;for(let ne=0;ne<s.outWidth;++ne){const oe=ne*l-y;let ce=oe;for(;ce<0;)ce+=h;const ve=Math.min(s.inWidth,f+oe),_e=ae+ne*k;let $e=b,Re=0,Oe=0;for(let Xe=M;Xe<L;Xe+=u){const dt=R+Xe*r[1];for(let nt=re;nt<Y;nt+=c){const Qe=dt+nt*r[2];for(let lt=ce;lt<ve;lt+=h){const at=e[Qe+lt*r[3]+T];if(a==="max"&&at>$e?$e=at:a==="avg"&&(Re+=at,Oe++),isNaN($e))break}if(isNaN($e))break}if(isNaN($e))break}const He=_e+T;x[He]=a==="avg"?Re/Math.max(Oe,1):$e}}}}return w}function Dde(e,t){const n=Fe(t.outShape,"int32"),r=t.strideDepth,s=t.strideHeight,a=t.strideWidth,i=t.dilationDepth,o=t.dilationHeight,l=t.dilationWidth,u=t.effectiveFilterDepth,c=t.effectiveFilterHeight,h=t.effectiveFilterWidth,d=t.padInfo.front,p=t.padInfo.top,f=t.padInfo.left;for(let g=0;g<t.batchSize;++g)for(let v=0;v<t.inChannels;++v)for(let y=0;y<t.outDepth;++y){const b=y*r-d;let w=b;for(;w<0;)w+=i;const x=Math.min(t.inDepth,u+b);for(let _=0;_<t.outHeight;++_){const $=_*s-p;let N=$;for(;N<0;)N+=o;const k=Math.min(t.inHeight,c+$);for(let A=0;A<t.outWidth;++A){const O=A*a-f;let R=O;for(;R<0;)R+=l;const T=Math.min(t.inWidth,h+O);let S=Number.NEGATIVE_INFINITY,F=-1;for(let M=w;M<x;M+=i){const L=M-b;for(let z=N;z<k;z+=o){const q=z-$;for(let J=R;J<T;J+=l){const re=J-O,Y=e.get(g,M,z,J,v);Y>=S&&(S=Y,F=L*c*h+q*c+re)}}}n.set(F,g,y,_,A,v)}}}return n}var Ru=m((()=>{C()}));function Ode(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;be(s,"avgPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r,u=1;E(_n(i,u),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${u}'`);const c=Br(s.shape,a,i,u,o,l);let h;if(c.filterWidth===1&&c.filterHeight===1&&Ue(c.inShape,c.outShape))h=Vs({inputs:{x:s},backend:n});else{const d=n.data.get(s.dataId).values,p=Ie(s.shape),f=zS(d,s.shape,s.dtype,p,c,"avg");h=n.makeTensorInfo(c.outShape,s.dtype,f.values)}return h}var XP,Fde=m((()=>{C(),xe(),Ru(),Sa(),XP={kernelName:Lo,backendName:"cpu",kernelFunc:Ode}}));function Lde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r;be(s,"avgPool3d");const c=aa(s.shape,a,i,1,o,l,u),h=n.data.get(s.dataId).values,d=KP(h,s.shape,s.dtype,Ie(s.shape),c,"avg");return n.makeTensorInfo(d.shape,"float32",d.values)}var YP,Pde=m((()=>{C(),xe(),Ru(),YP={kernelName:Po,backendName:"cpu",kernelFunc:Lde}}));function Mde(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=r;be([s,a],"avgPool3DGrad");const c=aa(a.shape,i,o,1,l,u),h=c.strideDepth,d=c.strideHeight,p=c.strideWidth,f=c.filterDepth,g=c.filterHeight,v=c.filterWidth,y=c.dilationDepth,b=c.dilationHeight,w=c.dilationWidth,x=c.effectiveFilterDepth,_=c.effectiveFilterHeight,$=c.effectiveFilterWidth,N=x-1-c.padInfo.front,k=$-1-c.padInfo.left,A=_-1-c.padInfo.top,O=Fe(a.shape,"float32"),R=1/(f*g*v),T=n.bufferSync(s);for(let S=0;S<c.batchSize;++S)for(let F=0;F<c.inChannels;++F)for(let M=0;M<c.inDepth;++M)for(let L=0;L<c.inHeight;++L)for(let z=0;z<c.inWidth;++z){const q=M-N,J=L-A,re=z-k;let Y=0;for(let ae=0;ae<x;ae+=y){const ne=(q+ae)/h;if(!(ne<0||ne>=c.outDepth||Math.floor(ne)!==ne))for(let oe=0;oe<_;oe+=b){const ce=(J+oe)/d;if(!(ce<0||ce>=c.outHeight||Math.floor(ce)!==ce))for(let ve=0;ve<$;ve+=w){const _e=(re+ve)/p;if(_e<0||_e>=c.outWidth||Math.floor(_e)!==_e)continue;const $e=T.get(S,ne,ce,_e,F);Y+=$e}}}O.set(Y*R,S,M,L,z,F)}return n.makeTensorInfo(O.shape,O.dtype,O.values)}var ZP,zde=m((()=>{C(),xe(),ZP={kernelName:ju,backendName:"cpu",kernelFunc:Mde}}));function Bde(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a;be([s,a],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Br(i.shape,o,l,1,u),h=c.strideHeight,d=c.strideWidth,p=c.filterHeight,f=c.filterWidth,g=c.dilationHeight,v=c.dilationWidth,y=c.effectiveFilterHeight,b=c.effectiveFilterWidth,w=b-1-c.padInfo.left,x=y-1-c.padInfo.top,_=Fe(i.shape,"float32"),$=1/(p*f),N=n.data.get(s.dataId).values,k=Fe(s.shape,"float32",N);for(let A=0;A<c.batchSize;++A)for(let O=0;O<c.inChannels;++O)for(let R=0;R<c.inHeight;++R)for(let T=0;T<c.inWidth;++T){const S=R-x,F=T-w;let M=0;for(let L=0;L<y;L+=g){const z=(S+L)/h;if(!(z<0||z>=c.outHeight||Math.floor(z)!==z))for(let q=0;q<b;q+=v){const J=(F+q)/d;if(J<0||J>=c.outWidth||Math.floor(J)!==J)continue;const re=k.get(A,z,J,O);M+=re}}_.set(M*$,A,R,T,O)}return n.makeTensorInfo(_.shape,_.dtype,_.values)}var JP,Vde=m((()=>{C(),xe(),JP={kernelName:Hu,backendName:"cpu",kernelFunc:Bde}}));function Wde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,scale:a,offset:i,mean:o,variance:l}=t;E(o.shape.length===l.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),E(i==null||o.shape.length===i.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),E(a==null||o.shape.length===a.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks."),be([s,o,l,a,i],"batchNorm");let{varianceEpsilon:u}=r;u==null&&(u=.001);const c=n.data.get(s.dataId).values,h=n.data.get(o.dataId).values,d=n.data.get(l.dataId).values,p=a?n.data.get(a.dataId).values:new Float32Array([1]),f=i?n.data.get(i.dataId).values:new Float32Array([0]),g=new Float32Array(c.length),v=f.length,y=p.length,b=d.length,w=h.length;let x=0,_=0,$=0,N=0;for(let k=0;k<c.length;++k)g[k]=f[x++]+(c[k]-h[_++])*p[$++]/Math.sqrt(d[N++]+u),x>=v&&(x=0),_>=w&&(_=0),$>=y&&($=0),N>=b&&(N=0);return n.makeTensorInfo(s.shape,s.dtype,g)}var QP,Ude=m((()=>{C(),xe(),QP={kernelName:Zo,backendName:"cpu",kernelFunc:Wde}}));function Gde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,crops:i}=r;be([s],"batchToSpaceND");const o=a.reduce((y,b)=>y*b),l=Zp(s.shape,a,o),u=Jp(l.length,a.length),c=Qp(s.shape,a,o),h=N1(i,a.length),d=C1(c,i,a.length),p=bt({inputs:{x:s},backend:n,attrs:{shape:l}}),f=sr({inputs:{x:p},backend:n,attrs:{perm:u}}),g=bt({inputs:{x:f},backend:n,attrs:{shape:c}}),v=Eu({inputs:{x:g},backend:n,attrs:{begin:h,size:d}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(g),v}var eM,Hde=m((()=>{C(),xe(),kn(),Au(),$r(),eM={kernelName:zo,backendName:"cpu",kernelFunc:Gde}}));function jde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i}=r,o=n.data.get(s.dataId).values,l=n.data.get(a.dataId).values,u=nS(o,l,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,u)}var tM,qde=m((()=>{C(),rS(),tM={kernelName:qu,backendName:"cpu",kernelFunc:jde}}));function Kde(e){const{inputs:t,backend:n}=e,{s0:r,s1:s}=t,a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,o=De(Array.from(a),Array.from(i));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}var nM,Xde=m((()=>{C(),nM={kernelName:Ku,backendName:"cpu",kernelFunc:Kde}})),rM,sM,Yde=m((()=>{C(),qe(),rM=ot(Wa,(e,t)=>{const n=t;return e>n.clipValueMax?n.clipValueMax:e<n.clipValueMin?n.clipValueMin:e}),sM={kernelName:Wa,backendName:"cpu",kernelFunc:rM}})),aM,iM,Zde=m((()=>{C(),aM=e=>{const{x:t}=e.inputs,n=e.backend,r=new Float32Array(te(t.shape)),s=n.data.get(t.dataId),a=s.complexTensorInfos.real,i=s.complexTensorInfos.imag,o=n.data.get(a.dataId).values,l=n.data.get(i.dataId).values;for(let u=0;u<o.length;u++){const c=o[u],h=l[u];r[u]=Math.hypot(c,h)}return n.makeOutput(r,t.shape,"float32")},iM={kernelName:Vo,backendName:"cpu",kernelFunc:aM}}));function Zh(e){const{inputs:t,backend:n}=e,{input:r}=t,s=n.data.get(r.dataId).complexTensorInfos.imag,a=n.data.get(s.dataId).values;return n.makeTensorInfo(s.shape,s.dtype,a)}var oM,Kf=m((()=>{C(),oM={kernelName:fc,backendName:"cpu",kernelFunc:Zh}}));function Jh(e){const{inputs:t,backend:n,attrs:r}=e,{axis:s}=r,a=Be(s,t[0].shape)[0],i=t.map(g=>g.shape);S1(i,a);let o=Ds(t.map(g=>g.shape),a);if(te(o)===0)return n.makeTensorInfo(o,t[0].dtype,[]);const l=t.filter(g=>te(g.shape)>0);if(l.length===1)return Vs({inputs:{x:l[0]},backend:n});if(l[0].dtype==="complex64"){const g=l.map(x=>$u({inputs:{input:x},backend:n})),v=l.map(x=>Zh({inputs:{input:x},backend:n})),y=Jh({inputs:g,backend:n,attrs:{axis:a}}),b=Jh({inputs:v,backend:n,attrs:{axis:a}}),w=vr({inputs:{real:y,imag:b},backend:n});return g.forEach(x=>n.disposeIntermediateTensorInfo(x)),v.forEach(x=>n.disposeIntermediateTensorInfo(x)),n.disposeIntermediateTensorInfo(y),n.disposeIntermediateTensorInfo(b),w}const u=l.map(g=>{const v=[-1,te(g.shape.slice(a))];return bt({inputs:{x:g},backend:n,attrs:{shape:v}})}),c=u.map(g=>({vals:n.data.get(g.dataId).values,shape:g.shape}));o=Ds(u.map(g=>g.shape),1);const h=u[0].shape[0]===1,d=cF(c,o,t[0].dtype,h),p=Ds(l.map(g=>g.shape),a),f=n.makeTensorInfo(p,t[0].dtype,d);return u.forEach(g=>n.disposeIntermediateTensorInfo(g)),f}var lM,BS=m((()=>{C(),co(),hF(),Sa(),Kf(),jh(),kn(),lM={kernelName:Wo,backendName:"cpu",kernelFunc:Jh}}));function uM(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r;be([s,a],"conv2d");const h=ia(l),d=dn(s.shape,a.shape,i,u,o,c,!1,h),p=d.filterHeight,f=d.filterWidth,g=d.dilationHeight,v=d.dilationWidth,y=d.padInfo.left,b=d.padInfo.top,w=d.dataFormat==="channelsLast",x=new Ot(d.outShape,s.dtype),_=Ie(s.shape),$=Ie(a.shape),N=_[0],k=w?_[1]:_[2],A=w?_[2]:1,O=w?1:_[1],R=x.strides[0],T=w?x.strides[1]:x.strides[2],S=w?x.strides[2]:1,F=w?1:x.strides[1],M=n.data.get(s.dataId).values,L=n.data.get(a.dataId).values,z=x.values;for(let q=0;q<d.batchSize;++q){const J=q*N,re=q*R;for(let Y=0;Y<d.outHeight;++Y){const ae=re+Y*T,ne=Y*d.strideHeight-b;for(let oe=0;oe<p;++oe){const ce=ne+oe*g;if(ce<0||ce>=d.inHeight)continue;const ve=oe*$[0],_e=J+ce*k;for(let $e=0;$e<d.outWidth;++$e){const Re=ae+$e*S,Oe=$e*d.strideWidth-y;for(let He=0;He<f;++He){const Xe=Oe+He*v;if(Xe<0||Xe>=d.inWidth)continue;const dt=ve+He*$[1],nt=_e+Xe*A;let Qe=dt;for(let lt=0;lt<d.inChannels;++lt){const at=M[nt+lt*O];for(let Rn=0;Rn<d.outChannels;++Rn)z[Re+Rn*F]+=at*L[Qe+Rn];Qe+=d.outChannels}}}}}}return n.makeTensorInfo(x.shape,x.dtype,z)}var cM,hM=m((()=>{C(),xe(),cM={kernelName:Uo,backendName:"cpu",kernelFunc:uM}}));function Jde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,pad:o,dataFormat:l,dimRoundingMode:u,filterShape:c}=r;be([s,a],"conv2dBackpropFilter");const h=ia(l),d=dn(s.shape,c,i,1,o,u,!1,h),{strideHeight:p,strideWidth:f,filterHeight:g,filterWidth:v}=d,y=d.dataFormat==="channelsLast",b=new Ot(d.filterShape,"float32"),w=d.padInfo.left,x=d.padInfo.top,_=n.data.get(s.dataId).values,$=n.data.get(a.dataId).values,N=new Ot(s.shape,s.dtype,_),k=new Ot(a.shape,a.dtype,$);for(let A=0;A<g;++A){const O=Math.max(0,Math.ceil((x-A)/p)),R=Math.min(d.outHeight,(d.inHeight+x-A)/p);for(let T=0;T<v;++T){const S=Math.max(0,Math.ceil((w-T)/f)),F=Math.min(d.outWidth,(d.inWidth+w-T)/f);for(let M=0;M<d.inChannels;++M)for(let L=0;L<d.outChannels;++L){let z=0;for(let q=0;q<d.batchSize;++q)for(let J=O;J<R;++J){const re=A+J*p-x;for(let Y=S;Y<F;++Y){const ae=T+Y*f-w;y?z+=N.get(q,re,ae,M)*k.get(q,J,Y,L):z+=N.get(q,M,re,ae)*k.get(q,L,J,Y)}}b.set(z,A,T,M,L)}}}return n.makeTensorInfo(b.shape,b.dtype,b.values)}var dM,Qde=m((()=>{C(),xe(),dM={kernelName:Yu,backendName:"cpu",kernelFunc:Jde}}));function epe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{inputShape:i,strides:o,pad:l,dataFormat:u,dimRoundingMode:c}=r;be([s,a],"conv2dBackpropInput");const h=Ie(a.shape),d=Ie(s.shape);let p=ia(u);const f=dn(i,a.shape,o,1,l,c,!1,p),g=new Ot(f.inShape,"float32"),v=g.values,y=n.data.get(s.dataId).values,b=n.data.get(a.dataId).values,[w,x,_]=h,{batchSize:$,filterHeight:N,filterWidth:k,inChannels:A,inHeight:O,inWidth:R,outChannels:T,outHeight:S,outWidth:F,strideHeight:M,strideWidth:L}=f;p=f.dataFormat;const z=N-1-f.padInfo.top,q=k-1-f.padInfo.left,J=p==="channelsLast",re=g.strides[0],Y=J?g.strides[1]:g.strides[2],ae=J?g.strides[2]:1,ne=J?1:g.strides[1],oe=d[0],ce=J?d[1]:d[2],ve=J?d[2]:1,_e=J?1:d[1];for(let $e=0;$e<$;++$e)for(let Re=0;Re<A;++Re)for(let Oe=0;Oe<O;++Oe){const He=Oe-z,Xe=Math.max(0,Math.ceil(He/M)),dt=Math.min(S,(N+He)/M);for(let nt=0;nt<R;++nt){const Qe=nt-q,lt=Math.max(0,Math.ceil(Qe/L)),at=Math.min(F,(k+Qe)/L);let Rn=0;for(let Qn=Xe;Qn<dt;++Qn){const Ea=Qn*M-He;for(let Or=lt;Or<at;++Or){const js=Or*L-Qe,_o=oe*$e+ce*Qn+ve*Or,So=w*(N-1-Ea)+x*(k-1-js)+_*Re;for(let vs=0;vs<T;++vs){const Io=y[_o+_e*vs],wm=b[So+vs];Rn+=Io*wm}}}const Ta=re*$e+Y*Oe+ae*nt+ne*Re;v[Ta]=Rn}}return n.makeTensorInfo(g.shape,g.dtype,g.values)}var pM,tpe=m((()=>{C(),xe(),pM={kernelName:Go,backendName:"cpu",kernelFunc:epe}}));function npe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dilations:l}=r;be([s,a],"conv3d");const u=Ei(s.shape,a.shape,i,l,o),{filterDepth:c,filterHeight:h,filterWidth:d,dilationDepth:p,dilationHeight:f,dilationWidth:g,padInfo:v}=u,y=v.front,b=v.left,w=v.top,x=new Ot(u.outShape,s.dtype),_=n.data.get(s.dataId).values,$=n.data.get(a.dataId).values,N=x.values,k=Ie(s.shape),A=Ie(a.shape);for(let O=0;O<u.batchSize;++O){const R=O*k[0],T=O*x.strides[0];for(let S=0;S<u.outDepth;++S){const F=T+S*x.strides[1],M=S*u.strideDepth-y;for(let L=0;L<c;++L){const z=M+L*p;if(z<0||z>=u.inDepth)continue;const q=L*A[0],J=R+z*k[1];for(let re=0;re<u.outHeight;++re){const Y=F+re*x.strides[2],ae=re*u.strideHeight-w;for(let ne=0;ne<h;++ne){const oe=ae+ne*f;if(oe<0||oe>=u.inHeight)continue;const ce=q+ne*A[1],ve=J+oe*k[2];for(let _e=0;_e<u.outWidth;++_e){const $e=Y+_e*u.outChannels,Re=_e*u.strideWidth-b;for(let Oe=0;Oe<d;++Oe){const He=Re+Oe*g;if(He<0||He>=u.inWidth)continue;const Xe=ce+Oe*A[2],dt=ve+He*u.inChannels;let nt=Xe;for(let Qe=0;Qe<u.inChannels;++Qe){const lt=_[dt+Qe];for(let at=0;at<u.outChannels;++at)N[$e+at]+=lt*$[nt+at];nt+=u.outChannels}}}}}}}}return n.makeTensorInfo(x.shape,x.dtype,x.values)}var fM,rpe=m((()=>{C(),xe(),fM={kernelName:Ho,backendName:"cpu",kernelFunc:npe}}));function spe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,pad:o,filterShape:l}=r;be([s,a],"conv3dBackpropFilterV2");const u=Ie(s.shape),c=Ie(a.shape),h=Ei(s.shape,l,i,1,o),d=h.strideDepth,p=h.strideHeight,f=h.strideWidth,g=h.filterDepth,v=h.filterHeight,y=h.filterWidth,b=new Ot(h.filterShape,"float32"),w=b.values,[x,_,$,N]=b.strides,k=n.data.get(a.dataId).values,[A,O,R,T]=c,S=n.data.get(s.dataId).values,[F,M,L,z]=u,q=h.padInfo.front,J=h.padInfo.left,re=h.padInfo.top;for(let Y=0;Y<g;++Y){const ae=Math.max(0,Math.ceil((q-Y)/d)),ne=Math.min(h.outDepth,(h.inDepth+q-Y)/d),oe=Y*x;for(let ce=0;ce<v;++ce){const ve=Math.max(0,Math.ceil((re-ce)/p)),_e=Math.min(h.outHeight,(h.inHeight+re-ce)/p),$e=ce*_+oe;for(let Re=0;Re<y;++Re){const Oe=Math.max(0,Math.ceil((J-Re)/f)),He=Math.min(h.outWidth,(h.inWidth+J-Re)/f),Xe=Re*$+$e;for(let dt=0;dt<h.inChannels;++dt){const nt=dt*N+Xe;for(let Qe=0;Qe<h.outChannels;++Qe){let lt=0;for(let at=0;at<h.batchSize;++at){const Rn=at*F,Ta=at*A;for(let Qn=ae;Qn<ne;++Qn){const Ea=(Y+Qn*d-q)*M+Rn,Or=Qn*O+Ta;for(let js=ve;js<_e;++js){const _o=(ce+js*p-re)*L+Ea,So=js*R+Or;for(let vs=Oe;vs<He;++vs){const Io=(Re+vs*f-J)*z+_o,wm=vs*T+So;lt+=S[Io+dt]*k[wm+Qe]}}}}w[nt+Qe]=lt}}}}}return n.makeTensorInfo(b.shape,b.dtype,b.values)}var mM,ape=m((()=>{C(),xe(),mM={kernelName:Zu,backendName:"cpu",kernelFunc:spe}}));function ipe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{pad:i,strides:o,inputShape:l}=r;be([s],"conv3dBackpropInputV2");const u=Ie(s.shape),c=Ie(a.shape),h=Ei(l,a.shape,o,1,i),d=new Ot(h.inShape,"float32"),p=d.values,[f,g,v,y]=d.strides,b=n.data.get(s.dataId).values,[w,x,_,$]=u,N=n.data.get(a.dataId).values,[k,A,O,R]=c,{batchSize:T,filterDepth:S,filterHeight:F,filterWidth:M,inChannels:L,inDepth:z,inHeight:q,inWidth:J,outChannels:re,outDepth:Y,outHeight:ae,outWidth:ne,strideDepth:oe,strideHeight:ce,strideWidth:ve}=h,_e=S-1-h.padInfo.front,$e=F-1-h.padInfo.top,Re=M-1-h.padInfo.left;for(let Oe=0;Oe<T;++Oe)for(let He=0;He<L;++He)for(let Xe=0;Xe<z;++Xe){const dt=Xe-_e,nt=Math.max(0,Math.ceil(dt/oe)),Qe=Math.min(Y,(S+dt)/oe);for(let lt=0;lt<q;++lt){const at=lt-$e,Rn=Math.max(0,Math.ceil(at/ce)),Ta=Math.min(ae,(F+at)/ce);for(let Qn=0;Qn<J;++Qn){const Ea=Qn-Re,Or=Math.max(0,Math.ceil(Ea/ve)),js=Math.min(ne,(M+Ea)/ve);let _o=0;for(let So=nt;So<Qe;++So){const vs=So*oe-dt;for(let Io=Rn;Io<Ta;++Io){const wm=Io*ce-at;for(let yx=Or;yx<js;++yx){const ySe=yx*ve-Ea,bSe=w*Oe+x*So+_*Io+$*yx,xSe=k*(S-1-vs)+A*(F-1-wm)+O*(M-1-ySe)+R*He;for(let bx=0;bx<re;++bx){const wSe=b[bSe+bx],_Se=N[xSe+bx];_o+=wSe*_Se}}}}p[f*Oe+g*Xe+v*lt+y*Qn+He]=_o}}}return n.makeTensorInfo(d.shape,d.dtype,d.values)}var gM,ope=m((()=>{C(),xe(),gM={kernelName:Ju,backendName:"cpu",kernelFunc:ipe}})),vM,yM,lpe=m((()=>{C(),qe(),vM=ot("Cos",e=>Math.cos(e)),yM={kernelName:"Cos",backendName:"cpu",kernelFunc:vM}})),bM,xM,upe=m((()=>{C(),qe(),bM=ot(Ua,e=>Math.cosh(e)),xM={kernelName:Ua,backendName:"cpu",kernelFunc:bM}}));function cpe(e){const{inputs:t,backend:n,attrs:r}=e,{image:s,boxes:a,boxInd:i}=t,{cropSize:o,method:l,extrapolationValue:u}=r,[c,h,d,p]=s.shape,f=a.shape[0],[g,v]=o,y=Fe([f,g,v,p],"float32"),b=n.data.get(a.dataId).values,w=n.data.get(i.dataId).values,x=n.data.get(s.dataId).values,_=Ie(s.shape),$=Ie(y.shape);for(let N=0;N<f;N++){const k=N*4,A=b[k],O=b[k+1],R=b[k+2],T=b[k+3],S=w[N];if(S>=c)continue;const F=g>1?(R-A)*(h-1)/(g-1):0,M=v>1?(T-O)*(d-1)/(v-1):0;for(let L=0;L<g;L++){const z=g>1?A*(h-1)+L*F:.5*(A+R)*(h-1);if(z<0||z>h-1){for(let q=0;q<v;q++)for(let J=0;J<p;J++){const re=J+q*$[2]+L*$[1]+N*$[0];y.values[re]=u}continue}if(l==="bilinear"){const q=Math.floor(z),J=Math.ceil(z),re=z-q;for(let Y=0;Y<v;Y++){const ae=v>1?O*(d-1)+Y*M:.5*(O+T)*(d-1);if(ae<0||ae>d-1){for(let ve=0;ve<p;ve++){const _e=ve+Y*$[2]+L*$[1]+N*$[0];y.values[_e]=u}continue}const ne=Math.floor(ae),oe=Math.ceil(ae),ce=ae-ne;for(let ve=0;ve<p;ve++){let _e=ve+ne*_[2]+q*_[1]+S*_[0];const $e=x[_e];_e=ve+oe*_[2]+q*_[1]+S*_[0];const Re=x[_e];_e=ve+ne*_[2]+J*_[1]+S*_[0];const Oe=x[_e];_e=ve+oe*_[2]+J*_[1]+S*_[0];const He=x[_e],Xe=$e+(Re-$e)*ce,dt=Oe+(He-Oe)*ce;_e=ve+Y*$[2]+L*$[1]+N*$[0],y.values[_e]=Xe+(dt-Xe)*re}}}else for(let q=0;q<v;++q){const J=v>1?O*(d-1)+q*M:.5*(O+T)*(d-1);if(J<0||J>d-1){for(let ae=0;ae<p;ae++){const ne=ae+q*$[2]+L*$[1]+N*$[0];y.values[ne]=u}continue}const re=Math.round(J),Y=Math.round(z);for(let ae=0;ae<p;ae++){const ne=ae+re*_[2]+Y*_[1]+S*_[0],oe=ae+q*$[2]+L*$[1]+N*$[0];y.values[oe]=x[ne]}}}}return n.makeTensorInfo(y.shape,y.dtype,y.values)}var wM,hpe=m((()=>{C(),wM={kernelName:ec,backendName:"cpu",kernelFunc:cpe}}));function dpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,exclusive:i,reverse:o}=r;be(s,"cumprod");const l=kt([a],s.shape.length);let u=s;l!=null&&(u=sr({inputs:{x:s},backend:n,attrs:{perm:l}}));const c=Wt(1,s.shape.length)[0];if(c!==u.shape.length-1)throw new Error(`backend.cumprod in CPU expects an inner-most axis=${u.shape.length-1} but got axis=${c}`);const h=zn(u.dtype,"int32"),d=Cm(te(u.shape),h),p=n.data.get(u.dataId).values,f=u.shape[u.shape.length-1],g=o?(y,b)=>y+f-b-1:(y,b)=>y+b;for(let y=0;y<p.length;y+=f)for(let b=0;b<f;b++){const w=g(y,b);if(b===0)d[w]=i?1:p[w];else{const x=g(y,b-1);d[w]=i?p[x]*d[x]:p[w]*d[x]}}const v=n.makeTensorInfo(u.shape,h,d);if(l!=null){const y=Li(l),b=sr({inputs:{x:v},backend:n,attrs:{perm:y}});return n.disposeIntermediateTensorInfo(v),n.disposeIntermediateTensorInfo(u),b}return v}var _M,ppe=m((()=>{C(),xe(),$r(),_M={kernelName:Qu,backendName:"cpu",kernelFunc:dpe}}));function fpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,exclusive:i,reverse:o}=r;be(s,"cumsum");const l=kt([a],s.shape.length);let u=s;l!=null&&(u=sr({inputs:{x:s},backend:n,attrs:{perm:l}}));const c=Wt(1,s.shape.length)[0];if(c!==u.shape.length-1)throw new Error(`backend.cumsum in CPU expects an inner-most axis=${u.shape.length-1} but got axis=${c}`);const h=zn(u.dtype,"int32"),d=xn(te(u.shape),h),p=n.data.get(u.dataId).values,f=u.shape[u.shape.length-1],g=o?(y,b)=>y+f-b-1:(y,b)=>y+b;for(let y=0;y<p.length;y+=f)for(let b=0;b<f;b++){const w=g(y,b);if(b===0)d[w]=i?0:p[w];else{const x=g(y,b-1);d[w]=i?p[x]+d[x]:p[w]+d[x]}}const v=n.makeTensorInfo(u.shape,h,d);if(l!=null){const y=Li(l),b=sr({inputs:{x:v},backend:n,attrs:{perm:y}});return n.disposeIntermediateTensorInfo(v),n.disposeIntermediateTensorInfo(u),b}return v}var SM,mpe=m((()=>{C(),xe(),$r(),SM={kernelName:jo,backendName:"cpu",kernelFunc:fpe}}));function gpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i,binaryOutput:o}=r;if(s.shape.length===1){const l=n.data.get(s.dataId).values,u=n.data.get(a.dataId).values,c=nS(l,u,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,c)}else if(s.shape.length===2){const l=n.bufferSync(s),u=n.bufferSync(a),c=rF(l,u,i,o);return n.makeTensorInfo(c.shape,a.dtype,c.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${s.shape.length}.`)}var IM,vpe=m((()=>{C(),rS(),IM={kernelName:tc,backendName:"cpu",kernelFunc:gpe}}));function ype(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockSize:a,dataFormat:i}=r;E(i==="NHWC",()=>`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`);const o=s.shape[0],l=s.shape[1],u=s.shape[2],c=s.shape[3],h=l*a,d=u*a,p=c/(a*a),f=n.data.get(s.dataId).values,g=new Float32Array(o*h*d*p);let v=0;for(let y=0;y<o;++y)for(let b=0;b<h;++b){const w=Math.floor(b/a),x=b%a;for(let _=0;_<d;++_){const $=Math.floor(_/a),N=_%a,k=(x*a+N)*p;for(let A=0;A<p;++A){const O=A+k+c*($+u*(w+l*y));g[v++]=f[O]}}}return n.makeTensorInfo([o,h,d,p],s.dtype,g)}var NM,bpe=m((()=>{C(),NM={kernelName:nc,backendName:"cpu",kernelFunc:ype}}));function CM(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dilations:l,dimRoundingMode:u}=r;be([s,a],"depthwiseConv2DNative");const c=Ie(s.shape),h=Ie(a.shape);let d=l;d==null&&(d=[1,1]),E(_n(i,d),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${d}'`);const p=dn(s.shape,a.shape,i,d,o,u,!0),{filterHeight:f,filterWidth:g,dilationHeight:v,dilationWidth:y,padInfo:b}=p,w=b.left,x=b.top,_=p.outChannels/p.inChannels,$=new Ot(p.outShape,s.dtype),N=n.data.get(s.dataId).values,k=n.data.get(a.dataId).values,A=$.values;for(let O=0;O<p.batchSize;++O){const R=O*c[0],T=O*$.strides[0];for(let S=0;S<p.outHeight;++S){const F=T+S*$.strides[1],M=S*p.strideHeight-x;for(let L=0;L<f;++L){const z=M+L*v;if(z<0||z>=p.inHeight)continue;const q=L*h[0],J=R+z*c[1];for(let re=0;re<p.outWidth;++re){const Y=F+re*$.strides[2],ae=re*p.strideWidth-w;for(let ne=0;ne<g;++ne){const oe=ae+ne*y;if(oe<0||oe>=p.inWidth)continue;const ce=q+ne*h[1],ve=J+oe*p.inChannels;let _e=Y,$e=ce;for(let Re=0;Re<p.inChannels;++Re){const Oe=N[ve+Re];for(let He=0;He<_;++He)A[_e+He]+=Oe*k[$e+He];_e+=_,$e+=_}}}}}}return n.makeTensorInfo($.shape,$.dtype,$.values)}var $M,kM=m((()=>{C(),xe(),$M={kernelName:qo,backendName:"cpu",kernelFunc:CM}}));function xpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,dilations:o,pad:l,dimRoundingMode:u,filterShape:c}=r;be([s,a],"depthwiseConv2dNativeBackpropFilter");const h=dn(s.shape,c,i,o,l,u,!0),{strideHeight:d,strideWidth:p,filterHeight:f,filterWidth:g}=h,v=new Ot(h.filterShape,"float32"),y=h.padInfo.left,b=h.padInfo.top,w=h.outChannels/h.inChannels,x=n.data.get(s.dataId).values,_=new Ot(s.shape,s.dtype,x),$=n.data.get(a.dataId).values,N=new Ot(a.shape,a.dtype,$);for(let k=0;k<f;++k){const A=Math.max(0,Math.ceil((b-k)/d)),O=Math.min(h.outHeight,(h.inHeight+b-k)/d);for(let R=0;R<g;++R){const T=Math.max(0,Math.ceil((y-R)/p)),S=Math.min(h.outWidth,(h.inWidth+y-R)/p);for(let F=0;F<h.outChannels;++F){const M=Math.trunc(F/w),L=F%w;let z=0;for(let q=0;q<h.batchSize;++q)for(let J=A;J<O;++J){const re=k+J*d-b;for(let Y=T;Y<S;++Y){const ae=R+Y*p-y;z+=_.get(q,re,ae,M)*N.get(q,J,Y,F)}}v.set(z,k,R,M,L)}}}return n.makeTensorInfo(v.shape,v.dtype,v.values)}var TM,wpe=m((()=>{C(),xe(),TM={kernelName:rc,backendName:"cpu",kernelFunc:xpe}}));function _pe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{strides:i,dilations:o,pad:l,dimRoundingMode:u,inputShape:c}=r;be([s,a],"depthwiseConv2DNativeBackpropInput");const h=Ie(s.shape),d=Ie(a.shape),p=dn(c,a.shape,i,o,l,u,!0),f=new Ot(p.inShape,"float32"),g=f.values,[v,y,b]=f.strides,w=n.data.get(s.dataId).values,[x,_,$]=h,N=n.data.get(a.dataId).values,[k,A,O]=d,{batchSize:R,filterHeight:T,filterWidth:S,inChannels:F,inHeight:M,inWidth:L,outChannels:z,outHeight:q,outWidth:J,strideHeight:re,strideWidth:Y}=p,ae=T-1-p.padInfo.top,ne=S-1-p.padInfo.left,oe=z/F;for(let ce=0;ce<R;++ce)for(let ve=0;ve<F;++ve)for(let _e=0;_e<M;++_e){const $e=_e-ae,Re=Math.max(0,Math.ceil($e/re)),Oe=Math.min(q,(T+$e)/re);for(let He=0;He<L;++He){const Xe=He-ne,dt=Math.max(0,Math.ceil(Xe/Y)),nt=Math.min(J,(S+Xe)/Y);let Qe=0;for(let lt=Re;lt<Oe;++lt){const at=lt*re-$e;for(let Rn=dt;Rn<nt;++Rn){const Ta=Rn*Y-Xe,Qn=x*ce+_*lt+$*Rn,Ea=k*(T-1-at)+A*(S-1-Ta)+O*ve;for(let Or=0;Or<oe;++Or){const js=w[Qn+(ve*oe+Or)],_o=N[Ea+Or];Qe+=js*_o}}}g[v*ce+y*_e+b*He+ve]=Qe}}return n.makeTensorInfo(f.shape,f.dtype,f.values)}var EM,Spe=m((()=>{C(),xe(),EM={kernelName:sc,backendName:"cpu",kernelFunc:_pe}}));function Ipe(e){const{inputs:t,backend:n}=e,{x:r}=t,s=te(r.shape),a=n.data.get(r.dataId).values,i=Fe([s,s],r.dtype),o=i.values;for(let u=0;u<a.length;u++)o[u*s+u]=a[u];const l=[...r.shape,...r.shape];return n.makeTensorInfo(l,i.dtype,i.values)}var AM,Npe=m((()=>{C(),AM={kernelName:ac,backendName:"cpu",kernelFunc:Ipe}})),RM,Cpe=m((()=>{C(),RM={kernelName:Ko,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s}=e,{strides:a,pad:i,dilations:o}=n,l=t,u=l.data.get(r.dataId).values,c=r.shape.length,h=l.data.get(s.dataId).values,d=s.shape.length,{batchSize:p,inHeight:f,inWidth:g,inChannels:v,outHeight:y,outWidth:b,padInfo:w,strideHeight:x,strideWidth:_,filterHeight:$,filterWidth:N,dilationHeight:k,dilationWidth:A,outShape:O}=Bd(r.shape,s.shape,a,i,"NHWC",o),R=te(O),T=O.length,S=Dt(r.dtype,R);for(let F=0;F<p;++F)for(let M=0;M<y;++M){const L=M*x-w.top;for(let z=0;z<b;++z){const q=z*_-w.left;for(let J=0;J<v;++J){let re=Number.MIN_SAFE_INTEGER;for(let ae=0;ae<$;++ae){const ne=L+ae*k;if(ne>=0&&ne<f)for(let oe=0;oe<N;++oe){const ce=q+oe*A;if(ce>=0&&ce<g){const ve=Xr([F,ne,ce,J],c,Ie(r.shape)),_e=Xr([ae,oe,J],d,Ie(s.shape)),$e=u[ve]+h[_e];$e>re&&(re=$e)}}}const Y=Xr([F,M,z,J],T,Ie(O));S[Y]=re}}}return{dataId:l.write(wi(S,r.dtype),O,r.dtype),shape:O,dtype:r.dtype}}}})),DM,$pe=m((()=>{C(),DM={kernelName:oc,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s,dy:a}=e,{strides:i,pad:o,dilations:l}=n,u=t,c=xr(r.shape,u.data.get(r.dataId).values),h=xr(s.shape,u.data.get(s.dataId).values),{batchSize:d,inHeight:p,inWidth:f,inChannels:g,outHeight:v,outWidth:y,padInfo:b,strideHeight:w,strideWidth:x,filterHeight:_,filterWidth:$,dilationHeight:N,dilationWidth:k,outShape:A}=Bd(r.shape,s.shape,i,o,"NHWC",l);E(a.rank===A.length,()=>`Error in ${oc}, dy must have the same rank as output ${A.length}, but got ${a.rank}`);const O=xr(A,u.data.get(a.dataId).values),R=Ix(s.shape,s.dtype);for(let T=0;T<d;++T)for(let S=0;S<v;++S){const F=S*w-b.top;for(let M=0;M<y;++M){const L=M*x-b.left;for(let z=0;z<g;++z){let q=Number.MIN_SAFE_INTEGER,J=0,re=0;for(let Y=0;Y<_;++Y){const ae=F+Y*N;if(ae>=0&&ae<p)for(let ne=0;ne<$;++ne){const oe=L+ne*k;if(oe>=0&&oe<f){const ce=c[T][ae][oe][z]+h[Y][ne][z];ce>q&&(q=ce,J=Y,re=ne)}}}R[J][re][z]+=O[T][S][M][z]}}}return{dataId:u.write(wi(R,r.dtype),s.shape,s.dtype),shape:s.shape,dtype:s.dtype}}}})),OM,kpe=m((()=>{C(),OM={kernelName:ic,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s,dy:a}=e,{strides:i,pad:o,dilations:l}=n,u=t,c=xr(r.shape,u.data.get(r.dataId).values),h=xr(s.shape,u.data.get(s.dataId).values),{batchSize:d,inHeight:p,inWidth:f,inChannels:g,outHeight:v,outWidth:y,padInfo:b,strideHeight:w,strideWidth:x,filterHeight:_,filterWidth:$,dilationHeight:N,dilationWidth:k,outShape:A}=Bd(r.shape,s.shape,i,o,"NHWC",l);E(a.rank===A.length,()=>`Error in ${ic}, dy must have the same rank as output ${A.length}, but got ${a.rank}`);const O=xr(A,u.data.get(a.dataId).values),R=Ix(r.shape,r.dtype);for(let T=0;T<d;++T)for(let S=0;S<v;++S){const F=S*w-b.top;for(let M=0;M<y;++M){const L=M*x-b.left;for(let z=0;z<g;++z){let q=Number.MIN_SAFE_INTEGER,J=F<0?0:F,re=L<0?0:L;for(let Y=0;Y<_;++Y){const ae=F+Y*N;if(ae>=0&&ae<p)for(let ne=0;ne<$;++ne){const oe=L+ne*k;if(oe>=0&&oe<f){const ce=c[T][ae][oe][z]+h[Y][ne][z];ce>q&&(q=ce,J=ae,re=oe)}}}R[T][J][re][z]+=O[T][S][M][z]}}}return{dataId:u.write(wi(R,r.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}}}));function Tpe(e){const{inputs:t,backend:n,attrs:r}=e,{image:s}=t,{canvas:a,options:i}=r,{contextOptions:o,imageOptions:l}=i||{},u=l?.alpha||1,c=o?.contextType||"2d";if(c!=="2d")throw new Error(`Context type ${o.contextType} is not supported by the CPU backend.`);const h=a.getContext(c,o?.contextAttributes||{});if(h==null)throw new Error(`Could not get the context with ${c} type.`);const[d,p]=s.shape.slice(0,2),f=s.shape.length===2?1:s.shape[2],g=n.data.get(s.dataId).values,v=s.dtype==="float32"?255:1,y=new Uint8ClampedArray(p*d*4);for(let w=0;w<d*p;++w){const x=[0,0,0,255*u];for(let $=0;$<f;$++){const N=g[w*f+$];if(s.dtype==="float32"){if(N<0||N>1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${N}.`)}else if(s.dtype==="int32"&&(N<0||N>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${N}.`);f===1?(x[0]=N*v,x[1]=N*v,x[2]=N*v):x[$]=N*v}const _=w*4;y[_+0]=Math.round(x[0]),y[_+1]=Math.round(x[1]),y[_+2]=Math.round(x[2]),y[_+3]=Math.round(x[3])}a.width=p,a.height=d;const b=new ImageData(y,p,d);return h.putImageData(b,0,0),s}var FM,Epe=m((()=>{C(),FM={kernelName:vd,backendName:"cpu",kernelFunc:Tpe}}));function Xf(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"sum");let o;s.dtype==="bool"?o=ho({inputs:{x:s},backend:n,attrs:{dtype:"int32"}}):o=Vs({inputs:{x:s},backend:n});const l=o.shape.length,u=Be(a,o.shape),c=kt(u,l);let h=u,d=o;c!=null&&(d=sr({inputs:{x:o},backend:n,attrs:{perm:c}}),h=Wt(h.length,l)),Sn("sum",h,d.shape.length);const[p,f]=pn(d.shape,h),g=zn(d.dtype,"int32");let v=_b(n,p,g);const y=te(f),b=n.data.get(v.dataId).values,w=n.data.get(d.dataId).values;for(let x=0;x<b.length;++x){const _=x*y;let $=0;for(let N=0;N<y;++N)$+=w[_+N];b[x]=$}if(i){const x=Vt(v.shape,u),_=v;v=bt({inputs:{x:v},backend:n,attrs:{shape:x}}),n.disposeIntermediateTensorInfo(_)}return n.disposeIntermediateTensorInfo(o),c!=null&&n.disposeIntermediateTensorInfo(d),v}var LM,Yf=m((()=>{C(),xe(),YO(),qh(),Sa(),kn(),$r(),LM={kernelName:"Sum",backendName:"cpu",kernelFunc:Xf}}));function Ape(e){const{inputs:t,backend:n,attrs:r}=e,{equation:s}=r,a=t,{allDims:i,summedDims:o,idDims:l}=k1(s,a.length);E1(i.length,l,a);const{path:u,steps:c}=A1(o,l),h=c.length;let d=null,p=i.length;const f=[];for(let g=0;g<h;++g){for(const v of c[g]){const{permutationIndices:y,expandDims:b}=T1(p,l[v]);let w;R1(y)?w=a[v]:(w=sr({inputs:{x:a[v]},backend:n,attrs:{perm:y}}),f.push(w));const x=w.shape.slice();for(let _=0;_<b.length;++_)x.splice(b[_],0,1);Ue(w.shape,x)||(w=bt({inputs:{x:w},backend:n,attrs:{shape:x}}),f.push(w)),d===null?d=w:(d=qf({inputs:{a:w,b:d},backend:n}),f.push(d))}g<h-1&&(u[g]>=0&&(d=Xf({inputs:{x:d},backend:n,attrs:{axis:u[g]-(i.length-p),keepDims:!1}}),f.push(d)),p--)}for(const g of f)g!==d&&n.disposeIntermediateTensorInfo(g);return d}var PM,Rpe=m((()=>{C(),Xh(),kn(),Yf(),$r(),PM={kernelName:lc,backendName:"cpu",kernelFunc:Ape}}));function Dpe(e){const{inputs:t,backend:n}=e,{dy:r,y:s}=t;be([r,s],"eluGrad");const a=new Float32Array(te(s.shape)),i=n.data.get(s.dataId).values,o=n.data.get(r.dataId).values;for(let l=0;l<i.length;++l){const u=i[l];u>=0?a[l]=o[l]:a[l]=o[l]*(u+1)}return n.makeTensorInfo(s.shape,"float32",a)}var MM,Ope=m((()=>{C(),xe(),MM={kernelName:uc,backendName:"cpu",kernelFunc:Dpe}})),zM,BM,VM,WM,UM,GM,HM,jM,Fpe=m((()=>{C(),qe(),zM=Iv,BM=Nv,VM=Cv,WM=$v,UM=kv,GM=Tv,HM=ot("Erf",e=>{const t=Math.sign(e),n=Math.abs(e),r=1/(1+zM*n);return t*(1-((((GM*r+UM)*r+WM)*r+VM)*r+BM)*r*Math.exp(-n*n))}),jM={kernelName:"Erf",backendName:"cpu",kernelFunc:HM}}));function kb(e){const{inputs:t,backend:n,attrs:r}=e,{input:s}=t,{dim:a}=r,i=s.shape.length,o=s.shape.slice();let l=a;return a<0&&(E(-(i+1)<=a,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),l=i+a+1),o.splice(l,0,1),bt({inputs:{x:s},backend:n,attrs:{shape:o}})}var qM,VS=m((()=>{C(),kn(),qM={kernelName:Yo,backendName:"cpu",kernelFunc:kb}})),KM,Tb,Eb,Ab=m((()=>{C(),Kt(),ln(),KM=qt((e,t)=>e/t),Tb=on(Ga,KM),Eb={kernelName:Ga,backendName:"cpu",kernelFunc:Tb}}));function XM(e,t,n){const r=e.shape,s=r[0],a=r[1],i=n.data.get(e.dataId),o=i.complexTensorInfos.real,l=i.complexTensorInfos.imag,u=[s,a],c=te(u),h=un("float32",c),d=un("float32",c);for(let v=0;v<s;v++){const y=Eu({inputs:{x:o},backend:n,attrs:{begin:[v,0],size:[1,a]}}),b=Eu({inputs:{x:l},backend:n,attrs:{begin:[v,0],size:[1,a]}}),w=vr({inputs:{real:y,imag:b},backend:n}),{real:x,imag:_}=Lpe(w,t,n),$=va(x,_);for(let N=0;N<a;N++){const k=$1($,N);h[v*a+N]=k.real,d[v*a+N]=k.imag}n.disposeIntermediateTensorInfo(y),n.disposeIntermediateTensorInfo(b),n.disposeIntermediateTensorInfo(w)}const p=n.makeTensorInfo(u,"float32",h),f=n.makeTensorInfo(u,"float32",d),g=vr({inputs:{real:p,imag:f},backend:n});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),g}function Lpe(e,t,n){const r=te(e.shape),s=n.data.get(e.dataId),a=n.data.get(s.complexTensorInfos.real.dataId).values,i=n.data.get(s.complexTensorInfos.imag.dataId).values;if(Ppe(r)){const o=WS(a,i,r,t,n),l=[e.shape[0],e.shape[1]];if(t){const u=n.makeTensorInfo(l,"float32",o.real),c=n.makeTensorInfo(l,"float32",o.imag),h=n.makeTensorInfo([],"float32",Qs(r,"float32")),d=Vs({inputs:{x:h},backend:n}),p=Eb.kernelFunc({inputs:{a:u,b:h},backend:n}),f=Eb.kernelFunc({inputs:{a:c,b:d},backend:n}),g=n.data.get(p.dataId).values,v=n.data.get(f.dataId).values;return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),{real:g,imag:v}}return o}else{const o=Mpe(va(a,i),r,t);return YT(o)}}function Ppe(e){return(e&e-1)===0}function WS(e,t,n,r,s){if(n===1)return{real:e,imag:t};const a=va(e,t),i=n/2,o=ZT(a),l=o.real,u=o.imag,c=[l.length],h=s.makeTensorInfo(c,"float32",l),d=s.makeTensorInfo(c,"float32",u),p=vr({inputs:{real:h,imag:d},backend:s}),f=JT(a),g=f.real,v=f.imag,y=[g.length],b=s.makeTensorInfo(y,"float32",g),w=s.makeTensorInfo(y,"float32",v),x=vr({inputs:{real:b,imag:w},backend:s}),_=WS(l,u,i,r,s),$=_.real,N=_.imag,k=[$.length],A=s.makeTensorInfo(k,"float32",$),O=s.makeTensorInfo(k,"float32",N),R=vr({inputs:{real:A,imag:O},backend:s}),T=WS(g,v,i,r,s),S=T.real,F=T.imag,M=[S.length],L=s.makeTensorInfo(M,"float32",S),z=s.makeTensorInfo(M,"float32",F),q=vr({inputs:{real:L,imag:z},backend:s}),J=e2(n,r),re=[J.real.length],Y=s.makeTensorInfo(re,"float32",J.real),ae=s.makeTensorInfo(re,"float32",J.imag),ne=vr({inputs:{real:Y,imag:ae},backend:s}),oe=qf({inputs:{a:ne,b:q},backend:s}),ce=ku({inputs:{a:R,b:oe},backend:s}),ve=Nb({inputs:{a:R,b:oe},backend:s}),_e=$u({inputs:{input:ce},backend:s}),$e=$u({inputs:{input:ve},backend:s}),Re=Zh({inputs:{input:ce},backend:s}),Oe=Zh({inputs:{input:ve},backend:s}),He=Jh({inputs:[_e,$e],backend:s,attrs:{axis:0}}),Xe=Jh({inputs:[Re,Oe],backend:s,attrs:{axis:0}}),dt=s.data.get(He.dataId).values,nt=s.data.get(Xe.dataId).values;return s.disposeIntermediateTensorInfo(h),s.disposeIntermediateTensorInfo(d),s.disposeIntermediateTensorInfo(p),s.disposeIntermediateTensorInfo(b),s.disposeIntermediateTensorInfo(w),s.disposeIntermediateTensorInfo(x),s.disposeIntermediateTensorInfo(A),s.disposeIntermediateTensorInfo(O),s.disposeIntermediateTensorInfo(R),s.disposeIntermediateTensorInfo(L),s.disposeIntermediateTensorInfo(z),s.disposeIntermediateTensorInfo(q),s.disposeIntermediateTensorInfo(Y),s.disposeIntermediateTensorInfo(ae),s.disposeIntermediateTensorInfo(ne),s.disposeIntermediateTensorInfo(oe),s.disposeIntermediateTensorInfo(ce),s.disposeIntermediateTensorInfo(ve),s.disposeIntermediateTensorInfo(_e),s.disposeIntermediateTensorInfo(Re),s.disposeIntermediateTensorInfo($e),s.disposeIntermediateTensorInfo(Oe),s.disposeIntermediateTensorInfo(He),s.disposeIntermediateTensorInfo(Xe),{real:dt,imag:nt}}function Mpe(e,t,n){const r=new Float32Array(t*2);for(let s=0;s<t;s++){let a=0,i=0;for(let o=0;o<t;o++){const l=t2(s*o,t,n),u=$1(e,o);a+=u.real*l.real-u.imag*l.imag,i+=u.real*l.imag+u.imag*l.real}n&&(a/=t,i/=t),QT(r,a,i,s)}return r}var YM=m((()=>{C(),Kh(),co(),BS(),Sa(),Kf(),Xh(),jh(),Ab(),Au(),Cb()}));function zpe(e){const{inputs:t,backend:n}=e,{input:r}=t,s=te(r.shape),a=r.shape[r.shape.length-1],i=s/a,o=bt({inputs:{x:r},backend:n,attrs:{shape:[i,a]}}),l=XM(o,!1,n),u=bt({inputs:{x:l},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(l),u}var ZM,Bpe=m((()=>{C(),YM(),kn(),ZM={kernelName:"FFT",backendName:"cpu",kernelFunc:zpe}}));function US(e){const{backend:t,attrs:n}=e,{shape:r,value:s,dtype:a}=n,i=a||Ao(s),o=Dt(i,te(r));return Vpe(o,s,i),t.makeTensorInfo(r,i,o)}function Vpe(e,t,n){e.fill(t)}var JM,GS=m((()=>{C(),JM={kernelName:cc,backendName:"cpu",kernelFunc:US}})),QM,Wpe=m((()=>{C(),QM={kernelName:hc,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:r}=e,s=n,a=un(r.dtype,te(r.shape)),[i,o,l,u]=r.shape,c=s.data.get(r.dataId).values;for(let h=0;h<i;h++){const d=h*l*o*u;for(let p=0;p<o;p++){const f=p*(l*u);for(let g=0;g<l;g++){const v=g*u;for(let y=0;y<u;y++){const b=Math.round(l-g-1),w=d+f+v+y;let x=c[w];if(b>=0&&b<l){const _=b*u;x=c[d+f+_+y]}a[w]=x}}}}return{dataId:s.write(a,r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}}}));function Upe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r;let g=uM({inputs:{x:s,filter:a},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d}});if(i){const v=g;if(c==="NCHW"&&i.shape.length===1&&i.shape[0]!==1){const y=bt({inputs:{x:i},backend:n,attrs:{shape:[i.shape[0],1,1]}});g=ku({inputs:{a:g,b:y},backend:n}),n.disposeIntermediateTensorInfo(y)}else g=ku({inputs:{a:g,b:i},backend:n});n.disposeIntermediateTensorInfo(v)}if(p){const v=g;if(c==="NCHW"&&p==="prelu"&&o.shape.length===1&&o.shape[0]!==1){const y=bt({inputs:{x:o},backend:n,attrs:{shape:[o.shape[0],1,1]}});g=$b(n,g,p,y,f),n.disposeIntermediateTensorInfo(y)}else g=$b(n,g,p,o,f);n.disposeIntermediateTensorInfo(v)}return g}var e3,Gpe=m((()=>{C(),MS(),Kh(),hM(),kn(),e3={kernelName:Al,backendName:"cpu",kernelFunc:Upe}}));function Hpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r;let g=CM({inputs:{x:s,filter:a},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d}});if(i){const v=g;g=ku({inputs:{a:g,b:i},backend:n}),n.disposeIntermediateTensorInfo(v)}if(p){const v=g;g=$b(n,g,p,o,f),n.disposeIntermediateTensorInfo(v)}return g}var t3,jpe=m((()=>{C(),MS(),Kh(),kM(),t3={kernelName:Rl,backendName:"cpu",kernelFunc:Hpe}}));function qpe(e){const{inputs:t,backend:n}=e,{params:r,indices:s}=t,a=te(r.shape),i=s.shape,o=i[i.length-1],[l,u,c,h]=vv(r,s);if(u===0)return n.makeTensorInfo(l,r.dtype,[]);const d=n.data.get(s.dataId).values,p=n.bufferSync(r),f=SF(d,p,r.dtype,u,o,c,h,r.shape,a);return n.makeTensorInfo(l,r.dtype,f.values)}var n3,Kpe=m((()=>{C(),IF(),n3={kernelName:dc,backendName:"cpu",kernelFunc:qpe}}));function Xpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,indices:a}=t,{axis:i,batchDims:o}=r;be([s,a],"gatherV2");const l=Be(i,s.shape)[0],u=n.data.get(a.dataId).values,c=s.shape[l];for(let x=0;x<u.length;++x){const _=u[x];E(_<=c-1&&_>=0,()=>`GatherV2: the index value ${_} is not in [0, ${c-1}]`)}let h=o;o==null&&(h=0);const d=te(a.shape),p=M1(s,a,l,h),f=bt({inputs:{x:s},backend:n,attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]}}),g=bt({inputs:{x:a},backend:n,attrs:{shape:[p.batchSize,d/p.batchSize]}}),v=[p.batchSize,p.outerSize,d/p.batchSize,p.sliceSize],y=n.bufferSync(g),b=n.bufferSync(f),w=NF(b,y,v);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(g),n.makeTensorInfo(p.outputShape,w.dtype,w.values)}var r3,Ype=m((()=>{C(),xe(),CF(),kn(),r3={kernelName:Jo,backendName:"cpu",kernelFunc:Xpe}}));function Zpe(e){const{inputs:t,backend:n}=e,{input:r}=t,s=te(r.shape),a=r.shape[r.shape.length-1],i=s/a,o=bt({inputs:{x:r},backend:n,attrs:{shape:[i,a]}}),l=XM(o,!0,n),u=bt({inputs:{x:l},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(l),u}var s3,Jpe=m((()=>{C(),YM(),kn(),s3={kernelName:pc,backendName:"cpu",kernelFunc:Zpe}})),a3,i3,Qpe=m((()=>{C(),qe(),a3=ot(Ya,e=>Number.isFinite(e)?1:0,"bool"),i3={kernelName:Ya,backendName:"cpu",kernelFunc:a3}})),o3,l3,efe=m((()=>{C(),qe(),o3=ot(Za,e=>Math.abs(e)===1/0?1:0,"bool"),l3={kernelName:Za,backendName:"cpu",kernelFunc:o3}})),u3,c3,tfe=m((()=>{C(),qe(),u3=ot(Ja,e=>Number.isNaN(e)?1:0,"bool"),c3={kernelName:Ja,backendName:"cpu",kernelFunc:u3}}));function nfe(e){const{backend:t,attrs:n}=e,{start:r,stop:s,num:a}=n,i=zF(r,s,a);return t.makeTensorInfo([i.length],"float32",i)}var h3,rfe=m((()=>{C(),BF(),h3={kernelName:mc,backendName:"cpu",kernelFunc:nfe}})),d3,p3,sfe=m((()=>{C(),qe(),d3=ot(Qa,e=>Math.log1p(e)),p3={kernelName:Qa,backendName:"cpu",kernelFunc:d3}})),f3,m3,g3,afe=m((()=>{C(),Kt(),ln(),f3=qt((e,t)=>e&&t),m3=on(rl,f3,null,"bool"),g3={kernelName:rl,backendName:"cpu",kernelFunc:m3}})),v3,y3,ife=m((()=>{C(),qe(),v3=ot(sl,e=>e?0:1,"bool"),y3={kernelName:sl,backendName:"cpu",kernelFunc:v3}})),b3,x3,w3,ofe=m((()=>{C(),Kt(),ln(),b3=qt((e,t)=>e||t),x3=on(al,b3,null,"bool"),w3={kernelName:al,backendName:"cpu",kernelFunc:x3}}));function lfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{depthRadius:a,bias:i,alpha:o,beta:l}=r;be(s,"LRN");const u=s.shape[3],c=u-1,h=n.data.get(s.dataId).values,d=te(s.shape),p=new Float32Array(d);function f(g){const v=g%u;let y=g-v+Math.max(0,v-a);const b=g-v+Math.min(v+a,c);let w=0;for(;y<=b;y++){const x=h[y];w+=x*x}return w}for(let g=0;g<d;g++){const v=f(g),y=h[g]*Math.pow(i+o*v,-l);p[g]=y}return n.makeTensorInfo(s.shape,s.dtype,p)}var _3,ufe=m((()=>{C(),xe(),_3={kernelName:"LRN",backendName:"cpu",kernelFunc:lfe}}));function cfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,y:a,dy:i}=t,{depthRadius:o,bias:l,alpha:u,beta:c}=r;be(i,"LRNGrad");const h=te(i.shape),d=i.shape[3],p=n.data.get(i.dataId).values,f=n.data.get(s.dataId).values,g=n.data.get(a.dataId).values,v=new Float32Array(h),y=h;for(let b=0;b<y;b++){const w=b%d,x=b-w+Math.max(0,w-o),_=b-w+Math.min(d,w+o+1);let $=0;for(let N=x;N<_;N++)$+=Math.pow(f[N],2);$=u*$+l;for(let N=x;N<_;N++){let k=-2*u*c*f[N]*g[b]/$;b===N&&(k+=Math.pow($,-c)),k*=p[b],v[N]+=k}}return n.makeTensorInfo(i.shape,s.dtype,v)}var S3,hfe=m((()=>{C(),xe(),S3={kernelName:gc,backendName:"cpu",kernelFunc:cfe}}));function I3(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{reductionIndices:a,keepDims:i}=r,o=n;let l=s.shape;const u=l.length,c=Be(a,l);let h=c;const d=kt(h,u);let p=o.data.get(s.dataId).values;if(d!=null){const x=new Array(u);for(let _=0;_<x.length;_++)x[_]=l[d[_]];p=SS(p,l,s.dtype,d,x),h=Wt(h.length,u),l=x}be(s,"max"),Sn("max",h,u);const[f,g]=pn(l,h),v=te(g),y=GF(p,v,f,s.dtype),b=o.write(y,f,s.dtype);let w=f;return i&&(w=Vt(f,c)),{dataId:b,shape:w,dtype:s.dtype}}var N3,C3=m((()=>{C(),xe(),HF(),IS(),N3={kernelName:"Max",backendName:"cpu",kernelFunc:I3}}));function dfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;be(s,"maxPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r,u=1;E(_n(i,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${u}'`);const c=Br(s.shape,a,i,u,o,l);let h;if(c.filterWidth===1&&c.filterHeight===1&&Ue(c.inShape,c.outShape))h=Vs({inputs:{x:s},backend:n});else{const d=n.data.get(s.dataId).values,p=Ie(s.shape),f=zS(d,s.shape,s.dtype,p,c,"max");h=n.makeTensorInfo(c.outShape,s.dtype,f.values)}return h}var $3,pfe=m((()=>{C(),xe(),Ru(),Sa(),$3={kernelName:il,backendName:"cpu",kernelFunc:dfe}}));function ffe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r;be(s,"maxPool3d");const c=aa(s.shape,a,i,1,o,l,u),h=n.data.get(s.dataId).values,d=KP(h,s.shape,s.dtype,Ie(s.shape),c,"max");return n.makeTensorInfo(d.shape,"float32",d.values)}var k3,mfe=m((()=>{C(),xe(),Ru(),k3={kernelName:ol,backendName:"cpu",kernelFunc:ffe}}));function gfe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=r;be([s,a],"maxPool3DGrad");const c=aa(a.shape,i,o,1,l,u),h=n.bufferSync(a),d=Dde(h,c),p=c.strideDepth,f=c.strideHeight,g=c.strideWidth,v=c.dilationDepth,y=c.dilationHeight,b=c.dilationWidth,w=c.effectiveFilterDepth,x=c.effectiveFilterHeight,_=c.effectiveFilterWidth,$=w-1-c.padInfo.front,N=_-1-c.padInfo.left,k=x-1-c.padInfo.top,A=Fe(a.shape,"float32"),O=n.bufferSync(s);for(let R=0;R<c.batchSize;++R)for(let T=0;T<c.inChannels;++T)for(let S=0;S<c.inDepth;++S)for(let F=0;F<c.inHeight;++F)for(let M=0;M<c.inWidth;++M){const L=S-$,z=F-k,q=M-N;let J=0;for(let re=0;re<w;re+=v){const Y=(L+re)/p;if(!(Y<0||Y>=c.outDepth||Math.floor(Y)!==Y))for(let ae=0;ae<x;ae+=y){const ne=(z+ae)/f;if(!(ne<0||ne>=c.outHeight||Math.floor(ne)!==ne))for(let oe=0;oe<_;oe+=b){const ce=(q+oe)/g;if(ce<0||ce>=c.outWidth||Math.floor(ce)!==ce)continue;const ve=w*x*_-1-d.get(R,Y,ne,ce,T)===re*x*_+ae*_+oe?1:0;if(ve===0)continue;const _e=O.get(R,Y,ne,ce,T);J+=_e*ve}}}A.set(J,R,S,F,M,T)}return n.makeTensorInfo(A.shape,A.dtype,A.values)}var T3,vfe=m((()=>{C(),xe(),Ru(),T3={kernelName:yc,backendName:"cpu",kernelFunc:gfe}}));function yfe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a,output:i}=t,o=a;be([a,i],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,d=Br(o.shape,l,u,1,c,h),p=n.data.get(o.dataId).values,f=Fe(d.outShape,o.dtype,qP(p,o.shape,o.dtype,d).values),g=d.strideHeight,v=d.strideWidth,y=d.dilationHeight,b=d.dilationWidth,w=d.effectiveFilterHeight,x=d.effectiveFilterWidth,_=x-1-d.padInfo.left,$=w-1-d.padInfo.top,N=Fe(o.shape,"float32"),k=n.data.get(s.dataId).values,A=Fe(s.shape,"float32",k);for(let O=0;O<d.batchSize;++O)for(let R=0;R<d.inChannels;++R)for(let T=0;T<d.inHeight;++T)for(let S=0;S<d.inWidth;++S){const F=T-$,M=S-_;let L=0;for(let z=0;z<w;z+=y){const q=(F+z)/g;if(!(q<0||q>=d.outHeight||Math.floor(q)!==q))for(let J=0;J<x;J+=b){const re=(M+J)/v;if(re<0||re>=d.outWidth||Math.floor(re)!==re)continue;const Y=w*x-1-f.get(O,q,re,R)===z*x+J?1:0;if(Y===0)continue;const ae=A.get(O,q,re,R);L+=ae*Y}}N.set(L,O,T,S,R)}return n.makeTensorInfo(N.shape,N.dtype,N.values)}var E3,bfe=m((()=>{C(),xe(),Ru(),E3={kernelName:vc,backendName:"cpu",kernelFunc:yfe}}));function xfe(e,t,n,r,s){const a=Ie(t),i=zS(e,t,n,a,s,"max"),o=qP(e,t,n,s,!0,r);return[i.values,o.values]}var wfe=m((()=>{C(),Ru()})),A3,_fe=m((()=>{C(),xe(),wfe(),A3={kernelName:bc,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:r}=e,{filterSize:s,strides:a,pad:i,includeBatchInIndex:o}=t,l=n;be(r,"MaxPoolWithArgmax");const u=l.data.get(r.dataId).values,c=Br(r.shape,s,a,[1,1],i),[h,d]=xfe(u,r.shape,r.dtype,o,c),p=l.write(h,c.outShape,r.dtype),f=l.write(d,c.outShape,r.dtype);return[{dataId:p,shape:c.outShape,dtype:r.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}}}));function Sfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=Be(a,s.shape),l=pn(s.shape,o)[1],u=te(l),c=[],h=n.makeTensorInfo([],"float32",new Float32Array([u]));c.push(h);const d=ho({inputs:{x:s},backend:n,attrs:{dtype:"float32"}});c.push(d);const p=Tb({inputs:{a:d,b:h},backend:n});c.push(p);const f=Xf({inputs:{x:p},backend:n,attrs:{axis:a,keepDims:i}});return c.forEach(g=>n.disposeIntermediateTensorInfo(g)),f}var R3,Ife=m((()=>{C(),qh(),Ab(),Yf(),R3={kernelName:ll,backendName:"cpu",kernelFunc:Sfe}}));function Nfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"min");const o=Be(a,s.shape);let l=o;const u=kt(l,s.shape.length);let c=s;u!=null&&(c=sr({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Wt(l.length,s.shape.length)),Sn("min",l,c.shape.length);const[h,d]=pn(c.shape,l),p=te(d),f=xn(te(h),c.dtype),g=n.data.get(c.dataId).values;for(let y=0;y<f.length;++y){const b=y*p;let w=g[b];for(let x=0;x<p;++x){const _=g[b+x];(Number.isNaN(_)||_<w)&&(w=_)}f[y]=w}u!=null&&n.disposeIntermediateTensorInfo(c);const v=n.makeTensorInfo(h,c.dtype,f);if(i){const y=Vt(h,o),b=bt({inputs:{x:v},backend:n,attrs:{shape:y}});return n.disposeIntermediateTensorInfo(v),b}return v}var D3,Cfe=m((()=>{C(),xe(),kn(),$r(),D3={kernelName:"Min",backendName:"cpu",kernelFunc:Nfe}}));function $fe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,mode:i}=r;be(s,"mirrorPad");const o=a.map((b,w)=>b[0]+s.shape[w]+b[1]),l=a.map(b=>b[0]),u=a.map((b,w)=>b[0]+s.shape[w]),c=i==="reflect"?0:1,h=n.data.get(s.dataId).values,d=s.shape.length,p=Ie(s.shape),f=te(o),g=o.length,v=Ie(o),y=un(s.dtype,f);for(let b=0;b<f;b++){let w=Ro(b,g,v);for(let _=0;_<g;_++)w[_]<l[_]?w[_]=l[_]*2-w[_]-c:w[_]>=u[_]&&(w[_]=(u[_]-1)*2-w[_]+c);w=w.map((_,$)=>_-l[$]);const x=Xr(w,d,p);y[b]=h[x]}return{dataId:n.write(y,o,s.dtype),shape:o,dtype:s.dtype}}var O3,kfe=m((()=>{C(),xe(),O3={kernelName:ul,backendName:"cpu",kernelFunc:$fe}})),F3,L3,P3,Tfe=m((()=>{C(),Kt(),ln(),F3=qt(((e,t)=>{const n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t})),L3=on("Mod",F3),P3={kernelName:"Mod",backendName:"cpu",kernelFunc:L3}}));function M3(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{dim:a}=r,i=s.shape.length;let o=a;if(o===-1&&(o=i-1),o!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${o}`);const l=Be([o],s.shape),u=I3({inputs:{x:s},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=Vt(u.shape,l),h=bt({inputs:{x:u},backend:n,attrs:{shape:c}}),d=Nb({inputs:{a:s,b:h},backend:n}),p=cS({inputs:{x:d},backend:n}),f=Xf({inputs:{x:p},backend:n,attrs:{axis:l,keepDims:!1}}),g=bt({inputs:{x:f},backend:n,attrs:{shape:c}}),v=Tb({inputs:{a:p,b:g},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(g),v}var z3,B3=m((()=>{C(),hS(),C3(),Ab(),kn(),Cb(),Yf(),z3={kernelName:Nl,backendName:"cpu",kernelFunc:M3}}));function Efe(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{numSamples:a,seed:i,normalized:o}=r;be(s,"multinomial");const l=o?s:M3({inputs:{logits:s},backend:n,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],h=n.data.get(l.dataId).values,d=[u,a],p=xn(te(d),"int32");for(let f=0;f<u;++f){const g=f*c,v=new Float32Array(c-1);v[0]=h[g];for(let w=1;w<v.length;++w)v[w]=v[w-1]+h[g+w];const y=V3.alea(i.toString()),b=f*a;for(let w=0;w<a;++w){const x=y();p[b+w]=v.length;for(let _=0;_<v.length;_++)if(x<v[_]){p[b+w]=_;break}}}return o||n.disposeIntermediateTensorInfo(l),n.makeTensorInfo(d,"int32",p)}var V3,W3,Afe=m((()=>{C(),V3=Co(kp()),xe(),B3(),W3={kernelName:xc,backendName:"cpu",kernelFunc:Efe}}));function Rfe(e){const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l}=r;be(s,"NonMaxSuppression");const u=n.data.get(s.dataId).values,c=n.data.get(a.dataId).values,{selectedIndices:h}=U3(u,c,i,o,l);return n.makeTensorInfo([h.length],"int32",new Int32Array(h))}var U3,G3,Dfe=m((()=>{C(),xe(),U3=tv,G3={kernelName:wc,backendName:"cpu",kernelFunc:Rfe}}));function Ofe(e){const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,padToMaxOutputSize:u}=r;be(s,"NonMaxSuppressionPadded");const c=n.data.get(s.dataId).values,h=n.data.get(a.dataId).values,{selectedIndices:d,validOutputs:p}=H3(c,h,i,o,l,u);return[n.makeTensorInfo([d.length],"int32",new Int32Array(d)),n.makeTensorInfo([],"int32",new Int32Array([p]))]}var H3,j3,Ffe=m((()=>{C(),xe(),H3=nv,j3={kernelName:_c,backendName:"cpu",kernelFunc:Ofe}}));function Lfe(e){const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,softNmsSigma:u}=r;be(s,"NonMaxSuppressionWithScore");const c=n.data.get(s.dataId).values,h=n.data.get(a.dataId).values,{selectedIndices:d,selectedScores:p}=q3(c,h,i,o,l,u);return[n.makeTensorInfo([d.length],"int32",new Int32Array(d)),n.makeTensorInfo([p.length],"float32",new Float32Array(p))]}var q3,K3,Pfe=m((()=>{C(),xe(),q3=rv,K3={kernelName:Sc,backendName:"cpu",kernelFunc:Lfe}}));function Mfe(e){const{inputs:t,backend:n,attrs:r}=e,{indices:s}=t,{dtype:a,depth:i,onValue:o,offValue:l}=r;be(s,"oneHot");const u=te(s.shape),c=new Float32Array(u*i);c.fill(l);const h=n.data.get(s.dataId).values;for(let d=0;d<u;++d)h[d]>=0&&h[d]<i&&(c[d*i+h[d]]=o);return n.makeTensorInfo([...s.shape,i],a,c)}var X3,zfe=m((()=>{C(),xe(),X3={kernelName:dl,backendName:"cpu",kernelFunc:Mfe}}));function Rb(e){const{inputs:t,backend:n}=e,{x:r}=t;if(r.dtype==="string")throw new Error("zerosLike is not supported for string tensors");if(r.dtype==="complex64"){const s=$u({inputs:{input:r},backend:n}),a=Rb({inputs:{x:s},backend:n}),i=Zh({inputs:{input:r},backend:n}),o=Rb({inputs:{x:i},backend:n}),l=vr({inputs:{real:a,imag:o},backend:n});return n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),l}else return US({backend:n,attrs:{shape:r.shape,value:0,dtype:r.dtype}})}var Y3,Z3=m((()=>{C(),co(),GS(),Kf(),jh(),Y3={kernelName:Tl,backendName:"cpu",kernelFunc:Rb}}));function J3(e){const{inputs:t,backend:n}=e,{x:r}=t;if(r.dtype==="string")throw new Error("onesLike is not supported for string tensors");if(r.dtype==="complex64"){const s=$u({inputs:{input:r},backend:n}),a=J3({inputs:{x:s},backend:n}),i=Zh({inputs:{input:r},backend:n}),o=Rb({inputs:{x:i},backend:n}),l=vr({inputs:{real:a,imag:o},backend:n});return n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),l}else return US({backend:n,attrs:{shape:r.shape,value:1,dtype:r.dtype}})}var Q3,Bfe=m((()=>{C(),co(),GS(),Kf(),jh(),Z3(),Q3={kernelName:hl,backendName:"cpu",kernelFunc:J3}}));function ez(e){const{inputs:t,backend:n,attrs:r}=e,{axis:s}=r;if(t.length===1)return kb({inputs:{input:t[0]},backend:n,attrs:{dim:s}});const a=t[0].shape,i=t[0].dtype;t.forEach(c=>{bn(a,c.shape,"All tensors passed to stack must have matching shapes"),E(i===c.dtype,()=>"All tensors passed to stack must have matching dtypes")});const o=[],l=t.map(c=>{const h=kb({inputs:{input:c},backend:n,attrs:{dim:s}});return o.push(h),h}),u=Jh({inputs:l,backend:n,attrs:{axis:s}});return o.forEach(c=>n.disposeIntermediateTensorInfo(c)),u}var tz,nz=m((()=>{C(),BS(),VS(),tz={kernelName:pl,backendName:"cpu",kernelFunc:ez}}));function Vfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,constantValue:i}=r;be(s,"pad");const o=a.map((y,b)=>y[0]+s.shape[b]+y[1]),l=a.map(y=>y[0]),u=n.data.get(s.dataId).values,c=te(s.shape),h=s.shape.length,d=Ie(s.shape),p=te(o),f=o.length,g=Ie(o),v=un(s.dtype,p);i!==0&&v.fill(i);for(let y=0;y<c;y++){const b=Ro(y,h,d).map((x,_)=>x+l[_]),w=Xr(b,f,g);v[w]=u[y]}return{dataId:n.write(v,o,s.dtype),shape:o,dtype:s.dtype}}var HS,rz=m((()=>{C(),xe(),HS={kernelName:fl,backendName:"cpu",kernelFunc:Vfe}})),sz,az,iz,Wfe=m((()=>{C(),Kt(),ln(),sz=qt((e,t)=>Math.pow(e,t)),az=on("Pow",sz),iz={kernelName:"Pow",backendName:"cpu",kernelFunc:az}}));function Ufe(e){const{inputs:t,backend:n,attrs:r}=e,{paramsNestedSplits:s,paramsDenseValues:a,indices:i}=t,{outputRaggedRank:o}=r,l=s.map(y=>n.data.get(y.dataId).values),u=s.map(y=>y.shape),c=n.data.get(a.dataId).values,h=n.data.get(i.dataId).values,[d,p,f]=hL(l,u,c,a.shape,a.dtype,h,i.shape,o),g=d.map(y=>n.makeTensorInfo([y.length],"int32",y)),v=n.makeTensorInfo(f,a.dtype,p);return g.concat([v])}var oz,Gfe=m((()=>{C(),dL(),oz={kernelName:Ic,backendName:"cpu",kernelFunc:Ufe}}));function Hfe(e){const{inputs:t,backend:n}=e,{starts:r,limits:s,deltas:a}=t,i=n.data.get(r.dataId).values,o=n.data.get(s.dataId).values,l=n.data.get(a.dataId).values,[u,c]=pL(i,r.shape,r.dtype,o,s.shape,l,a.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],r.dtype,c)]}var lz,jfe=m((()=>{C(),fL(),lz={kernelName:Nc,backendName:"cpu",kernelFunc:Hfe}}));function qfe(e){const{inputs:t,backend:n,attrs:r}=e,{shape:s,values:a,defaultValue:i,rowPartitionTensors:o}=t,{rowPartitionTypes:l}=r,u=n.data.get(s.dataId).values,c=n.data.get(a.dataId).values,h=n.data.get(i.dataId).values,d=o.map(v=>n.data.get(v.dataId).values),p=o.map(v=>v.shape),[f,g]=vL(u,s.shape,c,a.shape,a.dtype,h,i.shape,d,p,l);return n.makeTensorInfo(f,a.dtype,g)}var uz,Kfe=m((()=>{C(),bL(),uz={kernelName:Cc,backendName:"cpu",kernelFunc:qfe}}));function Xfe(e){const{backend:t,attrs:n}=e,{start:r,stop:s,dtype:a,step:i}=n,o=xL(r,s,i,a);return t.makeTensorInfo([o.length],a,o)}var cz,Yfe=m((()=>{C(),wL(),cz={kernelName:$c,backendName:"cpu",kernelFunc:Xfe}})),hz,dz,Zfe=m((()=>{C(),qe(),hz=ot(ri,e=>1/e),dz={kernelName:ri,backendName:"cpu",kernelFunc:hz}}));function Jfe(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r;be(s,"resizeBilinear");const l=Ie(s.shape),[u,c]=o,[h,d,p,f]=s.shape,g=n.data.get(s.dataId).values,v=new Float32Array(te([h,u,c,f])),y=[a&&u>1?d-1:d,a&&c>1?p-1:p],b=[a&&u>1?u-1:u,a&&c>1?c-1:c];let w=0;const x=y[0]/b[0],_=y[1]/b[1];for(let $=0;$<h;$++)for(let N=0;N<u;N++){let k;i?k=x*(N+.5)-.5:k=x*N;const A=Math.max(0,Math.floor(k)),O=k-A,R=Math.min(d-1,Math.ceil(k)),T=$*l[0]+A*l[1],S=$*l[0]+R*l[1];for(let F=0;F<c;F++){let M;i?M=_*(F+.5)-.5:M=_*F;const L=Math.max(0,Math.floor(M)),z=M-L,q=Math.min(p-1,Math.ceil(M)),J=T+L*l[2],re=S+L*l[2],Y=T+q*l[2],ae=S+q*l[2];for(let ne=0;ne<f;ne++){const oe=g[J+ne],ce=g[re+ne],ve=g[Y+ne],_e=g[ae+ne],$e=oe+(ve-oe)*z,Re=$e+(ce+(_e-ce)*z-$e)*O;v[w++]=Re}}}return n.makeTensorInfo([h,u,c,f],"float32",v)}var pz,Qfe=m((()=>{C(),xe(),pz={kernelName:bl,backendName:"cpu",kernelFunc:Jfe}}));function eme(e){const{inputs:t,backend:n,attrs:r}=e,{images:s,dy:a}=t,{alignCorners:i}=r;be([a,s],"resizeBilinearGrad");const o=Ie(s.shape),[l,u,c,h]=s.shape,[,d,p]=a.shape,f=new Float32Array(l*u*c*h),g=[i&&d>1?u-1:u,i&&p>1?c-1:c],v=[i&&d>1?d-1:d,i&&p>1?p-1:p],y=g[0]/v[0],b=g[1]/v[1],w=n.data.get(a.dataId).values;let x=0;for(let _=0;_<l;_++){const $=_*o[0];for(let N=0;N<d;N++){const k=N*y,A=Math.floor(k),O=Math.min(Math.ceil(k),u-1),R=$+A*o[1],T=$+O*o[1],S=k-A,F=1-S;for(let M=0;M<p;M++){const L=M*b,z=Math.floor(L),q=Math.min(Math.ceil(L),c-1),J=L-z,re=1-J,Y=R+z*o[2],ae=R+q*o[2],ne=T+z*o[2],oe=T+q*o[2],ce=F*re,ve=F*J,_e=S*re,$e=S*J;for(let Re=0;Re<h;Re++){const Oe=w[x++];f[Y+Re]+=Oe*ce,f[ae+Re]+=Oe*ve,f[ne+Re]+=Oe*_e,f[oe+Re]+=Oe*$e}}}}return n.makeTensorInfo([l,c,u,h],"float32",f)}var fz,tme=m((()=>{C(),xe(),fz={kernelName:Ec,backendName:"cpu",kernelFunc:eme}}));function nme(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r;be(s,"resizeNearestNeighbor");const l=Ie(s.shape),[u,c]=o,[h,d,p,f]=s.shape,g=n.data.get(s.dataId).values,v=new Float32Array(h*u*c*f),y=[a&&u>1?d-1:d,a&&c>1?p-1:p],b=[a&&u>1?u-1:u,a&&c>1?c-1:c],w=y[0]/b[0],x=y[1]/b[1];let _=0;for(let $=0;$<h;$++){const N=$*l[0];for(let k=0;k<u;k++){const A=i?w*(k+.5):w*k;let O=Math.min(d-1,a?Math.round(A):Math.floor(A));i&&(O=Math.max(0,O));const R=N+O*l[1];for(let T=0;T<c;T++){const S=i?x*(T+.5):x*T;let F=Math.min(p-1,a?Math.round(S):Math.floor(S));i&&(F=Math.max(0,F));const M=R+F*l[2];for(let L=0;L<f;L++){const z=g[M+L];v[_++]=z}}}}return n.makeTensorInfo([h,u,c,f],s.dtype,v)}var mz,rme=m((()=>{C(),xe(),mz={kernelName:yl,backendName:"cpu",kernelFunc:nme}}));function sme(e){const{inputs:t,backend:n,attrs:r}=e,{images:s,dy:a}=t,{alignCorners:i}=r;be([a,s],"resizeNearestNeighborGrad");const o=Ie(s.shape),l=Ie(a.shape),[u,c,h,d]=s.shape,[,p,f]=a.shape,g=new Float32Array(u*c*h*d),v=n.data.get(a.dataId).values,y=[i&&p>1?c-1:c,i&&f>1?h-1:h],b=[i&&p>1?p-1:p,i&&f>1?f-1:f],w=y[0]/b[0],x=y[1]/b[1],_=1/w,$=1/x,N=Math.ceil(_)*2+2,k=Math.ceil($)*2+2;for(let A=0;A<u;A++){const O=A*o[0];for(let R=0;R<c;R++){const T=O+R*o[1],S=Math.floor(R*_),F=Math.floor(S-N/2);for(let M=0;M<h;M++){const L=T+M*o[2],z=Math.floor(M*$),q=Math.floor(z-k/2);for(let J=0;J<d;J++){let re=0;for(let Y=0;Y<N;Y++){const ae=Y+F;if(ae<0||ae>=p)continue;const ne=O+ae*l[1],oe=ae*w,ce=Math.min(c-1,i?Math.round(oe):Math.floor(oe));if(R===ce)for(let ve=0;ve<k;ve++){const _e=ve+q;if(_e<0||_e>=f)continue;const $e=ne+_e*l[2],Re=_e*x,Oe=Math.min(h-1,i?Math.round(Re):Math.floor(Re));M===Oe&&(re+=v[$e+J])}}g[L+J]=re}}}}return n.makeTensorInfo(s.shape,s.dtype,g)}var gz,ame=m((()=>{C(),xe(),gz={kernelName:Tc,backendName:"cpu",kernelFunc:sme}}));function ime(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dims:a}=r;be(s,"reverse");const i=s.shape.length,o=Be(a,s.shape);if(i===0)return Vs({inputs:{x:s},backend:n});const l=new Ot(s.shape,s.dtype),u=n.bufferSync(s);for(let c=0;c<l.size;c++){const h=l.indexToLoc(c),d=h.slice();o.forEach(p=>d[p]=s.shape[p]-1-d[p]),l.set(u.get(...d),...h)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}var vz,ome=m((()=>{C(),xe(),Sa(),vz={kernelName:xl,backendName:"cpu",kernelFunc:ime}})),yz,lme=m((()=>{C(),yz={kernelName:qc,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:r}=e,{radians:s,fillValue:a,center:i}=t,o=n,l=un(r.dtype,te(r.shape)),[u,c,h,d]=r.shape,[p,f]=I1(i,c,h),g=255,v=Math.sin(s),y=Math.cos(s),b=o.data.get(r.dataId).values;for(let w=0;w<u;w++){const x=w*h*c*d;for(let _=0;_<c;_++){const $=_*(h*d);for(let N=0;N<h;N++){const k=N*d;for(let A=0;A<d;A++){const O=[u,_,N,A],R=O[2],T=O[1];let S=(R-p)*y-(T-f)*v,F=(R-p)*v+(T-f)*y;S=Math.round(S+p),F=Math.round(F+f);let M=a;if(typeof a!="number"&&(A===3?M=g:M=a[A]),S>=0&&S<h&&F>=0&&F<c){const z=F*(h*d),q=S*d;M=b[x+z+q+A]}const L=x+$+k+A;l[L]=M}}}}return{dataId:o.write(l,r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}}})),bz,xz,ume=m((()=>{C(),qe(),bz=ot(ii,e=>{const t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2===0?t:t+1}),xz={kernelName:ii,backendName:"cpu",kernelFunc:bz}}));function cme(e){const{inputs:t,backend:n,attrs:r}=e,{indices:s,updates:a}=t,{shape:i}=r,{sliceRank:o,numUpdates:l,sliceSize:u,strides:c,outputSize:h}=qi(a,s,i),d=!0,p=n.bufferSync(s),f=n.bufferSync(a),g=Tu(p,f,i,h,u,l,o,c,0,d);return n.makeTensorInfo(i,g.dtype,g.values)}var wz,hme=m((()=>{C(),Ib(),wz={kernelName:Ac,backendName:"cpu",kernelFunc:cme}}));function dme(e,t){let n=0,r=e.length,s=0;for(;n<r;)s=Math.floor((n+r)/2),e[s]<t?n=s+1:r=s;return r}function pme(e,t){let n=0,r=e.length,s=0;for(;n<r;)s=Math.floor((n+r)/2),e[s]<=t?n=s+1:r=s;return r}function fme(e,t,n,r,s,a){const i=Dt("int32",n*s);for(let o=0;o<n;++o){const l=e.slice(o*r,(o+1)*r),u=o*s;for(let c=0;c<s;++c)i[u+c]=a==="left"?dme(l,t[c+u]):pme(l,t[c+u])}return i}var mme=m((()=>{C()}));function gme(e){const{inputs:t,backend:n,attrs:r}=e,{sortedSequence:s,values:a}=t,{side:i}=r,o=n.data.get(s.dataId).values,l=n.data.get(a.dataId).values,u=fme(o,l,s.shape[0],s.shape[1],a.shape[1],i);return n.makeTensorInfo(a.shape,"int32",u)}var _z,vme=m((()=>{C(),mme(),_z={kernelName:Dc,backendName:"cpu",kernelFunc:gme}}));function yme(e){const{inputs:t,backend:n}=e,{condition:r,t:s,e:a}=t;be([r,s,a],"select");const i=r.shape.length,o=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,u=n.data.get(a.dataId).values,c=zn(s.dtype,a.dtype),h=xn(te(s.shape),c);let d=0;const p=i===0||i>1||s.shape.length===1?1:te(s.shape.slice(1));for(let f=0;f<o.length;f++)for(let g=0;g<p;g++)o[f]===1?h[d++]=l[f]:h[d++]=u[f];return n.makeTensorInfo(s.shape,c,h)}var Sz,bme=m((()=>{C(),xe(),Sz={kernelName:wl,backendName:"cpu",kernelFunc:yme}})),Iz,Nz,Cz,$z,xme=m((()=>{C(),qe(),Iz=ef,Nz=tf,Cz=ot(li,e=>e>=0?Nz*e:Iz*(Math.exp(e)-1)),$z={kernelName:li,backendName:"cpu",kernelFunc:Cz}})),kz,Tz,wme=m((()=>{C(),qe(),kz=ot(ci,e=>e<0?-1:e>0?1:0),Tz={kernelName:ci,backendName:"cpu",kernelFunc:kz}})),Ez,Az,_me=m((()=>{C(),qe(),Ez=ot("Sin",e=>Math.sin(e)),Az={kernelName:"Sin",backendName:"cpu",kernelFunc:Ez}})),Rz,Dz,Sme=m((()=>{C(),qe(),Rz=ot(ui,e=>Math.sinh(e)),Dz={kernelName:ui,backendName:"cpu",kernelFunc:Rz}})),jS,Oz,Fz,Ime=m((()=>{C(),qe(),jS=Math.log(11920928955078125e-23)+2,Oz=ot(di,e=>{const t=e>-jS,n=e<jS,r=Math.exp(e);let s;return n?s=r:t?s=e:s=Math.log(1+r),s}),Fz={kernelName:di,backendName:"cpu",kernelFunc:Oz}}));function Nme(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,paddings:i}=r;be([s],"spaceToBatchND");const o=te(a),l=[[0,0]];l.push(...i);for(let v=1+a.length;v<s.shape.length;++v)l.push([0,0]);const u=HS.kernelFunc({inputs:{x:s},backend:n,attrs:{paddings:l,constantValue:0}}),c=Zp(u.shape,a,o,!1),h=Jp(c.length,a.length,!1),d=Qp(u.shape,a,o,!1),p=bt({inputs:{x:u},backend:n,attrs:{shape:c}}),f=sr({inputs:{x:p},backend:n,attrs:{perm:h}}),g=bt({inputs:{x:f},backend:n,attrs:{shape:d}});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),g}var Lz,Cme=m((()=>{C(),xe(),rz(),kn(),$r(),Lz={kernelName:Sl,backendName:"cpu",kernelFunc:Nme}}));function $me(e){const{inputs:t,backend:n}=e,{indices:r,values:s,denseShape:a,defaultValue:i}=t;if(a.shape.length!==1)throw new Error(`Dense shape must be a vector, saw:
|
|
47
|
+
============================`));const s={id:this.nextDataId()};return this.data.set(s,{values:t,dtype:r,refCount:1}),s}makeTensorInfo(t,n,r){let s;if(n==="string"&&r!=null&&r.length>0&&bs(r[0])){const a=r.map(i=>xs(i));s=this.write(a,t,n)}else s=this.write(r,t,n);return{dataId:s,shape:t,dtype:n}}refCount(t){return this.data.has(t)?this.data.get(t).refCount:0}incRef(t){const n=this.data.get(t);n.refCount++}decRef(t){if(this.data.has(t)){const n=this.data.get(t);n.refCount--}}move(t,n,r,s,a){this.data.set(t,{values:n,dtype:s,refCount:a})}numDataIds(){return this.data.numDataIds()}async read(t){return this.readSync(t)}readSync(t){const{dtype:n,complexTensorInfos:r}=this.data.get(t);if(n==="complex64"){const s=this.readSync(r.real.dataId),a=this.readSync(r.imag.dataId);return va(s,a)}return eC(this.data.get(t).values,n)}bufferSync(t){const n=this.readSync(t.dataId);if(t.dtype==="string")try{const r=n.map(s=>ea(s));return Fe(t.shape,t.dtype,r)}catch{throw new Error("Failed to decode encoded string bytes into utf-8")}return Fe(t.shape,t.dtype,n)}makeOutput(t,n,r){return Lr().makeTensorFromTensorInfo(this.makeTensorInfo(n,r,t),this)}disposeData(t,n=!1){if(this.data.has(t)){if(this.data.get(t).refCount--,!n&&this.data.get(t).refCount>0)return!1;const{complexTensorInfos:r}=this.data.get(t);r!=null&&(this.disposeData(r.real.dataId,!0),this.disposeData(r.imag.dataId,!0)),this.data.delete(t)}return!0}disposeIntermediateTensorInfo(t){this.disposeData(t.dataId)}async time(t){const n=Bt();return t(),{kernelMs:Bt()-n}}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){be([t],"where");const n=this.readSync(t.dataId);return GO(t.shape,n)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}},wb.nextDataId=0}));function HO(e){const t=new Float32Array(e.length);for(let n=0;n<e.length;++n)t[n]=Math.abs(e[n]);return t}var jO,qO,KO=m((()=>{C(),xe(),jO=e=>{const{x:t}=e.inputs,n=e.backend;be(t,"abs");let r=new Float32Array(te(t.shape));const s=n.data.get(t.dataId).values;return r=HO(s),n.makeOutput(r,t.shape,t.dtype)},qO={kernelName:"Abs",backendName:"cpu",kernelFunc:jO}}));function qt(e){return(t,n,r,s,a)=>{const i=De(t,n),o=i.length,l=Ie(i),u=te(i),c=un(a,u),h=t.length,d=n.length,p=Ie(t),f=Ie(n),g=ql(t,i),v=ql(n,i);if(g.length+v.length===0)for(let y=0;y<c.length;++y)c[y]=e(r[y%r.length],s[y%s.length]);else for(let y=0;y<c.length;++y){const b=Ro(y,o,l),w=b.slice(-h);g.forEach(N=>w[N]=0);const x=Xr(w,h,p),_=b.slice(-d);v.forEach(N=>_[N]=0);const $=Xr(_,d,f);c[y]=e(r[x],s[$])}return[c,i]}}var Kt=m((()=>{C()}));function vr(e){const{inputs:t,backend:n}=e,{real:r,imag:s}=t,a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,o=n.makeTensorInfo(r.shape,"complex64"),l=n.data.get(o.dataId);return l.complexTensorInfos={real:n.makeTensorInfo(r.shape,"float32",a),imag:n.makeTensorInfo(s.shape,"float32",i)},o}var XO,co=m((()=>{C(),XO={kernelName:Xu,backendName:"cpu",kernelFunc:vr}}));function _b(e,t,n="float32"){if(n==="complex64"){const s=_b(e,t,"float32"),a=_b(e,t,"float32");return vr({inputs:{real:s,imag:a},backend:e})}const r=xn(te(t),n);return e.makeTensorInfo(t,n,r)}var YO=m((()=>{C(),co()}));function Vs(e){const{inputs:t,backend:n}=e,{x:r}=t;return n.incRef(r.dataId),{dataId:r.dataId,shape:r.shape,dtype:r.dtype}}var ZO,Sa=m((()=>{C(),ZO={kernelName:Xa,backendName:"cpu",kernelFunc:Vs}}));function $u(e){const{inputs:t,backend:n}=e,{input:r}=t,s=n.data.get(r.dataId).complexTensorInfos.real,a=n.data.get(s.dataId).values;return n.makeTensorInfo(s.shape,s.dtype,a)}var JO,jh=m((()=>{C(),JO={kernelName:kc,backendName:"cpu",kernelFunc:$u}}));function QO(e,t,n,r){if(r==="int32")return[t,"int32",Int32Array.from(e)];if(r==="bool"){const s=wi([0],n),[a,i]=qt((o,l)=>o!==l?1:0)(t,[],e,s,"bool");return[i,"bool",a]}throw new Error(`Error in Cast: failed to cast ${n} to ${r}`)}function ho(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dtype:a}=r;if(a==="complex64"){if(s.dtype==="complex64")return Vs({inputs:{x:s},backend:n});const c=_b(n,s.shape,s.dtype),h=ho({inputs:{x:s},backend:n,attrs:{dtype:"float32"}}),d=vr({inputs:{real:h,imag:c},backend:n});return n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),d}if(s.dtype==="complex64"){const c=$u({inputs:{input:s},backend:n}),h=ho({inputs:{x:c},backend:n,attrs:{dtype:a}});return n.disposeIntermediateTensorInfo(c),h}if(!Sx(s.dtype,a)){const c=Vs({inputs:{x:s},backend:n});return{dataId:c.dataId,shape:c.shape,dtype:a}}const i=n.data.get(s.dataId).values,[o,l,u]=QO(i,s.shape,s.dtype,a);return n.makeTensorInfo(o,l,u)}var eF,qh=m((()=>{C(),Kt(),YO(),co(),Sa(),jh(),eF={kernelName:Ba,backendName:"cpu",kernelFunc:ho}}));function on(e,t,n,r){return n==null?({inputs:s,backend:a})=>{const{a:i,b:o}=s,l=a;be([i,o],e);const u=l.data.get(i.dataId).values,c=l.data.get(o.dataId).values,h=i.dtype==="string"?ya(u):u,d=i.dtype==="string"?ya(c):c,p=r||i.dtype,[f,g]=t(i.shape,o.shape,h,d,p);return l.makeTensorInfo(g,p,f)}:({inputs:s,backend:a})=>{const{a:i,b:o}=s,l=a;if(i.dtype==="complex64"||o.dtype==="complex64"){const u=ho({inputs:{x:i},backend:l,attrs:{dtype:"complex64"}}),c=l.data.get(u.dataId),h=c.complexTensorInfos.real,d=c.complexTensorInfos.imag,p=l.data.get(h.dataId).values,f=l.data.get(d.dataId).values,g=ho({inputs:{x:o},backend:l,attrs:{dtype:"complex64"}}),v=l.data.get(g.dataId),y=v.complexTensorInfos.real,b=v.complexTensorInfos.imag,w=l.data.get(y.dataId).values,x=l.data.get(b.dataId).values,[_,$,N]=n(i.shape,o.shape,p,f,w,x),k=l.makeTensorInfo(N,"float32",_),A=l.makeTensorInfo(N,"float32",$),O=vr({inputs:{real:k,imag:A},backend:l});return l.disposeIntermediateTensorInfo(u),l.disposeIntermediateTensorInfo(g),l.disposeIntermediateTensorInfo(k),l.disposeIntermediateTensorInfo(A),O}else{const u=l.data.get(i.dataId).values,c=l.data.get(o.dataId).values,h=r||i.dtype,[d,p]=t(i.shape,o.shape,u,c,h);return l.makeTensorInfo(p,h,d)}}}function eS(e){return(t,n,r,s,a,i)=>{const o=De(t,n),l=te(o),u=o.length,c=Ie(o),h=un("float32",l),d=un("float32",l),p=ql(t,o),f=ql(n,o),g=va(r,s),v=va(a,i),y=t.length,b=Ie(t),w=n.length,x=Ie(n);if(p.length+f.length===0)for(let _=0;_<h.length;_++){const $=_%g.length,N=_%v.length,k=e(g[$*2],g[$*2+1],v[N*2],v[N*2+1]);h[_]=k.real,d[_]=k.imag}else for(let _=0;_<h.length;_++){const $=Ro(_,u,c),N=$.slice(-y);p.forEach(T=>N[T]=0);const k=Xr(N,y,b),A=$.slice(-w);f.forEach(T=>A[T]=0);const O=Xr(A,w,x),R=e(g[k*2],g[k*2+1],v[O*2],v[O*2+1]);h[_]=R.real,d[_]=R.imag}return[h,d,o]}}var ln=m((()=>{C(),xe(),qh(),co()})),tS,tF,ku,nF,Kh=m((()=>{C(),Kt(),ln(),tS=qt(((e,t)=>e+t)),tF=eS(((e,t,n,r)=>({real:e+n,imag:t+r}))),ku=on("Add",tS,tF),nF={kernelName:"Add",backendName:"cpu",kernelFunc:ku}}));function nS(e,t,n,r,s){const a=te(r),i=xn(s,n);for(let o=0;o<e.length;o++){const l=e[o];if(l<0)throw new Error("Input x must be non-negative!");l>=s||(a>0?i[l]+=t[o]:i[l]+=1)}return i}function rF(e,t,n,r=!1){const s=e.shape[0],a=e.shape[1],i=Fe([s,n],t.dtype);for(let o=0;o<s;o++)for(let l=0;l<a;l++){const u=e.get(o,l);if(u<0)throw new Error("Input x must be non-negative!");u>=n||(r?i.set(1,o,u):t.size>0?i.set(i.get(o,u)+t.get(o,l),o,u):i.set(i.get(o,u)+1,o,u))}return i}var rS=m((()=>{C()})),sS,sF,aF,iF=m((()=>{C(),Kt(),ln(),sS=qt(((e,t)=>e&t)),sF=on(Bo,sS),aF={kernelName:Bo,backendName:"cpu",kernelFunc:sF}}));function Ws(e){return(t,n,r)=>{const s=Dt(n,t.length);for(let a=0;a<t.length;++a)s[a]=e(t[a],r);return s}}var Us=m((()=>{C()}));function ot(e,t,n){return po(e,Ws(t),n)}function po(e,t,n){return({inputs:r,attrs:s,backend:a})=>{const{x:i}=r;be(i,e);const o=a,l=o.data.get(i.dataId).values;let u;if(i.dtype==="string"){if(!Array.isArray(l))throw new Error("String tensor's value was not an instance of Array");u=ya(l)}else u=l;const c=n||i.dtype,h=t(u,c,s);return o.makeTensorInfo(i.shape,c,h)}}var qe=m((()=>{C(),xe(),Us()})),aS,oF,lF,uF=m((()=>{C(),Us(),qe(),aS=Ws(e=>Math.ceil(e)),oF=po(Va,aS),lF={kernelName:Va,backendName:"cpu",kernelFunc:oF}}));function cF(e,t,n,r){const s=Dt(n,te(t));if(r&&n!=="string"){let a=0;e.forEach(i=>{const o=te(i.shape);s.set(i.vals,a),a+=o})}else{let a=0;e.forEach(i=>{const o=n==="string"?ya(i.vals):i.vals;let l=0;for(let u=0;u<i.shape[0];++u){const c=u*t[1]+a;for(let h=0;h<i.shape[1];++h)s[c+h]=o[l++]}a+=i.shape[1]})}return s}var hF=m((()=>{C()})),iS,oS,dF,lS=m((()=>{C(),Kt(),ln(),iS=qt((e,t)=>e===t?1:0),oS=on(Xo,iS,null,"bool"),dF={kernelName:Xo,backendName:"cpu",kernelFunc:oS}})),uS,cS,pF,hS=m((()=>{C(),Us(),qe(),uS=Ws(e=>Math.exp(e)),cS=po("Exp",uS,"float32"),pF={kernelName:"Exp",backendName:"cpu",kernelFunc:cS}})),dS,fF,mF,gF=m((()=>{C(),Us(),qe(),dS=Ws(e=>Math.expm1(e)),fF=po(Ha,dS),mF={kernelName:Ha,backendName:"cpu",kernelFunc:fF}})),pS,vF,yF,bF=m((()=>{C(),Us(),qe(),pS=Ws(e=>Math.floor(e)),vF=po(ja,pS),yF={kernelName:ja,backendName:"cpu",kernelFunc:vF}})),fS,xF,wF,_F=m((()=>{C(),Kt(),ln(),fS=qt((e,t)=>Math.floor(e/t)),xF=on(qa,fS,null,"int32"),wF={kernelName:qa,backendName:"cpu",kernelFunc:xF}}));function SF(e,t,n,r,s,a,i,o,l){const u=Fe([r,a],n);for(let c=0;c<r;c++){const h=[];let d=0;for(let p=0;p<s;p++){const f=e[c*s+p];d+=f*i[p],h.push(f)}if(d<0||d>=l/a)throw new Error(`Invalid indices: ${h} does not index into ${o}`);for(let p=0;p<a;p++)u.values[c*a+p]=t.get(...t.indexToLoc(d*a+p))}return u}var IF=m((()=>{C()}));function NF(e,t,n){const r=Fe(n,e.dtype);for(let s=0;s<r.size;++s){const a=r.indexToLoc(s).slice(),i=a[0],o=a[2],l=t.locToIndex([i,o]);a[2]=t.values[l];const u=e.locToIndex(a);0<=u&&u<e.values.length&&(r.values[s]=e.values[u])}return r}var CF=m((()=>{C()})),mS,$F,kF,TF=m((()=>{C(),Kt(),ln(),mS=qt((e,t)=>e>t?1:0),$F=on(Qo,mS,null,"bool"),kF={kernelName:Qo,backendName:"cpu",kernelFunc:$F}})),gS,EF,AF,RF=m((()=>{C(),Kt(),ln(),gS=qt((e,t)=>e>=t?1:0),EF=on(Ka,gS,null,"bool"),AF={kernelName:Ka,backendName:"cpu",kernelFunc:EF}})),vS,DF,OF,FF=m((()=>{C(),Kt(),ln(),vS=qt((e,t)=>e<t?1:0),DF=on(tl,vS,null,"bool"),OF={kernelName:tl,backendName:"cpu",kernelFunc:DF}})),yS,LF,PF,MF=m((()=>{C(),Kt(),ln(),yS=qt((e,t)=>e<=t?1:0),LF=on(nl,yS,null,"bool"),PF={kernelName:nl,backendName:"cpu",kernelFunc:LF}}));function zF(e,t,n){const r=(t-e)/(n-1),s=xn(n,"float32");s[0]=e;for(let a=1;a<s.length;a++)s[a]=s[a-1]+r;return s}var BF=m((()=>{C()})),bS,VF,WF,UF=m((()=>{C(),Us(),qe(),bS=Ws(e=>Math.log(e)),VF=po("Log",bS),WF={kernelName:"Log",backendName:"cpu",kernelFunc:VF}}));function GF(e,t,n,r){const s=un(r,te(n));for(let a=0;a<s.length;++a){const i=a*t;let o=e[i];for(let l=0;l<t;++l){const u=e[i+l];(Number.isNaN(u)||u>o)&&(o=u)}s[a]=o}return s}var HF=m((()=>{C()})),xS,jF,qF,KF=m((()=>{C(),Kt(),ln(),xS=qt(((e,t)=>Math.max(e,t))),jF=on(ei,xS),qF={kernelName:ei,backendName:"cpu",kernelFunc:jF}})),wS,XF,YF,ZF=m((()=>{C(),Kt(),ln(),wS=qt(((e,t)=>Math.min(e,t))),XF=on(ti,wS),YF={kernelName:ti,backendName:"cpu",kernelFunc:XF}})),Sb,JF,qf,QF,Xh=m((()=>{C(),Kt(),ln(),Sb=qt(((e,t)=>e*t)),JF=eS(((e,t,n,r)=>({real:e*n-t*r,imag:e*r+t*n}))),qf=on(ni,Sb,JF),QF={kernelName:ni,backendName:"cpu",kernelFunc:qf}}));function eL(e,t,n){const r=Qs(-1,n);return Sb([],t,r,e,n)}function rde(e){const{inputs:t,backend:n}=e,{x:r}=t;be(r,"neg");const s=n.data.get(r.dataId).values,[a,i]=eL(s,r.shape,r.dtype);return n.makeTensorInfo(i,r.dtype,a)}var tL,nL=m((()=>{C(),xe(),Xh(),tL={kernelName:"Neg",backendName:"cpu",kernelFunc:rde}})),_S,rL,sL,aL=m((()=>{C(),Kt(),ln(),_S=qt(((e,t)=>e!==t?1:0)),rL=on(cl,_S,null,"bool"),sL={kernelName:cl,backendName:"cpu",kernelFunc:rL}}));function SS(e,t,n,r,s){const a=t.length,i=te(t),o=Ie(t),l=Ie(s),u=un(n,te(s));for(let c=0;c<i;++c){const h=Ro(c,a,o),d=new Array(h.length);for(let f=0;f<d.length;f++)d[f]=h[r[f]];const p=Xr(d,a,l);u[p]=e[c]}return u}var IS=m((()=>{C()}));function sr(e){const{inputs:t,attrs:n,backend:r}=e,{x:s}=t,{perm:a}=n;be(s,"transpose");const i=s.shape.length,o=new Array(i);for(let c=0;c<o.length;c++)o[c]=s.shape[a[c]];const l=r.data.get(s.dataId).values,u=SS(l,s.shape,s.dtype,a,o);return{dataId:r.write(u,o,s.dtype),shape:o,dtype:s.dtype}}var iL,$r=m((()=>{C(),xe(),IS(),iL={kernelName:Js,backendName:"cpu",kernelFunc:sr}}));function oL(e,t,n,r){const[s,a]=pn(e,r),i=zn(t,"int32"),o=xn(te(s),i),l=te(a);for(let u=0;u<o.length;++u){const c=u*l;let h=1;for(let d=0;d<l;++d)h*=n[c+d];o[u]=h}return{outVals:o,outShape:s,outDtype:i}}function sde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"prod");const o=s.shape.length,l=Be(a,s.shape),u=kt(l,o);let c=l,h=s;const d=[];u!=null&&(h=sr({inputs:{x:s},backend:n,attrs:{perm:u}}),d.push(h),c=Wt(c.length,o));const p=n.data.get(h.dataId).values,{outVals:f,outShape:g,outDtype:v}=oL(h.shape,h.dtype,p,c);let y=g;return i&&(y=Vt(g,l)),d.forEach(b=>n.disposeIntermediateTensorInfo(b)),n.makeTensorInfo(y,v,f)}var lL,uL=m((()=>{C(),xe(),$r(),lL={kernelName:gl,backendName:"cpu",kernelFunc:sde}}));function ade(e,t,n){e.forEach((r,s)=>{if(r<0||r>=n){const a=Ro(s,t.length,Ie(t)).join(",");throw new Error(`indices[${a}] = ${r} is not in [0, ${n})`)}})}function ide(e,t){for(let n=0;n<e.length;++n){const r=e[n],s=n===e.length-1?t:e[n+1].length;if(r.length===0)throw new Error("Ragged splits may not be empty");if(r[0]<0)throw new Error("Ragged splits must be non-negative");if(r[r.length-1]>s)throw new Error("Ragged splits must not point past values");for(let a=1;a<r.length;++a)if(r[a-1]>r[a])throw new Error("Ragged splits must be sorted in ascending order")}}function ode(e,t,n,r){const s=[];let a=0;const i=t.length-1+n.length,o=new Array(i).fill(null).map(()=>[0]);ide(n,r);let l=1;for(let u=0;u<t.length-1;++u){l*=t[u];const c=t[u+1];for(let h=1;h<l+1;++h)o[u].push(h*c)}for(let u=0;u<e.length;++u){let c=e[u],h=e[u]+1;for(let d=0;d<n.length;++d){const p=n[d],f=d+t.length-1;if(f>=0){const g=o[f],v=g[g.length-1]-p[c];for(let y=c;y<h;++y)o[f].push(p[y+1]+v)}c=p[c],h=p[h]}h!==c&&(s.push([c,h]),a+=h-c)}return{outSplits:o,valueSlices:s,numValues:a}}function lde(e){const t=[];for(let n=0;n<e.length;++n){const r=e[n].length,s=Dt("int32",r);t.push(s),e[n].forEach((a,i)=>s[i]=a)}return t}function cL(e,t){const n=e.slice(0,t);for(;n.length<t;)n.push(1);for(let r=t;r<e.length;r++)n[t-1]*=e[r];return n}function ude(e,t,n,r,s,a){const i=cL(t,2)[1],o=cL(a,2)[1];let l=0;for(const u of n)for(let c=u[0];c<u[1];++c){for(let h=0;h<r;++h)s[l*o+h]=e[c*i+h];++l}}function cde(e,t,n,r,s){const a=t.slice();a[0]=s;const i=Dt(n,te(a)),o=e.length;return ude(e,t,r,o===0?0:o/t[0],i,a),[i,a]}function hL(e,t,n,r,s,a,i,o){if(e.length===0)throw new Error("paramsNestedSplits must be non empty");if(t[0].length===0)throw new Error("Split tensors must not be scalars");if(ade(a,i,t[0][0]-1),r.length===0)throw new Error("params.rank must be nonzero");const l=r[0],{outSplits:u,valueSlices:c,numValues:h}=ode(a,i,e,l),d=lde(u),p=cde(n,r,s,c,h);return[d,p[0],p[1]]}var dL=m((()=>{C()}));function pL(e,t,n,r,s,a,i){if(t.length>1)throw new Error("starts must be a scalar or vector");if(s.length>1)throw new Error("limits must be a scalar or vector");if(i.length>1)throw new Error("deltas must be a scalar or vector");const o=t.length===0,l=s.length===0,u=i.length===0,c=[];o||c.push(t[0]),l||c.push(s[0]),u||c.push(i[0]);for(let v=1;v<c.length;++v)if(c[v]!==c[v-1])throw new Error("starts, limits, and deltas must have the same shape");const h=c.length===0?1:c[0],d=Dt("int32",h+1);d[0]=0;for(let v=0;v<h;++v){const y=o?e[0]:e[v],b=l?r[0]:r[v],w=u?a[0]:a[v];if(w===0)throw new Error("Requires delta != 0");let x;if(w>0&&b<y||w<0&&b>y)x=0;else if(x=Math.ceil(Math.abs((b-y)/w)),x>NS)throw new Error(`Requires ((limit - start) / delta) <= ${NS}`);d[v+1]=d[v]+x}const p=d[h],f=Dt(n,p);let g=0;for(let v=0;v<h;++v){const y=d[v+1]-d[v];let b=o?e[0]:e[v];const w=u?a[0]:a[v];for(let x=0;x<y;++x)f[g++]=b,b+=w}return[d,f]}var NS,fL=m((()=>{C(),NS=2147483647}));function mL(e,t,n){for(let r=0;r<n;r++)e[r]=t[r]}function gL(e,t){const n=[];for(let r of e){if(r<0){if(!t)throw new Error(`Dimension ${r} must be >= 0`);if(r<-1)throw new Error(`Dimension ${r} must be >= -1`);r=-1}n.push(r)}return n}function vL(e,t,n,r,s,a,i,o,l,u){return new yL(e,t,n,r,s,a,i,o,l,u).compute()}var kr,yL,bL=m((()=>{C(),kr=ss,yL=class WN{constructor(t,n,r,s,a,i,o,l,u,c){this.shape=t,this.shapeShape=n,this.values=r,this.valuesShape=s,this.valuesDType=a,this.defaultValue=i,this.defaultValueShape=o,this.rowPartitionValues=l,this.rowPartitionValuesShapes=u,this.rowPartitionTypes=HT(c),this.raggedRank=jT(this.rowPartitionTypes)}getRowPartitionTypeByDimension(t){return this.rowPartitionTypes[0]===kr.FIRST_DIM_SIZE?this.rowPartitionTypes[t+1]:this.rowPartitionTypes[t]}getRowPartitionTensor(t){return this.rowPartitionTypes[0]===kr.FIRST_DIM_SIZE?this.rowPartitionValues[t+1]:this.rowPartitionValues[t]}getMaxWidth(t){const n=this.getRowPartitionTensor(t-1);switch(this.getRowPartitionTypeByDimension(t-1)){case kr.VALUE_ROWIDS:return WN.getMaxWidthValueRowID(n);case kr.ROW_SPLITS:return WN.getMaxWidthRowSplit(n);default:throw new Error(`Cannot handle partition type ${kr[this.getRowPartitionTypeByDimension(t-1)]}`)}}static getMaxWidthRowSplit(t){const n=t.length;if(n===0||n===1)return 0;let r=0;for(let s=0;s<n-1;++s){const a=t[s+1]-t[s];a>r&&(r=a)}return r}static getMaxWidthValueRowID(t){const n=t.length;if(n===0)return 0;let r=0,s=t[0],a=0;for(let i=1;i<n;++i){const o=t[i];o!==s&&(s=o,a=Math.max(i-r,a),r=i)}return Math.max(n-r,a)}tensorShapeFromTensor(t,n,r=!0){if(n.length===0){if(t[0]===-1)return[];throw new Error("The only valid scalar shape tensor is the fully unknown shape specified as -1.")}return gL(t,r)}calculateOutputSize(t){const n=this.valuesShape,r=this.defaultValueShape;qT(r,n);const s=this.tensorShapeFromTensor(this.shape,this.shapeShape),a=GT(this.raggedRank,s,n);a[0]<0&&(a[0]=t);for(let i=1;i<=this.raggedRank;++i)a[i]<0&&(a[i]=this.getMaxWidth(i));return a}calculateFirstParentOutputIndex(t,n,r){const s=Math.min(t,r),a=[];let i=0;for(let o=0;o<s;++o,i+=n)a.push(i);for(let o=s;o<t;++o)a.push(-1);return E(a.length===t,()=>"Final length of result must be equal to firstDimension."),a}calculateOutputIndexRowSplit(t,n,r,s){const a=t.length,i=[];for(let o=0;o<a-1;++o){const l=t[o+1]-t[o];let u=Math.min(s,l),c=n[o];c===-1&&(u=0);for(let h=0;h<u;++h)i.push(c),c+=r;for(let h=0;h<l-u;++h)i.push(-1)}if(a>0&&i.length!==t[a-1])throw new Error("Invalid row split size.");return i}calculateOutputIndexValueRowID(t,n,r,s){const a=t.length,i=[];if(a===0)return[];let o=0,l=t[0];if(l>=n.length)throw new Error(`Got currentValueRowId=${l}, which is not less than ${n.length}`);let u=n[l];i.push(u);for(let c=1;c<a;++c){const h=t[c];if(h===l)u>=0&&(++o,o<s?u+=r:u=-1);else{if(o=0,l=h,h>=n.length)throw new Error(`Got nextValueRowId=${h} which is not less than ${n.length}`);u=n[h]}i.push(u)}if(i.length!==t.length)throw new Error("Invalid row ids.");return i}calculateOutputIndex(t,n,r,s){const a=this.getRowPartitionTensor(t),i=this.getRowPartitionTypeByDimension(t);switch(i){case kr.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(a,n,r,s);case kr.ROW_SPLITS:if(a.length-1>n.length)throw new Error(`Row partition size is greater than output size: ${a.length-1} > ${n.length}`);return this.calculateOutputIndexRowSplit(a,n,r,s);default:throw new Error(`Unsupported partition type: ${kr[i]}`)}}getFirstDimensionSize(){const t=this.rowPartitionValues[0];if(this.rowPartitionTypes.length===0)throw new Error("No row_partition_types given.");const n=this.rowPartitionTypes[0];switch(n){case kr.FIRST_DIM_SIZE:return t[0];case kr.VALUE_ROWIDS:throw new Error("Cannot handle VALUE_ROWIDS in first dimension.");case kr.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${kr[n]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error("Invalid first partition input. Tensor requires at least one element.");const t=this.getFirstDimensionSize(),n=this.calculateOutputSize(t),r=new Array(this.raggedRank+1);r[r.length-1]=1;for(let i=r.length-2;i>=0;--i)r[i]=r[i+1]*n[i+1];const s=gL(n,!1),a=Dt(this.valuesDType,te(s));if(r[0]*n[0]>0){let i=this.calculateFirstParentOutputIndex(t,r[0],n[0]);for(let o=1;o<=this.raggedRank;++o)i=this.calculateOutputIndex(o-1,i,r[o],n[o]);this.setOutput(this.raggedRank,i,a,s)}return[s,a]}setOutput(t,n,r,s){if(r.length===0)return;const a=this.values,i=r;let o=s.slice();o=o.slice(t+1);const l=te(o),u=n.length;let c=this.defaultValue;if(c.length!==l&&c.length!==1){const f=this.defaultValueShape;K(()=>{const g=H(c,f);c=oa(g,o).dataSync()})}let h=0,d=0,p=0;for(let f=0;f<=u;++f){let g=f<u?n[f]:-1;if(g===p){++p;continue}if(d<p){const v=a.subarray(h*l);mL(i.subarray(d*l),v,(p-d)*l)}if(f>=u){const v=r.length;g=Math.floor(v/l)}if(g>p)if(this.defaultValue.length===1)i.subarray(p*l,g*l).fill(this.defaultValue[0]),p=g;else for(;g>p;)mL(i.slice(p*l),c,l),++p;g<0?(h=f+1,d=p):(h=f,d=p,p=d+1)}}}}));function xL(e,t,n,r){if(e===t||e<t&&n<0||t<e&&n>1)return xn(0,r);const s=Math.abs(Math.ceil((t-e)/n)),a=xn(s,r);t<e&&n===1&&(n=-1),a[0]=e;for(let i=1;i<a.length;i++)a[i]=a[i-1]+n;return a}var wL=m((()=>{C()})),CS,_L,SL,IL=m((()=>{C(),Us(),qe(),CS=Ws(e=>1/Math.sqrt(e)),_L=po(oi,CS),SL={kernelName:oi,backendName:"cpu",kernelFunc:_L}}));function Tu(e,t,n,r,s,a,i,o,l,u){const c=[r/s,s],h=e.values,d=t.values;if(r===0)return Fe(n,t.dtype);const p=l instanceof Ot?l:Fe(c,t.dtype);typeof l=="string"||typeof l=="number"?p.values.fill(l):typeof l=="boolean"&&p.values.fill(+l);for(let f=0;f<a;f++){const g=[];let v=0;for(let y=0;y<i;y++){const b=h[f*i+y];g.push(b),v+=b*o[y]}if(v<0||v>=r/s)throw new Error(`Invalid indices: ${g} does not index into ${n}`);for(let y=0;y<s;y++)u?p.values[v*s+y]+=d[f*s+y]:p.values[v*s+y]=t.rank===0?d[0]:d[f*s+y]}return p}var Ib=m((()=>{C()})),NL,$S,CL,kS=m((()=>{C(),Us(),qe(),NL=Ws(e=>1/(1+Math.exp(-e))),$S=ot(hi,e=>1/(1+Math.exp(-e))),CL={kernelName:hi,backendName:"cpu",kernelFunc:$S}}));function $L(e,t,n,r,s){const a=b1(r,t,n),i=te(n),o=Ie(r);if(a){const h=x1(t,o);return s==="string"?e.slice(h,h+i):e.subarray(h,h+i)}const l=s==="string"?ya(e):e,u=Fe(r,s,l),c=Fe(n,s);for(let h=0;h<c.size;++h){const d=c.indexToLoc(h),p=d.map((f,g)=>f+t[g]);c.set(u.get(...p),...d)}return s==="string"?g2(c.values):c.values}function Eu(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{begin:a,size:i}=r;be(s,"slice");const[o,l]=yv(s,a,i);v1(s,o,l);const u=n.data.get(s.dataId).values,c=$L(u,o,l,s.shape,s.dtype);return n.makeTensorInfo(l,s.dtype,c)}var kL,Au=m((()=>{C(),xe(),kL={kernelName:_l,backendName:"cpu",kernelFunc:Eu}}));function TL(e,t,n,r,s,a,i){const o=t[0],l=a[0],u=new Array(l),c=new Array(o),h=t[1];if(l===0){if(o!==0)throw new Error(r2(o));const v=Dt(n,0),y=Dt(s,0);return[v,[0,h],y,u,c]}let d=!0,p=0;const f=new Array(l).fill(0);for(let v=0;v<o;++v){const y=e[v*h];if(y<0)throw new Error(s2(v,y));if(y>=l)throw new Error(a2(v,y,l));++f[y],d=d&&y>=p,p=y}let g=!0;for(let v=0;v<l;++v){const y=f[v]===0;u[v]=y,g=g&&!y,f[v]=Math.max(f[v],1),v>0&&(f[v]+=f[v-1])}if(g&&d){const v=e,y=r;for(let b=0;b<o;++b)c[b]=b;return[v,[o,h],y,u,c]}else{const v=f[l-1],y=Dt(n,v*h),b=Dt(s,v),w=new Array(l).fill(0);for(let x=0;x<o;++x){const _=e[x*h],$=w[_],N=(_===0?0:f[_-1])+$;w[_]++;for(let k=0;k<h;++k)y[N*h+k]=e[x*h+k];b[N]=r[x],c[x]=N}for(let x=0;x<l;++x)if(w[x]===0){const _=x===0?0:f[x-1];y[_*h+0]=x;for(let $=1;$<h;++$)y[_*h+$]=0;b[_]=i}return[y,[v,h],b,u,c]}}var EL=m((()=>{C()}));function AL(e,t,n,r,s){const a=te(r),i=t[0],o=s.length,l=[];let u=1,c=-1;for(let g=0;g<o;++g){const v=s[g];if(v===-1){if(c!==-1)throw new Error(i2(c,g));c=g,l.push(1)}else{if(v<0)throw new Error(o2(g,v));u*=v,l.push(v)}}if(c!==-1){if(u<=0)throw new Error(l2());const g=Math.trunc(a/u);if(u*g!==a)throw new Error(u2(r,l));l[c]=g}if(te(l)!==a)throw new Error(c2(r,l));const h=r.length,d=[];if(h>0){d[h-1]=1;for(let g=h-2;g>=0;--g)d[g]=d[g+1]*r[g+1]}const p=[];if(o>0){p[o-1]=1;for(let g=o-2;g>=0;--g)p[g]=p[g+1]*l[g+1]}const f=Dt(n,i*o);for(let g=0;g<i;++g){let v=0;for(let y=0;y<h;++y)v+=e[g*h+y]*d[y];for(let y=0;y<o;++y)f[g*o+y]=Math.trunc(v/p[y]),v%=p[y]}return[f,[i,o],l]}var RL=m((()=>{C()}));function TS(e,t,n,r,s,a=!1,i=0){const o=r.length,l=[t[0],e.length/t[0]],u=l[1],c=o>0?s[o-1]+1:0;if(c<0)throw new Error(P1());const h=t.slice();h[0]=c;const d=h.reduce((b,w)=>b*w,1),p=Dt(n,d);if(o===0)return c>0&&p.fill(i),[p,h];if(c<=0)throw new Error(P1());let f=0,g=1,v=0,y=s[f];for(;;){let b=0;if(g<o){if(b=s[g],y===b){++g;continue}if(y>=b)throw new Error(h2())}if(y<0||y>=c)throw new Error(d2(y,c));y>v&&p.fill(i,v*u,y*u);for(let w=f;w<g;++w){const x=r[w];if(x<0||x>=l[0])throw new Error(p2(w,r[w],l[0]));for(let _=0;_<u;_++)p[y*u+_]+=e[x*u+_]}if(a)for(let w=0;w<u;w++)p[y*u+w]/=g-f;if(f=g,++g,v=y+1,y=b,g>o)break}return v<c&&p.fill(i,v*u,c*u),[p,h]}var ES=m((()=>{C()})),DL,OL,FL,LL=m((()=>{C(),Us(),qe(),DL=Ws(e=>Math.sqrt(e)),OL=ot(pi,e=>Math.sqrt(e)),FL={kernelName:pi,backendName:"cpu",kernelFunc:OL}})),AS,PL,ML,zL=m((()=>{C(),Kt(),ln(),AS=qt(((e,t)=>{const n=e-t;return n*n})),PL=on(fi,AS),ML={kernelName:fi,backendName:"cpu",kernelFunc:PL}})),RS,BL,VL,WL=m((()=>{C(),Us(),qe(),RS=Ws((e,t)=>{const{pattern:n,replaceGlobal:r,rewrite:s}=t;return e.replace(new RegExp(n,r?"g":""),s)}),BL=po(Cl,RS),VL={kernelName:Cl,backendName:"cpu",kernelFunc:BL}}));function UL(e,t,n,r){const s=Fe(e,t.dtype);for(let a=0;a<s.size;a++){const i=s.indexToLoc(a),o=new Array(i.length);for(let l=0;l<o.length;l++)o[l]=i[l]*n[l]+r[l];s.set(t.get(...o),...i)}return s}var GL=m((()=>{C()}));function HL(e,t,n,r,s,a,i,o){return new jL(n,r,s,a,i,o).compute(e,t)}var jL,qL=m((()=>{C(),jL=class{constructor(e,t,n,r,s,a){this.separator=xs(e),this.nGramWidths=t,this.leftPad=xs(n),this.rightPad=xs(r),this.padWidth=s,this.preserveShort=a}getPadWidth(e){return Math.min(this.padWidth<0?e-1:this.padWidth,e-1)}getNumNGrams(e,t){const n=this.getPadWidth(t);return Math.max(0,e+2*n-t+1)}createNGrams(e,t,n,r,s,a){for(let i=0;i<s;++i){const o=this.getPadWidth(a),l=Math.max(0,o-i),u=Math.max(0,o-(s-(i+1))),c=a-(l+u),h=t+(l>0?0:i-o);let d=0;d+=l*this.leftPad.length;for(let y=0;y<c;++y)d+=e[h+y].length;d+=u*this.rightPad.length;const p=l+u+c-1;d+=p*this.separator.length,n[r+i]=new Uint8Array(d);const f=n[r+i];let g=0;const v=y=>y.forEach(b=>f[g++]=b);for(let y=0;y<l;++y)v(this.leftPad),v(this.separator);for(let y=0;y<c-1;++y)v(e[h+y]),v(this.separator);if(c>0){v(e[h+c-1]);for(let y=0;y<u;++y)v(this.separator),v(this.rightPad)}else{for(let y=0;y<u-1;++y)v(this.rightPad),v(this.separator);v(this.rightPad)}}}compute(e,t){const n=e.length,r=t.length;if(r>0){let o=t[0];if(o!==0)throw new Error(`First split value must be 0, got ${o}`);for(let l=1;l<r;++l){let u=t[l]>=o;if(u=u&&t[l]<=n,!u)throw new Error(`Invalid split value ${t[l]}, must be in [${o}, ${n}]`);o=t[l]}if(o!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${o}`)}const s=r-1,a=Dt("int32",r);if(n===0||r===0){const o=new Array(n);for(let l=0;l<=s;++l)a[l]=0;return[o,a]}a[0]=0;for(let o=1;o<=s;++o){const l=t[o]-t[o-1];let u=0;this.nGramWidths.forEach(c=>{u+=this.getNumNGrams(l,c)}),this.preserveShort&&l>0&&u===0&&(u=1),a[o]=a[o-1]+u}const i=new Array(a[s]);for(let o=0;o<s;++o){const l=t[o];let u=a[o];if(this.nGramWidths.forEach(c=>{const h=t[o+1]-t[o],d=this.getNumNGrams(h,c);this.createNGrams(e,l,i,u,d,c),u+=d}),this.preserveShort&&u===a[o]){const c=t[o+1]-t[o];if(c===0)continue;const h=c+2*this.padWidth;this.createNGrams(e,l,i,u,1,h)}}return[i,a]}}}));function hde(e,t,n,r){if(!e.length)return;if(t.length===0){for(let a=0;a<e.length;++a)r.push(e.subarray(a,a+1));return}if(t.length===1){const a=t[0];let i=e.indexOf(a);for(;i!==-1;){const o=e.subarray(0,i);(!n||o.length!==0)&&r.push(o),e=e.subarray(i+1),i=e.indexOf(a)}(!n||e.length!==0)&&r.push(e);return}let s=0;for(let a=0;a<e.length+1;a++)if(a===e.length||t.indexOf(e[a])!==-1){const i=e.subarray(s,a);(!n||i.length!==0)&&r.push(i),s=a+1}}function KL(e,t,n){const r=e.length,s=[];let a=0,i=0;const o=new Array(r);for(let d=0;d<r;++d){const p=s.length;hde(e[d],t,n,s);const f=s.length-p;o[d]=f,a+=f,i=Math.max(i,f)}const l=Dt("int32",a*2),u=new Array(a),c=[r,i];let h=0;for(let d=0;d<r;++d)for(let p=0;p<o[d];++p)l[h*2]=d,l[h*2+1]=p,u[h]=s[h],++h;return[l,u,c]}var XL=m((()=>{C()}));function YL(e,t){const n=Dt("int32",e.length);for(let r=0;r<e.length;++r)n[r]=uC(e[r]).modulo(t).getLowBitsUnsigned();return n}var ZL=m((()=>{C()})),DS,JL,Nb,QL,Cb=m((()=>{C(),Kt(),ln(),DS=qt(((e,t)=>e-t)),JL=eS(((e,t,n,r)=>({real:e-n,imag:t-r}))),Nb=on("Sub",DS,JL),QL={kernelName:"Sub",backendName:"cpu",kernelFunc:Nb}}));function eP(e,t){const n=new Array(e.rank);for(let s=0;s<n.length;s++)n[s]=e.shape[s]*t[s];const r=Fe(n,e.dtype);for(let s=0;s<r.values.length;++s){const a=r.indexToLoc(s),i=new Array(e.rank);for(let l=0;l<i.length;l++)i[l]=a[l]%e.shape[l];const o=e.locToIndex(i);r.values[s]=e.values[o]}return r}var tP=m((()=>{C()}));function nP(e,t,n=0,r=e.length-1){for(;r>n;){if(r-n>600){const o=r-n+1,l=t-n+1,u=Math.log(o),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(o-c)/o)*Math.sign(l-o/2);nP(e,t,Math.max(n,Math.floor(t-l*c/o+h)),Math.min(r,Math.floor(t+(o-l)*c/o+h)))}const s=e[t];let a=n,i=r;for(Xs(e,n,t),Yh(e[r],s)>0&&Xs(e,n,r);a<i;){for(Xs(e,a,i),a++,i--;Yh(e[a],s)<0;)a=a+1;for(;Yh(e[i],s)>0;)i=i-1}Yh(e[n],s)===0?Xs(e,n,i):(i=i+1,Xs(e,i,r)),i<=t&&(n=i+1),t<=i&&(r=i-1)}}function rP(e,t,n,r,s){const a=t[t.length-1],[i,o]=[e.length/a,a],l=un(n,i*r),u=un("int32",i*r);for(let h=0;h<i;h++){const d=h*o,p=e.subarray(d,d+o);let f=new Array(p.length);p.forEach((b,w)=>f[w]={value:b,index:w}),r<f.length&&(nP(f,r),f=f.slice(0,r)),s&&f.sort(Yh);const g=h*r,v=l.subarray(g,g+r),y=u.subarray(g,g+r);for(let b=0;b<r;b++)v[b]=f[b].value,y[b]=f[b].index}const c=t.slice();return c[c.length-1]=r,[Fe(c,n,l),Fe(c,"int32",u)]}var Yh,sP=m((()=>{C(),Yh=(e,t)=>{const n=t.value-e.value;return n===0?e.index-t.index:n}}));function aP(e,t,n,r){const s=Be(t,n)[0],a=[1,n[0],1];for(let f=0;f<s;f++)a[0]*=n[f];a[1]=n[s];for(let f=s+1;f<n.length;f++)a[2]*=n[f];const i=new Map,o=new Int32Array(n[s]),l=new Ot(a,r,e),u=[],c=a[0]===1&&a[2]===1;for(let f=0;f<n[s];f++){let g;if(c)g=e[f].toString();else{const y=[];for(let b=0;b<a[0];b++)for(let w=0;w<a[2];w++)y.push(l.get(b,f,w));g=y.join(",")}const v=i.get(g);if(v!=null)o[f]=v;else{const y=i.size;i.set(g,y),o[f]=y,u.push(f)}}const h=a.slice();h[1]=i.size;const d=new Ot(h,r);u.forEach((f,g)=>{for(let v=0;v<a[0];v++)for(let y=0;y<a[2];y++)d.set(l.get(v,f,y),v,g,y)});const p=n.slice();return p[s]=h[1],{outputValues:d.values,outputShape:p,indices:o}}var iP=m((()=>{C()})),oP=Te({addImpl:()=>tS,bincountImpl:()=>nS,bincountReduceImpl:()=>rF,bitwiseAndImpl:()=>sS,castImpl:()=>QO,ceilImpl:()=>aS,concatImpl:()=>cF,equalImpl:()=>iS,expImpl:()=>uS,expm1Impl:()=>dS,floorDivImpl:()=>fS,floorImpl:()=>pS,gatherNdImpl:()=>SF,gatherV2Impl:()=>NF,greaterEqualImpl:()=>gS,greaterImpl:()=>mS,lessEqualImpl:()=>yS,lessImpl:()=>vS,linSpaceImpl:()=>zF,logImpl:()=>bS,maxImpl:()=>GF,maximumImpl:()=>xS,minimumImpl:()=>wS,multiplyImpl:()=>Sb,negImpl:()=>eL,notEqualImpl:()=>_S,prodImpl:()=>oL,raggedGatherImpl:()=>hL,raggedRangeImpl:()=>pL,raggedTensorToTensorImpl:()=>vL,rangeImpl:()=>xL,rsqrtImpl:()=>CS,scatterImpl:()=>Tu,sigmoidImpl:()=>NL,simpleAbsImpl:()=>HO,sliceImpl:()=>$L,sparseFillEmptyRowsImpl:()=>TL,sparseReshapeImpl:()=>AL,sparseSegmentReductionImpl:()=>TS,sqrtImpl:()=>DL,squaredDifferenceImpl:()=>AS,staticRegexReplaceImpl:()=>RS,stridedSliceImpl:()=>UL,stringNGramsImpl:()=>HL,stringSplitImpl:()=>KL,stringToHashBucketFastImpl:()=>YL,subImpl:()=>DS,tileImpl:()=>eP,topKImpl:()=>rP,transposeImpl:()=>SS,uniqueImpl:()=>aP}),lP=m((()=>{KO(),Kh(),rS(),iF(),qh(),uF(),hF(),lS(),hS(),gF(),bF(),_F(),IF(),CF(),TF(),RF(),FF(),MF(),BF(),UF(),HF(),KF(),ZF(),Xh(),nL(),aL(),uL(),dL(),fL(),bL(),wL(),IL(),Ib(),kS(),Au(),EL(),RL(),ES(),LL(),zL(),WL(),GL(),qL(),XL(),ZL(),Cb(),tP(),sP(),IS(),iP()})),OS,dde=m((()=>{OS="4.22.0"})),pde=m((()=>{C(),nde(),lP(),dde(),zm("cpu",()=>new wb,1)})),FS,uP,cP=m((()=>{C(),qe(),FS=ot("Elu",e=>e>=0?e:Math.exp(e)-1),uP={kernelName:"Elu",backendName:"cpu",kernelFunc:FS}}));function hP(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{alpha:a}=r;be([s],"leakyRelu");const i=te(s.shape),o=n.data.get(s.dataId).values,l=un("float32",i);for(let u=0;u<o.length;u++)l[u]=o[u]<0?a*o[u]:o[u];return n.makeTensorInfo(s.shape,"float32",l)}var dP,pP=m((()=>{C(),xe(),dP={kernelName:el,backendName:"cpu",kernelFunc:hP}}));function fP(e){const{inputs:t,backend:n}=e,{x:r,alpha:s}=t;be([r,s],"prelu");const a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,[o,l]=mP(r.shape,s.shape,a,i,"float32");return n.makeTensorInfo(l,"float32",o)}var mP,gP,vP=m((()=>{C(),xe(),Kt(),mP=qt((e,t)=>e<0?t*e:e),gP={kernelName:ml,backendName:"cpu",kernelFunc:fP}})),LS,yP,bP=m((()=>{C(),qe(),LS=ot(si,e=>Math.max(0,e)),yP={kernelName:si,backendName:"cpu",kernelFunc:LS}})),PS,xP,wP=m((()=>{C(),qe(),PS=ot(ai,e=>Math.min(Math.max(0,e),6)),xP={kernelName:ai,backendName:"cpu",kernelFunc:PS}}));function $b(e,t,n,r,s){if(n==="linear")return Vs({inputs:{x:t},backend:e});if(n==="relu")return LS({inputs:{x:t},backend:e});if(n==="elu")return FS({inputs:{x:t},backend:e});if(n==="relu6")return PS({inputs:{x:t},backend:e});if(n==="prelu")return fP({inputs:{x:t,alpha:r},backend:e});if(n==="leakyrelu")return hP({inputs:{x:t},backend:e,attrs:{alpha:s}});if(n==="sigmoid")return $S({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)}var MS=m((()=>{cP(),Sa(),pP(),vP(),bP(),wP(),kS()}));function bt(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{shape:a}=r,i=te(s.shape),o=_x(a,i),l=te(o);E(i===l,()=>`The new shape (${o}) has ${l} elements and the old shape (${s.shape}) has ${i} elements. The new shape and old shape must have the same number of elements.`),n.incRef(s.dataId);const u=n.data.get(s.dataId);if(u.complexTensorInfos!=null){const c=u.complexTensorInfos.real,h=u.complexTensorInfos.imag;c.shape=o,h.shape=o}return{dataId:s.dataId,shape:o,dtype:s.dtype}}var _P,kn=m((()=>{C(),_P={kernelName:vl,backendName:"cpu",kernelFunc:bt}}));function SP(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a}=t,{transposeA:i,transposeB:o}=r;be([s,a],"matMul");const l=s.shape.length,u=a.shape.length,c=i?s.shape[l-2]:s.shape[l-1],h=o?a.shape[u-1]:a.shape[u-2],d=i?s.shape[l-1]:s.shape[l-2],p=o?a.shape[u-2]:a.shape[u-1],f=s.shape.slice(0,-2),g=a.shape.slice(0,-2),v=te(f),y=te(g),b=De(s.shape.slice(0,-2),a.shape.slice(0,-2)).concat([d,p]);E(c===h,()=>`Error in matMul: inner shapes (${c}) and (${h}) of Tensors with shapes ${s.shape} and ${a.shape} and transposeA=${i} and transposeB=${o} must match.`);const w=i?[v,c,d]:[v,d,c],x=o?[y,p,h]:[y,h,p],_=bt({inputs:{x:s},backend:n,attrs:{shape:w}}),$=bt({inputs:{x:a},backend:n,attrs:{shape:x}}),N=i?_.shape[1]:_.shape[2],k=i?_.shape[2]:_.shape[1],A=o?$.shape[1]:$.shape[2],O=Math.max(v,y),R=n.data.get(_.dataId).values,T=n.data.get($.dataId).values,S=Ie(_.shape),F=Ie($.shape),[M,L,z]=i?[S[0],1,S[1]]:[S[0],S[1],1],[q,J,re]=o?[1,F[1],F[0]]:[F[1],1,F[0]],Y=k*A,ae=Fe([O,k,A],_.dtype),ne=ae.values,oe=n.blockSize;for(let ce=0;ce<O;ce++){const ve=ce%v,_e=ce%y;for(let $e=0;$e<k;$e+=oe){const Re=Math.min($e+oe,k);for(let Oe=0;Oe<A;Oe+=oe){const He=Math.min(Oe+oe,A);for(let Xe=0;Xe<N;Xe+=oe){const dt=Math.min(Xe+oe,N);for(let nt=$e;nt<Re;nt++)for(let Qe=Oe;Qe<He;Qe++){let lt=0;for(let at=Xe;at<dt;at++){const Rn=R[ve*M+nt*L+at*z],Ta=T[at*q+Qe*J+_e*re];lt+=Rn*Ta}ne[ce*Y+(nt*A+Qe)]+=lt}}}}}return n.disposeIntermediateTensorInfo(_),n.disposeIntermediateTensorInfo($),n.makeTensorInfo(b,ae.dtype,ae.values)}var IP,NP=m((()=>{C(),xe(),kn(),IP={kernelName:Mo,backendName:"cpu",kernelFunc:SP}}));function fde(e){const{inputs:t,backend:n,attrs:r}=e,{a:s,b:a,bias:i,preluActivationWeights:o}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:h}=r;let d,p,f;const g=[];d=SP({inputs:{a:s,b:a},attrs:{transposeA:l,transposeB:u},backend:n}),i&&(p=ku({inputs:{a:d,b:i},backend:n}),g.push(d),d=p),c&&(f=$b(n,d,c,o,h),g.push(d),d=f);for(const v of g)n.disposeIntermediateTensorInfo(v);return d}var CP,mde=m((()=>{C(),MS(),Kh(),NP(),CP={kernelName:El,backendName:"cpu",kernelFunc:fde}})),$P,kP,gde=m((()=>{C(),qe(),$P=ot(Da,e=>Math.acos(e)),kP={kernelName:Da,backendName:"cpu",kernelFunc:$P}})),TP,EP,vde=m((()=>{C(),qe(),TP=ot(Oa,e=>Math.acosh(e)),EP={kernelName:Oa,backendName:"cpu",kernelFunc:TP}}));function yde(e){const{inputs:t,backend:n}=e,r=t;be(t,"addN");const s=r.map(o=>n.data.get(o.dataId).values),a=Fe(r[0].shape,r[0].dtype),i=a.values;for(let o=0;o<r.length;o++){const l=s[o];for(let u=0;u<i.length;u++)i[u]+=l[u]}return n.makeTensorInfo(a.shape,a.dtype,a.values)}var AP,bde=m((()=>{C(),xe(),AP={kernelName:Do,backendName:"cpu",kernelFunc:yde}}));function xde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"all");const o=Be(a,s.shape);let l=o;const u=kt(l,s.shape.length);let c=s;u!=null&&(c=sr({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Wt(l.length,s.shape.length)),Sn("all",l,c.shape.length);const[h,d]=pn(c.shape,l),p=te(d),f=xn(te(h),c.dtype),g=n.data.get(c.dataId).values;for(let y=0;y<f.length;++y){const b=y*p;let w=g[b];for(let x=0;x<p;++x){const _=g[b+x];w=w&&_}f[y]=w}u!=null&&n.disposeIntermediateTensorInfo(c);const v=n.makeTensorInfo(h,c.dtype,f);if(i){const y=Vt(h,o),b=bt({inputs:{x:v},backend:n,attrs:{shape:y}});return n.disposeIntermediateTensorInfo(v),b}return v}var RP,wde=m((()=>{C(),xe(),kn(),$r(),RP={kernelName:"All",backendName:"cpu",kernelFunc:xde}}));function _de(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"any");const o=Be(a,s.shape);let l=o;const u=kt(l,s.shape.length);let c=s;u!=null&&(c=sr({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Wt(l.length,s.shape.length)),Sn("any",l,c.shape.length);const[h,d]=pn(c.shape,l),p=te(d),f=xn(te(h),c.dtype),g=n.data.get(c.dataId).values;for(let y=0;y<f.length;++y){const b=y*p;let w=g[b];for(let x=0;x<p;++x){const _=g[b+x];w=w||_}f[y]=w}u!=null&&n.disposeIntermediateTensorInfo(c);const v=n.makeTensorInfo(h,c.dtype,f);if(i){const y=Vt(h,o),b=bt({inputs:{x:v},backend:n,attrs:{shape:y}});return n.disposeIntermediateTensorInfo(v),b}return v}var DP,Sde=m((()=>{C(),xe(),kn(),$r(),DP={kernelName:"Any",backendName:"cpu",kernelFunc:_de}}));function Ide(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;be(s,"argMax");let i=Be(a,s.shape);const o=kt(i,s.shape.length);let l=s;const u=[];o!=null&&(l=sr({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Wt(i.length,l.shape.length)),i=[i[0]],Sn("argMax",i,l.shape.length);const[c,h]=pn(l.shape,i),d=te(c),p=xn(d,"int32"),f=te(h),g=n.data.get(l.dataId).values;for(let v=0;v<p.length;++v){const y=v*f;let b=g[y],w=0;for(let x=0;x<f;++x){const _=g[y+x];_>b&&(b=_,w=x)}p[v]=w}return u.forEach(v=>n.disposeIntermediateTensorInfo(v)),n.makeTensorInfo(c,"int32",p)}var OP,Nde=m((()=>{C(),xe(),$r(),OP={kernelName:Oo,backendName:"cpu",kernelFunc:Ide}}));function Cde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a}=r;be(s,"argMin");let i=Be(a,s.shape);const o=kt(i,s.shape.length);let l=s;const u=[];o!=null&&(l=sr({inputs:{x:s},backend:n,attrs:{perm:o}}),u.push(l),i=Wt(i.length,l.shape.length)),i=[i[0]],Sn("argMin",i,l.shape.length);const[c,h]=pn(l.shape,i),d=te(c),p=xn(d,"int32"),f=te(h),g=n.data.get(l.dataId).values;for(let v=0;v<p.length;++v){const y=v*f;let b=g[y],w=0;for(let x=0;x<f;++x){const _=g[y+x];_<b&&(b=_,w=x)}p[v]=w}return u.forEach(v=>n.disposeIntermediateTensorInfo(v)),n.makeTensorInfo(c,"int32",p)}var FP,$de=m((()=>{C(),xe(),$r(),FP={kernelName:Fo,backendName:"cpu",kernelFunc:Cde}})),LP,PP,kde=m((()=>{C(),qe(),LP=ot(Fa,e=>Math.asin(e)),PP={kernelName:Fa,backendName:"cpu",kernelFunc:LP}})),MP,zP,Tde=m((()=>{C(),qe(),MP=ot(La,e=>Math.asinh(e)),zP={kernelName:La,backendName:"cpu",kernelFunc:MP}})),BP,VP,Ede=m((()=>{C(),qe(),BP=ot(Pa,e=>Math.atan(e)),VP={kernelName:Pa,backendName:"cpu",kernelFunc:BP}})),WP,UP,GP,Ade=m((()=>{C(),Kt(),ln(),WP=qt((e,t)=>Math.atan2(e,t)),UP=on(za,WP),GP={kernelName:za,backendName:"cpu",kernelFunc:UP}})),HP,jP,Rde=m((()=>{C(),qe(),HP=ot(Ma,e=>Math.atanh(e)),jP={kernelName:Ma,backendName:"cpu",kernelFunc:HP}}));function zS(e,t,n,r,s,a){const i=s.strideHeight,o=s.strideWidth,l=s.dilationHeight,u=s.dilationWidth,c=s.effectiveFilterHeight,h=s.effectiveFilterWidth,d=s.padInfo.top,p=s.padInfo.left,f=a==="max"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,g=Fe(s.outShape,n),v=g.values,y=s.outShape[1]*s.outShape[2]*s.outShape[3],b=s.outShape[2]*s.outShape[3],w=s.outShape[3];for(let x=0;x<s.batchSize;++x){const _=x*y,$=x*r[0];for(let N=0;N<s.inChannels;++N)for(let k=0;k<s.outHeight;++k){const A=k*i-d,O=Math.max(0,A),R=Math.min(s.inHeight,c+A),T=_+k*b;for(let S=0;S<s.outWidth;++S){const F=S*o-p,M=Math.max(0,F),L=Math.min(s.inWidth,h+F);let z=f,q=0,J=0;for(let Y=O;Y<R;Y+=l){const ae=$+Y*r[1];for(let ne=M;ne<L;ne+=u){const oe=e[ae+ne*r[2]+N];a==="max"&&oe>z?z=oe:a==="avg"&&(q+=oe,J++)}if(isNaN(z))break}const re=T+S*w+N;v[re]=a==="avg"?q/J:z}}}return g}function qP(e,t,n,r,s=!1,a=!1){const i=Fe(r.outShape,"int32"),o=r.strideHeight,l=r.strideWidth,u=r.dilationHeight,c=r.dilationWidth,h=r.effectiveFilterHeight,d=r.effectiveFilterWidth,p=r.padInfo.top,f=r.padInfo.left,g=Fe(t,n,e);for(let v=0;v<r.batchSize;++v)for(let y=0;y<r.inChannels;++y)for(let b=0;b<r.outHeight;++b){const w=b*o-p;let x=w;for(;x<0;)x+=u;const _=Math.min(r.inHeight,h+w);for(let $=0;$<r.outWidth;++$){const N=$*l-f;let k=N;for(;k<0;)k+=c;const A=Math.min(r.inWidth,d+N);let O=Number.NEGATIVE_INFINITY,R=-1;for(let T=x;T<_;T+=u){const S=T-w;for(let F=k;F<A;F+=c){const M=F-N,L=g.get(v,T,F,y);L>O&&(O=L,s?R=a?((v*r.inHeight+T)*r.inWidth+F)*r.inChannels+y:(T*r.inWidth+F)*r.inChannels+y:R=S*d+M)}}i.set(R,v,b,$,y)}}return i}function KP(e,t,n,r,s,a){const i=s.strideDepth,o=s.strideHeight,l=s.strideWidth,u=s.dilationDepth,c=s.dilationHeight,h=s.dilationWidth,d=s.effectiveFilterDepth,p=s.effectiveFilterHeight,f=s.effectiveFilterWidth,g=s.padInfo.front,v=s.padInfo.top,y=s.padInfo.left,b=a==="max"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,w=Fe(s.outShape,n),x=w.values,_=s.outShape[1]*s.outShape[2]*s.outShape[3]*s.outShape[4],$=s.outShape[2]*s.outShape[3]*s.outShape[4],N=s.outShape[3]*s.outShape[4],k=s.outShape[4];for(let A=0;A<s.batchSize;++A){const O=A*_,R=A*r[0];for(let T=0;T<s.inChannels;++T)for(let S=0;S<s.outDepth;++S){const F=S*i-g;let M=F;for(;M<0;)M+=u;const L=Math.min(s.inDepth,d+F),z=O+S*$;for(let q=0;q<s.outHeight;++q){const J=q*o-v;let re=J;for(;re<0;)re+=c;const Y=Math.min(s.inHeight,p+J),ae=z+q*N;for(let ne=0;ne<s.outWidth;++ne){const oe=ne*l-y;let ce=oe;for(;ce<0;)ce+=h;const ve=Math.min(s.inWidth,f+oe),_e=ae+ne*k;let $e=b,Re=0,Oe=0;for(let Xe=M;Xe<L;Xe+=u){const dt=R+Xe*r[1];for(let nt=re;nt<Y;nt+=c){const Qe=dt+nt*r[2];for(let lt=ce;lt<ve;lt+=h){const at=e[Qe+lt*r[3]+T];if(a==="max"&&at>$e?$e=at:a==="avg"&&(Re+=at,Oe++),isNaN($e))break}if(isNaN($e))break}if(isNaN($e))break}const He=_e+T;x[He]=a==="avg"?Re/Math.max(Oe,1):$e}}}}return w}function Dde(e,t){const n=Fe(t.outShape,"int32"),r=t.strideDepth,s=t.strideHeight,a=t.strideWidth,i=t.dilationDepth,o=t.dilationHeight,l=t.dilationWidth,u=t.effectiveFilterDepth,c=t.effectiveFilterHeight,h=t.effectiveFilterWidth,d=t.padInfo.front,p=t.padInfo.top,f=t.padInfo.left;for(let g=0;g<t.batchSize;++g)for(let v=0;v<t.inChannels;++v)for(let y=0;y<t.outDepth;++y){const b=y*r-d;let w=b;for(;w<0;)w+=i;const x=Math.min(t.inDepth,u+b);for(let _=0;_<t.outHeight;++_){const $=_*s-p;let N=$;for(;N<0;)N+=o;const k=Math.min(t.inHeight,c+$);for(let A=0;A<t.outWidth;++A){const O=A*a-f;let R=O;for(;R<0;)R+=l;const T=Math.min(t.inWidth,h+O);let S=Number.NEGATIVE_INFINITY,F=-1;for(let M=w;M<x;M+=i){const L=M-b;for(let z=N;z<k;z+=o){const q=z-$;for(let J=R;J<T;J+=l){const re=J-O,Y=e.get(g,M,z,J,v);Y>=S&&(S=Y,F=L*c*h+q*c+re)}}}n.set(F,g,y,_,A,v)}}}return n}var Ru=m((()=>{C()}));function Ode(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;be(s,"avgPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r,u=1;E(_n(i,u),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${u}'`);const c=Br(s.shape,a,i,u,o,l);let h;if(c.filterWidth===1&&c.filterHeight===1&&Ue(c.inShape,c.outShape))h=Vs({inputs:{x:s},backend:n});else{const d=n.data.get(s.dataId).values,p=Ie(s.shape),f=zS(d,s.shape,s.dtype,p,c,"avg");h=n.makeTensorInfo(c.outShape,s.dtype,f.values)}return h}var XP,Fde=m((()=>{C(),xe(),Ru(),Sa(),XP={kernelName:Lo,backendName:"cpu",kernelFunc:Ode}}));function Lde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r;be(s,"avgPool3d");const c=aa(s.shape,a,i,1,o,l,u),h=n.data.get(s.dataId).values,d=KP(h,s.shape,s.dtype,Ie(s.shape),c,"avg");return n.makeTensorInfo(d.shape,"float32",d.values)}var YP,Pde=m((()=>{C(),xe(),Ru(),YP={kernelName:Po,backendName:"cpu",kernelFunc:Lde}}));function Mde(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=r;be([s,a],"avgPool3DGrad");const c=aa(a.shape,i,o,1,l,u),h=c.strideDepth,d=c.strideHeight,p=c.strideWidth,f=c.filterDepth,g=c.filterHeight,v=c.filterWidth,y=c.dilationDepth,b=c.dilationHeight,w=c.dilationWidth,x=c.effectiveFilterDepth,_=c.effectiveFilterHeight,$=c.effectiveFilterWidth,N=x-1-c.padInfo.front,k=$-1-c.padInfo.left,A=_-1-c.padInfo.top,O=Fe(a.shape,"float32"),R=1/(f*g*v),T=n.bufferSync(s);for(let S=0;S<c.batchSize;++S)for(let F=0;F<c.inChannels;++F)for(let M=0;M<c.inDepth;++M)for(let L=0;L<c.inHeight;++L)for(let z=0;z<c.inWidth;++z){const q=M-N,J=L-A,re=z-k;let Y=0;for(let ae=0;ae<x;ae+=y){const ne=(q+ae)/h;if(!(ne<0||ne>=c.outDepth||Math.floor(ne)!==ne))for(let oe=0;oe<_;oe+=b){const ce=(J+oe)/d;if(!(ce<0||ce>=c.outHeight||Math.floor(ce)!==ce))for(let ve=0;ve<$;ve+=w){const _e=(re+ve)/p;if(_e<0||_e>=c.outWidth||Math.floor(_e)!==_e)continue;const $e=T.get(S,ne,ce,_e,F);Y+=$e}}}O.set(Y*R,S,M,L,z,F)}return n.makeTensorInfo(O.shape,O.dtype,O.values)}var ZP,zde=m((()=>{C(),xe(),ZP={kernelName:ju,backendName:"cpu",kernelFunc:Mde}}));function Bde(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,i=a;be([s,a],"avgPoolGrad");const{filterSize:o,strides:l,pad:u}=r,c=Br(i.shape,o,l,1,u),h=c.strideHeight,d=c.strideWidth,p=c.filterHeight,f=c.filterWidth,g=c.dilationHeight,v=c.dilationWidth,y=c.effectiveFilterHeight,b=c.effectiveFilterWidth,w=b-1-c.padInfo.left,x=y-1-c.padInfo.top,_=Fe(i.shape,"float32"),$=1/(p*f),N=n.data.get(s.dataId).values,k=Fe(s.shape,"float32",N);for(let A=0;A<c.batchSize;++A)for(let O=0;O<c.inChannels;++O)for(let R=0;R<c.inHeight;++R)for(let T=0;T<c.inWidth;++T){const S=R-x,F=T-w;let M=0;for(let L=0;L<y;L+=g){const z=(S+L)/h;if(!(z<0||z>=c.outHeight||Math.floor(z)!==z))for(let q=0;q<b;q+=v){const J=(F+q)/d;if(J<0||J>=c.outWidth||Math.floor(J)!==J)continue;const re=k.get(A,z,J,O);M+=re}}_.set(M*$,A,R,T,O)}return n.makeTensorInfo(_.shape,_.dtype,_.values)}var JP,Vde=m((()=>{C(),xe(),JP={kernelName:Hu,backendName:"cpu",kernelFunc:Bde}}));function Wde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,scale:a,offset:i,mean:o,variance:l}=t;E(o.shape.length===l.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),E(i==null||o.shape.length===i.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),E(a==null||o.shape.length===a.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks."),be([s,o,l,a,i],"batchNorm");let{varianceEpsilon:u}=r;u==null&&(u=.001);const c=n.data.get(s.dataId).values,h=n.data.get(o.dataId).values,d=n.data.get(l.dataId).values,p=a?n.data.get(a.dataId).values:new Float32Array([1]),f=i?n.data.get(i.dataId).values:new Float32Array([0]),g=new Float32Array(c.length),v=f.length,y=p.length,b=d.length,w=h.length;let x=0,_=0,$=0,N=0;for(let k=0;k<c.length;++k)g[k]=f[x++]+(c[k]-h[_++])*p[$++]/Math.sqrt(d[N++]+u),x>=v&&(x=0),_>=w&&(_=0),$>=y&&($=0),N>=b&&(N=0);return n.makeTensorInfo(s.shape,s.dtype,g)}var QP,Ude=m((()=>{C(),xe(),QP={kernelName:Zo,backendName:"cpu",kernelFunc:Wde}}));function Gde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,crops:i}=r;be([s],"batchToSpaceND");const o=a.reduce((y,b)=>y*b),l=Zp(s.shape,a,o),u=Jp(l.length,a.length),c=Qp(s.shape,a,o),h=N1(i,a.length),d=C1(c,i,a.length),p=bt({inputs:{x:s},backend:n,attrs:{shape:l}}),f=sr({inputs:{x:p},backend:n,attrs:{perm:u}}),g=bt({inputs:{x:f},backend:n,attrs:{shape:c}}),v=Eu({inputs:{x:g},backend:n,attrs:{begin:h,size:d}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(g),v}var eM,Hde=m((()=>{C(),xe(),kn(),Au(),$r(),eM={kernelName:zo,backendName:"cpu",kernelFunc:Gde}}));function jde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i}=r,o=n.data.get(s.dataId).values,l=n.data.get(a.dataId).values,u=nS(o,l,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,u)}var tM,qde=m((()=>{C(),rS(),tM={kernelName:qu,backendName:"cpu",kernelFunc:jde}}));function Kde(e){const{inputs:t,backend:n}=e,{s0:r,s1:s}=t,a=n.data.get(r.dataId).values,i=n.data.get(s.dataId).values,o=De(Array.from(a),Array.from(i));return n.makeTensorInfo([o.length],"int32",Int32Array.from(o))}var nM,Xde=m((()=>{C(),nM={kernelName:Ku,backendName:"cpu",kernelFunc:Kde}})),rM,sM,Yde=m((()=>{C(),qe(),rM=ot(Wa,(e,t)=>{const n=t;return e>n.clipValueMax?n.clipValueMax:e<n.clipValueMin?n.clipValueMin:e}),sM={kernelName:Wa,backendName:"cpu",kernelFunc:rM}})),aM,iM,Zde=m((()=>{C(),aM=e=>{const{x:t}=e.inputs,n=e.backend,r=new Float32Array(te(t.shape)),s=n.data.get(t.dataId),a=s.complexTensorInfos.real,i=s.complexTensorInfos.imag,o=n.data.get(a.dataId).values,l=n.data.get(i.dataId).values;for(let u=0;u<o.length;u++){const c=o[u],h=l[u];r[u]=Math.hypot(c,h)}return n.makeOutput(r,t.shape,"float32")},iM={kernelName:Vo,backendName:"cpu",kernelFunc:aM}}));function Zh(e){const{inputs:t,backend:n}=e,{input:r}=t,s=n.data.get(r.dataId).complexTensorInfos.imag,a=n.data.get(s.dataId).values;return n.makeTensorInfo(s.shape,s.dtype,a)}var oM,Kf=m((()=>{C(),oM={kernelName:fc,backendName:"cpu",kernelFunc:Zh}}));function Jh(e){const{inputs:t,backend:n,attrs:r}=e,{axis:s}=r,a=Be(s,t[0].shape)[0],i=t.map(g=>g.shape);S1(i,a);let o=Ds(t.map(g=>g.shape),a);if(te(o)===0)return n.makeTensorInfo(o,t[0].dtype,[]);const l=t.filter(g=>te(g.shape)>0);if(l.length===1)return Vs({inputs:{x:l[0]},backend:n});if(l[0].dtype==="complex64"){const g=l.map(x=>$u({inputs:{input:x},backend:n})),v=l.map(x=>Zh({inputs:{input:x},backend:n})),y=Jh({inputs:g,backend:n,attrs:{axis:a}}),b=Jh({inputs:v,backend:n,attrs:{axis:a}}),w=vr({inputs:{real:y,imag:b},backend:n});return g.forEach(x=>n.disposeIntermediateTensorInfo(x)),v.forEach(x=>n.disposeIntermediateTensorInfo(x)),n.disposeIntermediateTensorInfo(y),n.disposeIntermediateTensorInfo(b),w}const u=l.map(g=>{const v=[-1,te(g.shape.slice(a))];return bt({inputs:{x:g},backend:n,attrs:{shape:v}})}),c=u.map(g=>({vals:n.data.get(g.dataId).values,shape:g.shape}));o=Ds(u.map(g=>g.shape),1);const h=u[0].shape[0]===1,d=cF(c,o,t[0].dtype,h),p=Ds(l.map(g=>g.shape),a),f=n.makeTensorInfo(p,t[0].dtype,d);return u.forEach(g=>n.disposeIntermediateTensorInfo(g)),f}var lM,BS=m((()=>{C(),co(),hF(),Sa(),Kf(),jh(),kn(),lM={kernelName:Wo,backendName:"cpu",kernelFunc:Jh}}));function uM(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dataFormat:l,dilations:u,dimRoundingMode:c}=r;be([s,a],"conv2d");const h=ia(l),d=dn(s.shape,a.shape,i,u,o,c,!1,h),p=d.filterHeight,f=d.filterWidth,g=d.dilationHeight,v=d.dilationWidth,y=d.padInfo.left,b=d.padInfo.top,w=d.dataFormat==="channelsLast",x=new Ot(d.outShape,s.dtype),_=Ie(s.shape),$=Ie(a.shape),N=_[0],k=w?_[1]:_[2],A=w?_[2]:1,O=w?1:_[1],R=x.strides[0],T=w?x.strides[1]:x.strides[2],S=w?x.strides[2]:1,F=w?1:x.strides[1],M=n.data.get(s.dataId).values,L=n.data.get(a.dataId).values,z=x.values;for(let q=0;q<d.batchSize;++q){const J=q*N,re=q*R;for(let Y=0;Y<d.outHeight;++Y){const ae=re+Y*T,ne=Y*d.strideHeight-b;for(let oe=0;oe<p;++oe){const ce=ne+oe*g;if(ce<0||ce>=d.inHeight)continue;const ve=oe*$[0],_e=J+ce*k;for(let $e=0;$e<d.outWidth;++$e){const Re=ae+$e*S,Oe=$e*d.strideWidth-y;for(let He=0;He<f;++He){const Xe=Oe+He*v;if(Xe<0||Xe>=d.inWidth)continue;const dt=ve+He*$[1],nt=_e+Xe*A;let Qe=dt;for(let lt=0;lt<d.inChannels;++lt){const at=M[nt+lt*O];for(let Rn=0;Rn<d.outChannels;++Rn)z[Re+Rn*F]+=at*L[Qe+Rn];Qe+=d.outChannels}}}}}}return n.makeTensorInfo(x.shape,x.dtype,z)}var cM,hM=m((()=>{C(),xe(),cM={kernelName:Uo,backendName:"cpu",kernelFunc:uM}}));function Jde(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,pad:o,dataFormat:l,dimRoundingMode:u,filterShape:c}=r;be([s,a],"conv2dBackpropFilter");const h=ia(l),d=dn(s.shape,c,i,1,o,u,!1,h),{strideHeight:p,strideWidth:f,filterHeight:g,filterWidth:v}=d,y=d.dataFormat==="channelsLast",b=new Ot(d.filterShape,"float32"),w=d.padInfo.left,x=d.padInfo.top,_=n.data.get(s.dataId).values,$=n.data.get(a.dataId).values,N=new Ot(s.shape,s.dtype,_),k=new Ot(a.shape,a.dtype,$);for(let A=0;A<g;++A){const O=Math.max(0,Math.ceil((x-A)/p)),R=Math.min(d.outHeight,(d.inHeight+x-A)/p);for(let T=0;T<v;++T){const S=Math.max(0,Math.ceil((w-T)/f)),F=Math.min(d.outWidth,(d.inWidth+w-T)/f);for(let M=0;M<d.inChannels;++M)for(let L=0;L<d.outChannels;++L){let z=0;for(let q=0;q<d.batchSize;++q)for(let J=O;J<R;++J){const re=A+J*p-x;for(let Y=S;Y<F;++Y){const ae=T+Y*f-w;y?z+=N.get(q,re,ae,M)*k.get(q,J,Y,L):z+=N.get(q,M,re,ae)*k.get(q,L,J,Y)}}b.set(z,A,T,M,L)}}}return n.makeTensorInfo(b.shape,b.dtype,b.values)}var dM,Qde=m((()=>{C(),xe(),dM={kernelName:Yu,backendName:"cpu",kernelFunc:Jde}}));function epe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{inputShape:i,strides:o,pad:l,dataFormat:u,dimRoundingMode:c}=r;be([s,a],"conv2dBackpropInput");const h=Ie(a.shape),d=Ie(s.shape);let p=ia(u);const f=dn(i,a.shape,o,1,l,c,!1,p),g=new Ot(f.inShape,"float32"),v=g.values,y=n.data.get(s.dataId).values,b=n.data.get(a.dataId).values,[w,x,_]=h,{batchSize:$,filterHeight:N,filterWidth:k,inChannels:A,inHeight:O,inWidth:R,outChannels:T,outHeight:S,outWidth:F,strideHeight:M,strideWidth:L}=f;p=f.dataFormat;const z=N-1-f.padInfo.top,q=k-1-f.padInfo.left,J=p==="channelsLast",re=g.strides[0],Y=J?g.strides[1]:g.strides[2],ae=J?g.strides[2]:1,ne=J?1:g.strides[1],oe=d[0],ce=J?d[1]:d[2],ve=J?d[2]:1,_e=J?1:d[1];for(let $e=0;$e<$;++$e)for(let Re=0;Re<A;++Re)for(let Oe=0;Oe<O;++Oe){const He=Oe-z,Xe=Math.max(0,Math.ceil(He/M)),dt=Math.min(S,(N+He)/M);for(let nt=0;nt<R;++nt){const Qe=nt-q,lt=Math.max(0,Math.ceil(Qe/L)),at=Math.min(F,(k+Qe)/L);let Rn=0;for(let Qn=Xe;Qn<dt;++Qn){const Ea=Qn*M-He;for(let Or=lt;Or<at;++Or){const js=Or*L-Qe,_o=oe*$e+ce*Qn+ve*Or,So=w*(N-1-Ea)+x*(k-1-js)+_*Re;for(let vs=0;vs<T;++vs){const Io=y[_o+_e*vs],wm=b[So+vs];Rn+=Io*wm}}}const Ta=re*$e+Y*Oe+ae*nt+ne*Re;v[Ta]=Rn}}return n.makeTensorInfo(g.shape,g.dtype,g.values)}var pM,tpe=m((()=>{C(),xe(),pM={kernelName:Go,backendName:"cpu",kernelFunc:epe}}));function npe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dilations:l}=r;be([s,a],"conv3d");const u=Ei(s.shape,a.shape,i,l,o),{filterDepth:c,filterHeight:h,filterWidth:d,dilationDepth:p,dilationHeight:f,dilationWidth:g,padInfo:v}=u,y=v.front,b=v.left,w=v.top,x=new Ot(u.outShape,s.dtype),_=n.data.get(s.dataId).values,$=n.data.get(a.dataId).values,N=x.values,k=Ie(s.shape),A=Ie(a.shape);for(let O=0;O<u.batchSize;++O){const R=O*k[0],T=O*x.strides[0];for(let S=0;S<u.outDepth;++S){const F=T+S*x.strides[1],M=S*u.strideDepth-y;for(let L=0;L<c;++L){const z=M+L*p;if(z<0||z>=u.inDepth)continue;const q=L*A[0],J=R+z*k[1];for(let re=0;re<u.outHeight;++re){const Y=F+re*x.strides[2],ae=re*u.strideHeight-w;for(let ne=0;ne<h;++ne){const oe=ae+ne*f;if(oe<0||oe>=u.inHeight)continue;const ce=q+ne*A[1],ve=J+oe*k[2];for(let _e=0;_e<u.outWidth;++_e){const $e=Y+_e*u.outChannels,Re=_e*u.strideWidth-b;for(let Oe=0;Oe<d;++Oe){const He=Re+Oe*g;if(He<0||He>=u.inWidth)continue;const Xe=ce+Oe*A[2],dt=ve+He*u.inChannels;let nt=Xe;for(let Qe=0;Qe<u.inChannels;++Qe){const lt=_[dt+Qe];for(let at=0;at<u.outChannels;++at)N[$e+at]+=lt*$[nt+at];nt+=u.outChannels}}}}}}}}return n.makeTensorInfo(x.shape,x.dtype,x.values)}var fM,rpe=m((()=>{C(),xe(),fM={kernelName:Ho,backendName:"cpu",kernelFunc:npe}}));function spe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,pad:o,filterShape:l}=r;be([s,a],"conv3dBackpropFilterV2");const u=Ie(s.shape),c=Ie(a.shape),h=Ei(s.shape,l,i,1,o),d=h.strideDepth,p=h.strideHeight,f=h.strideWidth,g=h.filterDepth,v=h.filterHeight,y=h.filterWidth,b=new Ot(h.filterShape,"float32"),w=b.values,[x,_,$,N]=b.strides,k=n.data.get(a.dataId).values,[A,O,R,T]=c,S=n.data.get(s.dataId).values,[F,M,L,z]=u,q=h.padInfo.front,J=h.padInfo.left,re=h.padInfo.top;for(let Y=0;Y<g;++Y){const ae=Math.max(0,Math.ceil((q-Y)/d)),ne=Math.min(h.outDepth,(h.inDepth+q-Y)/d),oe=Y*x;for(let ce=0;ce<v;++ce){const ve=Math.max(0,Math.ceil((re-ce)/p)),_e=Math.min(h.outHeight,(h.inHeight+re-ce)/p),$e=ce*_+oe;for(let Re=0;Re<y;++Re){const Oe=Math.max(0,Math.ceil((J-Re)/f)),He=Math.min(h.outWidth,(h.inWidth+J-Re)/f),Xe=Re*$+$e;for(let dt=0;dt<h.inChannels;++dt){const nt=dt*N+Xe;for(let Qe=0;Qe<h.outChannels;++Qe){let lt=0;for(let at=0;at<h.batchSize;++at){const Rn=at*F,Ta=at*A;for(let Qn=ae;Qn<ne;++Qn){const Ea=(Y+Qn*d-q)*M+Rn,Or=Qn*O+Ta;for(let js=ve;js<_e;++js){const _o=(ce+js*p-re)*L+Ea,So=js*R+Or;for(let vs=Oe;vs<He;++vs){const Io=(Re+vs*f-J)*z+_o,wm=vs*T+So;lt+=S[Io+dt]*k[wm+Qe]}}}}w[nt+Qe]=lt}}}}}return n.makeTensorInfo(b.shape,b.dtype,b.values)}var mM,ape=m((()=>{C(),xe(),mM={kernelName:Zu,backendName:"cpu",kernelFunc:spe}}));function ipe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{pad:i,strides:o,inputShape:l}=r;be([s],"conv3dBackpropInputV2");const u=Ie(s.shape),c=Ie(a.shape),h=Ei(l,a.shape,o,1,i),d=new Ot(h.inShape,"float32"),p=d.values,[f,g,v,y]=d.strides,b=n.data.get(s.dataId).values,[w,x,_,$]=u,N=n.data.get(a.dataId).values,[k,A,O,R]=c,{batchSize:T,filterDepth:S,filterHeight:F,filterWidth:M,inChannels:L,inDepth:z,inHeight:q,inWidth:J,outChannels:re,outDepth:Y,outHeight:ae,outWidth:ne,strideDepth:oe,strideHeight:ce,strideWidth:ve}=h,_e=S-1-h.padInfo.front,$e=F-1-h.padInfo.top,Re=M-1-h.padInfo.left;for(let Oe=0;Oe<T;++Oe)for(let He=0;He<L;++He)for(let Xe=0;Xe<z;++Xe){const dt=Xe-_e,nt=Math.max(0,Math.ceil(dt/oe)),Qe=Math.min(Y,(S+dt)/oe);for(let lt=0;lt<q;++lt){const at=lt-$e,Rn=Math.max(0,Math.ceil(at/ce)),Ta=Math.min(ae,(F+at)/ce);for(let Qn=0;Qn<J;++Qn){const Ea=Qn-Re,Or=Math.max(0,Math.ceil(Ea/ve)),js=Math.min(ne,(M+Ea)/ve);let _o=0;for(let So=nt;So<Qe;++So){const vs=So*oe-dt;for(let Io=Rn;Io<Ta;++Io){const wm=Io*ce-at;for(let yx=Or;yx<js;++yx){const bSe=yx*ve-Ea,xSe=w*Oe+x*So+_*Io+$*yx,wSe=k*(S-1-vs)+A*(F-1-wm)+O*(M-1-bSe)+R*He;for(let bx=0;bx<re;++bx){const _Se=b[xSe+bx],SSe=N[wSe+bx];_o+=_Se*SSe}}}}p[f*Oe+g*Xe+v*lt+y*Qn+He]=_o}}}return n.makeTensorInfo(d.shape,d.dtype,d.values)}var gM,ope=m((()=>{C(),xe(),gM={kernelName:Ju,backendName:"cpu",kernelFunc:ipe}})),vM,yM,lpe=m((()=>{C(),qe(),vM=ot("Cos",e=>Math.cos(e)),yM={kernelName:"Cos",backendName:"cpu",kernelFunc:vM}})),bM,xM,upe=m((()=>{C(),qe(),bM=ot(Ua,e=>Math.cosh(e)),xM={kernelName:Ua,backendName:"cpu",kernelFunc:bM}}));function cpe(e){const{inputs:t,backend:n,attrs:r}=e,{image:s,boxes:a,boxInd:i}=t,{cropSize:o,method:l,extrapolationValue:u}=r,[c,h,d,p]=s.shape,f=a.shape[0],[g,v]=o,y=Fe([f,g,v,p],"float32"),b=n.data.get(a.dataId).values,w=n.data.get(i.dataId).values,x=n.data.get(s.dataId).values,_=Ie(s.shape),$=Ie(y.shape);for(let N=0;N<f;N++){const k=N*4,A=b[k],O=b[k+1],R=b[k+2],T=b[k+3],S=w[N];if(S>=c)continue;const F=g>1?(R-A)*(h-1)/(g-1):0,M=v>1?(T-O)*(d-1)/(v-1):0;for(let L=0;L<g;L++){const z=g>1?A*(h-1)+L*F:.5*(A+R)*(h-1);if(z<0||z>h-1){for(let q=0;q<v;q++)for(let J=0;J<p;J++){const re=J+q*$[2]+L*$[1]+N*$[0];y.values[re]=u}continue}if(l==="bilinear"){const q=Math.floor(z),J=Math.ceil(z),re=z-q;for(let Y=0;Y<v;Y++){const ae=v>1?O*(d-1)+Y*M:.5*(O+T)*(d-1);if(ae<0||ae>d-1){for(let ve=0;ve<p;ve++){const _e=ve+Y*$[2]+L*$[1]+N*$[0];y.values[_e]=u}continue}const ne=Math.floor(ae),oe=Math.ceil(ae),ce=ae-ne;for(let ve=0;ve<p;ve++){let _e=ve+ne*_[2]+q*_[1]+S*_[0];const $e=x[_e];_e=ve+oe*_[2]+q*_[1]+S*_[0];const Re=x[_e];_e=ve+ne*_[2]+J*_[1]+S*_[0];const Oe=x[_e];_e=ve+oe*_[2]+J*_[1]+S*_[0];const He=x[_e],Xe=$e+(Re-$e)*ce,dt=Oe+(He-Oe)*ce;_e=ve+Y*$[2]+L*$[1]+N*$[0],y.values[_e]=Xe+(dt-Xe)*re}}}else for(let q=0;q<v;++q){const J=v>1?O*(d-1)+q*M:.5*(O+T)*(d-1);if(J<0||J>d-1){for(let ae=0;ae<p;ae++){const ne=ae+q*$[2]+L*$[1]+N*$[0];y.values[ne]=u}continue}const re=Math.round(J),Y=Math.round(z);for(let ae=0;ae<p;ae++){const ne=ae+re*_[2]+Y*_[1]+S*_[0],oe=ae+q*$[2]+L*$[1]+N*$[0];y.values[oe]=x[ne]}}}}return n.makeTensorInfo(y.shape,y.dtype,y.values)}var wM,hpe=m((()=>{C(),wM={kernelName:ec,backendName:"cpu",kernelFunc:cpe}}));function dpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,exclusive:i,reverse:o}=r;be(s,"cumprod");const l=kt([a],s.shape.length);let u=s;l!=null&&(u=sr({inputs:{x:s},backend:n,attrs:{perm:l}}));const c=Wt(1,s.shape.length)[0];if(c!==u.shape.length-1)throw new Error(`backend.cumprod in CPU expects an inner-most axis=${u.shape.length-1} but got axis=${c}`);const h=zn(u.dtype,"int32"),d=Cm(te(u.shape),h),p=n.data.get(u.dataId).values,f=u.shape[u.shape.length-1],g=o?(y,b)=>y+f-b-1:(y,b)=>y+b;for(let y=0;y<p.length;y+=f)for(let b=0;b<f;b++){const w=g(y,b);if(b===0)d[w]=i?1:p[w];else{const x=g(y,b-1);d[w]=i?p[x]*d[x]:p[w]*d[x]}}const v=n.makeTensorInfo(u.shape,h,d);if(l!=null){const y=Li(l),b=sr({inputs:{x:v},backend:n,attrs:{perm:y}});return n.disposeIntermediateTensorInfo(v),n.disposeIntermediateTensorInfo(u),b}return v}var _M,ppe=m((()=>{C(),xe(),$r(),_M={kernelName:Qu,backendName:"cpu",kernelFunc:dpe}}));function fpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,exclusive:i,reverse:o}=r;be(s,"cumsum");const l=kt([a],s.shape.length);let u=s;l!=null&&(u=sr({inputs:{x:s},backend:n,attrs:{perm:l}}));const c=Wt(1,s.shape.length)[0];if(c!==u.shape.length-1)throw new Error(`backend.cumsum in CPU expects an inner-most axis=${u.shape.length-1} but got axis=${c}`);const h=zn(u.dtype,"int32"),d=xn(te(u.shape),h),p=n.data.get(u.dataId).values,f=u.shape[u.shape.length-1],g=o?(y,b)=>y+f-b-1:(y,b)=>y+b;for(let y=0;y<p.length;y+=f)for(let b=0;b<f;b++){const w=g(y,b);if(b===0)d[w]=i?0:p[w];else{const x=g(y,b-1);d[w]=i?p[x]+d[x]:p[w]+d[x]}}const v=n.makeTensorInfo(u.shape,h,d);if(l!=null){const y=Li(l),b=sr({inputs:{x:v},backend:n,attrs:{perm:y}});return n.disposeIntermediateTensorInfo(v),n.disposeIntermediateTensorInfo(u),b}return v}var SM,mpe=m((()=>{C(),xe(),$r(),SM={kernelName:jo,backendName:"cpu",kernelFunc:fpe}}));function gpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,weights:a}=t,{size:i,binaryOutput:o}=r;if(s.shape.length===1){const l=n.data.get(s.dataId).values,u=n.data.get(a.dataId).values,c=nS(l,u,a.dtype,a.shape,i);return n.makeTensorInfo([i],a.dtype,c)}else if(s.shape.length===2){const l=n.bufferSync(s),u=n.bufferSync(a),c=rF(l,u,i,o);return n.makeTensorInfo(c.shape,a.dtype,c.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${s.shape.length}.`)}var IM,vpe=m((()=>{C(),rS(),IM={kernelName:tc,backendName:"cpu",kernelFunc:gpe}}));function ype(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockSize:a,dataFormat:i}=r;E(i==="NHWC",()=>`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${i}`);const o=s.shape[0],l=s.shape[1],u=s.shape[2],c=s.shape[3],h=l*a,d=u*a,p=c/(a*a),f=n.data.get(s.dataId).values,g=new Float32Array(o*h*d*p);let v=0;for(let y=0;y<o;++y)for(let b=0;b<h;++b){const w=Math.floor(b/a),x=b%a;for(let _=0;_<d;++_){const $=Math.floor(_/a),N=_%a,k=(x*a+N)*p;for(let A=0;A<p;++A){const O=A+k+c*($+u*(w+l*y));g[v++]=f[O]}}}return n.makeTensorInfo([o,h,d,p],s.dtype,g)}var NM,bpe=m((()=>{C(),NM={kernelName:nc,backendName:"cpu",kernelFunc:ype}}));function CM(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a}=t,{strides:i,pad:o,dilations:l,dimRoundingMode:u}=r;be([s,a],"depthwiseConv2DNative");const c=Ie(s.shape),h=Ie(a.shape);let d=l;d==null&&(d=[1,1]),E(_n(i,d),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${i} and dilations '${d}'`);const p=dn(s.shape,a.shape,i,d,o,u,!0),{filterHeight:f,filterWidth:g,dilationHeight:v,dilationWidth:y,padInfo:b}=p,w=b.left,x=b.top,_=p.outChannels/p.inChannels,$=new Ot(p.outShape,s.dtype),N=n.data.get(s.dataId).values,k=n.data.get(a.dataId).values,A=$.values;for(let O=0;O<p.batchSize;++O){const R=O*c[0],T=O*$.strides[0];for(let S=0;S<p.outHeight;++S){const F=T+S*$.strides[1],M=S*p.strideHeight-x;for(let L=0;L<f;++L){const z=M+L*v;if(z<0||z>=p.inHeight)continue;const q=L*h[0],J=R+z*c[1];for(let re=0;re<p.outWidth;++re){const Y=F+re*$.strides[2],ae=re*p.strideWidth-w;for(let ne=0;ne<g;++ne){const oe=ae+ne*y;if(oe<0||oe>=p.inWidth)continue;const ce=q+ne*h[1],ve=J+oe*p.inChannels;let _e=Y,$e=ce;for(let Re=0;Re<p.inChannels;++Re){const Oe=N[ve+Re];for(let He=0;He<_;++He)A[_e+He]+=Oe*k[$e+He];_e+=_,$e+=_}}}}}}return n.makeTensorInfo($.shape,$.dtype,$.values)}var $M,kM=m((()=>{C(),xe(),$M={kernelName:qo,backendName:"cpu",kernelFunc:CM}}));function xpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,dy:a}=t,{strides:i,dilations:o,pad:l,dimRoundingMode:u,filterShape:c}=r;be([s,a],"depthwiseConv2dNativeBackpropFilter");const h=dn(s.shape,c,i,o,l,u,!0),{strideHeight:d,strideWidth:p,filterHeight:f,filterWidth:g}=h,v=new Ot(h.filterShape,"float32"),y=h.padInfo.left,b=h.padInfo.top,w=h.outChannels/h.inChannels,x=n.data.get(s.dataId).values,_=new Ot(s.shape,s.dtype,x),$=n.data.get(a.dataId).values,N=new Ot(a.shape,a.dtype,$);for(let k=0;k<f;++k){const A=Math.max(0,Math.ceil((b-k)/d)),O=Math.min(h.outHeight,(h.inHeight+b-k)/d);for(let R=0;R<g;++R){const T=Math.max(0,Math.ceil((y-R)/p)),S=Math.min(h.outWidth,(h.inWidth+y-R)/p);for(let F=0;F<h.outChannels;++F){const M=Math.trunc(F/w),L=F%w;let z=0;for(let q=0;q<h.batchSize;++q)for(let J=A;J<O;++J){const re=k+J*d-b;for(let Y=T;Y<S;++Y){const ae=R+Y*p-y;z+=_.get(q,re,ae,M)*N.get(q,J,Y,F)}}v.set(z,k,R,M,L)}}}return n.makeTensorInfo(v.shape,v.dtype,v.values)}var TM,wpe=m((()=>{C(),xe(),TM={kernelName:rc,backendName:"cpu",kernelFunc:xpe}}));function _pe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,filter:a}=t,{strides:i,dilations:o,pad:l,dimRoundingMode:u,inputShape:c}=r;be([s,a],"depthwiseConv2DNativeBackpropInput");const h=Ie(s.shape),d=Ie(a.shape),p=dn(c,a.shape,i,o,l,u,!0),f=new Ot(p.inShape,"float32"),g=f.values,[v,y,b]=f.strides,w=n.data.get(s.dataId).values,[x,_,$]=h,N=n.data.get(a.dataId).values,[k,A,O]=d,{batchSize:R,filterHeight:T,filterWidth:S,inChannels:F,inHeight:M,inWidth:L,outChannels:z,outHeight:q,outWidth:J,strideHeight:re,strideWidth:Y}=p,ae=T-1-p.padInfo.top,ne=S-1-p.padInfo.left,oe=z/F;for(let ce=0;ce<R;++ce)for(let ve=0;ve<F;++ve)for(let _e=0;_e<M;++_e){const $e=_e-ae,Re=Math.max(0,Math.ceil($e/re)),Oe=Math.min(q,(T+$e)/re);for(let He=0;He<L;++He){const Xe=He-ne,dt=Math.max(0,Math.ceil(Xe/Y)),nt=Math.min(J,(S+Xe)/Y);let Qe=0;for(let lt=Re;lt<Oe;++lt){const at=lt*re-$e;for(let Rn=dt;Rn<nt;++Rn){const Ta=Rn*Y-Xe,Qn=x*ce+_*lt+$*Rn,Ea=k*(T-1-at)+A*(S-1-Ta)+O*ve;for(let Or=0;Or<oe;++Or){const js=w[Qn+(ve*oe+Or)],_o=N[Ea+Or];Qe+=js*_o}}}g[v*ce+y*_e+b*He+ve]=Qe}}return n.makeTensorInfo(f.shape,f.dtype,f.values)}var EM,Spe=m((()=>{C(),xe(),EM={kernelName:sc,backendName:"cpu",kernelFunc:_pe}}));function Ipe(e){const{inputs:t,backend:n}=e,{x:r}=t,s=te(r.shape),a=n.data.get(r.dataId).values,i=Fe([s,s],r.dtype),o=i.values;for(let u=0;u<a.length;u++)o[u*s+u]=a[u];const l=[...r.shape,...r.shape];return n.makeTensorInfo(l,i.dtype,i.values)}var AM,Npe=m((()=>{C(),AM={kernelName:ac,backendName:"cpu",kernelFunc:Ipe}})),RM,Cpe=m((()=>{C(),RM={kernelName:Ko,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s}=e,{strides:a,pad:i,dilations:o}=n,l=t,u=l.data.get(r.dataId).values,c=r.shape.length,h=l.data.get(s.dataId).values,d=s.shape.length,{batchSize:p,inHeight:f,inWidth:g,inChannels:v,outHeight:y,outWidth:b,padInfo:w,strideHeight:x,strideWidth:_,filterHeight:$,filterWidth:N,dilationHeight:k,dilationWidth:A,outShape:O}=Bd(r.shape,s.shape,a,i,"NHWC",o),R=te(O),T=O.length,S=Dt(r.dtype,R);for(let F=0;F<p;++F)for(let M=0;M<y;++M){const L=M*x-w.top;for(let z=0;z<b;++z){const q=z*_-w.left;for(let J=0;J<v;++J){let re=Number.MIN_SAFE_INTEGER;for(let ae=0;ae<$;++ae){const ne=L+ae*k;if(ne>=0&&ne<f)for(let oe=0;oe<N;++oe){const ce=q+oe*A;if(ce>=0&&ce<g){const ve=Xr([F,ne,ce,J],c,Ie(r.shape)),_e=Xr([ae,oe,J],d,Ie(s.shape)),$e=u[ve]+h[_e];$e>re&&(re=$e)}}}const Y=Xr([F,M,z,J],T,Ie(O));S[Y]=re}}}return{dataId:l.write(wi(S,r.dtype),O,r.dtype),shape:O,dtype:r.dtype}}}})),DM,$pe=m((()=>{C(),DM={kernelName:oc,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s,dy:a}=e,{strides:i,pad:o,dilations:l}=n,u=t,c=xr(r.shape,u.data.get(r.dataId).values),h=xr(s.shape,u.data.get(s.dataId).values),{batchSize:d,inHeight:p,inWidth:f,inChannels:g,outHeight:v,outWidth:y,padInfo:b,strideHeight:w,strideWidth:x,filterHeight:_,filterWidth:$,dilationHeight:N,dilationWidth:k,outShape:A}=Bd(r.shape,s.shape,i,o,"NHWC",l);E(a.rank===A.length,()=>`Error in ${oc}, dy must have the same rank as output ${A.length}, but got ${a.rank}`);const O=xr(A,u.data.get(a.dataId).values),R=Ix(s.shape,s.dtype);for(let T=0;T<d;++T)for(let S=0;S<v;++S){const F=S*w-b.top;for(let M=0;M<y;++M){const L=M*x-b.left;for(let z=0;z<g;++z){let q=Number.MIN_SAFE_INTEGER,J=0,re=0;for(let Y=0;Y<_;++Y){const ae=F+Y*N;if(ae>=0&&ae<p)for(let ne=0;ne<$;++ne){const oe=L+ne*k;if(oe>=0&&oe<f){const ce=c[T][ae][oe][z]+h[Y][ne][z];ce>q&&(q=ce,J=Y,re=ne)}}}R[J][re][z]+=O[T][S][M][z]}}}return{dataId:u.write(wi(R,r.dtype),s.shape,s.dtype),shape:s.shape,dtype:s.dtype}}}})),OM,kpe=m((()=>{C(),OM={kernelName:ic,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:r,filter:s,dy:a}=e,{strides:i,pad:o,dilations:l}=n,u=t,c=xr(r.shape,u.data.get(r.dataId).values),h=xr(s.shape,u.data.get(s.dataId).values),{batchSize:d,inHeight:p,inWidth:f,inChannels:g,outHeight:v,outWidth:y,padInfo:b,strideHeight:w,strideWidth:x,filterHeight:_,filterWidth:$,dilationHeight:N,dilationWidth:k,outShape:A}=Bd(r.shape,s.shape,i,o,"NHWC",l);E(a.rank===A.length,()=>`Error in ${ic}, dy must have the same rank as output ${A.length}, but got ${a.rank}`);const O=xr(A,u.data.get(a.dataId).values),R=Ix(r.shape,r.dtype);for(let T=0;T<d;++T)for(let S=0;S<v;++S){const F=S*w-b.top;for(let M=0;M<y;++M){const L=M*x-b.left;for(let z=0;z<g;++z){let q=Number.MIN_SAFE_INTEGER,J=F<0?0:F,re=L<0?0:L;for(let Y=0;Y<_;++Y){const ae=F+Y*N;if(ae>=0&&ae<p)for(let ne=0;ne<$;++ne){const oe=L+ne*k;if(oe>=0&&oe<f){const ce=c[T][ae][oe][z]+h[Y][ne][z];ce>q&&(q=ce,J=ae,re=oe)}}}R[T][J][re][z]+=O[T][S][M][z]}}}return{dataId:u.write(wi(R,r.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}}}));function Tpe(e){const{inputs:t,backend:n,attrs:r}=e,{image:s}=t,{canvas:a,options:i}=r,{contextOptions:o,imageOptions:l}=i||{},u=l?.alpha||1,c=o?.contextType||"2d";if(c!=="2d")throw new Error(`Context type ${o.contextType} is not supported by the CPU backend.`);const h=a.getContext(c,o?.contextAttributes||{});if(h==null)throw new Error(`Could not get the context with ${c} type.`);const[d,p]=s.shape.slice(0,2),f=s.shape.length===2?1:s.shape[2],g=n.data.get(s.dataId).values,v=s.dtype==="float32"?255:1,y=new Uint8ClampedArray(p*d*4);for(let w=0;w<d*p;++w){const x=[0,0,0,255*u];for(let $=0;$<f;$++){const N=g[w*f+$];if(s.dtype==="float32"){if(N<0||N>1)throw new Error(`Tensor values for a float32 Tensor must be in the range [0 - 1] but encountered ${N}.`)}else if(s.dtype==="int32"&&(N<0||N>255))throw new Error(`Tensor values for a int32 Tensor must be in the range [0 - 255] but encountered ${N}.`);f===1?(x[0]=N*v,x[1]=N*v,x[2]=N*v):x[$]=N*v}const _=w*4;y[_+0]=Math.round(x[0]),y[_+1]=Math.round(x[1]),y[_+2]=Math.round(x[2]),y[_+3]=Math.round(x[3])}a.width=p,a.height=d;const b=new ImageData(y,p,d);return h.putImageData(b,0,0),s}var FM,Epe=m((()=>{C(),FM={kernelName:vd,backendName:"cpu",kernelFunc:Tpe}}));function Xf(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"sum");let o;s.dtype==="bool"?o=ho({inputs:{x:s},backend:n,attrs:{dtype:"int32"}}):o=Vs({inputs:{x:s},backend:n});const l=o.shape.length,u=Be(a,o.shape),c=kt(u,l);let h=u,d=o;c!=null&&(d=sr({inputs:{x:o},backend:n,attrs:{perm:c}}),h=Wt(h.length,l)),Sn("sum",h,d.shape.length);const[p,f]=pn(d.shape,h),g=zn(d.dtype,"int32");let v=_b(n,p,g);const y=te(f),b=n.data.get(v.dataId).values,w=n.data.get(d.dataId).values;for(let x=0;x<b.length;++x){const _=x*y;let $=0;for(let N=0;N<y;++N)$+=w[_+N];b[x]=$}if(i){const x=Vt(v.shape,u),_=v;v=bt({inputs:{x:v},backend:n,attrs:{shape:x}}),n.disposeIntermediateTensorInfo(_)}return n.disposeIntermediateTensorInfo(o),c!=null&&n.disposeIntermediateTensorInfo(d),v}var LM,Yf=m((()=>{C(),xe(),YO(),qh(),Sa(),kn(),$r(),LM={kernelName:"Sum",backendName:"cpu",kernelFunc:Xf}}));function Ape(e){const{inputs:t,backend:n,attrs:r}=e,{equation:s}=r,a=t,{allDims:i,summedDims:o,idDims:l}=k1(s,a.length);E1(i.length,l,a);const{path:u,steps:c}=A1(o,l),h=c.length;let d=null,p=i.length;const f=[];for(let g=0;g<h;++g){for(const v of c[g]){const{permutationIndices:y,expandDims:b}=T1(p,l[v]);let w;R1(y)?w=a[v]:(w=sr({inputs:{x:a[v]},backend:n,attrs:{perm:y}}),f.push(w));const x=w.shape.slice();for(let _=0;_<b.length;++_)x.splice(b[_],0,1);Ue(w.shape,x)||(w=bt({inputs:{x:w},backend:n,attrs:{shape:x}}),f.push(w)),d===null?d=w:(d=qf({inputs:{a:w,b:d},backend:n}),f.push(d))}g<h-1&&(u[g]>=0&&(d=Xf({inputs:{x:d},backend:n,attrs:{axis:u[g]-(i.length-p),keepDims:!1}}),f.push(d)),p--)}for(const g of f)g!==d&&n.disposeIntermediateTensorInfo(g);return d}var PM,Rpe=m((()=>{C(),Xh(),kn(),Yf(),$r(),PM={kernelName:lc,backendName:"cpu",kernelFunc:Ape}}));function Dpe(e){const{inputs:t,backend:n}=e,{dy:r,y:s}=t;be([r,s],"eluGrad");const a=new Float32Array(te(s.shape)),i=n.data.get(s.dataId).values,o=n.data.get(r.dataId).values;for(let l=0;l<i.length;++l){const u=i[l];u>=0?a[l]=o[l]:a[l]=o[l]*(u+1)}return n.makeTensorInfo(s.shape,"float32",a)}var MM,Ope=m((()=>{C(),xe(),MM={kernelName:uc,backendName:"cpu",kernelFunc:Dpe}})),zM,BM,VM,WM,UM,GM,HM,jM,Fpe=m((()=>{C(),qe(),zM=Iv,BM=Nv,VM=Cv,WM=$v,UM=kv,GM=Tv,HM=ot("Erf",e=>{const t=Math.sign(e),n=Math.abs(e),r=1/(1+zM*n);return t*(1-((((GM*r+UM)*r+WM)*r+VM)*r+BM)*r*Math.exp(-n*n))}),jM={kernelName:"Erf",backendName:"cpu",kernelFunc:HM}}));function kb(e){const{inputs:t,backend:n,attrs:r}=e,{input:s}=t,{dim:a}=r,i=s.shape.length,o=s.shape.slice();let l=a;return a<0&&(E(-(i+1)<=a,()=>`Axis must be in the interval [${-(i+1)}, ${i}]`),l=i+a+1),o.splice(l,0,1),bt({inputs:{x:s},backend:n,attrs:{shape:o}})}var qM,VS=m((()=>{C(),kn(),qM={kernelName:Yo,backendName:"cpu",kernelFunc:kb}})),KM,Tb,Eb,Ab=m((()=>{C(),Kt(),ln(),KM=qt((e,t)=>e/t),Tb=on(Ga,KM),Eb={kernelName:Ga,backendName:"cpu",kernelFunc:Tb}}));function XM(e,t,n){const r=e.shape,s=r[0],a=r[1],i=n.data.get(e.dataId),o=i.complexTensorInfos.real,l=i.complexTensorInfos.imag,u=[s,a],c=te(u),h=un("float32",c),d=un("float32",c);for(let v=0;v<s;v++){const y=Eu({inputs:{x:o},backend:n,attrs:{begin:[v,0],size:[1,a]}}),b=Eu({inputs:{x:l},backend:n,attrs:{begin:[v,0],size:[1,a]}}),w=vr({inputs:{real:y,imag:b},backend:n}),{real:x,imag:_}=Lpe(w,t,n),$=va(x,_);for(let N=0;N<a;N++){const k=$1($,N);h[v*a+N]=k.real,d[v*a+N]=k.imag}n.disposeIntermediateTensorInfo(y),n.disposeIntermediateTensorInfo(b),n.disposeIntermediateTensorInfo(w)}const p=n.makeTensorInfo(u,"float32",h),f=n.makeTensorInfo(u,"float32",d),g=vr({inputs:{real:p,imag:f},backend:n});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),g}function Lpe(e,t,n){const r=te(e.shape),s=n.data.get(e.dataId),a=n.data.get(s.complexTensorInfos.real.dataId).values,i=n.data.get(s.complexTensorInfos.imag.dataId).values;if(Ppe(r)){const o=WS(a,i,r,t,n),l=[e.shape[0],e.shape[1]];if(t){const u=n.makeTensorInfo(l,"float32",o.real),c=n.makeTensorInfo(l,"float32",o.imag),h=n.makeTensorInfo([],"float32",Qs(r,"float32")),d=Vs({inputs:{x:h},backend:n}),p=Eb.kernelFunc({inputs:{a:u,b:h},backend:n}),f=Eb.kernelFunc({inputs:{a:c,b:d},backend:n}),g=n.data.get(p.dataId).values,v=n.data.get(f.dataId).values;return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),{real:g,imag:v}}return o}else{const o=Mpe(va(a,i),r,t);return YT(o)}}function Ppe(e){return(e&e-1)===0}function WS(e,t,n,r,s){if(n===1)return{real:e,imag:t};const a=va(e,t),i=n/2,o=ZT(a),l=o.real,u=o.imag,c=[l.length],h=s.makeTensorInfo(c,"float32",l),d=s.makeTensorInfo(c,"float32",u),p=vr({inputs:{real:h,imag:d},backend:s}),f=JT(a),g=f.real,v=f.imag,y=[g.length],b=s.makeTensorInfo(y,"float32",g),w=s.makeTensorInfo(y,"float32",v),x=vr({inputs:{real:b,imag:w},backend:s}),_=WS(l,u,i,r,s),$=_.real,N=_.imag,k=[$.length],A=s.makeTensorInfo(k,"float32",$),O=s.makeTensorInfo(k,"float32",N),R=vr({inputs:{real:A,imag:O},backend:s}),T=WS(g,v,i,r,s),S=T.real,F=T.imag,M=[S.length],L=s.makeTensorInfo(M,"float32",S),z=s.makeTensorInfo(M,"float32",F),q=vr({inputs:{real:L,imag:z},backend:s}),J=e2(n,r),re=[J.real.length],Y=s.makeTensorInfo(re,"float32",J.real),ae=s.makeTensorInfo(re,"float32",J.imag),ne=vr({inputs:{real:Y,imag:ae},backend:s}),oe=qf({inputs:{a:ne,b:q},backend:s}),ce=ku({inputs:{a:R,b:oe},backend:s}),ve=Nb({inputs:{a:R,b:oe},backend:s}),_e=$u({inputs:{input:ce},backend:s}),$e=$u({inputs:{input:ve},backend:s}),Re=Zh({inputs:{input:ce},backend:s}),Oe=Zh({inputs:{input:ve},backend:s}),He=Jh({inputs:[_e,$e],backend:s,attrs:{axis:0}}),Xe=Jh({inputs:[Re,Oe],backend:s,attrs:{axis:0}}),dt=s.data.get(He.dataId).values,nt=s.data.get(Xe.dataId).values;return s.disposeIntermediateTensorInfo(h),s.disposeIntermediateTensorInfo(d),s.disposeIntermediateTensorInfo(p),s.disposeIntermediateTensorInfo(b),s.disposeIntermediateTensorInfo(w),s.disposeIntermediateTensorInfo(x),s.disposeIntermediateTensorInfo(A),s.disposeIntermediateTensorInfo(O),s.disposeIntermediateTensorInfo(R),s.disposeIntermediateTensorInfo(L),s.disposeIntermediateTensorInfo(z),s.disposeIntermediateTensorInfo(q),s.disposeIntermediateTensorInfo(Y),s.disposeIntermediateTensorInfo(ae),s.disposeIntermediateTensorInfo(ne),s.disposeIntermediateTensorInfo(oe),s.disposeIntermediateTensorInfo(ce),s.disposeIntermediateTensorInfo(ve),s.disposeIntermediateTensorInfo(_e),s.disposeIntermediateTensorInfo(Re),s.disposeIntermediateTensorInfo($e),s.disposeIntermediateTensorInfo(Oe),s.disposeIntermediateTensorInfo(He),s.disposeIntermediateTensorInfo(Xe),{real:dt,imag:nt}}function Mpe(e,t,n){const r=new Float32Array(t*2);for(let s=0;s<t;s++){let a=0,i=0;for(let o=0;o<t;o++){const l=t2(s*o,t,n),u=$1(e,o);a+=u.real*l.real-u.imag*l.imag,i+=u.real*l.imag+u.imag*l.real}n&&(a/=t,i/=t),QT(r,a,i,s)}return r}var YM=m((()=>{C(),Kh(),co(),BS(),Sa(),Kf(),Xh(),jh(),Ab(),Au(),Cb()}));function zpe(e){const{inputs:t,backend:n}=e,{input:r}=t,s=te(r.shape),a=r.shape[r.shape.length-1],i=s/a,o=bt({inputs:{x:r},backend:n,attrs:{shape:[i,a]}}),l=XM(o,!1,n),u=bt({inputs:{x:l},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(l),u}var ZM,Bpe=m((()=>{C(),YM(),kn(),ZM={kernelName:"FFT",backendName:"cpu",kernelFunc:zpe}}));function US(e){const{backend:t,attrs:n}=e,{shape:r,value:s,dtype:a}=n,i=a||Ao(s),o=Dt(i,te(r));return Vpe(o,s,i),t.makeTensorInfo(r,i,o)}function Vpe(e,t,n){e.fill(t)}var JM,GS=m((()=>{C(),JM={kernelName:cc,backendName:"cpu",kernelFunc:US}})),QM,Wpe=m((()=>{C(),QM={kernelName:hc,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:r}=e,s=n,a=un(r.dtype,te(r.shape)),[i,o,l,u]=r.shape,c=s.data.get(r.dataId).values;for(let h=0;h<i;h++){const d=h*l*o*u;for(let p=0;p<o;p++){const f=p*(l*u);for(let g=0;g<l;g++){const v=g*u;for(let y=0;y<u;y++){const b=Math.round(l-g-1),w=d+f+v+y;let x=c[w];if(b>=0&&b<l){const _=b*u;x=c[d+f+_+y]}a[w]=x}}}}return{dataId:s.write(a,r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}}}));function Upe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r;let g=uM({inputs:{x:s,filter:a},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d}});if(i){const v=g;if(c==="NCHW"&&i.shape.length===1&&i.shape[0]!==1){const y=bt({inputs:{x:i},backend:n,attrs:{shape:[i.shape[0],1,1]}});g=ku({inputs:{a:g,b:y},backend:n}),n.disposeIntermediateTensorInfo(y)}else g=ku({inputs:{a:g,b:i},backend:n});n.disposeIntermediateTensorInfo(v)}if(p){const v=g;if(c==="NCHW"&&p==="prelu"&&o.shape.length===1&&o.shape[0]!==1){const y=bt({inputs:{x:o},backend:n,attrs:{shape:[o.shape[0],1,1]}});g=$b(n,g,p,y,f),n.disposeIntermediateTensorInfo(y)}else g=$b(n,g,p,o,f);n.disposeIntermediateTensorInfo(v)}return g}var e3,Gpe=m((()=>{C(),MS(),Kh(),hM(),kn(),e3={kernelName:Al,backendName:"cpu",kernelFunc:Upe}}));function Hpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,filter:a,bias:i,preluActivationWeights:o}=t,{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d,activation:p,leakyreluAlpha:f}=r;let g=CM({inputs:{x:s,filter:a},backend:n,attrs:{strides:l,pad:u,dataFormat:c,dilations:h,dimRoundingMode:d}});if(i){const v=g;g=ku({inputs:{a:g,b:i},backend:n}),n.disposeIntermediateTensorInfo(v)}if(p){const v=g;g=$b(n,g,p,o,f),n.disposeIntermediateTensorInfo(v)}return g}var t3,jpe=m((()=>{C(),MS(),Kh(),kM(),t3={kernelName:Rl,backendName:"cpu",kernelFunc:Hpe}}));function qpe(e){const{inputs:t,backend:n}=e,{params:r,indices:s}=t,a=te(r.shape),i=s.shape,o=i[i.length-1],[l,u,c,h]=vv(r,s);if(u===0)return n.makeTensorInfo(l,r.dtype,[]);const d=n.data.get(s.dataId).values,p=n.bufferSync(r),f=SF(d,p,r.dtype,u,o,c,h,r.shape,a);return n.makeTensorInfo(l,r.dtype,f.values)}var n3,Kpe=m((()=>{C(),IF(),n3={kernelName:dc,backendName:"cpu",kernelFunc:qpe}}));function Xpe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,indices:a}=t,{axis:i,batchDims:o}=r;be([s,a],"gatherV2");const l=Be(i,s.shape)[0],u=n.data.get(a.dataId).values,c=s.shape[l];for(let x=0;x<u.length;++x){const _=u[x];E(_<=c-1&&_>=0,()=>`GatherV2: the index value ${_} is not in [0, ${c-1}]`)}let h=o;o==null&&(h=0);const d=te(a.shape),p=M1(s,a,l,h),f=bt({inputs:{x:s},backend:n,attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]}}),g=bt({inputs:{x:a},backend:n,attrs:{shape:[p.batchSize,d/p.batchSize]}}),v=[p.batchSize,p.outerSize,d/p.batchSize,p.sliceSize],y=n.bufferSync(g),b=n.bufferSync(f),w=NF(b,y,v);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(g),n.makeTensorInfo(p.outputShape,w.dtype,w.values)}var r3,Ype=m((()=>{C(),xe(),CF(),kn(),r3={kernelName:Jo,backendName:"cpu",kernelFunc:Xpe}}));function Zpe(e){const{inputs:t,backend:n}=e,{input:r}=t,s=te(r.shape),a=r.shape[r.shape.length-1],i=s/a,o=bt({inputs:{x:r},backend:n,attrs:{shape:[i,a]}}),l=XM(o,!0,n),u=bt({inputs:{x:l},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(l),u}var s3,Jpe=m((()=>{C(),YM(),kn(),s3={kernelName:pc,backendName:"cpu",kernelFunc:Zpe}})),a3,i3,Qpe=m((()=>{C(),qe(),a3=ot(Ya,e=>Number.isFinite(e)?1:0,"bool"),i3={kernelName:Ya,backendName:"cpu",kernelFunc:a3}})),o3,l3,efe=m((()=>{C(),qe(),o3=ot(Za,e=>Math.abs(e)===1/0?1:0,"bool"),l3={kernelName:Za,backendName:"cpu",kernelFunc:o3}})),u3,c3,tfe=m((()=>{C(),qe(),u3=ot(Ja,e=>Number.isNaN(e)?1:0,"bool"),c3={kernelName:Ja,backendName:"cpu",kernelFunc:u3}}));function nfe(e){const{backend:t,attrs:n}=e,{start:r,stop:s,num:a}=n,i=zF(r,s,a);return t.makeTensorInfo([i.length],"float32",i)}var h3,rfe=m((()=>{C(),BF(),h3={kernelName:mc,backendName:"cpu",kernelFunc:nfe}})),d3,p3,sfe=m((()=>{C(),qe(),d3=ot(Qa,e=>Math.log1p(e)),p3={kernelName:Qa,backendName:"cpu",kernelFunc:d3}})),f3,m3,g3,afe=m((()=>{C(),Kt(),ln(),f3=qt((e,t)=>e&&t),m3=on(rl,f3,null,"bool"),g3={kernelName:rl,backendName:"cpu",kernelFunc:m3}})),v3,y3,ife=m((()=>{C(),qe(),v3=ot(sl,e=>e?0:1,"bool"),y3={kernelName:sl,backendName:"cpu",kernelFunc:v3}})),b3,x3,w3,ofe=m((()=>{C(),Kt(),ln(),b3=qt((e,t)=>e||t),x3=on(al,b3,null,"bool"),w3={kernelName:al,backendName:"cpu",kernelFunc:x3}}));function lfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{depthRadius:a,bias:i,alpha:o,beta:l}=r;be(s,"LRN");const u=s.shape[3],c=u-1,h=n.data.get(s.dataId).values,d=te(s.shape),p=new Float32Array(d);function f(g){const v=g%u;let y=g-v+Math.max(0,v-a);const b=g-v+Math.min(v+a,c);let w=0;for(;y<=b;y++){const x=h[y];w+=x*x}return w}for(let g=0;g<d;g++){const v=f(g),y=h[g]*Math.pow(i+o*v,-l);p[g]=y}return n.makeTensorInfo(s.shape,s.dtype,p)}var _3,ufe=m((()=>{C(),xe(),_3={kernelName:"LRN",backendName:"cpu",kernelFunc:lfe}}));function cfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,y:a,dy:i}=t,{depthRadius:o,bias:l,alpha:u,beta:c}=r;be(i,"LRNGrad");const h=te(i.shape),d=i.shape[3],p=n.data.get(i.dataId).values,f=n.data.get(s.dataId).values,g=n.data.get(a.dataId).values,v=new Float32Array(h),y=h;for(let b=0;b<y;b++){const w=b%d,x=b-w+Math.max(0,w-o),_=b-w+Math.min(d,w+o+1);let $=0;for(let N=x;N<_;N++)$+=Math.pow(f[N],2);$=u*$+l;for(let N=x;N<_;N++){let k=-2*u*c*f[N]*g[b]/$;b===N&&(k+=Math.pow($,-c)),k*=p[b],v[N]+=k}}return n.makeTensorInfo(i.shape,s.dtype,v)}var S3,hfe=m((()=>{C(),xe(),S3={kernelName:gc,backendName:"cpu",kernelFunc:cfe}}));function I3(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{reductionIndices:a,keepDims:i}=r,o=n;let l=s.shape;const u=l.length,c=Be(a,l);let h=c;const d=kt(h,u);let p=o.data.get(s.dataId).values;if(d!=null){const x=new Array(u);for(let _=0;_<x.length;_++)x[_]=l[d[_]];p=SS(p,l,s.dtype,d,x),h=Wt(h.length,u),l=x}be(s,"max"),Sn("max",h,u);const[f,g]=pn(l,h),v=te(g),y=GF(p,v,f,s.dtype),b=o.write(y,f,s.dtype);let w=f;return i&&(w=Vt(f,c)),{dataId:b,shape:w,dtype:s.dtype}}var N3,C3=m((()=>{C(),xe(),HF(),IS(),N3={kernelName:"Max",backendName:"cpu",kernelFunc:I3}}));function dfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t;be(s,"maxPool");const{filterSize:a,strides:i,pad:o,dimRoundingMode:l}=r,u=1;E(_n(i,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${i} and dilations '${u}'`);const c=Br(s.shape,a,i,u,o,l);let h;if(c.filterWidth===1&&c.filterHeight===1&&Ue(c.inShape,c.outShape))h=Vs({inputs:{x:s},backend:n});else{const d=n.data.get(s.dataId).values,p=Ie(s.shape),f=zS(d,s.shape,s.dtype,p,c,"max");h=n.makeTensorInfo(c.outShape,s.dtype,f.values)}return h}var $3,pfe=m((()=>{C(),xe(),Ru(),Sa(),$3={kernelName:il,backendName:"cpu",kernelFunc:dfe}}));function ffe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{filterSize:a,strides:i,pad:o,dimRoundingMode:l,dataFormat:u}=r;be(s,"maxPool3d");const c=aa(s.shape,a,i,1,o,l,u),h=n.data.get(s.dataId).values,d=KP(h,s.shape,s.dtype,Ie(s.shape),c,"max");return n.makeTensorInfo(d.shape,"float32",d.values)}var k3,mfe=m((()=>{C(),xe(),Ru(),k3={kernelName:ol,backendName:"cpu",kernelFunc:ffe}}));function gfe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a}=t,{filterSize:i,strides:o,pad:l,dimRoundingMode:u}=r;be([s,a],"maxPool3DGrad");const c=aa(a.shape,i,o,1,l,u),h=n.bufferSync(a),d=Dde(h,c),p=c.strideDepth,f=c.strideHeight,g=c.strideWidth,v=c.dilationDepth,y=c.dilationHeight,b=c.dilationWidth,w=c.effectiveFilterDepth,x=c.effectiveFilterHeight,_=c.effectiveFilterWidth,$=w-1-c.padInfo.front,N=_-1-c.padInfo.left,k=x-1-c.padInfo.top,A=Fe(a.shape,"float32"),O=n.bufferSync(s);for(let R=0;R<c.batchSize;++R)for(let T=0;T<c.inChannels;++T)for(let S=0;S<c.inDepth;++S)for(let F=0;F<c.inHeight;++F)for(let M=0;M<c.inWidth;++M){const L=S-$,z=F-k,q=M-N;let J=0;for(let re=0;re<w;re+=v){const Y=(L+re)/p;if(!(Y<0||Y>=c.outDepth||Math.floor(Y)!==Y))for(let ae=0;ae<x;ae+=y){const ne=(z+ae)/f;if(!(ne<0||ne>=c.outHeight||Math.floor(ne)!==ne))for(let oe=0;oe<_;oe+=b){const ce=(q+oe)/g;if(ce<0||ce>=c.outWidth||Math.floor(ce)!==ce)continue;const ve=w*x*_-1-d.get(R,Y,ne,ce,T)===re*x*_+ae*_+oe?1:0;if(ve===0)continue;const _e=O.get(R,Y,ne,ce,T);J+=_e*ve}}}A.set(J,R,S,F,M,T)}return n.makeTensorInfo(A.shape,A.dtype,A.values)}var T3,vfe=m((()=>{C(),xe(),Ru(),T3={kernelName:yc,backendName:"cpu",kernelFunc:gfe}}));function yfe(e){const{inputs:t,backend:n,attrs:r}=e,{dy:s,input:a,output:i}=t,o=a;be([a,i],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:h}=r,d=Br(o.shape,l,u,1,c,h),p=n.data.get(o.dataId).values,f=Fe(d.outShape,o.dtype,qP(p,o.shape,o.dtype,d).values),g=d.strideHeight,v=d.strideWidth,y=d.dilationHeight,b=d.dilationWidth,w=d.effectiveFilterHeight,x=d.effectiveFilterWidth,_=x-1-d.padInfo.left,$=w-1-d.padInfo.top,N=Fe(o.shape,"float32"),k=n.data.get(s.dataId).values,A=Fe(s.shape,"float32",k);for(let O=0;O<d.batchSize;++O)for(let R=0;R<d.inChannels;++R)for(let T=0;T<d.inHeight;++T)for(let S=0;S<d.inWidth;++S){const F=T-$,M=S-_;let L=0;for(let z=0;z<w;z+=y){const q=(F+z)/g;if(!(q<0||q>=d.outHeight||Math.floor(q)!==q))for(let J=0;J<x;J+=b){const re=(M+J)/v;if(re<0||re>=d.outWidth||Math.floor(re)!==re)continue;const Y=w*x-1-f.get(O,q,re,R)===z*x+J?1:0;if(Y===0)continue;const ae=A.get(O,q,re,R);L+=ae*Y}}N.set(L,O,T,S,R)}return n.makeTensorInfo(N.shape,N.dtype,N.values)}var E3,bfe=m((()=>{C(),xe(),Ru(),E3={kernelName:vc,backendName:"cpu",kernelFunc:yfe}}));function xfe(e,t,n,r,s){const a=Ie(t),i=zS(e,t,n,a,s,"max"),o=qP(e,t,n,s,!0,r);return[i.values,o.values]}var wfe=m((()=>{C(),Ru()})),A3,_fe=m((()=>{C(),xe(),wfe(),A3={kernelName:bc,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:r}=e,{filterSize:s,strides:a,pad:i,includeBatchInIndex:o}=t,l=n;be(r,"MaxPoolWithArgmax");const u=l.data.get(r.dataId).values,c=Br(r.shape,s,a,[1,1],i),[h,d]=xfe(u,r.shape,r.dtype,o,c),p=l.write(h,c.outShape,r.dtype),f=l.write(d,c.outShape,r.dtype);return[{dataId:p,shape:c.outShape,dtype:r.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}}}));function Sfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r,o=Be(a,s.shape),l=pn(s.shape,o)[1],u=te(l),c=[],h=n.makeTensorInfo([],"float32",new Float32Array([u]));c.push(h);const d=ho({inputs:{x:s},backend:n,attrs:{dtype:"float32"}});c.push(d);const p=Tb({inputs:{a:d,b:h},backend:n});c.push(p);const f=Xf({inputs:{x:p},backend:n,attrs:{axis:a,keepDims:i}});return c.forEach(g=>n.disposeIntermediateTensorInfo(g)),f}var R3,Ife=m((()=>{C(),qh(),Ab(),Yf(),R3={kernelName:ll,backendName:"cpu",kernelFunc:Sfe}}));function Nfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{axis:a,keepDims:i}=r;be(s,"min");const o=Be(a,s.shape);let l=o;const u=kt(l,s.shape.length);let c=s;u!=null&&(c=sr({inputs:{x:s},backend:n,attrs:{perm:u}}),l=Wt(l.length,s.shape.length)),Sn("min",l,c.shape.length);const[h,d]=pn(c.shape,l),p=te(d),f=xn(te(h),c.dtype),g=n.data.get(c.dataId).values;for(let y=0;y<f.length;++y){const b=y*p;let w=g[b];for(let x=0;x<p;++x){const _=g[b+x];(Number.isNaN(_)||_<w)&&(w=_)}f[y]=w}u!=null&&n.disposeIntermediateTensorInfo(c);const v=n.makeTensorInfo(h,c.dtype,f);if(i){const y=Vt(h,o),b=bt({inputs:{x:v},backend:n,attrs:{shape:y}});return n.disposeIntermediateTensorInfo(v),b}return v}var D3,Cfe=m((()=>{C(),xe(),kn(),$r(),D3={kernelName:"Min",backendName:"cpu",kernelFunc:Nfe}}));function $fe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,mode:i}=r;be(s,"mirrorPad");const o=a.map((b,w)=>b[0]+s.shape[w]+b[1]),l=a.map(b=>b[0]),u=a.map((b,w)=>b[0]+s.shape[w]),c=i==="reflect"?0:1,h=n.data.get(s.dataId).values,d=s.shape.length,p=Ie(s.shape),f=te(o),g=o.length,v=Ie(o),y=un(s.dtype,f);for(let b=0;b<f;b++){let w=Ro(b,g,v);for(let _=0;_<g;_++)w[_]<l[_]?w[_]=l[_]*2-w[_]-c:w[_]>=u[_]&&(w[_]=(u[_]-1)*2-w[_]+c);w=w.map((_,$)=>_-l[$]);const x=Xr(w,d,p);y[b]=h[x]}return{dataId:n.write(y,o,s.dtype),shape:o,dtype:s.dtype}}var O3,kfe=m((()=>{C(),xe(),O3={kernelName:ul,backendName:"cpu",kernelFunc:$fe}})),F3,L3,P3,Tfe=m((()=>{C(),Kt(),ln(),F3=qt(((e,t)=>{const n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t})),L3=on("Mod",F3),P3={kernelName:"Mod",backendName:"cpu",kernelFunc:L3}}));function M3(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{dim:a}=r,i=s.shape.length;let o=a;if(o===-1&&(o=i-1),o!==i-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${i} and dim was ${o}`);const l=Be([o],s.shape),u=I3({inputs:{x:s},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=Vt(u.shape,l),h=bt({inputs:{x:u},backend:n,attrs:{shape:c}}),d=Nb({inputs:{a:s,b:h},backend:n}),p=cS({inputs:{x:d},backend:n}),f=Xf({inputs:{x:p},backend:n,attrs:{axis:l,keepDims:!1}}),g=bt({inputs:{x:f},backend:n,attrs:{shape:c}}),v=Tb({inputs:{a:p,b:g},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(g),v}var z3,B3=m((()=>{C(),hS(),C3(),Ab(),kn(),Cb(),Yf(),z3={kernelName:Nl,backendName:"cpu",kernelFunc:M3}}));function Efe(e){const{inputs:t,backend:n,attrs:r}=e,{logits:s}=t,{numSamples:a,seed:i,normalized:o}=r;be(s,"multinomial");const l=o?s:M3({inputs:{logits:s},backend:n,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],h=n.data.get(l.dataId).values,d=[u,a],p=xn(te(d),"int32");for(let f=0;f<u;++f){const g=f*c,v=new Float32Array(c-1);v[0]=h[g];for(let w=1;w<v.length;++w)v[w]=v[w-1]+h[g+w];const y=V3.alea(i.toString()),b=f*a;for(let w=0;w<a;++w){const x=y();p[b+w]=v.length;for(let _=0;_<v.length;_++)if(x<v[_]){p[b+w]=_;break}}}return o||n.disposeIntermediateTensorInfo(l),n.makeTensorInfo(d,"int32",p)}var V3,W3,Afe=m((()=>{C(),V3=Co(kp()),xe(),B3(),W3={kernelName:xc,backendName:"cpu",kernelFunc:Efe}}));function Rfe(e){const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l}=r;be(s,"NonMaxSuppression");const u=n.data.get(s.dataId).values,c=n.data.get(a.dataId).values,{selectedIndices:h}=U3(u,c,i,o,l);return n.makeTensorInfo([h.length],"int32",new Int32Array(h))}var U3,G3,Dfe=m((()=>{C(),xe(),U3=tv,G3={kernelName:wc,backendName:"cpu",kernelFunc:Rfe}}));function Ofe(e){const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,padToMaxOutputSize:u}=r;be(s,"NonMaxSuppressionPadded");const c=n.data.get(s.dataId).values,h=n.data.get(a.dataId).values,{selectedIndices:d,validOutputs:p}=H3(c,h,i,o,l,u);return[n.makeTensorInfo([d.length],"int32",new Int32Array(d)),n.makeTensorInfo([],"int32",new Int32Array([p]))]}var H3,j3,Ffe=m((()=>{C(),xe(),H3=nv,j3={kernelName:_c,backendName:"cpu",kernelFunc:Ofe}}));function Lfe(e){const{inputs:t,backend:n,attrs:r}=e,{boxes:s,scores:a}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,softNmsSigma:u}=r;be(s,"NonMaxSuppressionWithScore");const c=n.data.get(s.dataId).values,h=n.data.get(a.dataId).values,{selectedIndices:d,selectedScores:p}=q3(c,h,i,o,l,u);return[n.makeTensorInfo([d.length],"int32",new Int32Array(d)),n.makeTensorInfo([p.length],"float32",new Float32Array(p))]}var q3,K3,Pfe=m((()=>{C(),xe(),q3=rv,K3={kernelName:Sc,backendName:"cpu",kernelFunc:Lfe}}));function Mfe(e){const{inputs:t,backend:n,attrs:r}=e,{indices:s}=t,{dtype:a,depth:i,onValue:o,offValue:l}=r;be(s,"oneHot");const u=te(s.shape),c=new Float32Array(u*i);c.fill(l);const h=n.data.get(s.dataId).values;for(let d=0;d<u;++d)h[d]>=0&&h[d]<i&&(c[d*i+h[d]]=o);return n.makeTensorInfo([...s.shape,i],a,c)}var X3,zfe=m((()=>{C(),xe(),X3={kernelName:dl,backendName:"cpu",kernelFunc:Mfe}}));function Rb(e){const{inputs:t,backend:n}=e,{x:r}=t;if(r.dtype==="string")throw new Error("zerosLike is not supported for string tensors");if(r.dtype==="complex64"){const s=$u({inputs:{input:r},backend:n}),a=Rb({inputs:{x:s},backend:n}),i=Zh({inputs:{input:r},backend:n}),o=Rb({inputs:{x:i},backend:n}),l=vr({inputs:{real:a,imag:o},backend:n});return n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),l}else return US({backend:n,attrs:{shape:r.shape,value:0,dtype:r.dtype}})}var Y3,Z3=m((()=>{C(),co(),GS(),Kf(),jh(),Y3={kernelName:Tl,backendName:"cpu",kernelFunc:Rb}}));function J3(e){const{inputs:t,backend:n}=e,{x:r}=t;if(r.dtype==="string")throw new Error("onesLike is not supported for string tensors");if(r.dtype==="complex64"){const s=$u({inputs:{input:r},backend:n}),a=J3({inputs:{x:s},backend:n}),i=Zh({inputs:{input:r},backend:n}),o=Rb({inputs:{x:i},backend:n}),l=vr({inputs:{real:a,imag:o},backend:n});return n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),l}else return US({backend:n,attrs:{shape:r.shape,value:1,dtype:r.dtype}})}var Q3,Bfe=m((()=>{C(),co(),GS(),Kf(),jh(),Z3(),Q3={kernelName:hl,backendName:"cpu",kernelFunc:J3}}));function ez(e){const{inputs:t,backend:n,attrs:r}=e,{axis:s}=r;if(t.length===1)return kb({inputs:{input:t[0]},backend:n,attrs:{dim:s}});const a=t[0].shape,i=t[0].dtype;t.forEach(c=>{bn(a,c.shape,"All tensors passed to stack must have matching shapes"),E(i===c.dtype,()=>"All tensors passed to stack must have matching dtypes")});const o=[],l=t.map(c=>{const h=kb({inputs:{input:c},backend:n,attrs:{dim:s}});return o.push(h),h}),u=Jh({inputs:l,backend:n,attrs:{axis:s}});return o.forEach(c=>n.disposeIntermediateTensorInfo(c)),u}var tz,nz=m((()=>{C(),BS(),VS(),tz={kernelName:pl,backendName:"cpu",kernelFunc:ez}}));function Vfe(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{paddings:a,constantValue:i}=r;be(s,"pad");const o=a.map((y,b)=>y[0]+s.shape[b]+y[1]),l=a.map(y=>y[0]),u=n.data.get(s.dataId).values,c=te(s.shape),h=s.shape.length,d=Ie(s.shape),p=te(o),f=o.length,g=Ie(o),v=un(s.dtype,p);i!==0&&v.fill(i);for(let y=0;y<c;y++){const b=Ro(y,h,d).map((x,_)=>x+l[_]),w=Xr(b,f,g);v[w]=u[y]}return{dataId:n.write(v,o,s.dtype),shape:o,dtype:s.dtype}}var HS,rz=m((()=>{C(),xe(),HS={kernelName:fl,backendName:"cpu",kernelFunc:Vfe}})),sz,az,iz,Wfe=m((()=>{C(),Kt(),ln(),sz=qt((e,t)=>Math.pow(e,t)),az=on("Pow",sz),iz={kernelName:"Pow",backendName:"cpu",kernelFunc:az}}));function Ufe(e){const{inputs:t,backend:n,attrs:r}=e,{paramsNestedSplits:s,paramsDenseValues:a,indices:i}=t,{outputRaggedRank:o}=r,l=s.map(y=>n.data.get(y.dataId).values),u=s.map(y=>y.shape),c=n.data.get(a.dataId).values,h=n.data.get(i.dataId).values,[d,p,f]=hL(l,u,c,a.shape,a.dtype,h,i.shape,o),g=d.map(y=>n.makeTensorInfo([y.length],"int32",y)),v=n.makeTensorInfo(f,a.dtype,p);return g.concat([v])}var oz,Gfe=m((()=>{C(),dL(),oz={kernelName:Ic,backendName:"cpu",kernelFunc:Ufe}}));function Hfe(e){const{inputs:t,backend:n}=e,{starts:r,limits:s,deltas:a}=t,i=n.data.get(r.dataId).values,o=n.data.get(s.dataId).values,l=n.data.get(a.dataId).values,[u,c]=pL(i,r.shape,r.dtype,o,s.shape,l,a.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],r.dtype,c)]}var lz,jfe=m((()=>{C(),fL(),lz={kernelName:Nc,backendName:"cpu",kernelFunc:Hfe}}));function qfe(e){const{inputs:t,backend:n,attrs:r}=e,{shape:s,values:a,defaultValue:i,rowPartitionTensors:o}=t,{rowPartitionTypes:l}=r,u=n.data.get(s.dataId).values,c=n.data.get(a.dataId).values,h=n.data.get(i.dataId).values,d=o.map(v=>n.data.get(v.dataId).values),p=o.map(v=>v.shape),[f,g]=vL(u,s.shape,c,a.shape,a.dtype,h,i.shape,d,p,l);return n.makeTensorInfo(f,a.dtype,g)}var uz,Kfe=m((()=>{C(),bL(),uz={kernelName:Cc,backendName:"cpu",kernelFunc:qfe}}));function Xfe(e){const{backend:t,attrs:n}=e,{start:r,stop:s,dtype:a,step:i}=n,o=xL(r,s,i,a);return t.makeTensorInfo([o.length],a,o)}var cz,Yfe=m((()=>{C(),wL(),cz={kernelName:$c,backendName:"cpu",kernelFunc:Xfe}})),hz,dz,Zfe=m((()=>{C(),qe(),hz=ot(ri,e=>1/e),dz={kernelName:ri,backendName:"cpu",kernelFunc:hz}}));function Jfe(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r;be(s,"resizeBilinear");const l=Ie(s.shape),[u,c]=o,[h,d,p,f]=s.shape,g=n.data.get(s.dataId).values,v=new Float32Array(te([h,u,c,f])),y=[a&&u>1?d-1:d,a&&c>1?p-1:p],b=[a&&u>1?u-1:u,a&&c>1?c-1:c];let w=0;const x=y[0]/b[0],_=y[1]/b[1];for(let $=0;$<h;$++)for(let N=0;N<u;N++){let k;i?k=x*(N+.5)-.5:k=x*N;const A=Math.max(0,Math.floor(k)),O=k-A,R=Math.min(d-1,Math.ceil(k)),T=$*l[0]+A*l[1],S=$*l[0]+R*l[1];for(let F=0;F<c;F++){let M;i?M=_*(F+.5)-.5:M=_*F;const L=Math.max(0,Math.floor(M)),z=M-L,q=Math.min(p-1,Math.ceil(M)),J=T+L*l[2],re=S+L*l[2],Y=T+q*l[2],ae=S+q*l[2];for(let ne=0;ne<f;ne++){const oe=g[J+ne],ce=g[re+ne],ve=g[Y+ne],_e=g[ae+ne],$e=oe+(ve-oe)*z,Re=$e+(ce+(_e-ce)*z-$e)*O;v[w++]=Re}}}return n.makeTensorInfo([h,u,c,f],"float32",v)}var pz,Qfe=m((()=>{C(),xe(),pz={kernelName:bl,backendName:"cpu",kernelFunc:Jfe}}));function eme(e){const{inputs:t,backend:n,attrs:r}=e,{images:s,dy:a}=t,{alignCorners:i}=r;be([a,s],"resizeBilinearGrad");const o=Ie(s.shape),[l,u,c,h]=s.shape,[,d,p]=a.shape,f=new Float32Array(l*u*c*h),g=[i&&d>1?u-1:u,i&&p>1?c-1:c],v=[i&&d>1?d-1:d,i&&p>1?p-1:p],y=g[0]/v[0],b=g[1]/v[1],w=n.data.get(a.dataId).values;let x=0;for(let _=0;_<l;_++){const $=_*o[0];for(let N=0;N<d;N++){const k=N*y,A=Math.floor(k),O=Math.min(Math.ceil(k),u-1),R=$+A*o[1],T=$+O*o[1],S=k-A,F=1-S;for(let M=0;M<p;M++){const L=M*b,z=Math.floor(L),q=Math.min(Math.ceil(L),c-1),J=L-z,re=1-J,Y=R+z*o[2],ae=R+q*o[2],ne=T+z*o[2],oe=T+q*o[2],ce=F*re,ve=F*J,_e=S*re,$e=S*J;for(let Re=0;Re<h;Re++){const Oe=w[x++];f[Y+Re]+=Oe*ce,f[ae+Re]+=Oe*ve,f[ne+Re]+=Oe*_e,f[oe+Re]+=Oe*$e}}}}return n.makeTensorInfo([l,c,u,h],"float32",f)}var fz,tme=m((()=>{C(),xe(),fz={kernelName:Ec,backendName:"cpu",kernelFunc:eme}}));function nme(e){const{inputs:t,backend:n,attrs:r}=e,{images:s}=t,{alignCorners:a,halfPixelCenters:i,size:o}=r;be(s,"resizeNearestNeighbor");const l=Ie(s.shape),[u,c]=o,[h,d,p,f]=s.shape,g=n.data.get(s.dataId).values,v=new Float32Array(h*u*c*f),y=[a&&u>1?d-1:d,a&&c>1?p-1:p],b=[a&&u>1?u-1:u,a&&c>1?c-1:c],w=y[0]/b[0],x=y[1]/b[1];let _=0;for(let $=0;$<h;$++){const N=$*l[0];for(let k=0;k<u;k++){const A=i?w*(k+.5):w*k;let O=Math.min(d-1,a?Math.round(A):Math.floor(A));i&&(O=Math.max(0,O));const R=N+O*l[1];for(let T=0;T<c;T++){const S=i?x*(T+.5):x*T;let F=Math.min(p-1,a?Math.round(S):Math.floor(S));i&&(F=Math.max(0,F));const M=R+F*l[2];for(let L=0;L<f;L++){const z=g[M+L];v[_++]=z}}}}return n.makeTensorInfo([h,u,c,f],s.dtype,v)}var mz,rme=m((()=>{C(),xe(),mz={kernelName:yl,backendName:"cpu",kernelFunc:nme}}));function sme(e){const{inputs:t,backend:n,attrs:r}=e,{images:s,dy:a}=t,{alignCorners:i}=r;be([a,s],"resizeNearestNeighborGrad");const o=Ie(s.shape),l=Ie(a.shape),[u,c,h,d]=s.shape,[,p,f]=a.shape,g=new Float32Array(u*c*h*d),v=n.data.get(a.dataId).values,y=[i&&p>1?c-1:c,i&&f>1?h-1:h],b=[i&&p>1?p-1:p,i&&f>1?f-1:f],w=y[0]/b[0],x=y[1]/b[1],_=1/w,$=1/x,N=Math.ceil(_)*2+2,k=Math.ceil($)*2+2;for(let A=0;A<u;A++){const O=A*o[0];for(let R=0;R<c;R++){const T=O+R*o[1],S=Math.floor(R*_),F=Math.floor(S-N/2);for(let M=0;M<h;M++){const L=T+M*o[2],z=Math.floor(M*$),q=Math.floor(z-k/2);for(let J=0;J<d;J++){let re=0;for(let Y=0;Y<N;Y++){const ae=Y+F;if(ae<0||ae>=p)continue;const ne=O+ae*l[1],oe=ae*w,ce=Math.min(c-1,i?Math.round(oe):Math.floor(oe));if(R===ce)for(let ve=0;ve<k;ve++){const _e=ve+q;if(_e<0||_e>=f)continue;const $e=ne+_e*l[2],Re=_e*x,Oe=Math.min(h-1,i?Math.round(Re):Math.floor(Re));M===Oe&&(re+=v[$e+J])}}g[L+J]=re}}}}return n.makeTensorInfo(s.shape,s.dtype,g)}var gz,ame=m((()=>{C(),xe(),gz={kernelName:Tc,backendName:"cpu",kernelFunc:sme}}));function ime(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{dims:a}=r;be(s,"reverse");const i=s.shape.length,o=Be(a,s.shape);if(i===0)return Vs({inputs:{x:s},backend:n});const l=new Ot(s.shape,s.dtype),u=n.bufferSync(s);for(let c=0;c<l.size;c++){const h=l.indexToLoc(c),d=h.slice();o.forEach(p=>d[p]=s.shape[p]-1-d[p]),l.set(u.get(...d),...h)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}var vz,ome=m((()=>{C(),xe(),Sa(),vz={kernelName:xl,backendName:"cpu",kernelFunc:ime}})),yz,lme=m((()=>{C(),yz={kernelName:qc,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:r}=e,{radians:s,fillValue:a,center:i}=t,o=n,l=un(r.dtype,te(r.shape)),[u,c,h,d]=r.shape,[p,f]=I1(i,c,h),g=255,v=Math.sin(s),y=Math.cos(s),b=o.data.get(r.dataId).values;for(let w=0;w<u;w++){const x=w*h*c*d;for(let _=0;_<c;_++){const $=_*(h*d);for(let N=0;N<h;N++){const k=N*d;for(let A=0;A<d;A++){const O=[u,_,N,A],R=O[2],T=O[1];let S=(R-p)*y-(T-f)*v,F=(R-p)*v+(T-f)*y;S=Math.round(S+p),F=Math.round(F+f);let M=a;if(typeof a!="number"&&(A===3?M=g:M=a[A]),S>=0&&S<h&&F>=0&&F<c){const z=F*(h*d),q=S*d;M=b[x+z+q+A]}const L=x+$+k+A;l[L]=M}}}}return{dataId:o.write(l,r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}}})),bz,xz,ume=m((()=>{C(),qe(),bz=ot(ii,e=>{const t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2===0?t:t+1}),xz={kernelName:ii,backendName:"cpu",kernelFunc:bz}}));function cme(e){const{inputs:t,backend:n,attrs:r}=e,{indices:s,updates:a}=t,{shape:i}=r,{sliceRank:o,numUpdates:l,sliceSize:u,strides:c,outputSize:h}=qi(a,s,i),d=!0,p=n.bufferSync(s),f=n.bufferSync(a),g=Tu(p,f,i,h,u,l,o,c,0,d);return n.makeTensorInfo(i,g.dtype,g.values)}var wz,hme=m((()=>{C(),Ib(),wz={kernelName:Ac,backendName:"cpu",kernelFunc:cme}}));function dme(e,t){let n=0,r=e.length,s=0;for(;n<r;)s=Math.floor((n+r)/2),e[s]<t?n=s+1:r=s;return r}function pme(e,t){let n=0,r=e.length,s=0;for(;n<r;)s=Math.floor((n+r)/2),e[s]<=t?n=s+1:r=s;return r}function fme(e,t,n,r,s,a){const i=Dt("int32",n*s);for(let o=0;o<n;++o){const l=e.slice(o*r,(o+1)*r),u=o*s;for(let c=0;c<s;++c)i[u+c]=a==="left"?dme(l,t[c+u]):pme(l,t[c+u])}return i}var mme=m((()=>{C()}));function gme(e){const{inputs:t,backend:n,attrs:r}=e,{sortedSequence:s,values:a}=t,{side:i}=r,o=n.data.get(s.dataId).values,l=n.data.get(a.dataId).values,u=fme(o,l,s.shape[0],s.shape[1],a.shape[1],i);return n.makeTensorInfo(a.shape,"int32",u)}var _z,vme=m((()=>{C(),mme(),_z={kernelName:Dc,backendName:"cpu",kernelFunc:gme}}));function yme(e){const{inputs:t,backend:n}=e,{condition:r,t:s,e:a}=t;be([r,s,a],"select");const i=r.shape.length,o=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,u=n.data.get(a.dataId).values,c=zn(s.dtype,a.dtype),h=xn(te(s.shape),c);let d=0;const p=i===0||i>1||s.shape.length===1?1:te(s.shape.slice(1));for(let f=0;f<o.length;f++)for(let g=0;g<p;g++)o[f]===1?h[d++]=l[f]:h[d++]=u[f];return n.makeTensorInfo(s.shape,c,h)}var Sz,bme=m((()=>{C(),xe(),Sz={kernelName:wl,backendName:"cpu",kernelFunc:yme}})),Iz,Nz,Cz,$z,xme=m((()=>{C(),qe(),Iz=ef,Nz=tf,Cz=ot(li,e=>e>=0?Nz*e:Iz*(Math.exp(e)-1)),$z={kernelName:li,backendName:"cpu",kernelFunc:Cz}})),kz,Tz,wme=m((()=>{C(),qe(),kz=ot(ci,e=>e<0?-1:e>0?1:0),Tz={kernelName:ci,backendName:"cpu",kernelFunc:kz}})),Ez,Az,_me=m((()=>{C(),qe(),Ez=ot("Sin",e=>Math.sin(e)),Az={kernelName:"Sin",backendName:"cpu",kernelFunc:Ez}})),Rz,Dz,Sme=m((()=>{C(),qe(),Rz=ot(ui,e=>Math.sinh(e)),Dz={kernelName:ui,backendName:"cpu",kernelFunc:Rz}})),jS,Oz,Fz,Ime=m((()=>{C(),qe(),jS=Math.log(11920928955078125e-23)+2,Oz=ot(di,e=>{const t=e>-jS,n=e<jS,r=Math.exp(e);let s;return n?s=r:t?s=e:s=Math.log(1+r),s}),Fz={kernelName:di,backendName:"cpu",kernelFunc:Oz}}));function Nme(e){const{inputs:t,backend:n,attrs:r}=e,{x:s}=t,{blockShape:a,paddings:i}=r;be([s],"spaceToBatchND");const o=te(a),l=[[0,0]];l.push(...i);for(let v=1+a.length;v<s.shape.length;++v)l.push([0,0]);const u=HS.kernelFunc({inputs:{x:s},backend:n,attrs:{paddings:l,constantValue:0}}),c=Zp(u.shape,a,o,!1),h=Jp(c.length,a.length,!1),d=Qp(u.shape,a,o,!1),p=bt({inputs:{x:u},backend:n,attrs:{shape:c}}),f=sr({inputs:{x:p},backend:n,attrs:{perm:h}}),g=bt({inputs:{x:f},backend:n,attrs:{shape:d}});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),g}var Lz,Cme=m((()=>{C(),xe(),rz(),kn(),$r(),Lz={kernelName:Sl,backendName:"cpu",kernelFunc:Nme}}));function $me(e){const{inputs:t,backend:n}=e,{indices:r,values:s,denseShape:a,defaultValue:i}=t;if(a.shape.length!==1)throw new Error(`Dense shape must be a vector, saw:
|
|
48
48
|
${a.shape}`);if(r.shape.length!==2)throw new Error(`Indices must be a matrix, saw:
|
|
49
49
|
${r.shape}`);if(s.shape.length!==1)throw new Error(`Values must be a vector, saw:
|
|
50
50
|
${s.shape}`);if(i.shape.length!==0)throw new Error(`Default value must be a scalar, saw:
|
|
@@ -4998,4 +4998,4 @@ return a / b;`,Fj=`
|
|
|
4998
4998
|
}
|
|
4999
4999
|
`}}}));function f0e(e){const{inputs:t,backend:n,attrs:r}=e,{x:s,segmentIds:a}=t,{numSegments:i}=r,o=s.shape.length,l=[];let u=0;const c=kt([u],o);let h=s;c!=null&&(h=Jn({inputs:{x:s},backend:n,attrs:{perm:c}}),l.push(h),u=Wt(1,o)[0]);const d=m2(h.shape,u,i),p=te([h.shape[u]]),f=he({inputs:{x:h},backend:n,attrs:{shape:[-1,p]}});l.push(f);const g=Id(s.dtype),v=(x,_,$,N,k)=>{const A=x.shape[0],O=x.shape[1],R=f2(O,k),T=new d5({windowSize:R,inSize:O,batchSize:A,numSegments:k},_),S=n.compileAndRun(T,[x,$],N);if(l.push(S),S.shape[1]===k)return S;const F=YI({backend:n,attrs:{start:0,stop:k,step:1,dtype:"float32"}}),M=t5({inputs:{x:F},backend:n,attrs:{reps:[O/R]}});return l.push(F),l.push(M),v(S,_,M,N,k)},y=v(f,"unsortedSegmentSum",a,g,i),b=he({inputs:{x:y},backend:n,attrs:{shape:d}});let w=b;if(c!=null){l.push(b);const x=Li(c);w=Jn({inputs:{x:w},backend:n,attrs:{perm:x}})}return l.forEach(x=>n.disposeIntermediateTensorInfo(x)),w}var p5,m0e=m((()=>{C(),p0e(),xq(),tt(),r5(),Dr(),p5={kernelName:kl,backendName:"webgl",kernelFunc:f0e}})),f5,g0e=m((()=>{C(),Yve(),Jve(),Qve(),eye(),tye(),sye(),iye(),lye(),dye(),fye(),mye(),gye(),vye(),yye(),bye(),wye(),Sye(),Nye(),$ye(),Tye(),Rye(),Pye(),zye(),Vye(),Uye(),jye(),qye(),Zye(),bo(),ebe(),bU(),obe(),ube(),dbe(),fbe(),gbe(),ybe(),bbe(),xbe(),_be(),Ibe(),Cbe(),kbe(),Abe(),Dbe(),Fbe(),Pbe(),Bbe(),Ube(),Hbe(),jbe(),qbe(),Kbe(),Xbe(),AG(),DG(),Ybe(),Qbe(),mm(),nxe(),rxe(),sxe(),lxe(),cxe(),dxe(),mxe(),aH(),yxe(),bxe(),Kr(),wxe(),ex(),_xe(),Sxe(),Ixe(),L4(),Nxe(),Cxe(),kxe(),Txe(),Exe(),Axe(),Rxe(),Dxe(),Lxe(),Mxe(),ij(),Vxe(),Uxe(),Hxe(),qxe(),Xxe(),Jxe(),twe(),rwe(),swe(),owe(),lwe(),hwe(),CI(),pwe(),mwe(),vwe(),bwe(),nU(),wwe(),_we(),Iwe(),cq(),$we(),M4(),Twe(),Awe(),Dwe(),Fwe(),xq(),hm(),Pj(),Lwe(),Pwe(),Mwe(),tt(),Wwe(),Hwe(),Xwe(),Jwe(),n1e(),s1e(),a1e(),i1e(),u1e(),d1e(),m1e(),g1e(),v1e(),y1e(),b1e(),x1e(),od(),Wj(),w1e(),_1e(),I1e(),C1e(),k1e(),E1e(),R1e(),O1e(),F1e(),L1e(),P1e(),z1e(),V1e(),G1e(),j1e(),K1e(),Y1e(),zj(),qb(),Z1e(),J1e(),e0e(),r5(),a0e(),l0e(),Dr(),c0e(),d0e(),m0e(),rq(),f5=[q4,K4,Z4,eW,nW,aW,iW,oW,fW,mW,yW,wW,IW,kW,AW,RW,DW,PW,MW,zW,UW,KW,XW,JW,QW,aU,oU,cU,O4,pU,yU,CU,AU,DU,OU,FU,LU,BU,UU,jU,ZU,JU,QU,tG,sG,lG,uG,hG,pG,fG,gG,xG,IG,$G,EG,RG,FG,MG,BG,WG,GG,KG,ZG,JG,QG,tH,sH,uH,pH,D4,fH,gU,vH,xH,SH,F4,$H,AH,RH,LH,zH,UH,jH,YH,ej,rj,aj,cj,hj,dj,gj,vj,yj,bj,xj,Ij,kj,Rj,Uj,B4,jj,Kj,Yj,Jj,tU,tq,aq,iq,uq,fq,P4,mq,gq,vq,yq,bq,rU,Lj,Sq,$q,Aq,V4,Oq,Lq,zq,Vq,Gq,jq,Xq,Jq,e6,n6,s6,o6,h6,f6,y6,w6,jW,Vj,I6,C6,$6,k6,T6,E6,A6,R6,O6,P6,z6,B6,V6,U6,G6,H6,j6,Mj,H4,X6,J6,Q6,n5,o5,u5,j4,c5,h5,p5,nq];for(const e of f5)xd(e)})),m5=m((()=>{Ove(),g0e()})),g5,v0e=m((()=>{g5="4.22.0"})),gs=Te({Abs:()=>"Abs",Acos:()=>Da,Acosh:()=>Oa,AdadeltaOptimizer:()=>Gp,AdagradOptimizer:()=>Hp,AdamOptimizer:()=>jp,AdamaxOptimizer:()=>qp,Add:()=>"Add",AddN:()=>Do,All:()=>"All",Any:()=>"Any",ArgMax:()=>Oo,ArgMin:()=>Fo,Asin:()=>Fa,Asinh:()=>La,Atan:()=>Pa,Atan2:()=>za,Atanh:()=>Ma,AvgPool:()=>Lo,AvgPool3D:()=>Po,AvgPool3DGrad:()=>ju,AvgPoolGrad:()=>Hu,BatchMatMul:()=>Mo,BatchToSpaceND:()=>zo,Bincount:()=>qu,BitwiseAnd:()=>Bo,BroadcastArgs:()=>Ku,BroadcastTo:()=>km,Callback:()=>p_,CallbackList:()=>h0,Cast:()=>Ba,Ceil:()=>Va,ClipByValue:()=>Wa,Complex:()=>Xu,ComplexAbs:()=>Vo,Concat:()=>Wo,Conv2D:()=>Uo,Conv2DBackpropFilter:()=>Yu,Conv2DBackpropInput:()=>Go,Conv3D:()=>Ho,Conv3DBackpropFilterV2:()=>Zu,Conv3DBackpropInputV2:()=>Ju,Cos:()=>"Cos",Cosh:()=>Ua,CropAndResize:()=>ec,Cumprod:()=>Qu,Cumsum:()=>jo,CustomCallback:()=>p0,DataStorage:()=>fd,DenseBincount:()=>tc,DepthToSpace:()=>nc,DepthwiseConv2dNative:()=>qo,DepthwiseConv2dNativeBackpropFilter:()=>rc,DepthwiseConv2dNativeBackpropInput:()=>sc,Diag:()=>ac,Dilation2D:()=>Ko,Dilation2DBackpropFilter:()=>oc,Dilation2DBackpropInput:()=>ic,Draw:()=>vd,ENV:()=>gd,EarlyStopping:()=>f_,Einsum:()=>lc,Elu:()=>"Elu",EluGrad:()=>uc,Environment:()=>$m,Equal:()=>Xo,Erf:()=>"Erf",Exp:()=>"Exp",ExpandDims:()=>Yo,Expm1:()=>Ha,FFT:()=>"FFT",Fill:()=>cc,FlipLeftRight:()=>hc,Floor:()=>ja,FloorDiv:()=>qa,FromPixels:()=>yd,FusedBatchNorm:()=>Zo,FusedConv2D:()=>Al,FusedDepthwiseConv2D:()=>Rl,GPGPUContext:()=>im,GatherNd:()=>dc,GatherV2:()=>Jo,GraphModel:()=>gb,Greater:()=>Qo,GreaterEqual:()=>Ka,History:()=>d0,IFFT:()=>pc,Identity:()=>Xa,Imag:()=>fc,InputSpec:()=>jt,IsFinite:()=>Ya,IsInf:()=>Za,IsNan:()=>Ja,KernelBackend:()=>Gu,LRN:()=>"LRN",LRNGrad:()=>gc,LayerVariable:()=>o0,LayersModel:()=>Ms,LeakyRelu:()=>el,Less:()=>tl,LessEqual:()=>nl,LinSpace:()=>mc,Log:()=>"Log",Log1p:()=>Qa,LogSoftmax:()=>Tm,LogicalAnd:()=>rl,LogicalNot:()=>sl,LogicalOr:()=>al,LogicalXor:()=>Tx,LowerBound:()=>Ex,MathBackendCPU:()=>wb,MathBackendWebGL:()=>Wb,MatrixBandPart:()=>Ax,Max:()=>"Max",MaxPool:()=>il,MaxPool3D:()=>ol,MaxPool3DGrad:()=>yc,MaxPoolGrad:()=>vc,MaxPoolWithArgmax:()=>bc,Maximum:()=>ei,Mean:()=>ll,Min:()=>"Min",Minimum:()=>ti,MirrorPad:()=>ul,Mod:()=>"Mod",MomentumOptimizer:()=>Kp,Multinomial:()=>xc,Multiply:()=>ni,Neg:()=>"Neg",NonMaxSuppressionV3:()=>wc,NonMaxSuppressionV4:()=>_c,NonMaxSuppressionV5:()=>Sc,NotEqual:()=>cl,OP_SCOPE_SUFFIX:()=>kd,OneHot:()=>dl,OnesLike:()=>hl,Optimizer:()=>rs,OptimizerConstructors:()=>wv,Pack:()=>pl,PadV2:()=>fl,Pool:()=>Rx,Pow:()=>"Pow",Prelu:()=>ml,Prod:()=>gl,RMSPropOptimizer:()=>Xp,RNN:()=>Bs,RaggedGather:()=>Ic,RaggedRange:()=>Nc,RaggedTensorToTensor:()=>Cc,Range:()=>$c,Rank:()=>Fm,Real:()=>kc,RealDiv:()=>Ga,Reciprocal:()=>ri,Reduction:()=>Pn,Relu:()=>si,Relu6:()=>ai,Reshape:()=>vl,ResizeBilinear:()=>bl,ResizeBilinearGrad:()=>Ec,ResizeNearestNeighbor:()=>yl,ResizeNearestNeighborGrad:()=>Tc,Reverse:()=>xl,RotateWithOffset:()=>qc,Round:()=>ii,Rsqrt:()=>oi,SGDOptimizer:()=>Oh,ScatterNd:()=>Ac,SearchSorted:()=>Dc,Select:()=>wl,Selu:()=>li,Sequential:()=>Ef,Sigmoid:()=>hi,Sign:()=>ci,Sin:()=>"Sin",Sinh:()=>ui,Slice:()=>_l,Softmax:()=>Nl,Softplus:()=>di,SpaceToBatchND:()=>Sl,SparseFillEmptyRows:()=>Oc,SparseReshape:()=>Fc,SparseSegmentMean:()=>Lc,SparseSegmentSum:()=>Pc,SparseToDense:()=>Mc,SplitV:()=>Il,Sqrt:()=>pi,Square:()=>zc,SquaredDifference:()=>fi,StaticRegexReplace:()=>Cl,Step:()=>vi,StridedSlice:()=>Bc,StringNGrams:()=>Vc,StringSplit:()=>Wc,StringToHashBucketFast:()=>Uc,Sub:()=>"Sub",Sum:()=>"Sum",SymbolicTensor:()=>jr,Tan:()=>"Tan",Tanh:()=>mi,Tensor:()=>Ve,TensorBuffer:()=>Ot,TensorScatterUpdate:()=>Rc,Tile:()=>gi,TopK:()=>Gc,Transform:()=>Hc,Transpose:()=>Js,Unique:()=>jc,Unpack:()=>$l,UnsortedSegmentSum:()=>kl,UpperBound:()=>Dx,Variable:()=>Fl,ZerosLike:()=>Tl,_FusedMatMul:()=>El,abs:()=>Ft,acos:()=>Rd,acosh:()=>Dd,add:()=>ie,addN:()=>jm,all:()=>nh,any:()=>Vl,argMax:()=>zr,argMin:()=>Od,asin:()=>Fd,asinh:()=>Ld,atan:()=>Pd,atan2:()=>Md,atanh:()=>zd,avgPool:()=>Ul,avgPool3d:()=>Ud,backend:()=>Zc,backend_util:()=>z1,basicLSTMCell:()=>qm,batchNorm:()=>Ri,batchNorm2d:()=>jd,batchNorm3d:()=>qd,batchNorm4d:()=>Kd,batchToSpaceND:()=>Gl,bincount:()=>Xd,bitwiseAnd:()=>Xm,booleanMaskAsync:()=>Wg,broadcastArgs:()=>Ym,broadcastTo:()=>oa,broadcast_util:()=>T$,browser:()=>$T,buffer:()=>Fe,callbacks:()=>tD,cast:()=>ue,ceil:()=>Yd,clipByValue:()=>On,clone:()=>Mr,complex:()=>Yr,concat:()=>St,concat1d:()=>Jd,concat2d:()=>Qd,concat3d:()=>ep,concat4d:()=>tp,constraints:()=>Cie,conv1d:()=>ah,conv2d:()=>Zr,conv2dTranspose:()=>ih,conv3d:()=>np,conv3dTranspose:()=>rp,copyRegisteredKernels:()=>sC,cos:()=>Hl,cosh:()=>oh,cosineWindow:()=>Bp,cumprod:()=>jl,cumsum:()=>lh,customGrad:()=>Qr,data:()=>tde,denseBincount:()=>uh,deprecationWarn:()=>EC,depthToSpace:()=>sp,depthwiseConv2d:()=>Oi,deregisterOp:()=>tce,device_util:()=>_C,diag:()=>Qm,dilation2d:()=>ap,disableDeprecationWarnings:()=>TC,dispose:()=>ke,disposeVariables:()=>AC,div:()=>me,divNoNan:()=>ip,dot:()=>op,dropout:()=>zp,einsum:()=>la,elu:()=>Fi,enableDebugMode:()=>kC,enableProdMode:()=>$C,enclosingPowerOfTwo:()=>qg,engine:()=>Lr,ensureShape:()=>tg,env:()=>Z,equal:()=>Un,erf:()=>ch,euclideanNorm:()=>up,exp:()=>Fn,expandDims:()=>Lt,expm1:()=>hp,eye:()=>hh,fft:()=>lu,fill:()=>Di,findBackend:()=>LC,findBackendFactory:()=>PC,floor:()=>zi,floorDiv:()=>eh,forceHalfFloat:()=>E4,fused:()=>Jw,gather:()=>Gr,gatherND:()=>jg,gather_util:()=>ET,getBackend:()=>Zx,getGradient:()=>Em,getKernel:()=>Kc,getKernelsForBackend:()=>bd,gpgpu_util:()=>xve,grad:()=>z$,grads:()=>B$,greater:()=>In,greaterEqual:()=>Jr,ifft:()=>ji,imag:()=>Xl,image:()=>nr,inTopKAsync:()=>Xg,initializers:()=>Rie,input:()=>RR,io:()=>mv,irfft:()=>$h,isFinite:()=>pp,isInf:()=>fp,isNaN:()=>mp,keep:()=>Xt,kernel_impls:()=>v2,layers:()=>ple,leakyRelu:()=>Yl,less:()=>Bi,lessEqual:()=>ks,linalg:()=>Up,linspace:()=>Sw,loadGraphModel:()=>D_,loadGraphModelSync:()=>Che,loadLayersModel:()=>Tf,localResponseNormalization:()=>gp,log:()=>Hn,log1p:()=>Jl,logSigmoid:()=>yp,logSoftmax:()=>ph,logSumExp:()=>Ql,logicalAnd:()=>pr,logicalNot:()=>eu,logicalOr:()=>mh,logicalXor:()=>bp,losses:()=>ov,lowerBound:()=>kw,matMul:()=>Pe,math:()=>CT,max:()=>Gn,maxPool:()=>tu,maxPool3d:()=>wp,maxPoolWithArgmax:()=>lg,maximum:()=>Hr,mean:()=>yt,memory:()=>Td,meshgrid:()=>Ew,metrics:()=>Nue,min:()=>Pi,minimum:()=>Ts,mirrorPad:()=>Sp,mod:()=>Ip,model:()=>T0,models:()=>Uue,moments:()=>da,movingAverage:()=>Ug,mul:()=>U,multiRNNCell:()=>dg,multinomial:()=>pg,neg:()=>ct,nextFrame:()=>_v,norm:()=>Mi,notEqual:()=>pa,oneHot:()=>es,ones:()=>jn,onesLike:()=>qn,op:()=>V,outerProduct:()=>fg,pad:()=>ts,pad1d:()=>mg,pad2d:()=>gg,pad3d:()=>Np,pad4d:()=>vg,pool:()=>Cp,pow:()=>Ur,prelu:()=>su,print:()=>Hm,prod:()=>$p,profile:()=>RC,raggedGather:()=>bg,raggedRange:()=>xg,raggedTensorToTensor:()=>wg,rand:()=>_g,randomGamma:()=>Cg,randomNormal:()=>yh,randomStandardNormal:()=>$g,randomUniform:()=>Es,randomUniformInt:()=>kg,range:()=>Wi,ready:()=>Yx,real:()=>Ui,reciprocal:()=>Tp,registerBackend:()=>zm,registerCallbackConstructor:()=>Foe,registerGradient:()=>Fx,registerKernel:()=>xd,registerOp:()=>ece,regularizers:()=>Hue,relu:()=>_r,relu6:()=>bh,removeBackend:()=>FC,reshape:()=>H,reverse:()=>tr,reverse1d:()=>Eg,reverse2d:()=>Ag,reverse3d:()=>Rg,reverse4d:()=>Dg,rfft:()=>uu,round:()=>xh,rsqrt:()=>wh,scalar:()=>ye,scatterND:()=>Gg,scatter_util:()=>hk,searchSorted:()=>gh,selu:()=>_h,separableConv2d:()=>Sh,sequential:()=>AR,serialization:()=>aT,setBackend:()=>OC,setPlatform:()=>MC,setWebGLContext:()=>cB,setdiff1dAsync:()=>Og,shared:()=>oP,sigmoid:()=>hr,sign:()=>Ap,signal:()=>iv,sin:()=>Ih,sinh:()=>Nh,slice:()=>We,slice1d:()=>au,slice2d:()=>Ch,slice3d:()=>iu,slice4d:()=>Hi,slice_util:()=>g1,softmax:()=>ou,softplus:()=>ha,spaceToBatchND:()=>ru,sparse:()=>lv,sparseToDense:()=>Hg,spectral:()=>av,split:()=>Ln,sqrt:()=>Ut,square:()=>rt,squaredDifference:()=>Th,squeeze:()=>Sr,stack:()=>mn,step:()=>fa,stridedSlice:()=>Dp,string:()=>uv,sub:()=>pe,sum:()=>ge,sumOutType:()=>Id,tan:()=>Op,tanh:()=>Ns,tensor:()=>Vn,tensor1d:()=>Mt,tensor2d:()=>ns,tensor3d:()=>du,tensor4d:()=>Lg,tensor5d:()=>Uw,tensor6d:()=>Gw,tensorScatterUpdate:()=>zg,tensor_util:()=>yC,test_util:()=>X$,tidy:()=>K,tile:()=>er,time:()=>DC,topk:()=>Fp,train:()=>ga,transpose:()=>Ge,truncatedNormal:()=>Eh,unique:()=>Lp,unregisterGradient:()=>rC,unregisterKernel:()=>nC,unsortedSegmentSum:()=>Ah,unstack:()=>Kn,upcastType:()=>zn,upperBound:()=>qw,util:()=>cC,valueAndGrad:()=>V$,valueAndGrads:()=>W$,variable:()=>Bg,variableGrads:()=>Iw,version:()=>v5,version_converter:()=>O_,version_core:()=>xv,version_cpu:()=>OS,version_layers:()=>$f,version_webgl:()=>gI,webgl:()=>R4,webgl_util:()=>_ge,where:()=>Zt,whereAsync:()=>Mp,zeros:()=>Pt,zerosLike:()=>je}),v5,ka=m((()=>{C(),bA(),Zae(),C(),m_(),F_(),UO(),uB(),m5(),uB(),m5(),m_(),F_(),v0e(),v5={"tfjs-core":xv,"tfjs-backend-cpu":OS,"tfjs-backend-webgl":gI,"tfjs-data":Q_,"tfjs-layers":$f,"tfjs-converter":O_,tfjs:g5}})),y5=Te({MobileNet:()=>oN,PoseNet:()=>ux,decodeMultiplePoses:()=>C5,decodeSinglePose:()=>$5,getAdjacentKeyPoints:()=>D0e,getBoundingBox:()=>k5,getBoundingBoxPoints:()=>O0e,load:()=>D5,partChannels:()=>P5,partIds:()=>ud,partNames:()=>Uu,poseChain:()=>lN,scaleAndFlipPoses:()=>sN,scalePose:()=>T5,version:()=>W5});function b5(e,t){function n(){this.constructor=e}aN(e,t),e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function xo(e,t,n,r){return new(n||(n=Promise))(function(s,a){function i(u){try{l(r.next(u))}catch(c){a(c)}}function o(u){try{l(r.throw(u))}catch(c){a(c)}}function l(u){u.done?s(u.value):new n(function(c){c(u.value)}).then(i,o)}l((r=r.apply(e,t||[])).next())})}function wo(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(l){return function(u){return(function(c){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&c[0]?r.return:c[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;switch(r=0,s&&(c=[2&c[0],s.value]),c[0]){case 0:case 1:s=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(s=(s=i.trys).length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){i.label=c[1];break}if(c[0]===6&&i.label<s[1]){i.label=s[1],s=c;break}if(s&&i.label<s[2]){i.label=s[2],i.ops.push(c);break}s[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(h){c=[6,h],r=0}finally{n=s=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([l,u])}}}function eN(e){return Math.floor(e/2)}function y0e(e,t,n,r,s,a){for(var i=a.shape,o=i[0],l=i[1],u=!0,c=Math.max(n-s,0),h=Math.min(n+s+1,o),d=c;d<h;++d){for(var p=Math.max(r-s,0),f=Math.min(r+s+1,l),g=p;g<f;++g)if(a.get(d,g,e)>t){u=!1;break}if(!u)break}return u}function b0e(e,t,n){for(var r=n.shape,s=r[0],a=r[1],i=r[2],o=new O5(s*a*i,function(d){return d.score}),l=0;l<s;++l)for(var u=0;u<a;++u)for(var c=0;c<i;++c){var h=n.get(l,u,c);h<e||y0e(c,h,l,u,t,n)&&o.enqueue({score:h,part:{heatmapY:l,heatmapX:u,id:c}})}return o}function x5(e,t,n,r){return{y:r.get(e,t,n),x:r.get(e,t,n+gm)}}function w5(e,t,n){var r=x5(e.heatmapY,e.heatmapX,e.id,n),s=r.y,a=r.x;return{x:e.heatmapX*t+a,y:e.heatmapY*t+s}}function _5(e,t,n){return e<t?t:e>n?n:e}function x0e(e,t,n,r){var s=n-e,a=r-t;return s*s+a*a}function S5(e,t){return{x:e.x+t.x,y:e.y+t.y}}function w0e(e,t,n){var r=n.shape[2]/2;return{y:n.get(t.y,t.x,e),x:n.get(t.y,t.x,r+e)}}function tN(e,t,n,r){return{y:_5(Math.round(e.y/t),0,n-1),x:_5(Math.round(e.x/t),0,r-1)}}function I5(e,t,n,r,s,a,i,o){o===void 0&&(o=2);for(var l=r.shape,u=l[0],c=l[1],h=w0e(e,tN(t.position,a,u,c),i),d=S5(t.position,h),p=0;p<o;p++){var f=tN(d,a,u,c),g=x5(f.y,f.x,n,s);d=S5({x:f.x*a,y:f.y*a},{x:g.x,y:g.y})}var v=tN(d,a,u,c),y=r.get(v.y,v.x,n);return{position:d,part:Uu[n],score:y}}function _0e(e,t,n,r,s,a){var i=t.shape[2],o=lx.length,l=new Array(i),u=e.part,c=e.score,h=w5(u,r,n);l[u.id]={score:c,part:Uu[u.id],position:h};for(var d=o-1;d>=0;--d){var p=lx[d],f=cN[d];l[p]&&!l[f]&&(l[f]=I5(d,l[p],f,t,n,r,a))}for(d=0;d<o;++d)p=cN[d],f=lx[d],l[p]&&!l[f]&&(l[f]=I5(d,l[p],f,t,n,r,s));return l}function N5(e,t,n,r){var s=n.x,a=n.y;return e.some(function(i){var o=i.keypoints[r].position;return x0e(a,s,o.y,o.x)<=t})}function S0e(e,t,n){return n.reduce(function(r,s,a){var i=s.position,o=s.score;return N5(e,t,i,a)||(r+=o),r},0)/n.length}function C5(e,t,n,r,s,a,i,o){i===void 0&&(i=.5),o===void 0&&(o=20);for(var l=[],u=b0e(i,M5,e),c=o*o;l.length<a&&!u.empty();){var h=u.dequeue();if(!N5(l,c,w5(h.part,s,t),h.part.id)){var d=_0e(h,e,t,s,n,r),p=S0e(l,c,d);l.push({keypoints:d,score:p})}}return l}function I0e(e,t){return K(function(){var n=me(e,ye(t,"int32"));return pe(e,U(n,ye(t,"int32")))})}function N0e(e){var t=e.shape,n=t[0],r=t[1],s=t[2];return K(function(){var a=H(e,[n*r,s]),i=zr(a,0),o=Lt(me(i,ye(r,"int32")),1),l=Lt(I0e(i,r),1);return St([o,l],1)})}function C0e(e,t){for(var n=t.shape[0],r=new Float32Array(n),s=0;s<n;s++){var a=t.get(s,0),i=t.get(s,1);r[s]=e.get(a,i,s)}return r}function $0e(e,t,n,r){return{y:r.get(e,t,n),x:r.get(e,t,n+gm)}}function k0e(e,t){for(var n=[],r=0;r<gm;r++){var s=$0e(e.get(r,0).valueOf(),e.get(r,1).valueOf(),r,t),a=s.x,i=s.y;n.push(i),n.push(a)}return ns(n,[gm,2])}function T0e(e,t,n){return K(function(){var r=k0e(e,n);return ie(ue(U(e.toTensor(),ye(t,"int32")),"float32"),r)})}function $5(e,t,n){return xo(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d;return wo(this,function(p){switch(p.label){case 0:return r=0,s=N0e(e),[4,Promise.all([e.buffer(),t.buffer(),s.buffer()])];case 1:return a=p.sent(),i=a[0],o=a[1],l=a[2],[4,(u=T0e(l,n,o)).buffer()];case 2:return c=p.sent(),h=Array.from(C0e(i,l)),d=h.map(function(f,g){return r+=f,{position:{y:c.get(g,0),x:c.get(g,1)},part:Uu[g],score:f}}),s.dispose(),u.dispose(),[2,{keypoints:d,score:r/d.length}]}})})}function E0e(e,t){var n="model-stride"+e+".json";return t===4?dN+"float/"+n:dN+"quant"+t+"/"+n}function A0e(e,t,n){var r={1:"100",.75:"075",.5:"050"},s="model-stride"+e+".json";return n===4?hN+"float/"+r[t]+"/"+s:hN+"quant"+n+"/"+r[t]+"/"+s}function R0e(e,t,n){return e<n||t<n}function D0e(e,t){return L5.reduce(function(n,r){var s=r[0],a=r[1];return R0e(e[s].score,e[a].score,t)||n.push([e[s],e[a]]),n},[])}function k5(e){return e.reduce(function(t,n){var r=t.maxX,s=t.maxY,a=t.minX,i=t.minY,o=n.position,l=o.x,u=o.y;return{maxX:Math.max(r,l),maxY:Math.max(s,u),minX:Math.min(a,l),minY:Math.min(i,u)}},{maxX:pN,maxY:pN,minX:fN,minY:fN})}function O0e(e){var t=k5(e),n=t.minX,r=t.minY,s=t.maxX,a=t.maxY;return[{x:n,y:r},{x:s,y:r},{x:s,y:a},{x:n,y:a}]}function F0e(e){return xo(this,void 0,void 0,function(){return wo(this,function(t){return[2,Promise.all(e.map(function(n){return n.buffer()}))]})})}function T5(e,t,n,r,s){return r===void 0&&(r=0),s===void 0&&(s=0),{score:e.score,keypoints:e.keypoints.map(function(a){var i=a.score,o=a.part,l=a.position;return{score:i,part:o,position:{x:l.x*n+s,y:l.y*t+r}}})}}function L0e(e,t,n,r,s){return r===void 0&&(r=0),s===void 0&&(s=0),n===1&&t===1&&r===0&&s===0?e:e.map(function(a){return T5(a,t,n,r,s)})}function P0e(e,t){return{score:e.score,keypoints:e.keypoints.map(function(n){var r=n.score,s=n.part,a=n.position;return{score:r,part:s,position:{x:t-1-a.x,y:a.y}}})}}function M0e(e,t){return t<=0?e:e.map(function(n){return P0e(n,t)})}function ix(e,t){return nN(e,t)?e:Math.floor(e/t)*t+1}function E5(e){E(typeof e=="number"||typeof e=="object",function(){return"Invalid inputResolution "+e+". Should be a number or an object with width and height"}),typeof e=="object"&&(E(typeof e.width=="number",function(){return"inputResolution.width has a value of "+e.width+" which is invalid; it must be a number"}),E(typeof e.height=="number",function(){return"inputResolution.height has a value of "+e.height+" which is invalid; it must be a number"}))}function A5(e,t){return E5(e),typeof e=="object"?[ix(e.height,t),ix(e.width,t)]:[ix(e,t),ix(e,t)]}function z0e(e){E(typeof e=="number",function(){return"outputStride is not a number"}),E(V5.indexOf(e)>=0,function(){return"outputStride of "+e+" is invalid. It must be either 8, 16, or 32"})}function nN(e,t){return(e-1)%t==0}function B0e(e,t){E(typeof e[0]=="number"&&typeof e[1]=="number",function(){return"both resolution values must be a number but had values "+e}),E(nN(e[0],t),function(){return"height of "+e[0]+" is invalid for output stride "+t+"."}),E(nN(e[1],t),function(){return"width of "+e[1]+" is invalid for output stride "+t+"."})}function rN(e){return e instanceof Ve?[e.shape[0],e.shape[1]]:[e.height,e.width]}function V0e(e){return e instanceof Ve?e:gv(e)}function R5(e,t){var n=t[0],r=t[1],s=rN(e),a=s[0],i=s[1],o=r/n,l=[0,0,0,0],u=l[0],c=l[1],h=l[2],d=l[3];return i/a<o?(u=0,c=0,h=Math.round(.5*(o*a-i)),d=Math.round(.5*(o*a-i))):(u=Math.round(.5*(1/o*i-a)),c=Math.round(.5*(1/o*i-a)),h=0,d=0),{resized:K(function(){var p=V0e(e);return p=Np(p,[[u,c],[h,d],[0,0]]),nr.resizeBilinear(p,[n,r])}),padding:{top:u,left:h,right:d,bottom:c}}}function sN(e,t,n,r,s){var a=t[0],i=t[1],o=n[0],l=n[1],u=L0e(e,(a+r.top+r.bottom)/o,(i+r.left+r.right)/l,-r.top,-r.left);return s?M0e(u,i):u}function W0e(e){if((e=e||mN).architecture??(e.architecture="MobileNetV1"),gN.indexOf(e.architecture)<0)throw new Error("Invalid architecture "+e.architecture+". Should be one of "+gN);if(e.inputResolution??(e.inputResolution=257),E5(e.inputResolution),e.outputStride??(e.outputStride=16),vN[e.architecture].indexOf(e.outputStride)<0)throw new Error("Invalid outputStride "+e.outputStride+". Should be one of "+vN[e.architecture]+" for architecture "+e.architecture+".");if(e.multiplier??(e.multiplier=1),yN[e.architecture].indexOf(e.multiplier)<0)throw new Error("Invalid multiplier "+e.multiplier+". Should be one of "+yN[e.architecture]+" for architecture "+e.architecture+".");if(e.quantBytes??(e.quantBytes=4),bN.indexOf(e.quantBytes)<0)throw new Error("Invalid quantBytes "+e.quantBytes+". Should be one of "+bN+" for architecture "+e.architecture+".");if(e.architecture==="MobileNetV1"&&e.outputStride===32&&e.multiplier!==1)throw new Error("When using an output stride of 32, you must select 1 as the multiplier.");return e}function U0e(e){var t=e.maxDetections,n=e.scoreThreshold,r=e.nmsRadius;if(t<=0)throw new Error("Invalid maxDetections "+t+". Should be > 0");if(n<0||n>1)throw new Error("Invalid scoreThreshold "+n+". Should be in range [0.0, 1.0]");if(r<=0)throw new Error("Invalid nmsRadius "+r+".")}function G0e(e){return xo(this,void 0,void 0,function(){var t,n,r,s,a,i,o;return wo(this,function(l){switch(l.label){case 0:if(t=e.outputStride,n=e.quantBytes,r=e.multiplier,B1==null)throw new Error(`Cannot find TensorFlow.js. If you are using a <script> tag, please also include @tensorflow/tfjs on the page before using this
|
|
5000
5000
|
model.`);return s=A0e(t,r,n),[4,D_(e.modelUrl||s)];case 1:return a=l.sent(),i=new oN(a,t),o=A5(e.inputResolution,i.outputStride),[2,new ux(i,o)]}})})}function H0e(e){return xo(this,void 0,void 0,function(){var t,n,r,s,a,i;return wo(this,function(o){switch(o.label){case 0:if(t=e.outputStride,n=e.quantBytes,B1==null)throw new Error(`Cannot find TensorFlow.js. If you are using a <script> tag, please also include @tensorflow/tfjs on the page before using this
|
|
5001
|
-
model.`);return r=E0e(t,n),[4,D_(e.modelUrl||r)];case 1:return s=o.sent(),a=new B5(s,t),i=A5(e.inputResolution,a.outputStride),[2,new ux(a,i)]}})})}function D5(e){return e===void 0&&(e=mN),xo(this,void 0,void 0,function(){return wo(this,function(t){return(e=W0e(e)).architecture==="ResNet50"?[2,H0e(e)]:e.architecture==="MobileNetV1"?[2,G0e(e)]:[2,null]})})}var aN,ox,iN,oN,O5,Uu,gm,ud,F5,lN,L5,P5,uN,lx,cN,M5,hN,dN,z5,B5,pN,fN,V5,mN,gN,vN,yN,bN,xN,wN,ux,W5,_N=m((()=>{C(),F_(),aN=function(e,t){return(aN=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var s in r)r.hasOwnProperty(s)&&(n[s]=r[s])})(e,t)},ox=function(){return(ox=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var s in t=arguments[n])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)},iN=(function(){function e(t,n){this.model=t,this.outputStride=n;var r=this.model.inputs[0].shape;E(r[1]===-1&&r[2]===-1,function(){return"Input shape ["+r[1]+", "+r[2]+"] must both be equal to or -1"})}return e.prototype.predict=function(t){var n=this;return K(function(){var r=n.preprocessInput(ue(t,"float32")),s=Lt(r,0),a=n.model.predict(s).map(function(o){return Sr(o,[0])}),i=n.nameOutputResults(a);return{heatmapScores:hr(i.heatmap),offsets:i.offsets,displacementFwd:i.displacementFwd,displacementBwd:i.displacementBwd}})},e.prototype.dispose=function(){this.model.dispose()},e})(),oN=(function(e){function t(){return e!==null&&e.apply(this,arguments)||this}return b5(t,e),t.prototype.preprocessInput=function(n){return K(function(){return pe(me(n,127.5),1)})},t.prototype.nameOutputResults=function(n){return{offsets:n[0],heatmap:n[1],displacementFwd:n[2],displacementBwd:n[3]}},t})(iN),O5=(function(){function e(t,n){this.priorityQueue=new Array(t),this.numberOfElements=-1,this.getElementValue=n}return e.prototype.enqueue=function(t){this.priorityQueue[++this.numberOfElements]=t,this.swim(this.numberOfElements)},e.prototype.dequeue=function(){var t=this.priorityQueue[0];return this.exchange(0,this.numberOfElements--),this.sink(0),this.priorityQueue[this.numberOfElements+1]=null,t},e.prototype.empty=function(){return this.numberOfElements===-1},e.prototype.size=function(){return this.numberOfElements+1},e.prototype.all=function(){return this.priorityQueue.slice(0,this.numberOfElements+1)},e.prototype.max=function(){return this.priorityQueue[0]},e.prototype.swim=function(t){for(;t>0&&this.less(eN(t),t);)this.exchange(t,eN(t)),t=eN(t)},e.prototype.sink=function(t){for(;2*t<=this.numberOfElements;){var n=2*t;if(n<this.numberOfElements&&this.less(n,n+1)&&n++,!this.less(t,n))break;this.exchange(t,n),t=n}},e.prototype.getValueAt=function(t){return this.getElementValue(this.priorityQueue[t])},e.prototype.less=function(t,n){return this.getValueAt(t)<this.getValueAt(n)},e.prototype.exchange=function(t,n){var r=this.priorityQueue[t];this.priorityQueue[t]=this.priorityQueue[n],this.priorityQueue[n]=r},e})(),Uu=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],gm=Uu.length,ud=Uu.reduce(function(e,t,n){return e[t]=n,e},{}),F5=[["leftHip","leftShoulder"],["leftElbow","leftShoulder"],["leftElbow","leftWrist"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["rightHip","rightShoulder"],["rightElbow","rightShoulder"],["rightElbow","rightWrist"],["rightHip","rightKnee"],["rightKnee","rightAnkle"],["leftShoulder","rightShoulder"],["leftHip","rightHip"]],lN=[["nose","leftEye"],["leftEye","leftEar"],["nose","rightEye"],["rightEye","rightEar"],["nose","leftShoulder"],["leftShoulder","leftElbow"],["leftElbow","leftWrist"],["leftShoulder","leftHip"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["nose","rightShoulder"],["rightShoulder","rightElbow"],["rightElbow","rightWrist"],["rightShoulder","rightHip"],["rightHip","rightKnee"],["rightKnee","rightAnkle"]],L5=F5.map(function(e){var t=e[0],n=e[1];return[ud[t],ud[n]]}),P5=["left_face","right_face","right_upper_leg_front","right_lower_leg_back","right_upper_leg_back","left_lower_leg_front","left_upper_leg_front","left_upper_leg_back","left_lower_leg_back","right_feet","right_lower_leg_front","left_feet","torso_front","torso_back","right_upper_arm_front","right_upper_arm_back","right_lower_arm_back","left_lower_arm_front","left_upper_arm_front","left_upper_arm_back","left_lower_arm_back","right_hand","right_lower_arm_front","left_hand"],uN=lN.map(function(e){var t=e[0],n=e[1];return[ud[t],ud[n]]}),lx=uN.map(function(e){return e[1]}),cN=uN.map(function(e){return e[0]}),M5=1,hN="https://storage.googleapis.com/tfjs-models/savedmodel/posenet/mobilenet/",dN="https://storage.googleapis.com/tfjs-models/savedmodel/posenet/resnet50/",z5=[-123.15,-115.9,-103.06],B5=(function(e){function t(){return e!==null&&e.apply(this,arguments)||this}return b5(t,e),t.prototype.preprocessInput=function(n){return ie(n,z5)},t.prototype.nameOutputResults=function(n){var r=n[0],s=n[1];return{offsets:n[2],heatmap:n[3],displacementFwd:r,displacementBwd:s}},t})(iN),pN=Number.NEGATIVE_INFINITY,fN=Number.POSITIVE_INFINITY,V5=[8,16,32],mN={architecture:"MobileNetV1",outputStride:16,multiplier:.75,inputResolution:257},gN=["MobileNetV1","ResNet50"],vN={MobileNetV1:[8,16,32],ResNet50:[32,16]},yN={MobileNetV1:[.5,.75,1],ResNet50:[1]},bN=[1,2,4],xN={flipHorizontal:!1},wN={flipHorizontal:!1,maxDetections:5,scoreThreshold:.5,nmsRadius:20},ux=(function(){function e(t,n){z0e(t.outputStride),B0e(n,t.outputStride),this.baseModel=t,this.inputResolution=n}return e.prototype.estimateMultiplePoses=function(t,n){return n===void 0&&(n=wN),xo(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d,p,f,g,v,y,b,w,x,_,$,N;return wo(this,function(k){switch(k.label){case 0:return r=ox({},wN,n),U0e(n),s=this.baseModel.outputStride,a=this.inputResolution,i=rN(t),o=i[0],l=i[1],u=R5(t,a),c=u.resized,h=u.padding,d=this.baseModel.predict(c),p=d.heatmapScores,f=d.offsets,g=d.displacementFwd,v=d.displacementBwd,[4,F0e([p,f,g,v])];case 1:return y=k.sent(),b=y[0],w=y[1],x=y[2],_=y[3],[4,C5(b,w,x,_,s,r.maxDetections,r.scoreThreshold,r.nmsRadius)];case 2:return $=k.sent(),N=sN($,[o,l],a,h,r.flipHorizontal),p.dispose(),f.dispose(),g.dispose(),v.dispose(),c.dispose(),[2,N]}})})},e.prototype.estimateSinglePose=function(t,n){return n===void 0&&(n=xN),xo(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d,p,f,g,v,y,b;return wo(this,function(w){switch(w.label){case 0:return r=ox({},xN,n),s=this.baseModel.outputStride,a=this.inputResolution,i=rN(t),o=i[0],l=i[1],u=R5(t,a),c=u.resized,h=u.padding,d=this.baseModel.predict(c),p=d.heatmapScores,f=d.offsets,g=d.displacementFwd,v=d.displacementBwd,[4,$5(p,f,s)];case 1:return y=w.sent(),b=sN([y],[o,l],a,h,r.flipHorizontal),p.dispose(),f.dispose(),g.dispose(),v.dispose(),c.dispose(),[2,b[0]]}})})},e.prototype.estimatePoses=function(t,n){return xo(this,void 0,void 0,function(){return wo(this,function(r){switch(r.label){case 0:return n.decodingMethod!=="single-person"?[3,2]:[4,this.estimateSinglePose(t,n)];case 1:return[2,[r.sent()]];case 2:return[2,this.estimateMultiplePoses(t,n)]}})})},e.prototype.dispose=function(){this.baseModel.dispose()},e})(),W5="2.2.2"}));ka(),_N();var U5=Te({BACKGROUND_NOISE_TAG:()=>px,Dataset:()=>CN,UNKNOWN_TAG:()=>l_e,create:()=>eK,deleteSavedTransferModel:()=>d_e,getMaxIntensityFrameIndex:()=>J5,listSavedTransferModels:()=>h_e,spectrogram2IntensityCurve:()=>Z5,utils:()=>p_e,version:()=>$N});C(),d$(),UO(),m_();var G5=function(e,t){return(G5=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var s in r)r.hasOwnProperty(s)&&(n[s]=r[s])})(e,t)};function j0e(e,t){function n(){this.constructor=e}G5(e,t),e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var SN=function(){return(SN=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var s in t=arguments[n])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)};function wt(e,t,n,r){return new(n||(n=Promise))(function(s,a){function i(u){try{l(r.next(u))}catch(c){a(c)}}function o(u){try{l(r.throw(u))}catch(c){a(c)}}function l(u){var c;u.done?s(u.value):(c=u.value,c instanceof n?c:new n(function(h){h(c)})).then(i,o)}l((r=r.apply(e,t||[])).next())})}function _t(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(l){return function(u){return(function(c){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&c[0]?r.return:c[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;switch(r=0,s&&(c=[2&c[0],s.value]),c[0]){case 0:case 1:s=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(s=(s=i.trys).length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){i.label=c[1];break}if(c[0]===6&&i.label<s[1]){i.label=s[1],s=c;break}if(s&&i.label<s[2]){i.label=s[2],i.ops.push(c);break}s[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(h){c=[6,h],r=0}finally{n=s=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([l,u])}}}function ir(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function IN(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r,s,a=n.call(e),i=[];try{for(;(t===void 0||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(o){s={error:o}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(s)throw s.error}}return i}function vm(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(IN(arguments[t]));return e}function q0e(e){return wt(this,void 0,void 0,function(){var t,n,r,s,a,i,o;return _t(this,function(l){switch(l.label){case 0:return t="http://",n="https://",r="file://",e.indexOf(t)!==0&&e.indexOf(n)!==0?[3,3]:[4,fetch(e)];case 1:return[4,l.sent().json()];case 2:return[2,l.sent()];case 3:return e.indexOf(r)!==0?[3,5]:(s=Bl(),a=h$(s.readFile),o=(i=JSON).parse,[4,a(e.slice(r.length),{encoding:"utf-8"})]);case 4:return[2,o.apply(i,[l.sent()])];case 5:throw new Error("Unsupported URL scheme in metadata URL: "+e+". Supported schemes are: http://, https://, and (node.js-only) file://")}})})}var cx=null;function cd(e){return cx??=Zc().epsilon(),K(function(){var t=da(e),n=t.mean,r=t.variance;return me(pe(e,n),ie(Ut(r),cx))})}function H5(e){if(e.length<2)throw new Error("Cannot normalize a Float32Array with fewer than 2 elements.");return cx??=Zc().epsilon(),K(function(){var t=da(Mt(e)),n=t.mean,r=t.variance,s=n.arraySync(),a=Math.sqrt(r.arraySync()),i=Array.from(e).map(function(o){return(o-s)/(a+cx)});return new Float32Array(i)})}function K0e(){return window.AudioContext||window.webkitAudioContext}function X0e(e){return wt(this,void 0,void 0,function(){return _t(this,function(t){return[2,navigator.mediaDevices.getUserMedia({audio:e==null||e,video:!1})]})})}function Y0e(e,t){var n=new(window.AudioContext||window.webkitAudioContext),r=n.createBuffer(1,e.data.length,e.sampleRateHz);r.getChannelData(0).set(e.data);var s=n.createBufferSource();s.buffer=r,s.connect(n.destination),s.start(),s.onended=function(){t?.()}}var NN=(function(){function e(t){var n=this;if(t==null)throw new Error("Required configuration object is missing for BrowserFftFeatureExtractor constructor");if(t.spectrogramCallback==null)throw new Error("spectrogramCallback cannot be null or undefined");if(!(t.numFramesPerSpectrogram>0))throw new Error("Invalid value in numFramesPerSpectrogram: "+t.numFramesPerSpectrogram);if(t.suppressionTimeMillis<0)throw new Error("Expected suppressionTimeMillis to be >= 0, but got "+t.suppressionTimeMillis);if(this.suppressionTimeMillis=t.suppressionTimeMillis,this.spectrogramCallback=t.spectrogramCallback,this.numFrames=t.numFramesPerSpectrogram,this.sampleRateHz=t.sampleRateHz||44100,this.fftSize=t.fftSize||1024,this.frameDurationMillis=this.fftSize/this.sampleRateHz*1e3,this.columnTruncateLength=t.columnTruncateLength||this.fftSize,this.overlapFactor=t.overlapFactor,this.includeRawAudio=t.includeRawAudio,E(this.overlapFactor>=0&&this.overlapFactor<1,function(){return"Expected overlapFactor to be >= 0 and < 1, but got "+n.overlapFactor}),this.columnTruncateLength>this.fftSize)throw new Error("columnTruncateLength "+this.columnTruncateLength+" exceeds fftSize ("+this.fftSize+").");this.audioContextConstructor=K0e()}return e.prototype.start=function(t){return wt(this,void 0,void 0,function(){var n,r,s;return _t(this,function(a){switch(a.label){case 0:if(this.frameIntervalTask!=null)throw new Error("Cannot start already-started BrowserFftFeatureExtractor");return n=this,[4,X0e(t)];case 1:return n.stream=a.sent(),this.audioContext=new this.audioContextConstructor({sampleRate:this.sampleRateHz}),r=this.audioContext.createMediaStreamSource(this.stream),this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=0,r.connect(this.analyser),this.freqDataQueue=[],this.freqData=new Float32Array(this.fftSize),this.includeRawAudio&&(this.timeDataQueue=[],this.timeData=new Float32Array(this.fftSize)),s=Math.max(1,Math.round(this.numFrames*(1-this.overlapFactor))),this.tracker=new Z0e(s,Math.round(this.suppressionTimeMillis/this.frameDurationMillis)),this.frameIntervalTask=setInterval(this.onAudioFrame.bind(this),this.fftSize/this.sampleRateHz*1e3),[2]}})})},e.prototype.onAudioFrame=function(){return wt(this,void 0,void 0,function(){var t,n,r,s;return _t(this,function(a){switch(a.label){case 0:return this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0?[2]:(this.freqDataQueue.push(this.freqData.slice(0,this.columnTruncateLength)),this.includeRawAudio&&(this.analyser.getFloatTimeDomainData(this.timeData),this.timeDataQueue.push(this.timeData.slice())),this.freqDataQueue.length>this.numFrames&&this.freqDataQueue.shift(),this.tracker.tick()?(t=j5(this.freqDataQueue),n=q5(t,[1,this.numFrames,this.columnTruncateLength,1]),r=void 0,this.includeRawAudio&&(s=j5(this.timeDataQueue),r=q5(s,[1,this.numFrames*this.fftSize])),[4,this.spectrogramCallback(n,r)]):[3,2]);case 1:a.sent()&&this.tracker.suppress(),ke([n,r]),a.label=2;case 2:return[2]}})})},e.prototype.stop=function(){return wt(this,void 0,void 0,function(){return _t(this,function(t){if(this.frameIntervalTask==null)throw new Error("Cannot stop because there is no ongoing streaming activity.");return clearInterval(this.frameIntervalTask),this.frameIntervalTask=null,this.analyser.disconnect(),this.audioContext.close(),this.stream!=null&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop(),[2]})})},e.prototype.setConfig=function(t){throw new Error("setConfig() is not implemented for BrowserFftFeatureExtractor.")},e.prototype.getFeatures=function(){throw new Error("getFeatures() is not implemented for BrowserFftFeatureExtractor. Use the spectrogramCallback field of the constructor config instead.")},e})();function j5(e){var t=e[0].length,n=new Float32Array(e.length*t);return e.forEach(function(r,s){return n.set(r,s*t)}),n}function q5(e,t){var n=new Float32Array(te(t));return n.set(e,n.length-e.length),Vn(n,t)}var Z0e=(function(){function e(t,n){var r=this;this.period=t,this.suppressionTime=n??0,this.counter=0,E(this.period>0,function(){return"Expected period to be positive, but got "+r.period})}return e.prototype.tick=function(){return this.counter++,this.counter%this.period==0&&(this.suppressionOnset==null||this.counter-this.suppressionOnset>this.suppressionTime)},e.prototype.suppress=function(){this.suppressionOnset=this.counter},e})();function hx(e){var t=0;e.forEach(function(s){t+=s.byteLength});var n=new Uint8Array(t),r=0;return e.forEach(function(s){n.set(new Uint8Array(s),r),r+=s.byteLength}),n.buffer}function K5(e){var t=0;e.forEach(function(s){return t+=s.length});var n=new Float32Array(t),r=0;return e.forEach(function(s){n.set(s,r),r+=s.length}),n}function X5(e){if(e==null)throw new Error("Received null or undefind string");for(var t=unescape(encodeURIComponent(e)),n=new Uint8Array(t.length),r=0;r<t.length;++r)n[r]=t.charCodeAt(r);return n.buffer}function Y5(e){if(e==null)throw new Error("Received null or undefind buffer");var t=new Uint8Array(e);return decodeURIComponent(escape(String.fromCharCode.apply(String,vm(t))))}function J0e(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}function Q0e(e,t){return Math.floor((t-e)*Math.random())+e}function e_e(e,t,n){return E(n>0&&n<1,function(){return"validationSplit is expected to be >0 and <1, but got "+n}),K(function(){for(var r=zr(t,-1).dataSync(),s=[],a=0;a<r.length;++a){var i=r[a];s[i]??(s[i]=[]),s[i].push(a)}var o=s.length,l=[],u=[];for(s.map(function(p){return $o(p)}),a=0;a<o;++a)for(var c=s[a],h=Math.round(c.length*(1-n)),d=0;d<c.length;++d)d<h?l.push(c[d]):u.push(c[d]);return{trainXs:Gr(e,l),trainYs:Gr(t,l),valXs:Gr(e,u),valYs:Gr(t,u)}})}function t_e(e,t,n){var r,s,a,i,o,l,u,c;E(n>0&&n<1,function(){return"validationSplit is expected to be >0 and <1, but got "+n});for(var h=!Array.isArray(e[0]),d=t,p=[],f=0;f<d.length;++f){var g=d[f];p[g]??(p[g]=[]),p[g].push(f)}var v=p.length,y=[],b=[];for(p.map(function(J){return $o(J)}),f=0;f<v;++f)for(var w=p[f],x=Math.round(w.length*(1-n)),_=0;_<w.length;++_)_<x?y.push(w[_]):b.push(w[_]);if(h){var $=[],N=[],k=[],A=[];try{for(var O=ir(y),R=O.next();!R.done;R=O.next()){var T=R.value;$.push(e[T]),N.push(t[T])}}catch(J){r={error:J}}finally{try{R&&!R.done&&(s=O.return)&&s.call(O)}finally{if(r)throw r.error}}try{for(var S=ir(b),F=S.next();!F.done;F=S.next())T=F.value,k.push(e[T]),A.push(t[T])}catch(J){a={error:J}}finally{try{F&&!F.done&&(i=S.return)&&i.call(S)}finally{if(a)throw a.error}}return{trainXs:$,trainYs:N,valXs:k,valYs:A}}$=[],N=[],k=[],A=[];try{for(var M=ir(y),L=M.next();!L.done;L=M.next())T=L.value,$.push(e[T]),N.push(t[T])}catch(J){o={error:J}}finally{try{L&&!L.done&&(l=M.return)&&l.call(M)}finally{if(o)throw o.error}}try{for(var z=ir(b),q=z.next();!q.done;q=z.next())T=q.value,k.push(e[T]),A.push(t[T])}catch(J){u={error:J}}finally{try{q&&!q.done&&(c=z.return)&&c.call(z)}finally{if(u)throw u.error}}return{trainXs:$,trainYs:N,valXs:k,valYs:A}}var dx="TFJSSCDS",n_e=1,px="_background_noise_",CN=(function(){function e(t){if(this.examples={},this.label2Ids={},t!=null)for(var n=i_e(t),r=0,s=0;s<n.manifest.length;++s){var a=n.manifest[s],i=a.spectrogramNumFrames*a.spectrogramFrameSize;a.rawAudioNumSamples!=null&&(i+=a.rawAudioNumSamples),i*=4,this.addExample(s_e({spec:a,data:n.data.slice(r,r+i)})),r+=i}}return e.prototype.addExample=function(t){E(t!=null,function(){return"Got null or undefined example"}),E(t.label!=null&&t.label.length>0,function(){return"Expected label to be a non-empty string, but got "+JSON.stringify(t.label)});var n=J0e();return this.examples[n]=t,t.label in this.label2Ids||(this.label2Ids[t.label]=[]),this.label2Ids[t.label].push(n),n},e.prototype.merge=function(t){var n,r,s,a;E(t!==this,function(){return"Cannot merge a dataset into itself"});var i=t.getVocabulary();try{for(var o=ir(i),l=o.next();!l.done;l=o.next()){var u=l.value,c=t.getExamples(u);try{for(var h=(s=void 0,ir(c)),d=h.next();!d.done;d=h.next()){var p=d.value;this.addExample(p.example)}}catch(f){s={error:f}}finally{try{d&&!d.done&&(a=h.return)&&a.call(h)}finally{if(s)throw s.error}}}}catch(f){n={error:f}}finally{try{l&&!l.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e.prototype.getExampleCounts=function(){var t={};for(var n in this.examples){var r=this.examples[n];r.label in t||(t[r.label]=0),t[r.label]++}return t},e.prototype.getExamples=function(t){var n=this;E(t!=null,function(){return"Expected label to be a string, but got "+JSON.stringify(t)}),E(t in this.label2Ids,function(){return'No example of label "'+t+'" exists in dataset'});var r=[];return this.label2Ids[t].forEach(function(s){r.push({uid:s,example:n.examples[s]})}),r},e.prototype.getData=function(t,n){var r=this;E(this.size()>0,function(){return"Cannot get spectrograms as tensors because the dataset is empty"});var s=this.getVocabulary();t!=null?E(s.indexOf(t)!==-1,function(){return"Label "+t+" is not in the vocabulary ("+JSON.stringify(s)+")"}):E(s.length>1,function(){return"One-hot encoding of labels requires the vocabulary to have at least two words, but it has only "+s.length+" word."}),n??={};var a,i,o=this.getSortedUniqueNumFrames();o.length===1?(a=n.numFrames==null?o[0]:n.numFrames,i=n.hopFrames==null?1:n.hopFrames):(a=n.numFrames,E(a!=null&&Number.isInteger(a)&&a>0,function(){return"There are "+o.length+" unique lengths among the "+r.size()+" examples of this Dataset, hence numFrames is required. But it is not provided."}),E(a<=o[0],function(){return"numFrames ("+a+") exceeds the minimum numFrames ("+o[0]+") among the examples of the Dataset."}),i=n.hopFrames,E(i!=null&&Number.isInteger(i)&&i>0,function(){return"There are "+o.length+" unique lengths among the "+r.size()+" examples of this Dataset, hence hopFrames is required. But it is not provided."}));var l=n.normalize==null||n.normalize;return K(function(){for(var u,c,h,d=[],p=[],f=[],g=0;g<s.length;++g){var v=s[g];if(t==null||v===t){var y=r.label2Ids[v],b=function(ne){var oe,ce,ve=r.examples[ne].spectrogram,_e=ve.frameSize;h==null?h=_e:E(_e===h,function(){return"Mismatch in frameSize ("+_e+" vs "+h+")"});var $e=ve.data.length/_e,Re=null;v!=="_background_noise_"&&(Re=ve.keyFrameIndex==null?J5(ve).dataSync()[0]:ve.keyFrameIndex);var Oe=du(ve.data,[$e,_e,1]),He=o_e($e,Re,a,i),Xe=function(Qe){var lt=K(function(){var at=We(Oe,[Qe[0],0,0],[Qe[1]-Qe[0],-1,-1]);return l?cd(at):at});n.getDataset?p.push(lt.dataSync()):d.push(lt),t??f.push(g)};try{for(var dt=(oe=void 0,ir(He)),nt=dt.next();!nt.done;nt=dt.next())Xe(nt.value)}catch(Qe){oe={error:Qe}}finally{try{nt&&!nt.done&&(ce=dt.return)&&ce.call(dt)}finally{if(oe)throw oe.error}}ke(Oe)};try{for(var w=(u=void 0,ir(y)),x=w.next();!x.done;x=w.next())b(x.value)}catch(ne){u={error:ne}}finally{try{x&&!x.done&&(c=w.return)&&c.call(w)}finally{if(u)throw u.error}}}}n.augmentByMixingNoiseRatio!=null&&r.augmentByMixingNoise(n.getDataset?p:d,f,n.augmentByMixingNoiseRatio);var _=n.shuffle==null||n.shuffle;if(n.getDataset){var $=n.datasetBatchSize==null?32:n.datasetBatchSize,N=n.datasetValidationSplit==null?.15:n.datasetValidationSplit;E(N>0&&N<1,function(){return"Invalid dataset validation split: "+N});var k=p.map(function(ne,oe){return[ne,f[oe]]});$o(k),p=k.map(function(ne){return ne[0]});var A=k.map(function(ne){return ne[1]}),O=t_e(p,A,N),R=O.trainXs,T=O.trainYs,S=O.valXs,F=O.valYs,M=Gf(R).map(function(ne){return du(ne,[a,h,1])}),L=Gf(T).map(function(ne){return Sr(es([ne],s.length),[0])}),z=U_({xs:M,ys:L});_&&(z=z.shuffle(p.length)),z=z.batch($).prefetch(4);var q=Gf(S).map(function(ne){return du(ne,[a,h,1])}),J=Gf(F).map(function(ne){return Sr(es([ne],s.length),[0])}),re=U_({xs:q,ys:J});return[z,re=re.batch($).prefetch(4)]}if(_){var Y=[];d.forEach(function(ne,oe){Y.push({x:ne,y:f[oe]})}),$o(Y),d=Y.map(function(ne){return ne.x}),f=Y.map(function(ne){return ne.y})}var ae=t==null?ue(es(Mt(f,"int32"),s.length),"float32"):void 0;return{xs:mn(d),ys:ae}})},e.prototype.augmentByMixingNoise=function(t,n,r){var s,a;if(t==null||t.length===0)throw new Error("Cannot perform augmentation because data is null or empty");for(var i=t[0]instanceof Float32Array,o=this.getVocabulary(),l=[],u=[],c=0;c<n.length;++c)o[n[c]]==="_background_noise_"?l.push(c):u.push(c);if(l.length===0)throw new Error("Cannot perform augmentation by mixing with noise when there is no example with label "+px);var h=[],d=[],p=function(v){var y=l[Q0e(0,l.length)],b=i?Mt(t[v]):t[v],w=i?Mt(t[y]):t[y],x=K(function(){return cd(ie(b,U(w,r)))});i?h.push(x.dataSync()):h.push(x),d.push(n[v])};try{for(var f=ir(u),g=f.next();!g.done;g=f.next())p(g.value)}catch(v){s={error:v}}finally{try{g&&!g.done&&(a=f.return)&&a.call(f)}finally{if(s)throw s.error}}console.log("Data augmentation: mixing noise: added "+h.length+" examples"),h.forEach(function(v){return t.push(v)}),n.push.apply(n,vm(d))},e.prototype.getSortedUniqueNumFrames=function(){for(var t,n,r=new Set,s=this.getVocabulary(),a=0;a<s.length;++a){var i=s[a],o=this.label2Ids[i];try{for(var l=(t=void 0,ir(o)),u=l.next();!u.done;u=l.next()){var c=u.value,h=this.examples[c].spectrogram,d=h.data.length/h.frameSize;r.add(d)}}catch(f){t={error:f}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}}var p=vm(r);return p.sort(),p},e.prototype.removeExample=function(t){if(!(t in this.examples))throw new Error("Nonexistent example UID: "+t);var n=this.examples[t].label;delete this.examples[t];var r=this.label2Ids[n].indexOf(t);this.label2Ids[n].splice(r,1),this.label2Ids[n].length===0&&delete this.label2Ids[n]},e.prototype.setExampleKeyFrameIndex=function(t,n){if(!(t in this.examples))throw new Error("Nonexistent example UID: "+t);var r=this.examples[t].spectrogram,s=r.data.length/r.frameSize;E(n>=0&&n<s&&Number.isInteger(n),function(){return"Invalid keyFrameIndex: "+n+". Must be >= 0, < "+s+", and an integer."}),r.keyFrameIndex=n},e.prototype.size=function(){return Object.keys(this.examples).length},e.prototype.durationMillis=function(){var t=0;for(var n in this.examples){var r=this.examples[n].spectrogram,s=23.22|r.frameDurationMillis;t+=r.data.length/r.frameSize*s}return t},e.prototype.empty=function(){return this.size()===0},e.prototype.clear=function(){this.examples={}},e.prototype.getVocabulary=function(){var t=new Set;for(var n in this.examples){var r=this.examples[n];t.add(r.label)}var s=vm(t);return s.sort(),s},e.prototype.serialize=function(t){var n,r,s,a,i=this.getVocabulary();E(!this.empty(),function(){return"Cannot serialize empty Dataset"}),t!=null&&(Array.isArray(t)||(t=[t]),t.forEach(function(y){if(i.indexOf(y)===-1)throw new Error('Word label "'+y+'" does not exist in the vocabulary of this dataset. The vocabulary is: '+JSON.stringify(i)+".")}));var o=[],l=[];try{for(var u=ir(i),c=u.next();!c.done;c=u.next()){var h=c.value;if(t==null||t.indexOf(h)!==-1){var d=this.label2Ids[h];try{for(var p=(s=void 0,ir(d)),f=p.next();!f.done;f=p.next()){var g=f.value,v=r_e(this.examples[g]);o.push(v.spec),l.push(v.data)}}catch(y){s={error:y}}finally{try{f&&!f.done&&(a=p.return)&&a.call(p)}finally{if(s)throw s.error}}}}}catch(y){n={error:y}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return a_e({manifest:o,data:hx(l)})},e})();function r_e(e){var t=e.rawAudio!=null,n={label:e.label,spectrogramNumFrames:e.spectrogram.data.length/e.spectrogram.frameSize,spectrogramFrameSize:e.spectrogram.frameSize};e.spectrogram.keyFrameIndex!=null&&(n.spectrogramKeyFrameIndex=e.spectrogram.keyFrameIndex);var r=e.spectrogram.data.buffer.slice(0);return t&&(n.rawAudioNumSamples=e.rawAudio.data.length,n.rawAudioSampleRateHz=e.rawAudio.sampleRateHz,r=hx([r,e.rawAudio.data.buffer])),{spec:n,data:r}}function s_e(e){var t={frameSize:e.spec.spectrogramFrameSize,data:new Float32Array(e.data.slice(0,4*e.spec.spectrogramFrameSize*e.spec.spectrogramNumFrames))};e.spec.spectrogramKeyFrameIndex!=null&&(t.keyFrameIndex=e.spec.spectrogramKeyFrameIndex);var n={label:e.spec.label,spectrogram:t};return e.spec.rawAudioNumSamples!=null&&(n.rawAudio={sampleRateHz:e.spec.rawAudioSampleRateHz,data:new Float32Array(e.data.slice(4*e.spec.spectrogramFrameSize*e.spec.spectrogramNumFrames))}),n}function a_e(e){var t=X5(JSON.stringify(e.manifest)),n=X5(dx),r=new Uint32Array([n_e]),s=new Uint32Array([t.byteLength]);return hx([hx([n,r.buffer,s.buffer]),t,e.data])}function i_e(e){E(e!=null,function(){return"Received null or undefined buffer"});var t=0,n=Y5(e.slice(t,dx.length));E(n===dx,function(){return"Deserialization error: Invalid descriptor"}),t+=dx.length,t+=4;var r=new Uint32Array(e,t,1),s=t+=4;t=s+r[0];var a=Y5(e.slice(s,t));return{manifest:JSON.parse(a),data:e.slice(t)}}function o_e(e,t,n,r){if(E(Number.isInteger(e)&&e>0,function(){return"snippetLength must be a positive integer, but got "+e}),t!=null&&E(Number.isInteger(t)&&t>=0,function(){return"focusIndex must be a non-negative integer, but got "+t}),E(Number.isInteger(n)&&n>0,function(){return"windowLength must be a positive integer, but got "+n}),E(Number.isInteger(r)&&r>0,function(){return"windowHop must be a positive integer, but got "+r}),E(n<=e,function(){return"windowLength ("+n+") exceeds snippetLength ("+e+")"}),E(t<e,function(){return"focusIndex ("+t+") equals or exceeds snippetLength ("+e+")"}),n===e)return[[0,e]];var s=[];if(t==null){for(var a=0;a+n<=e;)s.push([a,a+n]),a+=r;return s}var i=t-Math.floor(n/2);for(i<0?i=0:i+n>e&&(i=e-n);!(i-r<0||t>=i-r+n);)i-=r;for(;i+n<=e&&!(t<i);)s.push([i,i+n]),i+=r;return s}function Z5(e){return K(function(){var t=e.data.length/e.frameSize,n=ns(e.data,[t,e.frameSize]);return yt(n,-1)})}function J5(e){return K(function(){return zr(Z5(e))})}var $N="0.5.4",l_e="_unknown_",ym="tfjs-speech-commands-saved-model-metadata",kN="indexeddb://tfjs-speech-commands-model/",bm={localStorage:typeof window>"u"?null:window.localStorage};function u_e(e){return e.split(".").slice(0,2).join(".")}var fx=.25,Q5=(function(){function e(t,n,r){this.MODEL_URL_PREFIX="https://storage.googleapis.com/tfjs-models/tfjs/speech-commands/v"+u_e($N)+"/browser_fft",this.SAMPLE_RATE_HZ=44100,this.FFT_SIZE=1024,this.DEFAULT_SUPPRESSION_TIME_MILLIS=0,this.streaming=!1,this.transferRecognizers={},E(n==null&&r==null||n!=null&&r!=null,function(){return"modelURL and metadataURL must be both provided or both not provided."}),n==null?(t==null?t=e.DEFAULT_VOCABULARY_NAME:E(e.VALID_VOCABULARY_NAMES.indexOf(t)!==-1,function(){return"Invalid vocabulary name: '"+t+"'"}),this.vocabulary=t,this.modelArtifactsOrURL=this.MODEL_URL_PREFIX+"/"+this.vocabulary+"/model.json",this.metadataOrURL=this.MODEL_URL_PREFIX+"/"+this.vocabulary+"/metadata.json"):(E(t==null,function(){return"vocabulary name must be null or undefined when modelURL is provided"}),this.modelArtifactsOrURL=n,this.metadataOrURL=r),this.parameters={sampleRateHz:this.SAMPLE_RATE_HZ,fftSize:this.FFT_SIZE}}return e.prototype.listen=function(t,n){return wt(this,void 0,void 0,function(){var r,s,a,i,o,l=this;return _t(this,function(u){switch(u.label){case 0:if(this.streaming)throw new Error("Cannot start streaming again when streaming is ongoing.");return[4,this.ensureModelLoaded()];case 1:if(u.sent(),n??={},r=n.probabilityThreshold==null?0:n.probabilityThreshold,n.includeEmbedding&&(r=0),E(r>=0&&r<=1,function(){return"Invalid probabilityThreshold value: "+r}),s=n.invokeCallbackOnNoiseAndUnknown!=null&&n.invokeCallbackOnNoiseAndUnknown,n.includeEmbedding&&(s=!0),n.suppressionTimeMillis<0)throw new Error("suppressionTimeMillis is expected to be >= 0, but got "+n.suppressionTimeMillis);return a=n.overlapFactor==null?.5:n.overlapFactor,E(a>=0&&a<1,function(){return"Expected overlapFactor to be >= 0 and < 1, but got "+a}),i=function(c,h){return wt(l,void 0,void 0,function(){var d,p,f,g,v,y,b,w,x,_,$;return _t(this,function(N){switch(N.label){case 0:return d=cd(c),n.includeEmbedding?[4,this.ensureModelWithEmbeddingOutputCreated()]:[3,2];case 1:return N.sent(),$=IN(this.modelWithEmbeddingOutput.predict(d),2),p=$[0],f=$[1],[3,3];case 2:p=this.model.predict(d),N.label=3;case 3:return[4,p.data()];case 4:return g=N.sent(),[4,(v=p.argMax(-1)).data()];case 5:return y=N.sent()[0],b=Math.max.apply(Math,vm(g)),ke([p,v,d]),b<r?[2,!1]:[3,6];case 6:return w=void 0,n.includeSpectrogram?(x={},[4,c.data()]):[3,8];case 7:x.data=N.sent(),x.frameSize=this.nonBatchInputShape[1],w=x,N.label=8;case 8:return _=!0,s||this.words[y]!=="_background_noise_"&&this.words[y]!=="_unknown_"||(_=!1),_&&t({scores:g,spectrogram:w,embedding:f}),[2,_]}})})},o=n.suppressionTimeMillis==null?this.DEFAULT_SUPPRESSION_TIME_MILLIS:n.suppressionTimeMillis,this.audioDataExtractor=new NN({sampleRateHz:this.parameters.sampleRateHz,numFramesPerSpectrogram:this.nonBatchInputShape[0],columnTruncateLength:this.nonBatchInputShape[1],suppressionTimeMillis:o,spectrogramCallback:i,overlapFactor:a}),[4,this.audioDataExtractor.start(n.audioTrackConstraints)];case 2:return u.sent(),this.streaming=!0,[2]}})})},e.prototype.ensureModelLoaded=function(){return wt(this,void 0,void 0,function(){var t,n,r,s,a=this;return _t(this,function(i){switch(i.label){case 0:return this.model!=null?[2]:[4,this.ensureMetadataLoaded()];case 1:return i.sent(),typeof this.modelArtifactsOrURL!="string"?[3,3]:[4,Tf(this.modelArtifactsOrURL)];case 2:return t=i.sent(),[3,5];case 3:return[4,Tf(ST(this.modelArtifactsOrURL.modelTopology,this.modelArtifactsOrURL.weightSpecs,this.modelArtifactsOrURL.weightData))];case 4:t=i.sent(),i.label=5;case 5:if(t.inputs.length!==1)throw new Error("Expected model to have 1 input, but got a model with "+t.inputs.length+" inputs");if(t.inputs[0].shape.length!==4)throw new Error("Expected model to have an input shape of rank 4, but got an input shape of rank "+t.inputs[0].shape.length);if(t.inputs[0].shape[3]!==1)throw new Error("Expected model to have an input shape with 1 as the last dimension, but got input shape"+JSON.stringify(t.inputs[0].shape[3])+"}");if((n=t.outputShape).length!==2)throw new Error("Expected loaded model to have an output shape of rank 2,but received shape "+JSON.stringify(n));if(n[1]!==this.words.length)throw new Error("Mismatch between the last dimension of model's output shape ("+n[1]+") and number of words ("+this.words.length+").");return this.model=t,this.freezeModel(),this.nonBatchInputShape=t.inputs[0].shape.slice(1),this.elementsPerExample=1,t.inputs[0].shape.slice(1).forEach(function(o){return a.elementsPerExample*=o}),this.warmUpModel(),r=this.parameters.fftSize/this.parameters.sampleRateHz*1e3,s=t.inputs[0].shape[1],this.parameters.spectrogramDurationMillis=s*r,[2]}})})},e.prototype.ensureModelWithEmbeddingOutputCreated=function(){return wt(this,void 0,void 0,function(){var t,n;return _t(this,function(r){switch(r.label){case 0:return this.modelWithEmbeddingOutput!=null?[2]:[4,this.ensureModelLoaded()];case 1:for(r.sent(),n=this.model.layers.length-2;n>=0;--n)if(this.model.layers[n].getClassName()==="Dense"){t=this.model.layers[n];break}if(t==null)throw new Error("Failed to find second last dense layer in the original model.");return this.modelWithEmbeddingOutput=T0({inputs:this.model.inputs,outputs:[this.model.outputs[0],t.output]}),[2]}})})},e.prototype.warmUpModel=function(){var t=this;K(function(){for(var n=Pt([1].concat(t.nonBatchInputShape)),r=0;r<3;++r)t.model.predict(n)})},e.prototype.ensureMetadataLoaded=function(){return wt(this,void 0,void 0,function(){var t,n,r;return _t(this,function(s){switch(s.label){case 0:return this.words!=null?[2]:typeof this.metadataOrURL!="string"?[3,2]:[4,q0e(this.metadataOrURL)];case 1:return n=s.sent(),[3,3];case 2:n=this.metadataOrURL,s.label=3;case 3:if((t=n).wordLabels==null){if((r=t.words)==null)throw new Error('Cannot find field "words" or "wordLabels" in metadata JSON file');this.words=r}else this.words=t.wordLabels;return[2]}})})},e.prototype.stopListening=function(){return wt(this,void 0,void 0,function(){return _t(this,function(t){switch(t.label){case 0:if(!this.streaming)throw new Error("Cannot stop streaming when streaming is not ongoing.");return[4,this.audioDataExtractor.stop()];case 1:return t.sent(),this.streaming=!1,[2]}})})},e.prototype.isListening=function(){return this.streaming},e.prototype.wordLabels=function(){return this.words},e.prototype.params=function(){return this.parameters},e.prototype.modelInputShape=function(){if(this.model==null)throw new Error("Model has not been loaded yet. Load model by calling ensureModelLoaded(), recognize(), or listen().");return this.model.inputs[0].shape},e.prototype.recognize=function(t,n){return wt(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d,p,f,g;return _t(this,function(v){switch(v.label){case 0:return n??={},[4,this.ensureModelLoaded()];case 1:return v.sent(),t!=null?[3,3]:[4,this.recognizeOnline()];case 2:r=v.sent(),t=r.data,v.label=3;case 3:if(t instanceof Ve)this.checkInputTensorShape(t),a=t,s=t.shape[0];else{if(t.length%this.elementsPerExample)throw new Error("The length of the input Float32Array "+t.length+" is not divisible by the number of tensor elements per per example expected by the model "+this.elementsPerExample+".");s=t.length/this.elementsPerExample,a=Lg(t,[s].concat(this.nonBatchInputShape))}return o={scores:null},n.includeEmbedding?[4,this.ensureModelWithEmbeddingOutputCreated()]:[3,5];case 4:return v.sent(),l=this.modelWithEmbeddingOutput.predict(a),i=l[0],o.embedding=l[1],[3,6];case 5:i=this.model.predict(a),v.label=6;case 6:return s!==1?[3,8]:(u=o,[4,i.data()]);case 7:return u.scores=v.sent(),[3,10];case 8:return c=Kn(i),h=c.map(function(y){return y.data()}),d=o,[4,Promise.all(h)];case 9:d.scores=v.sent(),ke(c),v.label=10;case 10:return n.includeSpectrogram?(p=o,f={},t instanceof Ve?[4,t.data()]:[3,12]):[3,14];case 11:return g=v.sent(),[3,13];case 12:g=t,v.label=13;case 13:p.spectrogram=(f.data=g,f.frameSize=this.nonBatchInputShape[1],f),v.label=14;case 14:return ke(i),[2,o]}})})},e.prototype.recognizeOnline=function(){return wt(this,void 0,void 0,function(){var t=this;return _t(this,function(n){return[2,new Promise(function(r,s){t.audioDataExtractor=new NN({sampleRateHz:t.parameters.sampleRateHz,numFramesPerSpectrogram:t.nonBatchInputShape[0],columnTruncateLength:t.nonBatchInputShape[1],suppressionTimeMillis:0,spectrogramCallback:function(a){return wt(t,void 0,void 0,function(){var i,o,l;return _t(this,function(u){switch(u.label){case 0:return i=cd(a),[4,this.audioDataExtractor.stop()];case 1:return u.sent(),o=r,l={},[4,i.data()];case 2:return o.apply(void 0,[(l.data=u.sent(),l.frameSize=this.nonBatchInputShape[1],l)]),i.dispose(),[2,!1]}})})},overlapFactor:0}),t.audioDataExtractor.start()})]})})},e.prototype.createTransfer=function(t){if(this.model==null)throw new Error("Model has not been loaded yet. Load model by calling ensureModelLoaded(), recognizer(), or listen().");E(t!=null&&typeof t=="string"&&t.length>1,function(){return"Expected the name for a transfer-learning recognized to be a non-empty string, but got "+JSON.stringify(t)}),E(this.transferRecognizers[t]==null,function(){return"There is already a transfer-learning model named '"+t+"'"});var n=new c_e(t,this.parameters,this.model);return this.transferRecognizers[t]=n,n},e.prototype.freezeModel=function(){var t,n;try{for(var r=ir(this.model.layers),s=r.next();!s.done;s=r.next())s.value.trainable=!1}catch(a){t={error:a}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}},e.prototype.checkInputTensorShape=function(t){var n=this.model.inputs[0].shape.length;if(t.shape.length!==n)throw new Error("Expected input Tensor to have rank "+n+", but got rank "+t.shape.length+" that differs ");var r=t.shape.slice(1),s=this.model.inputs[0].shape.slice(1);if(!Ue(r,s))throw new Error("Expected input to have shape [null,"+s+"], but got shape [null,"+r+"]")},e.VALID_VOCABULARY_NAMES=["18w","directional4w"],e.DEFAULT_VOCABULARY_NAME="18w",e})(),c_e=(function(e){function t(n,r,s){var a=e.call(this)||this;return a.name=n,a.parameters=r,a.baseModel=s,E(n!=null&&typeof n=="string"&&n.length>0,function(){return"The name of a transfer model must be a non-empty string, but got "+JSON.stringify(n)}),a.nonBatchInputShape=a.baseModel.inputs[0].shape.slice(1),a.words=null,a.dataset=new CN,a}return j0e(t,e),t.prototype.collectExample=function(n,r){return wt(this,void 0,void 0,function(){var s,a,i,o,l=this;return _t(this,function(u){if(E(!this.streaming,function(){return"Cannot start collection of transfer-learning example because a streaming recognition or transfer-learning example collection is ongoing"}),E(n!=null&&typeof n=="string"&&n.length>0,function(){return"Must provide a non-empty string when collecting transfer-learning example"}),r??={},r.durationMultiplier!=null&&r.durationSec!=null)throw new Error("durationMultiplier and durationSec are mutually exclusive, but are both specified.");return r.durationSec!=null?(E(r.durationSec>0,function(){return"Expected durationSec to be > 0, but got "+r.durationSec}),a=this.parameters.fftSize/this.parameters.sampleRateHz,s=Math.ceil(r.durationSec/a)):r.durationMultiplier!=null?(E(r.durationMultiplier>=1,function(){return"Expected duration multiplier to be >= 1, but got "+r.durationMultiplier}),s=Math.round(this.nonBatchInputShape[0]*r.durationMultiplier)):s=this.nonBatchInputShape[0],r.snippetDurationSec!=null&&(E(r.snippetDurationSec>0,function(){return"snippetDurationSec is expected to be > 0, but got "+r.snippetDurationSec}),E(r.onSnippet!=null,function(){return"onSnippet must be provided if snippetDurationSec is provided."})),r.onSnippet!=null&&E(r.snippetDurationSec!=null,function(){return"snippetDurationSec must be provided if onSnippet is provided."}),i=this.parameters.fftSize/this.parameters.sampleRateHz,o=i*s,this.streaming=!0,[2,new Promise(function(c){var h=r.snippetDurationSec==null?1:r.snippetDurationSec/o,d=1-h,p=Math.round(1/h),f=0,g=-1,v=[];l.audioDataExtractor=new NN({sampleRateHz:l.parameters.sampleRateHz,numFramesPerSpectrogram:s,columnTruncateLength:l.nonBatchInputShape[1],suppressionTimeMillis:0,spectrogramCallback:function(y,b){return wt(l,void 0,void 0,function(){var w,x,_,$,N,k,A,O,R,T,S,F,M,L,z,q,J,re,Y,ae;return _t(this,function(ne){switch(ne.label){case 0:return r.onSnippet!=null?[3,7]:(w=cd(y),_=(x=this.dataset).addExample,$={label:n},N={},[4,w.data()]);case 1:return $.spectrogram=(N.data=ne.sent(),N.frameSize=this.nonBatchInputShape[1],N),r.includeRawAudio?(A={},[4,b.data()]):[3,3];case 2:return A.data=ne.sent(),A.sampleRateHz=this.audioDataExtractor.sampleRateHz,k=A,[3,4];case 3:k=void 0,ne.label=4;case 4:return _.apply(x,[($.rawAudio=k,$)]),w.dispose(),[4,this.audioDataExtractor.stop()];case 5:return ne.sent(),this.streaming=!1,this.collateTransferWords(),O=c,R={},[4,y.data()];case 6:return O.apply(void 0,[(R.data=ne.sent(),R.frameSize=this.nonBatchInputShape[1],R)]),[3,13];case 7:return[4,y.data()];case 8:for(T=ne.sent(),g===-1&&(g=T.length),S=g-1;T[S]!==0&&S>=0;)S--;return F=g-S-1,g=S+1,M=T.slice(T.length-F,T.length),v.push(M),r.onSnippet!=null&&r.onSnippet({data:M,frameSize:this.nonBatchInputShape[1]}),f++!==p?[3,13]:[4,this.audioDataExtractor.stop()];case 9:return ne.sent(),this.streaming=!1,this.collateTransferWords(),L=H5(K5(v)),z={data:L,frameSize:this.nonBatchInputShape[1]},J=(q=this.dataset).addExample,re={label:n,spectrogram:z},r.includeRawAudio?(ae={},[4,b.data()]):[3,11];case 10:return ae.data=ne.sent(),ae.sampleRateHz=this.audioDataExtractor.sampleRateHz,Y=ae,[3,12];case 11:Y=void 0,ne.label=12;case 12:J.apply(q,[(re.rawAudio=Y,re)]),c(z),ne.label=13;case 13:return[2,!1]}})})},overlapFactor:d,includeRawAudio:r.includeRawAudio}),l.audioDataExtractor.start(r.audioTrackConstraints)})]})})},t.prototype.clearExamples=function(){var n=this;E(this.words!=null&&this.words.length>0&&!this.dataset.empty(),function(){return"No transfer learning examples exist for model name "+n.name}),this.dataset.clear(),this.words=null},t.prototype.countExamples=function(){if(this.dataset.empty())throw new Error("No examples have been collected for transfer-learning model named '"+this.name+"' yet.");return this.dataset.getExampleCounts()},t.prototype.getExamples=function(n){return this.dataset.getExamples(n)},t.prototype.setExampleKeyFrameIndex=function(n,r){this.dataset.setExampleKeyFrameIndex(n,r)},t.prototype.removeExample=function(n){this.dataset.removeExample(n),this.collateTransferWords()},t.prototype.isDatasetEmpty=function(){return this.dataset.empty()},t.prototype.loadExamples=function(n,r){var s,a,i,o;r===void 0&&(r=!1);var l=new CN(n);r&&this.clearExamples();var u=l.getVocabulary();try{for(var c=ir(u),h=c.next();!h.done;h=c.next()){var d=h.value,p=l.getExamples(d);try{for(var f=(i=void 0,ir(p)),g=f.next();!g.done;g=f.next()){var v=g.value;this.dataset.addExample(v.example)}}catch(y){i={error:y}}finally{try{g&&!g.done&&(o=f.return)&&o.call(f)}finally{if(i)throw i.error}}}}catch(y){s={error:y}}finally{try{h&&!h.done&&(a=c.return)&&a.call(c)}finally{if(s)throw s.error}}this.collateTransferWords()},t.prototype.serializeExamples=function(n){return this.dataset.serialize(n)},t.prototype.collateTransferWords=function(){this.words=this.dataset.getVocabulary()},t.prototype.collectTransferDataAsTensors=function(n,r){var s=this.nonBatchInputShape[0];n=n||fx;var a=Math.round(n*s),i=this.dataset.getData(null,SN({numFrames:s,hopFrames:a},r));return{xs:i.xs,ys:i.ys}},t.prototype.collectTransferDataAsTfDataset=function(n,r,s,a){r===void 0&&(r=.15),s===void 0&&(s=32);var i=this.nonBatchInputShape[0];n=n||fx;var o=Math.round(n*i);return this.dataset.getData(null,SN({numFrames:i,hopFrames:o,getDataset:!0,datasetBatchSize:s,datasetValidationSplit:r},a))},t.prototype.train=function(n){return wt(this,void 0,void 0,function(){var r,s=this;return _t(this,function(a){return E(this.words!=null&&this.words.length>0,function(){return"Cannot train transfer-learning model '"+s.name+"' because no transfer learning example has been collected."}),E(this.words.length>1,function(){return"Cannot train transfer-learning model '"+s.name+"' because only 1 word label ('"+JSON.stringify(s.words)+"') has been collected for transfer learning. Requires at least 2."}),n.fineTuningEpochs!=null&&E(n.fineTuningEpochs>=0&&Number.isInteger(n.fineTuningEpochs),function(){return"If specified, fineTuningEpochs must be a non-negative integer, but received "+n.fineTuningEpochs}),n??={},this.model??this.createTransferModelFromBaseModel(),this.secondLastBaseDenseLayer.trainable=!1,this.model.compile({loss:"categoricalCrossentropy",optimizer:n.optimizer||"sgd",metrics:["acc"]}),r=n.fitDatasetDurationMillisThreshold==null?6e4:n.fitDatasetDurationMillisThreshold,this.dataset.durationMillis()>r?(console.log("Detected large dataset: total duration = "+this.dataset.durationMillis()+" ms > "+r+" ms. Training transfer model using fitDataset() instead of fit()"),[2,this.trainOnDataset(n)]):[2,this.trainOnTensors(n)]})})},t.prototype.trainOnDataset=function(n){return wt(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h;return _t(this,function(d){switch(d.label){case 0:return E(n.epochs>0,function(){return"Invalid config.epochs"}),r=n.batchSize==null?32:n.batchSize,s=n.windowHopRatio||fx,a=IN(this.collectTransferDataAsTfDataset(s,n.validationSplit,r,{augmentByMixingNoiseRatio:n.augmentByMixingNoiseRatio}),2),i=a[0],o=a[1],l=Bt(),[4,this.model.fitDataset(i,{epochs:n.epochs,validationData:n.validationSplit>0?o:null,callbacks:n.callback==null?null:[n.callback]})];case 1:return u=d.sent(),console.log("fitDataset() took "+(Bt()-l).toFixed(2)+" ms"),n.fineTuningEpochs!=null&&n.fineTuningEpochs>0?(c=Bt(),[4,this.fineTuningUsingTfDatasets(n,i,o)]):[3,3];case 2:return h=d.sent(),console.log("fitDataset() (fine-tuning) took "+(Bt()-c).toFixed(2)+" ms"),[2,[u,h]];case 3:return[2,u]}})})},t.prototype.trainOnTensors=function(n){return wt(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d;return _t(this,function(p){switch(p.label){case 0:r=n.windowHopRatio||fx,s=this.collectTransferDataAsTensors(r,{augmentByMixingNoiseRatio:n.augmentByMixingNoiseRatio}),a=s.xs,i=s.ys,console.log("Training data: xs.shape = "+a.shape+", ys.shape = "+i.shape),p.label=1;case 1:return p.trys.push([1,,6,7]),n.validationSplit!=null?(c=e_e(a,i,n.validationSplit),o=c.trainXs,l=c.trainYs,u=[c.valXs,c.valYs]):(o=a,l=i),[4,this.model.fit(o,l,{epochs:n.epochs==null?20:n.epochs,validationData:u,batchSize:n.batchSize,callbacks:n.callback==null?null:[n.callback]})];case 2:return h=p.sent(),n.fineTuningEpochs!=null&&n.fineTuningEpochs>0?[4,this.fineTuningUsingTensors(n,o,l,u)]:[3,4];case 3:return d=p.sent(),[2,[h,d]];case 4:return[2,h];case 5:return[3,7];case 6:return ke([a,i,o,l,u]),[7];case 7:return[2]}})})},t.prototype.fineTuningUsingTfDatasets=function(n,r,s){return wt(this,void 0,void 0,function(){var a,i,o;return _t(this,function(l){switch(l.label){case 0:return a=this.secondLastBaseDenseLayer.trainable,this.secondLastBaseDenseLayer.trainable=!0,i=n.fineTuningOptimizer==null?"sgd":n.fineTuningOptimizer,this.model.compile({loss:"categoricalCrossentropy",optimizer:i,metrics:["acc"]}),[4,this.model.fitDataset(r,{epochs:n.fineTuningEpochs,validationData:s,callbacks:n.callback==null?null:[n.callback]})];case 1:return o=l.sent(),this.secondLastBaseDenseLayer.trainable=a,[2,o]}})})},t.prototype.fineTuningUsingTensors=function(n,r,s,a){return wt(this,void 0,void 0,function(){var i,o,l;return _t(this,function(u){switch(u.label){case 0:return i=this.secondLastBaseDenseLayer.trainable,this.secondLastBaseDenseLayer.trainable=!0,o=n.fineTuningOptimizer==null?"sgd":n.fineTuningOptimizer,this.model.compile({loss:"categoricalCrossentropy",optimizer:o,metrics:["acc"]}),[4,this.model.fit(r,s,{epochs:n.fineTuningEpochs,validationData:a,batchSize:n.batchSize,callbacks:n.fineTuningCallback==null?null:[n.fineTuningCallback]})];case 1:return l=u.sent(),this.secondLastBaseDenseLayer.trainable=i,[2,l]}})})},t.prototype.evaluate=function(n){return wt(this,void 0,void 0,function(){var r,s=this;return _t(this,function(a){return E(n.wordProbThresholds!=null&&n.wordProbThresholds.length>0,function(){return"Received null or empty wordProbThresholds"}),r=0,E(this.words[r]===px,function(){return"Cannot perform evaluation when the first tag is not "+px}),[2,K(function(){for(var i=[],o=0,l=s.collectTransferDataAsTensors(n.windowHopRatio),u=l.xs,c=l.ys.argMax(-1).dataSync(),h=s.model.predict(u),d=Gn(We(h,[0,1],[h.shape[0],h.shape[1]-1]),-1),p=h.shape[0],f=0;f<n.wordProbThresholds.length;++f){for(var g=n.wordProbThresholds[f],v=d.greater(ye(g)).dataSync(),y=0,b=0,w=0,x=0,_=0;_<p;++_)c[_]===r?(y++,v[_]&&w++):(b++,v[_]&&x++);var $=w/y,N=x/b;i.push({probThreshold:g,fpr:$,tpr:N}),console.log("ROC thresh="+g+": fpr="+$.toFixed(4)+", tpr="+N.toFixed(4)),f>0&&(o+=Math.abs(i[f-1].fpr-i[f].fpr)*(i[f-1].tpr+i[f].tpr)/2)}return{rocCurve:i,auc:o}})]})})},t.prototype.createTransferModelFromBaseModel=function(){var n=this;E(this.words!=null,function(){return"No word example is available for tranfer-learning model of name "+n.name});for(var r=this.baseModel.layers,s=r.length-2;s>=0&&r[s].getClassName().toLowerCase()!=="dense";)s--;if(s<0)throw new Error("Cannot find a hidden dense layer in the base model.");this.secondLastBaseDenseLayer=r[s];var a=this.secondLastBaseDenseLayer.output;this.transferHead=AR(),this.transferHead.add(HR({units:this.words.length,activation:"softmax",inputShape:a.shape.slice(1),name:"NewHeadDense"}));var i=this.transferHead.apply(a);this.model=T0({inputs:this.baseModel.inputs,outputs:i})},t.prototype.modelInputShape=function(){return this.baseModel.inputs[0].shape},t.prototype.getMetadata=function(){return{tfjsSpeechCommandsVersion:$N,modelName:this.name,timeStamp:new Date().toISOString(),wordLabels:this.wordLabels()}},t.prototype.save=function(n){return wt(this,void 0,void 0,function(){var r,s,a;return _t(this,function(i){return r=n!=null,n=n||TN(this.name),r||(s=bm.localStorage.getItem(ym),(a=s==null?{}:JSON.parse(s))[this.name]=this.getMetadata(),bm.localStorage.setItem(ym,JSON.stringify(a))),console.log("Saving model to "+n),[2,this.model.save(n)]})})},t.prototype.load=function(n){return wt(this,void 0,void 0,function(){var r,s,a;return _t(this,function(i){switch(i.label){case 0:if(r=n!=null,n=n||TN(this.name),!r){if((s=JSON.parse(bm.localStorage.getItem(ym)))==null||s[this.name]==null)throw new Error("Cannot find metadata for transfer model named "+this.name+'"');this.words=s[this.name].wordLabels,console.log("Loaded word list for model named "+this.name+": "+this.words)}return a=this,[4,Tf(n)];case 1:return a.model=i.sent(),console.log("Loaded model from "+n+":"),this.model.summary(),[2]}})})},t.prototype.createTransfer=function(n){throw new Error("Creating transfer-learned recognizer from a transfer-learned recognizer is not supported.")},t})(Q5);function TN(e){return""+kN+e}function h_e(){return wt(this,void 0,void 0,function(){var e,t,n;return _t(this,function(r){switch(r.label){case 0:return[4,o$()];case 1:for(n in e=r.sent(),t=[],e)n.startsWith(kN)&&t.push(n.slice(kN.length));return[2,t]}})})}function d_e(e){return wt(this,void 0,void 0,function(){var t;return _t(this,function(n){switch(n.label){case 0:return(t=JSON.parse(bm.localStorage.getItem(ym)))??(t={}),t[e]!=null&&delete t[e],bm.localStorage.setItem(ym,JSON.stringify(t)),[4,l$(TN(e))];case 1:return n.sent(),[2]}})})}function eK(e,t,n,r){if(E(n==null&&r==null||n!=null&&r!=null,function(){return"customModelURL and customMetadataURL must be both provided or both not provided."}),n!=null&&E(t==null,function(){return"vocabulary name must be null or undefined when modelURL is provided."}),e==="BROWSER_FFT")return new Q5(t,n,r);throw e==="SOFT_FFT"?new Error("SOFT_FFT SpeechCommandRecognizer has not been implemented yet."):new Error("Invalid fftType: '"+e+"'")}var p_e={concatenateFloat32Arrays:K5,normalizeFloat32Array:H5,normalize:cd,playRawAudio:Y0e},tK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.cropTensor=e.capture=void 0;var t=(ka(),or(gs));function n(s,a){return t.tidy(function(){return r(t.browser.fromPixels(s),a).expandDims(0).toFloat().div(t.scalar(127)).sub(t.scalar(1))})}e.capture=n;function r(s,a,i){var o=Math.min(s.shape[0],s.shape[1]),l=s.shape[0]/2-o/2,u=s.shape[1]/2-o/2;if(a&&!i){var c=s.slice([l,u,0],[o,o,3]);return c=c.reshape([o*o,1,3]),c=t.mul(c,[.2989,.587,.114]),c=c.reshape([o,o,3]),c=t.sum(c,-1),c=t.expandDims(c,-1),c}return s.slice([l,u,0],[o,o,3])}e.cropTensor=r})),nK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.cropTo=e.resizeMinTo=e.resizeMaxTo=e.resize=void 0;var t=function(){return document.createElement("canvas")};function n(i,o,l){return l===void 0&&(l=t()),l.width=i.width*o,l.height=i.height*o,l.getContext("2d").drawImage(i,0,0,l.width,l.height),l}e.resize=n;function r(i,o,l){return l===void 0&&(l=t()),n(i,o/Math.max(i.width,i.height),l)}e.resizeMaxTo=r;function s(i,o,l){return l===void 0&&(l=t()),n(i,o/Math.min(i.width,i.height),l)}e.resizeMinTo=s;function a(i,o,l,u){l===void 0&&(l=!1),u===void 0&&(u=t());var c=i.width,h=i.height;i instanceof HTMLVideoElement&&(c=i.videoWidth,h=i.videoHeight);var d=o/Math.min(c,h),p=Math.ceil(c*d),f=Math.ceil(h*d),g=p-o,v=f-o;u.width=u.height=o;var y=u.getContext("2d");return y.drawImage(i,~~(g/2)*-1,~~(v/2)*-1,p,f),l&&(y.scale(-1,1),y.drawImage(u,o*-1,0)),u}e.cropTo=a})),rK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;var t="0.8.4-alpha2";e.version=t})),sK=Ye((e=>{var t=e&&e.__awaiter||function(N,k,A,O){function R(T){return T instanceof A?T:new A(function(S){S(T)})}return new(A||(A=Promise))(function(T,S){function F(z){try{L(O.next(z))}catch(q){S(q)}}function M(z){try{L(O.throw(z))}catch(q){S(q)}}function L(z){z.done?T(z.value):R(z.value).then(F,M)}L((O=O.apply(N,k||[])).next())})},n=e&&e.__generator||function(N,k){var A={label:0,sent:function(){if(T[0]&1)throw T[1];return T[1]},trys:[],ops:[]},O,R,T,S={next:F(0),throw:F(1),return:F(2)};return typeof Symbol=="function"&&(S[Symbol.iterator]=function(){return this}),S;function F(L){return function(z){return M([L,z])}}function M(L){if(O)throw new TypeError("Generator is already executing.");for(;A;)try{if(O=1,R&&(T=L[0]&2?R.return:L[0]?R.throw||((T=R.return)&&T.call(R),0):R.next)&&!(T=T.call(R,L[1])).done)return T;switch(R=0,T&&(L=[L[0]&2,T.value]),L[0]){case 0:case 1:T=L;break;case 4:return A.label++,{value:L[1],done:!1};case 5:A.label++,R=L[1],L=[0];continue;case 7:L=A.ops.pop(),A.trys.pop();continue;default:if(T=A.trys,!(T=T.length>0&&T[T.length-1])&&(L[0]===6||L[0]===2)){A=0;continue}if(L[0]===3&&(!T||L[1]>T[0]&&L[1]<T[3])){A.label=L[1];break}if(L[0]===6&&A.label<T[1]){A.label=T[1],T=L;break}if(T&&A.label<T[2]){A.label=T[2],A.ops.push(L);break}T[2]&&A.ops.pop(),A.trys.pop();continue}L=k.call(N,A)}catch(z){L=[6,z],R=0}finally{O=T=0}if(L[0]&5)throw L[1];return{value:L[0]?L[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0}),e.loadFromFiles=e.load=e.loadTruncatedMobileNet=e.CustomMobileNet=e.getTopKClasses=e.IMAGE_SIZE=void 0;var r=(ka(),or(gs)),s=(ka(),or(gs)),a=tK(),i=nK(),o=rK(),l=1,u="conv_pw_13_relu",c="out_relu",h=.25,d=.35;e.IMAGE_SIZE=224;var p=function(N){return N.packageVersion=N.packageVersion||o.version,N.packageName=N.packageName||"@teachablemachine/image",N.timeStamp=N.timeStamp||new Date().toISOString(),N.userMetadata=N.userMetadata||{},N.modelName=N.modelName||"untitled",N.labels=N.labels||[],N.imageSize=N.imageSize||e.IMAGE_SIZE,N},f=function(N){return!!N&&Array.isArray(N.labels)},g=function(N,k){if(N===1){if(k!==.25&&k!==.5&&k!==.75&&k!==1)return console.warn("Invalid alpha. Options are: 0.25, 0.50, 0.75 or 1.00."),console.log("Loading model with alpha: ",h.toFixed(2)),h}else if(k!==.35&&k!==.5&&k!==.75&&k!==1)return console.warn("Invalid alpha. Options are: 0.35, 0.50, 0.75 or 1.00."),console.log("Loading model with alpha: ",d.toFixed(2)),d;return k},v=function(N){if(N=N||{},N.checkpointUrl&&N.trainingLayer)return(N.alpha||N.version)&&console.warn("Checkpoint URL passed to modelOptions, alpha options are ignored"),[N.checkpointUrl,N.trainingLayer];if(N.version=N.version||l,N.version===1){N.alpha=N.alpha||h,N.alpha=g(N.version,N.alpha),console.log("Loading mobilenet "+N.version+" and alpha "+N.alpha);var k=N.alpha.toFixed(2);return k==="1.00"&&(k="1.0"),["https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_"+k+"_"+e.IMAGE_SIZE+"/model.json",u]}else{if(N.version===2)return N.alpha=N.alpha||d,N.alpha=g(N.version,N.alpha),console.log("Loading mobilenet "+N.version+" and alpha "+N.alpha),["https://storage.googleapis.com/teachable-machine-models/mobilenet_v2_weights_tf_dim_ordering_tf_kernels_"+N.alpha.toFixed(2)+"_"+e.IMAGE_SIZE+"_no_top/model.json",c];throw new Error("MobileNet V"+N.version+" doesn't exist")}},y=function(N){return t(void 0,void 0,void 0,function(){var k,A;return n(this,function(O){switch(O.label){case 0:return typeof N!="string"?[3,3]:[4,fetch(N)];case 1:return A=O.sent(),[4,A.json()];case 2:return k=O.sent(),[3,4];case 3:if(f(N))k=N;else throw new Error("Invalid Metadata provided");O.label=4;case 4:return[2,p(k)]}})})};function b(N,k,A){return A===void 0&&(A=3),t(this,void 0,void 0,function(){var O;return n(this,function(R){switch(R.label){case 0:return[4,k.data()];case 1:return O=R.sent(),[2,r.tidy(function(){A=Math.min(A,O.length);for(var T=[],S=0;S<O.length;S++)T.push({value:O[S],index:S});T.sort(function(z,q){return q.value-z.value});for(var F=new Float32Array(A),M=new Int32Array(A),S=0;S<A;S++)F[S]=T[S].value,M[S]=T[S].index;for(var L=[],S=0;S<M.length;S++)L.push({className:N[M[S]],probability:F[S]});return L})]}})})}e.getTopKClasses=b;var w=(function(){function N(k,A){this.model=k,this._metadata=p(A)}return Object.defineProperty(N,"EXPECTED_IMAGE_SIZE",{get:function(){return e.IMAGE_SIZE},enumerable:!1,configurable:!0}),N.prototype.getMetadata=function(){return this._metadata},N.prototype.getTotalClasses=function(){return this.model.output.shape[1]},N.prototype.getClassLabels=function(){return this._metadata.labels},N.prototype.predictTopK=function(k,A,O){return A===void 0&&(A=10),O===void 0&&(O=!1),t(this,void 0,void 0,function(){var R,T,S,F=this;return n(this,function(M){switch(M.label){case 0:return R=i.cropTo(k,this._metadata.imageSize,O),T=r.tidy(function(){var L=a.capture(R,F._metadata.grayscale);return F.model.predict(L)}),[4,b(this._metadata.labels,T,A)];case 1:return S=M.sent(),s.dispose(T),[2,S]}})})},N.prototype.predict=function(k,A){return A===void 0&&(A=!1),t(this,void 0,void 0,function(){var O,R,T,S,F,M=this;return n(this,function(L){switch(L.label){case 0:return O=i.cropTo(k,this._metadata.imageSize,A),R=r.tidy(function(){var z=a.capture(O,M._metadata.grayscale);return M.model.predict(z)}),[4,R.data()];case 1:for(T=L.sent(),S=[],F=0;F<T.length;F++)S.push({className:this._metadata.labels[F],probability:T[F]});return s.dispose(R),[2,S]}})})},N.prototype.dispose=function(){this.truncatedModel.dispose()},N})();e.CustomMobileNet=w;function x(N){return t(this,void 0,void 0,function(){var k,A,O,R,T,S,F,T,S,F;return n(this,function(M){switch(M.label){case 0:return k=v(N),A=k[0],O=k[1],[4,r.loadLayersModel(A)];case 1:return R=M.sent(),N&&N.version===1?(T=R.getLayer(O),S=r.model({inputs:R.inputs,outputs:T.output}),F=r.sequential(),F.add(S),F.add(r.layers.flatten()),[2,F]):(T=R.getLayer(O),S=r.model({inputs:R.inputs,outputs:T.output}),F=r.sequential(),F.add(S),F.add(r.layers.globalAveragePooling2d({})),[2,F])}})})}e.loadTruncatedMobileNet=x;function _(N,k){return t(this,void 0,void 0,function(){var A,O,R;return n(this,function(T){switch(T.label){case 0:return[4,r.loadLayersModel(N)];case 1:return A=T.sent(),k?[4,y(k)]:[3,3];case 2:return R=T.sent(),[3,4];case 3:R=null,T.label=4;case 4:return O=R,[2,new w(A,O)]}})})}e.load=_;function $(N,k,A){return t(this,void 0,void 0,function(){var O,R,T,S;return n(this,function(F){switch(F.label){case 0:return[4,r.loadLayersModel(r.io.browserFiles([N,k]))];case 1:return O=F.sent(),[4,new Response(A).json()];case 2:return R=F.sent(),A?[4,y(R)]:[3,4];case 3:return S=F.sent(),[3,5];case 4:S=null,F.label=5;case 5:return T=S,[2,new w(O,T)]}})})}e.loadFromFiles=$})),f_e=Ye(((e,t)=>{(function(n,r,s){function a(u){var c=this,h=l();c.next=function(){var d=2091639*c.s0+c.c*23283064365386963e-26;return c.s0=c.s1,c.s1=c.s2,c.s2=d-(c.c=d|0)},c.c=1,c.s0=h(" "),c.s1=h(" "),c.s2=h(" "),c.s0-=h(u),c.s0<0&&(c.s0+=1),c.s1-=h(u),c.s1<0&&(c.s1+=1),c.s2-=h(u),c.s2<0&&(c.s2+=1),h=null}function i(u,c){return c.c=u.c,c.s0=u.s0,c.s1=u.s1,c.s2=u.s2,c}function o(u,c){var h=new a(u),d=c&&c.state,p=h.next;return p.int32=function(){return h.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,d&&(typeof d=="object"&&i(d,h),p.state=function(){return i(h,{})}),p}function l(){var u=4022871197,c=function(h){h=h.toString();for(var d=0;d<h.length;d++){u+=h.charCodeAt(d);var p=.02519603282416938*u;u=p>>>0,p-=u,p*=u,u=p>>>0,p-=u,u+=p*4294967296}return(u>>>0)*23283064365386963e-26};return c}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.alea=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),m_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this,c="";u.x=0,u.y=0,u.z=0,u.w=0,u.next=function(){var d=u.x^u.x<<11;return u.x=u.y,u.y=u.z,u.z=u.w,u.w^=u.w>>>19^d^d>>>8},l===(l|0)?u.x=l:c+=l;for(var h=0;h<c.length+64;h++)u.x^=c.charCodeAt(h)|0,u.next()}function i(l,u){return u.x=l.x,u.y=l.y,u.z=l.z,u.w=l.w,u}function o(l,u){var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(typeof h=="object"&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.xor128=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),g_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this,c="";u.next=function(){var d=u.x^u.x>>>2;return u.x=u.y,u.y=u.z,u.z=u.w,u.w=u.v,(u.d=u.d+362437|0)+(u.v=u.v^u.v<<4^(d^d<<1))|0},u.x=0,u.y=0,u.z=0,u.w=0,u.v=0,l===(l|0)?u.x=l:c+=l;for(var h=0;h<c.length+64;h++)u.x^=c.charCodeAt(h)|0,h==c.length&&(u.d=u.x<<10^u.x>>>4),u.next()}function i(l,u){return u.x=l.x,u.y=l.y,u.z=l.z,u.w=l.w,u.v=l.v,u.d=l.d,u}function o(l,u){var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(typeof h=="object"&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.xorwow=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),v_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this;u.next=function(){var h=u.x,d=u.i,p=h[d],f;return p^=p>>>7,f=p^p<<24,p=h[d+1&7],f^=p^p>>>10,p=h[d+3&7],f^=p^p>>>3,p=h[d+4&7],f^=p^p<<7,p=h[d+7&7],p=p^p<<13,f^=p^p<<9,h[d]=f,u.i=d+1&7,f};function c(h,d){var p,f=[];if(d===(d|0))f[0]=d;else for(d=""+d,p=0;p<d.length;++p)f[p&7]=f[p&7]<<15^d.charCodeAt(p)+f[p+1&7]<<13;for(;f.length<8;)f.push(0);for(p=0;p<8&&f[p]===0;++p);for(p==8?f[7]=-1:f[p],h.x=f,h.i=0,p=256;p>0;--p)h.next()}c(u,l)}function i(l,u){return u.x=l.x.slice(),u.i=l.i,u}function o(l,u){l==null&&(l=+new Date);var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(h.x&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.xorshift7=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),y_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this;u.next=function(){var h=u.w,d=u.X,p=u.i,f,g;return u.w=h=h+1640531527|0,g=d[p+34&127],f=d[p=p+1&127],g^=g<<13,f^=f<<17,g^=g>>>15,f^=f>>>12,g=d[p]=g^f,u.i=p,g+(h^h>>>16)|0};function c(h,d){var p,f,g,v,y,b=[],w=128;for(d===(d|0)?(f=d,d=null):(d=d+"\0",f=0,w=Math.max(w,d.length)),g=0,v=-32;v<w;++v)d&&(f^=d.charCodeAt((v+32)%d.length)),v===0&&(y=f),f^=f<<10,f^=f>>>15,f^=f<<4,f^=f>>>13,v>=0&&(y=y+1640531527|0,p=b[v&127]^=f+y,g=p==0?g+1:0);for(g>=128&&(b[(d&&d.length||0)&127]=-1),g=127,v=512;v>0;--v)f=b[g+34&127],p=b[g=g+1&127],f^=f<<13,p^=p<<17,f^=f>>>15,p^=p>>>12,b[g]=f^p;h.w=y,h.X=b,h.i=g}c(u,l)}function i(l,u){return u.i=l.i,u.w=l.w,u.X=l.X.slice(),u}function o(l,u){l==null&&(l=+new Date);var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(h.X&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.xor4096=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),b_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this,c="";u.next=function(){var d=u.b,p=u.c,f=u.d,g=u.a;return d=d<<25^d>>>7^p,p=p-f|0,f=f<<24^f>>>8^g,g=g-d|0,u.b=d=d<<20^d>>>12^p,u.c=p=p-f|0,u.d=f<<16^p>>>16^g,u.a=g-d|0},u.a=0,u.b=0,u.c=-1640531527,u.d=1367130551,l===Math.floor(l)?(u.a=l/4294967296|0,u.b=l|0):c+=l;for(var h=0;h<c.length+20;h++)u.b^=c.charCodeAt(h)|0,u.next()}function i(l,u){return u.a=l.a,u.b=l.b,u.c=l.c,u.d=l.d,u}function o(l,u){var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(typeof h=="object"&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.tychei=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),x_e=Ye(((e,t)=>{(function(n,r){var s=this,a=256,i=6,o=52,l="random",u=r.pow(a,i),c=r.pow(2,o),h=c*2,d=a-1,p;function f(_,$,N){var k=[];$=$==!0?{entropy:!0}:$||{};var A=b(y($.entropy?[_,x(n)]:_??w(),3),k),O=new g(k),R=function(){for(var T=O.g(i),S=u,F=0;T<c;)T=(T+F)*a,S*=a,F=O.g(1);for(;T>=h;)T/=2,S/=2,F>>>=1;return(T+F)/S};return R.int32=function(){return O.g(4)|0},R.quick=function(){return O.g(4)/4294967296},R.double=R,b(x(O.S),n),($.pass||N||function(T,S,F,M){return M&&(M.S&&v(M,O),T.state=function(){return v(O,{})}),F?(r[l]=T,S):T})(R,A,"global"in $?$.global:this==r,$.state)}r["seed"+l]=f;function g(_){var $,N=_.length,k=this,A=0,O=k.i=k.j=0,R=k.S=[];for(N||(_=[N++]);A<a;)R[A]=A++;for(A=0;A<a;A++)R[A]=R[O=d&O+_[A%N]+($=R[A])],R[O]=$;(k.g=function(T){for(var S,F=0,M=k.i,L=k.j,z=k.S;T--;)S=z[M=d&M+1],F=F*a+z[d&(z[M]=z[L=d&L+S])+(z[L]=S)];return k.i=M,k.j=L,F})(a)}function v(_,$){return $.i=_.i,$.j=_.j,$.S=_.S.slice(),$}function y(_,$){var N=[],k=typeof _,A;if($&&k=="object")for(A in _)try{N.push(y(_[A],$-1))}catch{}return N.length?N:k=="string"?_:_+"\0"}function b(_,$){for(var N=_+"",k,A=0;A<N.length;)$[d&A]=d&(k^=$[d&A]*19)+N.charCodeAt(A++);return x($)}function w(){try{var _;return p&&(_=p.randomBytes)?_=_(a):(_=new Uint8Array(a),(s.crypto||s.msCrypto).getRandomValues(_)),x(_)}catch{var $=s.navigator,N=$&&$.plugins;return[+new Date,s,N,s.screen,x(n)]}}function x(_){return String.fromCharCode.apply(0,_)}if(b(r.random(),n),typeof t=="object"&&t.exports){t.exports=f;try{p=Bl()}catch{}}else typeof define=="function"&&define.amd&&define(function(){return f})})([],Math)})),w_e=Ye(((e,t)=>{var n=f_e(),r=m_e(),s=g_e(),a=v_e(),i=y_e(),o=b_e(),l=x_e();l.alea=n,l.xor128=r,l.xorwow=s,l.xorshift7=a,l.xor4096=i,l.tychei=o,t.exports=l})),__e=Ye((e=>{var t=e&&e.__extends||(function(){var g=function(v,y){return g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var x in w)w.hasOwnProperty(x)&&(b[x]=w[x])},g(v,y)};return function(v,y){g(v,y);function b(){this.constructor=v}v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}})(),n=e&&e.__awaiter||function(g,v,y,b){function w(x){return x instanceof y?x:new y(function(_){_(x)})}return new(y||(y=Promise))(function(x,_){function $(A){try{k(b.next(A))}catch(O){_(O)}}function N(A){try{k(b.throw(A))}catch(O){_(O)}}function k(A){A.done?x(A.value):w(A.value).then($,N)}k((b=b.apply(g,v||[])).next())})},r=e&&e.__generator||function(g,v){var y={label:0,sent:function(){if(x[0]&1)throw x[1];return x[1]},trys:[],ops:[]},b,w,x,_={next:$(0),throw:$(1),return:$(2)};return typeof Symbol=="function"&&(_[Symbol.iterator]=function(){return this}),_;function $(k){return function(A){return N([k,A])}}function N(k){if(b)throw new TypeError("Generator is already executing.");for(;y;)try{if(b=1,w&&(x=k[0]&2?w.return:k[0]?w.throw||((x=w.return)&&x.call(w),0):w.next)&&!(x=x.call(w,k[1])).done)return x;switch(w=0,x&&(k=[k[0]&2,x.value]),k[0]){case 0:case 1:x=k;break;case 4:return y.label++,{value:k[1],done:!1};case 5:y.label++,w=k[1],k=[0];continue;case 7:k=y.ops.pop(),y.trys.pop();continue;default:if(x=y.trys,!(x=x.length>0&&x[x.length-1])&&(k[0]===6||k[0]===2)){y=0;continue}if(k[0]===3&&(!x||k[1]>x[0]&&k[1]<x[3])){y.label=k[1];break}if(k[0]===6&&y.label<x[1]){y.label=x[1],x=k;break}if(x&&y.label<x[2]){y.label=x[2],y.ops.push(k);break}x[2]&&y.ops.pop(),y.trys.pop();continue}k=v.call(g,y)}catch(A){k=[6,A],w=0}finally{b=x=0}if(k[0]&5)throw k[1];return{value:k[0]?k[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0}),e.createTeachable=e.TeachableMobileNet=void 0;var s=(ka(),or(gs)),a=(ka(),or(gs)),i=tK(),o=sK(),l=w_e(),u=.15,c=function(g){return typeof g.dataId=="object"&&typeof g.shape=="object"};function h(g,v){var y=new Array(v).fill(0);return y[g]=1,y}function d(g,v){for(var y,b=g.length,w=g.slice(),x=b-1;x>0;x-=1){var _=void 0;v?_=Math.floor(v()*(x+1)):_=Math.floor(Math.random()*(x+1)),y=[w[_],w[x]],w[x]=y[0],w[_]=y[1]}return w}var p=(function(g){t(v,g);function v(y,b){var w=g.call(this,s.sequential(),b)||this;return w.totalSamples=0,w.examples=[],w.truncatedModel=y,w}return Object.defineProperty(v.prototype,"asSequentialModel",{get:function(){return this.model},enumerable:!1,configurable:!0}),Object.defineProperty(v.prototype,"isTrained",{get:function(){return!!this.model&&this.model.layers&&this.model.layers.length>2},enumerable:!1,configurable:!0}),Object.defineProperty(v.prototype,"isPrepared",{get:function(){return!!this.trainDataset},enumerable:!1,configurable:!0}),Object.defineProperty(v.prototype,"numClasses",{get:function(){return this._metadata.labels.length},enumerable:!1,configurable:!0}),v.prototype.addExample=function(y,b){return n(this,void 0,void 0,function(){var w,x,_;return r(this,function($){return w=c(b)?b:i.capture(b,this._metadata.grayscale),x=this.truncatedModel.predict(w),_=x.dataSync(),w.dispose(),x.dispose(),this.examples[y].push(_),this.totalSamples++,[2]})})},v.prototype.predict=function(y,b){return b===void 0&&(b=!1),n(this,void 0,void 0,function(){return r(this,function(w){if(!this.model)throw new Error("Model has not been trained yet, called train() first");return[2,g.prototype.predict.call(this,y,b)]})})},v.prototype.predictTopK=function(y,b,w){return b===void 0&&(b=10),w===void 0&&(w=!1),n(this,void 0,void 0,function(){return r(this,function(x){if(!this.model)throw new Error("Model has not been trained yet, called train() first");return[2,g.prototype.predictTopK.call(this,y,b,w)]})})},v.prototype.prepare=function(){for(var y in this.examples)if(y.length===0)throw new Error("Add some examples before training");var b=this.convertToTfDataset();this.trainDataset=b.trainDataset,this.validationDataset=b.validationDataset},v.prototype.convertToTfDataset=function(){for(var y=0;y<this.examples.length;y++)this.examples[y]=d(this.examples[y],this.seed);for(var b=[],w=[],x=function(O){var R=h(O,_.numClasses),T=_.examples[O].length,S=T-Math.ceil(u*T),F=_.examples[O].slice(0,S).map(function(L){return{data:L,label:R}}),M=_.examples[O].slice(S).map(function(L){return{data:L,label:R}});b=b.concat(F),w=w.concat(M)},_=this,y=0;y<this.examples.length;y++)x(y);b=d(b,this.seed),w=d(w,this.seed);var $=s.data.array(b.map(function(O){return O.data})),N=s.data.array(w.map(function(O){return O.data})),k=s.data.array(b.map(function(O){return O.label})),A=s.data.array(w.map(function(O){return O.label}));return{trainDataset:s.data.zip({xs:$,ys:k}),validationDataset:s.data.zip({xs:N,ys:A})}},v.prototype.save=function(y,b){return n(this,void 0,void 0,function(){return r(this,function(w){return[2,this.model.save(y,b)]})})},v.prototype.train=function(y,b){return b===void 0&&(b={}),n(this,void 0,void 0,function(){var w,x,_,$,N,k,A,O,R,T=this;return r(this,function(S){switch(S.label){case 0:if(w=b.onTrainEnd||(function(){}),b.onTrainEnd=function(F){T.__stopTrainingResolve&&(T.__stopTrainingResolve(),T.__stopTrainingResolve=null),w(F)},this.isPrepared||this.prepare(),x=this.getLabels().length,a.util.assert(x===this.numClasses,function(){return"Can not train, has "+x+" labels and "+T.numClasses+" classes"}),_=this.truncatedModel.outputs[0].shape.slice(1),$=s.util.sizeFromShape(_),this.seed?N=s.initializers.varianceScaling({seed:3.14}):N=s.initializers.varianceScaling({}),this.trainingModel=s.sequential({layers:[s.layers.dense({inputShape:[$],units:y.denseUnits,activation:"relu",kernelInitializer:N,useBias:!0}),s.layers.dense({kernelInitializer:N,useBias:!1,activation:"softmax",units:this.numClasses})]}),k=s.train.adam(y.learningRate),this.trainingModel.compile({optimizer:k,loss:"categoricalCrossentropy",metrics:["accuracy"]}),!(y.batchSize>0))throw new Error("Batch size is 0 or NaN. Please choose a non-zero fraction");return A=this.trainDataset.batch(y.batchSize),O=this.validationDataset.batch(y.batchSize),[4,this.trainingModel.fitDataset(A,{epochs:y.epochs,validationData:O,callbacks:b})];case 1:return S.sent(),R=s.sequential(),R.add(this.truncatedModel),R.add(this.trainingModel),this.model=R,k.dispose(),[2,this.model]}})})},v.prototype.prepareDataset=function(){for(var y=0;y<this.numClasses;y++)this.examples[y]=[]},v.prototype.setLabel=function(y,b){this._metadata.labels[y]=b},v.prototype.setLabels=function(y){this._metadata.labels=y,this.prepareDataset()},v.prototype.getLabel=function(y){return this._metadata.labels[y]},v.prototype.getLabels=function(){return this._metadata.labels},v.prototype.setName=function(y){this._metadata.modelName=y},v.prototype.getName=function(){return this._metadata.modelName},v.prototype.stopTraining=function(){var y=this;return new Promise(function(b,w){y.trainingModel.stopTraining=!0,y.__stopTrainingResolve=b})},v.prototype.dispose=function(){this.trainingModel.dispose(),g.prototype.dispose.call(this)},v.prototype.calculateAccuracyPerClass=function(){return n(this,void 0,void 0,function(){var y,b,w,x,_,$,N,k,A,O,q,R,T,S,F,M,L,z,q,J=this;return r(this,function(re){switch(re.label){case 0:return y=this.validationDataset.mapAsync(function(Y){return n(J,void 0,void 0,function(){return r(this,function(ae){return[2,Y.xs]})})}),b=this.validationDataset.mapAsync(function(Y){return n(J,void 0,void 0,function(){return r(this,function(ae){return[2,Y.ys]})})}),w=Math.min(b.size,32),x=Math.ceil(b.size/w),_=y.batch(w),$=b.batch(w),[4,_.iterator()];case 1:return N=re.sent(),[4,$.iterator()];case 2:k=re.sent(),A=[],O=[],q=0,re.label=3;case 3:return q<x?[4,N.next()]:[3,7];case 4:return R=re.sent(),T=this.trainingModel.predict(R.value),S=T.argMax(1),A.push(S),[4,k.next()];case 5:F=re.sent(),M=F.value.argMax(1),O.push(M),R.value.dispose(),T.dispose(),F.value.dispose(),re.label=6;case 6:return q++,[3,3];case 7:if(L=s.concat(O),z=s.concat(A),x!==1)for(q=0;q<A.length;q++)A[q].dispose(),O[q].dispose();return[2,{reference:L,predictions:z}]}})})},v.prototype.setSeed=function(y){this.seed=l(y)},v})(o.CustomMobileNet);e.TeachableMobileNet=p;function f(g,v){return n(this,void 0,void 0,function(){var y;return r(this,function(b){switch(b.label){case 0:return[4,o.loadTruncatedMobileNet(v)];case 1:return y=b.sent(),[2,new p(y,g)]}})})}e.createTeachable=f})),aK=Te({boundClass:()=>iK,boundMethod:()=>EN,default:()=>S_e});function mx(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?mx=function(n){return typeof n}:mx=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},mx(e)}function EN(e,t,n){var r=n.value;if(typeof r!="function")throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(mx(r)));var s=!1;return{configurable:!0,get:function(){if(s||this===e.prototype||this.hasOwnProperty(t)||typeof r!="function")return r;var i=r.bind(this);return s=!0,Object.defineProperty(this,t,{configurable:!0,get:function(){return i},set:function(l){r=l,delete this[t]}}),s=!1,i},set:function(i){r=i}}}function iK(e){var t;return typeof Reflect<"u"&&typeof Reflect.ownKeys=="function"?t=Reflect.ownKeys(e.prototype):(t=Object.getOwnPropertyNames(e.prototype),typeof Object.getOwnPropertySymbols=="function"&&(t=t.concat(Object.getOwnPropertySymbols(e.prototype)))),t.forEach(function(n){if(n!=="constructor"){var r=Object.getOwnPropertyDescriptor(e.prototype,n);typeof r.value=="function"&&Object.defineProperty(e.prototype,n,EN(e,n,r))}}),e}function S_e(){return arguments.length===1?iK.apply(void 0,arguments):EN.apply(void 0,arguments)}var oK=m((()=>{})),I_e=Ye((e=>{var t=e&&e.__decorate||function(u,c,h,d){var p=arguments.length,f=p<3?c:d===null?d=Object.getOwnPropertyDescriptor(c,h):d,g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")f=Reflect.decorate(u,c,h,d);else for(var v=u.length-1;v>=0;v--)(g=u[v])&&(f=(p<3?g(f):p>3?g(c,h,f):g(c,h))||f);return p>3&&f&&Object.defineProperty(c,h,f),f},n=e&&e.__awaiter||function(u,c,h,d){function p(f){return f instanceof h?f:new h(function(g){g(f)})}return new(h||(h=Promise))(function(f,g){function v(w){try{b(d.next(w))}catch(x){g(x)}}function y(w){try{b(d.throw(w))}catch(x){g(x)}}function b(w){w.done?f(w.value):p(w.value).then(v,y)}b((d=d.apply(u,c||[])).next())})},r=e&&e.__generator||function(u,c){var h={label:0,sent:function(){if(f[0]&1)throw f[1];return f[1]},trys:[],ops:[]},d,p,f,g={next:v(0),throw:v(1),return:v(2)};return typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function v(b){return function(w){return y([b,w])}}function y(b){if(d)throw new TypeError("Generator is already executing.");for(;h;)try{if(d=1,p&&(f=b[0]&2?p.return:b[0]?p.throw||((f=p.return)&&f.call(p),0):p.next)&&!(f=f.call(p,b[1])).done)return f;switch(p=0,f&&(b=[b[0]&2,f.value]),b[0]){case 0:case 1:f=b;break;case 4:return h.label++,{value:b[1],done:!1};case 5:h.label++,p=b[1],b=[0];continue;case 7:b=h.ops.pop(),h.trys.pop();continue;default:if(f=h.trys,!(f=f.length>0&&f[f.length-1])&&(b[0]===6||b[0]===2)){h=0;continue}if(b[0]===3&&(!f||b[1]>f[0]&&b[1]<f[3])){h.label=b[1];break}if(b[0]===6&&h.label<f[1]){h.label=f[1],f=b;break}if(f&&h.label<f[2]){h.label=f[2],h.ops.push(b);break}f[2]&&h.ops.pop(),h.trys.pop();continue}b=c.call(u,h)}catch(w){b=[6,w],p=0}finally{d=f=0}if(b[0]&5)throw b[1];return{value:b[0]?b[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0}),e.Webcam=void 0;var s=(oK(),or(aK)),a=nK(),i={facingMode:"user",frameRate:24},o=function(u){return u.facingMode=u.facingMode||i.facingMode,u.frameRate=u.frameRate||i.frameRate,u.aspectRatio=u.aspectRatio||i.aspectRatio,u},l=(function(){function u(c,h,d){c===void 0&&(c=400),h===void 0&&(h=400),d===void 0&&(d=!1),this.width=c,this.height=h,this.flip=d}return u.prototype.getWebcam=function(c){if(c===void 0&&(c={}),!window.navigator.mediaDevices||!window.navigator.mediaDevices.getUserMedia)return Promise.reject("Your browser does not support WebRTC. Please try another one.");c.width=640;var h=o(c),d=document.createElement("video");return window.navigator.mediaDevices.getUserMedia({video:h}).then(function(p){return d.srcObject=p,d.addEventListener("loadedmetadata",function(f){var g=d.videoWidth,v=d.videoHeight;d.width=g,d.height=v}),d},function(){return Promise.reject("Could not open your camera. You may have denied access.")})},u.prototype.setup=function(c){return c===void 0&&(c={}),n(this,void 0,void 0,function(){var h;return r(this,function(d){switch(d.label){case 0:return this.webcam?[3,2]:(h=this,[4,this.getWebcam(c)]);case 1:h.webcam=d.sent(),this.canvas||(this.canvas=document.createElement("canvas"),this.canvas.width=this.width,this.canvas.height=this.height),d.label=2;case 2:return[2]}})})},u.prototype.play=function(){return this.webcam.play()},u.prototype.pause=function(){this.webcam.pause()},u.prototype.stop=function(){this.stopStreamedVideo(this.webcam)},u.prototype.update=function(){this.renderCameraToCanvas()},u.prototype.stopStreamedVideo=function(c){c.srcObject.getTracks().forEach(function(h){h.stop()}),c.srcObject=null},u.prototype.renderCameraToCanvas=function(){if(this.canvas&&this.webcam){var c=this.canvas.getContext("2d");if(this.webcam.videoWidth!==0){var h=a.cropTo(this.webcam,this.width,this.flip);c.drawImage(h,0,0)}}},t([s.default],u.prototype,"getWebcam",null),t([s.default],u.prototype,"setup",null),t([s.default],u.prototype,"play",null),t([s.default],u.prototype,"pause",null),t([s.default],u.prototype,"stop",null),t([s.default],u.prototype,"update",null),t([s.default],u.prototype,"stopStreamedVideo",null),t([s.default],u.prototype,"renderCameraToCanvas",null),u})();e.Webcam=l})),N_e=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=sK();Object.defineProperty(e,"IMAGE_SIZE",{enumerable:!0,get:function(){return t.IMAGE_SIZE}}),Object.defineProperty(e,"CustomMobileNet",{enumerable:!0,get:function(){return t.CustomMobileNet}}),Object.defineProperty(e,"load",{enumerable:!0,get:function(){return t.load}}),Object.defineProperty(e,"loadFromFiles",{enumerable:!0,get:function(){return t.loadFromFiles}}),Object.defineProperty(e,"loadTruncatedMobileNet",{enumerable:!0,get:function(){return t.loadTruncatedMobileNet}});var n=__e();Object.defineProperty(e,"TeachableMobileNet",{enumerable:!0,get:function(){return n.TeachableMobileNet}}),Object.defineProperty(e,"createTeachable",{enumerable:!0,get:function(){return n.createTeachable}});var r=I_e();Object.defineProperty(e,"Webcam",{enumerable:!0,get:function(){return r.Webcam}});var s=rK();Object.defineProperty(e,"version",{enumerable:!0,get:function(){return s.version}})})),C_e=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.partNames=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],e.NUM_KEYPOINTS=e.partNames.length,e.partIds=e.partNames.reduce(function(n,r,s){return n[r]=s,n},{});var t=[["leftHip","leftShoulder"],["leftElbow","leftShoulder"],["leftElbow","leftWrist"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["rightHip","rightShoulder"],["rightElbow","rightShoulder"],["rightElbow","rightWrist"],["rightHip","rightKnee"],["rightKnee","rightAnkle"],["leftShoulder","rightShoulder"],["leftHip","rightHip"]];e.poseChain=[["nose","leftEye"],["leftEye","leftEar"],["nose","rightEye"],["rightEye","rightEar"],["nose","leftShoulder"],["leftShoulder","leftElbow"],["leftElbow","leftWrist"],["leftShoulder","leftHip"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["nose","rightShoulder"],["rightShoulder","rightElbow"],["rightElbow","rightWrist"],["rightShoulder","rightHip"],["rightHip","rightKnee"],["rightKnee","rightAnkle"]],e.connectedPartIndices=t.map(function(n){var r=n[0],s=n[1];return[e.partIds[r],e.partIds[s]]}),e.partChannels=["left_face","right_face","right_upper_leg_front","right_lower_leg_back","right_upper_leg_back","left_lower_leg_front","left_upper_leg_front","left_upper_leg_back","left_lower_leg_back","right_feet","right_lower_leg_front","left_feet","torso_front","torso_back","right_upper_arm_front","right_upper_arm_back","right_lower_arm_back","left_lower_arm_front","left_upper_arm_front","left_upper_arm_back","left_lower_arm_back","right_hand","right_lower_arm_front","left_hand"]})),lK=Ye((e=>{var t=e&&e.__awaiter||function(T,S,F,M){return new(F||(F=Promise))(function(L,z){function q(Y){try{re(M.next(Y))}catch(ae){z(ae)}}function J(Y){try{re(M.throw(Y))}catch(ae){z(ae)}}function re(Y){Y.done?L(Y.value):new F(function(ae){ae(Y.value)}).then(q,J)}re((M=M.apply(T,S||[])).next())})},n=e&&e.__generator||function(T,S){var F={label:0,sent:function(){if(z[0]&1)throw z[1];return z[1]},trys:[],ops:[]},M,L,z,q={next:J(0),throw:J(1),return:J(2)};return typeof Symbol=="function"&&(q[Symbol.iterator]=function(){return this}),q;function J(Y){return function(ae){return re([Y,ae])}}function re(Y){if(M)throw new TypeError("Generator is already executing.");for(;F;)try{if(M=1,L&&(z=Y[0]&2?L.return:Y[0]?L.throw||((z=L.return)&&z.call(L),0):L.next)&&!(z=z.call(L,Y[1])).done)return z;switch(L=0,z&&(Y=[Y[0]&2,z.value]),Y[0]){case 0:case 1:z=Y;break;case 4:return F.label++,{value:Y[1],done:!1};case 5:F.label++,L=Y[1],Y=[0];continue;case 7:Y=F.ops.pop(),F.trys.pop();continue;default:if(z=F.trys,!(z=z.length>0&&z[z.length-1])&&(Y[0]===6||Y[0]===2)){F=0;continue}if(Y[0]===3&&(!z||Y[1]>z[0]&&Y[1]<z[3])){F.label=Y[1];break}if(Y[0]===6&&F.label<z[1]){F.label=z[1],z=Y;break}if(z&&F.label<z[2]){F.label=z[2],F.ops.push(Y);break}z[2]&&F.ops.pop(),F.trys.pop();continue}Y=S.call(T,F)}catch(ae){Y=[6,ae],L=0}finally{M=z=0}if(Y[0]&5)throw Y[1];return{value:Y[0]?Y[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0});var r=(C(),or(B1)),s=C_e();function a(T,S,F){return T<F||S<F}function i(T,S){return s.connectedPartIndices.reduce(function(F,M){var L=M[0],z=M[1];return a(T[L].score,T[z].score,S)||F.push([T[L],T[z]]),F},[])}e.getAdjacentKeyPoints=i;var o=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY;function u(T){return T.reduce(function(S,F){var M=S.maxX,L=S.maxY,z=S.minX,q=S.minY,J=F.position,re=J.x,Y=J.y;return{maxX:Math.max(M,re),maxY:Math.max(L,Y),minX:Math.min(z,re),minY:Math.min(q,Y)}},{maxX:o,maxY:o,minX:l,minY:l})}e.getBoundingBox=u;function c(T){var S=u(T),F=S.minX,M=S.minY,L=S.maxX,z=S.maxY;return[{x:F,y:M},{x:L,y:M},{x:L,y:z},{x:F,y:z}]}e.getBoundingBoxPoints=c;function h(T){return t(this,void 0,void 0,function(){return n(this,function(S){return[2,Promise.all(T.map(function(F){return F.buffer()}))]})})}e.toTensorBuffers3D=h;function d(T,S,F,M,L){return M===void 0&&(M=0),L===void 0&&(L=0),{score:T.score,keypoints:T.keypoints.map(function(z){var q=z.score,J=z.part,re=z.position;return{score:q,part:J,position:{x:re.x*F+L,y:re.y*S+M}}})}}e.scalePose=d;function p(T,S,F,M,L){return M===void 0&&(M=0),L===void 0&&(L=0),F===1&&S===1&&M===0&&L===0?T:T.map(function(z){return d(z,S,F,M,L)})}e.scalePoses=p;function f(T,S){return{score:T.score,keypoints:T.keypoints.map(function(F){var M=F.score,L=F.part,z=F.position;return{score:M,part:L,position:{x:S-1-z.x,y:z.y}}})}}e.flipPoseHorizontal=f;function g(T,S){return S<=0?T:T.map(function(F){return f(F,S)})}e.flipPosesHorizontal=g;function v(T,S){return _(T,S)?T:Math.floor(T/S)*S+1}e.toValidInputResolution=v;function y(T){r.util.assert(typeof T=="number"||typeof T=="object",function(){return"Invalid inputResolution "+T+". Should be a number or an object with width and height"}),typeof T=="object"&&(r.util.assert(typeof T.width=="number",function(){return"inputResolution.width has a value of "+T.width+" which is invalid; it must be a number"}),r.util.assert(typeof T.height=="number",function(){return"inputResolution.height has a value of "+T.height+" which is invalid; it must be a number"}))}e.validateInputResolution=y;function b(T,S){return y(T),typeof T=="object"?[v(T.height,S),v(T.width,S)]:[v(T,S),v(T,S)]}e.getValidInputResolutionDimensions=b;var w=[8,16,32];function x(T){r.util.assert(typeof T=="number",function(){return"outputStride is not a number"}),r.util.assert(w.indexOf(T)>=0,function(){return"outputStride of "+T+" is invalid. It must be either 8, 16, or 32"})}e.assertValidOutputStride=x;function _(T,S){return(T-1)%S===0}function $(T,S){r.util.assert(typeof T[0]=="number"&&typeof T[1]=="number",function(){return"both resolution values must be a number but had values "+T}),r.util.assert(_(T[0],S),function(){return"height of "+T[0]+" is invalid for output stride "+(S+".")}),r.util.assert(_(T[1],S),function(){return"width of "+T[1]+" is invalid for output stride "+(S+".")})}e.assertValidResolution=$;function N(T){return T instanceof r.Tensor?[T.shape[0],T.shape[1]]:[T.height,T.width]}e.getInputTensorDimensions=N;function k(T){return T instanceof r.Tensor?T:r.browser.fromPixels(T)}e.toInputTensor=k;function A(T,S,F,M){return r.tidy(function(){var L=k(T);return M?r.image.resizeBilinear(r.reverse(L,1),[S,F]):r.image.resizeBilinear(L,[S,F])})}e.toResizedInputTensor=A;function O(T,S){var F=S[0],M=S[1],L=N(T),z=L[0],q=L[1],J=M/F,re=q/z,Y=[0,0,0,0],ae=Y[0],ne=Y[1],oe=Y[2],ce=Y[3];return re<J?(ae=0,ne=0,oe=Math.round(.5*(J*z-q)),ce=Math.round(.5*(J*z-q))):(ae=Math.round(.5*(1/J*q-z)),ne=Math.round(.5*(1/J*q-z)),oe=0,ce=0),{resized:r.tidy(function(){var ve=k(T);return ve=r.pad3d(ve,[[ae,ne],[oe,ce],[0,0]]),r.image.resizeBilinear(ve,[F,M])}),padding:{top:ae,left:oe,right:ce,bottom:ne}}}e.padAndResizeTo=O;function R(T,S,F,M,L){var z=S[0],q=S[1],J=F[0],re=F[1],Y=p(T,(z+M.top+M.bottom)/J,(q+M.left+M.right)/re,-M.top,-M.left);return L?g(Y,q):Y}e.scaleAndFlipPoses=R})),uK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t="0.8.6";e.version=t})),cK=Ye((e=>{var t=e&&e.__awaiter||function(b,w,x,_){function $(N){return N instanceof x?N:new x(function(k){k(N)})}return new(x||(x=Promise))(function(N,k){function A(T){try{R(_.next(T))}catch(S){k(S)}}function O(T){try{R(_.throw(T))}catch(S){k(S)}}function R(T){T.done?N(T.value):$(T.value).then(A,O)}R((_=_.apply(b,w||[])).next())})},n=e&&e.__generator||function(b,w){var x={label:0,sent:function(){if(N[0]&1)throw N[1];return N[1]},trys:[],ops:[]},_,$,N,k={next:A(0),throw:A(1),return:A(2)};return typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function A(R){return function(T){return O([R,T])}}function O(R){if(_)throw new TypeError("Generator is already executing.");for(;x;)try{if(_=1,$&&(N=R[0]&2?$.return:R[0]?$.throw||((N=$.return)&&N.call($),0):$.next)&&!(N=N.call($,R[1])).done)return N;switch($=0,N&&(R=[R[0]&2,N.value]),R[0]){case 0:case 1:N=R;break;case 4:return x.label++,{value:R[1],done:!1};case 5:x.label++,$=R[1],R=[0];continue;case 7:R=x.ops.pop(),x.trys.pop();continue;default:if(N=x.trys,!(N=N.length>0&&N[N.length-1])&&(R[0]===6||R[0]===2)){x=0;continue}if(R[0]===3&&(!N||R[1]>N[0]&&R[1]<N[3])){x.label=R[1];break}if(R[0]===6&&x.label<N[1]){x.label=N[1],N=R;break}if(N&&x.label<N[2]){x.label=N[2],x.ops.push(R);break}N[2]&&x.ops.pop(),x.trys.pop();continue}R=w.call(b,x)}catch(T){R=[6,T],$=0}finally{_=N=0}if(R[0]&5)throw R[1];return{value:R[0]?R[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0});var r=(ka(),or(gs)),s=(_N(),or(y5)),a=lK(),i=uK(),o=(_N(),or(y5)),l=3,u=function(b){return b.packageVersion=b.packageVersion||i.version,b.packageName="@teachablemachine/pose",b.timeStamp=b.timeStamp||new Date().toISOString(),b.userMetadata=b.userMetadata||{},b.modelName=b.modelName||"untitled",b.labels=b.labels||[],b.modelSettings=d(b.modelSettings),b},c=function(b){return!!b&&Array.isArray(b.labels)},h=function(b){return t(void 0,void 0,void 0,function(){var w,x;return n(this,function(_){switch(_.label){case 0:return typeof b!="string"?[3,3]:[4,fetch(b)];case 1:return x=_.sent(),[4,x.json()];case 2:return w=_.sent(),[3,4];case 3:if(c(b))w=b;else throw new Error("Invalid Metadata provided");_.label=4;case 4:return[2,u(w)]}})})},d=function(b){return b===void 0&&(b={}),b.posenet||(b.posenet={}),b.posenet.architecture=b.posenet.architecture||"MobileNetV1",b.posenet.outputStride=b.posenet.outputStride||16,b.posenet.inputResolution=b.posenet.inputResolution||257,b.posenet.multiplier=b.posenet.multiplier||.75,b};function p(b,w,x){return x===void 0&&(x=3),t(this,void 0,void 0,function(){var _;return n(this,function($){switch($.label){case 0:return[4,w.data()];case 1:return _=$.sent(),[2,r.tidy(function(){x=Math.min(x,_.length);for(var N=[],k=0;k<_.length;k++)N.push({value:_[k],index:k});N.sort(function(T,S){return S.value-T.value});for(var A=new Float32Array(x),O=new Int32Array(x),k=0;k<x;k++)A[k]=N[k].value,O[k]=N[k].index;for(var R=[],k=0;k<O.length;k++)R.push({className:b[O[k]],probability:A[k]});return R})]}})})}e.getTopKClasses=p;var f=(function(){function b(w,x,_){this.model=w,this.posenetModel=x,this._metadata=u(_)}return b.prototype.getMetadata=function(){return this._metadata},b.prototype.getClassLabels=function(){return this._metadata.labels},b.prototype.getTotalClasses=function(){return this.model.output.shape[1]},b.prototype.estimatePose=function(w,x){return x===void 0&&(x=!1),t(this,void 0,void 0,function(){var _,$,N,k,A,O,R,T;return n(this,function(S){switch(S.label){case 0:return[4,this.estimatePoseOutputs(w)];case 1:return _=S.sent(),$=_.heatmapScores,N=_.offsets,k=_.displacementFwd,A=_.displacementBwd,O=_.padding,R=this.poseOutputsToAray($,N,k,A),[4,this.poseOutputsToKeypoints(w,$,N,k,A,O,x)];case 2:return T=S.sent(),[2,{pose:T,posenetOutput:R}]}})})},b.prototype.estimatePoseOutputs=function(w){return t(this,void 0,void 0,function(){var x,_,$,N,k,A,O,R,T;return n(this,function(S){switch(S.label){case 0:return x=this.posenetModel.inputResolution,_=a.padAndResizeTo(w,x),$=_.resized,N=_.padding,[4,this.posenetModel.baseModel.predict($)];case 1:return k=S.sent(),A=k.heatmapScores,O=k.offsets,R=k.displacementFwd,T=k.displacementBwd,$.dispose(),[2,{heatmapScores:A,offsets:O,displacementFwd:R,displacementBwd:T,padding:N}]}})})},b.prototype.poseOutputsToAray=function(w,x,_,$){var N=r.concat([w,x],2),k=N.dataSync();return N.dispose(),k},b.prototype.poseOutputsToKeypoints=function(w,x,_,$,N,k,A){return A===void 0&&(A=!1),t(this,void 0,void 0,function(){var O,R,T,S,F,M,L,z,q,J,re,Y,ae;return n(this,function(ne){switch(ne.label){case 0:return O={maxDetections:l,scoreThreshold:.5,nmsRadius:20},R=a.getInputTensorDimensions(w),T=R[0],S=R[1],F=this.posenetModel.baseModel.outputStride,M=this.posenetModel.inputResolution,[4,a.toTensorBuffers3D([x,_,$,N])];case 1:return L=ne.sent(),z=L[0],q=L[1],J=L[2],re=L[3],[4,o.decodeMultiplePoses(z,q,J,re,F,O.maxDetections,O.scoreThreshold,O.nmsRadius)];case 2:return Y=ne.sent(),ae=a.scaleAndFlipPoses(Y,[T,S],M,k,A),x.dispose(),_.dispose(),$.dispose(),N.dispose(),[2,ae[0]]}})})},b.prototype.predict=function(w){return t(this,void 0,void 0,function(){var x,_,$,N,k;return n(this,function(A){switch(A.label){case 0:return x=r.tensor([w]),_=this.model.predict(x),[4,_.data()];case 1:for($=A.sent(),N=[],k=0;k<$.length;k++)N.push({className:this._metadata.labels[k],probability:$[k]});return x.dispose(),_.dispose(),[2,N]}})})},b.prototype.predictTopK=function(w,x){return x===void 0&&(x=l),t(this,void 0,void 0,function(){var _,$,N;return n(this,function(k){switch(k.label){case 0:return _=r.tensor([w]),$=this.model.predict(_),[4,p(this._metadata.labels,$,x)];case 1:return N=k.sent(),_.dispose(),$.dispose(),[2,N]}})})},b.prototype.dispose=function(){this.posenetModel.dispose()},b})();e.CustomPoseNet=f;function g(b){return b===void 0&&(b={}),t(this,void 0,void 0,function(){var w;return n(this,function(x){switch(x.label){case 0:return b=d(b),[4,s.load({architecture:b.posenet.architecture,outputStride:b.posenet.outputStride,inputResolution:b.posenet.inputResolution,multiplier:b.posenet.multiplier})];case 1:return w=x.sent(),[2,w]}})})}e.loadPoseNet=g;function v(b,w){return t(this,void 0,void 0,function(){var x,_,$,N;return n(this,function(k){switch(k.label){case 0:return[4,r.loadLayersModel(b)];case 1:return x=k.sent(),w?[4,h(w)]:[3,3];case 2:return $=k.sent(),[3,4];case 3:$=null,k.label=4;case 4:return _=$,[4,g(_.modelSettings)];case 5:return N=k.sent(),[2,new f(x,N,_)]}})})}e.load=v;function y(b,w,x){return t(this,void 0,void 0,function(){var _,$,N,k,A;return n(this,function(O){switch(O.label){case 0:return[4,r.loadLayersModel(r.io.browserFiles([b,w]))];case 1:return _=O.sent(),[4,new Response(x).json()];case 2:return $=O.sent(),x?[4,h($)]:[3,4];case 3:return k=O.sent(),[3,5];case 4:k=null,O.label=5;case 5:return N=k,[4,g(N.modelSettings)];case 6:return A=O.sent(),[2,new f(_,A,N)]}})})}e.loadFromFiles=y})),$_e=Ye((e=>{var t=e&&e.__extends||(function(){var p=function(f,g){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var b in y)y.hasOwnProperty(b)&&(v[b]=y[b])},p(f,g)};return function(f,g){p(f,g);function v(){this.constructor=f}f.prototype=g===null?Object.create(g):(v.prototype=g.prototype,new v)}})(),n=e&&e.__awaiter||function(p,f,g,v){function y(b){return b instanceof g?b:new g(function(w){w(b)})}return new(g||(g=Promise))(function(b,w){function x(N){try{$(v.next(N))}catch(k){w(k)}}function _(N){try{$(v.throw(N))}catch(k){w(k)}}function $(N){N.done?b(N.value):y(N.value).then(x,_)}$((v=v.apply(p,f||[])).next())})},r=e&&e.__generator||function(p,f){var g={label:0,sent:function(){if(b[0]&1)throw b[1];return b[1]},trys:[],ops:[]},v,y,b,w={next:x(0),throw:x(1),return:x(2)};return typeof Symbol=="function"&&(w[Symbol.iterator]=function(){return this}),w;function x($){return function(N){return _([$,N])}}function _($){if(v)throw new TypeError("Generator is already executing.");for(;g;)try{if(v=1,y&&(b=$[0]&2?y.return:$[0]?y.throw||((b=y.return)&&b.call(y),0):y.next)&&!(b=b.call(y,$[1])).done)return b;switch(y=0,b&&($=[$[0]&2,b.value]),$[0]){case 0:case 1:b=$;break;case 4:return g.label++,{value:$[1],done:!1};case 5:g.label++,y=$[1],$=[0];continue;case 7:$=g.ops.pop(),g.trys.pop();continue;default:if(b=g.trys,!(b=b.length>0&&b[b.length-1])&&($[0]===6||$[0]===2)){g=0;continue}if($[0]===3&&(!b||$[1]>b[0]&&$[1]<b[3])){g.label=$[1];break}if($[0]===6&&g.label<b[1]){g.label=b[1],b=$;break}if(b&&g.label<b[2]){g.label=b[2],g.ops.push($);break}b[2]&&g.ops.pop(),g.trys.pop();continue}$=f.call(p,g)}catch(N){$=[6,N],y=0}finally{v=b=0}if($[0]&5)throw $[1];return{value:$[0]?$[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0});var s=(ka(),or(gs)),a=(ka(),or(gs)),i=cK(),o=kp(),l=.15;function u(p,f){var g=new Array(f).fill(0);return g[p]=1,g}function c(p,f){for(var g,v=p.length,y=p.slice(),b=v-1;b>0;b-=1){var w=void 0;f?w=Math.floor(f()*(b+1)):w=Math.floor(Math.random()*(b+1)),g=[y[w],y[b]],y[b]=g[0],y[w]=g[1]}return y}var h=(function(p){t(f,p);function f(g,v,y){var b=p.call(this,g,v,y)||this;return b.model=g,b.posenetModel=v,b.examples=[],b}return Object.defineProperty(f.prototype,"isTrained",{get:function(){return!!this.model&&this.model.layers&&this.model.layers.length>2},enumerable:!0,configurable:!0}),Object.defineProperty(f.prototype,"isPrepared",{get:function(){return!!this.trainDataset},enumerable:!0,configurable:!0}),Object.defineProperty(f.prototype,"numClasses",{get:function(){return this._metadata.labels.length},enumerable:!0,configurable:!0}),f.prototype.addExample=function(g,v){return n(this,void 0,void 0,function(){return r(this,function(y){return this.examples[g].push(v),[2]})})},f.prototype.predict=function(g){return n(this,void 0,void 0,function(){return r(this,function(v){if(!this.model)throw new Error("Model has not been trained yet, called train() first");return[2,p.prototype.predict.call(this,g)]})})},f.prototype.predictTopK=function(g,v){return v===void 0&&(v=3),n(this,void 0,void 0,function(){return r(this,function(y){if(!this.model)throw new Error("Model has not been trained yet, called train() first");return[2,p.prototype.predictTopK.call(this,g,v)]})})},f.prototype.prepare=function(){for(var g in this.examples)if(g.length===0)throw new Error("Add some examples before training");var v=this.convertToTfDataset();this.trainDataset=v.trainDataset,this.validationDataset=v.validationDataset},f.prototype.convertToTfDataset=function(){for(var g=0;g<this.examples.length;g++)this.examples[g]=c(this.examples[g],this.seed);for(var v=[],y=[],b=function(k){var A=u(k,w.numClasses),O=w.examples[k].length,R=O-Math.ceil(l*O),T=w.examples[k].slice(0,R).map(function(F){return{data:F,label:A}}),S=w.examples[k].slice(R).map(function(F){return{data:F,label:A}});v=v.concat(T),y=y.concat(S)},w=this,g=0;g<this.examples.length;g++)b(g);v=c(v,this.seed),y=c(y,this.seed);var x=s.data.array(v.map(function(k){return k.data})),_=s.data.array(y.map(function(k){return k.data})),$=s.data.array(v.map(function(k){return k.label})),N=s.data.array(y.map(function(k){return k.label}));return{trainDataset:s.data.zip({xs:x,ys:$}),validationDataset:s.data.zip({xs:_,ys:N})}},f.prototype.save=function(g,v){return n(this,void 0,void 0,function(){return r(this,function(y){return[2,this.model.save(g,v)]})})},f.prototype.train=function(g,v){return v===void 0&&(v={}),n(this,void 0,void 0,function(){var y,b,w,x,_,$,N,k=this;return r(this,function(A){switch(A.label){case 0:if(y=v.onTrainEnd||(function(){}),v.onTrainEnd=function(O){k.__stopTrainingResolve&&(k.__stopTrainingResolve(),k.__stopTrainingResolve=null),y(O)},this.isPrepared||this.prepare(),b=this.getLabels().length,a.util.assert(b===this.numClasses,function(){return"Can not train, has "+b+" labels and "+k.numClasses+" classes"}),w=this.examples[0][1].length,this.seed?x=s.initializers.varianceScaling({seed:3.14}):x=s.initializers.varianceScaling({}),this.model=s.sequential({layers:[s.layers.dense({inputShape:[w],units:g.denseUnits,activation:"relu",kernelInitializer:x,useBias:!0}),s.layers.dropout({rate:.5}),s.layers.dense({units:this.numClasses,kernelInitializer:x,useBias:!1,activation:"softmax"})]}),_=s.train.rmsprop(g.learningRate),this.model.compile({optimizer:_,loss:"categoricalCrossentropy",metrics:["accuracy"]}),!(g.batchSize>0))throw new Error("Batch size is 0 or NaN. Please choose a non-zero fraction");return $=this.trainDataset.batch(g.batchSize),N=this.validationDataset.batch(g.batchSize),[4,this.model.fitDataset($,{epochs:g.epochs,validationData:N,callbacks:v})];case 1:return A.sent(),_.dispose(),[2,this.model]}})})},f.prototype.prepareDataset=function(){for(var g=0;g<this.numClasses;g++)this.examples[g]=[]},f.prototype.stopTraining=function(){var g=this;return new Promise(function(v,y){g.model.stopTraining=!0,g.__stopTrainingResolve=v})},f.prototype.dispose=function(){this.model.dispose(),p.prototype.dispose.call(this)},f.prototype.setLabel=function(g,v){this._metadata.labels[g]=v},f.prototype.setLabels=function(g){this._metadata.labels=g,this.prepareDataset()},f.prototype.getLabel=function(g){return this._metadata.labels[g]},f.prototype.getLabels=function(){return this._metadata.labels},f.prototype.setName=function(g){this._metadata.modelName=g},f.prototype.getName=function(){return this._metadata.modelName},f.prototype.calculateAccuracyPerClass=function(){return n(this,void 0,void 0,function(){var g,v,y,b,w,x,_,$,N,k,L,A,O,R,T,S,F,M,L,z=this;return r(this,function(q){switch(q.label){case 0:return g=this.validationDataset.mapAsync(function(J){return n(z,void 0,void 0,function(){return r(this,function(re){return[2,J.xs]})})}),v=this.validationDataset.mapAsync(function(J){return n(z,void 0,void 0,function(){return r(this,function(re){return[2,J.ys]})})}),y=Math.min(v.size,32),b=Math.ceil(v.size/y),w=g.batch(y),x=v.batch(y),[4,w.iterator()];case 1:return _=q.sent(),[4,x.iterator()];case 2:$=q.sent(),N=[],k=[],L=0,q.label=3;case 3:return L<b?[4,_.next()]:[3,7];case 4:return A=q.sent(),O=this.model.predict(A.value),R=O.argMax(1),N.push(R),[4,$.next()];case 5:T=q.sent(),S=T.value.argMax(1),k.push(S),A.value.dispose(),O.dispose(),T.value.dispose(),q.label=6;case 6:return L++,[3,3];case 7:if(F=s.concat(k),M=s.concat(N),b!==1)for(L=0;L<N.length;L++)N[L].dispose(),k[L].dispose();return[2,{reference:F,predictions:M}]}})})},f.prototype.setSeed=function(g){this.seed=o(g)},f})(i.CustomPoseNet);e.TeachablePoseNet=h;function d(p){return n(this,void 0,void 0,function(){var f;return r(this,function(g){switch(g.label){case 0:return[4,i.loadPoseNet(p.modelSettings)];case 1:return f=g.sent(),[2,new h(s.sequential(),f,p)]}})})}e.createTeachable=d})),hK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(){return document.createElement("canvas")};function n(s,a,i){s===void 0&&(s=200),a===void 0&&(a=200),i===void 0&&(i=!1);var o=document.createElement("canvas");if(o.width=s,o.height=a,i){var l=o.getContext("2d");l.translate(s,0),l.scale(-1,1)}return o}e.createCanvas=n;function r(s,a,i,o){i===void 0&&(i=!1),o===void 0&&(o=t());var l=s.width,u=s.height;s instanceof HTMLVideoElement&&(l=s.videoWidth,u=s.videoHeight);var c=a/Math.min(l,u),h=Math.ceil(l*c),d=Math.ceil(u*c),p=h-a,f=d-a;o.width=o.height=a;var g=o.getContext("2d");return g.drawImage(s,~~(p/2)*-1,~~(f/2)*-1,h,d),i&&(g.scale(-1,1),g.drawImage(o,a*-1,0)),o}e.cropTo=r})),k_e=Ye((e=>{var t=e&&e.__decorate||function(u,c,h,d){var p=arguments.length,f=p<3?c:d===null?d=Object.getOwnPropertyDescriptor(c,h):d,g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")f=Reflect.decorate(u,c,h,d);else for(var v=u.length-1;v>=0;v--)(g=u[v])&&(f=(p<3?g(f):p>3?g(c,h,f):g(c,h))||f);return p>3&&f&&Object.defineProperty(c,h,f),f},n=e&&e.__awaiter||function(u,c,h,d){function p(f){return f instanceof h?f:new h(function(g){g(f)})}return new(h||(h=Promise))(function(f,g){function v(w){try{b(d.next(w))}catch(x){g(x)}}function y(w){try{b(d.throw(w))}catch(x){g(x)}}function b(w){w.done?f(w.value):p(w.value).then(v,y)}b((d=d.apply(u,c||[])).next())})},r=e&&e.__generator||function(u,c){var h={label:0,sent:function(){if(f[0]&1)throw f[1];return f[1]},trys:[],ops:[]},d,p,f,g={next:v(0),throw:v(1),return:v(2)};return typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function v(b){return function(w){return y([b,w])}}function y(b){if(d)throw new TypeError("Generator is already executing.");for(;h;)try{if(d=1,p&&(f=b[0]&2?p.return:b[0]?p.throw||((f=p.return)&&f.call(p),0):p.next)&&!(f=f.call(p,b[1])).done)return f;switch(p=0,f&&(b=[b[0]&2,f.value]),b[0]){case 0:case 1:f=b;break;case 4:return h.label++,{value:b[1],done:!1};case 5:h.label++,p=b[1],b=[0];continue;case 7:b=h.ops.pop(),h.trys.pop();continue;default:if(f=h.trys,!(f=f.length>0&&f[f.length-1])&&(b[0]===6||b[0]===2)){h=0;continue}if(b[0]===3&&(!f||b[1]>f[0]&&b[1]<f[3])){h.label=b[1];break}if(b[0]===6&&h.label<f[1]){h.label=f[1],f=b;break}if(f&&h.label<f[2]){h.label=f[2],h.ops.push(b);break}f[2]&&h.ops.pop(),h.trys.pop();continue}b=c.call(u,h)}catch(w){b=[6,w],p=0}finally{d=f=0}if(b[0]&5)throw b[1];return{value:b[0]?b[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0});var s=(oK(),or(aK)),a=hK(),i={facingMode:"user",frameRate:24},o=function(u){return u.facingMode=u.facingMode||i.facingMode,u.frameRate=u.frameRate||i.frameRate,u.aspectRatio=u.aspectRatio||i.aspectRatio,u},l=(function(){function u(c,h,d){c===void 0&&(c=400),h===void 0&&(h=400),d===void 0&&(d=!1),this.width=c,this.height=h,this.flip=d}return u.prototype.getWebcam=function(c){if(c===void 0&&(c={}),!window.navigator.mediaDevices||!window.navigator.mediaDevices.getUserMedia)return Promise.reject("Your browser does not support WebRTC. Please try another one.");c.width=640;var h=o(c),d=document.createElement("video");return window.navigator.mediaDevices.getUserMedia({video:h}).then(function(p){return d.srcObject=p,d.addEventListener("loadedmetadata",function(f){var g=d.videoWidth,v=d.videoHeight;d.width=g,d.height=v}),d},function(){return Promise.reject("Could not open your camera. You may have denied access.")})},u.prototype.setup=function(c){return c===void 0&&(c={}),n(this,void 0,void 0,function(){var h;return r(this,function(d){switch(d.label){case 0:return this.webcam?[3,2]:(h=this,[4,this.getWebcam(c)]);case 1:h.webcam=d.sent(),this.canvas||(this.canvas=document.createElement("canvas"),this.canvas.width=this.width,this.canvas.height=this.height),d.label=2;case 2:return[2]}})})},u.prototype.play=function(){return this.webcam.play()},u.prototype.pause=function(){this.webcam.pause()},u.prototype.stop=function(){this.stopStreamedVideo(this.webcam)},u.prototype.update=function(){this.renderCameraToCanvas()},u.prototype.stopStreamedVideo=function(c){c.srcObject.getTracks().forEach(function(h){h.stop()}),c.srcObject=null},u.prototype.renderCameraToCanvas=function(){if(this.canvas&&this.webcam){var c=this.canvas.getContext("2d");if(this.webcam.videoWidth!==0){var h=a.cropTo(this.webcam,this.width,this.flip);c.drawImage(h,0,0)}}},t([s.default],u.prototype,"getWebcam",null),t([s.default],u.prototype,"setup",null),t([s.default],u.prototype,"play",null),t([s.default],u.prototype,"pause",null),t([s.default],u.prototype,"stop",null),t([s.default],u.prototype,"update",null),t([s.default],u.prototype,"stopStreamedVideo",null),t([s.default],u.prototype,"renderCameraToCanvas",null),u})();e.Webcam=l})),T_e=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=lK(),n="aqua",r="aqua",s=4,a=2;function i(h,d,p,f,g,v,y){f===void 0&&(f=s),g===void 0&&(g=n),v===void 0&&(v=r),y===void 0&&(y=1);for(var b=0;b<h.length;b++){var w=h[b];if(!(w.score<d)){var x=w.position,_=x.y,$=x.x;o(p,_*y,$*y,f,g,v)}}}e.drawKeypoints=i;function o(h,d,p,f,g,v){h.fillStyle=g,h.strokeStyle=v,h.beginPath(),h.arc(p,d,f,0,2*Math.PI),h.fill(),h.stroke()}e.drawPoint=o;function l(h){return[h.y,h.x]}e.toTuple=l;function u(h,d,p,f,g,v){f===void 0&&(f=a),g===void 0&&(g=r),v===void 0&&(v=1),t.getAdjacentKeyPoints(h,d).forEach(function(y){c(l(y[0].position),l(y[1].position),p,f,g,v)})}e.drawSkeleton=u;function c(h,d,p,f,g,v){var y=h[0],b=h[1],w=d[0],x=d[1];p.beginPath(),p.moveTo(b*v,y*v),p.lineTo(x*v,w*v),p.lineWidth=f,p.strokeStyle=g,p.stroke()}e.drawSegment=c})),E_e=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=cK();e.CustomPoseNet=t.CustomPoseNet,e.load=t.load,e.loadFromFiles=t.loadFromFiles;var n=$_e();e.TeachablePoseNet=n.TeachablePoseNet,e.createTeachable=n.createTeachable;var r=k_e();e.Webcam=r.Webcam;var s=hK();e.createCanvas=s.createCanvas;var a=T_e();e.drawKeypoints=a.drawKeypoints,e.drawSkeleton=a.drawSkeleton,e.drawPoint=a.drawPoint,e.drawSegment=a.drawSegment;var i=uK();e.version=i.version})),dK=Co(N_e(),1),AN=Co(E_e(),1),A_e="@kubohiroya/turbowarp-teachable-machine",R_e="3.5.0",D_e="A TurboWarp extension for recognition using Teachable Machine pose, image, and audio models.",O_e="Hiroya Kubo <hiroya@cuc.ac.jp>",F_e="MPL-2.0",L_e="https://github.com/kubohiroya/turbowarp-teachable-machine#readme",P_e={type:"git",url:"git+https://github.com/kubohiroya/turbowarp-teachable-machine.git"},M_e={url:"https://github.com/kubohiroya/turbowarp-teachable-machine/issues"},z_e={"./composition":{types:"./dist/types/composition.d.ts",import:"./dist/composition.js"},"./posenet":{types:"./dist/types/posenet.d.ts",import:"./dist/posenet.js"},"./posenet-assets/*":"./dist/posenet/mobilenet-v1-075-stride16/*","./wasm-assets/*":"./dist/wasm/*","./dist/backend-wasm.js":"./dist/backend-wasm.js","./dist/backend-webgpu.js":"./dist/backend-webgpu.js","./runtime":"./dist/runtime.js","./dist/tm.js":"./dist/tm.js","./package.json":"./package.json"},B_e="module",V_e=["dist/","README.md","LICENSE","THIRD_PARTY_NOTICES.md"],W_e="./dist/tm.js",U_e="./dist/tm.js",G_e={access:"public",registry:"https://registry.npmjs.org/"},H_e="pnpm@11.11.0",j_e={node:">=22.18.0"},q_e={dev:"vite build --watch",typecheck:"tsc --noEmit",build:"pnpm build:extension && pnpm build:composition && pnpm build:runtime && pnpm build:backends && pnpm build:posenet && pnpm build:notices && pnpm build:types","build:extension":"vite build","build:composition":"vite build --config vite.composition.config.ts","build:runtime":"vite build --config vite.runtime.config.ts","build:backends":"vite build --config vite.backend-wasm.config.ts && vite build --config vite.backend-webgpu.config.ts && node scripts/copy-wasm-assets.ts","build:posenet":"vite build --config vite.posenet.config.ts && node scripts/copy-posenet-assets.ts","build:notices":"node scripts/copy-third-party-notices.ts","build:types":"tsc --project tsconfig.build.json","types:composition:check":"tsc --project tsconfig.composition-consumer.json","types:posenet:check":"tsc --project tsconfig.posenet-consumer.json",test:"vitest run",docs:"node scripts/generate-readme.ts","docs:check":"npm run docs && git diff --exit-code -- README.md","docs:pages:check":"node scripts/check-pages.ts","release:consistency:check":"node scripts/check-release-consistency.ts","check:dist":"npm run build && git diff --exit-code -- dist","archive:check":"node scripts/check-github-archive.ts","pack:check":"npm pack --dry-run --ignore-scripts","release:check":"npm publish --dry-run --access public --tag latest",check:"npm run typecheck && npm run test && npm run build && npm run types:composition:check && npm run types:posenet:check && npm run docs:check && npm run docs:pages:check && npm run release:consistency:check && npm run check:dist && npm run archive:check && npm run pack:check",prepack:"npm run build && npm run release:consistency:check"},K_e={"@kubohiroya/turbowarp-camera-source":"0.13.0","@kubohiroya/vite-plugin-turbowarp-extension":"0.4.0","@teachablemachine/image":"0.8.5","@teachablemachine/pose":"0.8.6","@tensorflow-models/posenet":"2.2.2","@tensorflow-models/speech-commands":"0.5.4","@tensorflow/tfjs":"4.22.0","@tensorflow/tfjs-backend-wasm":"4.22.0","@tensorflow/tfjs-backend-webgpu":"4.22.0","@types/node":"^22.20.1",typescript:"^5.9.3",vite:"^8.2.2",vitest:"^4.0.14"},X_e=["turbowarp","scratch","extension","pose","image","audio","camera","teachable-machine"],gx={name:A_e,version:R_e,description:D_e,author:O_e,license:F_e,homepage:L_e,repository:P_e,bugs:M_e,exports:z_e,type:B_e,files:V_e,unpkg:W_e,jsdelivr:U_e,publishConfig:G_e,packageManager:H_e,engines:j_e,scripts:q_e,devDependencies:K_e,keywords:X_e},Y_e=class extends Error{code="TM-RUNTIME-ABORTED";constructor(){super("TM runtime model loading was cancelled."),this.name="AbortError"}};function RN(){return new Y_e}function xm(e){if(e?.aborted)throw RN()}function DN(e){return typeof e=="object"&&e!==null}function Z_e(e){return DN(e)&&typeof e.dispose=="function"?e:null}function J_e(e){if(e===void 0)return{};if(!DN(e))throw new TypeError("TM runtime load options must be an object.");const t=e.signal;if(t!==void 0&&(!DN(t)||typeof t.aborted!="boolean"||typeof t.addEventListener!="function"||typeof t.removeEventListener!="function"))throw new TypeError("TM runtime load signal must be an AbortSignal.");const n=e.parallelModelInitialization;if(n!==void 0&&typeof n!="boolean")throw new TypeError("parallelModelInitialization must be a boolean.");return{...t===void 0?{}:{signal:t},...n===void 0?{}:{parallelModelInitialization:n}}}async function ON(e){const t=[...new Set(e.map(Z_e).filter(n=>n!==null))];return(await Promise.allSettled(t.map(n=>Promise.resolve().then(()=>n.dispose())))).flatMap(n=>n.status==="rejected"?[n.reason]:[])}function FN(e,t){const n=[...e,...t];throw n.length===1?n[0]:new AggregateError(n,"TM runtime model loading and cleanup did not complete.")}function Q_e(e,t){return!t?.aborted||e?.name==="AbortError"?[e]:[RN(),e]}async function eSe(e,t,n,r,s){let a,i;try{a=await e.loadClassifier(t,n),xm(s);const o=await e.loadMetadata(r);return xm(s),i=await e.loadPoseNet(o),xm(s),e.createModel(a,i,o)}catch(o){const l=await ON([a,i]);FN(Q_e(o,s),l)}}function LN(e){try{return Promise.resolve(e())}catch(t){return Promise.reject(t)}}async function tSe(e,t,n,r,s){const[a]=await Promise.allSettled([LN(()=>e.loadMetadata(r))]),i=a.status==="fulfilled"?a.value:void 0,o=await Promise.allSettled([LN(()=>e.loadClassifier(t,n)),a.status==="fulfilled"?LN(()=>e.loadPoseNet(i)):Promise.resolve(void 0)]),l=o[0].status==="fulfilled"?o[0].value:void 0,u=o[1].status==="fulfilled"?o[1].value:void 0,c=[...a.status==="rejected"?[a.reason]:[],...o.flatMap(h=>h.status==="rejected"?[h.reason]:[])];if(s?.aborted||c.length>0){const h=await ON([l,u]);FN([...s?.aborted?[RN()]:[],...c],h)}try{return e.createModel(l,u,i)}catch(h){const d=await ON([l,u]);FN([h],d)}}function nSe(e){return async function(n,r,s,a){const i=J_e(a);return xm(i.signal),await e.ready(),xm(i.signal),i.parallelModelInitialization?tSe(e,n,r,s,i.signal):eSe(e,n,r,s,i.signal)}}var rSe=["auto","webgpu","webgl","wasm","cpu"],pK=Object.freeze(["webgpu","webgl","wasm","cpu"]),sSe=Object.freeze({auto:"auto",automatic:"auto",default:"auto",fastest:"auto",自動:"auto",おまかせ:"auto",webgpu:"webgpu",gpu:"webgpu",webgl:"webgl",wasm:"wasm",webassembly:"wasm",simd:"wasm",cpu:"cpu",javascript:"cpu"}),aSe=class extends Error{code="TM-COMPUTE-UNAVAILABLE";mode;attempts;constructor(e,t){const n=t.map(r=>`${r.backend}: ${r.reason}`).join("; ");super(`TM: No compute backend accepted mode "${e}". ${n}`),this.name="ComputeBackendUnavailableError",this.mode=e,this.attempts=Object.freeze([...t])}};function fK(e,t="auto"){const n=String(e??"").trim().toLowerCase();return n===""?t:sSe[n]??t}function iSe(e,t=pK){return Object.freeze(e==="auto"?[...t]:[e,...t.filter(n=>n!==e)])}function oSe(e){const t=e?.message,n=String(t??e??"").trim();return n===""?"activation failed":n}async function lSe(e,t="auto",n=pK){const r=t==="auto"?null:t,s=[];for(const a of iSe(t,n))try{if(!await e.isSupported(a)){s.push({backend:a,reason:"not supported by this browser"});continue}if(await e.prepare(a),!await e.activate(a))throw new Error("TensorFlow.js did not switch to this backend");return await e.verify(a),Object.freeze({mode:t,backend:a,requested:r,fallback:r!==null&&r!==a,attempts:Object.freeze([...s])})}catch(i){s.push({backend:a,reason:oSe(i)})}throw new aSe(t,s)}function uSe(e){const{tf:t}=e;let n=null,r=Promise.resolve(),s=!1;function a(l){return l==="webgpu"?e.hasWebGPU():l==="wasm"?e.hasWebAssembly():!0}const i={isSupported:a,async prepare(l){const u=await e.loadBackend(l);if(!(l!=="wasm"||s)){if(typeof u?.setWasmPaths!="function")throw new Error("the WebAssembly backend bundle did not expose setWasmPaths");u.setWasmPaths(e.wasmAssetBase()),s=!0}},async activate(l){return await t.setBackend(l)?(await t.ready(),t.getBackend()===l):!1},async verify(){const l=t.ones([1,4,4,1]),u=t.ones([3,3,1,1]);let c=null;try{c=t.conv2d(l,u,1,"valid");const h=await c.data();if(h.length!==4||Math.abs(Number(h[0])-9)>.001)throw new Error("the backend returned an incorrect convolution result")}finally{t.dispose([l,u,...c?[c]:[]])}}};function o(l){const u=r.then(l,l);return r=u.catch(()=>{}),u}return Object.freeze({modes:rSe,select(l){const u=fK(l);return o(async()=>(n&&n.mode===u&&t.getBackend()===n.backend||(n=await lSe(i,u)),n))},getSelection:()=>n,getMode:()=>n?.mode??"auto",getBackend:()=>t.getBackend(),isBackendSupported(l){const u=fK(l);return u==="auto"||a(u)}})}var yn=globalThis;if(yn.tf!==void 0&&yn.tf!==gs)throw new Error("TM browser runtime found a different global TensorFlow.js instance.");if(yn.tmPose!==void 0&&yn.tmPose!==AN)throw new Error("TM browser runtime found a different global Teachable Machine Pose instance.");if(yn.tmImage!==void 0&&yn.tmImage!==dK)throw new Error("TM browser runtime found a different global Teachable Machine Image instance.");if(yn.speechCommands!==void 0&&yn.speechCommands!==U5)throw new Error("TM browser runtime found a different global speech-commands instance.");var hd=gx.devDependencies,cSe=`https://cdn.jsdelivr.net/npm/${gx.name}@${gx.version}/dist/`;function hSe(){const e=typeof document>"u"?null:document.currentScript,t=e&&"src"in e?String(e.src??""):"";if(t!=="")try{return new URL("./",t).href}catch{}return cSe}var vx=hSe(),PN=new Map;function mK(e){const t=PN.get(e);if(t)return t;const n=new Promise((r,s)=>{const a=document.createElement("script");a.src=e,a.addEventListener("load",()=>r(),{once:!0}),a.addEventListener("error",()=>{PN.delete(e),s(new Error(`TM: Failed to load compute backend bundle: ${e}`))},{once:!0}),document.head.appendChild(a)});return PN.set(e,n),n}async function dSe(e){return e==="wasm"?(yn.tmBackendWasm||await mK(new URL("backend-wasm.js",vx).href),yn.tmBackendWasm??null):(e==="webgpu"&&(yn.tmBackendWebGPU||await mK(new URL("backend-webgpu.js",vx).href)),null)}var pSe=uSe({tf:gs,loadBackend:dSe,wasmAssetBase:()=>new URL("wasm/",vx).href,hasWebGPU:()=>typeof navigator<"u"&&navigator.gpu!==void 0&&navigator.gpu!==null,hasWebAssembly:()=>typeof WebAssembly=="object"&&typeof WebAssembly.instantiate=="function"});function fSe(e){const t=e?.modelSettings?.posenet??{};return{architecture:t.architecture??"MobileNetV1",outputStride:t.outputStride??16,inputResolution:t.inputResolution??257,multiplier:t.multiplier??.75}}var mSe=nSe({ready:()=>Yx(),loadClassifier:(e,t)=>Tf(uT([e,t])),async loadMetadata(e){const t=await new Response(e).json();if(typeof t!="object"||t===null||!Array.isArray(t.labels))throw new Error("Invalid Metadata provided");return t},loadPoseNet:e=>D5(fSe(e)),createModel:(e,t,n)=>new AN.CustomPoseNet(e,t,n)}),gSe=Object.freeze({...AN,loadFromFiles:mSe}),vSe=Object.freeze({async load(e,t){const n=eK("BROWSER_FFT",void 0,e,t);return await n.ensureModelLoaded(),n}});yn.tf=gs,yn.speechCommands=U5,yn.tmImage=dK,yn.tmPose=gSe,yn.tmAudio=vSe,yn.tmCompute=pSe;var gK=Object.freeze({version:gx.version,tensorflow:hd["@tensorflow/tfjs"],tensorflowBackendWasm:hd["@tensorflow/tfjs-backend-wasm"],tensorflowBackendWebGPU:hd["@tensorflow/tfjs-backend-webgpu"],speechCommands:hd["@tensorflow-models/speech-commands"],teachableMachineImage:hd["@teachablemachine/image"],teachableMachinePose:hd["@teachablemachine/pose"],assetBase:vx});yn[Symbol.for("@kubohiroya/turbowarp-teachable-machine/runtime")]=gK,yn[Symbol.for("@kubohiroya/turbowarp-teachablemachine/runtime")]=gK})();
|
|
5001
|
+
model.`);return r=E0e(t,n),[4,D_(e.modelUrl||r)];case 1:return s=o.sent(),a=new B5(s,t),i=A5(e.inputResolution,a.outputStride),[2,new ux(a,i)]}})})}function D5(e){return e===void 0&&(e=mN),xo(this,void 0,void 0,function(){return wo(this,function(t){return(e=W0e(e)).architecture==="ResNet50"?[2,H0e(e)]:e.architecture==="MobileNetV1"?[2,G0e(e)]:[2,null]})})}var aN,ox,iN,oN,O5,Uu,gm,ud,F5,lN,L5,P5,uN,lx,cN,M5,hN,dN,z5,B5,pN,fN,V5,mN,gN,vN,yN,bN,xN,wN,ux,W5,_N=m((()=>{C(),F_(),aN=function(e,t){return(aN=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var s in r)r.hasOwnProperty(s)&&(n[s]=r[s])})(e,t)},ox=function(){return(ox=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var s in t=arguments[n])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)},iN=(function(){function e(t,n){this.model=t,this.outputStride=n;var r=this.model.inputs[0].shape;E(r[1]===-1&&r[2]===-1,function(){return"Input shape ["+r[1]+", "+r[2]+"] must both be equal to or -1"})}return e.prototype.predict=function(t){var n=this;return K(function(){var r=n.preprocessInput(ue(t,"float32")),s=Lt(r,0),a=n.model.predict(s).map(function(o){return Sr(o,[0])}),i=n.nameOutputResults(a);return{heatmapScores:hr(i.heatmap),offsets:i.offsets,displacementFwd:i.displacementFwd,displacementBwd:i.displacementBwd}})},e.prototype.dispose=function(){this.model.dispose()},e})(),oN=(function(e){function t(){return e!==null&&e.apply(this,arguments)||this}return b5(t,e),t.prototype.preprocessInput=function(n){return K(function(){return pe(me(n,127.5),1)})},t.prototype.nameOutputResults=function(n){return{offsets:n[0],heatmap:n[1],displacementFwd:n[2],displacementBwd:n[3]}},t})(iN),O5=(function(){function e(t,n){this.priorityQueue=new Array(t),this.numberOfElements=-1,this.getElementValue=n}return e.prototype.enqueue=function(t){this.priorityQueue[++this.numberOfElements]=t,this.swim(this.numberOfElements)},e.prototype.dequeue=function(){var t=this.priorityQueue[0];return this.exchange(0,this.numberOfElements--),this.sink(0),this.priorityQueue[this.numberOfElements+1]=null,t},e.prototype.empty=function(){return this.numberOfElements===-1},e.prototype.size=function(){return this.numberOfElements+1},e.prototype.all=function(){return this.priorityQueue.slice(0,this.numberOfElements+1)},e.prototype.max=function(){return this.priorityQueue[0]},e.prototype.swim=function(t){for(;t>0&&this.less(eN(t),t);)this.exchange(t,eN(t)),t=eN(t)},e.prototype.sink=function(t){for(;2*t<=this.numberOfElements;){var n=2*t;if(n<this.numberOfElements&&this.less(n,n+1)&&n++,!this.less(t,n))break;this.exchange(t,n),t=n}},e.prototype.getValueAt=function(t){return this.getElementValue(this.priorityQueue[t])},e.prototype.less=function(t,n){return this.getValueAt(t)<this.getValueAt(n)},e.prototype.exchange=function(t,n){var r=this.priorityQueue[t];this.priorityQueue[t]=this.priorityQueue[n],this.priorityQueue[n]=r},e})(),Uu=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],gm=Uu.length,ud=Uu.reduce(function(e,t,n){return e[t]=n,e},{}),F5=[["leftHip","leftShoulder"],["leftElbow","leftShoulder"],["leftElbow","leftWrist"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["rightHip","rightShoulder"],["rightElbow","rightShoulder"],["rightElbow","rightWrist"],["rightHip","rightKnee"],["rightKnee","rightAnkle"],["leftShoulder","rightShoulder"],["leftHip","rightHip"]],lN=[["nose","leftEye"],["leftEye","leftEar"],["nose","rightEye"],["rightEye","rightEar"],["nose","leftShoulder"],["leftShoulder","leftElbow"],["leftElbow","leftWrist"],["leftShoulder","leftHip"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["nose","rightShoulder"],["rightShoulder","rightElbow"],["rightElbow","rightWrist"],["rightShoulder","rightHip"],["rightHip","rightKnee"],["rightKnee","rightAnkle"]],L5=F5.map(function(e){var t=e[0],n=e[1];return[ud[t],ud[n]]}),P5=["left_face","right_face","right_upper_leg_front","right_lower_leg_back","right_upper_leg_back","left_lower_leg_front","left_upper_leg_front","left_upper_leg_back","left_lower_leg_back","right_feet","right_lower_leg_front","left_feet","torso_front","torso_back","right_upper_arm_front","right_upper_arm_back","right_lower_arm_back","left_lower_arm_front","left_upper_arm_front","left_upper_arm_back","left_lower_arm_back","right_hand","right_lower_arm_front","left_hand"],uN=lN.map(function(e){var t=e[0],n=e[1];return[ud[t],ud[n]]}),lx=uN.map(function(e){return e[1]}),cN=uN.map(function(e){return e[0]}),M5=1,hN="https://storage.googleapis.com/tfjs-models/savedmodel/posenet/mobilenet/",dN="https://storage.googleapis.com/tfjs-models/savedmodel/posenet/resnet50/",z5=[-123.15,-115.9,-103.06],B5=(function(e){function t(){return e!==null&&e.apply(this,arguments)||this}return b5(t,e),t.prototype.preprocessInput=function(n){return ie(n,z5)},t.prototype.nameOutputResults=function(n){var r=n[0],s=n[1];return{offsets:n[2],heatmap:n[3],displacementFwd:r,displacementBwd:s}},t})(iN),pN=Number.NEGATIVE_INFINITY,fN=Number.POSITIVE_INFINITY,V5=[8,16,32],mN={architecture:"MobileNetV1",outputStride:16,multiplier:.75,inputResolution:257},gN=["MobileNetV1","ResNet50"],vN={MobileNetV1:[8,16,32],ResNet50:[32,16]},yN={MobileNetV1:[.5,.75,1],ResNet50:[1]},bN=[1,2,4],xN={flipHorizontal:!1},wN={flipHorizontal:!1,maxDetections:5,scoreThreshold:.5,nmsRadius:20},ux=(function(){function e(t,n){z0e(t.outputStride),B0e(n,t.outputStride),this.baseModel=t,this.inputResolution=n}return e.prototype.estimateMultiplePoses=function(t,n){return n===void 0&&(n=wN),xo(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d,p,f,g,v,y,b,w,x,_,$,N;return wo(this,function(k){switch(k.label){case 0:return r=ox({},wN,n),U0e(n),s=this.baseModel.outputStride,a=this.inputResolution,i=rN(t),o=i[0],l=i[1],u=R5(t,a),c=u.resized,h=u.padding,d=this.baseModel.predict(c),p=d.heatmapScores,f=d.offsets,g=d.displacementFwd,v=d.displacementBwd,[4,F0e([p,f,g,v])];case 1:return y=k.sent(),b=y[0],w=y[1],x=y[2],_=y[3],[4,C5(b,w,x,_,s,r.maxDetections,r.scoreThreshold,r.nmsRadius)];case 2:return $=k.sent(),N=sN($,[o,l],a,h,r.flipHorizontal),p.dispose(),f.dispose(),g.dispose(),v.dispose(),c.dispose(),[2,N]}})})},e.prototype.estimateSinglePose=function(t,n){return n===void 0&&(n=xN),xo(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d,p,f,g,v,y,b;return wo(this,function(w){switch(w.label){case 0:return r=ox({},xN,n),s=this.baseModel.outputStride,a=this.inputResolution,i=rN(t),o=i[0],l=i[1],u=R5(t,a),c=u.resized,h=u.padding,d=this.baseModel.predict(c),p=d.heatmapScores,f=d.offsets,g=d.displacementFwd,v=d.displacementBwd,[4,$5(p,f,s)];case 1:return y=w.sent(),b=sN([y],[o,l],a,h,r.flipHorizontal),p.dispose(),f.dispose(),g.dispose(),v.dispose(),c.dispose(),[2,b[0]]}})})},e.prototype.estimatePoses=function(t,n){return xo(this,void 0,void 0,function(){return wo(this,function(r){switch(r.label){case 0:return n.decodingMethod!=="single-person"?[3,2]:[4,this.estimateSinglePose(t,n)];case 1:return[2,[r.sent()]];case 2:return[2,this.estimateMultiplePoses(t,n)]}})})},e.prototype.dispose=function(){this.baseModel.dispose()},e})(),W5="2.2.2"}));ka(),_N();var U5=Te({BACKGROUND_NOISE_TAG:()=>px,Dataset:()=>CN,UNKNOWN_TAG:()=>l_e,create:()=>eK,deleteSavedTransferModel:()=>d_e,getMaxIntensityFrameIndex:()=>J5,listSavedTransferModels:()=>h_e,spectrogram2IntensityCurve:()=>Z5,utils:()=>p_e,version:()=>$N});C(),d$(),UO(),m_();var G5=function(e,t){return(G5=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var s in r)r.hasOwnProperty(s)&&(n[s]=r[s])})(e,t)};function j0e(e,t){function n(){this.constructor=e}G5(e,t),e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var SN=function(){return(SN=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var s in t=arguments[n])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)};function wt(e,t,n,r){return new(n||(n=Promise))(function(s,a){function i(u){try{l(r.next(u))}catch(c){a(c)}}function o(u){try{l(r.throw(u))}catch(c){a(c)}}function l(u){var c;u.done?s(u.value):(c=u.value,c instanceof n?c:new n(function(h){h(c)})).then(i,o)}l((r=r.apply(e,t||[])).next())})}function _t(e,t){var n,r,s,a,i={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(l){return function(u){return(function(c){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(s=2&c[0]?r.return:c[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;switch(r=0,s&&(c=[2&c[0],s.value]),c[0]){case 0:case 1:s=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(s=(s=i.trys).length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){i.label=c[1];break}if(c[0]===6&&i.label<s[1]){i.label=s[1],s=c;break}if(s&&i.label<s[2]){i.label=s[2],i.ops.push(c);break}s[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(h){c=[6,h],r=0}finally{n=s=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([l,u])}}}function ir(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function IN(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r,s,a=n.call(e),i=[];try{for(;(t===void 0||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(o){s={error:o}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(s)throw s.error}}return i}function vm(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(IN(arguments[t]));return e}function q0e(e){return wt(this,void 0,void 0,function(){var t,n,r,s,a,i,o;return _t(this,function(l){switch(l.label){case 0:return t="http://",n="https://",r="file://",e.indexOf(t)!==0&&e.indexOf(n)!==0?[3,3]:[4,fetch(e)];case 1:return[4,l.sent().json()];case 2:return[2,l.sent()];case 3:return e.indexOf(r)!==0?[3,5]:(s=Bl(),a=h$(s.readFile),o=(i=JSON).parse,[4,a(e.slice(r.length),{encoding:"utf-8"})]);case 4:return[2,o.apply(i,[l.sent()])];case 5:throw new Error("Unsupported URL scheme in metadata URL: "+e+". Supported schemes are: http://, https://, and (node.js-only) file://")}})})}var cx=null;function cd(e){return cx??=Zc().epsilon(),K(function(){var t=da(e),n=t.mean,r=t.variance;return me(pe(e,n),ie(Ut(r),cx))})}function H5(e){if(e.length<2)throw new Error("Cannot normalize a Float32Array with fewer than 2 elements.");return cx??=Zc().epsilon(),K(function(){var t=da(Mt(e)),n=t.mean,r=t.variance,s=n.arraySync(),a=Math.sqrt(r.arraySync()),i=Array.from(e).map(function(o){return(o-s)/(a+cx)});return new Float32Array(i)})}function K0e(){return window.AudioContext||window.webkitAudioContext}function X0e(e){return wt(this,void 0,void 0,function(){return _t(this,function(t){return[2,navigator.mediaDevices.getUserMedia({audio:e==null||e,video:!1})]})})}function Y0e(e,t){var n=new(window.AudioContext||window.webkitAudioContext),r=n.createBuffer(1,e.data.length,e.sampleRateHz);r.getChannelData(0).set(e.data);var s=n.createBufferSource();s.buffer=r,s.connect(n.destination),s.start(),s.onended=function(){t?.()}}var NN=(function(){function e(t){var n=this;if(t==null)throw new Error("Required configuration object is missing for BrowserFftFeatureExtractor constructor");if(t.spectrogramCallback==null)throw new Error("spectrogramCallback cannot be null or undefined");if(!(t.numFramesPerSpectrogram>0))throw new Error("Invalid value in numFramesPerSpectrogram: "+t.numFramesPerSpectrogram);if(t.suppressionTimeMillis<0)throw new Error("Expected suppressionTimeMillis to be >= 0, but got "+t.suppressionTimeMillis);if(this.suppressionTimeMillis=t.suppressionTimeMillis,this.spectrogramCallback=t.spectrogramCallback,this.numFrames=t.numFramesPerSpectrogram,this.sampleRateHz=t.sampleRateHz||44100,this.fftSize=t.fftSize||1024,this.frameDurationMillis=this.fftSize/this.sampleRateHz*1e3,this.columnTruncateLength=t.columnTruncateLength||this.fftSize,this.overlapFactor=t.overlapFactor,this.includeRawAudio=t.includeRawAudio,E(this.overlapFactor>=0&&this.overlapFactor<1,function(){return"Expected overlapFactor to be >= 0 and < 1, but got "+n.overlapFactor}),this.columnTruncateLength>this.fftSize)throw new Error("columnTruncateLength "+this.columnTruncateLength+" exceeds fftSize ("+this.fftSize+").");this.audioContextConstructor=K0e()}return e.prototype.start=function(t){return wt(this,void 0,void 0,function(){var n,r,s;return _t(this,function(a){switch(a.label){case 0:if(this.frameIntervalTask!=null)throw new Error("Cannot start already-started BrowserFftFeatureExtractor");return n=this,[4,X0e(t)];case 1:return n.stream=a.sent(),this.audioContext=new this.audioContextConstructor({sampleRate:this.sampleRateHz}),r=this.audioContext.createMediaStreamSource(this.stream),this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=0,r.connect(this.analyser),this.freqDataQueue=[],this.freqData=new Float32Array(this.fftSize),this.includeRawAudio&&(this.timeDataQueue=[],this.timeData=new Float32Array(this.fftSize)),s=Math.max(1,Math.round(this.numFrames*(1-this.overlapFactor))),this.tracker=new Z0e(s,Math.round(this.suppressionTimeMillis/this.frameDurationMillis)),this.frameIntervalTask=setInterval(this.onAudioFrame.bind(this),this.fftSize/this.sampleRateHz*1e3),[2]}})})},e.prototype.onAudioFrame=function(){return wt(this,void 0,void 0,function(){var t,n,r,s;return _t(this,function(a){switch(a.label){case 0:return this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0?[2]:(this.freqDataQueue.push(this.freqData.slice(0,this.columnTruncateLength)),this.includeRawAudio&&(this.analyser.getFloatTimeDomainData(this.timeData),this.timeDataQueue.push(this.timeData.slice())),this.freqDataQueue.length>this.numFrames&&this.freqDataQueue.shift(),this.tracker.tick()?(t=j5(this.freqDataQueue),n=q5(t,[1,this.numFrames,this.columnTruncateLength,1]),r=void 0,this.includeRawAudio&&(s=j5(this.timeDataQueue),r=q5(s,[1,this.numFrames*this.fftSize])),[4,this.spectrogramCallback(n,r)]):[3,2]);case 1:a.sent()&&this.tracker.suppress(),ke([n,r]),a.label=2;case 2:return[2]}})})},e.prototype.stop=function(){return wt(this,void 0,void 0,function(){return _t(this,function(t){if(this.frameIntervalTask==null)throw new Error("Cannot stop because there is no ongoing streaming activity.");return clearInterval(this.frameIntervalTask),this.frameIntervalTask=null,this.analyser.disconnect(),this.audioContext.close(),this.stream!=null&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop(),[2]})})},e.prototype.setConfig=function(t){throw new Error("setConfig() is not implemented for BrowserFftFeatureExtractor.")},e.prototype.getFeatures=function(){throw new Error("getFeatures() is not implemented for BrowserFftFeatureExtractor. Use the spectrogramCallback field of the constructor config instead.")},e})();function j5(e){var t=e[0].length,n=new Float32Array(e.length*t);return e.forEach(function(r,s){return n.set(r,s*t)}),n}function q5(e,t){var n=new Float32Array(te(t));return n.set(e,n.length-e.length),Vn(n,t)}var Z0e=(function(){function e(t,n){var r=this;this.period=t,this.suppressionTime=n??0,this.counter=0,E(this.period>0,function(){return"Expected period to be positive, but got "+r.period})}return e.prototype.tick=function(){return this.counter++,this.counter%this.period==0&&(this.suppressionOnset==null||this.counter-this.suppressionOnset>this.suppressionTime)},e.prototype.suppress=function(){this.suppressionOnset=this.counter},e})();function hx(e){var t=0;e.forEach(function(s){t+=s.byteLength});var n=new Uint8Array(t),r=0;return e.forEach(function(s){n.set(new Uint8Array(s),r),r+=s.byteLength}),n.buffer}function K5(e){var t=0;e.forEach(function(s){return t+=s.length});var n=new Float32Array(t),r=0;return e.forEach(function(s){n.set(s,r),r+=s.length}),n}function X5(e){if(e==null)throw new Error("Received null or undefind string");for(var t=unescape(encodeURIComponent(e)),n=new Uint8Array(t.length),r=0;r<t.length;++r)n[r]=t.charCodeAt(r);return n.buffer}function Y5(e){if(e==null)throw new Error("Received null or undefind buffer");var t=new Uint8Array(e);return decodeURIComponent(escape(String.fromCharCode.apply(String,vm(t))))}function J0e(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}function Q0e(e,t){return Math.floor((t-e)*Math.random())+e}function e_e(e,t,n){return E(n>0&&n<1,function(){return"validationSplit is expected to be >0 and <1, but got "+n}),K(function(){for(var r=zr(t,-1).dataSync(),s=[],a=0;a<r.length;++a){var i=r[a];s[i]??(s[i]=[]),s[i].push(a)}var o=s.length,l=[],u=[];for(s.map(function(p){return $o(p)}),a=0;a<o;++a)for(var c=s[a],h=Math.round(c.length*(1-n)),d=0;d<c.length;++d)d<h?l.push(c[d]):u.push(c[d]);return{trainXs:Gr(e,l),trainYs:Gr(t,l),valXs:Gr(e,u),valYs:Gr(t,u)}})}function t_e(e,t,n){var r,s,a,i,o,l,u,c;E(n>0&&n<1,function(){return"validationSplit is expected to be >0 and <1, but got "+n});for(var h=!Array.isArray(e[0]),d=t,p=[],f=0;f<d.length;++f){var g=d[f];p[g]??(p[g]=[]),p[g].push(f)}var v=p.length,y=[],b=[];for(p.map(function(J){return $o(J)}),f=0;f<v;++f)for(var w=p[f],x=Math.round(w.length*(1-n)),_=0;_<w.length;++_)_<x?y.push(w[_]):b.push(w[_]);if(h){var $=[],N=[],k=[],A=[];try{for(var O=ir(y),R=O.next();!R.done;R=O.next()){var T=R.value;$.push(e[T]),N.push(t[T])}}catch(J){r={error:J}}finally{try{R&&!R.done&&(s=O.return)&&s.call(O)}finally{if(r)throw r.error}}try{for(var S=ir(b),F=S.next();!F.done;F=S.next())T=F.value,k.push(e[T]),A.push(t[T])}catch(J){a={error:J}}finally{try{F&&!F.done&&(i=S.return)&&i.call(S)}finally{if(a)throw a.error}}return{trainXs:$,trainYs:N,valXs:k,valYs:A}}$=[],N=[],k=[],A=[];try{for(var M=ir(y),L=M.next();!L.done;L=M.next())T=L.value,$.push(e[T]),N.push(t[T])}catch(J){o={error:J}}finally{try{L&&!L.done&&(l=M.return)&&l.call(M)}finally{if(o)throw o.error}}try{for(var z=ir(b),q=z.next();!q.done;q=z.next())T=q.value,k.push(e[T]),A.push(t[T])}catch(J){u={error:J}}finally{try{q&&!q.done&&(c=z.return)&&c.call(z)}finally{if(u)throw u.error}}return{trainXs:$,trainYs:N,valXs:k,valYs:A}}var dx="TFJSSCDS",n_e=1,px="_background_noise_",CN=(function(){function e(t){if(this.examples={},this.label2Ids={},t!=null)for(var n=i_e(t),r=0,s=0;s<n.manifest.length;++s){var a=n.manifest[s],i=a.spectrogramNumFrames*a.spectrogramFrameSize;a.rawAudioNumSamples!=null&&(i+=a.rawAudioNumSamples),i*=4,this.addExample(s_e({spec:a,data:n.data.slice(r,r+i)})),r+=i}}return e.prototype.addExample=function(t){E(t!=null,function(){return"Got null or undefined example"}),E(t.label!=null&&t.label.length>0,function(){return"Expected label to be a non-empty string, but got "+JSON.stringify(t.label)});var n=J0e();return this.examples[n]=t,t.label in this.label2Ids||(this.label2Ids[t.label]=[]),this.label2Ids[t.label].push(n),n},e.prototype.merge=function(t){var n,r,s,a;E(t!==this,function(){return"Cannot merge a dataset into itself"});var i=t.getVocabulary();try{for(var o=ir(i),l=o.next();!l.done;l=o.next()){var u=l.value,c=t.getExamples(u);try{for(var h=(s=void 0,ir(c)),d=h.next();!d.done;d=h.next()){var p=d.value;this.addExample(p.example)}}catch(f){s={error:f}}finally{try{d&&!d.done&&(a=h.return)&&a.call(h)}finally{if(s)throw s.error}}}}catch(f){n={error:f}}finally{try{l&&!l.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},e.prototype.getExampleCounts=function(){var t={};for(var n in this.examples){var r=this.examples[n];r.label in t||(t[r.label]=0),t[r.label]++}return t},e.prototype.getExamples=function(t){var n=this;E(t!=null,function(){return"Expected label to be a string, but got "+JSON.stringify(t)}),E(t in this.label2Ids,function(){return'No example of label "'+t+'" exists in dataset'});var r=[];return this.label2Ids[t].forEach(function(s){r.push({uid:s,example:n.examples[s]})}),r},e.prototype.getData=function(t,n){var r=this;E(this.size()>0,function(){return"Cannot get spectrograms as tensors because the dataset is empty"});var s=this.getVocabulary();t!=null?E(s.indexOf(t)!==-1,function(){return"Label "+t+" is not in the vocabulary ("+JSON.stringify(s)+")"}):E(s.length>1,function(){return"One-hot encoding of labels requires the vocabulary to have at least two words, but it has only "+s.length+" word."}),n??={};var a,i,o=this.getSortedUniqueNumFrames();o.length===1?(a=n.numFrames==null?o[0]:n.numFrames,i=n.hopFrames==null?1:n.hopFrames):(a=n.numFrames,E(a!=null&&Number.isInteger(a)&&a>0,function(){return"There are "+o.length+" unique lengths among the "+r.size()+" examples of this Dataset, hence numFrames is required. But it is not provided."}),E(a<=o[0],function(){return"numFrames ("+a+") exceeds the minimum numFrames ("+o[0]+") among the examples of the Dataset."}),i=n.hopFrames,E(i!=null&&Number.isInteger(i)&&i>0,function(){return"There are "+o.length+" unique lengths among the "+r.size()+" examples of this Dataset, hence hopFrames is required. But it is not provided."}));var l=n.normalize==null||n.normalize;return K(function(){for(var u,c,h,d=[],p=[],f=[],g=0;g<s.length;++g){var v=s[g];if(t==null||v===t){var y=r.label2Ids[v],b=function(ne){var oe,ce,ve=r.examples[ne].spectrogram,_e=ve.frameSize;h==null?h=_e:E(_e===h,function(){return"Mismatch in frameSize ("+_e+" vs "+h+")"});var $e=ve.data.length/_e,Re=null;v!=="_background_noise_"&&(Re=ve.keyFrameIndex==null?J5(ve).dataSync()[0]:ve.keyFrameIndex);var Oe=du(ve.data,[$e,_e,1]),He=o_e($e,Re,a,i),Xe=function(Qe){var lt=K(function(){var at=We(Oe,[Qe[0],0,0],[Qe[1]-Qe[0],-1,-1]);return l?cd(at):at});n.getDataset?p.push(lt.dataSync()):d.push(lt),t??f.push(g)};try{for(var dt=(oe=void 0,ir(He)),nt=dt.next();!nt.done;nt=dt.next())Xe(nt.value)}catch(Qe){oe={error:Qe}}finally{try{nt&&!nt.done&&(ce=dt.return)&&ce.call(dt)}finally{if(oe)throw oe.error}}ke(Oe)};try{for(var w=(u=void 0,ir(y)),x=w.next();!x.done;x=w.next())b(x.value)}catch(ne){u={error:ne}}finally{try{x&&!x.done&&(c=w.return)&&c.call(w)}finally{if(u)throw u.error}}}}n.augmentByMixingNoiseRatio!=null&&r.augmentByMixingNoise(n.getDataset?p:d,f,n.augmentByMixingNoiseRatio);var _=n.shuffle==null||n.shuffle;if(n.getDataset){var $=n.datasetBatchSize==null?32:n.datasetBatchSize,N=n.datasetValidationSplit==null?.15:n.datasetValidationSplit;E(N>0&&N<1,function(){return"Invalid dataset validation split: "+N});var k=p.map(function(ne,oe){return[ne,f[oe]]});$o(k),p=k.map(function(ne){return ne[0]});var A=k.map(function(ne){return ne[1]}),O=t_e(p,A,N),R=O.trainXs,T=O.trainYs,S=O.valXs,F=O.valYs,M=Gf(R).map(function(ne){return du(ne,[a,h,1])}),L=Gf(T).map(function(ne){return Sr(es([ne],s.length),[0])}),z=U_({xs:M,ys:L});_&&(z=z.shuffle(p.length)),z=z.batch($).prefetch(4);var q=Gf(S).map(function(ne){return du(ne,[a,h,1])}),J=Gf(F).map(function(ne){return Sr(es([ne],s.length),[0])}),re=U_({xs:q,ys:J});return[z,re=re.batch($).prefetch(4)]}if(_){var Y=[];d.forEach(function(ne,oe){Y.push({x:ne,y:f[oe]})}),$o(Y),d=Y.map(function(ne){return ne.x}),f=Y.map(function(ne){return ne.y})}var ae=t==null?ue(es(Mt(f,"int32"),s.length),"float32"):void 0;return{xs:mn(d),ys:ae}})},e.prototype.augmentByMixingNoise=function(t,n,r){var s,a;if(t==null||t.length===0)throw new Error("Cannot perform augmentation because data is null or empty");for(var i=t[0]instanceof Float32Array,o=this.getVocabulary(),l=[],u=[],c=0;c<n.length;++c)o[n[c]]==="_background_noise_"?l.push(c):u.push(c);if(l.length===0)throw new Error("Cannot perform augmentation by mixing with noise when there is no example with label "+px);var h=[],d=[],p=function(v){var y=l[Q0e(0,l.length)],b=i?Mt(t[v]):t[v],w=i?Mt(t[y]):t[y],x=K(function(){return cd(ie(b,U(w,r)))});i?h.push(x.dataSync()):h.push(x),d.push(n[v])};try{for(var f=ir(u),g=f.next();!g.done;g=f.next())p(g.value)}catch(v){s={error:v}}finally{try{g&&!g.done&&(a=f.return)&&a.call(f)}finally{if(s)throw s.error}}console.log("Data augmentation: mixing noise: added "+h.length+" examples"),h.forEach(function(v){return t.push(v)}),n.push.apply(n,vm(d))},e.prototype.getSortedUniqueNumFrames=function(){for(var t,n,r=new Set,s=this.getVocabulary(),a=0;a<s.length;++a){var i=s[a],o=this.label2Ids[i];try{for(var l=(t=void 0,ir(o)),u=l.next();!u.done;u=l.next()){var c=u.value,h=this.examples[c].spectrogram,d=h.data.length/h.frameSize;r.add(d)}}catch(f){t={error:f}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}}var p=vm(r);return p.sort(),p},e.prototype.removeExample=function(t){if(!(t in this.examples))throw new Error("Nonexistent example UID: "+t);var n=this.examples[t].label;delete this.examples[t];var r=this.label2Ids[n].indexOf(t);this.label2Ids[n].splice(r,1),this.label2Ids[n].length===0&&delete this.label2Ids[n]},e.prototype.setExampleKeyFrameIndex=function(t,n){if(!(t in this.examples))throw new Error("Nonexistent example UID: "+t);var r=this.examples[t].spectrogram,s=r.data.length/r.frameSize;E(n>=0&&n<s&&Number.isInteger(n),function(){return"Invalid keyFrameIndex: "+n+". Must be >= 0, < "+s+", and an integer."}),r.keyFrameIndex=n},e.prototype.size=function(){return Object.keys(this.examples).length},e.prototype.durationMillis=function(){var t=0;for(var n in this.examples){var r=this.examples[n].spectrogram,s=23.22|r.frameDurationMillis;t+=r.data.length/r.frameSize*s}return t},e.prototype.empty=function(){return this.size()===0},e.prototype.clear=function(){this.examples={}},e.prototype.getVocabulary=function(){var t=new Set;for(var n in this.examples){var r=this.examples[n];t.add(r.label)}var s=vm(t);return s.sort(),s},e.prototype.serialize=function(t){var n,r,s,a,i=this.getVocabulary();E(!this.empty(),function(){return"Cannot serialize empty Dataset"}),t!=null&&(Array.isArray(t)||(t=[t]),t.forEach(function(y){if(i.indexOf(y)===-1)throw new Error('Word label "'+y+'" does not exist in the vocabulary of this dataset. The vocabulary is: '+JSON.stringify(i)+".")}));var o=[],l=[];try{for(var u=ir(i),c=u.next();!c.done;c=u.next()){var h=c.value;if(t==null||t.indexOf(h)!==-1){var d=this.label2Ids[h];try{for(var p=(s=void 0,ir(d)),f=p.next();!f.done;f=p.next()){var g=f.value,v=r_e(this.examples[g]);o.push(v.spec),l.push(v.data)}}catch(y){s={error:y}}finally{try{f&&!f.done&&(a=p.return)&&a.call(p)}finally{if(s)throw s.error}}}}}catch(y){n={error:y}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return a_e({manifest:o,data:hx(l)})},e})();function r_e(e){var t=e.rawAudio!=null,n={label:e.label,spectrogramNumFrames:e.spectrogram.data.length/e.spectrogram.frameSize,spectrogramFrameSize:e.spectrogram.frameSize};e.spectrogram.keyFrameIndex!=null&&(n.spectrogramKeyFrameIndex=e.spectrogram.keyFrameIndex);var r=e.spectrogram.data.buffer.slice(0);return t&&(n.rawAudioNumSamples=e.rawAudio.data.length,n.rawAudioSampleRateHz=e.rawAudio.sampleRateHz,r=hx([r,e.rawAudio.data.buffer])),{spec:n,data:r}}function s_e(e){var t={frameSize:e.spec.spectrogramFrameSize,data:new Float32Array(e.data.slice(0,4*e.spec.spectrogramFrameSize*e.spec.spectrogramNumFrames))};e.spec.spectrogramKeyFrameIndex!=null&&(t.keyFrameIndex=e.spec.spectrogramKeyFrameIndex);var n={label:e.spec.label,spectrogram:t};return e.spec.rawAudioNumSamples!=null&&(n.rawAudio={sampleRateHz:e.spec.rawAudioSampleRateHz,data:new Float32Array(e.data.slice(4*e.spec.spectrogramFrameSize*e.spec.spectrogramNumFrames))}),n}function a_e(e){var t=X5(JSON.stringify(e.manifest)),n=X5(dx),r=new Uint32Array([n_e]),s=new Uint32Array([t.byteLength]);return hx([hx([n,r.buffer,s.buffer]),t,e.data])}function i_e(e){E(e!=null,function(){return"Received null or undefined buffer"});var t=0,n=Y5(e.slice(t,dx.length));E(n===dx,function(){return"Deserialization error: Invalid descriptor"}),t+=dx.length,t+=4;var r=new Uint32Array(e,t,1),s=t+=4;t=s+r[0];var a=Y5(e.slice(s,t));return{manifest:JSON.parse(a),data:e.slice(t)}}function o_e(e,t,n,r){if(E(Number.isInteger(e)&&e>0,function(){return"snippetLength must be a positive integer, but got "+e}),t!=null&&E(Number.isInteger(t)&&t>=0,function(){return"focusIndex must be a non-negative integer, but got "+t}),E(Number.isInteger(n)&&n>0,function(){return"windowLength must be a positive integer, but got "+n}),E(Number.isInteger(r)&&r>0,function(){return"windowHop must be a positive integer, but got "+r}),E(n<=e,function(){return"windowLength ("+n+") exceeds snippetLength ("+e+")"}),E(t<e,function(){return"focusIndex ("+t+") equals or exceeds snippetLength ("+e+")"}),n===e)return[[0,e]];var s=[];if(t==null){for(var a=0;a+n<=e;)s.push([a,a+n]),a+=r;return s}var i=t-Math.floor(n/2);for(i<0?i=0:i+n>e&&(i=e-n);!(i-r<0||t>=i-r+n);)i-=r;for(;i+n<=e&&!(t<i);)s.push([i,i+n]),i+=r;return s}function Z5(e){return K(function(){var t=e.data.length/e.frameSize,n=ns(e.data,[t,e.frameSize]);return yt(n,-1)})}function J5(e){return K(function(){return zr(Z5(e))})}var $N="0.5.4",l_e="_unknown_",ym="tfjs-speech-commands-saved-model-metadata",kN="indexeddb://tfjs-speech-commands-model/",bm={localStorage:typeof window>"u"?null:window.localStorage};function u_e(e){return e.split(".").slice(0,2).join(".")}var fx=.25,Q5=(function(){function e(t,n,r){this.MODEL_URL_PREFIX="https://storage.googleapis.com/tfjs-models/tfjs/speech-commands/v"+u_e($N)+"/browser_fft",this.SAMPLE_RATE_HZ=44100,this.FFT_SIZE=1024,this.DEFAULT_SUPPRESSION_TIME_MILLIS=0,this.streaming=!1,this.transferRecognizers={},E(n==null&&r==null||n!=null&&r!=null,function(){return"modelURL and metadataURL must be both provided or both not provided."}),n==null?(t==null?t=e.DEFAULT_VOCABULARY_NAME:E(e.VALID_VOCABULARY_NAMES.indexOf(t)!==-1,function(){return"Invalid vocabulary name: '"+t+"'"}),this.vocabulary=t,this.modelArtifactsOrURL=this.MODEL_URL_PREFIX+"/"+this.vocabulary+"/model.json",this.metadataOrURL=this.MODEL_URL_PREFIX+"/"+this.vocabulary+"/metadata.json"):(E(t==null,function(){return"vocabulary name must be null or undefined when modelURL is provided"}),this.modelArtifactsOrURL=n,this.metadataOrURL=r),this.parameters={sampleRateHz:this.SAMPLE_RATE_HZ,fftSize:this.FFT_SIZE}}return e.prototype.listen=function(t,n){return wt(this,void 0,void 0,function(){var r,s,a,i,o,l=this;return _t(this,function(u){switch(u.label){case 0:if(this.streaming)throw new Error("Cannot start streaming again when streaming is ongoing.");return[4,this.ensureModelLoaded()];case 1:if(u.sent(),n??={},r=n.probabilityThreshold==null?0:n.probabilityThreshold,n.includeEmbedding&&(r=0),E(r>=0&&r<=1,function(){return"Invalid probabilityThreshold value: "+r}),s=n.invokeCallbackOnNoiseAndUnknown!=null&&n.invokeCallbackOnNoiseAndUnknown,n.includeEmbedding&&(s=!0),n.suppressionTimeMillis<0)throw new Error("suppressionTimeMillis is expected to be >= 0, but got "+n.suppressionTimeMillis);return a=n.overlapFactor==null?.5:n.overlapFactor,E(a>=0&&a<1,function(){return"Expected overlapFactor to be >= 0 and < 1, but got "+a}),i=function(c,h){return wt(l,void 0,void 0,function(){var d,p,f,g,v,y,b,w,x,_,$;return _t(this,function(N){switch(N.label){case 0:return d=cd(c),n.includeEmbedding?[4,this.ensureModelWithEmbeddingOutputCreated()]:[3,2];case 1:return N.sent(),$=IN(this.modelWithEmbeddingOutput.predict(d),2),p=$[0],f=$[1],[3,3];case 2:p=this.model.predict(d),N.label=3;case 3:return[4,p.data()];case 4:return g=N.sent(),[4,(v=p.argMax(-1)).data()];case 5:return y=N.sent()[0],b=Math.max.apply(Math,vm(g)),ke([p,v,d]),b<r?[2,!1]:[3,6];case 6:return w=void 0,n.includeSpectrogram?(x={},[4,c.data()]):[3,8];case 7:x.data=N.sent(),x.frameSize=this.nonBatchInputShape[1],w=x,N.label=8;case 8:return _=!0,s||this.words[y]!=="_background_noise_"&&this.words[y]!=="_unknown_"||(_=!1),_&&t({scores:g,spectrogram:w,embedding:f}),[2,_]}})})},o=n.suppressionTimeMillis==null?this.DEFAULT_SUPPRESSION_TIME_MILLIS:n.suppressionTimeMillis,this.audioDataExtractor=new NN({sampleRateHz:this.parameters.sampleRateHz,numFramesPerSpectrogram:this.nonBatchInputShape[0],columnTruncateLength:this.nonBatchInputShape[1],suppressionTimeMillis:o,spectrogramCallback:i,overlapFactor:a}),[4,this.audioDataExtractor.start(n.audioTrackConstraints)];case 2:return u.sent(),this.streaming=!0,[2]}})})},e.prototype.ensureModelLoaded=function(){return wt(this,void 0,void 0,function(){var t,n,r,s,a=this;return _t(this,function(i){switch(i.label){case 0:return this.model!=null?[2]:[4,this.ensureMetadataLoaded()];case 1:return i.sent(),typeof this.modelArtifactsOrURL!="string"?[3,3]:[4,Tf(this.modelArtifactsOrURL)];case 2:return t=i.sent(),[3,5];case 3:return[4,Tf(ST(this.modelArtifactsOrURL.modelTopology,this.modelArtifactsOrURL.weightSpecs,this.modelArtifactsOrURL.weightData))];case 4:t=i.sent(),i.label=5;case 5:if(t.inputs.length!==1)throw new Error("Expected model to have 1 input, but got a model with "+t.inputs.length+" inputs");if(t.inputs[0].shape.length!==4)throw new Error("Expected model to have an input shape of rank 4, but got an input shape of rank "+t.inputs[0].shape.length);if(t.inputs[0].shape[3]!==1)throw new Error("Expected model to have an input shape with 1 as the last dimension, but got input shape"+JSON.stringify(t.inputs[0].shape[3])+"}");if((n=t.outputShape).length!==2)throw new Error("Expected loaded model to have an output shape of rank 2,but received shape "+JSON.stringify(n));if(n[1]!==this.words.length)throw new Error("Mismatch between the last dimension of model's output shape ("+n[1]+") and number of words ("+this.words.length+").");return this.model=t,this.freezeModel(),this.nonBatchInputShape=t.inputs[0].shape.slice(1),this.elementsPerExample=1,t.inputs[0].shape.slice(1).forEach(function(o){return a.elementsPerExample*=o}),this.warmUpModel(),r=this.parameters.fftSize/this.parameters.sampleRateHz*1e3,s=t.inputs[0].shape[1],this.parameters.spectrogramDurationMillis=s*r,[2]}})})},e.prototype.ensureModelWithEmbeddingOutputCreated=function(){return wt(this,void 0,void 0,function(){var t,n;return _t(this,function(r){switch(r.label){case 0:return this.modelWithEmbeddingOutput!=null?[2]:[4,this.ensureModelLoaded()];case 1:for(r.sent(),n=this.model.layers.length-2;n>=0;--n)if(this.model.layers[n].getClassName()==="Dense"){t=this.model.layers[n];break}if(t==null)throw new Error("Failed to find second last dense layer in the original model.");return this.modelWithEmbeddingOutput=T0({inputs:this.model.inputs,outputs:[this.model.outputs[0],t.output]}),[2]}})})},e.prototype.warmUpModel=function(){var t=this;K(function(){for(var n=Pt([1].concat(t.nonBatchInputShape)),r=0;r<3;++r)t.model.predict(n)})},e.prototype.ensureMetadataLoaded=function(){return wt(this,void 0,void 0,function(){var t,n,r;return _t(this,function(s){switch(s.label){case 0:return this.words!=null?[2]:typeof this.metadataOrURL!="string"?[3,2]:[4,q0e(this.metadataOrURL)];case 1:return n=s.sent(),[3,3];case 2:n=this.metadataOrURL,s.label=3;case 3:if((t=n).wordLabels==null){if((r=t.words)==null)throw new Error('Cannot find field "words" or "wordLabels" in metadata JSON file');this.words=r}else this.words=t.wordLabels;return[2]}})})},e.prototype.stopListening=function(){return wt(this,void 0,void 0,function(){return _t(this,function(t){switch(t.label){case 0:if(!this.streaming)throw new Error("Cannot stop streaming when streaming is not ongoing.");return[4,this.audioDataExtractor.stop()];case 1:return t.sent(),this.streaming=!1,[2]}})})},e.prototype.isListening=function(){return this.streaming},e.prototype.wordLabels=function(){return this.words},e.prototype.params=function(){return this.parameters},e.prototype.modelInputShape=function(){if(this.model==null)throw new Error("Model has not been loaded yet. Load model by calling ensureModelLoaded(), recognize(), or listen().");return this.model.inputs[0].shape},e.prototype.recognize=function(t,n){return wt(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d,p,f,g;return _t(this,function(v){switch(v.label){case 0:return n??={},[4,this.ensureModelLoaded()];case 1:return v.sent(),t!=null?[3,3]:[4,this.recognizeOnline()];case 2:r=v.sent(),t=r.data,v.label=3;case 3:if(t instanceof Ve)this.checkInputTensorShape(t),a=t,s=t.shape[0];else{if(t.length%this.elementsPerExample)throw new Error("The length of the input Float32Array "+t.length+" is not divisible by the number of tensor elements per per example expected by the model "+this.elementsPerExample+".");s=t.length/this.elementsPerExample,a=Lg(t,[s].concat(this.nonBatchInputShape))}return o={scores:null},n.includeEmbedding?[4,this.ensureModelWithEmbeddingOutputCreated()]:[3,5];case 4:return v.sent(),l=this.modelWithEmbeddingOutput.predict(a),i=l[0],o.embedding=l[1],[3,6];case 5:i=this.model.predict(a),v.label=6;case 6:return s!==1?[3,8]:(u=o,[4,i.data()]);case 7:return u.scores=v.sent(),[3,10];case 8:return c=Kn(i),h=c.map(function(y){return y.data()}),d=o,[4,Promise.all(h)];case 9:d.scores=v.sent(),ke(c),v.label=10;case 10:return n.includeSpectrogram?(p=o,f={},t instanceof Ve?[4,t.data()]:[3,12]):[3,14];case 11:return g=v.sent(),[3,13];case 12:g=t,v.label=13;case 13:p.spectrogram=(f.data=g,f.frameSize=this.nonBatchInputShape[1],f),v.label=14;case 14:return ke(i),[2,o]}})})},e.prototype.recognizeOnline=function(){return wt(this,void 0,void 0,function(){var t=this;return _t(this,function(n){return[2,new Promise(function(r,s){t.audioDataExtractor=new NN({sampleRateHz:t.parameters.sampleRateHz,numFramesPerSpectrogram:t.nonBatchInputShape[0],columnTruncateLength:t.nonBatchInputShape[1],suppressionTimeMillis:0,spectrogramCallback:function(a){return wt(t,void 0,void 0,function(){var i,o,l;return _t(this,function(u){switch(u.label){case 0:return i=cd(a),[4,this.audioDataExtractor.stop()];case 1:return u.sent(),o=r,l={},[4,i.data()];case 2:return o.apply(void 0,[(l.data=u.sent(),l.frameSize=this.nonBatchInputShape[1],l)]),i.dispose(),[2,!1]}})})},overlapFactor:0}),t.audioDataExtractor.start()})]})})},e.prototype.createTransfer=function(t){if(this.model==null)throw new Error("Model has not been loaded yet. Load model by calling ensureModelLoaded(), recognizer(), or listen().");E(t!=null&&typeof t=="string"&&t.length>1,function(){return"Expected the name for a transfer-learning recognized to be a non-empty string, but got "+JSON.stringify(t)}),E(this.transferRecognizers[t]==null,function(){return"There is already a transfer-learning model named '"+t+"'"});var n=new c_e(t,this.parameters,this.model);return this.transferRecognizers[t]=n,n},e.prototype.freezeModel=function(){var t,n;try{for(var r=ir(this.model.layers),s=r.next();!s.done;s=r.next())s.value.trainable=!1}catch(a){t={error:a}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}},e.prototype.checkInputTensorShape=function(t){var n=this.model.inputs[0].shape.length;if(t.shape.length!==n)throw new Error("Expected input Tensor to have rank "+n+", but got rank "+t.shape.length+" that differs ");var r=t.shape.slice(1),s=this.model.inputs[0].shape.slice(1);if(!Ue(r,s))throw new Error("Expected input to have shape [null,"+s+"], but got shape [null,"+r+"]")},e.VALID_VOCABULARY_NAMES=["18w","directional4w"],e.DEFAULT_VOCABULARY_NAME="18w",e})(),c_e=(function(e){function t(n,r,s){var a=e.call(this)||this;return a.name=n,a.parameters=r,a.baseModel=s,E(n!=null&&typeof n=="string"&&n.length>0,function(){return"The name of a transfer model must be a non-empty string, but got "+JSON.stringify(n)}),a.nonBatchInputShape=a.baseModel.inputs[0].shape.slice(1),a.words=null,a.dataset=new CN,a}return j0e(t,e),t.prototype.collectExample=function(n,r){return wt(this,void 0,void 0,function(){var s,a,i,o,l=this;return _t(this,function(u){if(E(!this.streaming,function(){return"Cannot start collection of transfer-learning example because a streaming recognition or transfer-learning example collection is ongoing"}),E(n!=null&&typeof n=="string"&&n.length>0,function(){return"Must provide a non-empty string when collecting transfer-learning example"}),r??={},r.durationMultiplier!=null&&r.durationSec!=null)throw new Error("durationMultiplier and durationSec are mutually exclusive, but are both specified.");return r.durationSec!=null?(E(r.durationSec>0,function(){return"Expected durationSec to be > 0, but got "+r.durationSec}),a=this.parameters.fftSize/this.parameters.sampleRateHz,s=Math.ceil(r.durationSec/a)):r.durationMultiplier!=null?(E(r.durationMultiplier>=1,function(){return"Expected duration multiplier to be >= 1, but got "+r.durationMultiplier}),s=Math.round(this.nonBatchInputShape[0]*r.durationMultiplier)):s=this.nonBatchInputShape[0],r.snippetDurationSec!=null&&(E(r.snippetDurationSec>0,function(){return"snippetDurationSec is expected to be > 0, but got "+r.snippetDurationSec}),E(r.onSnippet!=null,function(){return"onSnippet must be provided if snippetDurationSec is provided."})),r.onSnippet!=null&&E(r.snippetDurationSec!=null,function(){return"snippetDurationSec must be provided if onSnippet is provided."}),i=this.parameters.fftSize/this.parameters.sampleRateHz,o=i*s,this.streaming=!0,[2,new Promise(function(c){var h=r.snippetDurationSec==null?1:r.snippetDurationSec/o,d=1-h,p=Math.round(1/h),f=0,g=-1,v=[];l.audioDataExtractor=new NN({sampleRateHz:l.parameters.sampleRateHz,numFramesPerSpectrogram:s,columnTruncateLength:l.nonBatchInputShape[1],suppressionTimeMillis:0,spectrogramCallback:function(y,b){return wt(l,void 0,void 0,function(){var w,x,_,$,N,k,A,O,R,T,S,F,M,L,z,q,J,re,Y,ae;return _t(this,function(ne){switch(ne.label){case 0:return r.onSnippet!=null?[3,7]:(w=cd(y),_=(x=this.dataset).addExample,$={label:n},N={},[4,w.data()]);case 1:return $.spectrogram=(N.data=ne.sent(),N.frameSize=this.nonBatchInputShape[1],N),r.includeRawAudio?(A={},[4,b.data()]):[3,3];case 2:return A.data=ne.sent(),A.sampleRateHz=this.audioDataExtractor.sampleRateHz,k=A,[3,4];case 3:k=void 0,ne.label=4;case 4:return _.apply(x,[($.rawAudio=k,$)]),w.dispose(),[4,this.audioDataExtractor.stop()];case 5:return ne.sent(),this.streaming=!1,this.collateTransferWords(),O=c,R={},[4,y.data()];case 6:return O.apply(void 0,[(R.data=ne.sent(),R.frameSize=this.nonBatchInputShape[1],R)]),[3,13];case 7:return[4,y.data()];case 8:for(T=ne.sent(),g===-1&&(g=T.length),S=g-1;T[S]!==0&&S>=0;)S--;return F=g-S-1,g=S+1,M=T.slice(T.length-F,T.length),v.push(M),r.onSnippet!=null&&r.onSnippet({data:M,frameSize:this.nonBatchInputShape[1]}),f++!==p?[3,13]:[4,this.audioDataExtractor.stop()];case 9:return ne.sent(),this.streaming=!1,this.collateTransferWords(),L=H5(K5(v)),z={data:L,frameSize:this.nonBatchInputShape[1]},J=(q=this.dataset).addExample,re={label:n,spectrogram:z},r.includeRawAudio?(ae={},[4,b.data()]):[3,11];case 10:return ae.data=ne.sent(),ae.sampleRateHz=this.audioDataExtractor.sampleRateHz,Y=ae,[3,12];case 11:Y=void 0,ne.label=12;case 12:J.apply(q,[(re.rawAudio=Y,re)]),c(z),ne.label=13;case 13:return[2,!1]}})})},overlapFactor:d,includeRawAudio:r.includeRawAudio}),l.audioDataExtractor.start(r.audioTrackConstraints)})]})})},t.prototype.clearExamples=function(){var n=this;E(this.words!=null&&this.words.length>0&&!this.dataset.empty(),function(){return"No transfer learning examples exist for model name "+n.name}),this.dataset.clear(),this.words=null},t.prototype.countExamples=function(){if(this.dataset.empty())throw new Error("No examples have been collected for transfer-learning model named '"+this.name+"' yet.");return this.dataset.getExampleCounts()},t.prototype.getExamples=function(n){return this.dataset.getExamples(n)},t.prototype.setExampleKeyFrameIndex=function(n,r){this.dataset.setExampleKeyFrameIndex(n,r)},t.prototype.removeExample=function(n){this.dataset.removeExample(n),this.collateTransferWords()},t.prototype.isDatasetEmpty=function(){return this.dataset.empty()},t.prototype.loadExamples=function(n,r){var s,a,i,o;r===void 0&&(r=!1);var l=new CN(n);r&&this.clearExamples();var u=l.getVocabulary();try{for(var c=ir(u),h=c.next();!h.done;h=c.next()){var d=h.value,p=l.getExamples(d);try{for(var f=(i=void 0,ir(p)),g=f.next();!g.done;g=f.next()){var v=g.value;this.dataset.addExample(v.example)}}catch(y){i={error:y}}finally{try{g&&!g.done&&(o=f.return)&&o.call(f)}finally{if(i)throw i.error}}}}catch(y){s={error:y}}finally{try{h&&!h.done&&(a=c.return)&&a.call(c)}finally{if(s)throw s.error}}this.collateTransferWords()},t.prototype.serializeExamples=function(n){return this.dataset.serialize(n)},t.prototype.collateTransferWords=function(){this.words=this.dataset.getVocabulary()},t.prototype.collectTransferDataAsTensors=function(n,r){var s=this.nonBatchInputShape[0];n=n||fx;var a=Math.round(n*s),i=this.dataset.getData(null,SN({numFrames:s,hopFrames:a},r));return{xs:i.xs,ys:i.ys}},t.prototype.collectTransferDataAsTfDataset=function(n,r,s,a){r===void 0&&(r=.15),s===void 0&&(s=32);var i=this.nonBatchInputShape[0];n=n||fx;var o=Math.round(n*i);return this.dataset.getData(null,SN({numFrames:i,hopFrames:o,getDataset:!0,datasetBatchSize:s,datasetValidationSplit:r},a))},t.prototype.train=function(n){return wt(this,void 0,void 0,function(){var r,s=this;return _t(this,function(a){return E(this.words!=null&&this.words.length>0,function(){return"Cannot train transfer-learning model '"+s.name+"' because no transfer learning example has been collected."}),E(this.words.length>1,function(){return"Cannot train transfer-learning model '"+s.name+"' because only 1 word label ('"+JSON.stringify(s.words)+"') has been collected for transfer learning. Requires at least 2."}),n.fineTuningEpochs!=null&&E(n.fineTuningEpochs>=0&&Number.isInteger(n.fineTuningEpochs),function(){return"If specified, fineTuningEpochs must be a non-negative integer, but received "+n.fineTuningEpochs}),n??={},this.model??this.createTransferModelFromBaseModel(),this.secondLastBaseDenseLayer.trainable=!1,this.model.compile({loss:"categoricalCrossentropy",optimizer:n.optimizer||"sgd",metrics:["acc"]}),r=n.fitDatasetDurationMillisThreshold==null?6e4:n.fitDatasetDurationMillisThreshold,this.dataset.durationMillis()>r?(console.log("Detected large dataset: total duration = "+this.dataset.durationMillis()+" ms > "+r+" ms. Training transfer model using fitDataset() instead of fit()"),[2,this.trainOnDataset(n)]):[2,this.trainOnTensors(n)]})})},t.prototype.trainOnDataset=function(n){return wt(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h;return _t(this,function(d){switch(d.label){case 0:return E(n.epochs>0,function(){return"Invalid config.epochs"}),r=n.batchSize==null?32:n.batchSize,s=n.windowHopRatio||fx,a=IN(this.collectTransferDataAsTfDataset(s,n.validationSplit,r,{augmentByMixingNoiseRatio:n.augmentByMixingNoiseRatio}),2),i=a[0],o=a[1],l=Bt(),[4,this.model.fitDataset(i,{epochs:n.epochs,validationData:n.validationSplit>0?o:null,callbacks:n.callback==null?null:[n.callback]})];case 1:return u=d.sent(),console.log("fitDataset() took "+(Bt()-l).toFixed(2)+" ms"),n.fineTuningEpochs!=null&&n.fineTuningEpochs>0?(c=Bt(),[4,this.fineTuningUsingTfDatasets(n,i,o)]):[3,3];case 2:return h=d.sent(),console.log("fitDataset() (fine-tuning) took "+(Bt()-c).toFixed(2)+" ms"),[2,[u,h]];case 3:return[2,u]}})})},t.prototype.trainOnTensors=function(n){return wt(this,void 0,void 0,function(){var r,s,a,i,o,l,u,c,h,d;return _t(this,function(p){switch(p.label){case 0:r=n.windowHopRatio||fx,s=this.collectTransferDataAsTensors(r,{augmentByMixingNoiseRatio:n.augmentByMixingNoiseRatio}),a=s.xs,i=s.ys,console.log("Training data: xs.shape = "+a.shape+", ys.shape = "+i.shape),p.label=1;case 1:return p.trys.push([1,,6,7]),n.validationSplit!=null?(c=e_e(a,i,n.validationSplit),o=c.trainXs,l=c.trainYs,u=[c.valXs,c.valYs]):(o=a,l=i),[4,this.model.fit(o,l,{epochs:n.epochs==null?20:n.epochs,validationData:u,batchSize:n.batchSize,callbacks:n.callback==null?null:[n.callback]})];case 2:return h=p.sent(),n.fineTuningEpochs!=null&&n.fineTuningEpochs>0?[4,this.fineTuningUsingTensors(n,o,l,u)]:[3,4];case 3:return d=p.sent(),[2,[h,d]];case 4:return[2,h];case 5:return[3,7];case 6:return ke([a,i,o,l,u]),[7];case 7:return[2]}})})},t.prototype.fineTuningUsingTfDatasets=function(n,r,s){return wt(this,void 0,void 0,function(){var a,i,o;return _t(this,function(l){switch(l.label){case 0:return a=this.secondLastBaseDenseLayer.trainable,this.secondLastBaseDenseLayer.trainable=!0,i=n.fineTuningOptimizer==null?"sgd":n.fineTuningOptimizer,this.model.compile({loss:"categoricalCrossentropy",optimizer:i,metrics:["acc"]}),[4,this.model.fitDataset(r,{epochs:n.fineTuningEpochs,validationData:s,callbacks:n.callback==null?null:[n.callback]})];case 1:return o=l.sent(),this.secondLastBaseDenseLayer.trainable=a,[2,o]}})})},t.prototype.fineTuningUsingTensors=function(n,r,s,a){return wt(this,void 0,void 0,function(){var i,o,l;return _t(this,function(u){switch(u.label){case 0:return i=this.secondLastBaseDenseLayer.trainable,this.secondLastBaseDenseLayer.trainable=!0,o=n.fineTuningOptimizer==null?"sgd":n.fineTuningOptimizer,this.model.compile({loss:"categoricalCrossentropy",optimizer:o,metrics:["acc"]}),[4,this.model.fit(r,s,{epochs:n.fineTuningEpochs,validationData:a,batchSize:n.batchSize,callbacks:n.fineTuningCallback==null?null:[n.fineTuningCallback]})];case 1:return l=u.sent(),this.secondLastBaseDenseLayer.trainable=i,[2,l]}})})},t.prototype.evaluate=function(n){return wt(this,void 0,void 0,function(){var r,s=this;return _t(this,function(a){return E(n.wordProbThresholds!=null&&n.wordProbThresholds.length>0,function(){return"Received null or empty wordProbThresholds"}),r=0,E(this.words[r]===px,function(){return"Cannot perform evaluation when the first tag is not "+px}),[2,K(function(){for(var i=[],o=0,l=s.collectTransferDataAsTensors(n.windowHopRatio),u=l.xs,c=l.ys.argMax(-1).dataSync(),h=s.model.predict(u),d=Gn(We(h,[0,1],[h.shape[0],h.shape[1]-1]),-1),p=h.shape[0],f=0;f<n.wordProbThresholds.length;++f){for(var g=n.wordProbThresholds[f],v=d.greater(ye(g)).dataSync(),y=0,b=0,w=0,x=0,_=0;_<p;++_)c[_]===r?(y++,v[_]&&w++):(b++,v[_]&&x++);var $=w/y,N=x/b;i.push({probThreshold:g,fpr:$,tpr:N}),console.log("ROC thresh="+g+": fpr="+$.toFixed(4)+", tpr="+N.toFixed(4)),f>0&&(o+=Math.abs(i[f-1].fpr-i[f].fpr)*(i[f-1].tpr+i[f].tpr)/2)}return{rocCurve:i,auc:o}})]})})},t.prototype.createTransferModelFromBaseModel=function(){var n=this;E(this.words!=null,function(){return"No word example is available for tranfer-learning model of name "+n.name});for(var r=this.baseModel.layers,s=r.length-2;s>=0&&r[s].getClassName().toLowerCase()!=="dense";)s--;if(s<0)throw new Error("Cannot find a hidden dense layer in the base model.");this.secondLastBaseDenseLayer=r[s];var a=this.secondLastBaseDenseLayer.output;this.transferHead=AR(),this.transferHead.add(HR({units:this.words.length,activation:"softmax",inputShape:a.shape.slice(1),name:"NewHeadDense"}));var i=this.transferHead.apply(a);this.model=T0({inputs:this.baseModel.inputs,outputs:i})},t.prototype.modelInputShape=function(){return this.baseModel.inputs[0].shape},t.prototype.getMetadata=function(){return{tfjsSpeechCommandsVersion:$N,modelName:this.name,timeStamp:new Date().toISOString(),wordLabels:this.wordLabels()}},t.prototype.save=function(n){return wt(this,void 0,void 0,function(){var r,s,a;return _t(this,function(i){return r=n!=null,n=n||TN(this.name),r||(s=bm.localStorage.getItem(ym),(a=s==null?{}:JSON.parse(s))[this.name]=this.getMetadata(),bm.localStorage.setItem(ym,JSON.stringify(a))),console.log("Saving model to "+n),[2,this.model.save(n)]})})},t.prototype.load=function(n){return wt(this,void 0,void 0,function(){var r,s,a;return _t(this,function(i){switch(i.label){case 0:if(r=n!=null,n=n||TN(this.name),!r){if((s=JSON.parse(bm.localStorage.getItem(ym)))==null||s[this.name]==null)throw new Error("Cannot find metadata for transfer model named "+this.name+'"');this.words=s[this.name].wordLabels,console.log("Loaded word list for model named "+this.name+": "+this.words)}return a=this,[4,Tf(n)];case 1:return a.model=i.sent(),console.log("Loaded model from "+n+":"),this.model.summary(),[2]}})})},t.prototype.createTransfer=function(n){throw new Error("Creating transfer-learned recognizer from a transfer-learned recognizer is not supported.")},t})(Q5);function TN(e){return""+kN+e}function h_e(){return wt(this,void 0,void 0,function(){var e,t,n;return _t(this,function(r){switch(r.label){case 0:return[4,o$()];case 1:for(n in e=r.sent(),t=[],e)n.startsWith(kN)&&t.push(n.slice(kN.length));return[2,t]}})})}function d_e(e){return wt(this,void 0,void 0,function(){var t;return _t(this,function(n){switch(n.label){case 0:return(t=JSON.parse(bm.localStorage.getItem(ym)))??(t={}),t[e]!=null&&delete t[e],bm.localStorage.setItem(ym,JSON.stringify(t)),[4,l$(TN(e))];case 1:return n.sent(),[2]}})})}function eK(e,t,n,r){if(E(n==null&&r==null||n!=null&&r!=null,function(){return"customModelURL and customMetadataURL must be both provided or both not provided."}),n!=null&&E(t==null,function(){return"vocabulary name must be null or undefined when modelURL is provided."}),e==="BROWSER_FFT")return new Q5(t,n,r);throw e==="SOFT_FFT"?new Error("SOFT_FFT SpeechCommandRecognizer has not been implemented yet."):new Error("Invalid fftType: '"+e+"'")}var p_e={concatenateFloat32Arrays:K5,normalizeFloat32Array:H5,normalize:cd,playRawAudio:Y0e},tK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.cropTensor=e.capture=void 0;var t=(ka(),or(gs));function n(s,a){return t.tidy(function(){return r(t.browser.fromPixels(s),a).expandDims(0).toFloat().div(t.scalar(127)).sub(t.scalar(1))})}e.capture=n;function r(s,a,i){var o=Math.min(s.shape[0],s.shape[1]),l=s.shape[0]/2-o/2,u=s.shape[1]/2-o/2;if(a&&!i){var c=s.slice([l,u,0],[o,o,3]);return c=c.reshape([o*o,1,3]),c=t.mul(c,[.2989,.587,.114]),c=c.reshape([o,o,3]),c=t.sum(c,-1),c=t.expandDims(c,-1),c}return s.slice([l,u,0],[o,o,3])}e.cropTensor=r})),nK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.cropTo=e.resizeMinTo=e.resizeMaxTo=e.resize=void 0;var t=function(){return document.createElement("canvas")};function n(i,o,l){return l===void 0&&(l=t()),l.width=i.width*o,l.height=i.height*o,l.getContext("2d").drawImage(i,0,0,l.width,l.height),l}e.resize=n;function r(i,o,l){return l===void 0&&(l=t()),n(i,o/Math.max(i.width,i.height),l)}e.resizeMaxTo=r;function s(i,o,l){return l===void 0&&(l=t()),n(i,o/Math.min(i.width,i.height),l)}e.resizeMinTo=s;function a(i,o,l,u){l===void 0&&(l=!1),u===void 0&&(u=t());var c=i.width,h=i.height;i instanceof HTMLVideoElement&&(c=i.videoWidth,h=i.videoHeight);var d=o/Math.min(c,h),p=Math.ceil(c*d),f=Math.ceil(h*d),g=p-o,v=f-o;u.width=u.height=o;var y=u.getContext("2d");return y.drawImage(i,~~(g/2)*-1,~~(v/2)*-1,p,f),l&&(y.scale(-1,1),y.drawImage(u,o*-1,0)),u}e.cropTo=a})),rK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;var t="0.8.4-alpha2";e.version=t})),sK=Ye((e=>{var t=e&&e.__awaiter||function(N,k,A,O){function R(T){return T instanceof A?T:new A(function(S){S(T)})}return new(A||(A=Promise))(function(T,S){function F(z){try{L(O.next(z))}catch(q){S(q)}}function M(z){try{L(O.throw(z))}catch(q){S(q)}}function L(z){z.done?T(z.value):R(z.value).then(F,M)}L((O=O.apply(N,k||[])).next())})},n=e&&e.__generator||function(N,k){var A={label:0,sent:function(){if(T[0]&1)throw T[1];return T[1]},trys:[],ops:[]},O,R,T,S={next:F(0),throw:F(1),return:F(2)};return typeof Symbol=="function"&&(S[Symbol.iterator]=function(){return this}),S;function F(L){return function(z){return M([L,z])}}function M(L){if(O)throw new TypeError("Generator is already executing.");for(;A;)try{if(O=1,R&&(T=L[0]&2?R.return:L[0]?R.throw||((T=R.return)&&T.call(R),0):R.next)&&!(T=T.call(R,L[1])).done)return T;switch(R=0,T&&(L=[L[0]&2,T.value]),L[0]){case 0:case 1:T=L;break;case 4:return A.label++,{value:L[1],done:!1};case 5:A.label++,R=L[1],L=[0];continue;case 7:L=A.ops.pop(),A.trys.pop();continue;default:if(T=A.trys,!(T=T.length>0&&T[T.length-1])&&(L[0]===6||L[0]===2)){A=0;continue}if(L[0]===3&&(!T||L[1]>T[0]&&L[1]<T[3])){A.label=L[1];break}if(L[0]===6&&A.label<T[1]){A.label=T[1],T=L;break}if(T&&A.label<T[2]){A.label=T[2],A.ops.push(L);break}T[2]&&A.ops.pop(),A.trys.pop();continue}L=k.call(N,A)}catch(z){L=[6,z],R=0}finally{O=T=0}if(L[0]&5)throw L[1];return{value:L[0]?L[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0}),e.loadFromFiles=e.load=e.loadTruncatedMobileNet=e.CustomMobileNet=e.getTopKClasses=e.IMAGE_SIZE=void 0;var r=(ka(),or(gs)),s=(ka(),or(gs)),a=tK(),i=nK(),o=rK(),l=1,u="conv_pw_13_relu",c="out_relu",h=.25,d=.35;e.IMAGE_SIZE=224;var p=function(N){return N.packageVersion=N.packageVersion||o.version,N.packageName=N.packageName||"@teachablemachine/image",N.timeStamp=N.timeStamp||new Date().toISOString(),N.userMetadata=N.userMetadata||{},N.modelName=N.modelName||"untitled",N.labels=N.labels||[],N.imageSize=N.imageSize||e.IMAGE_SIZE,N},f=function(N){return!!N&&Array.isArray(N.labels)},g=function(N,k){if(N===1){if(k!==.25&&k!==.5&&k!==.75&&k!==1)return console.warn("Invalid alpha. Options are: 0.25, 0.50, 0.75 or 1.00."),console.log("Loading model with alpha: ",h.toFixed(2)),h}else if(k!==.35&&k!==.5&&k!==.75&&k!==1)return console.warn("Invalid alpha. Options are: 0.35, 0.50, 0.75 or 1.00."),console.log("Loading model with alpha: ",d.toFixed(2)),d;return k},v=function(N){if(N=N||{},N.checkpointUrl&&N.trainingLayer)return(N.alpha||N.version)&&console.warn("Checkpoint URL passed to modelOptions, alpha options are ignored"),[N.checkpointUrl,N.trainingLayer];if(N.version=N.version||l,N.version===1){N.alpha=N.alpha||h,N.alpha=g(N.version,N.alpha),console.log("Loading mobilenet "+N.version+" and alpha "+N.alpha);var k=N.alpha.toFixed(2);return k==="1.00"&&(k="1.0"),["https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_"+k+"_"+e.IMAGE_SIZE+"/model.json",u]}else{if(N.version===2)return N.alpha=N.alpha||d,N.alpha=g(N.version,N.alpha),console.log("Loading mobilenet "+N.version+" and alpha "+N.alpha),["https://storage.googleapis.com/teachable-machine-models/mobilenet_v2_weights_tf_dim_ordering_tf_kernels_"+N.alpha.toFixed(2)+"_"+e.IMAGE_SIZE+"_no_top/model.json",c];throw new Error("MobileNet V"+N.version+" doesn't exist")}},y=function(N){return t(void 0,void 0,void 0,function(){var k,A;return n(this,function(O){switch(O.label){case 0:return typeof N!="string"?[3,3]:[4,fetch(N)];case 1:return A=O.sent(),[4,A.json()];case 2:return k=O.sent(),[3,4];case 3:if(f(N))k=N;else throw new Error("Invalid Metadata provided");O.label=4;case 4:return[2,p(k)]}})})};function b(N,k,A){return A===void 0&&(A=3),t(this,void 0,void 0,function(){var O;return n(this,function(R){switch(R.label){case 0:return[4,k.data()];case 1:return O=R.sent(),[2,r.tidy(function(){A=Math.min(A,O.length);for(var T=[],S=0;S<O.length;S++)T.push({value:O[S],index:S});T.sort(function(z,q){return q.value-z.value});for(var F=new Float32Array(A),M=new Int32Array(A),S=0;S<A;S++)F[S]=T[S].value,M[S]=T[S].index;for(var L=[],S=0;S<M.length;S++)L.push({className:N[M[S]],probability:F[S]});return L})]}})})}e.getTopKClasses=b;var w=(function(){function N(k,A){this.model=k,this._metadata=p(A)}return Object.defineProperty(N,"EXPECTED_IMAGE_SIZE",{get:function(){return e.IMAGE_SIZE},enumerable:!1,configurable:!0}),N.prototype.getMetadata=function(){return this._metadata},N.prototype.getTotalClasses=function(){return this.model.output.shape[1]},N.prototype.getClassLabels=function(){return this._metadata.labels},N.prototype.predictTopK=function(k,A,O){return A===void 0&&(A=10),O===void 0&&(O=!1),t(this,void 0,void 0,function(){var R,T,S,F=this;return n(this,function(M){switch(M.label){case 0:return R=i.cropTo(k,this._metadata.imageSize,O),T=r.tidy(function(){var L=a.capture(R,F._metadata.grayscale);return F.model.predict(L)}),[4,b(this._metadata.labels,T,A)];case 1:return S=M.sent(),s.dispose(T),[2,S]}})})},N.prototype.predict=function(k,A){return A===void 0&&(A=!1),t(this,void 0,void 0,function(){var O,R,T,S,F,M=this;return n(this,function(L){switch(L.label){case 0:return O=i.cropTo(k,this._metadata.imageSize,A),R=r.tidy(function(){var z=a.capture(O,M._metadata.grayscale);return M.model.predict(z)}),[4,R.data()];case 1:for(T=L.sent(),S=[],F=0;F<T.length;F++)S.push({className:this._metadata.labels[F],probability:T[F]});return s.dispose(R),[2,S]}})})},N.prototype.dispose=function(){this.truncatedModel.dispose()},N})();e.CustomMobileNet=w;function x(N){return t(this,void 0,void 0,function(){var k,A,O,R,T,S,F,T,S,F;return n(this,function(M){switch(M.label){case 0:return k=v(N),A=k[0],O=k[1],[4,r.loadLayersModel(A)];case 1:return R=M.sent(),N&&N.version===1?(T=R.getLayer(O),S=r.model({inputs:R.inputs,outputs:T.output}),F=r.sequential(),F.add(S),F.add(r.layers.flatten()),[2,F]):(T=R.getLayer(O),S=r.model({inputs:R.inputs,outputs:T.output}),F=r.sequential(),F.add(S),F.add(r.layers.globalAveragePooling2d({})),[2,F])}})})}e.loadTruncatedMobileNet=x;function _(N,k){return t(this,void 0,void 0,function(){var A,O,R;return n(this,function(T){switch(T.label){case 0:return[4,r.loadLayersModel(N)];case 1:return A=T.sent(),k?[4,y(k)]:[3,3];case 2:return R=T.sent(),[3,4];case 3:R=null,T.label=4;case 4:return O=R,[2,new w(A,O)]}})})}e.load=_;function $(N,k,A){return t(this,void 0,void 0,function(){var O,R,T,S;return n(this,function(F){switch(F.label){case 0:return[4,r.loadLayersModel(r.io.browserFiles([N,k]))];case 1:return O=F.sent(),[4,new Response(A).json()];case 2:return R=F.sent(),A?[4,y(R)]:[3,4];case 3:return S=F.sent(),[3,5];case 4:S=null,F.label=5;case 5:return T=S,[2,new w(O,T)]}})})}e.loadFromFiles=$})),f_e=Ye(((e,t)=>{(function(n,r,s){function a(u){var c=this,h=l();c.next=function(){var d=2091639*c.s0+c.c*23283064365386963e-26;return c.s0=c.s1,c.s1=c.s2,c.s2=d-(c.c=d|0)},c.c=1,c.s0=h(" "),c.s1=h(" "),c.s2=h(" "),c.s0-=h(u),c.s0<0&&(c.s0+=1),c.s1-=h(u),c.s1<0&&(c.s1+=1),c.s2-=h(u),c.s2<0&&(c.s2+=1),h=null}function i(u,c){return c.c=u.c,c.s0=u.s0,c.s1=u.s1,c.s2=u.s2,c}function o(u,c){var h=new a(u),d=c&&c.state,p=h.next;return p.int32=function(){return h.next()*4294967296|0},p.double=function(){return p()+(p()*2097152|0)*11102230246251565e-32},p.quick=p,d&&(typeof d=="object"&&i(d,h),p.state=function(){return i(h,{})}),p}function l(){var u=4022871197,c=function(h){h=h.toString();for(var d=0;d<h.length;d++){u+=h.charCodeAt(d);var p=.02519603282416938*u;u=p>>>0,p-=u,p*=u,u=p>>>0,p-=u,u+=p*4294967296}return(u>>>0)*23283064365386963e-26};return c}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.alea=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),m_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this,c="";u.x=0,u.y=0,u.z=0,u.w=0,u.next=function(){var d=u.x^u.x<<11;return u.x=u.y,u.y=u.z,u.z=u.w,u.w^=u.w>>>19^d^d>>>8},l===(l|0)?u.x=l:c+=l;for(var h=0;h<c.length+64;h++)u.x^=c.charCodeAt(h)|0,u.next()}function i(l,u){return u.x=l.x,u.y=l.y,u.z=l.z,u.w=l.w,u}function o(l,u){var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(typeof h=="object"&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.xor128=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),g_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this,c="";u.next=function(){var d=u.x^u.x>>>2;return u.x=u.y,u.y=u.z,u.z=u.w,u.w=u.v,(u.d=u.d+362437|0)+(u.v=u.v^u.v<<4^(d^d<<1))|0},u.x=0,u.y=0,u.z=0,u.w=0,u.v=0,l===(l|0)?u.x=l:c+=l;for(var h=0;h<c.length+64;h++)u.x^=c.charCodeAt(h)|0,h==c.length&&(u.d=u.x<<10^u.x>>>4),u.next()}function i(l,u){return u.x=l.x,u.y=l.y,u.z=l.z,u.w=l.w,u.v=l.v,u.d=l.d,u}function o(l,u){var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(typeof h=="object"&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.xorwow=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),v_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this;u.next=function(){var h=u.x,d=u.i,p=h[d],f;return p^=p>>>7,f=p^p<<24,p=h[d+1&7],f^=p^p>>>10,p=h[d+3&7],f^=p^p>>>3,p=h[d+4&7],f^=p^p<<7,p=h[d+7&7],p=p^p<<13,f^=p^p<<9,h[d]=f,u.i=d+1&7,f};function c(h,d){var p,f=[];if(d===(d|0))f[0]=d;else for(d=""+d,p=0;p<d.length;++p)f[p&7]=f[p&7]<<15^d.charCodeAt(p)+f[p+1&7]<<13;for(;f.length<8;)f.push(0);for(p=0;p<8&&f[p]===0;++p);for(p==8?f[7]=-1:f[p],h.x=f,h.i=0,p=256;p>0;--p)h.next()}c(u,l)}function i(l,u){return u.x=l.x.slice(),u.i=l.i,u}function o(l,u){l==null&&(l=+new Date);var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(h.x&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.xorshift7=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),y_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this;u.next=function(){var h=u.w,d=u.X,p=u.i,f,g;return u.w=h=h+1640531527|0,g=d[p+34&127],f=d[p=p+1&127],g^=g<<13,f^=f<<17,g^=g>>>15,f^=f>>>12,g=d[p]=g^f,u.i=p,g+(h^h>>>16)|0};function c(h,d){var p,f,g,v,y,b=[],w=128;for(d===(d|0)?(f=d,d=null):(d=d+"\0",f=0,w=Math.max(w,d.length)),g=0,v=-32;v<w;++v)d&&(f^=d.charCodeAt((v+32)%d.length)),v===0&&(y=f),f^=f<<10,f^=f>>>15,f^=f<<4,f^=f>>>13,v>=0&&(y=y+1640531527|0,p=b[v&127]^=f+y,g=p==0?g+1:0);for(g>=128&&(b[(d&&d.length||0)&127]=-1),g=127,v=512;v>0;--v)f=b[g+34&127],p=b[g=g+1&127],f^=f<<13,p^=p<<17,f^=f>>>15,p^=p>>>12,b[g]=f^p;h.w=y,h.X=b,h.i=g}c(u,l)}function i(l,u){return u.i=l.i,u.w=l.w,u.X=l.X.slice(),u}function o(l,u){l==null&&(l=+new Date);var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(h.X&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.xor4096=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),b_e=Ye(((e,t)=>{(function(n,r,s){function a(l){var u=this,c="";u.next=function(){var d=u.b,p=u.c,f=u.d,g=u.a;return d=d<<25^d>>>7^p,p=p-f|0,f=f<<24^f>>>8^g,g=g-d|0,u.b=d=d<<20^d>>>12^p,u.c=p=p-f|0,u.d=f<<16^p>>>16^g,u.a=g-d|0},u.a=0,u.b=0,u.c=-1640531527,u.d=1367130551,l===Math.floor(l)?(u.a=l/4294967296|0,u.b=l|0):c+=l;for(var h=0;h<c.length+20;h++)u.b^=c.charCodeAt(h)|0,u.next()}function i(l,u){return u.a=l.a,u.b=l.b,u.c=l.c,u.d=l.d,u}function o(l,u){var c=new a(l),h=u&&u.state,d=function(){return(c.next()>>>0)/4294967296};return d.double=function(){do var p=((c.next()>>>11)+(c.next()>>>0)/4294967296)/(1<<21);while(p===0);return p},d.int32=c.next,d.quick=d,h&&(typeof h=="object"&&i(h,c),d.state=function(){return i(c,{})}),d}r&&r.exports?r.exports=o:s&&s.amd?s(function(){return o}):this.tychei=o})(e,typeof t=="object"&&t,typeof define=="function"&&define)})),x_e=Ye(((e,t)=>{(function(n,r){var s=this,a=256,i=6,o=52,l="random",u=r.pow(a,i),c=r.pow(2,o),h=c*2,d=a-1,p;function f(_,$,N){var k=[];$=$==!0?{entropy:!0}:$||{};var A=b(y($.entropy?[_,x(n)]:_??w(),3),k),O=new g(k),R=function(){for(var T=O.g(i),S=u,F=0;T<c;)T=(T+F)*a,S*=a,F=O.g(1);for(;T>=h;)T/=2,S/=2,F>>>=1;return(T+F)/S};return R.int32=function(){return O.g(4)|0},R.quick=function(){return O.g(4)/4294967296},R.double=R,b(x(O.S),n),($.pass||N||function(T,S,F,M){return M&&(M.S&&v(M,O),T.state=function(){return v(O,{})}),F?(r[l]=T,S):T})(R,A,"global"in $?$.global:this==r,$.state)}r["seed"+l]=f;function g(_){var $,N=_.length,k=this,A=0,O=k.i=k.j=0,R=k.S=[];for(N||(_=[N++]);A<a;)R[A]=A++;for(A=0;A<a;A++)R[A]=R[O=d&O+_[A%N]+($=R[A])],R[O]=$;(k.g=function(T){for(var S,F=0,M=k.i,L=k.j,z=k.S;T--;)S=z[M=d&M+1],F=F*a+z[d&(z[M]=z[L=d&L+S])+(z[L]=S)];return k.i=M,k.j=L,F})(a)}function v(_,$){return $.i=_.i,$.j=_.j,$.S=_.S.slice(),$}function y(_,$){var N=[],k=typeof _,A;if($&&k=="object")for(A in _)try{N.push(y(_[A],$-1))}catch{}return N.length?N:k=="string"?_:_+"\0"}function b(_,$){for(var N=_+"",k,A=0;A<N.length;)$[d&A]=d&(k^=$[d&A]*19)+N.charCodeAt(A++);return x($)}function w(){try{var _;return p&&(_=p.randomBytes)?_=_(a):(_=new Uint8Array(a),(s.crypto||s.msCrypto).getRandomValues(_)),x(_)}catch{var $=s.navigator,N=$&&$.plugins;return[+new Date,s,N,s.screen,x(n)]}}function x(_){return String.fromCharCode.apply(0,_)}if(b(r.random(),n),typeof t=="object"&&t.exports){t.exports=f;try{p=Bl()}catch{}}else typeof define=="function"&&define.amd&&define(function(){return f})})([],Math)})),w_e=Ye(((e,t)=>{var n=f_e(),r=m_e(),s=g_e(),a=v_e(),i=y_e(),o=b_e(),l=x_e();l.alea=n,l.xor128=r,l.xorwow=s,l.xorshift7=a,l.xor4096=i,l.tychei=o,t.exports=l})),__e=Ye((e=>{var t=e&&e.__extends||(function(){var g=function(v,y){return g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,w){b.__proto__=w}||function(b,w){for(var x in w)w.hasOwnProperty(x)&&(b[x]=w[x])},g(v,y)};return function(v,y){g(v,y);function b(){this.constructor=v}v.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}})(),n=e&&e.__awaiter||function(g,v,y,b){function w(x){return x instanceof y?x:new y(function(_){_(x)})}return new(y||(y=Promise))(function(x,_){function $(A){try{k(b.next(A))}catch(O){_(O)}}function N(A){try{k(b.throw(A))}catch(O){_(O)}}function k(A){A.done?x(A.value):w(A.value).then($,N)}k((b=b.apply(g,v||[])).next())})},r=e&&e.__generator||function(g,v){var y={label:0,sent:function(){if(x[0]&1)throw x[1];return x[1]},trys:[],ops:[]},b,w,x,_={next:$(0),throw:$(1),return:$(2)};return typeof Symbol=="function"&&(_[Symbol.iterator]=function(){return this}),_;function $(k){return function(A){return N([k,A])}}function N(k){if(b)throw new TypeError("Generator is already executing.");for(;y;)try{if(b=1,w&&(x=k[0]&2?w.return:k[0]?w.throw||((x=w.return)&&x.call(w),0):w.next)&&!(x=x.call(w,k[1])).done)return x;switch(w=0,x&&(k=[k[0]&2,x.value]),k[0]){case 0:case 1:x=k;break;case 4:return y.label++,{value:k[1],done:!1};case 5:y.label++,w=k[1],k=[0];continue;case 7:k=y.ops.pop(),y.trys.pop();continue;default:if(x=y.trys,!(x=x.length>0&&x[x.length-1])&&(k[0]===6||k[0]===2)){y=0;continue}if(k[0]===3&&(!x||k[1]>x[0]&&k[1]<x[3])){y.label=k[1];break}if(k[0]===6&&y.label<x[1]){y.label=x[1],x=k;break}if(x&&y.label<x[2]){y.label=x[2],y.ops.push(k);break}x[2]&&y.ops.pop(),y.trys.pop();continue}k=v.call(g,y)}catch(A){k=[6,A],w=0}finally{b=x=0}if(k[0]&5)throw k[1];return{value:k[0]?k[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0}),e.createTeachable=e.TeachableMobileNet=void 0;var s=(ka(),or(gs)),a=(ka(),or(gs)),i=tK(),o=sK(),l=w_e(),u=.15,c=function(g){return typeof g.dataId=="object"&&typeof g.shape=="object"};function h(g,v){var y=new Array(v).fill(0);return y[g]=1,y}function d(g,v){for(var y,b=g.length,w=g.slice(),x=b-1;x>0;x-=1){var _=void 0;v?_=Math.floor(v()*(x+1)):_=Math.floor(Math.random()*(x+1)),y=[w[_],w[x]],w[x]=y[0],w[_]=y[1]}return w}var p=(function(g){t(v,g);function v(y,b){var w=g.call(this,s.sequential(),b)||this;return w.totalSamples=0,w.examples=[],w.truncatedModel=y,w}return Object.defineProperty(v.prototype,"asSequentialModel",{get:function(){return this.model},enumerable:!1,configurable:!0}),Object.defineProperty(v.prototype,"isTrained",{get:function(){return!!this.model&&this.model.layers&&this.model.layers.length>2},enumerable:!1,configurable:!0}),Object.defineProperty(v.prototype,"isPrepared",{get:function(){return!!this.trainDataset},enumerable:!1,configurable:!0}),Object.defineProperty(v.prototype,"numClasses",{get:function(){return this._metadata.labels.length},enumerable:!1,configurable:!0}),v.prototype.addExample=function(y,b){return n(this,void 0,void 0,function(){var w,x,_;return r(this,function($){return w=c(b)?b:i.capture(b,this._metadata.grayscale),x=this.truncatedModel.predict(w),_=x.dataSync(),w.dispose(),x.dispose(),this.examples[y].push(_),this.totalSamples++,[2]})})},v.prototype.predict=function(y,b){return b===void 0&&(b=!1),n(this,void 0,void 0,function(){return r(this,function(w){if(!this.model)throw new Error("Model has not been trained yet, called train() first");return[2,g.prototype.predict.call(this,y,b)]})})},v.prototype.predictTopK=function(y,b,w){return b===void 0&&(b=10),w===void 0&&(w=!1),n(this,void 0,void 0,function(){return r(this,function(x){if(!this.model)throw new Error("Model has not been trained yet, called train() first");return[2,g.prototype.predictTopK.call(this,y,b,w)]})})},v.prototype.prepare=function(){for(var y in this.examples)if(y.length===0)throw new Error("Add some examples before training");var b=this.convertToTfDataset();this.trainDataset=b.trainDataset,this.validationDataset=b.validationDataset},v.prototype.convertToTfDataset=function(){for(var y=0;y<this.examples.length;y++)this.examples[y]=d(this.examples[y],this.seed);for(var b=[],w=[],x=function(O){var R=h(O,_.numClasses),T=_.examples[O].length,S=T-Math.ceil(u*T),F=_.examples[O].slice(0,S).map(function(L){return{data:L,label:R}}),M=_.examples[O].slice(S).map(function(L){return{data:L,label:R}});b=b.concat(F),w=w.concat(M)},_=this,y=0;y<this.examples.length;y++)x(y);b=d(b,this.seed),w=d(w,this.seed);var $=s.data.array(b.map(function(O){return O.data})),N=s.data.array(w.map(function(O){return O.data})),k=s.data.array(b.map(function(O){return O.label})),A=s.data.array(w.map(function(O){return O.label}));return{trainDataset:s.data.zip({xs:$,ys:k}),validationDataset:s.data.zip({xs:N,ys:A})}},v.prototype.save=function(y,b){return n(this,void 0,void 0,function(){return r(this,function(w){return[2,this.model.save(y,b)]})})},v.prototype.train=function(y,b){return b===void 0&&(b={}),n(this,void 0,void 0,function(){var w,x,_,$,N,k,A,O,R,T=this;return r(this,function(S){switch(S.label){case 0:if(w=b.onTrainEnd||(function(){}),b.onTrainEnd=function(F){T.__stopTrainingResolve&&(T.__stopTrainingResolve(),T.__stopTrainingResolve=null),w(F)},this.isPrepared||this.prepare(),x=this.getLabels().length,a.util.assert(x===this.numClasses,function(){return"Can not train, has "+x+" labels and "+T.numClasses+" classes"}),_=this.truncatedModel.outputs[0].shape.slice(1),$=s.util.sizeFromShape(_),this.seed?N=s.initializers.varianceScaling({seed:3.14}):N=s.initializers.varianceScaling({}),this.trainingModel=s.sequential({layers:[s.layers.dense({inputShape:[$],units:y.denseUnits,activation:"relu",kernelInitializer:N,useBias:!0}),s.layers.dense({kernelInitializer:N,useBias:!1,activation:"softmax",units:this.numClasses})]}),k=s.train.adam(y.learningRate),this.trainingModel.compile({optimizer:k,loss:"categoricalCrossentropy",metrics:["accuracy"]}),!(y.batchSize>0))throw new Error("Batch size is 0 or NaN. Please choose a non-zero fraction");return A=this.trainDataset.batch(y.batchSize),O=this.validationDataset.batch(y.batchSize),[4,this.trainingModel.fitDataset(A,{epochs:y.epochs,validationData:O,callbacks:b})];case 1:return S.sent(),R=s.sequential(),R.add(this.truncatedModel),R.add(this.trainingModel),this.model=R,k.dispose(),[2,this.model]}})})},v.prototype.prepareDataset=function(){for(var y=0;y<this.numClasses;y++)this.examples[y]=[]},v.prototype.setLabel=function(y,b){this._metadata.labels[y]=b},v.prototype.setLabels=function(y){this._metadata.labels=y,this.prepareDataset()},v.prototype.getLabel=function(y){return this._metadata.labels[y]},v.prototype.getLabels=function(){return this._metadata.labels},v.prototype.setName=function(y){this._metadata.modelName=y},v.prototype.getName=function(){return this._metadata.modelName},v.prototype.stopTraining=function(){var y=this;return new Promise(function(b,w){y.trainingModel.stopTraining=!0,y.__stopTrainingResolve=b})},v.prototype.dispose=function(){this.trainingModel.dispose(),g.prototype.dispose.call(this)},v.prototype.calculateAccuracyPerClass=function(){return n(this,void 0,void 0,function(){var y,b,w,x,_,$,N,k,A,O,q,R,T,S,F,M,L,z,q,J=this;return r(this,function(re){switch(re.label){case 0:return y=this.validationDataset.mapAsync(function(Y){return n(J,void 0,void 0,function(){return r(this,function(ae){return[2,Y.xs]})})}),b=this.validationDataset.mapAsync(function(Y){return n(J,void 0,void 0,function(){return r(this,function(ae){return[2,Y.ys]})})}),w=Math.min(b.size,32),x=Math.ceil(b.size/w),_=y.batch(w),$=b.batch(w),[4,_.iterator()];case 1:return N=re.sent(),[4,$.iterator()];case 2:k=re.sent(),A=[],O=[],q=0,re.label=3;case 3:return q<x?[4,N.next()]:[3,7];case 4:return R=re.sent(),T=this.trainingModel.predict(R.value),S=T.argMax(1),A.push(S),[4,k.next()];case 5:F=re.sent(),M=F.value.argMax(1),O.push(M),R.value.dispose(),T.dispose(),F.value.dispose(),re.label=6;case 6:return q++,[3,3];case 7:if(L=s.concat(O),z=s.concat(A),x!==1)for(q=0;q<A.length;q++)A[q].dispose(),O[q].dispose();return[2,{reference:L,predictions:z}]}})})},v.prototype.setSeed=function(y){this.seed=l(y)},v})(o.CustomMobileNet);e.TeachableMobileNet=p;function f(g,v){return n(this,void 0,void 0,function(){var y;return r(this,function(b){switch(b.label){case 0:return[4,o.loadTruncatedMobileNet(v)];case 1:return y=b.sent(),[2,new p(y,g)]}})})}e.createTeachable=f})),aK=Te({boundClass:()=>iK,boundMethod:()=>EN,default:()=>S_e});function mx(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?mx=function(n){return typeof n}:mx=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},mx(e)}function EN(e,t,n){var r=n.value;if(typeof r!="function")throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(mx(r)));var s=!1;return{configurable:!0,get:function(){if(s||this===e.prototype||this.hasOwnProperty(t)||typeof r!="function")return r;var i=r.bind(this);return s=!0,Object.defineProperty(this,t,{configurable:!0,get:function(){return i},set:function(l){r=l,delete this[t]}}),s=!1,i},set:function(i){r=i}}}function iK(e){var t;return typeof Reflect<"u"&&typeof Reflect.ownKeys=="function"?t=Reflect.ownKeys(e.prototype):(t=Object.getOwnPropertyNames(e.prototype),typeof Object.getOwnPropertySymbols=="function"&&(t=t.concat(Object.getOwnPropertySymbols(e.prototype)))),t.forEach(function(n){if(n!=="constructor"){var r=Object.getOwnPropertyDescriptor(e.prototype,n);typeof r.value=="function"&&Object.defineProperty(e.prototype,n,EN(e,n,r))}}),e}function S_e(){return arguments.length===1?iK.apply(void 0,arguments):EN.apply(void 0,arguments)}var oK=m((()=>{})),I_e=Ye((e=>{var t=e&&e.__decorate||function(u,c,h,d){var p=arguments.length,f=p<3?c:d===null?d=Object.getOwnPropertyDescriptor(c,h):d,g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")f=Reflect.decorate(u,c,h,d);else for(var v=u.length-1;v>=0;v--)(g=u[v])&&(f=(p<3?g(f):p>3?g(c,h,f):g(c,h))||f);return p>3&&f&&Object.defineProperty(c,h,f),f},n=e&&e.__awaiter||function(u,c,h,d){function p(f){return f instanceof h?f:new h(function(g){g(f)})}return new(h||(h=Promise))(function(f,g){function v(w){try{b(d.next(w))}catch(x){g(x)}}function y(w){try{b(d.throw(w))}catch(x){g(x)}}function b(w){w.done?f(w.value):p(w.value).then(v,y)}b((d=d.apply(u,c||[])).next())})},r=e&&e.__generator||function(u,c){var h={label:0,sent:function(){if(f[0]&1)throw f[1];return f[1]},trys:[],ops:[]},d,p,f,g={next:v(0),throw:v(1),return:v(2)};return typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function v(b){return function(w){return y([b,w])}}function y(b){if(d)throw new TypeError("Generator is already executing.");for(;h;)try{if(d=1,p&&(f=b[0]&2?p.return:b[0]?p.throw||((f=p.return)&&f.call(p),0):p.next)&&!(f=f.call(p,b[1])).done)return f;switch(p=0,f&&(b=[b[0]&2,f.value]),b[0]){case 0:case 1:f=b;break;case 4:return h.label++,{value:b[1],done:!1};case 5:h.label++,p=b[1],b=[0];continue;case 7:b=h.ops.pop(),h.trys.pop();continue;default:if(f=h.trys,!(f=f.length>0&&f[f.length-1])&&(b[0]===6||b[0]===2)){h=0;continue}if(b[0]===3&&(!f||b[1]>f[0]&&b[1]<f[3])){h.label=b[1];break}if(b[0]===6&&h.label<f[1]){h.label=f[1],f=b;break}if(f&&h.label<f[2]){h.label=f[2],h.ops.push(b);break}f[2]&&h.ops.pop(),h.trys.pop();continue}b=c.call(u,h)}catch(w){b=[6,w],p=0}finally{d=f=0}if(b[0]&5)throw b[1];return{value:b[0]?b[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0}),e.Webcam=void 0;var s=(oK(),or(aK)),a=nK(),i={facingMode:"user",frameRate:24},o=function(u){return u.facingMode=u.facingMode||i.facingMode,u.frameRate=u.frameRate||i.frameRate,u.aspectRatio=u.aspectRatio||i.aspectRatio,u},l=(function(){function u(c,h,d){c===void 0&&(c=400),h===void 0&&(h=400),d===void 0&&(d=!1),this.width=c,this.height=h,this.flip=d}return u.prototype.getWebcam=function(c){if(c===void 0&&(c={}),!window.navigator.mediaDevices||!window.navigator.mediaDevices.getUserMedia)return Promise.reject("Your browser does not support WebRTC. Please try another one.");c.width=640;var h=o(c),d=document.createElement("video");return window.navigator.mediaDevices.getUserMedia({video:h}).then(function(p){return d.srcObject=p,d.addEventListener("loadedmetadata",function(f){var g=d.videoWidth,v=d.videoHeight;d.width=g,d.height=v}),d},function(){return Promise.reject("Could not open your camera. You may have denied access.")})},u.prototype.setup=function(c){return c===void 0&&(c={}),n(this,void 0,void 0,function(){var h;return r(this,function(d){switch(d.label){case 0:return this.webcam?[3,2]:(h=this,[4,this.getWebcam(c)]);case 1:h.webcam=d.sent(),this.canvas||(this.canvas=document.createElement("canvas"),this.canvas.width=this.width,this.canvas.height=this.height),d.label=2;case 2:return[2]}})})},u.prototype.play=function(){return this.webcam.play()},u.prototype.pause=function(){this.webcam.pause()},u.prototype.stop=function(){this.stopStreamedVideo(this.webcam)},u.prototype.update=function(){this.renderCameraToCanvas()},u.prototype.stopStreamedVideo=function(c){c.srcObject.getTracks().forEach(function(h){h.stop()}),c.srcObject=null},u.prototype.renderCameraToCanvas=function(){if(this.canvas&&this.webcam){var c=this.canvas.getContext("2d");if(this.webcam.videoWidth!==0){var h=a.cropTo(this.webcam,this.width,this.flip);c.drawImage(h,0,0)}}},t([s.default],u.prototype,"getWebcam",null),t([s.default],u.prototype,"setup",null),t([s.default],u.prototype,"play",null),t([s.default],u.prototype,"pause",null),t([s.default],u.prototype,"stop",null),t([s.default],u.prototype,"update",null),t([s.default],u.prototype,"stopStreamedVideo",null),t([s.default],u.prototype,"renderCameraToCanvas",null),u})();e.Webcam=l})),N_e=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=sK();Object.defineProperty(e,"IMAGE_SIZE",{enumerable:!0,get:function(){return t.IMAGE_SIZE}}),Object.defineProperty(e,"CustomMobileNet",{enumerable:!0,get:function(){return t.CustomMobileNet}}),Object.defineProperty(e,"load",{enumerable:!0,get:function(){return t.load}}),Object.defineProperty(e,"loadFromFiles",{enumerable:!0,get:function(){return t.loadFromFiles}}),Object.defineProperty(e,"loadTruncatedMobileNet",{enumerable:!0,get:function(){return t.loadTruncatedMobileNet}});var n=__e();Object.defineProperty(e,"TeachableMobileNet",{enumerable:!0,get:function(){return n.TeachableMobileNet}}),Object.defineProperty(e,"createTeachable",{enumerable:!0,get:function(){return n.createTeachable}});var r=I_e();Object.defineProperty(e,"Webcam",{enumerable:!0,get:function(){return r.Webcam}});var s=rK();Object.defineProperty(e,"version",{enumerable:!0,get:function(){return s.version}})})),C_e=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.partNames=["nose","leftEye","rightEye","leftEar","rightEar","leftShoulder","rightShoulder","leftElbow","rightElbow","leftWrist","rightWrist","leftHip","rightHip","leftKnee","rightKnee","leftAnkle","rightAnkle"],e.NUM_KEYPOINTS=e.partNames.length,e.partIds=e.partNames.reduce(function(n,r,s){return n[r]=s,n},{});var t=[["leftHip","leftShoulder"],["leftElbow","leftShoulder"],["leftElbow","leftWrist"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["rightHip","rightShoulder"],["rightElbow","rightShoulder"],["rightElbow","rightWrist"],["rightHip","rightKnee"],["rightKnee","rightAnkle"],["leftShoulder","rightShoulder"],["leftHip","rightHip"]];e.poseChain=[["nose","leftEye"],["leftEye","leftEar"],["nose","rightEye"],["rightEye","rightEar"],["nose","leftShoulder"],["leftShoulder","leftElbow"],["leftElbow","leftWrist"],["leftShoulder","leftHip"],["leftHip","leftKnee"],["leftKnee","leftAnkle"],["nose","rightShoulder"],["rightShoulder","rightElbow"],["rightElbow","rightWrist"],["rightShoulder","rightHip"],["rightHip","rightKnee"],["rightKnee","rightAnkle"]],e.connectedPartIndices=t.map(function(n){var r=n[0],s=n[1];return[e.partIds[r],e.partIds[s]]}),e.partChannels=["left_face","right_face","right_upper_leg_front","right_lower_leg_back","right_upper_leg_back","left_lower_leg_front","left_upper_leg_front","left_upper_leg_back","left_lower_leg_back","right_feet","right_lower_leg_front","left_feet","torso_front","torso_back","right_upper_arm_front","right_upper_arm_back","right_lower_arm_back","left_lower_arm_front","left_upper_arm_front","left_upper_arm_back","left_lower_arm_back","right_hand","right_lower_arm_front","left_hand"]})),lK=Ye((e=>{var t=e&&e.__awaiter||function(T,S,F,M){return new(F||(F=Promise))(function(L,z){function q(Y){try{re(M.next(Y))}catch(ae){z(ae)}}function J(Y){try{re(M.throw(Y))}catch(ae){z(ae)}}function re(Y){Y.done?L(Y.value):new F(function(ae){ae(Y.value)}).then(q,J)}re((M=M.apply(T,S||[])).next())})},n=e&&e.__generator||function(T,S){var F={label:0,sent:function(){if(z[0]&1)throw z[1];return z[1]},trys:[],ops:[]},M,L,z,q={next:J(0),throw:J(1),return:J(2)};return typeof Symbol=="function"&&(q[Symbol.iterator]=function(){return this}),q;function J(Y){return function(ae){return re([Y,ae])}}function re(Y){if(M)throw new TypeError("Generator is already executing.");for(;F;)try{if(M=1,L&&(z=Y[0]&2?L.return:Y[0]?L.throw||((z=L.return)&&z.call(L),0):L.next)&&!(z=z.call(L,Y[1])).done)return z;switch(L=0,z&&(Y=[Y[0]&2,z.value]),Y[0]){case 0:case 1:z=Y;break;case 4:return F.label++,{value:Y[1],done:!1};case 5:F.label++,L=Y[1],Y=[0];continue;case 7:Y=F.ops.pop(),F.trys.pop();continue;default:if(z=F.trys,!(z=z.length>0&&z[z.length-1])&&(Y[0]===6||Y[0]===2)){F=0;continue}if(Y[0]===3&&(!z||Y[1]>z[0]&&Y[1]<z[3])){F.label=Y[1];break}if(Y[0]===6&&F.label<z[1]){F.label=z[1],z=Y;break}if(z&&F.label<z[2]){F.label=z[2],F.ops.push(Y);break}z[2]&&F.ops.pop(),F.trys.pop();continue}Y=S.call(T,F)}catch(ae){Y=[6,ae],L=0}finally{M=z=0}if(Y[0]&5)throw Y[1];return{value:Y[0]?Y[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0});var r=(C(),or(B1)),s=C_e();function a(T,S,F){return T<F||S<F}function i(T,S){return s.connectedPartIndices.reduce(function(F,M){var L=M[0],z=M[1];return a(T[L].score,T[z].score,S)||F.push([T[L],T[z]]),F},[])}e.getAdjacentKeyPoints=i;var o=Number.NEGATIVE_INFINITY,l=Number.POSITIVE_INFINITY;function u(T){return T.reduce(function(S,F){var M=S.maxX,L=S.maxY,z=S.minX,q=S.minY,J=F.position,re=J.x,Y=J.y;return{maxX:Math.max(M,re),maxY:Math.max(L,Y),minX:Math.min(z,re),minY:Math.min(q,Y)}},{maxX:o,maxY:o,minX:l,minY:l})}e.getBoundingBox=u;function c(T){var S=u(T),F=S.minX,M=S.minY,L=S.maxX,z=S.maxY;return[{x:F,y:M},{x:L,y:M},{x:L,y:z},{x:F,y:z}]}e.getBoundingBoxPoints=c;function h(T){return t(this,void 0,void 0,function(){return n(this,function(S){return[2,Promise.all(T.map(function(F){return F.buffer()}))]})})}e.toTensorBuffers3D=h;function d(T,S,F,M,L){return M===void 0&&(M=0),L===void 0&&(L=0),{score:T.score,keypoints:T.keypoints.map(function(z){var q=z.score,J=z.part,re=z.position;return{score:q,part:J,position:{x:re.x*F+L,y:re.y*S+M}}})}}e.scalePose=d;function p(T,S,F,M,L){return M===void 0&&(M=0),L===void 0&&(L=0),F===1&&S===1&&M===0&&L===0?T:T.map(function(z){return d(z,S,F,M,L)})}e.scalePoses=p;function f(T,S){return{score:T.score,keypoints:T.keypoints.map(function(F){var M=F.score,L=F.part,z=F.position;return{score:M,part:L,position:{x:S-1-z.x,y:z.y}}})}}e.flipPoseHorizontal=f;function g(T,S){return S<=0?T:T.map(function(F){return f(F,S)})}e.flipPosesHorizontal=g;function v(T,S){return _(T,S)?T:Math.floor(T/S)*S+1}e.toValidInputResolution=v;function y(T){r.util.assert(typeof T=="number"||typeof T=="object",function(){return"Invalid inputResolution "+T+". Should be a number or an object with width and height"}),typeof T=="object"&&(r.util.assert(typeof T.width=="number",function(){return"inputResolution.width has a value of "+T.width+" which is invalid; it must be a number"}),r.util.assert(typeof T.height=="number",function(){return"inputResolution.height has a value of "+T.height+" which is invalid; it must be a number"}))}e.validateInputResolution=y;function b(T,S){return y(T),typeof T=="object"?[v(T.height,S),v(T.width,S)]:[v(T,S),v(T,S)]}e.getValidInputResolutionDimensions=b;var w=[8,16,32];function x(T){r.util.assert(typeof T=="number",function(){return"outputStride is not a number"}),r.util.assert(w.indexOf(T)>=0,function(){return"outputStride of "+T+" is invalid. It must be either 8, 16, or 32"})}e.assertValidOutputStride=x;function _(T,S){return(T-1)%S===0}function $(T,S){r.util.assert(typeof T[0]=="number"&&typeof T[1]=="number",function(){return"both resolution values must be a number but had values "+T}),r.util.assert(_(T[0],S),function(){return"height of "+T[0]+" is invalid for output stride "+(S+".")}),r.util.assert(_(T[1],S),function(){return"width of "+T[1]+" is invalid for output stride "+(S+".")})}e.assertValidResolution=$;function N(T){return T instanceof r.Tensor?[T.shape[0],T.shape[1]]:[T.height,T.width]}e.getInputTensorDimensions=N;function k(T){return T instanceof r.Tensor?T:r.browser.fromPixels(T)}e.toInputTensor=k;function A(T,S,F,M){return r.tidy(function(){var L=k(T);return M?r.image.resizeBilinear(r.reverse(L,1),[S,F]):r.image.resizeBilinear(L,[S,F])})}e.toResizedInputTensor=A;function O(T,S){var F=S[0],M=S[1],L=N(T),z=L[0],q=L[1],J=M/F,re=q/z,Y=[0,0,0,0],ae=Y[0],ne=Y[1],oe=Y[2],ce=Y[3];return re<J?(ae=0,ne=0,oe=Math.round(.5*(J*z-q)),ce=Math.round(.5*(J*z-q))):(ae=Math.round(.5*(1/J*q-z)),ne=Math.round(.5*(1/J*q-z)),oe=0,ce=0),{resized:r.tidy(function(){var ve=k(T);return ve=r.pad3d(ve,[[ae,ne],[oe,ce],[0,0]]),r.image.resizeBilinear(ve,[F,M])}),padding:{top:ae,left:oe,right:ce,bottom:ne}}}e.padAndResizeTo=O;function R(T,S,F,M,L){var z=S[0],q=S[1],J=F[0],re=F[1],Y=p(T,(z+M.top+M.bottom)/J,(q+M.left+M.right)/re,-M.top,-M.left);return L?g(Y,q):Y}e.scaleAndFlipPoses=R})),uK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t="0.8.6";e.version=t})),cK=Ye((e=>{var t=e&&e.__awaiter||function(b,w,x,_){function $(N){return N instanceof x?N:new x(function(k){k(N)})}return new(x||(x=Promise))(function(N,k){function A(T){try{R(_.next(T))}catch(S){k(S)}}function O(T){try{R(_.throw(T))}catch(S){k(S)}}function R(T){T.done?N(T.value):$(T.value).then(A,O)}R((_=_.apply(b,w||[])).next())})},n=e&&e.__generator||function(b,w){var x={label:0,sent:function(){if(N[0]&1)throw N[1];return N[1]},trys:[],ops:[]},_,$,N,k={next:A(0),throw:A(1),return:A(2)};return typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function A(R){return function(T){return O([R,T])}}function O(R){if(_)throw new TypeError("Generator is already executing.");for(;x;)try{if(_=1,$&&(N=R[0]&2?$.return:R[0]?$.throw||((N=$.return)&&N.call($),0):$.next)&&!(N=N.call($,R[1])).done)return N;switch($=0,N&&(R=[R[0]&2,N.value]),R[0]){case 0:case 1:N=R;break;case 4:return x.label++,{value:R[1],done:!1};case 5:x.label++,$=R[1],R=[0];continue;case 7:R=x.ops.pop(),x.trys.pop();continue;default:if(N=x.trys,!(N=N.length>0&&N[N.length-1])&&(R[0]===6||R[0]===2)){x=0;continue}if(R[0]===3&&(!N||R[1]>N[0]&&R[1]<N[3])){x.label=R[1];break}if(R[0]===6&&x.label<N[1]){x.label=N[1],N=R;break}if(N&&x.label<N[2]){x.label=N[2],x.ops.push(R);break}N[2]&&x.ops.pop(),x.trys.pop();continue}R=w.call(b,x)}catch(T){R=[6,T],$=0}finally{_=N=0}if(R[0]&5)throw R[1];return{value:R[0]?R[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0});var r=(ka(),or(gs)),s=(_N(),or(y5)),a=lK(),i=uK(),o=(_N(),or(y5)),l=3,u=function(b){return b.packageVersion=b.packageVersion||i.version,b.packageName="@teachablemachine/pose",b.timeStamp=b.timeStamp||new Date().toISOString(),b.userMetadata=b.userMetadata||{},b.modelName=b.modelName||"untitled",b.labels=b.labels||[],b.modelSettings=d(b.modelSettings),b},c=function(b){return!!b&&Array.isArray(b.labels)},h=function(b){return t(void 0,void 0,void 0,function(){var w,x;return n(this,function(_){switch(_.label){case 0:return typeof b!="string"?[3,3]:[4,fetch(b)];case 1:return x=_.sent(),[4,x.json()];case 2:return w=_.sent(),[3,4];case 3:if(c(b))w=b;else throw new Error("Invalid Metadata provided");_.label=4;case 4:return[2,u(w)]}})})},d=function(b){return b===void 0&&(b={}),b.posenet||(b.posenet={}),b.posenet.architecture=b.posenet.architecture||"MobileNetV1",b.posenet.outputStride=b.posenet.outputStride||16,b.posenet.inputResolution=b.posenet.inputResolution||257,b.posenet.multiplier=b.posenet.multiplier||.75,b};function p(b,w,x){return x===void 0&&(x=3),t(this,void 0,void 0,function(){var _;return n(this,function($){switch($.label){case 0:return[4,w.data()];case 1:return _=$.sent(),[2,r.tidy(function(){x=Math.min(x,_.length);for(var N=[],k=0;k<_.length;k++)N.push({value:_[k],index:k});N.sort(function(T,S){return S.value-T.value});for(var A=new Float32Array(x),O=new Int32Array(x),k=0;k<x;k++)A[k]=N[k].value,O[k]=N[k].index;for(var R=[],k=0;k<O.length;k++)R.push({className:b[O[k]],probability:A[k]});return R})]}})})}e.getTopKClasses=p;var f=(function(){function b(w,x,_){this.model=w,this.posenetModel=x,this._metadata=u(_)}return b.prototype.getMetadata=function(){return this._metadata},b.prototype.getClassLabels=function(){return this._metadata.labels},b.prototype.getTotalClasses=function(){return this.model.output.shape[1]},b.prototype.estimatePose=function(w,x){return x===void 0&&(x=!1),t(this,void 0,void 0,function(){var _,$,N,k,A,O,R,T;return n(this,function(S){switch(S.label){case 0:return[4,this.estimatePoseOutputs(w)];case 1:return _=S.sent(),$=_.heatmapScores,N=_.offsets,k=_.displacementFwd,A=_.displacementBwd,O=_.padding,R=this.poseOutputsToAray($,N,k,A),[4,this.poseOutputsToKeypoints(w,$,N,k,A,O,x)];case 2:return T=S.sent(),[2,{pose:T,posenetOutput:R}]}})})},b.prototype.estimatePoseOutputs=function(w){return t(this,void 0,void 0,function(){var x,_,$,N,k,A,O,R,T;return n(this,function(S){switch(S.label){case 0:return x=this.posenetModel.inputResolution,_=a.padAndResizeTo(w,x),$=_.resized,N=_.padding,[4,this.posenetModel.baseModel.predict($)];case 1:return k=S.sent(),A=k.heatmapScores,O=k.offsets,R=k.displacementFwd,T=k.displacementBwd,$.dispose(),[2,{heatmapScores:A,offsets:O,displacementFwd:R,displacementBwd:T,padding:N}]}})})},b.prototype.poseOutputsToAray=function(w,x,_,$){var N=r.concat([w,x],2),k=N.dataSync();return N.dispose(),k},b.prototype.poseOutputsToKeypoints=function(w,x,_,$,N,k,A){return A===void 0&&(A=!1),t(this,void 0,void 0,function(){var O,R,T,S,F,M,L,z,q,J,re,Y,ae;return n(this,function(ne){switch(ne.label){case 0:return O={maxDetections:l,scoreThreshold:.5,nmsRadius:20},R=a.getInputTensorDimensions(w),T=R[0],S=R[1],F=this.posenetModel.baseModel.outputStride,M=this.posenetModel.inputResolution,[4,a.toTensorBuffers3D([x,_,$,N])];case 1:return L=ne.sent(),z=L[0],q=L[1],J=L[2],re=L[3],[4,o.decodeMultiplePoses(z,q,J,re,F,O.maxDetections,O.scoreThreshold,O.nmsRadius)];case 2:return Y=ne.sent(),ae=a.scaleAndFlipPoses(Y,[T,S],M,k,A),x.dispose(),_.dispose(),$.dispose(),N.dispose(),[2,ae[0]]}})})},b.prototype.predict=function(w){return t(this,void 0,void 0,function(){var x,_,$,N,k;return n(this,function(A){switch(A.label){case 0:return x=r.tensor([w]),_=this.model.predict(x),[4,_.data()];case 1:for($=A.sent(),N=[],k=0;k<$.length;k++)N.push({className:this._metadata.labels[k],probability:$[k]});return x.dispose(),_.dispose(),[2,N]}})})},b.prototype.predictTopK=function(w,x){return x===void 0&&(x=l),t(this,void 0,void 0,function(){var _,$,N;return n(this,function(k){switch(k.label){case 0:return _=r.tensor([w]),$=this.model.predict(_),[4,p(this._metadata.labels,$,x)];case 1:return N=k.sent(),_.dispose(),$.dispose(),[2,N]}})})},b.prototype.dispose=function(){this.posenetModel.dispose()},b})();e.CustomPoseNet=f;function g(b){return b===void 0&&(b={}),t(this,void 0,void 0,function(){var w;return n(this,function(x){switch(x.label){case 0:return b=d(b),[4,s.load({architecture:b.posenet.architecture,outputStride:b.posenet.outputStride,inputResolution:b.posenet.inputResolution,multiplier:b.posenet.multiplier})];case 1:return w=x.sent(),[2,w]}})})}e.loadPoseNet=g;function v(b,w){return t(this,void 0,void 0,function(){var x,_,$,N;return n(this,function(k){switch(k.label){case 0:return[4,r.loadLayersModel(b)];case 1:return x=k.sent(),w?[4,h(w)]:[3,3];case 2:return $=k.sent(),[3,4];case 3:$=null,k.label=4;case 4:return _=$,[4,g(_.modelSettings)];case 5:return N=k.sent(),[2,new f(x,N,_)]}})})}e.load=v;function y(b,w,x){return t(this,void 0,void 0,function(){var _,$,N,k,A;return n(this,function(O){switch(O.label){case 0:return[4,r.loadLayersModel(r.io.browserFiles([b,w]))];case 1:return _=O.sent(),[4,new Response(x).json()];case 2:return $=O.sent(),x?[4,h($)]:[3,4];case 3:return k=O.sent(),[3,5];case 4:k=null,O.label=5;case 5:return N=k,[4,g(N.modelSettings)];case 6:return A=O.sent(),[2,new f(_,A,N)]}})})}e.loadFromFiles=y})),$_e=Ye((e=>{var t=e&&e.__extends||(function(){var p=function(f,g){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,y){v.__proto__=y}||function(v,y){for(var b in y)y.hasOwnProperty(b)&&(v[b]=y[b])},p(f,g)};return function(f,g){p(f,g);function v(){this.constructor=f}f.prototype=g===null?Object.create(g):(v.prototype=g.prototype,new v)}})(),n=e&&e.__awaiter||function(p,f,g,v){function y(b){return b instanceof g?b:new g(function(w){w(b)})}return new(g||(g=Promise))(function(b,w){function x(N){try{$(v.next(N))}catch(k){w(k)}}function _(N){try{$(v.throw(N))}catch(k){w(k)}}function $(N){N.done?b(N.value):y(N.value).then(x,_)}$((v=v.apply(p,f||[])).next())})},r=e&&e.__generator||function(p,f){var g={label:0,sent:function(){if(b[0]&1)throw b[1];return b[1]},trys:[],ops:[]},v,y,b,w={next:x(0),throw:x(1),return:x(2)};return typeof Symbol=="function"&&(w[Symbol.iterator]=function(){return this}),w;function x($){return function(N){return _([$,N])}}function _($){if(v)throw new TypeError("Generator is already executing.");for(;g;)try{if(v=1,y&&(b=$[0]&2?y.return:$[0]?y.throw||((b=y.return)&&b.call(y),0):y.next)&&!(b=b.call(y,$[1])).done)return b;switch(y=0,b&&($=[$[0]&2,b.value]),$[0]){case 0:case 1:b=$;break;case 4:return g.label++,{value:$[1],done:!1};case 5:g.label++,y=$[1],$=[0];continue;case 7:$=g.ops.pop(),g.trys.pop();continue;default:if(b=g.trys,!(b=b.length>0&&b[b.length-1])&&($[0]===6||$[0]===2)){g=0;continue}if($[0]===3&&(!b||$[1]>b[0]&&$[1]<b[3])){g.label=$[1];break}if($[0]===6&&g.label<b[1]){g.label=b[1],b=$;break}if(b&&g.label<b[2]){g.label=b[2],g.ops.push($);break}b[2]&&g.ops.pop(),g.trys.pop();continue}$=f.call(p,g)}catch(N){$=[6,N],y=0}finally{v=b=0}if($[0]&5)throw $[1];return{value:$[0]?$[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0});var s=(ka(),or(gs)),a=(ka(),or(gs)),i=cK(),o=kp(),l=.15;function u(p,f){var g=new Array(f).fill(0);return g[p]=1,g}function c(p,f){for(var g,v=p.length,y=p.slice(),b=v-1;b>0;b-=1){var w=void 0;f?w=Math.floor(f()*(b+1)):w=Math.floor(Math.random()*(b+1)),g=[y[w],y[b]],y[b]=g[0],y[w]=g[1]}return y}var h=(function(p){t(f,p);function f(g,v,y){var b=p.call(this,g,v,y)||this;return b.model=g,b.posenetModel=v,b.examples=[],b}return Object.defineProperty(f.prototype,"isTrained",{get:function(){return!!this.model&&this.model.layers&&this.model.layers.length>2},enumerable:!0,configurable:!0}),Object.defineProperty(f.prototype,"isPrepared",{get:function(){return!!this.trainDataset},enumerable:!0,configurable:!0}),Object.defineProperty(f.prototype,"numClasses",{get:function(){return this._metadata.labels.length},enumerable:!0,configurable:!0}),f.prototype.addExample=function(g,v){return n(this,void 0,void 0,function(){return r(this,function(y){return this.examples[g].push(v),[2]})})},f.prototype.predict=function(g){return n(this,void 0,void 0,function(){return r(this,function(v){if(!this.model)throw new Error("Model has not been trained yet, called train() first");return[2,p.prototype.predict.call(this,g)]})})},f.prototype.predictTopK=function(g,v){return v===void 0&&(v=3),n(this,void 0,void 0,function(){return r(this,function(y){if(!this.model)throw new Error("Model has not been trained yet, called train() first");return[2,p.prototype.predictTopK.call(this,g,v)]})})},f.prototype.prepare=function(){for(var g in this.examples)if(g.length===0)throw new Error("Add some examples before training");var v=this.convertToTfDataset();this.trainDataset=v.trainDataset,this.validationDataset=v.validationDataset},f.prototype.convertToTfDataset=function(){for(var g=0;g<this.examples.length;g++)this.examples[g]=c(this.examples[g],this.seed);for(var v=[],y=[],b=function(k){var A=u(k,w.numClasses),O=w.examples[k].length,R=O-Math.ceil(l*O),T=w.examples[k].slice(0,R).map(function(F){return{data:F,label:A}}),S=w.examples[k].slice(R).map(function(F){return{data:F,label:A}});v=v.concat(T),y=y.concat(S)},w=this,g=0;g<this.examples.length;g++)b(g);v=c(v,this.seed),y=c(y,this.seed);var x=s.data.array(v.map(function(k){return k.data})),_=s.data.array(y.map(function(k){return k.data})),$=s.data.array(v.map(function(k){return k.label})),N=s.data.array(y.map(function(k){return k.label}));return{trainDataset:s.data.zip({xs:x,ys:$}),validationDataset:s.data.zip({xs:_,ys:N})}},f.prototype.save=function(g,v){return n(this,void 0,void 0,function(){return r(this,function(y){return[2,this.model.save(g,v)]})})},f.prototype.train=function(g,v){return v===void 0&&(v={}),n(this,void 0,void 0,function(){var y,b,w,x,_,$,N,k=this;return r(this,function(A){switch(A.label){case 0:if(y=v.onTrainEnd||(function(){}),v.onTrainEnd=function(O){k.__stopTrainingResolve&&(k.__stopTrainingResolve(),k.__stopTrainingResolve=null),y(O)},this.isPrepared||this.prepare(),b=this.getLabels().length,a.util.assert(b===this.numClasses,function(){return"Can not train, has "+b+" labels and "+k.numClasses+" classes"}),w=this.examples[0][1].length,this.seed?x=s.initializers.varianceScaling({seed:3.14}):x=s.initializers.varianceScaling({}),this.model=s.sequential({layers:[s.layers.dense({inputShape:[w],units:g.denseUnits,activation:"relu",kernelInitializer:x,useBias:!0}),s.layers.dropout({rate:.5}),s.layers.dense({units:this.numClasses,kernelInitializer:x,useBias:!1,activation:"softmax"})]}),_=s.train.rmsprop(g.learningRate),this.model.compile({optimizer:_,loss:"categoricalCrossentropy",metrics:["accuracy"]}),!(g.batchSize>0))throw new Error("Batch size is 0 or NaN. Please choose a non-zero fraction");return $=this.trainDataset.batch(g.batchSize),N=this.validationDataset.batch(g.batchSize),[4,this.model.fitDataset($,{epochs:g.epochs,validationData:N,callbacks:v})];case 1:return A.sent(),_.dispose(),[2,this.model]}})})},f.prototype.prepareDataset=function(){for(var g=0;g<this.numClasses;g++)this.examples[g]=[]},f.prototype.stopTraining=function(){var g=this;return new Promise(function(v,y){g.model.stopTraining=!0,g.__stopTrainingResolve=v})},f.prototype.dispose=function(){this.model.dispose(),p.prototype.dispose.call(this)},f.prototype.setLabel=function(g,v){this._metadata.labels[g]=v},f.prototype.setLabels=function(g){this._metadata.labels=g,this.prepareDataset()},f.prototype.getLabel=function(g){return this._metadata.labels[g]},f.prototype.getLabels=function(){return this._metadata.labels},f.prototype.setName=function(g){this._metadata.modelName=g},f.prototype.getName=function(){return this._metadata.modelName},f.prototype.calculateAccuracyPerClass=function(){return n(this,void 0,void 0,function(){var g,v,y,b,w,x,_,$,N,k,L,A,O,R,T,S,F,M,L,z=this;return r(this,function(q){switch(q.label){case 0:return g=this.validationDataset.mapAsync(function(J){return n(z,void 0,void 0,function(){return r(this,function(re){return[2,J.xs]})})}),v=this.validationDataset.mapAsync(function(J){return n(z,void 0,void 0,function(){return r(this,function(re){return[2,J.ys]})})}),y=Math.min(v.size,32),b=Math.ceil(v.size/y),w=g.batch(y),x=v.batch(y),[4,w.iterator()];case 1:return _=q.sent(),[4,x.iterator()];case 2:$=q.sent(),N=[],k=[],L=0,q.label=3;case 3:return L<b?[4,_.next()]:[3,7];case 4:return A=q.sent(),O=this.model.predict(A.value),R=O.argMax(1),N.push(R),[4,$.next()];case 5:T=q.sent(),S=T.value.argMax(1),k.push(S),A.value.dispose(),O.dispose(),T.value.dispose(),q.label=6;case 6:return L++,[3,3];case 7:if(F=s.concat(k),M=s.concat(N),b!==1)for(L=0;L<N.length;L++)N[L].dispose(),k[L].dispose();return[2,{reference:F,predictions:M}]}})})},f.prototype.setSeed=function(g){this.seed=o(g)},f})(i.CustomPoseNet);e.TeachablePoseNet=h;function d(p){return n(this,void 0,void 0,function(){var f;return r(this,function(g){switch(g.label){case 0:return[4,i.loadPoseNet(p.modelSettings)];case 1:return f=g.sent(),[2,new h(s.sequential(),f,p)]}})})}e.createTeachable=d})),hK=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=function(){return document.createElement("canvas")};function n(s,a,i){s===void 0&&(s=200),a===void 0&&(a=200),i===void 0&&(i=!1);var o=document.createElement("canvas");if(o.width=s,o.height=a,i){var l=o.getContext("2d");l.translate(s,0),l.scale(-1,1)}return o}e.createCanvas=n;function r(s,a,i,o){i===void 0&&(i=!1),o===void 0&&(o=t());var l=s.width,u=s.height;s instanceof HTMLVideoElement&&(l=s.videoWidth,u=s.videoHeight);var c=a/Math.min(l,u),h=Math.ceil(l*c),d=Math.ceil(u*c),p=h-a,f=d-a;o.width=o.height=a;var g=o.getContext("2d");return g.drawImage(s,~~(p/2)*-1,~~(f/2)*-1,h,d),i&&(g.scale(-1,1),g.drawImage(o,a*-1,0)),o}e.cropTo=r})),k_e=Ye((e=>{var t=e&&e.__decorate||function(u,c,h,d){var p=arguments.length,f=p<3?c:d===null?d=Object.getOwnPropertyDescriptor(c,h):d,g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")f=Reflect.decorate(u,c,h,d);else for(var v=u.length-1;v>=0;v--)(g=u[v])&&(f=(p<3?g(f):p>3?g(c,h,f):g(c,h))||f);return p>3&&f&&Object.defineProperty(c,h,f),f},n=e&&e.__awaiter||function(u,c,h,d){function p(f){return f instanceof h?f:new h(function(g){g(f)})}return new(h||(h=Promise))(function(f,g){function v(w){try{b(d.next(w))}catch(x){g(x)}}function y(w){try{b(d.throw(w))}catch(x){g(x)}}function b(w){w.done?f(w.value):p(w.value).then(v,y)}b((d=d.apply(u,c||[])).next())})},r=e&&e.__generator||function(u,c){var h={label:0,sent:function(){if(f[0]&1)throw f[1];return f[1]},trys:[],ops:[]},d,p,f,g={next:v(0),throw:v(1),return:v(2)};return typeof Symbol=="function"&&(g[Symbol.iterator]=function(){return this}),g;function v(b){return function(w){return y([b,w])}}function y(b){if(d)throw new TypeError("Generator is already executing.");for(;h;)try{if(d=1,p&&(f=b[0]&2?p.return:b[0]?p.throw||((f=p.return)&&f.call(p),0):p.next)&&!(f=f.call(p,b[1])).done)return f;switch(p=0,f&&(b=[b[0]&2,f.value]),b[0]){case 0:case 1:f=b;break;case 4:return h.label++,{value:b[1],done:!1};case 5:h.label++,p=b[1],b=[0];continue;case 7:b=h.ops.pop(),h.trys.pop();continue;default:if(f=h.trys,!(f=f.length>0&&f[f.length-1])&&(b[0]===6||b[0]===2)){h=0;continue}if(b[0]===3&&(!f||b[1]>f[0]&&b[1]<f[3])){h.label=b[1];break}if(b[0]===6&&h.label<f[1]){h.label=f[1],f=b;break}if(f&&h.label<f[2]){h.label=f[2],h.ops.push(b);break}f[2]&&h.ops.pop(),h.trys.pop();continue}b=c.call(u,h)}catch(w){b=[6,w],p=0}finally{d=f=0}if(b[0]&5)throw b[1];return{value:b[0]?b[1]:void 0,done:!0}}};Object.defineProperty(e,"__esModule",{value:!0});var s=(oK(),or(aK)),a=hK(),i={facingMode:"user",frameRate:24},o=function(u){return u.facingMode=u.facingMode||i.facingMode,u.frameRate=u.frameRate||i.frameRate,u.aspectRatio=u.aspectRatio||i.aspectRatio,u},l=(function(){function u(c,h,d){c===void 0&&(c=400),h===void 0&&(h=400),d===void 0&&(d=!1),this.width=c,this.height=h,this.flip=d}return u.prototype.getWebcam=function(c){if(c===void 0&&(c={}),!window.navigator.mediaDevices||!window.navigator.mediaDevices.getUserMedia)return Promise.reject("Your browser does not support WebRTC. Please try another one.");c.width=640;var h=o(c),d=document.createElement("video");return window.navigator.mediaDevices.getUserMedia({video:h}).then(function(p){return d.srcObject=p,d.addEventListener("loadedmetadata",function(f){var g=d.videoWidth,v=d.videoHeight;d.width=g,d.height=v}),d},function(){return Promise.reject("Could not open your camera. You may have denied access.")})},u.prototype.setup=function(c){return c===void 0&&(c={}),n(this,void 0,void 0,function(){var h;return r(this,function(d){switch(d.label){case 0:return this.webcam?[3,2]:(h=this,[4,this.getWebcam(c)]);case 1:h.webcam=d.sent(),this.canvas||(this.canvas=document.createElement("canvas"),this.canvas.width=this.width,this.canvas.height=this.height),d.label=2;case 2:return[2]}})})},u.prototype.play=function(){return this.webcam.play()},u.prototype.pause=function(){this.webcam.pause()},u.prototype.stop=function(){this.stopStreamedVideo(this.webcam)},u.prototype.update=function(){this.renderCameraToCanvas()},u.prototype.stopStreamedVideo=function(c){c.srcObject.getTracks().forEach(function(h){h.stop()}),c.srcObject=null},u.prototype.renderCameraToCanvas=function(){if(this.canvas&&this.webcam){var c=this.canvas.getContext("2d");if(this.webcam.videoWidth!==0){var h=a.cropTo(this.webcam,this.width,this.flip);c.drawImage(h,0,0)}}},t([s.default],u.prototype,"getWebcam",null),t([s.default],u.prototype,"setup",null),t([s.default],u.prototype,"play",null),t([s.default],u.prototype,"pause",null),t([s.default],u.prototype,"stop",null),t([s.default],u.prototype,"update",null),t([s.default],u.prototype,"stopStreamedVideo",null),t([s.default],u.prototype,"renderCameraToCanvas",null),u})();e.Webcam=l})),T_e=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=lK(),n="aqua",r="aqua",s=4,a=2;function i(h,d,p,f,g,v,y){f===void 0&&(f=s),g===void 0&&(g=n),v===void 0&&(v=r),y===void 0&&(y=1);for(var b=0;b<h.length;b++){var w=h[b];if(!(w.score<d)){var x=w.position,_=x.y,$=x.x;o(p,_*y,$*y,f,g,v)}}}e.drawKeypoints=i;function o(h,d,p,f,g,v){h.fillStyle=g,h.strokeStyle=v,h.beginPath(),h.arc(p,d,f,0,2*Math.PI),h.fill(),h.stroke()}e.drawPoint=o;function l(h){return[h.y,h.x]}e.toTuple=l;function u(h,d,p,f,g,v){f===void 0&&(f=a),g===void 0&&(g=r),v===void 0&&(v=1),t.getAdjacentKeyPoints(h,d).forEach(function(y){c(l(y[0].position),l(y[1].position),p,f,g,v)})}e.drawSkeleton=u;function c(h,d,p,f,g,v){var y=h[0],b=h[1],w=d[0],x=d[1];p.beginPath(),p.moveTo(b*v,y*v),p.lineTo(x*v,w*v),p.lineWidth=f,p.strokeStyle=g,p.stroke()}e.drawSegment=c})),E_e=Ye((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=cK();e.CustomPoseNet=t.CustomPoseNet,e.load=t.load,e.loadFromFiles=t.loadFromFiles;var n=$_e();e.TeachablePoseNet=n.TeachablePoseNet,e.createTeachable=n.createTeachable;var r=k_e();e.Webcam=r.Webcam;var s=hK();e.createCanvas=s.createCanvas;var a=T_e();e.drawKeypoints=a.drawKeypoints,e.drawSkeleton=a.drawSkeleton,e.drawPoint=a.drawPoint,e.drawSegment=a.drawSegment;var i=uK();e.version=i.version})),dK=Co(N_e(),1),AN=Co(E_e(),1),A_e="@kubohiroya/turbowarp-teachable-machine",R_e="3.5.2",D_e="A TurboWarp extension for recognition using Teachable Machine pose, image, and audio models.",O_e="Hiroya Kubo <hiroya@cuc.ac.jp>",F_e="MPL-2.0",L_e="https://github.com/kubohiroya/turbowarp-teachable-machine#readme",P_e={type:"git",url:"git+https://github.com/kubohiroya/turbowarp-teachable-machine.git"},M_e={url:"https://github.com/kubohiroya/turbowarp-teachable-machine/issues"},z_e={"./composition":{types:"./dist/types/composition.d.ts",import:"./dist/composition.js"},"./posenet":{types:"./dist/types/posenet.d.ts",import:"./dist/posenet.js"},"./posenet-assets/*":"./dist/posenet/mobilenet-v1-075-stride16/*","./wasm-assets/*":"./dist/wasm/*","./dist/backend-wasm.js":"./dist/backend-wasm.js","./dist/backend-webgpu.js":"./dist/backend-webgpu.js","./runtime":"./dist/runtime.js","./dist/tm.js":"./dist/tm.js","./package.json":"./package.json"},B_e="module",V_e=["dist/","README.md","LICENSE","THIRD_PARTY_NOTICES.md","schemas/","docs/fixed-input-editors.ja.md"],W_e="./dist/tm.js",U_e="./dist/tm.js",G_e={access:"public",registry:"https://registry.npmjs.org/"},H_e="pnpm@11.11.0",j_e={node:">=22.18.0"},q_e={dev:"vite build --watch",typecheck:"tsc --noEmit",build:"pnpm build:extension && pnpm build:composition && pnpm build:runtime && pnpm build:backends && pnpm build:posenet && pnpm build:notices && pnpm build:types","build:extension":"vite build","build:composition":"vite build --config vite.composition.config.ts","build:runtime":"vite build --config vite.runtime.config.ts","build:backends":"vite build --config vite.backend-wasm.config.ts && vite build --config vite.backend-webgpu.config.ts && node scripts/copy-wasm-assets.ts","build:posenet":"vite build --config vite.posenet.config.ts && node scripts/copy-posenet-assets.ts","build:notices":"node scripts/copy-third-party-notices.ts","build:types":"tsc --project tsconfig.build.json","types:composition:check":"tsc --project tsconfig.composition-consumer.json","types:posenet:check":"tsc --project tsconfig.posenet-consumer.json",test:"vitest run",docs:"node scripts/generate-readme.ts","docs:check":"npm run docs && git diff --exit-code -- README.md","docs:pages:check":"node scripts/check-pages.ts","release:consistency:check":"node scripts/check-release-consistency.ts","check:dist":"npm run build && git diff --exit-code -- dist","archive:check":"node scripts/check-github-archive.ts","pack:check":"npm pack --dry-run --ignore-scripts","release:check":"npm publish --dry-run --access public --tag latest",check:"npm run typecheck && npm run test && npm run build && npm run types:composition:check && npm run types:posenet:check && npm run docs:check && npm run docs:pages:check && npm run release:consistency:check && npm run check:dist && npm run archive:check && npm run pack:check",prepack:"npm run build && npm run release:consistency:check"},K_e={"@kubohiroya/turbowarp-camera-source":"0.17.1","@kubohiroya/vite-plugin-turbowarp-extension":"0.6.1","@teachablemachine/image":"0.8.5","@teachablemachine/pose":"0.8.6","@tensorflow-models/posenet":"2.2.2","@tensorflow-models/speech-commands":"0.5.4","@tensorflow/tfjs":"4.22.0","@tensorflow/tfjs-backend-wasm":"4.22.0","@tensorflow/tfjs-backend-webgpu":"4.22.0","@types/node":"^22.20.1",typescript:"^5.9.3",vite:"^8.2.2",vitest:"^4.0.14","@kubohiroya/turbowarp-extension-data-editor":"0.2.1"},X_e=["turbowarp","scratch","extension","pose","image","audio","camera","teachable-machine"],Y_e="97ef12018789316d6170a7aab29d7c5b0a4c90f4",gx={name:A_e,version:R_e,description:D_e,author:O_e,license:F_e,homepage:L_e,repository:P_e,bugs:M_e,exports:z_e,type:B_e,files:V_e,unpkg:W_e,jsdelivr:U_e,publishConfig:G_e,packageManager:H_e,engines:j_e,scripts:q_e,devDependencies:K_e,keywords:X_e,gitHead:Y_e,"x-turbowarp-source":{revision:"97ef12018789316d6170a7aab29d7c5b0a4c90f4",revisionRole:"base-commit",sourceState:"local-release-overlay"}},Z_e=class extends Error{code="TM-RUNTIME-ABORTED";constructor(){super("TM runtime model loading was cancelled."),this.name="AbortError"}};function RN(){return new Z_e}function xm(e){if(e?.aborted)throw RN()}function DN(e){return typeof e=="object"&&e!==null}function J_e(e){return DN(e)&&typeof e.dispose=="function"?e:null}function Q_e(e){if(e===void 0)return{};if(!DN(e))throw new TypeError("TM runtime load options must be an object.");const t=e.signal;if(t!==void 0&&(!DN(t)||typeof t.aborted!="boolean"||typeof t.addEventListener!="function"||typeof t.removeEventListener!="function"))throw new TypeError("TM runtime load signal must be an AbortSignal.");const n=e.parallelModelInitialization;if(n!==void 0&&typeof n!="boolean")throw new TypeError("parallelModelInitialization must be a boolean.");return{...t===void 0?{}:{signal:t},...n===void 0?{}:{parallelModelInitialization:n}}}async function ON(e){const t=[...new Set(e.map(J_e).filter(n=>n!==null))];return(await Promise.allSettled(t.map(n=>Promise.resolve().then(()=>n.dispose())))).flatMap(n=>n.status==="rejected"?[n.reason]:[])}function FN(e,t){const n=[...e,...t];throw n.length===1?n[0]:new AggregateError(n,"TM runtime model loading and cleanup did not complete.")}function eSe(e,t){return!t?.aborted||e?.name==="AbortError"?[e]:[RN(),e]}async function tSe(e,t,n,r,s){let a,i;try{a=await e.loadClassifier(t,n),xm(s);const o=await e.loadMetadata(r);return xm(s),i=await e.loadPoseNet(o),xm(s),e.createModel(a,i,o)}catch(o){const l=await ON([a,i]);FN(eSe(o,s),l)}}function LN(e){try{return Promise.resolve(e())}catch(t){return Promise.reject(t)}}async function nSe(e,t,n,r,s){const[a]=await Promise.allSettled([LN(()=>e.loadMetadata(r))]),i=a.status==="fulfilled"?a.value:void 0,o=await Promise.allSettled([LN(()=>e.loadClassifier(t,n)),a.status==="fulfilled"?LN(()=>e.loadPoseNet(i)):Promise.resolve(void 0)]),l=o[0].status==="fulfilled"?o[0].value:void 0,u=o[1].status==="fulfilled"?o[1].value:void 0,c=[...a.status==="rejected"?[a.reason]:[],...o.flatMap(h=>h.status==="rejected"?[h.reason]:[])];if(s?.aborted||c.length>0){const h=await ON([l,u]);FN([...s?.aborted?[RN()]:[],...c],h)}try{return e.createModel(l,u,i)}catch(h){const d=await ON([l,u]);FN([h],d)}}function rSe(e){return async function(n,r,s,a){const i=Q_e(a);return xm(i.signal),await e.ready(),xm(i.signal),i.parallelModelInitialization?nSe(e,n,r,s,i.signal):tSe(e,n,r,s,i.signal)}}var sSe=["auto","webgpu","webgl","wasm","cpu"],pK=Object.freeze(["webgpu","webgl","wasm","cpu"]),aSe=Object.freeze({auto:"auto",automatic:"auto",default:"auto",fastest:"auto",自動:"auto",おまかせ:"auto",webgpu:"webgpu",gpu:"webgpu",webgl:"webgl",wasm:"wasm",webassembly:"wasm",simd:"wasm",cpu:"cpu",javascript:"cpu"}),iSe=class extends Error{code="TM-COMPUTE-UNAVAILABLE";mode;attempts;constructor(e,t){const n=t.map(r=>`${r.backend}: ${r.reason}`).join("; ");super(`TM: No compute backend accepted mode "${e}". ${n}`),this.name="ComputeBackendUnavailableError",this.mode=e,this.attempts=Object.freeze([...t])}};function fK(e,t="auto"){const n=String(e??"").trim().toLowerCase();return n===""?t:aSe[n]??t}function oSe(e,t=pK){return Object.freeze(e==="auto"?[...t]:[e,...t.filter(n=>n!==e)])}function lSe(e){const t=e?.message,n=String(t??e??"").trim();return n===""?"activation failed":n}async function uSe(e,t="auto",n=pK){const r=t==="auto"?null:t,s=[];for(const a of oSe(t,n))try{if(!await e.isSupported(a)){s.push({backend:a,reason:"not supported by this browser"});continue}if(await e.prepare(a),!await e.activate(a))throw new Error("TensorFlow.js did not switch to this backend");return await e.verify(a),Object.freeze({mode:t,backend:a,requested:r,fallback:r!==null&&r!==a,attempts:Object.freeze([...s])})}catch(i){s.push({backend:a,reason:lSe(i)})}throw new iSe(t,s)}function cSe(e){const{tf:t}=e;let n=null,r=Promise.resolve(),s=!1;function a(l){return l==="webgpu"?e.hasWebGPU():l==="wasm"?e.hasWebAssembly():!0}const i={isSupported:a,async prepare(l){const u=await e.loadBackend(l);if(!(l!=="wasm"||s)){if(typeof u?.setWasmPaths!="function")throw new Error("the WebAssembly backend bundle did not expose setWasmPaths");u.setWasmPaths(e.wasmAssetBase()),s=!0}},async activate(l){return await t.setBackend(l)?(await t.ready(),t.getBackend()===l):!1},async verify(){const l=t.ones([1,4,4,1]),u=t.ones([3,3,1,1]);let c=null;try{c=t.conv2d(l,u,1,"valid");const h=await c.data();if(h.length!==4||Math.abs(Number(h[0])-9)>.001)throw new Error("the backend returned an incorrect convolution result")}finally{t.dispose([l,u,...c?[c]:[]])}}};function o(l){const u=r.then(l,l);return r=u.catch(()=>{}),u}return Object.freeze({modes:sSe,select(l){const u=fK(l);return o(async()=>(n&&n.mode===u&&t.getBackend()===n.backend||(n=await uSe(i,u)),n))},getSelection:()=>n,getMode:()=>n?.mode??"auto",getBackend:()=>t.getBackend(),isBackendSupported(l){const u=fK(l);return u==="auto"||a(u)}})}var yn=globalThis;if(yn.tf!==void 0&&yn.tf!==gs)throw new Error("TM browser runtime found a different global TensorFlow.js instance.");if(yn.tmPose!==void 0&&yn.tmPose!==AN)throw new Error("TM browser runtime found a different global Teachable Machine Pose instance.");if(yn.tmImage!==void 0&&yn.tmImage!==dK)throw new Error("TM browser runtime found a different global Teachable Machine Image instance.");if(yn.speechCommands!==void 0&&yn.speechCommands!==U5)throw new Error("TM browser runtime found a different global speech-commands instance.");var hd=gx.devDependencies,hSe=`https://cdn.jsdelivr.net/npm/${gx.name}@${gx.version}/dist/`;function dSe(){const e=typeof document>"u"?null:document.currentScript,t=e&&"src"in e?String(e.src??""):"";if(t!=="")try{return new URL("./",t).href}catch{}return hSe}var vx=dSe(),PN=new Map;function mK(e){const t=PN.get(e);if(t)return t;const n=new Promise((r,s)=>{const a=document.createElement("script");a.src=e,a.addEventListener("load",()=>r(),{once:!0}),a.addEventListener("error",()=>{PN.delete(e),s(new Error(`TM: Failed to load compute backend bundle: ${e}`))},{once:!0}),document.head.appendChild(a)});return PN.set(e,n),n}async function pSe(e){return e==="wasm"?(yn.tmBackendWasm||await mK(new URL("backend-wasm.js",vx).href),yn.tmBackendWasm??null):(e==="webgpu"&&(yn.tmBackendWebGPU||await mK(new URL("backend-webgpu.js",vx).href)),null)}var fSe=cSe({tf:gs,loadBackend:pSe,wasmAssetBase:()=>new URL("wasm/",vx).href,hasWebGPU:()=>typeof navigator<"u"&&navigator.gpu!==void 0&&navigator.gpu!==null,hasWebAssembly:()=>typeof WebAssembly=="object"&&typeof WebAssembly.instantiate=="function"});function mSe(e){const t=e?.modelSettings?.posenet??{};return{architecture:t.architecture??"MobileNetV1",outputStride:t.outputStride??16,inputResolution:t.inputResolution??257,multiplier:t.multiplier??.75}}var gSe=rSe({ready:()=>Yx(),loadClassifier:(e,t)=>Tf(uT([e,t])),async loadMetadata(e){const t=await new Response(e).json();if(typeof t!="object"||t===null||!Array.isArray(t.labels))throw new Error("Invalid Metadata provided");return t},loadPoseNet:e=>D5(mSe(e)),createModel:(e,t,n)=>new AN.CustomPoseNet(e,t,n)}),vSe=Object.freeze({...AN,loadFromFiles:gSe}),ySe=Object.freeze({async load(e,t){const n=eK("BROWSER_FFT",void 0,e,t);return await n.ensureModelLoaded(),n}});yn.tf=gs,yn.speechCommands=U5,yn.tmImage=dK,yn.tmPose=vSe,yn.tmAudio=ySe,yn.tmCompute=fSe;var gK=Object.freeze({version:gx.version,tensorflow:hd["@tensorflow/tfjs"],tensorflowBackendWasm:hd["@tensorflow/tfjs-backend-wasm"],tensorflowBackendWebGPU:hd["@tensorflow/tfjs-backend-webgpu"],speechCommands:hd["@tensorflow-models/speech-commands"],teachableMachineImage:hd["@teachablemachine/image"],teachableMachinePose:hd["@teachablemachine/pose"],assetBase:vx});yn[Symbol.for("@kubohiroya/turbowarp-teachable-machine/runtime")]=gK,yn[Symbol.for("@kubohiroya/turbowarp-teachablemachine/runtime")]=gK})();
|