PageSourceSearch

https://portal.simplehire.ai/assets/ort.webgpu.bundle.min-Blm_AXyt.js

js simplehire.ai collected 2026-10-05 12:38:13 UTC 113,106 bytes, 8 lines download raw bytes

1var Yf=Object.defineProperty;var Xf=(r,n,i)=>n in r?Yf(r,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[n]=i;var So=(r,n,i)=>Xf(r,typeof n!="symbol"?n+"":n,i);/*!
2 * ONNX Runtime Web v1.27.0
3 * Copyright (c) Microsoft Corporation. All rights reserved.
4 * Licensed under the MIT License.
5 */var rn=Object.defineProperty,Zf=Object.getOwnPropertyDescriptor,Kf=Object.getOwnPropertyNames,Jf=Object.prototype.hasOwnProperty,Qf=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(n,i)=>(typeof require<"u"?require:n)[i]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')}),G=(r,n)=>()=>(r&&(n=r(r=0)),n),Rt=(r,n)=>{for(var i in n)rn(r,i,{get:n[i],enumerable:!0})},el=(r,n,i,f)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of Kf(n))!Jf.call(r,s)&&s!==i&&rn(r,s,{get:()=>n[s],enumerable:!(f=Zf(n,s))||f.enumerable});return r},Zt=r=>el(rn({},"__esModule",{value:!0}),r),At,Ge,dt,Io,ti,ri=G(()=>{At=new Map,Ge=[],dt=(r,n,i)=>{if(n&&typeof n.init=="function"&&typeof n.createInferenceSessionHandler=="function"){let f=At.get(r);if(f===void 0)At.set(r,{backend:n,priority:i});else{if(f.priority>i)return;if(f.priority===i&&f.backend!==n)throw new Error(`cannot register backend "${r}" using priority ${i}`)}if(i>=0){let s=Ge.indexOf(r);s!==-1&&Ge.splice(s,1);for(let p=0;p<Ge.length;p++)if(At.get(Ge[p]).priority<=i){Ge.splice(p,0,r);return}Ge.push(r)}return}throw new TypeError("not a valid backend")},Io=async r=>{let n=At.get(r);if(!n)return"backend not found.";if(n.initialized)return n.backend;if(n.aborted)return n.error;{let i=!!n.initPromise;try{return i||(n.initPromise=n.backend.init(r)),await n.initPromise,n.initialized=!0,n.backend}catch(f){return i||(n.error=`${f}`,n.aborted=!0),n.error}finally{delete n.initPromise}}},ti=async r=>{let n=r.executionProviders||[],i=n.map(w=>typeof w=="string"?w:w.name),f=i.length===0?Ge:i,s,p=[],c=new Set;for(let w of f){let y=await Io(w);typeof y=="string"?p.push({name:w,err:y}):(s||(s=y),s===y&&c.add(w))}if(!s)throw new Error(`no available backend found. ERR: ${p.map(w=>`[${w.name}] ${w.err}`).join(", ")}`);for(let{name:w,err:y}of p)i.includes(w)&&console.warn(`removing requested execution provider "${w}" from session options because it is not available: ${y}`);let m=n.filter(w=>c.has(typeof w=="string"?w:w.name));return[s,new Proxy(r,{get:(w,y)=>y==="executionProviders"?m:Reflect.get(w,y)})]}}),tl=G(()=>{ri()}),ni,rl=G(()=>{ni="1.27.0"}),Ur,ue,ai=G(()=>{rl(),Ur="warning",ue={wasm:{},webgl:{},webgpu:{},versions:{common:ni},set logLevel(r){if(r!==void 0){if(typeof r!="string"||["verbose","info","warning","error","fatal"].indexOf(r)===-1)throw new Error(`Unsupported logging level: ${r}`);Ur=r}},get logLevel(){return Ur}},Object.defineProperty(ue,"logLevel",{enumerable:!0})}),ee,nl=G(()=>{ai(),ee=ue}),oi,ii,al=G(()=>{oi=(r,n)=>{let i=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);i.width=r.dims[3],i.height=r.dims[2];let f=i.getContext("2d");if(f!=null){let s,p;(n==null?void 0:n.tensorLayout)!==void 0&&n.tensorLayout==="NHWC"?(s=r.dims[2],p=r.dims[3]):(s=r.dims[3],p=r.dims[2]);let c=(n==null?void 0:n.format)!==void 0?n.format:"RGB",m=n==null?void 0:n.norm,w,y;m===void 0||m.mean===void 0?w=[255,255,255,255]:typeof m.mean=="number"?w=[m.mean,m.mean,m.mean,m.mean]:(w=[m.mean[0],m.mean[1],m.mean[2],0],m.mean[3]!==void 0&&(w[3]=m.mean[3])),m===void 0||m.bias===void 0?y=[0,0,0,0]:typeof m.bias=="number"?y=[m.bias,m.bias,m.bias,m.bias]:(y=[m.bias[0],m.bias[1],m.bias[2],0],m.bias[3]!==void 0&&(y[3]=m.bias[3]));let v=p*s,b=0,E=v,C=v*2,I=-1;c==="RGBA"?(b=0,E=v,C=v*2,I=v*3):c==="RGB"?(b=0,E=v,C=v*2):c==="RBG"&&(b=0,C=v,E=v*2);for(let P=0;P<p;P++)for(let z=0;z<s;z++){let M=(r.data[b++]-y[0])*w[0],L=(r.data[E++]-y[1])*w[1],X=(r.data[C++]-y[2])*w[2],W=I===-1?255:(r.data[I++]-y[3])*w[3];f.fillStyle="rgba("+M+","+L+","+X+","+W+")",f.fillRect(z,P,1,1)}if("toDataURL"in i)return i.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},ii=(r,n)=>{let i=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),f;if(i!=null){let s,p,c;(n==null?void 0:n.tensorLayout)!==void 0&&n.tensorLayout==="NHWC"?(s=r.dims[2],p=r.dims[1],c=r.dims[3]):(s=r.dims[3],p=r.dims[2],c=r.dims[1]);let m=n!==void 0&&n.format!==void 0?n.format:"RGB",w=n==null?void 0:n.norm,y,v;w===void 0||w.mean===void 0?y=[255,255,255,255]:typeof w.mean=="number"?y=[w.mean,w.mean,w.mean,w.mean]:(y=[w.mean[0],w.mean[1],w.mean[2],255],w.mean[3]!==void 0&&(y[3]=w.mean[3])),w===void 0||w.bias===void 0?v=[0,0,0,0]:typeof w.bias=="number"?v=[w.bias,w.bias,w.bias,w.bias]:(v=[w.bias[0],w.bias[1],w.bias[2],0],w.bias[3]!==void 0&&(v[3]=w.bias[3]));let b=p*s;if(n!==void 0&&(n.format!==void 0&&c===4&&n.format!=="RGBA"||c===3&&n.format!=="RGB"&&n.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");
vendor: 20,367 bytes, line 5
5let E=4,C=0,I=1,P=2,z=3,M=0,L=b,X=b*2,W=-1;m==="RGBA"?(M=0,L=b,X=b*2,W=b*3):m==="RGB"?(M=0,L=b,X=b*2):m==="RBG"&&(M=0,X=b,L=b*2),f=i.createImageData(s,p);for(let ne=0;ne<p*s;C+=E,I+=E,P+=E,z+=E,ne++)f.data[C]=(r.data[M++]-v[0])*y[0],f.data[I]=(r.data[L++]-v[1])*y[1],f.data[P]=(r.data[X++]-v[2])*y[2],f.data[z]=W===-1?255:(r.data[W++]-v[3])*y[3]}else throw new Error("Can not access image data");return f}}),zt,si,ui,fi,li,ci,ol=G(()=>{nn(),zt=(r,n)=>{if(r===void 0)throw new Error("Image buffer must be defined");if(n.height===void 0||n.width===void 0)throw new Error("Image height and width must be defined");if(n.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:i,width:f}=n,s=n.norm??{mean:255,bias:0},p,c;typeof s.mean=="number"?p=[s.mean,s.mean,s.mean,s.mean]:p=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],typeof s.bias=="number"?c=[s.bias,s.bias,s.bias,s.bias]:c=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let m=n.format!==void 0?n.format:"RGBA",w=n.tensorFormat!==void 0&&n.tensorFormat!==void 0?n.tensorFormat:"RGB",y=i*f,v=w==="RGBA"?new Float32Array(y*4):new Float32Array(y*3),b=4,E=0,C=1,I=2,P=3,z=0,M=y,L=y*2,X=-1;m==="RGB"&&(b=3,E=0,C=1,I=2,P=-1),w==="RGBA"?X=y*3:w==="RBG"?(z=0,L=y,M=y*2):w==="BGR"&&(L=0,M=y,z=y*2);for(let W=0;W<y;W++,E+=b,I+=b,C+=b,P+=b)v[z++]=(r[E]+c[0])/p[0],v[M++]=(r[C]+c[1])/p[1],v[L++]=(r[I]+c[2])/p[2],X!==-1&&P!==-1&&(v[X++]=(r[P]+c[3])/p[3]);return w==="RGBA"?new ve("float32",v,[1,4,i,f]):new ve("float32",v,[1,3,i,f])},si=async(r,n)=>{let i=typeof HTMLImageElement<"u"&&r instanceof HTMLImageElement,f=typeof ImageData<"u"&&r instanceof ImageData,s=typeof ImageBitmap<"u"&&r instanceof ImageBitmap,p=typeof r=="string",c,m=n??{},w=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},y=v=>typeof HTMLCanvasElement<"u"&&v instanceof HTMLCanvasElement||v instanceof OffscreenCanvas?v.getContext("2d"):null;if(i){let v=w();v.width=r.width,v.height=r.height;let b=y(v);if(b!=null){let E=r.height,C=r.width;if(n!==void 0&&n.resizedHeight!==void 0&&n.resizedWidth!==void 0&&(E=n.resizedHeight,C=n.resizedWidth),n!==void 0){if(m=n,n.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");m.tensorFormat="RGBA",m.height=E,m.width=C}else m.tensorFormat="RGBA",m.height=E,m.width=C;b.drawImage(r,0,0),c=b.getImageData(0,0,C,E).data}else throw new Error("Can not access image data")}else if(f){let v,b;if(n!==void 0&&n.resizedWidth!==void 0&&n.resizedHeight!==void 0?(v=n.resizedHeight,b=n.resizedWidth):(v=r.height,b=r.width),n!==void 0&&(m=n),m.format="RGBA",m.height=v,m.width=b,n!==void 0){let E=w();E.width=b,E.height=v;let C=y(E);if(C!=null)C.putImageData(r,0,0),c=C.getImageData(0,0,b,v).data;else throw new Error("Can not access image data")}else c=r.data}else if(s){if(n===void 0)throw new Error("Please provide image config with format for Imagebitmap");let v=w();v.width=r.width,v.height=r.height;let b=y(v);if(b!=null){let E=r.height,C=r.width;return b.drawImage(r,0,0,C,E),c=b.getImageData(0,0,C,E).data,m.height=E,m.width=C,zt(c,m)}else throw new Error("Can not access image data")}else{if(p)return new Promise((v,b)=>{let E=w(),C=y(E);if(!r||!C)return b();let I=new Image;I.crossOrigin="Anonymous",I.src=r,I.onload=()=>{E.width=I.width,E.height=I.height,C.drawImage(I,0,0,E.width,E.height);let P=C.getImageData(0,0,E.width,E.height);m.height=E.height,m.width=E.width,v(zt(P.data,m))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(c!==void 0)return zt(c,m);throw new Error("Input data provided is not supported - aborted tensor creation")},ui=(r,n)=>{let{width:i,height:f,download:s,dispose:p}=n,c=[1,f,i,4];return new ve({location:"texture",type:"float32",texture:r,dims:c,download:s,dispose:p})},fi=(r,n)=>{let{dataType:i,dims:f,download:s,dispose:p}=n;return new ve({location:"gpu-buffer",type:i??"float32",gpuBuffer:r,dims:f,download:s,dispose:p})},li=(r,n)=>{let{dataType:i,dims:f,download:s,dispose:p}=n;return new ve({location:"ml-tensor",type:i??"float32",mlTensor:r,dims:f,download:s,dispose:p})},ci=(r,n,i)=>new ve({location:"cpu-pinned",type:r,data:n,dims:i??[n.length]})}),Je,Mt,Mr,pi,il=G(()=>{Je=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Mt=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Mr=!1,pi=()=>{if(!Mr){Mr=!0;let r=typeof BigInt64Array<"u"&&BigInt64Array.from,n=typeof BigUint64Array<"u"&&BigUint64Array.from,i=globalThis.Float16Array,f=typeof i<"u"&&i.from;r&&(Je.set("int64",BigInt64Array),Mt.set(BigInt64Array,"int64")),n&&(Je.set("uint64",BigUint64Array),Mt.set(BigUint64Array,"uint64")),f?(Je.set("float16",i),Mt.set(i,"float16")):Je.set("float16",Uint16Array)}}}),di,hi,sl=G(()=>{nn(),di=r=>{let n=1;for(let i=0;i<r.length;i++){let f=r[i];if(typeof f!="number"||!Number.isSafeInteger(f))throw new TypeError(`dims[${i}] must be an integer, got: ${f}`);if(f<0)throw new RangeError(`dims[${i}] must be a non-negative integer, got: ${f}`);n*=f}return n},hi=(r,n)=>{switch(r.location){case"cpu":return new ve(r.type,r.data,n);case"cpu-pinned":return new ve({location:"cpu-pinned",data:r.data,type:r.type,dims:n});case"texture":return new ve({location:"texture",texture:r.texture,type:r.type,dims:n});case"gpu-buffer":return new ve({location:"gpu-buffer",gpuBuffer:r.gpuBuffer,type:r.type,dims:n});case"ml-tensor":return new ve({location:"ml-tensor",mlTensor:r.mlTensor,type:r.type,dims:n});default:throw new Error(`tensorReshape: tensor location ${r.location} is not supported`)}}}),ve,nn=G(()=>{al(),ol(),il(),sl(),ve=class{constructor(r,n,i){pi();let f,s;if(typeof r=="object"&&"location"in r)switch(this.dataLocation=r.location,f=r.type,s=r.dims,r.location){case"cpu-pinned":{let c=Je.get(f);if(!c)throw new TypeError(`unsupported type "${f}" to create tensor from pinned buffer`);if(!(r.data instanceof c))throw new TypeError(`buffer should be of type ${c.name}`);this.cpuData=r.data;break}case"texture":{if(f!=="float32")throw new TypeError(`unsupported type "${f}" to create tensor from texture`);this.gpuTextureData=r.texture,this.downloader=r.download,this.disposer=r.dispose;break}case"gpu-buffer":{if(f!=="float32"&&f!=="float16"&&f!=="int32"&&f!=="int64"&&f!=="uint32"&&f!=="uint8"&&f!=="bool"&&f!=="uint4"&&f!=="int4")throw new TypeError(`unsupported type "${f}" to create tensor from gpu buffer`);this.gpuBufferData=r.gpuBuffer,this.downloader=r.download,this.disposer=r.dispose;break}case"ml-tensor":{if(f!=="float32"&&f!=="float16"&&f!=="int32"&&f!=="int64"&&f!=="uint32"&&f!=="uint64"&&f!=="int8"&&f!=="uint8"&&f!=="bool"&&f!=="uint4"&&f!=="int4")throw new TypeError(`unsupported type "${f}" to create tensor from MLTensor`);this.mlTensorData=r.mlTensor,this.downloader=r.download,this.disposer=r.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let c,m;if(typeof r=="string")if(f=r,m=i,r==="string"){if(!Array.isArray(n))throw new TypeError("A string tensor's data must be a string array.");c=n}else{let w=Je.get(r);if(w===void 0)throw new TypeError(`Unsupported tensor type: ${r}.`);if(Array.isArray(n)){if(r==="float16"&&w===Uint16Array||r==="uint4"||r==="int4")throw new TypeError(`Creating a ${r} tensor from number array is not supported. Please use ${w.name} as data.`);r==="uint64"||r==="int64"?c=w.from(n,BigInt):c=w.from(n)}else if(n instanceof w)c=n;else if(n instanceof Uint8ClampedArray)if(r==="uint8")c=Uint8Array.from(n);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(r==="float16"&&n instanceof Uint16Array&&w!==Uint16Array)c=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${f} tensor's data must be type of ${w}`)}else if(m=n,Array.isArray(r)){if(r.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let w=typeof r[0];if(w==="string")f="string",c=r;else if(w==="boolean")f="bool",c=Uint8Array.from(r);else throw new TypeError(`Invalid element type of data array: ${w}.`)}else if(r instanceof Uint8ClampedArray)f="uint8",c=Uint8Array.from(r);else{let w=Mt.get(r.constructor);if(w===void 0)throw new TypeError(`Unsupported type for tensor data: ${r.constructor}.`);f=w,c=r}if(m===void 0)m=[c.length];else if(!Array.isArray(m))throw new TypeError("A tensor's dims must be a number array");s=m,this.cpuData=c,this.dataLocation="cpu"}let p=di(s);if(this.cpuData&&p!==this.cpuData.length&&!((f==="uint4"||f==="int4")&&Math.ceil(p/2)===this.cpuData.length))throw new Error(`Tensor's size(${p}) does not match data length(${this.cpuData.length}).`);this.type=f,this.dims=s,this.size=p}static async fromImage(r,n){return si(r,n)}static fromTexture(r,n){return ui(r,n)}static fromGpuBuffer(r,n){return fi(r,n)}static fromMLTensor(r,n){return li(r,n)}static fromPinnedBuffer(r,n,i){return ci(r,n,i)}toDataURL(r){return oi(this,r)}toImageData(r){return ii(this,r)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(r){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=n,r&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(r){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return hi(this,r)}}}),Me,mi=G(()=>{nn(),Me=ve}),Zr,Br,ht,mt,et,tt,wi=G(()=>{ai(),Zr=(r,n)=>{(typeof ue.trace>"u"?!ue.wasm.trace:!ue.trace)||console.timeStamp(`${r}::ORT::${n}`)},Br=(r,n)=>{var s;let i=((s=new Error().stack)==null?void 0:s.split(/\r\n|\r|\n/g))||[],f=!1;for(let p=0;p<i.length;p++){if(f&&!i[p].includes("TRACE_FUNC")){let c=`FUNC_${r}::${i[p].trim().split(" ")[1]}`;n&&(c+=`::${n}`),Zr("CPU",c);return}i[p].includes("TRACE_FUNC")&&(f=!0)}},ht=r=>{(typeof ue.trace>"u"?!ue.wasm.trace:!ue.trace)||Br("BEGIN",r)},mt=r=>{(typeof ue.trace>"u"?!ue.wasm.trace:!ue.trace)||Br("END",r)},et=r=>{(typeof ue.trace>"u"?!ue.wasm.trace:!ue.trace)||console.time(`ORT::${r}`)},tt=r=>{(typeof ue.trace>"u"?!ue.wasm.trace:!ue.trace)||console.timeEnd(`ORT::${r}`)}}),gi,ul=G(()=>{ri(),mi(),wi(),gi=class yi{constructor(n){this.handler=n}async run(n,i,f){ht(),et("InferenceSession.run");let s={},p={};if(typeof n!="object"||n===null||n instanceof Me||Array.isArray(n))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let c=!0;if(typeof i=="object"){if(i===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(i instanceof Me)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(i)){if(i.length===0)throw new TypeError("'fetches' cannot be an empty array.");c=!1;for(let y of i){if(typeof y!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(y)===-1)throw new RangeError(`'fetches' contains invalid output name: ${y}.`);s[y]=null}if(typeof f=="object"&&f!==null)p=f;else if(typeof f<"u")throw new TypeError("'options' must be an object.")}else{let y=!1,v=Object.getOwnPropertyNames(i);for(let b of this.outputNames)if(v.indexOf(b)!==-1){let E=i[b];(E===null||E instanceof Me)&&(y=!0,c=!1,s[b]=E)}if(y){if(typeof f=="object"&&f!==null)p=f;else if(typeof f<"u")throw new TypeError("'options' must be an object.")}else p=i}}else if(typeof i<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let y of this.inputNames)if(typeof n[y]>"u")throw new Error(`input '${y}' is missing in 'feeds'.`);if(c)for(let y of this.outputNames)s[y]=null;let m=await this.handler.run(n,s,p),w={};for(let y in m)if(Object.hasOwnProperty.call(m,y)){let v=m[y];v instanceof Me?w[y]=v:w[y]=new Me(v.type,v.data,v.dims)}return tt("InferenceSession.run"),mt(),w}async release(){return this.handler.dispose()}static async create(n,i,f,s){ht(),et("InferenceSession.create");let p,c={};if(typeof n=="string"){if(p=n,typeof i=="object"&&i!==null)c=i;else if(typeof i<"u")throw new TypeError("'options' must be an object.")}else if(n instanceof Uint8Array){if(p=n,typeof i=="object"&&i!==null)c=i;else if(typeof i<"u")throw new TypeError("'options' must be an object.")}else if(n instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&n instanceof SharedArrayBuffer){let v=n,b=0,E=n.byteLength;if(typeof i=="object"&&i!==null)c=i;else if(typeof i=="number"){if(b=i,!Number.isSafeInteger(b))throw new RangeError("'byteOffset' must be an integer.");if(b<0||b>=v.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${v.byteLength}).`);if(E=n.byteLength-b,typeof f=="number"){if(E=f,!Number.isSafeInteger(E))throw new RangeError("'byteLength' must be an integer.");if(E<=0||b+E>v.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${v.byteLength-b}].`);if(typeof s=="object"&&s!==null)c=s;else if(typeof s<"u")throw new TypeError("'options' must be an object.")}else if(typeof f<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof i<"u")throw new TypeError("'options' must be an object.");p=new Uint8Array(v,b,E)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[m,w]=await ti(c),y=await m.createInferenceSessionHandler(p,w);return tt("InferenceSession.create"),mt(),new yi(y)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),bi,fl=G(()=>{ul(),bi=gi}),ll=G(()=>{}),cl=G(()=>{}),pl=G(()=>{}),dl=G(()=>{}),vi={};Rt(vi,{InferenceSession:()=>bi,TRACE:()=>Zr,TRACE_EVENT_BEGIN:()=>et,TRACE_EVENT_END:()=>tt,TRACE_FUNC_BEGIN:()=>ht,TRACE_FUNC_END:()=>mt,Tensor:()=>Me,env:()=>ee,registerBackend:()=>dt});var rt=G(()=>{tl(),nl(),fl(),mi(),ll(),cl(),wi(),pl(),dl()}),an=G(()=>{}),Ti={};Rt(Ti,{default:()=>Ei});var Rr,Lr,Ei,hl=G(()=>{var r;ki(),nt(),on(),Rr="ort-wasm-proxy-worker",Lr=((r=globalThis.self)==null?void 0:r.name)===Rr,Lr&&(self.onmessage=n=>{let{type:i,in:f}=n.data;try{switch(i){case"init-wasm":sn(f.wasm).then(()=>{pn(f).then(()=>{postMessage({type:i})},s=>{postMessage({type:i,err:s})})},s=>{postMessage({type:i,err:s})});break;case"init-ep":{let{epName:s,env:p}=f;dn(p,s).then(()=>{postMessage({type:i})},c=>{postMessage({type:i,err:c})});break}case"copy-from":{let{buffer:s}=f,p=Qt(s);postMessage({type:i,out:p});break}case"create":{let{model:s,options:p}=f;hn(s,p).then(c=>{postMessage({type:i,out:c})},c=>{postMessage({type:i,err:c})});break}case"release":mn(f),postMessage({type:i});break;case"run":{let{sessionId:s,inputIndices:p,inputs:c,outputIndices:m,options:w}=f;wn(s,p,c,m,new Array(m.length).fill(null),w).then(y=>{y.some(v=>v[3]!=="cpu")?postMessage({type:i,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:i,out:y},yn([...c,...y]))},y=>{postMessage({type:i,err:y})});break}case"end-profiling":gn(f),postMessage({type:i});break;default:}}catch(s){postMessage({type:i,err:s})}}),Ei=Lr?null:n=>new Worker(n??ye,{type:"module",name:Rr})}),xi={};Rt(xi,{default:()=>Ci});async function Uo(r={}){var Ao,Oo;var n=r,i=!!globalThis.window,f=!!globalThis.WorkerGlobalScope,s=f&&((Ao=self.name)==null?void 0:Ao.startsWith("em-pthread"));n.mountExternalData=(e,t)=>{e.startsWith("./")&&(e=e.substring(2)),(n.Vc||(n.Vc=new Map)).set(e,t)},n.unmountExternalData=()=>{delete n.Vc},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;let p=()=>{let e=t=>(...a)=>{let o=Ie;return a=t(...a),Ie!=o?new Promise((u,l)=>{fr={resolve:u,reject:l}}):a};(()=>{for(let t of["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"])n[t]=e(n[t])})(),typeof jsepRunAsync<"u"&&(n._OrtRun=jsepRunAsync(n._OrtRun),n._OrtRunWithBinding=jsepRunAsync(n._OrtRunWithBinding)),p=void 0};n.asyncInit=()=>{p==null||p()};var c,m,w=(e,t)=>{throw t},y=import.meta.url,v="";if(i||f){try{v=new URL(".",y).href}catch{}f&&(m=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),c=async e=>{if(de(e))return new Promise((a,o)=>{var u=new XMLHttpRequest;u.open("GET",e,!0),u.responseType="arraybuffer",u.onload=()=>{u.status==200||u.status==0&&u.response?a(u.response):o(u.status)},u.onerror=o,u.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw Error(t.status+" : "+t.url)}}var b,E,C,I,P,z,M=console.log.bind(console),L=console.error.bind(console),X=M,W=L,ne=!1,de=e=>e.startsWith("file://");function d(){_e.buffer!=k.buffer&&ke()}if(s){let e=function(t){try{var a=t.data,o=a.Pc;if(o==="load"){let u=[];self.onmessage=l=>u.push(l),z=()=>{postMessage({Pc:"loaded"});for(let l of u)e(l);self.onmessage=e};for(let l of a.ee)n[l]&&!n[l].proxy||(n[l]=(...h)=>{postMessage({Pc:"callHandler",de:l,args:h})},l=="print"&&(X=n[l]),l=="printErr"&&(W=n[l]));_e=a.ke,ke(),E=a.le,fe(),Vt()}else if(o==="run"){(function(u){var l=(d(),x)[u+52>>>2>>>0];u=(d(),x)[u+56>>>2>>>0],Pa(l,l-u),B(l)})(a.Oc),Tr(a.Oc,0,0,1,0,0),Tn(),ir(a.Oc),V||(wa(),V=!0);try{Xi(a.ie,a.Xc)}catch(u){if(u!="unwind")throw u}}else a.target!=="setimmediate"&&(o==="checkMailbox"?V&&$t():o&&(W(`worker: received unknown command ${o}`),W(a)))}catch(u){throw Ua(),u}};var V=!1;self.onunhandledrejection=t=>{throw t.reason||t},self.onmessage=e}var k,j,ie,ae,O,x,ze,Z,te,gt,$,he=!1;function ke(){var e=_e.buffer;n.HEAP8=k=new Int8Array(e),ie=new Int16Array(e),n.HEAPU8=j=new Uint8Array(e),ae=new Uint16Array(e),n.HEAP32=O=new Int32Array(e),n.HEAPU32=x=new Uint32Array(e),ze=new Float32Array(e),Z=new Float64Array(e),te=new BigInt64Array(e),gt=new BigUint64Array(e)}function J(){he=!0,s?z():Ne.$b()}function oe(e){throw W(e="Aborted("+e+")"),ne=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),P==null||P(e),e}function re(){return{a:{f:Zi,J:Ki,k:Ji,p:Qi,l:es,sa:ts,b:rs,ca:ns,Ja:Sn,q:as,da:Bn,Za:Rn,Fa:Ln,Ha:Pn,_a:$n,Xa:Nn,Qa:kn,Wa:_n,oa:Dn,Ga:Gn,Yb:Wn,Ya:Fn,Zb:Vn,db:os,Da:is,Tb:ss,Rb:fs,Ca:cs,M:ps,I:ds,Sb:hs,ja:Ts,Ub:Es,Ta:xs,Wb:As,Ka:Os,Pb:Ss,ka:Is,Sa:ir,ab:Us,U:Ls,n:_s,c:ar,rb:Ds,w:Gs,L:Ws,z:Fs,j:Vs,o:Kn,sb:zs,G:js,T:qs,h:Hs,u:Ys,m:Xs,i:Zs,Na:Ks,Oa:Js,Pa:Qs,La:ta,Ma:ra,Qb:na,eb:tu,cb:nu,Y:au,qb:ou,la:iu,bb:ru,fb:su,$a:uu,Xb:fu,N:eu,gb:lu,X:cu,Vb:pu,nb:Tu,C:Eu,ra:xu,qa:Cu,pb:Au,W:Ou,v:Su,mb:Iu,lb:Uu,kb:Mu,ob:Bu,jb:Ru,ib:Lu,hb:Pu,Ua:fa,Va:la,Ia:He,V:ca,na:p
vendor: 5,396 bytes, line 5
5a,Ra:da,ma:ha,Cb:qf,xa:Gf,Db:jf,ya:Df,F:If,e:hf,s:pf,x:cf,B:Cf,Fb:Nf,ba:$f,D:gf,za:kf,$:Wf,ga:Pf,Gb:Lf,Hb:Rf,Ba:Uf,Aa:Bf,Ib:Mf,wa:zf,aa:_f,d:df,A:wf,r:mf,Bb:Hf,t:bf,y:Of,H:yf,E:vf,K:Sf,R:Ff,ia:xf,_:Vf,Kb:Ef,Lb:Tf,Jb:Af,g:Nu,a:_e,Ob:Q,Eb:ku,ha:_u,O:Du,pa:Gu,Mb:Wu,ta:Fu,Q:Vu,yb:zu,zb:ju,ua:qu,ea:Hu,P:Yu,Ea:Xu,va:Zu,Z:Ku,wb:Ju,_b:Qu,S:ef,Ab:tf,tb:rf,ub:af,vb:of,fa:sf,xb:uf,Nb:ff}}}async function fe(){function e(o,u){var l=Ne=o.exports;o={};for(let[h,g]of Object.entries(l))typeof g=="function"?(l=Ms(g),o[h]=l):o[h]=g;return Ne=o,Ne=(function(){var h=Ne,g=A=>F=>A(F)>>>0,T=A=>()=>A()>>>0;return(h=Object.assign({},h)).ac=g(h.ac),h.Dc=T(h.Dc),h.Fc=g(h.Fc),h.sd=(A=>(F,S)=>A(F,S)>>>0)(h.sd),h.xd=g(h.xd),h.yd=T(h.yd),h.Cd=g(h.Cd),h})(),bn.push(Ne.jd),ma=(o=Ne).ac,wa=o.bc,n._OrtInit=o.cc,n._OrtGetLastError=o.dc,n._OrtCreateSessionOptions=o.ec,n._OrtAppendExecutionProvider=o.fc,n._OrtAddFreeDimensionOverride=o.gc,n._OrtAddSessionConfigEntry=o.hc,n._OrtReleaseSessionOptions=o.ic,n._OrtCreateSession=o.jc,n._OrtReleaseSession=o.kc,n._OrtGetInputOutputCount=o.lc,n._OrtGetInputOutputMetadata=o.mc,n._OrtFree=o.nc,n._OrtCreateTensor=o.oc,n._OrtGetTensorData=o.pc,n._OrtReleaseTensor=o.qc,n._OrtCreateRunOptions=o.rc,n._OrtAddRunConfigEntry=o.sc,n._OrtReleaseRunOptions=o.tc,n._OrtCreateBinding=o.uc,n._OrtBindInput=o.vc,n._OrtBindOutput=o.wc,n._OrtClearBoundOutputs=o.xc,n._OrtReleaseBinding=o.yc,n._OrtRunWithBinding=o.zc,n._OrtRun=o.Ac,n._OrtEndProfiling=o.Bc,mr=n._OrtGetWebGpuDevice=o.Cc,Wt=o.Dc,Oe=n._free=o.Ec,ft=n._malloc=o.Fc,ga=n._wgpuBufferRelease=o.Gc,ya=n._wgpuCreateInstance=o.Hc,ba=o.Ic,va=o.Jc,Ta=o.Kc,Ea=o.Lc,xa=o.Mc,Ca=o.Qc,Aa=o._c,Oa=o.$c,Sa=o.ad,wr=o.cd,gr=o.dd,yr=o.ed,br=o.fd,Et=o.gd,vr=o.hd,Ia=o.id,Tr=o.ld,Ua=o.md,Ma=o.nd,Ba=o.od,Er=o.pd,Ra=o.qd,La=o.rd,xr=o.sd,_=o.td,xt=o.ud,Pa=o.vd,B=o.wd,Ft=o.xd,R=o.yd,$a=o.zd,Cr=o.Ad,Na=o.Bd,ka=o.Cd,_a=o.Dd,Ar=o.Ed,Da=o.Fd,Ga=o.Gd,Wa=o.Hd,Fa=o.Id,Va=o.Jd,za=o.Kd,ja=o.Ld,qa=o.Md,Ha=o.Nd,Ya=o.Od,Xa=o.Pd,Za=o.Qd,Ka=o.Rd,Ja=o.Sd,Qa=o.Ud,eo=o.Vd,to=o.Wd,ro=o.Xd,no=o.Zd,ao=o._d,oo=o.$d,io=o.ae,so=o.be,uo=o.ce,fo=o.qe,lo=o.re,co=o.se,po=o.te,ho=o.ue,mo=o.ve,wo=o.we,go=o.xe,yo=o.ye,bo=o.ze,vo=o.Ae,To=o.$e,Eo=o.af,xo=o.bf,Co=o.cf,E=u,Ne}var t,a=re();return n.instantiateWasm?new Promise(o=>{n.instantiateWasm(a,(u,l)=>{o(e(u,l))})}):s?e(new WebAssembly.Instance(E,re()),E):($??($=n.locateFile?n.locateFile?n.locateFile("ort-wasm-simd-threaded.asyncify.wasm",v):v+"ort-wasm-simd-threaded.asyncify.wasm":new URL("/assets/ort-wasm-simd-threaded.asyncify-CvvOzbbq.wasm",import.meta.url).href),t=await(async function(o){var u=$;if(!b&&!de(u))try{var l=fetch(u,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(l,o)}catch(h){W(`wasm streaming compile failed: ${h}`),W("falling back to ArrayBuffer instantiation")}return(async function(h,g){try{var T=await(async function(A){if(!b)try{var F=await c(A);return new Uint8Array(F)}catch{}if(A==$&&b)A=new Uint8Array(b);else{if(!m)throw"both async and sync fetching of the wasm failed";A=m(A)}return A})(h);return await WebAssembly.instantiate(T,g)}catch(A){W(`failed to asynchronously prepare wasm: ${A}`),oe(A)}})(u,o)})(a),e(t.instance,t.module))}class je{constructor(t){So(this,"name","ExitStatus");this.message=`Program terminated with exit(${t})`,this.status=t}}var qe=e=>{e.terminate(),e.onmessage=()=>{}},yt=[],at=0,we=null,Ce=e=>{Ee.length==0&&(xn(),En(Ee[0]));var t=Ee.pop();if(!t)return 6;bt.push(t),Ye[e.Oc]=t,t.Oc=e.Oc;var a={Pc:"run",ie:e.he,Xc:e.Xc,Oc:e.Oc};return t.postMessage(a,e.Zc),0},H=0,N=(e,t,...a)=>{var o,u=16*a.length,l=R(),h=Ft(u),g=h>>>3;for(o of a)typeof o=="bigint"?((d(),te)[g++>>>0]=1n,(d(),te)[g++>>>0]=o):((d(),te)[g++>>>0]=0n,(d(),Z)[g++>>>0]=o);return e=Ma(e,0,u,h,t),B(l),e};function Q(e){if(s)return N(0,1,e);if(C=e,!(0<H)){for(var t of bt)qe(t);for(t of Ee)qe(t);Ee=[],bt=[],Ye={},ne=!0}w(0,new je(e))}function Te(e){if(s)return N(1,0,e);He(e)}var He=e=>{if(C=e,s)throw Te(e),"unwind";Q(e)},Ee=[],bt=[],bn=[],Ye={},vn=e=>{var t=e.Oc;delete Ye[t],Ee.push(e),bt.splice(bt.indexOf(e),1),e.Oc=0,Ba(t)};function Tn(){bn.forEach(e=>e())}var En=e=>new Promise(t=>{e.onmessage=u=>{var l=u.data;if(u=l.Pc,l.Wc&&l.Wc!=Wt()){var h=Ye[l.Wc];h?h.postMessage(l,l.Zc):W(`Internal error! Worker sent a message "${u}" to target pthread ${l.Wc}, but that thread no longer exists!`)}else u==="checkMailbox"?$t():u==="spawnThread"?Ce(l):u==="cleanupThread"?me(()=>{vn(Ye[l.je])}):u==="loaded"?(e.loaded=!0,t(e)):l.target==="setimmediate"?e.postMessage(l):u==="uncaughtException"?e.onerror(l.error):u==="callHandler"?n[l.de](...l.args):u&&W(`worker sent an unknown command ${u}`)},e.onerror=u=>{throw W(`worker sent an error! ${u.filename}:${u.lineno}: ${u.message}`),u};var a,o=[];for(a of[])n.propertyIsEnumerable(a)&&o.push(a);e.postMessage({Pc:"load",ee:o,ke:_e,le:E})});function xn(){var e=new Worker((()=>{let t=URL;return import.meta.url>"file:"&&import.meta.url<"file;"?new t("ort.webgpu.bundle.min.mjs",import.meta.url):new URL(import.meta.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});Ee.push(e)}var _e,Xi=(e,t)=>{H=0,e=Ar(e,t),0<H?C=e:Er(e)},Lt=[],Pt=0,le=e=>-9007199254740992>e||9007199254740992<e?NaN:Number(e);function Zi(e){var t=new er(e>>>=0);return(d(),k)[t.Rc+12>>>0]==0&&(Cn(t,!0),Pt--),An(t,!1),Lt.push(t),ka(e)}var ot=0,Ki=()=>{_(0,0);var e=Lt.pop();$a(e.Yc),ot=0};function Cn(e,t){t=t?1:0,(d(),k)[e.Rc+12>>>0]=t}
vendor: 10,246 bytes, lines 5-7
5function An(e,t){t=t?1:0,(d(),k)[e.Rc+13>>>0]=t}class er{constructor(t){this.Yc=t,this.Rc=t-24}}var tr=e=>{var t=ot;if(!t)return xt(0),0;var a=new er(t);(d(),x)[a.Rc+16>>>2>>>0]=t;var o=(d(),x)[a.Rc+4>>>2>>>0];if(!o)return xt(0),t;for(var u of e){if(u===0||u===o)break;if(Na(u,o,a.Rc+16))return xt(u),t}return xt(o),t};function Ji(){return tr([])}function Qi(e){return tr([e>>>0])}function es(e,t,a,o){return tr([e>>>0,t>>>0,a>>>0,o>>>0])}var ts=()=>{var e=Lt.pop();e||oe("no exception to throw");var t=e.Yc;throw(d(),k)[e.Rc+13>>>0]==0&&(Lt.push(e),An(e,!0),Cn(e,!1),Pt++),Cr(t),ot=t};function rs(e,t,a){var o=new er(e>>>=0);throw t>>>=0,a>>>=0,(d(),x)[o.Rc+16>>>2>>>0]=0,(d(),x)[o.Rc+4>>>2>>>0]=t,(d(),x)[o.Rc+8>>>2>>>0]=a,Cr(e),Pt++,ot=e}var ns=()=>Pt;function On(e,t,a,o){return s?N(2,1,e,t,a,o):Sn(e,t,a,o)}function Sn(e,t,a,o){if(e>>>=0,t>>>=0,a>>>=0,o>>>=0,!globalThis.SharedArrayBuffer)return 6;var u=[];return s&&u.length===0?On(e,t,a,o):(e={he:a,Oc:e,Xc:o,Zc:u},s?(e.Pc="spawnThread",postMessage(e,u),0):Ce(e))}function as(e){throw ot||(ot=e>>>0),ot}var In=globalThis.TextDecoder&&new TextDecoder,Un=(e,t,a,o)=>{if(a=t+a,o)return a;for(;e[t]&&!(t>=a);)++t;return t},Mn=(e,t=0,a,o)=>{if(16<(a=Un(e,t>>>=0,a,o))-t&&e.buffer&&In)return In.decode(e.buffer instanceof ArrayBuffer?e.subarray(t,a):e.slice(t,a));for(o="";t<a;){var u=e[t++];if(128&u){var l=63&e[t++];if((224&u)==192)o+=String.fromCharCode((31&u)<<6|l);else{var h=63&e[t++];65536>(u=(240&u)==224?(15&u)<<12|l<<6|h:(7&u)<<18|l<<12|h<<6|63&e[t++])?o+=String.fromCharCode(u):(u-=65536,o+=String.fromCharCode(55296|u>>10,56320|1023&u))}}else o+=String.fromCharCode(u)}return o},it=(e,t,a)=>(e>>>=0)?Mn((d(),j),e,t,a):"";function Bn(e,t,a){return s?N(3,1,e,t,a):0}function Rn(e,t){if(s)return N(4,1,e,t)}function Ln(e,t){if(s)return N(5,1,e,t)}function Pn(e,t,a){if(s)return N(6,1,e,t,a)}function $n(e,t,a){return s?N(7,1,e,t,a):0}function Nn(e,t){if(s)return N(8,1,e,t)}function kn(e,t,a){if(s)return N(9,1,e,t,a)}function _n(e,t,a,o){if(s)return N(10,1,e,t,a,o)}function Dn(e,t,a,o){if(s)return N(11,1,e,t,a,o)}function Gn(e,t,a,o){if(s)return N(12,1,e,t,a,o)}function Wn(e){if(s)return N(13,1,e)}function Fn(e,t){if(s)return N(14,1,e,t)}function Vn(e,t,a){if(s)return N(15,1,e,t,a)}var os=()=>oe(""),Se=e=>{e>>>=0;for(var t="";;){var a=(d(),j)[e++>>>0];if(!a)return t;t+=String.fromCharCode(a)}},rr={},nr={},st=class extends Error{constructor(e){super(e),this.name="BindingError"}};function Be(e,t,a={}){return(function(o,u,l={}){var h=u.name;if(!o)throw new st(`type "${h}" must have a positive integer typeid pointer`);if(nr.hasOwnProperty(o)){if(l.fe)return;throw new st(`Cannot register type '${h}' twice`)}nr[o]=u,rr.hasOwnProperty(o)&&(u=rr[o],delete rr[o],u.forEach(g=>g()))})(e,t,a)}var zn=(e,t,a)=>{switch(t){case 1:return a?o=>(d(),k)[o>>>0]:o=>(d(),j)[o>>>0];case 2:return a?o=>(d(),ie)[o>>>1>>>0]:o=>(d(),ae)[o>>>1>>>0];case 4:return a?o=>(d(),O)[o>>>2>>>0]:o=>(d(),x)[o>>>2>>>0];case 8:return a?o=>(d(),te)[o>>>3>>>0]:o=>(d(),gt)[o>>>3>>>0];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}};function is(e,t,a,o,u){e>>>=0,a>>>=0,t=Se(t>>>0);let l=h=>h;if(o=o===0n){let h=8*a;l=g=>BigInt.asUintN(h,g),u=l(u)}Be(e,{name:t,Nc:l,Tc:(h,g)=>(typeof g=="number"&&(g=BigInt(g)),g),Sc:zn(t,a,!o),Uc:null})}function ss(e,t,a,o){Be(e>>>=0,{name:t=Se(t>>>0),Nc:function(u){return!!u},Tc:function(u,l){return l?a:o},Sc:function(u){return this.Nc((d(),j)[u>>>0])},Uc:null})}var jn=[],Xe=[0,1,,1,null,1,!0,1,!1,1];function ar(e){9<(e>>>=0)&&--Xe[e+1]===0&&(Xe[e]=void 0,jn.push(e))}var xe=e=>{if(!e)throw new st(`Cannot use deleted val. handle = ${e}`);return Xe[e]},Ae=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let t=jn.pop()||Xe.length;return Xe[t]=e,Xe[t+1]=1,t}};function or(e){return this.Nc((d(),x)[e>>>2>>>0])}var us={name:"emscripten::val",Nc:e=>{var t=xe(e);return ar(e),t},Tc:(e,t)=>Ae(t),Sc:or,Uc:null};function fs(e){return Be(e>>>0,us)}var ls=(e,t)=>{switch(t){case 4:return function(a){return this.Nc((d(),ze)[a>>>2>>>0])};case 8:return function(a){return this.Nc((d(),Z)[a>>>3>>>0])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}};function cs(e,t,a){a>>>=0,Be(e>>>=0,{name:t=Se(t>>>0),Nc:o=>o,Tc:(o,u)=>u,Sc:ls(t,a),Uc:null})}function ps(e,t,a,o,u){e>>>=0,a>>>=0,t=Se(t>>>0);let l=g=>g;if(o===0){var h=32-8*a;l=g=>g<<h>>>h,u=l(u)}Be(e,{name:t,Nc:l,Tc:(g,T)=>T,Sc:zn(t,a,o!==0),Uc:null})}function ds(e,t,a){function o(l){var h=(d(),x)[l>>>2>>>0];return l=(d(),x)[l+4>>>2>>>0],new u((d(),k).buffer,l,h)}var u=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];Be(e>>>=0,{name:a=Se(a>>>0),Nc:o,Sc:o},{fe:!0})}var Re=(e,t,a)=>{var o=(d(),j);if(t>>>=0,0<a){var u=t;a=t+a-1;for(var l=0;l<e.length;++l){var h=e.codePointAt(l);if(127>=h){if(t>=a)break;o[t++>>>0]=h}else if(2047>=h){if(t+1>=a)break;o[t++>>>0]=192|h>>6,o[t++>>>0]=128|63&h}else if(65535>=h){if(t+2>=a)break;o[t++>>>0]=224|h>>12,o[t++>>>0]=128|h>>6&63,o[t++>>>0]=128|63&h}else{if(t+3>=a)break;o[t++>>>0]=240|h>>18,o[t++>>>0]=128|h>>12&63,o[t++>>>0]=128|h>>6&63,o[t++>>>0]=128|63&h,l++}}o[t>>>0]=0,e=t-u}else e=0;return e},Le=e=>{for(var t=0,a=0;a<e.length;++a){var o=e.charCodeAt(a);127>=o?t++:2047>=o?t+=2:55296<=o&&57343>=o?(t+=4,++a):t+=3}return t};function hs(e,t){Be(e>>>=0,{name:t=Se(t>>>0),Nc(a){var o=(d(),x)[a>>>2>>>0];return o=it(a+4,o,!0),Oe(a),o},Tc(a,o){o instanceof ArrayBuffer&&(o=new Uint8Array(o));var u=typeof o=="string";if(!(u||ArrayBuffer.isView(o)&&o.BYTES_PER_ELEMENT==1))throw new st("Cannot pass non-string to std::string");var l=u?Le(o):o.length,h=ft(4+l+1),g=h+4;return(d(),x)[h>>>2>>>0]=l,u?Re(o,g,l+1):(d(),j).set(o,g>>>0),a!==null&&a.push(Oe,h),h},Sc:or,Uc(a){Oe(a)}})}var qn=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,ms=(e,t,a)=>{if(e>>>=1,16<(t=Un((d(),ae),e,t/2,a))-e&&qn)return qn.decode((d(),ae).slice(e,t));for(a="";e<t;++e){var o=(d(),ae)[e>>>0];a+=String.fromCharCode(o)}return a},ws=(e,t,a)=>{if(a??(a=2147483647),2>a)return 0;var o=t;a=(a-=2)<2*e.length?a/2:e.length;for(var u=0;u<a;++u){var l=e.charCodeAt(u);(d(),ie)[t>>>1>>>0]=l,t+=2}return(d(),ie)[t>>>1>>>0]=0,t-o},gs=e=>2*e.length,ys=(e,t,a)=>{var o="";e>>>=2;for(var u=0;!(u>=t/4);u++){var l=(d(),x)[e+u>>>0];if(!l&&!a)break;o+=String.fromCodePoint(l)}return o},bs=(e,t,a)=>{if(t>>>=0,a??(a=2147483647),4>a)return 0;var o=t;a=o+a-4;for(var u=0;u<e.length;++u){var l=e.codePointAt(u);if(65535<l&&u++,(d(),O)[t>>>2>>>0]=l,(t+=4)+4>a)break}return(d(),O)[t>>>2>>>0]=0,t-o},vs=e=>{for(var t=0,a=0;a<e.length;++a)65535<e.codePointAt(a)&&a++,t+=4;return t};function Ts(e,t,a){if(e>>>=0,t>>>=0,a=Se(a>>>=0),t===2)var o=ms,u=ws,l=gs;else o=ys,u=bs,l=vs;Be(e,{name:a,Nc:h=>{var g=(d(),x)[h>>>2>>>0];return g=o(h+4,g*t,!0),Oe(h),g},Tc:(h,g)=>{if(typeof g!="string")throw new st(`Cannot pass non-string to C++ string type ${a}`);var T=l(g),A=ft(4+T+t);return(d(),x)[A>>>2>>>0]=T/t,u(g,A+4,T+t),h!==null&&h.push(Oe,A),A},Sc:or,Uc(h){Oe(h)}})}function Es(e,t){Be(e>>>=0,{ge:!0,name:t=Se(t>>>0),Nc:()=>{},Tc:()=>{}})}function xs(e){Tr(e>>>0,!f,1,!i,131072,!1),Tn()}var me=e=>{if(!ne)try{if(e(),!(0<H))try{s?Wt()&&Er(C):He(C)}catch(t){t instanceof je||t=="unwind"||w(0,t)}}catch(t){t instanceof je||t=="unwind"||w(0,t)}},Cs=!Atomics.waitAsync||((Oo=globalThis.navigator)==null?void 0:Oo.userAgent)&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function ir(e){e>>>=0,Cs||(Atomics.waitAsync((d(),O),e>>>2,e).value.then($t),e+=128,Atomics.store((d(),O),e>>>2,1))}var $t=()=>me(()=>{var e=Wt();e&&(ir(e),La())});function As(e,t){(e>>>=0)==t>>>0?setTimeout($t):s?postMessage({Wc:e,Pc:"checkMailbox"}):(e=Ye[e])&&e.postMessage({Pc:"checkMailbox"})}var sr=[];function Os(e,t,a,o,u){for(t>>>=0,u>>>=0,sr.length=0,a=u>>>3,o=u+o>>>3;a<o;){var l;l=(d(),te)[a++>>>0]?(d(),te)[a++>>>0]:(d(),Z)[a++>>>0],sr.push(l)}return(t?Or[t]:lf[e])(...sr)}var Ss=()=>{H=0};function Is(e){e>>>=0,s?postMessage({Pc:"cleanupThread",je:e}):vn(Ye[e])}function Us(e){}var Nt=e=>{try{e()}catch(t){oe(t)}};function Ms(e){var t=(...a)=>{kt.push(e);try{return e(...a)}finally{ne||(kt.pop(),Ie&&De===1&&kt.length===0&&(De=0,H+=1,Nt(Eo),typeof Fibers<"u"&&Fibers.De()))}};return Xn.set(e,t),t}var De=0,Ie=null,Hn=0,kt=[],ur=new Map,Yn=new Map,Xn=new Map,Bs=0,fr=null,Rs=[],Zn=e=>(function(t){if(!ne){if(De===0){var a=!1,o=!1;t((u=0)=>{if(!ne&&(Hn=u,a=!0,o)){De=2,Nt(()=>xo(Ie)),typeof MainLoop<"u"&&MainLoop.Yd&&MainLoop.resume(),u=!1;try{var l=(function(){var T=(d(),O)[Ie+8>>>2>>>0];return T=Yn.get(T),T=Xn.get(T),--H,T()})()}catch(T){l=T,u=!0}var h=!1;if(!Ie){var g=fr;g&&(fr=null,(u?g.reject:g.resolve)(l),h=!0)}if(u&&!h)throw l}}),o=!0,a||(De=1,Ie=(function(){var u=ft(65548),l=u+12;if((d(),x)[u>>>2>>>0]=l,(d(),x)[u+4>>>2>>>0]=l+65536,l=kt[0],!ur.has(l)){var h=Bs++;ur.set(l,h),Yn.set(h,l)}return l=ur.get(l),(d(),O)[u+8>>>2>>>0]=l,u})(),typeof MainLoop<"u"&&MainLoop.Yd&&MainLoop.pause(),Nt(()=>To(Ie)))}else De===2?(De=0,Nt(Co),Oe(Ie),Ie=null,Rs.forEach(me)):oe(`invalid state: ${De}`);return Hn}})(t=>{e().then(t)});function Ls(e){return e>>>=0,Zn(async()=>{var t=await xe(e);return Ae(t)})}var lr=[],Ps=e=>{var t=lr.length;return lr.push(e),t},$s=(e,t)=>{for(var a=Array(e),o=0;o<e;++o){var u=o,l=(d(),x)[t+4*o>>>2>>>0],h=nr[l];if(h===void 0)throw e=`parameter ${o}`,l=ma(l),t=Se(l),Oe(l),new st(`${e} has unknown type ${t}`);a[u]=h}return a},Ns=(e,t,a)=>{var o=[];return e=e(o,a),o.length&&((d(),x)[t>>>2>>>0]=Ae(o)),e},ks={},_t=e=>{var t=ks[e];return t===void 0?Se(e):t};function _s(e,t,a){var[o,...u]=$s(e,t>>>0);t=o.Tc.bind(o);var l=u.map(T=>T.Sc.bind(T));e--;var h={toValue:xe};switch(e=l.map((T,A)=>{var F=`argFromPtr${A}`;return h[F]=T,`${F}(args${A?"+"+8*A:""})`}),a){case 0:var g="toValue(handle)";break;case 2:g="new (toValue(handle))";break;case 3:g="";break;case 1:h.getStringOrSymbol=_t,g="toValue(handle)[getStringOrSymbol(methodName)]"}return g+=`(${e})`,o.ge||(h.toReturnWire=t,h.emval_returnValue=Ns,g=`return emval_returnValue(toReturnWire, destructorsRef, ${g})`),g=`return function (handle, methodName, destructorsRef, args) {
6  ${g}
7  }`,a=new Function(Object.keys(h),g)(...Object.values(h)),g=`methodCaller<(${u.map(T=>T.name)}
7) => ${o.name}>`,Ps(Object.defineProperty(a,"name",{value:g}))}function Ds(e,t){return t>>>=0,(e=xe(e>>>0))==xe(t)}function Gs(e){return(e>>>=0)?(e=_t(e),Ae(globalThis[e])):Ae(globalThis)}function Ws(e){return e=_t(e>>>0),Ae(n[e])}function Fs(e,t){return t>>>=0,e=xe(e>>>0),t=xe(t),Ae(e[t])}function Vs(e){9<(e>>>=0)&&(Xe[e+1]+=1)}function Kn(e,t,a,o,u){return lr[e>>>0](t>>>0,a>>>0,o>>>0,u>>>0)}function zs(e,t,a,o,u){return Kn(e>>>0,t>>>0,a>>>0,o>>>0,u>>>0)}function js(){return Ae([])}function qs(e){e=xe(e>>>0);for(var t=Array(e.length),a=0;a<e.length;a++)t[a]=e[a];return Ae(t)}function Hs(e){return Ae(_t(e>>>0))}function Ys(){return Ae({})}function Xs(e){for(var t=xe(e>>>=0);t.length;){var a=t.pop();t.pop()(a)}ar(e)}function Zs(e,t,a){t>>>=0,a>>>=0,e=xe(e>>>0),t=xe(t),a=xe(a),e[t]=a}function Ks(e,t){e=le(e),t>>>=0,e=new Date(1e3*e),(d(),O)[t>>>2>>>0]=e.getUTCSeconds(),(d(),O)[t+4>>>2>>>0]=e.getUTCMinutes(),(d(),O)[t+8>>>2>>>0]=e.getUTCHours(),(d(),O)[t+12>>>2>>>0]=e.getUTCDate(),(d(),O)[t+16>>>2>>>0]=e.getUTCMonth(),(d(),O)[t+20>>>2>>>0]=e.getUTCFullYear()-1900,(d(),O)[t+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(d(),O)[t+28>>>2>>>0]=e}var Jn=e=>e%4==0&&(e%100!=0||e%400==0),Qn=[0,31,60,91,121,152,182,213,244,274,305,335],ea=[0,31,59,90,120,151,181,212,243,273,304,334];function Js(e,t){e=le(e),t>>>=0,e=new Date(1e3*e),(d(),O)[t>>>2>>>0]=e.getSeconds(),(d(),O)[t+4>>>2>>>0]=e.getMinutes(),(d(),O)[t+8>>>2>>>0]=e.getHours(),(d(),O)[t+12>>>2>>>0]=e.getDate(),(d(),O)[t+16>>>2>>>0]=e.getMonth(),(d(),O)[t+20>>>2>>>0]=e.getFullYear()-1900,(d(),O)[t+24>>>2>>>0]=e.getDay();var a=(Jn(e.getFullYear())?Qn:ea)[e.getMonth()]+e.getDate()-1|0;(d(),O)[t+28>>>2>>>0]=a,(d(),O)[t+36>>>2>>>0]=-60*e.getTimezoneOffset(),a=new Date(e.getFullYear(),6,1).getTimezoneOffset();var o=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=0|(a!=o&&e.getTimezoneOffset()==Math.min(o,a)),(d(),O)[t+32>>>2>>>0]=e}function Qs(e){e>>>=0;var t=new Date((d(),O)[e+20>>>2>>>0]+1900,(d(),O)[e+16>>>2>>>0],(d(),O)[e+12>>>2>>>0],(d(),O)[e+8>>>2>>>0],(d(),O)[e+4>>>2>>>0],(d(),O)[e>>>2>>>0],0),a=(d(),O)[e+32>>>2>>>0],o=t.getTimezoneOffset(),u=new Date(t.getFullYear(),6,1).getTimezoneOffset(),l=new Date(t.getFullYear(),0,1).getTimezoneOffset(),h=Math.min(l,u);return 0>a?(d(),O)[e+32>>>2>>>0]=+(u!=l&&h==o):0<a!=(h==o)&&(u=Math.max(l,u),t.setTime(t.getTime()+6e4*((0<a?h:u)-o))),(d(),O)[e+24>>>2>>>0]=t.getDay(),a=(Jn(t.getFullYear())?Qn:ea)[t.getMonth()]+t.getDate()-1|0,(d(),O)[e+28>>>2>>>0]=a,(d(),O)[e>>>2>>>0]=t.getSeconds(),(d(),O)[e+4>>>2>>>0]=t.getMinutes(),(d(),O)[e+8>>>2>>>0]=t.getHours(),(d(),O)[e+12>>>2>>>0]=t.getDate(),(d(),O)[e+16>>>2>>>0]=t.getMonth(),(d(),O)[e+20>>>2>>>0]=t.getYear(),e=t.getTime(),BigInt(isNaN(e)?-1:e/1e3)}function ta(e,t,a,o,u,l,h){return s?N(16,1,e,t,a,o,u,l,h):-52}function ra(e,t,a,o,u,l){if(s)return N(17,1,e,t,a,o,u,l)}var vt={},eu=()=>performance.timeOrigin+performance.now();function na(e,t){if(s)return N(18,1,e,t);if(vt[e]&&(clearTimeout(vt[e].id),delete vt[e]),!t)return 0;var a=setTimeout(()=>{delete vt[e],me(()=>Ra(e,performance.timeOrigin+performance.now()))},t);return vt[e]={id:a,Ce:t},0}function tu(e,t,a,o){e>>>=0,t>>>=0,a>>>=0,o>>>=0;var u=new Date().getFullYear(),l=new Date(u,0,1).getTimezoneOffset();u=new Date(u,6,1).getTimezoneOffset();var h=Math.max(l,u);(d(),x)[e>>>2>>>0]=60*h,(d(),O)[t>>>2>>>0]=+(l!=u),e=(t=g=>{var T=Math.abs(g);return`UTC${0<=g?"-":"+"}${String(Math.floor(T/60)).padStart(2,"0")}${String(T%60).padStart(2,"0")}`})(l),t=t(u),u<l?(Re(e,a,17),Re(t,o,17)):(Re(e,o,17),Re(t,a,17))}var ru=()=>Date.now();function nu(e,t,a){return a>>>=0,0<=e&&3>=e?(e===0?e=Date.now():e=performance.timeOrigin+performance.now(),e=Math.round(1e6*e),(d(),te)[a>>>3>>>0]=BigInt(e),0):28}var cr=[],aa=(e,t)=>{cr.length=0;for(var a;a=(d(),j)[e++>>>0];){var o=a!=105;t+=(o&=a!=112)&&t%8?4:0,cr.push(a==112?(d(),x)[t>>>2>>>0]:a==106?(d(),te)[t>>>3>>>0]:a==105?(d(),O)[t>>>2>>>0]:(d(),Z)[t>>>3>>>0]),t+=o?8:4}return cr};function au(e,t,a){return e>>>=0,t=aa(t>>>0,a>>>0),Or[e](...t)}function ou(e,t,a){return e>>>=0,t=aa(t>>>0,a>>>0),Or[e](...t)}var iu=()=>{};function su(e,t){return W(it(e>>>0,t>>>0))}var uu=()=>{throw H+=1,"unwind"};function fu(){return 4294901760}var lu=()=>1,cu=()=>navigator.hardwareConcurrency;function pu(e){e>>>=0;var t=(d(),j).length;if(e<=t||4294901760<e)return!1;for(var a=1;4>=a;a*=2){var o=t*(1+.2/a);o=Math.min(o,e+100663296);e:{o=(Math.min(4294901760,65536*Math.ceil(Math.max(e,o)/65536))-_e.buffer.byteLength+65535)/65536|0;try{_e.grow(o),ke();var u=1;break e}catch{}u=void 0}if(u)return!0}return!1}var Ue=e=>{var t=Le(e)+1,a=Ft(t);return Re(e,a,t),a},pr=(e,t)=>
7{(d(),x)[e>>>2>>>0]=t;var a=(d(),x)[e>>>2>>>0];(d(),x)[e+4>>>2>>>0]=(t-a)/4294967296},Tt=e=>(d(),x)[e>>>2>>>0]+4294967296*(d(),O)[e+4>>>2>>>0],ce=[],du=(e,t)=>{ce[e>>>0]=t},Pe=[],Dt=[],ut=(e,t)=>{Dt[e]=new Promise(a=>t.finally(()=>a(e)))},U=e=>{if(e)return ce[e>>>0]},hu=(e,t)=>{for(e=(d(),x)[e>>>2>>>0];e;e=(d(),x)[e>>>2>>>0])t[(d(),O)[e+4>>>2>>>0]](e)},Gt=(e,t,a)=>{(d(),x)[e>>>2>>>0]=t,(d(),x)[e+4>>>2>>>0]=a},oa=e=>{var t=(d(),x)[e>>>2>>>0];return e=(d(),x)[e+4>>>2>>>0],it(t,e)},$e=e=>{var t=(d(),x)[e>>>2>>>0];return e=(d(),x)[e+4>>>2>>>0],t?it(t,e):e===0?"":void 0},mu=e=>{var t=$e(e+4),a=(a=(d(),x)[e+12>>>2>>>0])?U(a):"auto";if(e+=16){var o=U((d(),x)[e+4>>>2>>>0]),u=(d(),x)[e+16>>>2>>>0],l=(d(),x)[e+20>>>2>>>0];if(u){for(var h={},g=0;g<u;++g){var T=l+24*g;h[oa(T+4)]=(d(),Z)[T+16>>>3>>>0]}u=h}else u=void 0;e={module:o,constants:u,entryPoint:$e(e+8)}}else e=void 0;return{label:t,layout:a,compute:e}},ia=(e,t)=>{function a(o,u){o=e[o],(d(),x)[t+u>>>2>>>0]=o}a("maxTextureDimension1D",4),a("maxTextureDimension2D",8),a("maxTextureDimension3D",12),a("maxTextureArrayLayers",16),a("maxBindGroups",20),a("maxBindGroupsPlusVertexBuffers",24),a("maxBindingsPerBindGroup",28),a("maxDynamicUniformBuffersPerPipelineLayout",32),a("maxDynamicStorageBuffersPerPipelineLayout",36),a("maxSampledTexturesPerShaderStage",40),a("maxSamplersPerShaderStage",44),a("maxStorageBuffersPerShaderStage",48),a("maxStorageTexturesPerShaderStage",52),a("maxUniformBuffersPerShaderStage",56),a("minUniformBufferOffsetAlignment",80),a("minStorageBufferOffsetAlignment",84),pr(t+64,e.maxUniformBufferBindingSize),pr(t+72,e.maxStorageBufferBindingSize),a("maxVertexBuffers",88),pr(t+96,e.maxBufferSize),a("maxVertexAttributes",104),a("maxVertexBufferArrayStride",108),a("maxInterStageShaderVariables",112),a("maxColorAttachments",116),a("maxColorAttachmentBytesPerSample",120),a("maxComputeWorkgroupStorageSize",124),a("maxComputeInvocationsPerWorkgroup",128),a("maxComputeWorkgroupSizeX",132),a("maxComputeWorkgroupSizeY",136),a("maxComputeWorkgroupSizeZ",140),a("maxComputeWorkgroupsPerDimension",144),e.Be!==void 0&&a("maxImmediateSize",148)},wu=[,"validation","out-of-memory","internal"],gu=[,"compatibility","core"],sa={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect"},yu=[,"low-power","high-performance"],bu=[,"occlusion","timestamp"],vu={undefined:1,unknown:1,destroyed:2};function Tu(e,t,a,o,u,l){t=le(t),a=le(a),o>>>=0,u>>>=0,l>>>=0;var h=U(e>>>0);if(e={},l){var g=(d(),x)[l+12>>>2>>>0];if(g){var T=(d(),x)[l+16>>>2>>>0];e.requiredFeatures=Array.from((d(),x).subarray(T>>>2>>>0,T+4*g>>>2>>>0),S=>sa[S])}var A=(d(),x)[l+20>>>2>>>0];if(A){let S=function(K,se,Ct=!1){se=A+se,(se=(d(),x)[se>>>2>>>0])==4294967295||Ct&&se==0||(F[K]=se)},D=function(K,se){se=A+se;var Ct=(d(),x)[se>>>2>>>0],Sr=(d(),x)[se+4>>>2>>>0];Ct==4294967295&&Sr==4294967295||(F[K]=Tt(se))};var F={};S("maxTextureDimension1D",4),S("maxTextureDimension2D",8),S("maxTextureDimension3D",12),S("maxTextureArrayLayers",16),S("maxBindGroups",20),S("maxBindGroupsPlusVertexBuffers",24),S("maxDynamicUniformBuffersPerPipelineLayout",32),S("maxDynamicStorageBuffersPerPipelineLayout",36),S("maxSampledTexturesPerShaderStage",40),S("maxSamplersPerShaderStage",44),S("maxStorageBuffersPerShaderStage",48),S("maxStorageTexturesPerShaderStage",52),S("maxUniformBuffersPerShaderStage",56),S("minUniformBufferOffsetAlignment",80),S("minStorageBufferOffsetAlignment",84),D("maxUniformBufferBindingSize",64),D("maxStorageBufferBindingSize",72),S("maxVertexBuffers",88),D("maxBufferSize",96),S("maxVertexAttributes",104),S("maxVertexBufferArrayStride",108),S("maxInterStageShaderVariables",112),S("maxColorAttachments",116),S("maxColorAttachmentBytesPerSample",120),S("maxComputeWorkgroupStorageSize",124),S("maxComputeInvocationsPerWorkgroup",128),S("maxComputeWorkgroupSizeX",132),S("maxComputeWorkgroupSizeY",136),S("maxComputeWorkgroupSizeZ",140),S("maxComputeWorkgroupsPerDimension",144),S("maxImmediateSize",148,!0),e.requiredLimits=F}(g=(d(),x)[l+24>>>2>>>
vendor: 5,611 bytes, line 7
70])&&(g={label:$e(g+4)},e.defaultQueue=g),e.label=$e(l+4)}H+=1,ut(t,h.requestDevice(e).then(S=>{--H,me(()=>{ce[u>>>0]=S.queue,ce[o>>>0]=S,H+=1,ut(a,S.lost.then(D=>{me(()=>{S.onuncapturederror=()=>{};var K=R(),se=Ue(D.message);gr(a,vu[D.reason],se),B(K)}),--H})),S.onuncapturederror=D=>{var K=5;D.error instanceof GPUValidationError?K=2:D.error instanceof GPUOutOfMemoryError?K=3:D.error instanceof GPUInternalError&&(K=4);var se=R();D=Ue(D.error.message),Ia(o,K,D),B(se)},"adapterInfo"in S||(S.adapterInfo=h.info),vr(t,1,o,0)})},S=>{--H,me(()=>{var D=R(),K=Ue(S.message);vr(t,3,o,K),a&&gr(a,4,K),B(D)})}))}function Eu(e){var t=U(e>>>=0),a=Pe[e];if(a){for(var o=0;o<a.length;++o)a[o]();delete Pe[e]}t.destroy()}function xu(e,t,a){a>>>=0;var o=U(e>>>=0);a==4294967295&&(a=void 0);try{var u=o.getMappedRange(t>>>0,a)}catch{return 0}var l=xr(16,u.byteLength);return(d(),j).set(new Uint8Array(u),l>>>0),Pe[e].push(()=>Oe(l)),l}function Cu(e,t,a){a>>>=0;var o=U(e>>>=0);a==4294967295&&(a=void 0);try{var u=o.getMappedRange(t>>>0,a)}catch{return 0}var l=xr(16,u.byteLength);return(d(),j).fill(0,l,u.byteLength),Pe[e].push(()=>{new Uint8Array(u).set((d(),j).subarray(l>>>0,l+u.byteLength>>>0)),Oe(l)}),l}function Au(e,t,a,o,u){e>>>=0,t=le(t),a=le(a),u>>>=0;var l=U(e);Pe[e]=[],u==4294967295&&(u=void 0),H+=1,ut(t,l.mapAsync(a,o>>>0,u).then(()=>{--H,me(()=>{yr(t,1,0)})},h=>{--H,me(()=>{R();var g=Ue(h.message);yr(t,h.name==="AbortError"?4:h.name==="OperationError"?3:0,g),delete Pe[e]})}))}function Ou(e){var t=U(e>>>=0),a=Pe[e];if(a){for(var o=0;o<a.length;++o)a[o]();delete Pe[e],t.unmap()}}function Su(e){delete ce[e>>>0]}function Iu(e,t,a){e>>>=0,t>>>=0,a>>>=0;var o=!!(d(),x)[t+32>>>2>>>0];t={label:$e(t+4),usage:(d(),x)[t+16>>>2>>>0],size:Tt(t+24),mappedAtCreation:o},e=U(e);try{var u=e.createBuffer(t)}catch{return!1}return ce[a>>>0]=u,o&&(Pe[a]=[]),!0}function Uu(e,t,a,o){e>>>=0,t=le(t),o>>>=0,a=mu(a>>>0),e=U(e),H+=1,ut(t,e.createComputePipelineAsync(a).then(u=>{--H,me(()=>{ce[o>>>0]=u,wr(t,1,o,0)})},u=>{--H,me(()=>{var l=R(),h=Ue(u.message);wr(t,u.reason==="validation"?3:u.reason==="internal"?4:0,o,h),B(l)})}))}function Mu(e,t,a){e>>>=0,t>>>=0,a>>>=0;var o=(d(),x)[t>>>2>>>0],u=(d(),O)[o+4>>>2>>>0];t={label:$e(t+4),code:""},u===2&&(t.code=oa(o+8)),e=U(e).createShaderModule(t),ce[a>>>0]=e}var Bu=e=>{(e=U(e)).onuncapturederror=null,e.destroy()};function Ru(e,t){t=le(t),e=U(e>>>0),H+=1,ut(t,e.popErrorScope().then(a=>{--H,me(()=>{var o=5;a?a instanceof GPUValidationError?o=2:a instanceof GPUOutOfMemoryError?o=3:a instanceof GPUInternalError&&(o=4):o=1;var u=R(),l=a?Ue(a.message):0;br(t,1,o,l),B(u)})},a=>{--H,me(()=>{var o=R(),u=Ue(a.message);br(t,1,5,u),B(o)})}))}function Lu(e,t,a,o){if(t=le(t),o>>>=0,a>>>=0){var u={featureLevel:gu[(d(),O)[a+4>>>2>>>0]],powerPreference:yu[(d(),O)[a+8>>>2>>>0]],forceFallbackAdapter:!!(d(),x)[a+12>>>2>>>0]};(e=(d(),x)[a>>>2>>>0])!==0&&(d(),u.Fe=!!(d(),x)[e+8>>>2>>>0])}"gpu"in navigator?(H+=1,ut(t,navigator.gpu.requestAdapter(u).then(l=>{--H,me(()=>{if(l)ce[o>>>0]=l,Et(t,1,o,0);else{var h=R(),g=Ue("WebGPU not available on this browser (requestAdapter returned null)");Et(t,3,o,g),B(h)}})},l=>{--H,me(()=>{var h=R(),g=Ue(l.message);Et(t,4,o,g),B(h)})}))):(u=R(),e=Ue("WebGPU not available on this browser (navigator.gpu is not available)"),Et(t,3,o,e),B(u))}function Pu(e,t,a){return e>>>=0,t>>>=0,a>>>=0,Zn(async()=>{var o=[];if(a){var u=(d(),O)[a>>>2>>>0];o.length=t+1,o[t]=new Promise(g=>setTimeout(g,u,0))}else o.length=t;for(var l=0;l<t;++l){var h=Tt(e+8*l);if(!(h in Dt))return h;o[l]=Dt[h]}return o=await Promise.race(o),delete Dt[o],o})}var dr,hr={},ua=()=>{var o;if(!dr){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(((o=globalThis.navigator)==null?void 0:o.language)??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(e in hr)hr[e]===void 0?delete t[e]:t[e]=hr[e];var a=[];for(e in t)a.push(`${e}=${t[e]}`);dr=a}return dr};function fa(e,t){if(s)return N(19,1,e,t);e>>>=0,t>>>=0;var a,o=0,u=0;for(a of ua()){var l=t+o;(d(),x)[e+u>>>2>>>0]=l,o+=Re(a,l,1/0)+1,u+=4}return 0}function la(e,t){if(s)return N(20,1,e,t);e>>>=0,t>>>=0;var a=ua();for(var o of((d(),x)[e>>>2>>>0]=a.length,e=0,a))e+=Le(o)+1;return(d(),x)[t>>>2>>>0]=e,0}function ca(e){return s?N(21,1,e):52}function pa(e,t,a,o){return s?N(22,1,e,t,a,o):52}function da(e,t,a,o){return s?N(23,1,e,t,a,o):70}var $u=[null,[],[]];function ha(e,t,a,o){if(s)return N(24,1,e,t,a,o);t>>>=0,a>>>=0,o>>>=0;for(var u=0,l=0;l<a;l++){var h=(d(),x)[t>>>2>>>0],g=(d(),x)[t+4>>>2>>>0];t+=8;for(var T=0;T<g;T++){var A=e,F=(d(),j)[h+T>>>0],S=$u[A];F===0||F===10?((A===1?X:W)(Mn(S)),S.length=0):S.push(F)}u+=g}return(d(),x)[o>>>2>>>0]=u,0}function Nu(e){return e>>>0}function ku(e,t){return ia(U(e>>>0).limits,t>>>0),1}function _u(e,t){return U(e>>>0).features.has(sa[t])}function Du(e){return BigInt(U(e>>>0).size)}function Gu(e){return BigInt(U(e>>>0).usage)}function Wu(e,t){if(e>>>=0,t>>>=0){var a=$e(t+4);a={label:a,timestampWrites:t=(t=(d(),x)[t+12>>>2>>>0])!==0?{querySet:U((d(),x)[t+4>>>2>>>0]),beginningOfPassWriteIndex:(d(),x)[t+8>>>2>>>0],endOfPassWriteIndex:(d(),x)[t+12>>>2>>>0]}:void 0}}return t=U(e),e=xa(0),a=t.beginComputePass(a),ce[e>>>0]=a,e}function Fu(e,t,a,o){a=le(a),(o=le(o))==-1&&(o=void 0),(e=U(e>>>0)).clearBuffer(U(t>>>0),a,o)}function Vu(e,t,a,o,u,l){a=le(a),u=le(u),l=le(l),U(e>>>0).copyBufferToBuffer(U(t>>>0),a,U(o>>>0),u,l)}function zu(e){var t=U(e>>>0);return e=Ta(0),t=t.finish(),ce[e>>>0]=t,e}function ju(e,t,a,o,u,l){l=le(l),U(e>>>0).resolveQuerySet(U(t>>>0),a,o,U(u>>>0),l)}function qu(e,t,a,o){U(e>>>0).dispatchWorkgroups(t,a,o)}
vendor: 8,935 bytes, line 7
7function Hu(e,t,a){a=le(a),U(e>>>0).dispatchWorkgroupsIndirect(U(t>>>0),a)}function Yu(e){U(e>>>0).end()}function Xu(e,t,a,o,u){o>>>=0,u>>>=0,e=U(e>>>0),a=U(a>>>0),o==0?e.setBindGroup(t,a):e.setBindGroup(t,a,(d(),x),u>>>2,o)}function Zu(e,t){U(e>>>0).setPipeline(U(t>>>0))}function Ku(e,t,a){U(e>>>0).Ee(U(t>>>0),a)}function Ju(e,t){var a=U(e>>>0);return e=va(0),t=a.getBindGroupLayout(t),ce[e>>>0]=t,e}function Qu(e,t){function a(u){var l=(d(),x)[u+8>>>2>>>0],h=(d(),x)[u+32>>>2>>>0],g=(d(),x)[u+36>>>2>>>0],T=0;return hu(u,{327681:A=>{T=(d(),x)[A+8>>>2>>>0]}}),l?((h=Tt(u+24))==-1&&(h=void 0),l={buffer:U(l),offset:Tt(u+16),size:h}):l=U(h||g||T),{binding:(d(),x)[u+4>>>2>>>0],resource:l}}e>>>=0,t={label:$e((t>>>=0)+4),layout:U((d(),x)[t+12>>>2>>>0]),entries:(function(u,l){for(var h=[],g=0;g<u;++g)h.push(a(l+40*g));return h})((d(),x)[t+16>>>2>>>0],(d(),x)[t+20>>>2>>>0])},e=U(e);var o=ba(0);return du(o,e.createBindGroup(t)),o}function ef(e,t){var a;return e>>>=0,(t>>>=0)&&(a={label:$e(t+4)}),t=U(e),e=Ea(0),a=t.createCommandEncoder(a),ce[e>>>0]=a,e}function tf(e,t){e>>>=0,t>>>=0,t={type:bu[(d(),O)[t+12>>>2>>>0]],count:(d(),x)[t+16>>>2>>>0]};var a=U(e);return e=Ca(0),t=a.createQuerySet(t),ce[e>>>0]=t,e}function rf(e,t){e=U(e>>>0).adapterInfo,t>>>=0,(d(),x)[t+52>>>2>>>0]=e.subgroupMinSize,(d(),x)[t+56>>>2>>>0]=e.subgroupMaxSize;var a=e.vendor+e.architecture+e.device+e.description,o=Le(a)+1,u=ft(o);return u&&Re(a,u,o),a=u,o=Le(e.vendor),Gt(t+4,a,o),a+=o,o=Le(e.architecture),Gt(t+12,a,o),a+=o,o=Le(e.device),Gt(t+20,a,o),Gt(t+28,a+o,Le(e.description)),(d(),O)[t+36>>>2>>>0]=2,e=e.isFallbackAdapter?3:4,(d(),O)[t+40>>>2>>>0]=e,(d(),x)[t+44>>>2>>>0]=0,(d(),x)[t+48>>>2>>>0]=0,1}var nf={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,"primitive-index":21,"texture-component-swizzle":22,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729};function af(e,t){t>>>=0;var a=U(e>>>0);e=ft(4*a.features.size);var o=0,u=0;for(let l of a.features)0<=(a=nf[l])&&((d(),O)[e+o>>>2>>>0]=a,o+=4,u++);(d(),x)[t+4>>>2>>>0]=e,(d(),x)[t>>>2>>>0]=u}function of(e,t){return ia(U(e>>>0).limits,t>>>0),1}function sf(e,t){U(e>>>0).pushErrorScope(wu[t])}function uf(e,t,a){t>>>=0,a>>>=0,e=U(e>>>0),t=Array.from((d(),O).subarray(a>>>2>>>0,a+4*t>>>2>>>0),o=>U(o)),e.submit(t)}function ff(e,t,a,o,u){a=le(a),o>>>=0,u>>>=0,e=U(e>>>0),t=U(t>>>0),o=(d(),j).subarray(o>>>0,o+u>>>0),e.writeBuffer(t,a,o,0,u)}s||(function(){for(var e=n.numThreads-1;e--;)xn();yt.push(async()=>{var t=(async function(){if(!s)return Promise.all(Ee.map(En))})();at++,await t,--at==0&&we&&(t=we,we=null,t())})})(),s||(_e=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),ke()),n.wasmBinary&&(b=n.wasmBinary),n.stackSave=()=>R(),n.stackRestore=e=>B(e),n.stackAlloc=e=>Ft(e),n.setValue=function(e,t,a="i8"){switch(a.endsWith("*")&&(a="*"),a){case"i1":case"i8":(d(),k)[e>>>0]=t;break;case"i16":(d(),ie)[e>>>1>>>0]=t;break;case"i32":(d(),O)[e>>>2>>>0]=t;break;case"i64":(d(),te)[e>>>3>>>0]=BigInt(t);break;case"float":(d(),ze)[e>>>2>>>0]=t;break;case"double":(d(),Z)[e>>>3>>>0]=t;break;case"*":(d(),x)[e>>>2>>>0]=t;break;default:oe(`invalid type for setValue: ${a}`)}},n.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return(d(),k)[e>>>0];case"i16":return(d(),ie)[e>>>1>>>0];case"i32":return(d(),O)[e>>>2>>>0];case"i64":return(d(),te)[e>>>3>>>0];case"float":return(d(),ze)[e>>>2>>>0];case"double":return(d(),Z)[e>>>3>>>0];case"*":return(d(),x)[e>>>2>>>0];default:oe(`invalid type for getValue: ${t}`)}},n.UTF8ToString=it,n.stringToUTF8=Re,n.lengthBytesUTF8=Le;var ma,wa,mr,Wt,Oe,ft,ga,ya,ba,va,Ta,Ea,xa,Ca,Aa,Oa,Sa,wr,gr,yr,br,Et,vr,Ia,Tr,Ua,Ma,Ba,Er,Ra,La,xr,_,xt,Pa,B,Ft,R,$a,Cr,Na,ka,_a,Ar,Da,Ga,Wa,Fa,Va,za,ja,qa,Ha,Ya,Xa,Za,Ka,Ja,Qa,eo,to,ro,no,ao,oo,io,so,uo,fo,lo,co,po,ho,mo,wo,go,yo,bo,vo,To,Eo,xo,Co,Ne,lf=[Q,Te,On,Bn,Rn,Ln,Pn,$n,Nn,kn,_n,Dn,Gn,Wn,Fn,Vn,ta,ra,na,fa,la,ca,pa,da,ha],Or={1028716:(e,t,a,o,u)=>{if(n===void 0||!n.Vc)return 1;if((e=it(Number(e>>>0))).startsWith("./")&&(e=e.substring(2)),!(e=n.Vc.get(e)))return 2;if(t=Number(t>>>0),a=Number(a>>>0),o=Number(o>>>0),t+a>e.byteLength)return 3;try{let l=e.subarray(t,t+a);switch(u){case 0:(d(),j).set(l,o>>>0);break;case 1:n.bd?n.bd(o,l):n.pe(o,l);break;default:return 4}return 0}catch{return 4}},1029540:(e,t,a)=>{n.Td(e,(d(),j).subarray(t>>>0,t+a>>>0))},1029604:()=>n.ne(),1029646:e=>{n.kd(e)},1029683:()=>typeof wasmOffsetConverter<"u"};function cf(e,t,a,o){var u=R();try{return qa(e,t,a,o)}catch(l){if(B(u),l!==l+0)throw l;_(1,0)}}function pf(e,t,a){var o=R();try{return Va(e,t,a)}catch(u){if(B(o),u!==u+0)throw u;_(1,0)}}function df(e){var t=R();try{Da(e)}catch(a){if(B(t),a!==a+0)throw a;_(1,0)}}function hf(e,t){var a=R();try{return Ar(e,t)}catch(o){if(B(a),o!==o+0)throw o;_(1,0)}}function mf(e,t,a){var o=R();try{_a(e,t,a)}catch(u){if(B(o),u!==u+0)throw u;_(1,0)}}function wf(e,t){var a=R();try{Ha(e,t)}catch(o){if(B(a),o!==o+0)throw o;_(1,0)}}function gf(e,t,a,o,u,l,h){var g=R();try{return Fa(e,t,a,o,u,l,h)}catch(T){if(B(g),T!==T+0)throw T;_(1,0)}}function yf(e,t,a,o,u,l){var h=R();try{Ga(e,t,a,o,u,l)}catch(g){if(B(h),g!==g+0)throw g;_(1,0)}}function bf(e,t,a,o){var u=R();try{ja(e,t,a,o)}catch(l){if(B(u),l!==l+0)throw l;_(1,0)}}function vf(e,t,a,o,u,l,h){var g=R();try{Xa(e,t,a,o,u,l,h)}catch(T){if(B(g),T!==T+0)throw T;_(1,0)}}function Tf(e,t,a,o,u,l,h){var g=R();try{Za(e,t,a,o,u,l,h)}catch(T){if(B(g),T!==T+0)throw T;_(1,0)}}function Ef(e,t,a,o,u,l,h,g){var T=R();try{oo(e,t,a,o,u,l,h,g)}catch(A){if(B(T),A!==A+0)throw A;_(1,0)}}function xf(e,t,a,o,u,l,h,g,T,A,F,S){var D=R();try{Ka(e,t,a,o,u,l,h,g,T,A,F,S)}catch(K){if(B(D),K!==K+0)throw K;_(1,0)}}function Cf(e,t,a,o,u){var l=R();try{return Ya(e,t,a,o,u)}catch(h){if(B(l),h!==h+0)throw h;_(1,0)}}function Af(e,t,a,o,u,l){var h=R();try{io(e,t,a,o,u,l)}catch(g){if(B(h),g!==g+0)throw g;_(1,0)}}function Of(e,t,a,o,u){var l=R();try{Wa(e,t,a,o,u)}catch(h){if(B(l),h!==h+0)throw h;_(1,0)}}function Sf(e,t,a,o,u,l,h,g){var T=R();try{za(e,t,a,o,u,l,h,g)}catch(A){if(B(T),A!==A+0)throw A;_(1,0)}}function If(e){var t=R();try{return so(e)}catch(a){if(B(t),a!==a+0)throw a;_(1,0)}}function Uf(e,t,a){var o=R();try{return uo(e,t,a)}catch(u){if(B(o),u!==u+0)throw u;_(1,0)}}function Mf(e,t){var a=R();try{return vo(e,t)}catch(o){if(B(a),o!==o+0)throw o;return _(1,0),0n}}function Bf(e){var t=R();try{return Ja(e)}catch(a){if(B(t),a!==a+0)throw a;return _(1,0),0n}}function Rf(e,t,a,o){var u=R();try{return fo(e,t,a,o)}catch(l){if(B(u),l!==l+0)throw l;_(1,0)}}function Lf(e,t,a,o,u){var l=R();try{return lo(e,t,a,o,u)}catch(h){if(B(l),h!==h+0)throw h;_(1,0)}}function Pf(e,t,a,o,u,l){var h=R();try{return co(e,t,a,o,u,l)}catch(g){if(B(h),g!==g+0)throw g;_(1,0)}}function $f(e,t,a,o,u,l){var h=R();try{return no(e,t,a,o,u,l)}catch(g){if(B(h),g!==g+0)throw g;_(1,0)}}function Nf(e,t,a,o,u,l){var h=R();try{return po(e,t,a,o,u,l)}catch(g){if(B(h),g!==g+0)throw g;_(1,0)}}function kf(e,t,a,o,u,l,h,g){var T=R();try{return ao(e,t,a,o,u,l,h,g)}catch(A){if(B(T),A!==A+0)throw A;_(1,0)}}function _f(e,t,a,o,u){var l=R();try{return ho(e,t,a,o,u)}catch(h){if(B(l),h!==h+0)throw h;return _(1,0),0n}}function Df(e,t,a,o){var u=R();try{return mo(e,t,a,o)}catch(l){if(B(u),l!==l+0)throw l;_(1,0)}}function Gf(e,t,a,o){var u=R();try{return wo(e,t,a,o)}catch(l){if(B(u),l!==l+0)throw l;_(1,0)}}function Wf(e,t,a,o,u,l,h,g,T,A,F,S){var D=R();try{return go(e,t,a,o,u,l,h,g,T,A,F,S)}catch(K){if(B(D),K!==K+0)throw K;_(1,0)}}function Ff(e,t,a,o,u,l,h,g,T,A,F){var S=R();try{yo(e,t,a,o,u,l,h,g,T,A,F)}catch(D){if(B(S),D!==D+0)throw D;_(1,0)}}function Vf(e,t,a,o,u,l,h,g,T,A,F,S,D,K,se,Ct){var Sr=R();try{bo(e,t,a,o,u,l,h,g,T,A,F,S,D,K,se,Ct)}catch(Ir){if(B(Sr),Ir!==Ir+0)throw Ir;_(1,0)}}function zf(e,t,a){var o=R();try{return eo(e,t,a)}catch(u){if(B(o),u!==u+0)throw u;return _(1,0),0n}}function jf(e,t,a){var o=R();try{return Qa(e,t,a)}catch(u){if(B(o),u!==u+0)throw u;_(1,0)}}function qf(e,t,a){var o=R();try{return to(e,t,a)}catch(u){if(B(o),u!==u+0)throw u;_(1,0)}}function Hf(e,t,a,o){var u=R();try{ro(e,t,a,o)}catch(l){if(B(u),l!==l+0)throw l;_(1,0)}}function Vt(){if(0<at)we=Vt;else if(s)I==null||I(n),J();else{for(var e=yt;0<e.length;)e.shift()(n);0<at?we=Vt:(n.calledRun=!0,ne||(J(),I==null||I(n)))}}return s||(Ne=await fe(),Vt()),n.PTR_SIZE=4,n.webgpuInit=e=>{let t=new WeakMap,a,o,u=1;n.webgpuRegisterDevice=g=>{if(o!==void 0)throw Error("another WebGPU EP inference session is being created.");
7if(g){var T=t.get(g);if(!T){let A=((F,S=0)=>{var D=Sa(S);return S=Oa(S,D),ce[D>>>0]=F.queue,ce[S>>>0]=F,S})(g,T=ya(0));T=[u++,T,A],t.set(g,T)}return a=g,o=T[0],T}a=void 0,o=0};let l=new Map;n.webgpuOnCreateSession=g=>{if(o!==void 0){var T=o;if(o=void 0,g){let A=mr(T);l.set(g,A),T===0&&e(a??U(A))}a=void 0}},n.webgpuOnReleaseSession=g=>{l.delete(g)};let h=Symbol("gpuBufferMetadata");n.webgpuRegisterBuffer=(g,T,A)=>{if(A)return g[h]=[A,NaN],A;if(A=g[h])return A[1]++,A[0];if((T=l.get(T))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");return T=((F,S=0)=>(F.mapState==="unmapped"||oe(),S=Aa(S),ce[S>>>0]=F,S))(g,T),g[h]=[T,1],T},n.webgpuUnregisterBuffer=g=>{let T=g[h];if(!T)throw Error("Buffer is not registered");T[1]--,T[1]===0&&(ga(T[0]),delete g[h])},n.webgpuGetBuffer=g=>U(g),n.webgpuCreateDownloader=(g,T,A)=>{if((A=l.get(A))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");let F=U(A),S=16*Math.ceil(Number(T)/16);return async()=>{let D=F.createBuffer({size:S,usage:9});try{let K=F.createCommandEncoder();return K.copyBufferToBuffer(g,0,D,0,S),F.queue.submit([K.finish()]),await D.mapAsync(GPUMapMode.READ),D.getMappedRange().slice(0,T)}finally{D.destroy()}}},n.bd=(g,T)=>{var A=T.buffer;let F=T.byteOffset,S=T.byteLength;if(T=16*Math.ceil(Number(S)/16),g=U(g),!a){var D=mr(o);a=U(D)}let K=(D=a.createBuffer({mappedAtCreation:!0,size:T,usage:6})).getMappedRange();new Uint8Array(K).set(new Uint8Array(A,F,S)),D.unmap(),(A=a.createCommandEncoder()).copyBufferToBuffer(D,0,g,0,T),a.queue.submit([A.finish()]),D.destroy()}},n.webnnInit=e=>{let t=e[0];[n.ne,n.kd,n.webnnEnsureTensor,n.Td,n.webnnDownloadTensor,n.me,n.webnnEnableTraceEvent]=e.slice(1),n.webnnReleaseTensorId=n.kd,n.webnnUploadTensor=n.Td,n.webnnRegisterMLContext=n.me,n.webnnOnRunStart=a=>t.onRunStart(a),n.webnnOnRunEnd=t.onRunEnd.bind(t),n.webnnOnReleaseSession=a=>{t.onReleaseSession(a)},n.webnnCreateMLTensorDownloader=(a,o)=>t.createMLTensorDownloader(a,o),n.webnnRegisterMLTensor=(a,o,u,l)=>t.registerMLTensor(a,o,u,l),n.webnnCreateMLContext=a=>t.createMLContext(a),n.webnnRegisterMLConstant=(a,o,u,l,h,g)=>t.registerMLConstant(a,o,u,l,h,n.Vc,g),n.webnnRegisterGraphInput=t.registerGraphInput.bind(t),n.webnnIsGraphInput=t.isGraphInput.bind(t),n.webnnRegisterGraphOutput=t.registerGraphOutput.bind(t),n.webnnIsGraphOutput=t.isGraphOutput.bind(t),n.webnnCreateTemporaryTensor=t.createTemporaryTensor.bind(t),n.webnnIsGraphInputOutputTypeSupported=t.isGraphInputOutputTypeSupported.bind(t)},he?n:new Promise((e,t)=>{I=e,P=t})}var Ci,Mo,ml=G(()=>{var r,n;Ci=Uo,Mo=(n=(r=globalThis.self)==null?void 0:r.name)==null?void 0:n.startsWith("em-pthread"),Mo&&Uo()}),Pr,Kr,Bo,ye,Ai,jt,Ro,Lo,$r,Po,Nr,Oi,kr,Si,on=G(()=>{an(),Pr=typeof location>"u"?void 0:location.origin,Kr=import.meta.url>"file:"&&import.meta.url<"file;",Bo=()=>{{if(Kr){let r=URL;return new URL(new r("ort.webgpu.bundle.min.mjs",import.meta.url).href,Pr).href}return import.meta.url}},ye=Bo(),Ai=()=>
vendor: 3,580 bytes, line 7
7{if(ye&&!ye.startsWith("blob:"))return ye.substring(0,ye.lastIndexOf("/")+1)},jt=(r,n)=>{try{let i=n??ye;return(i?new URL(r,i):new URL(r)).origin===Pr}catch{return!1}},Ro=(r,n)=>{let i=n??ye;try{return(i?new URL(r,i):new URL(r)).href}catch{return}},Lo=(r,n)=>`${n??"./"}${r}`,$r=async r=>{let n=await(await fetch(r,{credentials:"same-origin"})).blob();return URL.createObjectURL(n)},Po=async r=>(await import(r)).default,Nr=(hl(),Zt(Ti)).default,Oi=async()=>{if(!ye)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(jt(ye))return[void 0,Nr()];let r=await $r(ye);return[r,Nr(r)]},kr=(ml(),Zt(xi)).default,Si=async(r,n,i,f)=>{let s=kr&&!(r||n);if(s)if(ye)s=jt(ye)||f&&!i;else if(f&&!i)s=!0;else throw new Error("cannot determine the script source URL.");if(s)return[void 0,kr];{let p="ort-wasm-simd-threaded.asyncify.mjs",c=r??Ro(p,n),m=i&&c&&!jt(c,n),w=m?await $r(c):c??Lo(p,n);return[m?w:void 0,await Po(w)]}}}),_r,qt,Ot,Dr,$o,No,ko,sn,Y,nt=G(()=>{on(),qt=!1,Ot=!1,Dr=!1,$o=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},No=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},ko=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},sn=async r=>{if(qt)return Promise.resolve();if(Ot)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Dr)throw new Error("previous call to 'initializeWebAssembly()' failed.");Ot=!0;let n=r.initTimeout,i=r.numThreads;if(r.simd!==!1){if(r.simd==="relaxed"){if(!ko())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!No())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let f=$o();i>1&&!f&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+i+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),r.numThreads=i=1);let s=r.wasmPaths,p=typeof s=="string"?s:void 0,c=s==null?void 0:s.mjs,m=(c==null?void 0:c.href)??c,w=s==null?void 0:s.wasm,y=(w==null?void 0:w.href)??w,v=r.wasmBinary,[b,E]=await Si(m,p,i>1,!!v||!!y),C=!1,I=[];if(n>0&&I.push(new Promise(P=>{setTimeout(()=>{C=!0,P()},n)})),I.push(new Promise((P,z)=>{let M={numThreads:i};if(v)M.wasmBinary=v,M.locateFile=L=>L;else if(y||p)M.locateFile=L=>y??p+L;else if(m&&m.indexOf("blob:")!==0)M.locateFile=L=>new URL(L,m).href;else if(b){let L=Ai();L&&(M.locateFile=X=>L+X)}E(M).then(L=>{Ot=!1,qt=!0,_r=L,P(),b&&URL.revokeObjectURL(b)},L=>{Ot=!1,Dr=!0,z(L)})})),await Promise.race(I),C)throw new Error(`WebAssembly backend initializing failed due to timeout: ${n}ms`)},Y=()=>{if(qt&&_r)return _r;throw new Error("WebAssembly is not initialized yet.")}}),be,Kt,q,un=G(()=>{nt(),be=(r,n)=>{let i=Y(),f=i.lengthBytesUTF8(r)+1,s=i._malloc(f);return i.stringToUTF8(r,s,f),n.push(s),s},Kt=(r,n,i,f)=>{if(typeof r=="object"&&r!==null){if(i.has(r))throw new Error("Circular reference in options");
7i.add(r)}Object.entries(r).forEach(([s,p])=>{let c=n?n+s:s;if(typeof p=="object")Kt(p,c+".",i,f);else if(typeof p=="string"||typeof p=="number")f(c,p.toString());else if(typeof p=="boolean")f(c,p?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof p}`)})},q=r=>{let n=Y(),i=n.stackSave();try{let f=n.PTR_SIZE,s=n.stackAlloc(2*f);n._OrtGetLastError(s,s+f);let p=Number(n.getValue(s,f===4?"i32":"i64")),c=n.getValue(s+f,"*"),m=c?n.UTF8ToString(c):"";throw new Error(`${r} ERROR_CODE: ${p}, ERROR_MESSAGE: ${m}`)}finally{n.stackRestore(i)}}}),Ii,wl=G(()=>{nt(),un(),Ii=r=>{let n=Y(),i=0,f=[],s=r||{};try{if((r==null?void 0:r.logSeverityLevel)===void 0)s.logSeverityLevel=2;else if(typeof r.logSeverityLevel!="number"||!Number.isInteger(r.logSeverityLevel)||r.logSeverityLevel<0||r.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${r.logSeverityLevel}`);if((r==null?void 0:r.logVerbosityLevel)===void 0)s.logVerbosityLevel=0;else if(typeof r.logVerbosityLevel!="number"||!Number.isInteger(r.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${r.logVerbosityLevel}`);(r==null?void 0:r.terminate)===void 0&&(s.terminate=!1);let p=0;return(r==null?void 0:r.tag)!==void 0&&(p=be(r.tag,f)),i=n._OrtCreateRunOptions(s.logSeverityLevel,s.logVerbosityLevel,!!s.terminate,p),i===0&&q("Can't create run options."),(r==null?void 0:r.extra)!==void 0&&Kt(r.extra,"",new WeakSet,(c,m)=>{let w=be(c,f),y=be(m,f);n._OrtAddRunConfigEntry(i,w,y)!==0&&q(`Can't set a run config entry: ${c} - ${m}.`)}),[i,f]}catch(p){throw i!==0&&n._OrtReleaseRunOptions(i),f.forEach(c=>n._free(c)),p}}}),_o,Do,Go,lt,We,Wo,Ui,gl=G(()=>{nt(),un(),_o=r=>{switch(r){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${r}`)}},Do=r=>{switch(r){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${r}`)}},Go=r=>{r.extra||(r.extra={}),r.extra.session||(r.extra.session={});let n=r.extra.session;n.use_ort_model_bytes_directly||(n.use_ort_model_bytes_directly="1"),r.executionProviders&&r.executionProviders.some(i=>(typeof i=="string"?i:i.name)==="webgpu")&&(r.enableMemPattern=!1)},lt=(r,n,i,f)=>{let s=be(n,f),p=be(i,f);Y()._OrtAddSessionConfigEntry(r,s,p)!==0&&q(`Can't set a session config entry: ${n} - ${i}.`)},We=(r,n,i,f)=>{let s=be(n,f),p=be(i,f);r.push([s,p])},Wo=async(r,n,i)=>{let f=n.executionProviders;for(let s of f){let p=typeof s=="string"?s:s.name,c=[];switch(p){case"webnn":if(p="WEBNN",lt(r,"session.disable_quant_qdq","1",i),lt(r,"session.disable_qdq_constant_folding","1",i),typeof s!="string"){let b=s==null?void 0:s.deviceType;b&&lt(r,"deviceType",b,i)}break;case"webgpu":{p="WebGPU";let b;if(typeof s!="string"){let C=s;if(C.device)if(typeof GPUDevice<"u"&&C.device instanceof GPUDevice)b=C.device;else throw new Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:I}=n;if(typeof I=="boolean"&&I&&We(c,"enableGraphCapture","1",i),typeof C.preferredLayout=="string"&&We(c,"preferredLayout",C.preferredLayout,i),C.forceCpuNodeNames){let P=Array.isArray(C.forceCpuNodeNames)?C.forceCpuNodeNames:[C.forceCpuNodeNames];We(c,"forceCpuNodeNames",P.join(`
8`),i)}C.validationMode&&We(c,"validationMode",C.validationMode,i)}let E=Y().webgpuRegisterDevice(b);if(E){let[C,I,P]=E;We(c,"deviceId",C.toString(),i),We(c,"webgpuInstance",I.toString(),i),We(c,"webgpuDevice",P.toString(),i)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${p}`)}let m=be(p,i),w=c.length,y=0,v=0;if(w>0){y=Y()._malloc(w*Y().PTR_SIZE),i.push(y),v=Y()._malloc(w*Y().PTR_SIZE),i.push(v);for(let b=0;b<w;b++)Y().setValue(y+b*Y().PTR_SIZE,c[b][0],"*"),Y().setValue(v+b*Y().PTR_SIZE,c[b][1],"*")}await Y()._OrtAppendExecutionProvider(r,m,y,v,w)!==0&&q(`Can't append execution provider: ${p}.`)}},Ui=async r=>{let n=Y(),i=0,f=[],s=r||{};Go(s);try{let p=_o(s.graphOptimizationLevel??"all"),c=Do(s.executionMode??"sequential"),m=typeof s.logId=="string"?be(s.logId,f):0,w=s.logSeverityLevel??2;if(!Number.isInteger(w)||w<0||w>
vendor: 1,027 bytes, line 8
84)throw new Error(`log severity level is not valid: ${w}`);let y=s.logVerbosityLevel??0;if(!Number.isInteger(y)||y<0||y>4)throw new Error(`log verbosity level is not valid: ${y}`);let v=typeof s.optimizedModelFilePath=="string"?be(s.optimizedModelFilePath,f):0;if(i=n._OrtCreateSessionOptions(p,!!s.enableCpuMemArena,!!s.enableMemPattern,c,!!s.enableProfiling,0,m,w,y,v),i===0&&q("Can't create session options."),s.executionProviders&&await Wo(i,s,f),s.enableGraphCapture!==void 0){if(typeof s.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${s.enableGraphCapture}`);lt(i,"enableGraphCapture",s.enableGraphCapture.toString(),f)}if(s.freeDimensionOverrides)for(let[b,E]of Object.entries(s.freeDimensionOverrides)){if(typeof b!="string")throw new Error(`free dimension override name must be a string: ${b}`);if(typeof E!="number"||!Number.isInteger(E)||E<0)throw new Error(`free dimension override value must be a non-negative integer: ${E}`);let C=be(b,f);n._OrtAddFreeDimensionOverri
vendor: 5,032 bytes, line 8
8de(i,C,E)!==0&&q(`Can't set a free dimension override: ${b} - ${E}.`)}return s.extra!==void 0&&Kt(s.extra,"",new WeakSet,(b,E)=>{lt(i,b,E,f)}),[i,f]}catch(p){throw i!==0&&n._OrtReleaseSessionOptions(i)!==0&&q("Can't release session options."),f.forEach(c=>n._free(c)),p}}}),Qe,Xt,pt,Bt,Jt,fn,ln,Jr,wt=G(()=>{Qe=r=>{switch(r){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${r}`)}},Xt=r=>{switch(r){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${r}`)}},pt=(r,n)=>{let i=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][r],f=typeof n=="number"?n:n.reduce((s,p)=>s*p,1);return i>0?Math.ceil(f*i):void 0},Bt=r=>{switch(r){case"float16":return typeof Float16Array<"u"?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${r}`)}},Jt=r=>{switch(r){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${r}`)}},fn=r=>r==="float32"||r==="float16"||r==="int32"||r==="int64"||r==="uint32"||r==="uint8"||r==="bool"||r==="uint4"||r==="int4",ln=r=>r==="float32"||r==="float16"||r==="int32"||r==="int64"||r==="uint32"||r==="uint64"||r==="int8"||r==="uint8"||r==="bool"||r==="uint4"||r==="int4",Jr=r=>{switch(r){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${r}`)}}}),cn,Mi=G(()=>{an(),cn=async r=>{if(typeof r=="string"){let n=await fetch(r);if(!n.ok)throw new Error(`failed to load external data file: ${r}`);let i=n.headers.get("Content-Length"),f=i?parseInt(i,10):0;if(f<1073741824)return new Uint8Array(await n.arrayBuffer());{if(!n.body)throw new Error(`failed to load external data file: ${r}, no response body.`);let s=n.body.getReader(),p;try{p=new ArrayBuffer(f)}catch(m){if(m instanceof RangeError){let w=Math.ceil(f/65536);p=new WebAssembly.Memory({initial:w,maximum:w}).buffer}else throw m}let c=0;for(;;){let{done:m,value:w}=await s.read();if(m)break;let y=w.byteLength;new Uint8Array(p,c,y).set(w),c+=y}return new Uint8Array(p,0,f)}}else return r instanceof Blob?new Uint8Array(await r.arrayBuffer()):r instanceof Uint8Array?r:new Uint8Array(r)}}),Bi,yl=G(()=>{wt(),Bi=(r,n)=>new(Bt(n))(r)}),Fo,Vo,zo,jo,Ri,qo,pe,Li=G(()=>{wt(),Fo=["V","I","W","E","F"],Vo=(r,n)=>{console.log(`[${Fo[r]},${new Date().toISOString()}]${n}`)},Ri=(r,n)=>{zo=r,jo=n},qo=(r,n)=>{let i=Jt(r),f=Jt(zo);i>=f&&Vo(i,typeof n=="function"?n():n)},pe=(...r)=>{jo&&qo(...r)}}),Gr,Qr,Wr,Ho,Fr,Yo,Vr,zr,jr,Xo,Pi,bl=G(()=>{wt(),Li(),Gr=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),Qr=(r,n)=>{if(n==="int32")return r;let i=Gr.get(n);if(!i)throw new Error(`WebNN backend does not support data type: ${n}`);let f=i/8;if(r.byteLength%f!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${f}.`);let s=r.byteLength/f,p=new(Bt(n))(r.buffer,r.byteOffset,s);switch(n){case"int64":case"uint64":{let c=new Int32Array(s);for(let m=0;m<s;m++){let w=p[m];if(w>2147483647n||w<-2147483648n)throw new Error("Can not convert int64 data to int32 - value out of range.");c[m]=Number(w)}return new Uint8Array(c.buffer)}case"int8":case"uint8":case"uint32":{if(n==="uint32"&&p.some(m=>m>2147483647))throw new Error("Can not convert uint32 data to int32 - value out of range.");let c=Int32Array.from(p,Number);return new Uint8Array(c.buffer)}default:throw new Error(`Unsupported data conversion from ${n} to 'int32'`)}},Wr=(r,n)=>{if(n==="int32")return r;if(r.byteLength%4!==0)throw new Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let i=r.byteLength/4,f=new Int32Array(r.buffer,r.byteOffset,i);switch(n){case"int64":{let s=BigInt64Array.from(f,BigInt);return new Uint8Array(s.buffer)}case"uint64":{if(f.some(p=>p<0))throw new Error("Can not convert int32 data to uin64 - negative value found.");let s=BigUint64Array.from(f,BigInt);return new Uint8Array(s.buffer)}
8case"int8":{if(f.some(p=>p<-128||p>127))throw new Error("Can not convert int32 data to int8 - value out of range.");let s=Int8Array.from(f,Number);return new Uint8Array(s.buffer)}case"uint8":{if(f.some(s=>s<0||s>255))throw new Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(f,Number)}case"uint32":{if(f.some(p=>p<0))throw new Error("Can not convert int32 data to uint32 - negative value found.");let s=Uint32Array.from(f,Number);return new Uint8Array(s.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${n}`)}},Ho=1,Fr=()=>Ho++,Yo=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),Vr=(r,n)=>{let i=Gr.get(r);if(!i)throw new Error(`WebNN backend does not support data type: ${r}`);return n.length>0?Math.ceil(n.reduce((f,s)=>f*s)*i/8):0},zr=class{constructor(r){this.isDataConverted=!1;let{sessionId:n,context:i,tensor:f,dataType:s,shape:p,fallbackDataType:c}=r;this.sessionId=n,this.mlContext=i,this.mlTensor=f,this.dataType=s,this.tensorShape=p,this.fallbackDataType=c}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return Vr(this.dataType,this.tensorShape)}destroy(){pe("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(r){this.mlContext.writeTensor(this.mlTensor,r)}async read(r){if(this.fallbackDataType){let n=await this.mlContext.readTensor(this.mlTensor),i=Wr(new Uint8Array(n),this.dataType);if(r){(r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)).set(i);return}else return new Uint8Array(i).buffer}else return r?this.mlContext.readTensor(this.mlTensor,r):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(r,n,i){return this.mlContext===r&&this.dataType===n&&this.tensorShape.length===i.length&&this.tensorShape.every((f,s)=>f===i[s])}setIsDataConverted(r){this.isDataConverted=r}},jr=class{constructor(r,n){this.tensorManager=r,this.wrapper=n}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(r,n,i,f){let s=this.tensorManager.getMLContext(r),p=this.tensorManager.getMLOpSupportLimits(r),c;if(!(p!=null&&p.input.dataTypes.includes(n))){if(c=Yo.get(n),!c||(p==null?void 0:p.input.dataTypes.includes(c)))throw new Error(`WebNN backend does not support data type: ${n}`);pe("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${n} to ${c}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,n,i))return this.wrapper.tensor;if(f){if(this.wrapper.byteLength!==Vr(n,i))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let m=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(r,n,i,m,!0,!0,c),f&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(r){let n=r;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")n=Qr(r,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(r.byteLength===this.wrapper.byteLength){this.wrapper.write(n);return}else pe("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(n):this.activeUpload=new Uint8Array(n)}async download(r){var n,i;if(this.activeUpload){let f=(n=this.wrapper)!=null&&n.isDataConverted?Wr(this.activeUpload,(i=this.wrapper)==null?void 0:i.type):this.activeUpload;if(r){r instanceof ArrayBuffer?new Uint8Array(r).set(f):new Uint8Array(r.buffer,r.byteOffset,r.byteLength).set(f);return}else return f.buffer}if(!this.wrapper)throw new Error("Tensor has not been created.");return r?this.wrapper.read(r):this.wrapper.read()}},Xo=class{constructor(r){this.backend=r,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}getMLContext(r){let n=this.backend.getMLContext(r);if(!n)throw new Error("MLContext not found for session.");return n}getMLOpSupportLimits(r){return this.backend.getMLOpSupportLimits(r)}reserveTensorId(){let r=Fr();return this.tensorTrackersById.set(r,new jr(this)),r}releaseTensorId(r){let n=this.tensorTrackersById.get(r);
vendor: 6,523 bytes, line 8
8n&&(this.tensorTrackersById.delete(r),n.tensorWrapper&&this.releaseTensor(n.tensorWrapper))}async ensureTensor(r,n,i,f,s){pe("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${n}, dataType: ${i}, shape: ${f}, copyOld: ${s}}`);let p=this.tensorTrackersById.get(n);if(!p)throw new Error("Tensor not found.");return p.ensureTensor(r,i,f,s)}upload(r,n){let i=this.tensorTrackersById.get(r);if(!i)throw new Error("Tensor not found.");i.upload(n)}async download(r,n){pe("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${r}, dstBuffer: ${n==null?void 0:n.byteLength}}`);let i=this.tensorTrackersById.get(r);if(!i)throw new Error("Tensor not found.");return i.download(n)}releaseTensorsForSession(r){for(let n of this.freeTensors)n.sessionId===r&&n.destroy();this.freeTensors=this.freeTensors.filter(n=>n.sessionId!==r)}registerTensor(r,n,i,f){let s=this.getMLContext(r),p=Fr(),c=new zr({sessionId:r,context:s,tensor:n,dataType:i,shape:f});return this.tensorTrackersById.set(p,new jr(this,c)),this.externalTensors.add(c),p}async getCachedTensor(r,n,i,f,s,p,c){let m=this.getMLContext(r);for(let[y,v]of this.freeTensors.entries())if(v.canReuseTensor(m,n,i)){pe("verbose",()=>`[WebNN] Reusing tensor {dataType: ${n}, ${c?`fallbackDataType: ${c},`:""} shape: ${i}`);let b=this.freeTensors.splice(y,1)[0];return b.sessionId=r,b}pe("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${n}, ${c?`fallbackDataType: ${c},`:""} shape: ${i}}`);let w=await m.createTensor({dataType:c??n,shape:i,dimensions:i,usage:f,writable:s,readable:p});return new zr({sessionId:r,context:m,tensor:w,dataType:n,shape:i,fallbackDataType:c})}releaseTensor(r){this.externalTensors.has(r)&&this.externalTensors.delete(r),this.freeTensors.push(r)}},Pi=(...r)=>new Xo(...r)}),$i={};Rt($i,{WebNNBackend:()=>Ni});var St,Zo,Ni,vl=G(()=>{wt(),nt(),yl(),bl(),Li(),St=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),Zo=(r,n)=>{if(r===n)return!0;if(r===void 0||n===void 0)return!1;let i=Object.keys(r).sort(),f=Object.keys(n).sort();return i.length===f.length&&i.every((s,p)=>s===f[p]&&r[s]===n[s])},Ni=class{constructor(r){this.tensorManager=Pi(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],this.sessionGraphInputs=new Map,this.sessionGraphOutputs=new Map,this.temporaryGraphInputs=[],this.temporaryGraphOutputs=[],this.temporarySessionTensorIds=new Map,this.mlOpSupportLimitsBySessionId=new Map,Ri(r.logLevel,!!r.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(r){pe("verbose",()=>`[WebNN] onRunStart {sessionId: ${r}}`),this.activeSessionId=r}onRunEnd(r){pe("verbose",()=>`[WebNN] onRunEnd {sessionId: ${r}}`);let n=this.temporarySessionTensorIds.get(r);if(n){for(let i of n)pe("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${i}}`),this.tensorManager.releaseTensorId(i);this.temporarySessionTensorIds.delete(r),this.activeSessionId=void 0}}async createMLContext(r){if(r instanceof GPUDevice){let i=this.mlContextCache.findIndex(f=>f.gpuDevice===r);if(i!==-1)return this.mlContextCache[i].mlContext;{let f=await navigator.ml.createContext(r);return this.mlContextCache.push({gpuDevice:r,mlContext:f}),f}}else if(r===void 0){let i=this.mlContextCache.findIndex(f=>f.options===void 0&&f.gpuDevice===void 0);if(i!==-1)return this.mlContextCache[i].mlContext;{let f=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:f}),f}}let n=this.mlContextCache.findIndex(i=>Zo(i.options,r));if(n!==-1)return this.mlContextCache[n].mlContext;{let i=await navigator.ml.createContext(r);return this.mlContextCache.push({options:r,mlContext:i}),i}}registerMLContext(r,n){this.mlContextBySessionId.set(r,n);let i=this.sessionIdsByMLContext.get(n);i||(i=new Set,this.sessionIdsByMLContext.set(n,i)),i.add(r),this.mlOpSupportLimitsBySessionId.has(r)||this.mlOpSupportLimitsBySessionId.set(r,n.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(r,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(r,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(r){this.sessionGraphInputs.delete(r),this.sessionGraphOutputs.delete(r);let n=this.mlContextBySessionId.get(r);if(!n)return;this.tensorManager.releaseTensorsForSession(r),this.mlContextBySessionId.delete(r),this.mlOpSupportLimitsBySessionId.delete(r);let i=this.sessionIdsByMLContext.get(n);if(i.delete(r),i.size===0){this.sessionIdsByMLContext.delete(n);let f=this.mlContextCache.findIndex(s=>s.mlContext===n);f!==-1&&this.mlContextCache.splice(f,1)}}getMLContext(r){return this.mlContextBySessionId.get(r)}getMLOpSupportLimits(r){return this.mlOpSupportLimitsBySessionId.get(r)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(r){pe("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${r}}`),this.tensorManager.releaseTensorId(r)}async ensureTensor(r,n,i,f,s){let p=St.get(i);if(!p)throw new Error(`Unsupported ONNX data type: ${i}`);return this.tensorManager.ensureTensor(r??this.currentSessionId,n,p,f,s)}async createTemporaryTensor(r,n,i){pe("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${n}, shape: ${i}}`);let f=St.get(n);if(!f)throw new Error(`Unsupported ONNX data type: ${n}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(r,s,f,i,!1);let p=this.temporarySessionTensorIds.get(r);return p?p.push(s):this.temporarySessionTensorIds.set(r,[s]),s}uploadTensor(r,n){if(!Y().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");pe("verbose",()=>`[WebNN] uploadTensor {tensorId: ${r}, data: ${n.byteLength}}`),this.tensorManager.upload(r,n)}async downloadTensor(r,n){return this.tensorManager.download(r,n)}createMLTensorDownloader(r,n){return async()=>{let i=await this.tensorManager.download(r);return Bi(i,n)}}registerMLTensor(r,n,i,f){let s=St.get(i);if(!s)throw new Error(`Unsupported ONNX data type: ${i}`);let p=this.tensorManager.registerTensor(r,n,s,f);return pe("verbose",()=>`[WebNN] registerMLTensor {tensor: ${n}, dataType: ${s}, dimensions: ${f}} -> {tensorId: ${p}}`),p}registerMLConstant(r,n,i,f,s,p,c=!1){if(!p)throw new Error("External mounted files are not available.");let m=r;r.startsWith("./")&&(m=r.substring(2));let w=p.get(m);
8if(!w)throw new Error(`File with name ${m} not found in preloaded files.`);if(n+i>w.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let y=w.slice(n,n+i).buffer,v;switch(s.dataType){case"float32":v=new Float32Array(y);break;case"float16":v=typeof Float16Array<"u"?new Float16Array(y):new Uint16Array(y);break;case"int32":v=new Int32Array(y);break;case"uint32":v=new Uint32Array(y);break;case"int64":if(c){let b=Qr(new Uint8Array(y),"int64");v=new Int32Array(b.buffer),s.dataType="int32"}else v=new BigInt64Array(y);break;case"uint64":v=new BigUint64Array(y);break;case"int8":v=new Int8Array(y);break;case"int4":case"uint4":case"uint8":v=new Uint8Array(y);break;default:throw new Error(`Unsupported data type: ${s.dataType} in creating WebNN Constant from external data.`)}return pe("verbose",()=>`[WebNN] registerMLConstant {dataType: ${s.dataType}, shape: ${s.shape}}} ${c?"(Note: it was int64 data type and registered to int32 as workaround)":""}`),f.constant(s,v)}registerGraphInput(r){this.temporaryGraphInputs.push(r)}registerGraphOutput(r){this.temporaryGraphOutputs.push(r)}isGraphInput(r,n){let i=this.sessionGraphInputs.get(r);return i?i.includes(n):!1}isGraphOutput(r,n){let i=this.sessionGraphOutputs.get(r);return i?i.includes(n):!1}isGraphInputOutputTypeSupported(r,n,i=!0){let f=St.get(Qe(n)),s=this.mlOpSupportLimitsBySessionId.get(r);return typeof f>"u"?!1:i?!!(s!=null&&s.input.dataTypes.includes(f)):!!(s!=null&&s.output.dataTypes.includes(f))}flush(){}}}),Ko,pn,dn,Fe,Jo,qr,Qt,hn,mn,Hr,wn,gn,yn,ki=G(()=>{rt(),wl(),gl(),wt(),nt(),un(),Mi(),Ko=(r,n)=>{Y()._OrtInit(r,n)!==0&&q("Can't initialize onnxruntime.")},pn=async r=>{Ko(r.wasm.numThreads,Jt(r.logLevel))},dn=async(r,n)=>{var f,s;(s=(f=Y()).asyncInit)==null||s.call(f);let i=r.webgpu.adapter;if(n==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(i){if(typeof i.limits!="object"||typeof i.features!="object"||typeof i.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let p=r.webgpu.powerPreference;if(p!==void 0&&p!=="low-power"&&p!=="high-performance")throw new Error(`Invalid powerPreference setting: "${p}"`);let c=r.webgpu.forceFallbackAdapter;if(c!==void 0&&typeof c!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${c}"`);if(i=await navigator.gpu.requestAdapter({powerPreference:p,forceFallbackAdapter:c}),!i)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(n==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment");if(n==="webgpu"&&Y().webgpuInit(p=>{r.webgpu.device=p}),n==="webnn"){let p=new(vl(),Zt($i)).WebNNBackend(r);Y().webnnInit([p,()=>p.reserveTensorId(),c=>p.releaseTensorId(c),async(c,m,w,y,v)=>p.ensureTensor(c,m,w,y,v),(c,m)=>{p.uploadTensor(c,m)},async(c,m)=>p.downloadTensor(c,m),(c,m)=>p.registerMLContext(c,m),!!r.trace])}},Fe=new Map,Jo=r=>{let n=Y(),i=n.stackSave();try{let f=n.PTR_SIZE,s=n.stackAlloc(2*f);n._OrtGetInputOutputCount(r,s,s+f)!==0&&q("Can't get session input/output count.");let p=f===4?"i32":"i64";return[Number(n.getValue(s,p)),Number(n.getValue(s+f,p))]}finally{n.stackRestore(i)}},qr=(r,n)=>{let i=Y(),f=i.stackSave(),s=0;try{let p=i.PTR_SIZE,c=i.stackAlloc(2*p);i._OrtGetInputOutputMetadata(r,n,c,c+p)!==0&&q("Can't get session input/output metadata.");let m=Number(i.getValue(c,"*"));s=Number(i.getValue(c+p,"*"));let w=i.HEAP32[s/4];if(w===0)return[m,0];let y=i.HEAPU32[s/4+1],v=[];for(let b=0;b<y;b++){let E=Number(i.getValue(s+8+b*p,"*"));v.push(E!==0?i.UTF8ToString(E):Number(i.getValue(s+8+(b+y)*p,"*")))}return[m,w,v]}finally{i.stackRestore(f),s!==0&&i._OrtFree(s)}},Qt=r=>{let n=Y(),i=n._malloc(r.byteLength);if(i===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${r.byteLength}.`);return n.HEAPU8.set(r,i),[i,r.byteLength]},hn=async(r,n)=>{var b,E,C,I;let i,f,s=Y();Array.isArray(r)?[i,f]=r:r.buffer===s.HEAPU8.buffer?[i,f]=[r.byteOffset,r.byteLength]:[i,f]=Qt(r);let p=0,c=0,m=0,w=[],y=[],v=[];
8try{if([c,w]=await Ui(n),(n==null?void 0:n.externalData)&&s.mountExternalData){let V=[];for(let k of n.externalData){let j=typeof k=="string"?k:k.path;V.push(cn(typeof k=="string"?k:k.data).then(ie=>{s.mountExternalData(j,ie)}))}await Promise.all(V)}for(let V of(n==null?void 0:n.executionProviders)??[])if((typeof V=="string"?V:V.name)==="webnn"){if(s.shouldTransferToMLTensor=!1,typeof V!="string"){let k=V,j=k==null?void 0:k.context,ie=k==null?void 0:k.gpuDevice,ae=k==null?void 0:k.deviceType,O=k==null?void 0:k.powerPreference;j?s.currentContext=j:ie?s.currentContext=await s.webnnCreateMLContext(ie):s.currentContext=await s.webnnCreateMLContext({deviceType:ae,powerPreference:O})}else s.currentContext=await s.webnnCreateMLContext();break}p=await s._OrtCreateSession(i,f,c),(b=s.webgpuOnCreateSession)==null||b.call(s,p),p===0&&q("Can't create a session."),(E=s.jsepOnCreateSession)==null||E.call(s),s.currentContext&&(s.webnnRegisterMLContext(p,s.currentContext),s.currentContext=void 0,s.shouldTransferToMLTensor=!0);let[P,z]=Jo(p),M=!!(n!=null&&n.enableGraphCapture),L=[],X=[],W=[],ne=[],de=[];for(let V=0;V<P;V++){let[k,j,ie]=qr(p,V);k===0&&q("Can't get an input name."),y.push(k);let ae=s.UTF8ToString(k);L.push(ae),W.push(j===0?{name:ae,isTensor:!1}:{name:ae,isTensor:!0,type:Xt(j),shape:ie})}for(let V=0;V<z;V++){let[k,j,ie]=qr(p,V+P);k===0&&q("Can't get an output name."),v.push(k);let ae=s.UTF8ToString(k);X.push(ae),ne.push(j===0?{name:ae,isTensor:!1}:{name:ae,isTensor:!0,type:Xt(j),shape:ie});{if(M&&(n==null?void 0:n.preferredOutputLocation)===void 0){de.push("gpu-buffer");continue}let O=typeof(n==null?void 0:n.preferredOutputLocation)=="string"?n.preferredOutputLocation:((C=n==null?void 0:n.preferredOutputLocation)==null?void 0:C[ae])??"cpu",x=s.webnnIsGraphOutput;if(O==="cpu"&&x&&x(p,ae)){de.push("ml-tensor-cpu-output");continue}if(O!=="cpu"&&O!=="cpu-pinned"&&O!=="gpu-buffer"&&O!=="ml-tensor")throw new Error(`Not supported preferred output location: ${O}.`);if(M&&O!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${O}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);de.push(O)}}let d=null;return de.some(V=>V==="gpu-buffer"||V==="ml-tensor"||V==="ml-tensor-cpu-output")&&(m=s._OrtCreateBinding(p),m===0&&q("Can't create IO binding."),d={handle:m,outputPreferredLocations:de,outputPreferredLocationsEncoded:de.map(V=>V==="ml-tensor-cpu-output"?"ml-tensor":V).map(V=>Jr(V))}),Fe.set(p,[p,y,v,d,M,!1]),[p,L,X,W,ne]}catch(P){throw y.forEach(z=>s._OrtFree(z)),v.forEach(z=>s._OrtFree(z)),m!==0&&s._OrtReleaseBinding(m)!==0&&q("Can't release IO binding."),p!==0&&s._OrtReleaseSession(p)!==0&&q("Can't release session."),P}finally{s._free(i),c!==0&&s._OrtReleaseSessionOptions(c)!==0&&q("Can't release session options."),w.forEach(P=>s._free(P)),(I=s.unmountExternalData)==null||I.call(s)}},mn=r=>{var w,y,v;let n=Y(),i=Fe.get(r);if(!i)throw new Error(`cannot release session. invalid session id: ${r}`);let[f,s,p,c,m]=i;c&&(m&&n._OrtClearBoundOutputs(c.handle)!==0&&q("Can't clear bound outputs."),n._OrtReleaseBinding(c.handle)!==0&&q("Can't release IO binding.")),(w=n.jsepOnReleaseSession)==null||w.call(n,r),(y=n.webnnOnReleaseSession)==null||y.call(n,r),(v=n.webgpuOnReleaseSession)==null||v.call(n,r),s.forEach(b=>n._OrtFree(b)),p.forEach(b=>n._OrtFree(b)),n._OrtReleaseSession(f)!==0&&q("Can't release session."),Fe.delete(r)},Hr=async(r,n,i,f,s,p,c=!1)=>{if(!r){n.push(0);return}let m=Y(),w=m.PTR_SIZE,y=r[0],v=r[1],b=r[3],E=b,C,I;if(y==="string"&&(b==="gpu-buffer"||b==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(c&&b!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${p} when enableGraphCapture is true.`);if(b==="gpu-buffer"){let M=r[2].gpuBuffer;I=pt(Qe(y),v);{let L=m.webgpuRegisterBuffer;if(!L)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');C=L(M,f)}}else if(b==="ml-tensor"){let M=r[2].mlTensor;I=pt(Qe(y),v);let L=m.webnnRegisterMLTensor;if(!L)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');C=L(f,M,Qe(y),v)}else{let M=r[2];if(Array.isArray(M)){I=w*M.length,C=m._malloc(I),i.push(C);for(let L=0;L<M.length;
vendor: 1,851 bytes, line 8
8L++){if(typeof M[L]!="string")throw new TypeError(`tensor data at index ${L} is not a string`);m.setValue(C+L*w,be(M[L],i),"*")}}else{let L=m.webnnIsGraphInput,X=m.webnnIsGraphOutput;if(y!=="string"&&L&&X){let W=m.UTF8ToString(s);if(L(f,W)||X(f,W)){let ne=Qe(y);I=pt(ne,v),E="ml-tensor";let de=m.webnnCreateTemporaryTensor,d=m.webnnUploadTensor;if(!de||!d)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let V=await de(f,ne,v);d(V,new Uint8Array(M.buffer,M.byteOffset,M.byteLength)),C=V}else I=M.byteLength,C=m._malloc(I),i.push(C),m.HEAPU8.set(new Uint8Array(M.buffer,M.byteOffset,I),C)}else I=M.byteLength,C=m._malloc(I),i.push(C),m.HEAPU8.set(new Uint8Array(M.buffer,M.byteOffset,I),C)}}let P=m.stackSave(),z=m.stackAlloc(4*v.length);try{v.forEach((L,X)=>m.setValue(z+X*w,L,w===4?"i32":"i64"));let M=m._OrtCreateTensor(Qe(y),C,I,z,v.length,Jr(E));M===0&&q(`Can't create tensor for input/output. session=${f}, index=${p}.`),n.push(M)}finally{m.stackRestore(P)}},wn=async(r,n,i,f,s,p)=>{var ae,O,x,ze;let c=Y(),m=c.PTR_SIZE,w=Fe.get(r);if(!w)throw new Error(`cannot run inference. invalid session id: ${r}`);let y=w[0],v=w[1],b=w[2],E=w[3],C=w[4],I=w[5],P=n.length,z=f.length,M=0,L=[],X=[],W=[],ne=[],de=[],d=c.stackSave(),V=c.stackAlloc(P*m),k=c.stackAlloc(P*m),j=c.stackAlloc(z*m),ie=c.stackAlloc(z*m);try{[M,L]=Ii(p),et("wasm prepareInputOutputTensor");for(let $=0;$<P;$++)await Hr(i[$],X,ne,r,v[n[$]],n[$],C);for(let $=0;$<z;$++)await Hr(s[$],W,ne,r,b[f[$]],P+f[$],C);tt("wasm prepareInputOutputTensor");for(let $=0;$<P;$++)c.setValue(V+$*m,X[$],"*"),c.setValue(k+$*m,v[n[$]],"*");for(let $=0;$<z;$++)c.setValue(j+$*m,W[$],"*"),c.setValue(ie+$*m,b[f[$]],"*");if(E&&!I){let{handle:$,outputPreferredLocations:he,outputPreferredLocationsEncoded:ke}=E;if(v.length!==P)throw new Error(`input count from feeds (${P}
8) is expected to be always equal to model's input count (${v.length}).`);et("wasm bindInputsOutputs");for(let J=0;J<P;J++){let oe=n[J];await c._OrtBindInput($,v[oe],X[J])!==0&&q(`Can't bind input[${J}] for session=${r}.`)}for(let J=0;J<z;J++){let oe=f[J];(ae=s[J])!=null&&ae[3]?(de.push(W[J]),c._OrtBindOutput($,b[oe],W[J],0)!==0&&q(`Can't bind pre-allocated output[${J}] for session=${r}.`)):c._OrtBindOutput($,b[oe],0,ke[oe])!==0&&q(`Can't bind output[${J}] to ${he[J]} for session=${r}.`)}tt("wasm bindInputsOutputs"),Fe.set(r,[y,v,b,E,C,!0])}(O=c.jsepOnRunStart)==null||O.call(c,y),(x=c.webnnOnRunStart)==null||x.call(c,y);let Z;E?Z=await c._OrtRunWithBinding(y,E.handle,z,j,M):Z=await c._OrtRun(y,k,V,P,ie,z,j,M),Z!==0&&q("failed to call OrtRun().");let te=[],gt=[];et("wasm ProcessOutputTensor");for(let $=0;$<z;$++){let he=Number(c.getValue(j+$*m,"*"));if(he===W[$]||de.includes(W[$])){te.push(s[$]),he!==W[$]&&c._OrtReleaseTensor(he)!==0&&q("Can't release tensor.");continue}let ke=c.stackSave(),J=c.stackAlloc(4*m),oe=!1,re,fe=0;try{c._OrtGetTensorData(he,J,J+m,J+2*m,J+3*m)!==0&&q(`Can't access output tensor data on index ${$}.`);let je=m===4?"i32":"i64",qe=Number(c.getValue(J,je));fe=c.getValue(J+m,"*");let yt=c.getValue(J+m*2,"*"),at=Number(c.getValue(J+m*3,je)),we=[];for(let N=0;N<at;N++)we.push(Number(c.getValue(yt+N*m,je)));c._OrtFree(yt)!==0&&q("Can't free memory for tensor dims.");let Ce=we.reduce((N,Q)=>N*Q,1);re=Xt(qe);let H=E==null?void 0:E.outputPreferredLocations[f[$]];if(re==="string"){if(H==="gpu-buffer"||H==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let N=[];for(let Q=0;Q<Ce;Q++){let Te=c.getValue(fe+Q*m,"*"),He=c.getValue(fe+(Q+1)*m,"*"),Ee=Q===Ce-1?void 0:He-Te;N.push(c.UTF8ToString(Te,Ee))}te.push([re,we,N,"cpu"])}else if(H==="gpu-buffer"&&Ce>0){let N=c.webgpuGetBuffer;if(!N)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let Q=N(fe),Te=pt(qe,Ce);if(Te===void 0||!fn(re))throw new Error(`Unsupported data type: ${re}`);oe=!0;{c.webgpuRegisterBuffer(Q,r,fe);let He=c.webgpuCreateDownloader(Q,Te,r);te.push([re,we,{gpuBuffer:Q,download:async()=>{let Ee=await He();return new(Bt(re))(Ee)},dispose:()=>{c._OrtReleaseTensor(he)!==0&&q("Can't release tensor.")}},"gpu-buffer"])}}else if(H==="ml-tensor"&&Ce>0){let N=c.webnnEnsureTensor,Q=c.webnnIsGraphInputOutputTypeSupported;if(!N||!Q)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(pt(qe,Ce)===void 0||!ln(re))throw new Error(`Unsupported data type: ${re}`);if(!Q(r,re,!1))throw new Error(`preferredLocation "ml-tensor" for ${re} output is not supported by current WebNN Context.`);let Te=await N(r,fe,qe,we,!1);oe=!0,te.push([re,we,{mlTensor:Te,download:c.webnnCreateMLTensorDownloader(fe,re),dispose:()=>{c.webnnReleaseTensorId(fe),c._OrtReleaseTensor(he)}},"ml-tensor"])}else if(H==="ml-tensor-cpu-output"&&Ce>0){let N=c.webnnCreateMLTensorDownloader(fe,re)(),Q=te.length;oe=!0,gt.push((async()=>{let Te=[Q,await N];return c.webnnReleaseTensorId(fe),c._OrtReleaseTensor(he),Te})()),te.push([re,we,[],"cpu"])}else{let N=Bt(re),Q=new N(Ce);new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength).set(c.HEAPU8.subarray(fe,fe+Q.byteLength)),te.push([re,we,Q,"cpu"])}}finally{c.stackRestore(ke),re==="string"&&fe&&c._free(fe),oe||c._OrtReleaseTensor(he)}}E&&!C&&(c._OrtClearBoundOutputs(E.handle)!==0&&q("Can't clear bound outputs."),Fe.set(r,[y,v,b,E,C,!1]));for(let[$,he]of await Promise.all(gt))te[$][2]=he;return tt("wasm ProcessOutputTensor"),te}finally{(ze=c.webnnOnRunEnd)==null||ze.call(c,y),c.stackRestore(d),i.forEach(Z=>{Z&&Z[3]==="gpu-buffer"&&c.webgpuUnregisterBuffer(Z[2].gpuBuffer)}),s.forEach(Z=>{Z&&Z[3]==="gpu-buffer"&&c.webgpuUnregisterBuffer(Z[2].gpuBuffer)}),X.forEach(Z=>c._OrtReleaseTensor(Z)),W.forEach(Z=>c._OrtReleaseTensor(Z)),ne.forEach(Z=>c._free(Z)),M!==0&&c._OrtReleaseRunOptions(M),L.forEach(Z=>c._free(Z))}},gn=r=>{let n=Y(),i=Fe.get(r);if(!i)throw new Error("invalid session id");let f=i[0],s=n._OrtEndProfiling(f);s===0&&q("Can't get an profile file name."),n._OrtFree(s)},yn=r=>{let n=[];for(let i of r){let f=i[2];!Array.isArray(f)&&"buffer"in f&&n.push(f.buffer)}return n}}),Ve,ge,ct,It,Ut,Ht,Yr,Yt,Ze,Ke,Qo,_i,Di,Gi,Wi,Fi,Vi,zi,ji=G(()=>{rt(),ki(),nt(),on(),Ve=()=>!!ee.wasm.proxy&&typeof document<"u",ct=!1,It=!1,Ut=!1,Yt=new Map,Ze=(r,n)=>{let i=Yt.get(r);i?i.push(n):Yt.set(r,[n])},Ke=()=>{if(ct||!It||Ut||!ge)throw new Error("worker not ready")},Qo=r=>{switch(r.data.type){case"init-wasm":ct=!1,r.data.err?(Ut=!0,Yr[1](r.data.err)):(It=!0,Yr[0]()),Ht&&(URL.revokeObjectURL(Ht),Ht=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let n=Yt.get(r.data.type);r.data.err?n.shift()[1](r.data.err):n.shift()[0](r.data.out);break}}},_i=async()=>
vendor: 5,225 bytes, line 8
8{if(!It){if(ct)throw new Error("multiple calls to 'initWasm()' detected.");if(Ut)throw new Error("previous call to 'initWasm()' failed.");if(ct=!0,Ve())return new Promise((r,n)=>{ge==null||ge.terminate(),Oi().then(([i,f])=>{try{ge=f,ge.onerror=p=>n(p),ge.onmessage=Qo,Yr=[r,n];let s={type:"init-wasm",in:ee};!s.in.wasm.wasmPaths&&(i||Kr)&&(s.in.wasm.wasmPaths={wasm:new URL("/assets/ort-wasm-simd-threaded.asyncify-CvvOzbbq.wasm",import.meta.url).href}),ge.postMessage(s),Ht=i}catch(s){n(s)}},n)});try{await sn(ee.wasm),await pn(ee),It=!0}catch(r){throw Ut=!0,r}finally{ct=!1}}},Di=async r=>{if(Ve())return Ke(),new Promise((n,i)=>{Ze("init-ep",[n,i]);let f={type:"init-ep",in:{epName:r,env:ee}};ge.postMessage(f)});await dn(ee,r)},Gi=async r=>Ve()?(Ke(),new Promise((n,i)=>{Ze("copy-from",[n,i]);let f={type:"copy-from",in:{buffer:r}};ge.postMessage(f,[r.buffer])})):Qt(r),Wi=async(r,n)=>{if(Ve()){if(n!=null&&n.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return Ke(),new Promise((i,f)=>{Ze("create",[i,f]);let s={type:"create",in:{model:r,options:{...n}}},p=[];r instanceof Uint8Array&&p.push(r.buffer),ge.postMessage(s,p)})}else return hn(r,n)},Fi=async r=>{if(Ve())return Ke(),new Promise((n,i)=>{Ze("release",[n,i]);let f={type:"release",in:r};ge.postMessage(f)});mn(r)},Vi=async(r,n,i,f,s,p)=>{if(Ve()){if(i.some(c=>c[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(s.some(c=>c))throw new Error("pre-allocated output tensor is not supported for proxy.");return Ke(),new Promise((c,m)=>{Ze("run",[c,m]);let w=i,y={type:"run",in:{sessionId:r,inputIndices:n,inputs:w,outputIndices:f,options:p}};ge.postMessage(y,yn(w))})}else return wn(r,n,i,f,s,p)},zi=async r=>{if(Ve())return Ke(),new Promise((n,i)=>{Ze("end-profiling",[n,i]);let f={type:"end-profiling",in:r};ge.postMessage(f)});gn(r)}}),Xr,ei,qi,Tl=G(()=>{rt(),ji(),wt(),an(),Mi(),Xr=(r,n)=>{switch(r.location){case"cpu":return[r.type,r.dims,r.data,"cpu"];case"gpu-buffer":return[r.type,r.dims,{gpuBuffer:r.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[r.type,r.dims,{mlTensor:r.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${r.location} for ${n()}`)}},ei=r=>{switch(r[3]){case"cpu":return new Me(r[0],r[2],r[1]);case"gpu-buffer":{let n=r[0];if(!fn(n))throw new Error(`not supported data type: ${n} for deserializing GPU tensor`);let{gpuBuffer:i,download:f,dispose:s}=r[2];return Me.fromGpuBuffer(i,{dataType:n,dims:r[1],download:f,dispose:s})}case"ml-tensor":{let n=r[0];if(!ln(n))throw new Error(`not supported data type: ${n} for deserializing MLTensor tensor`);let{mlTensor:i,download:f,dispose:s}=r[2];return Me.fromMLTensor(i,{dataType:n,dims:r[1],download:f,dispose:s})}default:throw new Error(`invalid data location: ${r[3]}`)}},qi=class{async fetchModelAndCopyToWasmMemory(r){return Gi(await cn(r))}async loadModel(r,n){ht();let i;typeof r=="string"?i=await this.fetchModelAndCopyToWasmMemory(r):i=r,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Wi(i,n),mt()}async dispose(){return Fi(this.sessionId)}async run(r,n,i){ht();let f=[],s=[];Object.entries(r).forEach(b=>{let E=b[0],C=b[1],I=this.inputNames.indexOf(E);if(I===-1)throw new Error(`invalid input '${E}'`);f.push(C),s.push(I)});let p=[],c=[];Object.entries(n).forEach(b=>{let E=b[0],C=b[1],I=this.outputNames.indexOf(E);if(I===-1)throw new Error(`invalid output '${E}'`);p.push(C),c.push(I)});let m=f.map((b,E)=>Xr(b,()=>`input "${this.inputNames[s[E]]}"`)),w=p.map((b,E)=>b?Xr(b,()=>`output "${this.outputNames[c[E]]}"`):null),y=await Vi(this.sessionId,s,m,c,w,i),v={};for(let b=0;b<y.length;b++)v[this.outputNames[c[b]]]=p[b]??ei(y[b]);return mt(),v}startProfiling(){}endProfiling(){zi(this.sessionId)}}}),Hi={};Rt(Hi,{OnnxruntimeWebAssemblyBackend:()=>tn,initializeFlags:()=>en,wasmBackend:()=>Yi});var en,tn,Yi,El=G(()=>{rt(),ji(),Tl(),en=()=>{(typeof ee.wasm.initTimeout!="number"||ee.wasm.initTimeout<0)&&(ee.wasm.initTimeout=0);let r=ee.wasm.simd;if(typeof r!="boolean"&&r!==void 0&&r!=="fixed"&&r!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${r}". Reset it to \`false\` and ignore SIMD feature checking.`),ee.wasm.simd=!1),typeof ee.wasm.proxy!="boolean"&&(ee.wasm.proxy=!1),typeof ee.wasm.trace!="boolean"&&(ee.wasm.trace=!1),typeof ee.wasm.numThreads!="number"||!Number.isInteger(ee.wasm.numThreads)||ee.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)ee.wasm.numThreads=1;else{let n=typeof navigator>"u"?Qf("node:os").cpus().length:navigator.hardwareConcurrency;ee.wasm.numThreads=Math.min(4,Math.ceil((n||1)/2))}},tn=class{async init(r){en(),await _i(),await Di(r)}async createInferenceSessionHandler(r,n){let i=new qi;return await i.loadModel(r,n),i}},Yi=new tn});rt();rt();rt();var xl="1.27.0",Al=vi;{let r=(El(),Zt(Hi)).wasmBackend;dt("webgpu",r,5),dt("webnn",r,5),dt("cpu",r,10),dt("wasm",r,10)}Object.defineProperty(ee.versions,"web",{value:xl,enumerable:!0});export{bi as InferenceSession,Zr as TRACE,et as TRACE_EVENT_BEGIN,tt as TRACE_EVENT_END,ht as TRACE_FUNC_BEGIN,mt as TRACE_FUNC_END,Me as Tensor,Al as default,ee as env,dt as registerBackend};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.