diff --git "a/demo/yolo/dist/index.min.js.map" "b/demo/yolo/dist/index.min.js.map" new file mode 100644--- /dev/null +++ "b/demo/yolo/dist/index.min.js.map" @@ -0,0 +1 @@ +{"version":3,"file":"dist/index.min.js","mappings":"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","sources":["webpack://yolov9 with onnxruntime-web/webgpu/./dist/esm/ort.webgpu.min.js","webpack://yolov9 with onnxruntime-web/webgpu/webpack/bootstrap","webpack://yolov9 with onnxruntime-web/webgpu/webpack/runtime/define property getters","webpack://yolov9 with onnxruntime-web/webgpu/webpack/runtime/hasOwnProperty shorthand","webpack://yolov9 with onnxruntime-web/webgpu/webpack/runtime/make namespace object","webpack://yolov9 with onnxruntime-web/webgpu/./index.js"],"sourcesContent":["/*!\n * ONNX Runtime Web v1.18.0\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar Xn=Object.defineProperty;var cg=Object.getOwnPropertyDescriptor;var pg=Object.getOwnPropertyNames;var fg=Object.prototype.hasOwnProperty;var ne=(e,t)=>()=>(e&&(t=e(e=0)),t);var Rr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Br=(e,t)=>{for(var r in t)Xn(e,r,{get:t[r],enumerable:!0})},mg=(e,t,r,u)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of pg(t))!fg.call(e,o)&&o!==r&&Xn(e,o,{get:()=>t[o],enumerable:!(u=cg(t,o))||u.enumerable});return e};var Jt=e=>mg(Xn({},\"__esModule\",{value:!0}),e);var tn,pr,fr,rn,nn=ne(()=>{\"use strict\";tn=new Map,pr=[],fr=(e,t,r)=>{if(t&&typeof t.init==\"function\"&&typeof t.createInferenceSessionHandler==\"function\"){let u=tn.get(e);if(u===void 0)tn.set(e,{backend:t,priority:r});else{if(u.priority>r)return;if(u.priority===r&&u.backend!==t)throw new Error(`cannot register backend \"${e}\" using priority ${r}`)}if(r>=0){let o=pr.indexOf(e);o!==-1&&pr.splice(o,1);for(let c=0;c{let t=e.length===0?pr:e,r=[];for(let u of t){let o=tn.get(u);if(o){if(o.initialized)return o.backend;if(o.aborted)continue;let c=!!o.initPromise;try{return c||(o.initPromise=o.backend.init(u)),await o.initPromise,o.initialized=!0,o.backend}catch(p){c||r.push({name:u,err:p}),o.aborted=!0}finally{delete o.initPromise}}}throw new Error(`no available backend found. ERR: ${r.map(u=>`[${u.name}] ${u.err}`).join(\", \")}`)}});var mu=ne(()=>{\"use strict\";nn()});var hu,gu=ne(()=>{\"use strict\";hu=\"1.18.0\"});var yu,$t,Jn=ne(()=>{\"use strict\";gu();yu=\"warning\",$t={wasm:{},webgl:{},webgpu:{},versions:{common:hu},set logLevel(e){if(e!==void 0){if(typeof e!=\"string\"||[\"verbose\",\"info\",\"warning\",\"error\",\"fatal\"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);yu=e}},get logLevel(){return yu}};Object.defineProperty($t,\"logLevel\",{enumerable:!0})});var Me,vu=ne(()=>{\"use strict\";Jn();Me=$t});var bu,wu,_u=ne(()=>{\"use strict\";bu=(e,t)=>{let r=typeof document<\"u\"?document.createElement(\"canvas\"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let u=r.getContext(\"2d\");if(u!=null){let o,c;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(o=e.dims[2],c=e.dims[3]):(o=e.dims[3],c=e.dims[2]);let p=t?.format!==void 0?t.format:\"RGB\",h=t?.norm,l,v;h===void 0||h.mean===void 0?l=[255,255,255,255]:typeof h.mean==\"number\"?l=[h.mean,h.mean,h.mean,h.mean]:(l=[h.mean[0],h.mean[1],h.mean[2],0],h.mean[3]!==void 0&&(l[3]=h.mean[3])),h===void 0||h.bias===void 0?v=[0,0,0,0]:typeof h.bias==\"number\"?v=[h.bias,h.bias,h.bias,h.bias]:(v=[h.bias[0],h.bias[1],h.bias[2],0],h.bias[3]!==void 0&&(v[3]=h.bias[3]));let $=c*o,_=0,x=$,A=$*2,S=-1;p===\"RGBA\"?(_=0,x=$,A=$*2,S=$*3):p===\"RGB\"?(_=0,x=$,A=$*2):p===\"RBG\"&&(_=0,A=$,x=$*2);for(let k=0;k{let r=typeof document<\"u\"?document.createElement(\"canvas\").getContext(\"2d\"):new OffscreenCanvas(1,1).getContext(\"2d\"),u;if(r!=null){let o,c,p;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(o=e.dims[2],c=e.dims[1],p=e.dims[3]):(o=e.dims[3],c=e.dims[2],p=e.dims[1]);let h=t!==void 0&&t.format!==void 0?t.format:\"RGB\",l=t?.norm,v,$;l===void 0||l.mean===void 0?v=[255,255,255,255]:typeof l.mean==\"number\"?v=[l.mean,l.mean,l.mean,l.mean]:(v=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0&&(v[3]=l.mean[3])),l===void 0||l.bias===void 0?$=[0,0,0,0]:typeof l.bias==\"number\"?$=[l.bias,l.bias,l.bias,l.bias]:($=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&($[3]=l.bias[3]));let _=c*o;if(t!==void 0&&(t.format!==void 0&&p===4&&t.format!==\"RGBA\"||p===3&&t.format!==\"RGB\"&&t.format!==\"BGR\"))throw new Error(\"Tensor format doesn't match input tensor dims\");let x=4,A=0,S=1,k=2,M=3,R=0,P=_,W=_*2,U=-1;h===\"RGBA\"?(R=0,P=_,W=_*2,U=_*3):h===\"RGB\"?(R=0,P=_,W=_*2):h===\"RBG\"&&(R=0,W=_,P=_*2),u=r.createImageData(o,c);for(let q=0;q{\"use strict\";an();ea=(e,t)=>{if(e===void 0)throw new Error(\"Image buffer must be defined\");if(t.height===void 0||t.width===void 0)throw new Error(\"Image height and width must be defined\");if(t.tensorLayout===\"NHWC\")throw new Error(\"NHWC Tensor layout is not supported yet\");let{height:r,width:u}=t,o=t.norm??{mean:255,bias:0},c,p;typeof o.mean==\"number\"?c=[o.mean,o.mean,o.mean,o.mean]:c=[o.mean[0],o.mean[1],o.mean[2],o.mean[3]??255],typeof o.bias==\"number\"?p=[o.bias,o.bias,o.bias,o.bias]:p=[o.bias[0],o.bias[1],o.bias[2],o.bias[3]??0];let h=t.format!==void 0?t.format:\"RGBA\",l=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:\"RGB\",v=r*u,$=l===\"RGBA\"?new Float32Array(v*4):new Float32Array(v*3),_=4,x=0,A=1,S=2,k=3,M=0,R=v,P=v*2,W=-1;h===\"RGB\"&&(_=3,x=0,A=1,S=2,k=-1),l===\"RGBA\"?W=v*3:l===\"RBG\"?(M=0,P=v,R=v*2):l===\"BGR\"&&(P=0,R=v,M=v*2);for(let q=0;q{let r=typeof HTMLImageElement<\"u\"&&e instanceof HTMLImageElement,u=typeof ImageData<\"u\"&&e instanceof ImageData,o=typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap,c=typeof e==\"string\",p,h=t??{},l=()=>{if(typeof document<\"u\")return document.createElement(\"canvas\");if(typeof OffscreenCanvas<\"u\")return new OffscreenCanvas(1,1);throw new Error(\"Canvas is not supported\")},v=$=>$ instanceof HTMLCanvasElement||$ instanceof OffscreenCanvas?$.getContext(\"2d\"):null;if(r){let $=l();$.width=e.width,$.height=e.height;let _=v($);if(_!=null){let x=e.height,A=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(x=t.resizedHeight,A=t.resizedWidth),t!==void 0){if(h=t,t.tensorFormat!==void 0)throw new Error(\"Image input config format must be RGBA for HTMLImageElement\");h.tensorFormat=\"RGBA\",h.height=x,h.width=A}else h.tensorFormat=\"RGBA\",h.height=x,h.width=A;_.drawImage(e,0,0),p=_.getImageData(0,0,A,x).data}else throw new Error(\"Can not access image data\")}else if(u){let $,_;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?($=t.resizedHeight,_=t.resizedWidth):($=e.height,_=e.width),t!==void 0&&(h=t),h.format=\"RGBA\",h.height=$,h.width=_,t!==void 0){let x=l();x.width=_,x.height=$;let A=v(x);if(A!=null)A.putImageData(e,0,0),p=A.getImageData(0,0,_,$).data;else throw new Error(\"Can not access image data\")}else p=e.data}else if(o){if(t===void 0)throw new Error(\"Please provide image config with format for Imagebitmap\");let $=l();$.width=e.width,$.height=e.height;let _=v($);if(_!=null){let x=e.height,A=e.width;return _.drawImage(e,0,0,A,x),p=_.getImageData(0,0,A,x).data,h.height=x,h.width=A,ea(p,h)}else throw new Error(\"Can not access image data\")}else{if(c)return new Promise(($,_)=>{let x=l(),A=v(x);if(!e||!A)return _();let S=new Image;S.crossOrigin=\"Anonymous\",S.src=e,S.onload=()=>{x.width=S.width,x.height=S.height,A.drawImage(S,0,0,x.width,x.height);let k=A.getImageData(0,0,x.width,x.height);h.height=x.height,h.width=x.width,$(ea(k.data,h))}});throw new Error(\"Input data provided is not supported - aborted tensor creation\")}if(p!==void 0)return ea(p,h);throw new Error(\"Input data provided is not supported - aborted tensor creation\")},Cu=(e,t)=>{let{width:r,height:u,download:o,dispose:c}=t,p=[1,u,r,4];return new ft({location:\"texture\",type:\"float32\",texture:e,dims:p,download:o,dispose:c})},xu=(e,t)=>{let{dataType:r,dims:u,download:o,dispose:c}=t;return new ft({location:\"gpu-buffer\",type:r??\"float32\",gpuBuffer:e,dims:u,download:o,dispose:c})},Su=(e,t,r)=>new ft({location:\"cpu-pinned\",type:e,data:t,dims:r??[t.length]})});var mr,bi,Tu,Au,Eu=ne(()=>{\"use strict\";mr=new Map([[\"float32\",Float32Array],[\"uint8\",Uint8Array],[\"int8\",Int8Array],[\"uint16\",Uint16Array],[\"int16\",Int16Array],[\"int32\",Int32Array],[\"bool\",Uint8Array],[\"float64\",Float64Array],[\"uint32\",Uint32Array]]),bi=new Map([[Float32Array,\"float32\"],[Uint8Array,\"uint8\"],[Int8Array,\"int8\"],[Uint16Array,\"uint16\"],[Int16Array,\"int16\"],[Int32Array,\"int32\"],[Float64Array,\"float64\"],[Uint32Array,\"uint32\"]]),Tu=!1,Au=()=>{if(!Tu){Tu=!0;let e=typeof BigInt64Array<\"u\"&&BigInt64Array.from,t=typeof BigUint64Array<\"u\"&&BigUint64Array.from,r=typeof Float16Array<\"u\"&&Float16Array.from;e&&(mr.set(\"int64\",BigInt64Array),bi.set(BigInt64Array,\"int64\")),t&&(mr.set(\"uint64\",BigUint64Array),bi.set(BigUint64Array,\"uint64\")),r?(mr.set(\"float16\",Float16Array),bi.set(Float16Array,\"float16\")):mr.set(\"float16\",Uint16Array)}}});var ku,Ou,Pu=ne(()=>{\"use strict\";an();ku=e=>{let t=1;for(let r=0;r{switch(e.location){case\"cpu\":return new ft(e.type,e.data,t);case\"cpu-pinned\":return new ft({location:\"cpu-pinned\",data:e.data,type:e.type,dims:t});case\"texture\":return new ft({location:\"texture\",texture:e.texture,type:e.type,dims:t});case\"gpu-buffer\":return new ft({location:\"gpu-buffer\",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var ft,an=ne(()=>{\"use strict\";_u();Iu();Eu();Pu();ft=class{constructor(t,r,u){Au();let o,c;if(typeof t==\"object\"&&\"location\"in t)switch(this.dataLocation=t.location,o=t.type,c=t.dims,t.location){case\"cpu-pinned\":{let h=mr.get(o);if(!h)throw new TypeError(`unsupported type \"${o}\" to create tensor from pinned buffer`);if(!(t.data instanceof h))throw new TypeError(`buffer should be of type ${h.name}`);this.cpuData=t.data;break}case\"texture\":{if(o!==\"float32\")throw new TypeError(`unsupported type \"${o}\" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case\"gpu-buffer\":{if(o!==\"float32\"&&o!==\"float16\"&&o!==\"int32\"&&o!==\"int64\"&&o!==\"uint32\"&&o!==\"uint8\"&&o!==\"bool\")throw new TypeError(`unsupported type \"${o}\" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let h,l;if(typeof t==\"string\")if(o=t,l=u,t===\"string\"){if(!Array.isArray(r))throw new TypeError(\"A string tensor's data must be a string array.\");h=r}else{let v=mr.get(t);if(v===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(r)){if(t===\"float16\"&&v===Uint16Array)throw new TypeError(\"Creating a float16 tensor from number array is not supported. Please use Uint16Array as data.\");t===\"uint64\"||t===\"int64\"?h=v.from(r,BigInt):h=v.from(r)}else if(r instanceof v)h=r;else throw new TypeError(`A ${o} tensor's data must be type of ${v}`)}else if(l=r,Array.isArray(t)){if(t.length===0)throw new TypeError(\"Tensor type cannot be inferred from an empty array.\");let v=typeof t[0];if(v===\"string\")o=\"string\",h=t;else if(v===\"boolean\")o=\"bool\",h=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${v}.`)}else{let v=bi.get(t.constructor);if(v===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);o=v,h=t}if(l===void 0)l=[h.length];else if(!Array.isArray(l))throw new TypeError(\"A tensor's dims must be a number array\");c=l,this.cpuData=h,this.dataLocation=\"cpu\"}let p=ku(c);if(this.cpuData&&p!==this.cpuData.length)throw new Error(`Tensor's size(${p}) does not match data length(${this.cpuData.length}).`);this.type=o,this.dims=c,this.size=p}static async fromImage(t,r){return $u(t,r)}static fromTexture(t,r){return Cu(t,r)}static fromGpuBuffer(t,r){return xu(t,r)}static fromPinnedBuffer(t,r,u){return Su(t,r,u)}toDataURL(t){return bu(this,t)}toImageData(t){return wu(this,t)}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}async getData(t){switch(this.ensureValid(),this.dataLocation){case\"cpu\":case\"cpu-pinned\":return this.data;case\"texture\":case\"gpu-buffer\":{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 r=await this.downloader();return this.downloader=void 0,this.dataLocation=\"cpu\",this.cpuData=r,t&&this.disposer&&(this.disposer(),this.disposer=void 0),r}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.downloader=void 0,this.isDownloading=void 0,this.dataLocation=\"none\"}ensureValid(){if(this.dataLocation===\"none\")throw new Error(\"The tensor is disposed.\")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error(\"Cannot reshape a tensor that owns GPU resource.\");return Ou(this,t)}}});var st,on=ne(()=>{\"use strict\";an();st=ft});var sn,Ru,Ct,ht,ta=ne(()=>{\"use strict\";Jn();sn=(e,t)=>{(typeof $t.trace>\"u\"?!$t.wasm.trace:!$t.trace)||console.timeStamp(`${e}::ORT::${t}`)},Ru=(e,t)=>{let r=new Error().stack?.split(/\\r\\n|\\r|\\n/g)||[],u=!1;for(let o=0;o{(typeof $t.trace>\"u\"?!$t.wasm.trace:!$t.trace)||Ru(\"BEGIN\",e)},ht=e=>{(typeof $t.trace>\"u\"?!$t.wasm.trace:!$t.trace)||Ru(\"END\",e)}});var un,Bu=ne(()=>{\"use strict\";nn();on();ta();un=class e{constructor(t){this.handler=t}async run(t,r,u){Ct();let o={},c={};if(typeof t!=\"object\"||t===null||t instanceof st||Array.isArray(t))throw new TypeError(\"'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.\");let p=!0;if(typeof r==\"object\"){if(r===null)throw new TypeError(\"Unexpected argument[1]: cannot be null.\");if(r instanceof st)throw new TypeError(\"'fetches' cannot be a Tensor\");if(Array.isArray(r)){if(r.length===0)throw new TypeError(\"'fetches' cannot be an empty array.\");p=!1;for(let v of r){if(typeof v!=\"string\")throw new TypeError(\"'fetches' must be a string array or an object.\");if(this.outputNames.indexOf(v)===-1)throw new RangeError(`'fetches' contains invalid output name: ${v}.`);o[v]=null}if(typeof u==\"object\"&&u!==null)c=u;else if(typeof u<\"u\")throw new TypeError(\"'options' must be an object.\")}else{let v=!1,$=Object.getOwnPropertyNames(r);for(let _ of this.outputNames)if($.indexOf(_)!==-1){let x=r[_];(x===null||x instanceof st)&&(v=!0,p=!1,o[_]=x)}if(v){if(typeof u==\"object\"&&u!==null)c=u;else if(typeof u<\"u\")throw new TypeError(\"'options' must be an object.\")}else c=r}}else if(typeof r<\"u\")throw new TypeError(\"Unexpected argument[1]: must be 'fetches' or 'options'.\");for(let v of this.inputNames)if(typeof t[v]>\"u\")throw new Error(`input '${v}' is missing in 'feeds'.`);if(p)for(let v of this.outputNames)o[v]=null;let h=await this.handler.run(t,o,c),l={};for(let v in h)if(Object.hasOwnProperty.call(h,v)){let $=h[v];$ instanceof st?l[v]=$:l[v]=new st($.type,$.data,$.dims)}return ht(),l}async release(){return this.handler.dispose()}static async create(t,r,u,o){Ct();let c,p={};if(typeof t==\"string\"){if(c=t,typeof r==\"object\"&&r!==null)p=r;else if(typeof r<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof Uint8Array){if(c=t,typeof r==\"object\"&&r!==null)p=r;else if(typeof r<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&t instanceof SharedArrayBuffer){let _=t,x=0,A=t.byteLength;if(typeof r==\"object\"&&r!==null)p=r;else if(typeof r==\"number\"){if(x=r,!Number.isSafeInteger(x))throw new RangeError(\"'byteOffset' must be an integer.\");if(x<0||x>=_.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${_.byteLength}).`);if(A=t.byteLength-x,typeof u==\"number\"){if(A=u,!Number.isSafeInteger(A))throw new RangeError(\"'byteLength' must be an integer.\");if(A<=0||x+A>_.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${_.byteLength-x}].`);if(typeof o==\"object\"&&o!==null)p=o;else if(typeof o<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(typeof u<\"u\")throw new TypeError(\"'byteLength' must be a number.\")}else if(typeof r<\"u\")throw new TypeError(\"'options' must be an object.\");c=new Uint8Array(_,x,A)}else throw new TypeError(\"Unexpected argument[0]: must be 'path' or 'buffer'.\");let l=(p.executionProviders||[]).map(_=>typeof _==\"string\"?_:_.name),$=await(await rn(l)).createInferenceSessionHandler(c,p);return ht(),new e($)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}});var hg,zu=ne(()=>{\"use strict\";Bu();hg=un});var Du=ne(()=>{\"use strict\"});var gg,ln,Mu=ne(()=>{\"use strict\";nn();on();gg=\"Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.\",ln=class e{constructor(t,r,u){this.handler=t,this.hasOptimizerModel=r,this.hasEvalModel=u}get trainingInputNames(){return this.handler.inputNames}get trainingOutputNames(){return this.handler.outputNames}get evalInputNames(){if(this.hasEvalModel)return this.handler.evalInputNames;throw new Error(\"This training session has no evalModel loaded.\")}get evalOutputNames(){if(this.hasEvalModel)return this.handler.evalOutputNames;throw new Error(\"This training session has no evalModel loaded.\")}static async create(t,r){let u=t.evalModel||\"\",o=t.optimizerModel||\"\",c=r||{},h=(c.executionProviders||[]).map(v=>typeof v==\"string\"?v:v.name),l=await rn(h);if(l.createTrainingSessionHandler){let v=await l.createTrainingSessionHandler(t.checkpointState,t.trainModel,u,o,c);return new e(v,!!t.optimizerModel,!!t.evalModel)}else throw new Error(gg)}typeNarrowingForRunStep(t,r,u,o,c){let p={},h={};if(typeof u!=\"object\"||u===null||u instanceof st||Array.isArray(u))throw new TypeError(\"'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.\");let l=!0;if(typeof o==\"object\"){if(o===null)throw new TypeError(\"Unexpected argument[1]: cannot be null.\");if(o instanceof st)throw new TypeError(\"'fetches' cannot be a Tensor\");if(Array.isArray(o)){if(o.length===0)throw new TypeError(\"'fetches' cannot be an empty array.\");l=!1;for(let v of o){if(typeof v!=\"string\")throw new TypeError(\"'fetches' must be a string array or an object.\");if(r.indexOf(v)===-1)throw new RangeError(`'fetches' contains invalid output name: ${v}.`);p[v]=null}if(typeof c==\"object\"&&c!==null)h=c;else if(typeof c<\"u\")throw new TypeError(\"'options' must be an object.\")}else{let v=!1,$=Object.getOwnPropertyNames(o);for(let _ of r)if($.indexOf(_)!==-1){let x=o[_];(x===null||x instanceof st)&&(v=!0,l=!1,p[_]=x)}if(v){if(typeof c==\"object\"&&c!==null)h=c;else if(typeof c<\"u\")throw new TypeError(\"'options' must be an object.\")}else h=o}}else if(typeof o<\"u\")throw new TypeError(\"Unexpected argument[1]: must be 'fetches' or 'options'.\");for(let v of t)if(typeof u[v]>\"u\")throw new Error(`input '${v}' is missing in 'feeds'.`);if(l)for(let v of r)p[v]=null;return[p,h]}convertHandlerReturnTypeToMapOfTensors(t){let r={};for(let u in t)if(Object.hasOwnProperty.call(t,u)){let o=t[u];o instanceof st?r[u]=o:r[u]=new st(o.type,o.data,o.dims)}return r}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(t,r,u){let[o,c]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,t,r,u),p=await this.handler.runTrainStep(t,o,c);return this.convertHandlerReturnTypeToMapOfTensors(p)}async runOptimizerStep(t){if(this.hasOptimizerModel)await this.handler.runOptimizerStep(t||{});else throw new Error(\"This TrainingSession has no OptimizerModel loaded.\")}async runEvalStep(t,r,u){if(this.hasEvalModel){let[o,c]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,t,r,u),p=await this.handler.runEvalStep(t,o,c);return this.convertHandlerReturnTypeToMapOfTensors(p)}else throw new Error(\"This TrainingSession has no EvalModel loaded.\")}async getParametersSize(t=!0){return this.handler.getParametersSize(t)}async loadParametersBuffer(t,r=!0){let u=await this.getParametersSize(r);if(t.length!==4*u)throw new Error(\"Size of the buffer passed into loadParametersBuffer must match the number of parameters in the model. Please use getParametersSize method to check.\");return this.handler.loadParametersBuffer(t,r)}async getContiguousParameters(t=!0){return this.handler.getContiguousParameters(t)}async release(){return this.handler.dispose()}}});var yg,ju=ne(()=>{\"use strict\";Mu();yg=ln});var ra={};Br(ra,{InferenceSession:()=>hg,TRACE:()=>sn,TRACE_FUNC_BEGIN:()=>Ct,TRACE_FUNC_END:()=>ht,Tensor:()=>st,TrainingSession:()=>yg,env:()=>Me,registerBackend:()=>fr});var It=ne(()=>{\"use strict\";mu();vu();zu();on();ta();Du();ju()});var dn={};Br(dn,{createReadStream:()=>Wu,readFile:()=>vg,readFileSync:()=>bg});var vg,bg,Wu,cn=ne(()=>{vg=void 0,bg=void 0,Wu=void 0});var ia={};Br(ia,{join:()=>wg});var wg,na=ne(()=>{wg=void 0});var Gu=Rr((Vu,aa)=>{\"use strict\";var Nu=(()=>{var e=typeof document<\"u\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<\"u\"&&(e=e||__filename),function(t={}){var r=t,u,o;r.ready=new Promise((i,n)=>{u=i,o=n}),r.mountExternalData=(i,n)=>{(r.Nh||(r.Nh=new Map)).set(i,n)},r.unmountExternalData=()=>{delete r.Nh},r.jsepInit=(i,n,a,s,d,f,g,y,b,C,T)=>{r.ui=i,r.gi=n,r.ki=a,r.Th=s,r.ji=d,r.he=f,r.li=g,r.ni=y,r.hi=b,r.ii=C,r.mi=T,n=(O,B,E)=>(...j)=>{let K=wt,ie=B?.();j=O(...j);let ue=B?.();return ie!==ue&&(O=ue,E(ie),B=E=null),wt!=K?$r():j},a=O=>async(...B)=>{try{if(r.Kh)throw Error(\"Session already started\");let E=r.Kh={oi:B[0],errors:[]},j=await O(...B);if(r.Kh!==E)throw Error(\"Session mismatch\");i.flush();let K=E.errors;if(0ue),0r._OrtCreateSession,O=>r._OrtCreateSession=O),r._OrtRun=a(n(r._OrtRun,()=>r._OrtRun,O=>r._OrtRun=O)),r._OrtRunWithBinding=a(n(r._OrtRunWithBinding,()=>r._OrtRunWithBinding,O=>r._OrtRunWithBinding=O)),r._OrtBindInput=n(r._OrtBindInput,()=>r._OrtBindInput,O=>r._OrtBindInput=O),r.jsepRegisterBuffer=(O,B,E,j)=>i.registerBuffer(O,B,E,j),r.jsepGetBuffer=O=>i.getBuffer(O),r.jsepCreateDownloader=(O,B,E)=>i.createDownloader(O,B,E),r.jsepOnReleaseSession=O=>{i.onReleaseSession(O)},r.jsepOnRunStart=O=>i.onRunStart(O)};var c=Object.assign({},r),p=\"./this.program\",h=(i,n)=>{throw n},l=typeof window==\"object\",v=typeof importScripts==\"function\",$=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",_=\"\",x,A,S;if($){var k=(cn(),Jt(dn)),M=(na(),Jt(ia));_=v?M.dirname(_)+\"/\":__dirname+\"/\",x=(i,n)=>(i=pe(i)?new URL(i):M.normalize(i),k.readFileSync(i,n?void 0:\"utf8\")),S=i=>(i=x(i,!0),i.buffer||(i=new Uint8Array(i)),i),A=(i,n,a,s=!0)=>{i=pe(i)?new URL(i):M.normalize(i),k.readFile(i,s?void 0:\"utf8\",(d,f)=>{d?a(d):n(s?f.buffer:f)})},!r.thisProgram&&1{throw process.exitCode=i,n},r.inspect=()=>\"[Emscripten Module object]\"}else(l||v)&&(v?_=self.location.href:typeof document<\"u\"&&document.currentScript&&(_=document.currentScript.src),e&&(_=e),_.indexOf(\"blob:\")!==0?_=_.substr(0,_.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):_=\"\",x=i=>{var n=new XMLHttpRequest;return n.open(\"GET\",i,!1),n.send(null),n.responseText},v&&(S=i=>{var n=new XMLHttpRequest;return n.open(\"GET\",i,!1),n.responseType=\"arraybuffer\",n.send(null),new Uint8Array(n.response)}),A=(i,n,a)=>{var s=new XMLHttpRequest;s.open(\"GET\",i,!0),s.responseType=\"arraybuffer\",s.onload=()=>{s.status==200||s.status==0&&s.response?n(s.response):a()},s.onerror=a,s.send(null)});var R=console.log.bind(console),P=console.error.bind(console);Object.assign(r,c),c=null,typeof WebAssembly!=\"object\"&&Ye(\"no native wasm support detected\");var W,U=!1,q,Y,J,oe,ge,H,le,Ae,Ue,We,Ee;function ee(){var i=W.buffer;r.HEAP8=Y=new Int8Array(i),r.HEAP16=oe=new Int16Array(i),r.HEAPU8=J=new Uint8Array(i),r.HEAPU16=ge=new Uint16Array(i),r.HEAP32=H=new Int32Array(i),r.HEAPU32=le=new Uint32Array(i),r.HEAPF32=Ae=new Float32Array(i),r.HEAPF64=Ee=new Float64Array(i),r.HEAP64=Ue=new BigInt64Array(i),r.HEAPU64=We=new BigUint64Array(i)}var Ve=[],xe=[],Ce=[],be=0,Se=null,De=null;function Ye(i){throw i=\"Aborted(\"+i+\")\",P(i),U=!0,q=1,i=new WebAssembly.RuntimeError(i+\". Build with -sASSERTIONS for more info.\"),o(i),i}var re=i=>i.startsWith(\"data:application/octet-stream;base64,\"),pe=i=>i.startsWith(\"file://\"),_e;if(_e=\"ort-wasm-simd.wasm\",!re(_e)){var at=_e;_e=r.locateFile?r.locateFile(at,_):_+at}function rt(i){if(S)return S(i);throw\"both async and sync fetching of the wasm failed\"}function vt(i){if(l||v){if(typeof fetch==\"function\"&&!pe(i))return fetch(i,{credentials:\"same-origin\"}).then(n=>{if(!n.ok)throw\"failed to load wasm binary file at '\"+i+\"'\";return n.arrayBuffer()}).catch(()=>rt(i));if(A)return new Promise((n,a)=>{A(i,s=>n(new Uint8Array(s)),a)})}return Promise.resolve().then(()=>rt(i))}function Yt(i,n,a){return vt(i).then(s=>WebAssembly.instantiate(s,n)).then(s=>s).then(a,s=>{P(`failed to asynchronously prepare wasm: ${s}`),Ye(s)})}function Xe(i,n){var a=_e;return typeof WebAssembly.instantiateStreaming!=\"function\"||re(a)||pe(a)||$||typeof fetch!=\"function\"?Yt(a,i,n):fetch(a,{credentials:\"same-origin\"}).then(s=>WebAssembly.instantiateStreaming(s,i).then(n,function(d){return P(`wasm streaming compile failed: ${d}`),P(\"falling back to ArrayBuffer instantiation\"),Yt(a,i,n)}))}var Ze={1380080:(i,n,a,s)=>{if(typeof r>\"u\"||!r.Nh)return 1;if(i=Je(i>>>0),i.startsWith(\"./\")&&(i=i.substring(2)),i=r.Nh.get(i),!i)return 2;if(n>>>=0,a>>>=0,n+a>i.byteLength)return 3;try{return J.set(i.subarray(n,n+a),s>>>0>>>0),0}catch{return 4}},1380581:(i,n,a)=>{a=Je(a);let s=new Uint8Array(n);s.set(J.subarray(i>>>0,i+n>>>0)),typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\"?(cn(),Jt(dn)).writeFileSync(a,s):(i=new File([s],a,{type:\"application/octet-stream\"}),i=URL.createObjectURL(i),window.open(i,\"_blank\"))},1381089:()=>{r.hi()},1381120:()=>{r.ii()},1381149:()=>{r.mi()},1381174:i=>r.gi(i),1381207:i=>r.ki(i),1381239:(i,n,a)=>{r.Th(i,n,a,!0)},1381278:(i,n,a)=>{r.Th(i,n,a)},1381311:i=>{r.he(\"Abs\",i,void 0)},1381362:i=>{r.he(\"Neg\",i,void 0)},1381413:i=>{r.he(\"Floor\",i,void 0)},1381466:i=>{r.he(\"Ceil\",i,void 0)},1381518:i=>{r.he(\"Reciprocal\",i,void 0)},1381576:i=>{r.he(\"Sqrt\",i,void 0)},1381628:i=>{r.he(\"Exp\",i,void 0)},1381679:i=>{r.he(\"Erf\",i,void 0)},1381730:i=>{r.he(\"Sigmoid\",i,void 0)},1381785:(i,n,a)=>{r.he(\"HardSigmoid\",i,{alpha:n,beta:a})},1381864:i=>{r.he(\"Log\",i,void 0)},1381915:i=>{r.he(\"Sin\",i,void 0)},1381966:i=>{r.he(\"Cos\",i,void 0)},1382017:i=>{r.he(\"Tan\",i,void 0)},1382068:i=>{r.he(\"Asin\",i,void 0)},1382120:i=>{r.he(\"Acos\",i,void 0)},1382172:i=>{r.he(\"Atan\",i,void 0)},1382224:i=>{r.he(\"Sinh\",i,void 0)},1382276:i=>{r.he(\"Cosh\",i,void 0)},1382328:i=>{r.he(\"Asinh\",i,void 0)},1382381:i=>{r.he(\"Acosh\",i,void 0)},1382434:i=>{r.he(\"Atanh\",i,void 0)},1382487:i=>{r.he(\"Tanh\",i,void 0)},1382539:i=>{r.he(\"Not\",i,void 0)},1382590:(i,n,a)=>{r.he(\"Clip\",i,{min:n,max:a})},1382659:i=>{r.he(\"Clip\",i,void 0)},1382711:(i,n)=>{r.he(\"Elu\",i,{alpha:n})},1382769:i=>{r.he(\"Relu\",i,void 0)},1382821:(i,n)=>{r.he(\"LeakyRelu\",i,{alpha:n})},1382885:(i,n)=>{r.he(\"ThresholdedRelu\",i,{alpha:n})},1382955:(i,n)=>{r.he(\"Cast\",i,{to:n})},1383013:i=>{r.he(\"Add\",i,void 0)},1383064:i=>{r.he(\"Sub\",i,void 0)},1383115:i=>{r.he(\"Mul\",i,void 0)},1383166:i=>{r.he(\"Div\",i,void 0)},1383217:i=>{r.he(\"Pow\",i,void 0)},1383268:i=>{r.he(\"Equal\",i,void 0)},1383321:i=>{r.he(\"Greater\",i,void 0)},1383376:i=>{r.he(\"GreaterOrEqual\",i,void 0)},1383438:i=>{r.he(\"Less\",i,void 0)},1383490:i=>{r.he(\"LessOrEqual\",i,void 0)},1383549:(i,n,a,s,d)=>{r.he(\"ReduceMean\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1383708:(i,n,a,s,d)=>{r.he(\"ReduceMax\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1383866:(i,n,a,s,d)=>{r.he(\"ReduceMin\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1384024:(i,n,a,s,d)=>{r.he(\"ReduceProd\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1384183:(i,n,a,s,d)=>{r.he(\"ReduceSum\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1384341:(i,n,a,s,d)=>{r.he(\"ReduceL1\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1384498:(i,n,a,s,d)=>{r.he(\"ReduceL2\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1384655:(i,n,a,s,d)=>{r.he(\"ReduceLogSum\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1384816:(i,n,a,s,d)=>{r.he(\"ReduceSumSquare\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1384980:(i,n,a,s,d)=>{r.he(\"ReduceLogSumExp\",i,{keepDims:!!n,noopWithEmptyAxes:!!a,axes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1385144:i=>{r.he(\"Where\",i,void 0)},1385197:(i,n,a)=>{r.he(\"Transpose\",i,{perm:n?Array.from(H.subarray(n>>>0,a>>>0)):[]})},1385305:(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)=>{r.he(\"ConvTranspose\",i,{format:b?\"NHWC\":\"NCHW\",autoPad:n,dilations:[a],group:s,kernel_shape:[d],pads:[f,g],strides:[y],wIsConst:()=>!!Y[C>>>0],outputPadding:T?Array.from(H.subarray(T>>>0,O>>>0)):[],outputShape:B?Array.from(H.subarray(B>>>0,E>>>0)):[],activation:Je(j)})},1385707:(i,n,a,s,d,f,g,y,b,C,T,O,B,E)=>{r.he(\"ConvTranspose\",i,{format:y?\"NHWC\":\"NCHW\",autoPad:n,dilations:Array.from(H.subarray(a>>>0,(a>>>0)+2>>>0)),group:s,kernelShape:Array.from(H.subarray(d>>>0,(d>>>0)+2>>>0)),pads:Array.from(H.subarray(f>>>0,(f>>>0)+4>>>0)),strides:Array.from(H.subarray(g>>>0,(g>>>0)+2>>>0)),wIsConst:()=>!!Y[b>>>0],outputPadding:C?Array.from(H.subarray(C>>>0,T>>>0)):[],outputShape:O?Array.from(H.subarray(O>>>0,B>>>0)):[],activation:Je(E)})},1386272:(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)=>{r.he(\"ConvTranspose\",i,{format:b?\"NHWC\":\"NCHW\",autoPad:n,dilations:[a],group:s,kernel_shape:[d],pads:[f,g],strides:[y],wIsConst:()=>!!Y[C>>>0],outputPadding:T?Array.from(H.subarray(T>>>0,O>>>0)):[],outputShape:B?Array.from(H.subarray(B>>>0,E>>>0)):[],activation:Je(j)})},1386674:(i,n,a,s,d,f,g,y,b,C,T,O,B,E)=>{r.he(\"ConvTranspose\",i,{format:y?\"NHWC\":\"NCHW\",autoPad:n,dilations:Array.from(H.subarray(a>>>0,(a>>>0)+2>>>0)),group:s,kernelShape:Array.from(H.subarray(d>>>0,(d>>>0)+2>>>0)),pads:Array.from(H.subarray(f>>>0,(f>>>0)+4>>>0)),strides:Array.from(H.subarray(g>>>0,(g>>>0)+2>>>0)),wIsConst:()=>!!Y[b>>>0],outputPadding:C?Array.from(H.subarray(C>>>0,T>>>0)):[],outputShape:O?Array.from(H.subarray(O>>>0,B>>>0)):[],activation:Je(E)})},1387239:(i,n)=>{r.he(\"GlobalAveragePool\",i,{format:n?\"NHWC\":\"NCHW\"})},1387330:(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)=>{r.he(\"AveragePool\",i,{format:K?\"NHWC\":\"NCHW\",auto_pad:n,ceil_mode:a,count_include_pad:s,storage_order:d,dilations:[f,g],kernel_shape:[y,b],pads:[C,T,O,B],strides:[E,j]})},1387614:(i,n)=>{r.he(\"GlobalAveragePool\",i,{format:n?\"NHWC\":\"NCHW\"})},1387705:(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)=>{r.he(\"AveragePool\",i,{format:K?\"NHWC\":\"NCHW\",auto_pad:n,ceil_mode:a,count_include_pad:s,storage_order:d,dilations:[f,g],kernel_shape:[y,b],pads:[C,T,O,B],strides:[E,j]})},1387989:(i,n)=>{r.he(\"GlobalMaxPool\",i,{format:n?\"NHWC\":\"NCHW\"})},1388076:(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)=>{r.he(\"MaxPool\",i,{format:K?\"NHWC\":\"NCHW\",auto_pad:n,ceil_mode:a,count_include_pad:s,storage_order:d,dilations:[f,g],kernel_shape:[y,b],pads:[C,T,O,B],strides:[E,j]})},1388356:(i,n)=>{r.he(\"GlobalMaxPool\",i,{format:n?\"NHWC\":\"NCHW\"})},1388443:(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)=>{r.he(\"MaxPool\",i,{format:K?\"NHWC\":\"NCHW\",auto_pad:n,ceil_mode:a,count_include_pad:s,storage_order:d,dilations:[f,g],kernel_shape:[y,b],pads:[C,T,O,B],strides:[E,j]})},1388723:(i,n,a,s,d)=>{r.he(\"Gemm\",i,{alpha:n,beta:a,transA:s,transB:d})},1388827:i=>{r.he(\"MatMul\",i,void 0)},1388881:(i,n,a,s)=>{r.he(\"ArgMax\",i,{keepDims:!!n,selectLastIndex:!!a,axis:s})},1388989:(i,n,a,s)=>{r.he(\"ArgMin\",i,{keepDims:!!n,selectLastIndex:!!a,axis:s})},1389097:(i,n)=>{r.he(\"Softmax\",i,{axis:n})},1389160:(i,n)=>{r.he(\"Concat\",i,{axis:n})},1389220:(i,n,a,s,d)=>{r.he(\"Split\",i,{axis:n,numOutputs:a,splitSizes:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1389360:i=>{r.he(\"Expand\",i,void 0)},1389414:(i,n)=>{r.he(\"Gather\",i,{axis:Number(n)})},1389485:(i,n)=>{r.he(\"GatherElements\",i,{axis:Number(n)})},1389564:(i,n,a,s,d,f,g,y,b,C,T)=>{r.he(\"Resize\",i,{antialias:n,axes:a?Array.from(H.subarray(a>>>0,s>>>0)):[],coordinateTransformMode:Je(d),cubicCoeffA:f,excludeOutside:g,extrapolationValue:y,keepAspectRatioPolicy:Je(b),mode:Je(C),nearestMode:Je(T)})},1389910:(i,n,a,s,d,f,g)=>{r.he(\"Slice\",i,{starts:n?Array.from(H.subarray(n>>>0,a>>>0)):[],ends:s?Array.from(H.subarray(s>>>0,d>>>0)):[],axes:f?Array.from(H.subarray(f>>>0,g>>>0)):[]})},1390126:i=>{r.he(\"Tile\",i,void 0)},1390178:(i,n,a)=>{r.he(\"LayerNormalization\",i,{axis:Number(n),epsilon:Number(a)})},1390285:(i,n,a)=>{r.he(\"InstanceNormalization\",i,{epsilon:n,format:a?\"NHWC\":\"NCHW\"})},1390399:(i,n,a)=>{r.he(\"InstanceNormalization\",i,{epsilon:n,format:a?\"NHWC\":\"NCHW\"})},1390513:i=>{r.he(\"Range\",i,void 0)},1390566:(i,n)=>{r.he(\"Einsum\",i,{equation:Je(n)})},1390647:(i,n,a,s,d)=>{r.he(\"Pad\",i,{mode:n,value:a,pads:s?Array.from(H.subarray(s>>>0,d>>>0)):[]})},1390774:(i,n,a,s,d,f)=>{r.he(\"BatchNormalization\",i,{epsilon:n,momentum:a,spatial:!!d,trainingMode:!!s,format:f?\"NHWC\":\"NCHW\"})},1390943:(i,n,a,s,d,f)=>{r.he(\"BatchNormalization\",i,{epsilon:n,momentum:a,spatial:!!d,trainingMode:!!s,format:f?\"NHWC\":\"NCHW\"})},1391112:(i,n,a)=>{r.he(\"CumSum\",i,{exclusive:Number(n),reverse:Number(a)})},1391209:(i,n,a,s,d,f,g,y,b)=>{r.he(\"Attention\",i,{numHeads:n,isUnidirectional:a,maskFilterValue:s,scale:d,doRotary:f,qkvHiddenSizes:g?Array.from(H.subarray(Number(y)>>>0,Number(y)+g>>>0)):[],pastPresentShareBuffer:!!b})},1391481:i=>{r.he(\"BiasAdd\",i,void 0)},1391536:i=>{r.he(\"BiasSplitGelu\",i,void 0)},1391597:i=>{r.he(\"FastGelu\",i,void 0)},1391653:(i,n,a,s,d,f,g,y,b,C,T,O,B)=>{r.he(\"Conv\",i,{format:b?\"NHWC\":\"NCHW\",auto_pad:n,dilations:[a],group:s,kernel_shape:[d],pads:f?Array.from(H.subarray(f>>>0,g>>>0)):[],strides:[y],w_is_const:()=>!!Y[C>>>0],activation:Je(T),activation_params:O?Array.from(Ae.subarray(O>>>0,B>>>0)):[]})},1392023:(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)=>{r.he(\"Conv\",i,{format:O?\"NHWC\":\"NCHW\",auto_pad:n,dilations:[a,s],group:d,kernel_shape:[f,g],pads:y?Array.from(H.subarray(y>>>0,b>>>0)):[],strides:[C,T],w_is_const:()=>!!Y[B>>>0],activation:Je(E),activation_params:j?Array.from(Ae.subarray(j>>>0,K>>>0)):[]})},1392414:i=>{r.he(\"Gelu\",i,void 0)},1392466:(i,n,a,s,d,f)=>{r.he(\"MatMulNBits\",i,{k:n,n:a,accuracyLevel:s,bits:d,blockSize:f})},1392593:(i,n,a,s,d,f)=>{r.he(\"MultiHeadAttention\",i,{numHeads:n,isUnidirectional:a,maskFilterValue:s,scale:d,doRotary:f})},1392752:(i,n)=>{r.he(\"SkipLayerNormalization\",i,{epsilon:n})},1392833:i=>{r.li(i)},1392867:(i,n)=>r.ni(i,n,r.Kh.oi,r.Kh.errors)};function dt(i){this.name=\"ExitStatus\",this.message=`Program terminated with exit(${i})`,this.status=i}var At=[],xt=0,Et=0;function vr(i){this.Jh=i,this.Dh=i-24,this.bi=function(n){le[this.Dh+4>>>2>>>0]=n},this.Lh=function(){return le[this.Dh+4>>>2>>>0]},this.ai=function(n){le[this.Dh+8>>>2>>>0]=n},this.Vh=function(n){Y[this.Dh+12>>>0>>>0]=n?1:0},this.Yh=function(){return Y[this.Dh+12>>>0>>>0]!=0},this.Wh=function(n){Y[this.Dh+13>>>0>>>0]=n?1:0},this.di=function(){return Y[this.Dh+13>>>0>>>0]!=0},this.$h=function(n,a){this.Mh(0),this.bi(n),this.ai(a)},this.Mh=function(n){le[this.Dh+16>>>2>>>0]=n},this.Xh=function(){return le[this.Dh+16>>>2>>>0]},this.Zh=function(){if(Qi(this.Lh()))return le[this.Jh>>>2>>>0];var n=this.Xh();return n!==0?n:this.Jh}}var bt=i=>{var n=Et;if(!n)return ur(0),0;var a=new vr(n);a.Mh(n);var s=a.Lh();if(!s)return ur(0),n;for(var d in i){var f=i[d];if(f===0||f===s)break;if(Yi(f,s,a.Dh+16))return ur(f),n}return ur(s),n},Wr=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,Ft=(i,n,a)=>{n>>>=0;var s=n+a;for(a=n;i[a]&&!(a>=s);)++a;if(16d?s+=String.fromCharCode(d):(d-=65536,s+=String.fromCharCode(55296|d>>10,56320|d&1023))}}else s+=String.fromCharCode(d)}return s},Je=(i,n)=>(i>>>=0)?Ft(J,i,n):\"\",br=i=>{for(var n=0,a=0;a=s?n++:2047>=s?n+=2:55296<=s&&57343>=s?(n+=4,++a):n+=3}return n},ir=(i,n,a,s)=>{if(a>>>=0,!(0=g){var y=i.charCodeAt(++f);g=65536+((g&1023)<<10)|y&1023}if(127>=g){if(a>=s)break;n[a++>>>0]=g}else{if(2047>=g){if(a+1>=s)break;n[a++>>>0]=192|g>>6}else{if(65535>=g){if(a+2>=s)break;n[a++>>>0]=224|g>>12}else{if(a+3>=s)break;n[a++>>>0]=240|g>>18,n[a++>>>0]=128|g>>12&63}n[a++>>>0]=128|g>>6&63}n[a++>>>0]=128|g&63}}return n[a>>>0]=0,a-d},Ei=i=>{if(i===null)return\"null\";var n=typeof i;return n===\"object\"||n===\"array\"||n===\"function\"?i.toString():\"\"+i},qt,ct=i=>{for(var n=\"\";J[i>>>0];)n+=qt[J[i++>>>0]];return n},Qt={},nr={},ki={},kt;function Oi(i,n,a={}){var s=n.name;if(!i)throw new kt(`type \"${s}\" must have a positive integer typeid pointer`);if(nr.hasOwnProperty(i)){if(a.ei)return;throw new kt(`Cannot register type '${s}' twice`)}nr[i]=n,delete ki[i],Qt.hasOwnProperty(i)&&(n=Qt[i],delete Qt[i],n.forEach(d=>d()))}function St(i,n,a={}){if(!(\"argPackAdvance\"in n))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");Oi(i,n,a)}var it=(i,n,a)=>{switch(n){case 1:return a?s=>Y[s>>>0>>>0]:s=>J[s>>>0>>>0];case 2:return a?s=>oe[s>>>1>>>0]:s=>ge[s>>>1>>>0];case 4:return a?s=>H[s>>>2>>>0]:s=>le[s>>>2>>>0];case 8:return a?s=>Ue[s>>>3]:s=>We[s>>>3];default:throw new TypeError(`invalid integer width (${n}): ${i}`)}};function Nr(){this.Fh=[void 0],this.Sh=[]}var ot=new Nr;function ye(i){i>>>=0,i>=ot.Dh&&--ot.get(i).Uh===0&&ot.Mh(i)}var tt=i=>{if(!i)throw new kt(\"Cannot use deleted val. handle = \"+i);return ot.get(i).value},mt=i=>{switch(i){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return ot.Lh({Uh:1,value:i})}};function Pi(i){return this.fromWireType(H[i>>>2>>>0])}var Ri=(i,n)=>{switch(n){case 4:return function(a){return this.fromWireType(Ae[a>>>2>>>0])};case 8:return function(a){return this.fromWireType(Ee[a>>>3>>>0])};default:throw new TypeError(`invalid float width (${n}): ${i}`)}};function Ln(i){return this.fromWireType(le[i>>>2>>>0])}var Vr=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0,Bi=(i,n)=>{for(var a=i>>1,s=a+n/2;!(a>=s)&&ge[a>>>0];)++a;if(a<<=1,32>>0,a>>>0));for(a=\"\",s=0;!(s>=n/2);++s){var d=oe[i+2*s>>>1>>>0];if(d==0)break;a+=String.fromCharCode(d)}return a},zi=(i,n,a)=>{if(a??=2147483647,2>a)return 0;a-=2;var s=n;a=a<2*i.length?a/2:i.length;for(var d=0;d>>1>>>0]=i.charCodeAt(d),n+=2;return oe[n>>>1>>>0]=0,n-s},Di=i=>2*i.length,Gr=(i,n)=>{for(var a=0,s=\"\";!(a>=n/4);){var d=H[i+4*a>>>2>>>0];if(d==0)break;++a,65536<=d?(d-=65536,s+=String.fromCharCode(55296|d>>10,56320|d&1023)):s+=String.fromCharCode(d)}return s},Mi=(i,n,a)=>{if(n>>>=0,a??=2147483647,4>a)return 0;var s=n;a=s+a-4;for(var d=0;d=f){var g=i.charCodeAt(++d);f=65536+((f&1023)<<10)|g&1023}if(H[n>>>2>>>0]=f,n+=4,n+4>a)break}return H[n>>>2>>>0]=0,n-s},ji=i=>{for(var n=0,a=0;a=s&&++a,n+=4}return n},wr=(i,n)=>{var a=nr[i];if(a===void 0)throw i=ai(i),a=ct(i),pt(i),new kt(n+\" has unknown type \"+a);return a},Lr=(i,n,a)=>{var s=[];return i=i.toWireType(s,a),s.length&&(le[n>>>2>>>0]=mt(s)),i},ar=i=>{try{i()}catch(n){Ye(n)}};function Ui(){var i=z,n={};for(let[a,s]of Object.entries(i))n[a]=typeof s==\"function\"?function(){or.push(a);try{return s.apply(null,arguments)}finally{U||(or.pop(),wt&&Ot===1&&or.length===0&&(Ot=0,ar(du),typeof Fibers<\"u\"&&Fibers.wi()))}}:s;return n}var Ot=0,wt=null,Hr=0,or=[],Fr={},qr={},Wi=0,_r=null,Kr=[];function $r(){return new Promise((i,n)=>{_r={resolve:i,reject:n}})}function Zt(){var i=Xt(65548),n=i+12;le[i>>>2>>>0]=n,le[i+4>>>2>>>0]=n+65536,n=or[0];var a=Fr[n];return a===void 0&&(a=Wi++,Fr[n]=a,qr[a]=n),H[i+8>>>2>>>0]=a,i}function Ni(i){if(!U){if(Ot===0){var n=!1,a=!1;i((s=0)=>{if(!U&&(Hr=s,n=!0,a)){Ot=2,ar(()=>cu(wt)),typeof Browser<\"u\"&&Browser.Qh.ci&&Browser.Qh.resume(),s=!1;try{var d=(0,z[qr[H[wt+8>>>2>>>0]]])()}catch(y){d=y,s=!0}var f=!1;if(!wt){var g=_r;g&&(_r=null,(s?g.reject:g.resolve)(d),f=!0)}if(s&&!f)throw d}}),a=!0,n||(Ot=1,wt=Zt(),typeof Browser<\"u\"&&Browser.Qh.ci&&Browser.Qh.pause(),ar(()=>lu(wt)))}else Ot===2?(Ot=0,ar(pu),pt(wt),wt=null,Kr.forEach(s=>{if(!U)try{s();try{q=q=s=q,r.onExit?.(s),U=!0,h(s,new dt(s))}catch(d){d instanceof dt||d==\"unwind\"||h(1,d)}}catch(d){d instanceof dt||d==\"unwind\"||h(1,d)}})):Ye(`invalid state: ${Ot}`);return Hr}}function Yr(i){return Ni(n=>{i().then(n)})}var sr=[],Vi={},Cr=i=>{var n=Vi[i];return n===void 0?ct(i):n},xr=()=>typeof globalThis==\"object\"?globalThis:Function(\"return this\")(),Gi=i=>{var n=sr.length;return sr.push(i),n},Hn=(i,n)=>{for(var a=Array(i),s=0;s>>2>>>0],\"parameter \"+s);return a},Ge=(i,n)=>Object.defineProperty(n,\"name\",{value:i});function Qr(i){var n=Function;if(!(n instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof n} which is not a function`);var a=Ge(n.name||\"unknownFunctionName\",function(){});return a.prototype=n.prototype,a=new a,i=n.apply(a,i),i instanceof Object?i:a}var zt=i=>i%4===0&&(i%100!==0||i%400===0),Zr=[0,31,60,91,121,152,182,213,244,274,305,335],Sr=[0,31,59,90,120,151,181,212,243,273,304,334],Xr=i=>{var n=br(i)+1,a=Xt(n);return a&&ir(i,J,a,n),a},Ir=[],Jr=(i,n)=>{Ir.length=0;for(var a;a=J[i++>>>0];){var s=a!=105;s&=a!=112,n+=s&&n%8?4:0,Ir.push(a==112?le[n>>>2>>>0]:a==106?Ue[n>>>3]:a==105?H[n>>>2>>>0]:Ee[n>>>3>>>0]),n+=s?8:4}return Ir},Tr={},ei=()=>{if(!ti){var i={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:p||\"./this.program\"},n;for(n in Tr)Tr[n]===void 0?delete i[n]:i[n]=Tr[n];var a=[];for(n in i)a.push(`${n}=${i[n]}`);ti=a}return ti},ti,Li=[null,[],[]],ri=[31,29,31,30,31,30,31,31,30,31,30,31],ii=[31,28,31,30,31,30,31,31,30,31,30,31];function Fn(i){var n=Array(br(i)+1);return ir(i,n,0,n.length),n}function Hi(i,n,a,s){function d(E,j,K){for(E=typeof E==\"number\"?E.toString():E||\"\";E.lengthue?-1:0ie-E.getDate())j-=ie-E.getDate()+1,E.setDate(1),11>K?E.setMonth(K+1):(E.setMonth(0),E.setFullYear(E.getFullYear()+1));else{E.setDate(E.getDate()+j);break}}return K=new Date(E.getFullYear()+1,0,4),j=y(new Date(E.getFullYear(),0,4)),K=y(K),0>=g(j,E)?0>=g(K,E)?E.getFullYear()+1:E.getFullYear():E.getFullYear()-1}i>>>=0,n>>>=0,a>>>=0,s>>>=0;var C=le[s+40>>>2>>>0];s={si:H[s>>>2>>>0],ri:H[s+4>>>2>>>0],Oh:H[s+8>>>2>>>0],Rh:H[s+12>>>2>>>0],Ph:H[s+16>>>2>>>0],Hh:H[s+20>>>2>>>0],Eh:H[s+24>>>2>>>0],Gh:H[s+28>>>2>>>0],vi:H[s+32>>>2>>>0],pi:H[s+36>>>2>>>0],ti:C?Je(C):\"\"},a=Je(a),C={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var T in C)a=a.replace(new RegExp(T,\"g\"),C[T]);var O=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),B=\"January February March April May June July August September October November December\".split(\" \");C={\"%a\":E=>O[E.Eh].substring(0,3),\"%A\":E=>O[E.Eh],\"%b\":E=>B[E.Ph].substring(0,3),\"%B\":E=>B[E.Ph],\"%C\":E=>f((E.Hh+1900)/100|0,2),\"%d\":E=>f(E.Rh,2),\"%e\":E=>d(E.Rh,2,\" \"),\"%g\":E=>b(E).toString().substring(2),\"%G\":E=>b(E),\"%H\":E=>f(E.Oh,2),\"%I\":E=>(E=E.Oh,E==0?E=12:12{for(var j=0,K=0;K<=E.Ph-1;j+=(zt(E.Hh+1900)?ri:ii)[K++]);return f(E.Rh+j,3)},\"%m\":E=>f(E.Ph+1,2),\"%M\":E=>f(E.ri,2),\"%n\":()=>`\n`,\"%p\":E=>0<=E.Oh&&12>E.Oh?\"AM\":\"PM\",\"%S\":E=>f(E.si,2),\"%t\":()=>\"\t\",\"%u\":E=>E.Eh||7,\"%U\":E=>f(Math.floor((E.Gh+7-E.Eh)/7),2),\"%V\":E=>{var j=Math.floor((E.Gh+7-(E.Eh+6)%7)/7);if(2>=(E.Eh+371-E.Gh-2)%7&&j++,j)j==53&&(K=(E.Eh+371-E.Gh)%7,K==4||K==3&&zt(E.Hh)||(j=1));else{j=52;var K=(E.Eh+7-E.Gh-1)%7;(K==4||K==5&&zt(E.Hh%400-1))&&j++}return f(j,2)},\"%w\":E=>E.Eh,\"%W\":E=>f(Math.floor((E.Gh+7-(E.Eh+6)%7)/7),2),\"%y\":E=>(E.Hh+1900).toString().substring(2),\"%Y\":E=>E.Hh+1900,\"%z\":E=>{E=E.pi;var j=0<=E;return E=Math.abs(E)/60,(j?\"+\":\"-\")+(\"0000\"+(E/60*100+E%60)).slice(-4)},\"%Z\":E=>E.ti,\"%%\":()=>\"%\"},a=a.replace(/%%/g,\"\\0\\0\");for(T in C)a.includes(T)&&(a=a.replace(new RegExp(T,\"g\"),C[T](s)));return a=a.replace(/\\0\\0/g,\"%\"),T=Fn(a),T.length>n?0:(Y.set(T,i>>>0),T.length-1)}for(var ni=Array(256),Kt=0;256>Kt;++Kt)ni[Kt]=String.fromCharCode(Kt);qt=ni,kt=r.BindingError=class extends Error{constructor(i){super(i),this.name=\"BindingError\"}},r.InternalError=class extends Error{constructor(i){super(i),this.name=\"InternalError\"}},Object.assign(Nr.prototype,{get(i){return this.Fh[i]},has(i){return this.Fh[i]!==void 0},Lh(i){var n=this.Sh.pop()||this.Fh.length;return this.Fh[n]=i,n},Mh(i){this.Fh[i]=void 0,this.Sh.push(i)}}),ot.Fh.push({value:void 0},{value:null},{value:!0},{value:!1}),ot.Dh=ot.Fh.length,r.count_emval_handles=()=>{for(var i=0,n=ot.Dh;n{await r.ji(i,n,a)})},u:function(i){return i=new vr(i>>>0),i.Yh()||(i.Vh(!0),xt--),i.Wh(!1),At.push(i),Ki(i.Jh),i.Zh()},O:()=>{V(0,0);var i=At.pop();qi(i.Jh),Et=0},a:function(){return bt([])},m:function(i){return bt([i>>>0])},x:function(i,n){return bt([i>>>0,n>>>0])},q:function(i,n,a){return bt([i>>>0,n>>>0,a>>>0])},zb:()=>{var i=At.pop();i||Ye(\"no exception to throw\");var n=i.Jh;throw i.di()||(At.push(i),i.Wh(!0),i.Vh(!1),xt++),Et=n,Et},r:function(i,n,a){throw i>>>=0,new vr(i).$h(n>>>0,a>>>0),Et=i,xt++,Et},eb:()=>xt,g:function(i){throw Et||=i>>>0,Et},Ab:function(){return 0},Xc:function(){},Ic:function(){},Kc:function(){},Bc:function(){return 0},Vc:function(){},Qc:function(){},Uc:function(){},Vb:function(){},Jc:function(){},Gc:function(){},Wc:function(){},Hc:function(){},Yb:function(i,n,a,s,d){n>>>=0,n=ct(n);var f=n.indexOf(\"u\")!=-1;f&&(d=(1n<<64n)-1n),St(i>>>0,{name:n,fromWireType:g=>g,toWireType:function(g,y){if(typeof y!=\"bigint\"&&typeof y!=\"number\")throw new TypeError(`Cannot convert \"${Ei(y)}\" to ${this.name}`);if(yd)throw new TypeError(`Passing a number \"${Ei(y)}\" from JS side to C/C++ side to an argument of type \"${n}\", which is outside the valid range [${s}, ${d}]!`);return y},argPackAdvance:8,readValueFromPointer:it(n,a>>>0,!f),Ih:null})},_c:function(i,n,a,s){n=ct(n>>>0),St(i>>>0,{name:n,fromWireType:function(d){return!!d},toWireType:function(d,f){return f?a:s},argPackAdvance:8,readValueFromPointer:function(d){return this.fromWireType(J[d>>>0])},Ih:null})},Zc:function(i,n){n=ct(n>>>0),St(i>>>0,{name:n,fromWireType:a=>{var s=tt(a);return ye(a),s},toWireType:(a,s)=>mt(s),argPackAdvance:8,readValueFromPointer:Pi,Ih:null})},Xb:function(i,n,a){n=ct(n>>>0),St(i>>>0,{name:n,fromWireType:s=>s,toWireType:(s,d)=>d,argPackAdvance:8,readValueFromPointer:Ri(n,a>>>0),Ih:null})},za:function(i,n,a,s,d){if(i>>>=0,a>>>=0,n=ct(n>>>0),d===-1&&(d=4294967295),d=y=>y,s===0){var f=32-8*a;d=y=>y<>>f}var g=n.includes(\"unsigned\")?function(y,b){return b>>>0}:function(y,b){return b};St(i,{name:n,fromWireType:d,toWireType:g,argPackAdvance:8,readValueFromPointer:it(n,a,s!==0),Ih:null})},aa:function(i,n,a){function s(f){return new d(Y.buffer,le[f+4>>>2>>>0],le[f>>>2>>>0])}var d=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][n];a=ct(a>>>0),St(i>>>0,{name:a,fromWireType:s,argPackAdvance:8,readValueFromPointer:s},{ei:!0})},Zb:function(i,n){n=ct(n>>>0);var a=n===\"std::string\";St(i>>>0,{name:n,fromWireType:function(s){var d=le[s>>>2>>>0],f=s+4;if(a)for(var g=f,y=0;y<=d;++y){var b=f+y;if(y==d||J[b>>>0]==0){if(g=Je(g,b-g),C===void 0)var C=g;else C+=String.fromCharCode(0),C+=g;g=b+1}}else{for(C=Array(d),y=0;y>>0]);C=C.join(\"\")}return pt(s),C},toWireType:function(s,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var f=typeof d==\"string\";if(!(f||d instanceof Uint8Array||d instanceof Uint8ClampedArray||d instanceof Int8Array))throw new kt(\"Cannot pass non-string to std::string\");var g=a&&f?br(d):d.length,y=Xt(4+g+1),b=y+4;if(le[y>>>2>>>0]=g,a&&f)ir(d,J,b,g+1);else if(f)for(f=0;f>>0]=C}else for(f=0;f>>0]=d[f];return s!==null&&s.push(pt,y),y},argPackAdvance:8,readValueFromPointer:Ln,Ih(s){pt(s)}})},Cb:function(i,n,a){if(n>>>=0,a>>>=0,a=ct(a),n===2)var s=Bi,d=zi,f=Di,g=()=>ge,y=1;else n===4&&(s=Gr,d=Mi,f=ji,g=()=>le,y=2);St(i>>>0,{name:a,fromWireType:b=>{for(var C=le[b>>>2>>>0],T=g(),O,B=b+4,E=0;E<=C;++E){var j=b+4+E*n;(E==C||T[j>>>y]==0)&&(B=s(B,j-B),O===void 0?O=B:(O+=String.fromCharCode(0),O+=B),B=j+n)}return pt(b),O},toWireType:(b,C)=>{if(typeof C!=\"string\")throw new kt(`Cannot pass non-string to C++ string type ${a}`);var T=f(C),O=Xt(4+T+n);return le[O>>>2]=T>>y,d(C,O+4,T+n),b!==null&&b.push(pt,O),O},argPackAdvance:8,readValueFromPointer:Pi,Ih(b){pt(b)}})},$c:function(i,n){n=ct(n>>>0),St(i>>>0,{fi:!0,name:n,argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})},Yc:()=>1,jd:function(i,n,a){return n>>>=0,a>>>=0,i=tt(i>>>0),n=wr(n,\"emval::as\"),Lr(n,a,i)},zd:function(i){return i>>>=0,Yr(()=>(i=tt(i),i.then(mt)))},rd:function(i,n,a,s){return a>>>=0,s>>>=0,i=sr[i>>>0],n=tt(n>>>0),i(null,n,a,s)},fa:function(i,n,a,s,d){return a>>>=0,s>>>=0,d>>>=0,i=sr[i>>>0],n=tt(n>>>0),a=Cr(a),i(n,n[a],s,d)},Ac:ye,od:function(i,n){return n>>>=0,i=tt(i>>>0),n=tt(n),i==n},wd:function(i){return i>>>=0,i===0?mt(xr()):(i=Cr(i),mt(xr()[i]))},ea:function(i,n,a){n=Hn(i,n>>>0);var s=n.shift();i--;var d=`return function (obj, func, destructorsRef, args) {\n`,f=0,g=[];a===0&&g.push(\"obj\");for(var y=[\"retType\"],b=[s],C=0;CT.name).join(\", \")}) => ${s.name}>`,Gi(Ge(a,i))},vd:function(i,n){return n>>>=0,i=tt(i>>>0),n=tt(n),mt(i[n])},U:function(i){i>>>=0,4>>0);for(var n=Array(i.length),a=0;a>>0))},Wa:function(){return mt({})},td:function(i){i>>>=0;for(var n=tt(i);n.length;){var a=n.pop();n.pop()(a)}ye(i)},qd:function(i,n,a){n>>>=0,a>>>=0,i=tt(i>>>0),n=tt(n),a=tt(a),i[n]=a},yb:function(i,n){return n>>>=0,i=wr(i>>>0,\"_emval_take_value\"),i=i.readValueFromPointer(n),mt(i)},Nc:function(i,n){i=-9007199254740992>i||9007199254740992>>=0,i=new Date(1e3*i),H[n>>>2>>>0]=i.getUTCSeconds(),H[n+4>>>2>>>0]=i.getUTCMinutes(),H[n+8>>>2>>>0]=i.getUTCHours(),H[n+12>>>2>>>0]=i.getUTCDate(),H[n+16>>>2>>>0]=i.getUTCMonth(),H[n+20>>>2>>>0]=i.getUTCFullYear()-1900,H[n+24>>>2>>>0]=i.getUTCDay(),H[n+28>>>2>>>0]=(i.getTime()-Date.UTC(i.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},Oc:function(i,n){i=-9007199254740992>i||9007199254740992>>=0,i=new Date(1e3*i),H[n>>>2>>>0]=i.getSeconds(),H[n+4>>>2>>>0]=i.getMinutes(),H[n+8>>>2>>>0]=i.getHours(),H[n+12>>>2>>>0]=i.getDate(),H[n+16>>>2>>>0]=i.getMonth(),H[n+20>>>2>>>0]=i.getFullYear()-1900,H[n+24>>>2>>>0]=i.getDay(),H[n+28>>>2>>>0]=(zt(i.getFullYear())?Zr:Sr)[i.getMonth()]+i.getDate()-1|0,H[n+36>>>2>>>0]=-(60*i.getTimezoneOffset());var a=new Date(i.getFullYear(),6,1).getTimezoneOffset(),s=new Date(i.getFullYear(),0,1).getTimezoneOffset();H[n+32>>>2>>>0]=(a!=s&&i.getTimezoneOffset()==Math.min(s,a))|0},Pc:function(i){i>>>=0;var n=new Date(H[i+20>>>2>>>0]+1900,H[i+16>>>2>>>0],H[i+12>>>2>>>0],H[i+8>>>2>>>0],H[i+4>>>2>>>0],H[i>>>2>>>0],0),a=H[i+32>>>2>>>0],s=n.getTimezoneOffset(),d=new Date(n.getFullYear(),6,1).getTimezoneOffset(),f=new Date(n.getFullYear(),0,1).getTimezoneOffset(),g=Math.min(f,d);return 0>a?H[i+32>>>2>>>0]=+(d!=f&&g==s):0>>2>>>0]=n.getDay(),H[i+28>>>2>>>0]=(zt(n.getFullYear())?Zr:Sr)[n.getMonth()]+n.getDate()-1|0,H[i>>>2>>>0]=n.getSeconds(),H[i+4>>>2>>>0]=n.getMinutes(),H[i+8>>>2>>>0]=n.getHours(),H[i+12>>>2>>>0]=n.getDate(),H[i+16>>>2>>>0]=n.getMonth(),H[i+20>>>2>>>0]=n.getYear(),i=n.getTime(),isNaN(i)?(H[_t()>>>2>>>0]=61,i=-1):i/=1e3,BigInt(i)},Lc:function(){return-52},Mc:function(){},Dc:function(i,n,a){function s(b){return(b=b.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?b[1]:\"GMT\"}a>>>=0;var d=new Date().getFullYear(),f=new Date(d,0,1),g=new Date(d,6,1);d=f.getTimezoneOffset();var y=g.getTimezoneOffset();le[i>>>0>>>2>>>0]=60*Math.max(d,y),H[n>>>0>>>2>>>0]=+(d!=y),i=s(f),n=s(g),i=Xr(i),n=Xr(n),y>>2>>>0]=i,le[a+4>>>2>>>0]=n):(le[a>>>2>>>0]=n,le[a+4>>>2>>>0]=i)},jb:()=>{Ye(\"\")},A:function(i,n,a){return i>>>=0,n=Jr(n>>>0,a>>>0),Ze[i].apply(null,n)},_b:function(i,n,a){return i>>>=0,n=Jr(n>>>0,a>>>0),Ze[i].apply(null,n)},Wb:()=>Date.now(),Ec:function(){return 4294901760},ha:()=>performance.now(),Cc:function(i){i>>>=0;var n=J.length;if(4294901760=a;a*=2){var s=n*(1+.2/a);s=Math.min(s,i+100663296);var d=Math;s=Math.max(i,s);e:{d=(d.min.call(d,4294901760,s+(65536-s%65536)%65536)-W.buffer.byteLength+65535)/65536;try{W.grow(d),ee();var f=1;break e}catch{}f=void 0}if(f)return!0}return!1},Sc:function(i,n){i>>>=0,n>>>=0;var a=0;return ei().forEach((s,d)=>{var f=n+a;for(d=le[i+4*d>>>2>>>0]=f,f=0;f>>0>>>0]=s.charCodeAt(f);Y[d>>>0>>>0]=0,a+=s.length+1}),0},Tc:function(i,n){i>>>=0,n>>>=0;var a=ei();le[i>>>2>>>0]=a.length;var s=0;return a.forEach(d=>s+=d.length+1),le[n>>>2>>>0]=s,0},Bb:()=>52,Ub:function(){return 52},Rc:function(){return 70},Tb:function(i,n,a,s){n>>>=0,a>>>=0,s>>>=0;for(var d=0,f=0;f>>2>>>0],y=le[n+4>>>2>>>0];n+=8;for(var b=0;b>>0],T=Li[i];C===0||C===10?((i===1?R:P)(Ft(T,0)),T.length=0):T.push(C)}d+=y}return le[s>>>2>>>0]=d,0},wb:Uf,bd:ug,la:lh,Z:Zh,ka:Xh,ta:jm,na:Mf,cd:sg,ob:uh,N:vm,y:$f,b:af,Sb:bf,xa:vf,f:rf,Eb:Yh,h:tf,_:jh,i:cf,dd:ag,j:df,t:lf,s:Af,o:Bf,Va:Gf,Ba:Ch,oa:kf,Pb:hm,bb:bm,Ib:xh,mb:fh,hc:Wh,wc:Ff,ec:Lh,fc:Vh,$b:ng,qa:Vm,xb:Rf,Aa:Mh,Db:rg,da:Gm,gc:Nh,Sa:_m,E:sf,G:nm,Gb:Uh,id:Gh,sa:ih,M:um,X:am,V:Cm,z:yf,Fb:qh,dc:Hh,D:kh,Hb:Rh,hd:Fh,Ta:ym,wa:Ym,ic:Bh,ac:ig,Mb:Wm,Y:jf,I:wf,C:Zf,Za:Oh,P:sm,d:uf,$a:dm,n:of,Xa:Kh,va:sh,vb:qf,e:nf,xc:Hf,ca:Dh,fb:pm,Ca:Um,lb:mh,hb:Yf,c:pf,uc:Jf,md:Sh,oc:th,k:ff,sc:cm,l:mf,vc:Qf,rc:fm,pd:gh,p:hf,Qa:Tm,tb:Im,Pa:Am,Kb:dh,B:Ef,K:_f,T:Pf,_a:Ih,nc:rh,gb:lm,ya:$m,ja:gf,Q:gm,cb:Of,Ka:nh,kb:og,Fa:bh,lc:wh,Ga:vh,Ha:hh,ed:tg,ud:mm,ra:oh,nd:$h,La:Jm,Ja:ah,Rb:Sf,qc:Lm,Ia:ch,Ma:Xm,pb:Nm,ma:Qm,Da:xm,jc:Ph,pc:qm,Jb:_h,Ea:Ah,ia:rm,xd:Nf,ld:Th,S:Fm,db:Tf,Ya:zh,cc:Jh,ib:Kf,F:Df,R:xf,Ua:Lf,kd:Eh,ba:Vf,nb:ph,pa:Km,bc:eg,zc:If,v:Cf,L:em,sd:eh,Nb:Bm,mc:yh,yd:Wf,Ob:Rm,Lb:Hm,ab:wm,yc:zf,Qb:im,Na:Zm,$:zm,tc:tm,J:om,gd:Qh,ub:Xf,ua:Mm,H:Dm,rb:Om,Oa:km,Ra:Sm,qb:Pm,sb:Em,w:function(i){return i>>>0},Fc:Hi,ga:function(i,n,a,s){return Hi(i>>>0,n>>>0,a>>>0,s>>>0)}},z=function(){function i(a){return z=a.exports,z=Ui(),z=lg(),W=z.Ad,ee(),xe.unshift(z.Bd),be--,be==0&&(Se!==null&&(clearInterval(Se),Se=null),De&&(a=De,De=null,a())),z}var n={a:qn};if(be++,r.instantiateWasm)try{return r.instantiateWasm(n,i)}catch(a){P(`Module.instantiateWasm callback failed with error: ${a}`),o(a)}return Xe(n,function(a){i(a.instance)}).catch(o),{}}();r._OrtInit=(i,n)=>(r._OrtInit=z.Cd)(i,n),r._OrtGetLastError=(i,n)=>(r._OrtGetLastError=z.Dd)(i,n),r._OrtCreateSessionOptions=(i,n,a,s,d,f,g,y,b,C)=>(r._OrtCreateSessionOptions=z.Ed)(i,n,a,s,d,f,g,y,b,C),r._OrtAppendExecutionProvider=(i,n)=>(r._OrtAppendExecutionProvider=z.Fd)(i,n),r._OrtAddFreeDimensionOverride=(i,n,a)=>(r._OrtAddFreeDimensionOverride=z.Gd)(i,n,a),r._OrtAddSessionConfigEntry=(i,n,a)=>(r._OrtAddSessionConfigEntry=z.Hd)(i,n,a),r._OrtReleaseSessionOptions=i=>(r._OrtReleaseSessionOptions=z.Id)(i),r._OrtCreateSession=(i,n,a)=>(r._OrtCreateSession=z.Jd)(i,n,a),r._OrtReleaseSession=i=>(r._OrtReleaseSession=z.Kd)(i),r._OrtGetInputOutputCount=(i,n,a)=>(r._OrtGetInputOutputCount=z.Ld)(i,n,a),r._OrtGetInputName=(i,n)=>(r._OrtGetInputName=z.Md)(i,n),r._OrtGetOutputName=(i,n)=>(r._OrtGetOutputName=z.Nd)(i,n),r._OrtFree=i=>(r._OrtFree=z.Od)(i),r._OrtCreateTensor=(i,n,a,s,d,f)=>(r._OrtCreateTensor=z.Pd)(i,n,a,s,d,f),r._OrtGetTensorData=(i,n,a,s,d)=>(r._OrtGetTensorData=z.Qd)(i,n,a,s,d),r._OrtReleaseTensor=i=>(r._OrtReleaseTensor=z.Rd)(i),r._OrtCreateRunOptions=(i,n,a,s)=>(r._OrtCreateRunOptions=z.Sd)(i,n,a,s),r._OrtAddRunConfigEntry=(i,n,a)=>(r._OrtAddRunConfigEntry=z.Td)(i,n,a),r._OrtReleaseRunOptions=i=>(r._OrtReleaseRunOptions=z.Ud)(i),r._OrtCreateBinding=i=>(r._OrtCreateBinding=z.Vd)(i),r._OrtBindInput=(i,n,a)=>(r._OrtBindInput=z.Wd)(i,n,a),r._OrtBindOutput=(i,n,a,s)=>(r._OrtBindOutput=z.Xd)(i,n,a,s),r._OrtClearBoundOutputs=i=>(r._OrtClearBoundOutputs=z.Yd)(i),r._OrtReleaseBinding=i=>(r._OrtReleaseBinding=z.Zd)(i),r._OrtRunWithBinding=(i,n,a,s,d)=>(r._OrtRunWithBinding=z._d)(i,n,a,s,d),r._OrtRun=(i,n,a,s,d,f,g,y)=>(r._OrtRun=z.$d)(i,n,a,s,d,f,g,y),r._OrtEndProfiling=i=>(r._OrtEndProfiling=z.ae)(i),r._JsepOutput=(i,n,a)=>(r._JsepOutput=z.be)(i,n,a),r._JsepGetNodeName=i=>(r._JsepGetNodeName=z.ce)(i);var _t=()=>(_t=z.de)(),Xt=r._malloc=i=>(Xt=r._malloc=z.ee)(i),pt=r._free=i=>(pt=r._free=z.fe)(i),ai=i=>(ai=z.ge)(i),V=(i,n)=>(V=z.ie)(i,n),ur=i=>(ur=z.je)(i),N=()=>(N=z.ke)(),G=i=>(G=z.le)(i),Fi=i=>(Fi=z.me)(i),qi=i=>(qi=z.ne)(i),Ki=i=>(Ki=z.oe)(i),Yi=(i,n,a)=>(Yi=z.pe)(i,n,a),Qi=i=>(Qi=z.qe)(i),Zi=r.dynCall_vii=(i,n,a)=>(Zi=r.dynCall_vii=z.re)(i,n,a),Xi=r.dynCall_iiii=(i,n,a,s)=>(Xi=r.dynCall_iiii=z.se)(i,n,a,s),lr=r.dynCall_iii=(i,n,a)=>(lr=r.dynCall_iii=z.te)(i,n,a),Ar=r.dynCall_ii=(i,n)=>(Ar=r.dynCall_ii=z.ue)(i,n),oi=r.dynCall_iiiiiii=(i,n,a,s,d,f,g)=>(oi=r.dynCall_iiiiiii=z.ve)(i,n,a,s,d,f,g),si=r.dynCall_vi=(i,n)=>(si=r.dynCall_vi=z.we)(i,n),ui=r.dynCall_v=i=>(ui=r.dynCall_v=z.xe)(i),Er=r.dynCall_iiiiii=(i,n,a,s,d,f)=>(Er=r.dynCall_iiiiii=z.ye)(i,n,a,s,d,f),kr=r.dynCall_iiij=(i,n,a,s)=>(kr=r.dynCall_iiij=z.ze)(i,n,a,s),li=r.dynCall_iiiii=(i,n,a,s,d)=>(li=r.dynCall_iiiii=z.Ae)(i,n,a,s,d),di=r.dynCall_viii=(i,n,a,s)=>(di=r.dynCall_viii=z.Be)(i,n,a,s),ci=r.dynCall_viiiii=(i,n,a,s,d,f)=>(ci=r.dynCall_viiiii=z.Ce)(i,n,a,s,d,f),Or=r.dynCall_viiii=(i,n,a,s,d)=>(Or=r.dynCall_viiii=z.De)(i,n,a,s,d),dr=r.dynCall_viiiiii=(i,n,a,s,d,f,g)=>(dr=r.dynCall_viiiiii=z.Ee)(i,n,a,s,d,f,g),Pr=r.dynCall_viiji=(i,n,a,s,d)=>(Pr=r.dynCall_viiji=z.Fe)(i,n,a,s,d),pi=r.dynCall_viiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O)=>(pi=r.dynCall_viiiiiiiiiii=z.Ge)(i,n,a,s,d,f,g,y,b,C,T,O),fi=r.dynCall_viiijjjii=(i,n,a,s,d,f,g,y,b)=>(fi=r.dynCall_viiijjjii=z.He)(i,n,a,s,d,f,g,y,b),mi=r.dynCall_iij=(i,n,a)=>(mi=r.dynCall_iij=z.Ie)(i,n,a),hi=r.dynCall_iif=(i,n,a)=>(hi=r.dynCall_iif=z.Je)(i,n,a),gi=r.dynCall_iid=(i,n,a)=>(gi=r.dynCall_iid=z.Ke)(i,n,a),Ji=r.dynCall_jii=(i,n,a)=>(Ji=r.dynCall_jii=z.Le)(i,n,a),cr=r.dynCall_i=i=>(cr=r.dynCall_i=z.Me)(i),yi=r.dynCall_viiiiiiii=(i,n,a,s,d,f,g,y,b)=>(yi=r.dynCall_viiiiiiii=z.Ne)(i,n,a,s,d,f,g,y,b),m=r.dynCall_viiiiij=(i,n,a,s,d,f,g)=>(m=r.dynCall_viiiiij=z.Oe)(i,n,a,s,d,f,g),w=r.dynCall_ji=(i,n)=>(w=r.dynCall_ji=z.Pe)(i,n),I=r.dynCall_viij=(i,n,a,s)=>(I=r.dynCall_viij=z.Qe)(i,n,a,s),D=r.dynCall_iiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O)=>(D=r.dynCall_iiiiiiiiiiii=z.Re)(i,n,a,s,d,f,g,y,b,C,T,O),L=r.dynCall_viiiiiiiii=(i,n,a,s,d,f,g,y,b,C)=>(L=r.dynCall_viiiiiiiii=z.Se)(i,n,a,s,d,f,g,y,b,C),Z=r.dynCall_ij=(i,n)=>(Z=r.dynCall_ij=z.Te)(i,n),te=r.dynCall_iiiiij=(i,n,a,s,d,f)=>(te=r.dynCall_iiiiij=z.Ue)(i,n,a,s,d,f),he=r.dynCall_j=i=>(he=r.dynCall_j=z.Ve)(i),ce=r.dynCall_vij=(i,n,a)=>(ce=r.dynCall_vij=z.We)(i,n,a),de=r.dynCall_viijjjiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O)=>(de=r.dynCall_viijjjiiiiii=z.Xe)(i,n,a,s,d,f,g,y,b,C,T,O),fe=r.dynCall_viiijiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O)=>(fe=r.dynCall_viiijiiiiiii=z.Ye)(i,n,a,s,d,f,g,y,b,C,T,O),ke=r.dynCall_iiiiiiii=(i,n,a,s,d,f,g,y)=>(ke=r.dynCall_iiiiiiii=z.Ze)(i,n,a,s,d,f,g,y),Be=r.dynCall_viiiiiii=(i,n,a,s,d,f,g,y)=>(Be=r.dynCall_viiiiiii=z._e)(i,n,a,s,d,f,g,y),F=r.dynCall_iiiiiiiij=(i,n,a,s,d,f,g,y,b)=>(F=r.dynCall_iiiiiiiij=z.$e)(i,n,a,s,d,f,g,y,b),ve=r.dynCall_viiiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E)=>(ve=r.dynCall_viiiiiiiiiiiii=z.af)(i,n,a,s,d,f,g,y,b,C,T,O,B,E),Re=r.dynCall_iiiiiiiii=(i,n,a,s,d,f,g,y,b)=>(Re=r.dynCall_iiiiiiiii=z.bf)(i,n,a,s,d,f,g,y,b),Dt=r.dynCall_iiiiijiiiii=(i,n,a,s,d,f,g,y,b,C,T)=>(Dt=r.dynCall_iiiiijiiiii=z.cf)(i,n,a,s,d,f,g,y,b,C,T),vi=r.dynCall_vijjjiiij=(i,n,a,s,d,f,g,y,b)=>(vi=r.dynCall_vijjjiiij=z.df)(i,n,a,s,d,f,g,y,b),Va=r.dynCall_fi=(i,n)=>(Va=r.dynCall_fi=z.ef)(i,n),Ga=r.dynCall_fii=(i,n,a)=>(Ga=r.dynCall_fii=z.ff)(i,n,a),La=r.dynCall_di=(i,n)=>(La=r.dynCall_di=z.gf)(i,n),Ha=r.dynCall_dii=(i,n,a)=>(Ha=r.dynCall_dii=z.hf)(i,n,a),Fa=r.dynCall_vijj=(i,n,a,s)=>(Fa=r.dynCall_vijj=z.jf)(i,n,a,s),qa=r.dynCall_iiiiiiiiii=(i,n,a,s,d,f,g,y,b,C)=>(qa=r.dynCall_iiiiiiiiii=z.kf)(i,n,a,s,d,f,g,y,b,C),Ka=r.dynCall_viijiii=(i,n,a,s,d,f,g)=>(Ka=r.dynCall_viijiii=z.lf)(i,n,a,s,d,f,g),Ya=r.dynCall_viid=(i,n,a,s)=>(Ya=r.dynCall_viid=z.mf)(i,n,a,s),Qa=r.dynCall_viffiii=(i,n,a,s,d,f,g)=>(Qa=r.dynCall_viffiii=z.nf)(i,n,a,s,d,f,g),Za=r.dynCall_viifiii=(i,n,a,s,d,f,g)=>(Za=r.dynCall_viifiii=z.of)(i,n,a,s,d,f,g),Xa=r.dynCall_viiiiidiidi=(i,n,a,s,d,f,g,y,b,C,T)=>(Xa=r.dynCall_viiiiidiidi=z.pf)(i,n,a,s,d,f,g,y,b,C,T),Ja=r.dynCall_viiiiiiiiidi=(i,n,a,s,d,f,g,y,b,C,T,O)=>(Ja=r.dynCall_viiiiiiiiidi=z.qf)(i,n,a,s,d,f,g,y,b,C,T,O),eo=r.dynCall_jiii=(i,n,a,s)=>(eo=r.dynCall_jiii=z.rf)(i,n,a,s),to=r.dynCall_vjiiiiii=(i,n,a,s,d,f,g,y)=>(to=r.dynCall_vjiiiiii=z.sf)(i,n,a,s,d,f,g,y),ro=r.dynCall_viiid=(i,n,a,s,d)=>(ro=r.dynCall_viiid=z.tf)(i,n,a,s,d),io=r.dynCall_viiiiiiiiiji=(i,n,a,s,d,f,g,y,b,C,T,O)=>(io=r.dynCall_viiiiiiiiiji=z.uf)(i,n,a,s,d,f,g,y,b,C,T,O),no=r.dynCall_viji=(i,n,a,s)=>(no=r.dynCall_viji=z.vf)(i,n,a,s),ao=r.dynCall_vijjjjjjjjjjjjji=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)=>(ao=r.dynCall_vijjjjjjjjjjjjji=z.wf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K),oo=r.dynCall_viiiji=(i,n,a,s,d,f)=>(oo=r.dynCall_viiiji=z.xf)(i,n,a,s,d,f),so=r.dynCall_vijjjiiji=(i,n,a,s,d,f,g,y,b)=>(so=r.dynCall_vijjjiiji=z.yf)(i,n,a,s,d,f,g,y,b),uo=r.dynCall_iiiji=(i,n,a,s,d)=>(uo=r.dynCall_iiiji=z.zf)(i,n,a,s,d),lo=r.dynCall_iiijiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E)=>(lo=r.dynCall_iiijiiiiiiiiii=z.Af)(i,n,a,s,d,f,g,y,b,C,T,O,B,E),co=r.dynCall_vj=(i,n)=>(co=r.dynCall_vj=z.Bf)(i,n),po=r.dynCall_jjj=(i,n,a)=>(po=r.dynCall_jjj=z.Cf)(i,n,a),fo=r.dynCall_iiijiiiiii=(i,n,a,s,d,f,g,y,b,C)=>(fo=r.dynCall_iiijiiiiii=z.Df)(i,n,a,s,d,f,g,y,b,C),mo=r.dynCall_vfiii=(i,n,a,s,d)=>(mo=r.dynCall_vfiii=z.Ef)(i,n,a,s,d),ho=r.dynCall_viiiiff=(i,n,a,s,d,f,g)=>(ho=r.dynCall_viiiiff=z.Ff)(i,n,a,s,d,f,g),go=r.dynCall_viiiiiff=(i,n,a,s,d,f,g,y)=>(go=r.dynCall_viiiiiff=z.Gf)(i,n,a,s,d,f,g,y),yo=r.dynCall_viiff=(i,n,a,s,d)=>(yo=r.dynCall_viiff=z.Hf)(i,n,a,s,d),vo=r.dynCall_viiiiiiiiifiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E)=>(vo=r.dynCall_viiiiiiiiifiii=z.If)(i,n,a,s,d,f,g,y,b,C,T,O,B,E),bo=r.dynCall_viiiiiiiijj=(i,n,a,s,d,f,g,y,b,C,T)=>(bo=r.dynCall_viiiiiiiijj=z.Jf)(i,n,a,s,d,f,g,y,b,C,T),wo=r.dynCall_iiiiiiiiiiiiiifii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie)=>(wo=r.dynCall_iiiiiiiiiiiiiifii=z.Kf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie),_o=r.dynCall_viiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(_o=r.dynCall_viiiiiiiiiiii=z.Lf)(i,n,a,s,d,f,g,y,b,C,T,O,B),$o=r.dynCall_iiiiiiiiiiiiiiiiifii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze)=>($o=r.dynCall_iiiiiiiiiiiiiiiiifii=z.Mf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze),Co=r.dynCall_vijjiiiiii=(i,n,a,s,d,f,g,y,b,C)=>(Co=r.dynCall_vijjiiiiii=z.Nf)(i,n,a,s,d,f,g,y,b,C),xo=r.dynCall_iiiijjj=(i,n,a,s,d,f,g)=>(xo=r.dynCall_iiiijjj=z.Of)(i,n,a,s,d,f,g),So=r.dynCall_viiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T)=>(So=r.dynCall_viiiiiiiiii=z.Pf)(i,n,a,s,d,f,g,y,b,C,T),Io=r.dynCall_iiijjj=(i,n,a,s,d,f)=>(Io=r.dynCall_iiijjj=z.Qf)(i,n,a,s,d,f),To=r.dynCall_fffffff=(i,n,a,s,d,f,g)=>(To=r.dynCall_fffffff=z.Rf)(i,n,a,s,d,f,g),Ao=r.dynCall_viiiij=(i,n,a,s,d,f)=>(Ao=r.dynCall_viiiij=z.Sf)(i,n,a,s,d,f),Eo=r.dynCall_viijj=(i,n,a,s,d)=>(Eo=r.dynCall_viijj=z.Tf)(i,n,a,s,d),ko=r.dynCall_vjjjjjjffiifiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue)=>(ko=r.dynCall_vjjjjjjffiifiiiiii=z.Uf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue),Oo=r.dynCall_viiiiiiffiifiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie)=>(Oo=r.dynCall_viiiiiiffiifiiiii=z.Vf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie),Po=r.dynCall_viiiiiiffifiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)=>(Po=r.dynCall_viiiiiiffifiiiii=z.Wf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K),Ro=r.dynCall_viiiiiiffiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)=>(Ro=r.dynCall_viiiiiiffiiiiii=z.Xf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j),Bo=r.dynCall_vjjjjjjjjfffiifiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le)=>(Bo=r.dynCall_vjjjjjjjjfffiifiiiiii=z.Yf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le),zo=r.dynCall_vjjjjjjfffifiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me)=>(zo=r.dynCall_vjjjjjjfffifiiiiiii=z.Zf)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me),Do=r.dynCall_vjjjjjjfffifiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie)=>(Do=r.dynCall_vjjjjjjfffifiiiii=z._f)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie),Mo=r.dynCall_vjjjjjjjjfffiifiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze)=>(Mo=r.dynCall_vjjjjjjjjfffiifiiiii=z.$f)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze),jo=r.dynCall_vijjfffiii=(i,n,a,s,d,f,g,y,b,C)=>(jo=r.dynCall_vijjfffiii=z.ag)(i,n,a,s,d,f,g,y,b,C),Uo=r.dynCall_vijiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T)=>(Uo=r.dynCall_vijiiiiiiii=z.bg)(i,n,a,s,d,f,g,y,b,C,T),Wo=r.dynCall_vijjjjjjifiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)=>(Wo=r.dynCall_vijjjjjjifiiiii=z.cg)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j),No=r.dynCall_vjjjjjiiii=(i,n,a,s,d,f,g,y,b,C)=>(No=r.dynCall_vjjjjjiiii=z.dg)(i,n,a,s,d,f,g,y,b,C),Vo=r.dynCall_vjjjjfiii=(i,n,a,s,d,f,g,y,b)=>(Vo=r.dynCall_vjjjjfiii=z.eg)(i,n,a,s,d,f,g,y,b),Go=r.dynCall_viifi=(i,n,a,s,d)=>(Go=r.dynCall_viifi=z.fg)(i,n,a,s,d),Lo=r.dynCall_vijjii=(i,n,a,s,d,f)=>(Lo=r.dynCall_vijjii=z.gg)(i,n,a,s,d,f),Ho=r.dynCall_viiiiijjiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(Ho=r.dynCall_viiiiijjiiiii=z.hg)(i,n,a,s,d,f,g,y,b,C,T,O,B),Fo=r.dynCall_iiiiiji=(i,n,a,s,d,f,g)=>(Fo=r.dynCall_iiiiiji=z.ig)(i,n,a,s,d,f,g),qo=r.dynCall_iiiiji=(i,n,a,s,d,f)=>(qo=r.dynCall_iiiiji=z.jg)(i,n,a,s,d,f),Ko=r.dynCall_viiiiijiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(Ko=r.dynCall_viiiiijiiiiii=z.kg)(i,n,a,s,d,f,g,y,b,C,T,O,B),Yo=r.dynCall_viiijiiiiii=(i,n,a,s,d,f,g,y,b,C,T)=>(Yo=r.dynCall_viiijiiiiii=z.lg)(i,n,a,s,d,f,g,y,b,C,T),Qo=r.dynCall_viiiijii=(i,n,a,s,d,f,g,y)=>(Qo=r.dynCall_viiiijii=z.mg)(i,n,a,s,d,f,g,y),Zo=r.dynCall_viijjiii=(i,n,a,s,d,f,g,y)=>(Zo=r.dynCall_viijjiii=z.ng)(i,n,a,s,d,f,g,y),Xo=r.dynCall_ijii=(i,n,a,s)=>(Xo=r.dynCall_ijii=z.og)(i,n,a,s),Jo=r.dynCall_viiiiijjji=(i,n,a,s,d,f,g,y,b,C)=>(Jo=r.dynCall_viiiiijjji=z.pg)(i,n,a,s,d,f,g,y,b,C),es=r.dynCall_vijjjjiij=(i,n,a,s,d,f,g,y,b)=>(es=r.dynCall_vijjjjiij=z.qg)(i,n,a,s,d,f,g,y,b),ts=r.dynCall_viiiiijij=(i,n,a,s,d,f,g,y,b)=>(ts=r.dynCall_viiiiijij=z.rg)(i,n,a,s,d,f,g,y,b),rs=r.dynCall_viiiiiijij=(i,n,a,s,d,f,g,y,b,C)=>(rs=r.dynCall_viiiiiijij=z.sg)(i,n,a,s,d,f,g,y,b,C),is=r.dynCall_vijiii=(i,n,a,s,d,f)=>(is=r.dynCall_vijiii=z.tg)(i,n,a,s,d,f),ns=r.dynCall_viiifii=(i,n,a,s,d,f,g)=>(ns=r.dynCall_viiifii=z.ug)(i,n,a,s,d,f,g),as=r.dynCall_viiiiiiiiifi=(i,n,a,s,d,f,g,y,b,C,T,O)=>(as=r.dynCall_viiiiiiiiifi=z.vg)(i,n,a,s,d,f,g,y,b,C,T,O),os=r.dynCall_iiijiiii=(i,n,a,s,d,f,g,y)=>(os=r.dynCall_iiijiiii=z.wg)(i,n,a,s,d,f,g,y),ss=r.dynCall_viiiiiijjiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E)=>(ss=r.dynCall_viiiiiijjiiiii=z.xg)(i,n,a,s,d,f,g,y,b,C,T,O,B,E),us=r.dynCall_viiiiiiijiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)=>(us=r.dynCall_viiiiiiijiiiiii=z.yg)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j),ls=r.dynCall_vif=(i,n,a)=>(ls=r.dynCall_vif=z.zg)(i,n,a),ds=r.dynCall_viif=(i,n,a,s)=>(ds=r.dynCall_viif=z.Ag)(i,n,a,s),cs=r.dynCall_fiii=(i,n,a,s)=>(cs=r.dynCall_fiii=z.Bg)(i,n,a,s),ps=r.dynCall_diii=(i,n,a,s)=>(ps=r.dynCall_diii=z.Cg)(i,n,a,s),fs=r.dynCall_viiiiiifii=(i,n,a,s,d,f,g,y,b,C)=>(fs=r.dynCall_viiiiiifii=z.Dg)(i,n,a,s,d,f,g,y,b,C),ms=r.dynCall_viiiiijiiiiiiiiiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le,qe,Pt,Kn,Yn,Qn)=>(ms=r.dynCall_viiiiijiiiiiiiiiiiiiiiiiii=z.Eg)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le,qe,Pt,Kn,Yn,Qn),hs=r.dynCall_viijji=(i,n,a,s,d,f)=>(hs=r.dynCall_viijji=z.Fg)(i,n,a,s,d,f),gs=r.dynCall_iiiiiiiiiiiji=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(gs=r.dynCall_iiiiiiiiiiiji=z.Gg)(i,n,a,s,d,f,g,y,b,C,T,O,B),ys=r.dynCall_viifiifijjjii=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(ys=r.dynCall_viifiifijjjii=z.Hg)(i,n,a,s,d,f,g,y,b,C,T,O,B),vs=r.dynCall_viiiiiiiiiiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le)=>(vs=r.dynCall_viiiiiiiiiiiiiiiiiiii=z.Ig)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le),bs=r.dynCall_viiiiifiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(bs=r.dynCall_viiiiifiiiiii=z.Jg)(i,n,a,s,d,f,g,y,b,C,T,O,B),ws=r.dynCall_vijiiiiiiijjii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E)=>(ws=r.dynCall_vijiiiiiiijjii=z.Kg)(i,n,a,s,d,f,g,y,b,C,T,O,B,E),_s=r.dynCall_viiiiiiiiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me)=>(_s=r.dynCall_viiiiiiiiiiiiiiiiii=z.Lg)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me),$s=r.dynCall_viiiiiiiiiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze)=>($s=r.dynCall_viiiiiiiiiiiiiiiiiii=z.Mg)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze),Cs=r.dynCall_viiiiiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)=>(Cs=r.dynCall_viiiiiiiiiiiiiii=z.Ng)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K),xs=r.dynCall_viiiiiiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie)=>(xs=r.dynCall_viiiiiiiiiiiiiiii=z.Og)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie),Ss=r.dynCall_viiiijjj=(i,n,a,s,d,f,g,y)=>(Ss=r.dynCall_viiiijjj=z.Pg)(i,n,a,s,d,f,g,y),Is=r.dynCall_iiiiid=(i,n,a,s,d,f)=>(Is=r.dynCall_iiiiid=z.Qg)(i,n,a,s,d,f),Ts=r.dynCall_viiiiiiijjj=(i,n,a,s,d,f,g,y,b,C,T)=>(Ts=r.dynCall_viiiiiiijjj=z.Rg)(i,n,a,s,d,f,g,y,b,C,T),As=r.dynCall_iiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T)=>(As=r.dynCall_iiiiiiiiiii=z.Sg)(i,n,a,s,d,f,g,y,b,C,T),Es=r.dynCall_iiiiiiiiiiiiiiiiiifi=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze)=>(Es=r.dynCall_iiiiiiiiiiiiiiiiiifi=z.Tg)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze),ks=r.dynCall_viiif=(i,n,a,s,d)=>(ks=r.dynCall_viiif=z.Ug)(i,n,a,s,d),Os=r.dynCall_viiijiiiii=(i,n,a,s,d,f,g,y,b,C)=>(Os=r.dynCall_viiijiiiii=z.Vg)(i,n,a,s,d,f,g,y,b,C),Ps=r.dynCall_viiij=(i,n,a,s,d)=>(Ps=r.dynCall_viiij=z.Wg)(i,n,a,s,d),Rs=r.dynCall_iijjj=(i,n,a,s,d)=>(Rs=r.dynCall_iijjj=z.Xg)(i,n,a,s,d),Bs=r.dynCall_viiiiji=(i,n,a,s,d,f,g)=>(Bs=r.dynCall_viiiiji=z.Yg)(i,n,a,s,d,f,g),zs=r.dynCall_iijjji=(i,n,a,s,d,f)=>(zs=r.dynCall_iijjji=z.Zg)(i,n,a,s,d,f),Ds=r.dynCall_ijijji=(i,n,a,s,d,f)=>(Ds=r.dynCall_ijijji=z._g)(i,n,a,s,d,f),Ms=r.dynCall_viiijjiii=(i,n,a,s,d,f,g,y,b)=>(Ms=r.dynCall_viiijjiii=z.$g)(i,n,a,s,d,f,g,y,b),js=r.dynCall_iiiiijji=(i,n,a,s,d,f,g,y)=>(js=r.dynCall_iiiiijji=z.ah)(i,n,a,s,d,f,g,y),Us=r.dynCall_iiiifi=(i,n,a,s,d,f)=>(Us=r.dynCall_iiiifi=z.bh)(i,n,a,s,d,f),Ws=r.dynCall_iiijii=(i,n,a,s,d,f)=>(Ws=r.dynCall_iiijii=z.ch)(i,n,a,s,d,f),Ns=r.dynCall_iiiiiiiiijii=(i,n,a,s,d,f,g,y,b,C,T,O)=>(Ns=r.dynCall_iiiiiiiiijii=z.dh)(i,n,a,s,d,f,g,y,b,C,T,O),Vs=r.dynCall_iiiijjii=(i,n,a,s,d,f,g,y)=>(Vs=r.dynCall_iiiijjii=z.eh)(i,n,a,s,d,f,g,y),Gs=r.dynCall_iiiiiijjjii=(i,n,a,s,d,f,g,y,b,C,T)=>(Gs=r.dynCall_iiiiiijjjii=z.fh)(i,n,a,s,d,f,g,y,b,C,T),Ls=r.dynCall_iiijiii=(i,n,a,s,d,f,g)=>(Ls=r.dynCall_iiijiii=z.gh)(i,n,a,s,d,f,g),Hs=r.dynCall_iiiiiiiijjjfi=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(Hs=r.dynCall_iiiiiiiijjjfi=z.hh)(i,n,a,s,d,f,g,y,b,C,T,O,B),Fs=r.dynCall_iijiiii=(i,n,a,s,d,f,g)=>(Fs=r.dynCall_iijiiii=z.ih)(i,n,a,s,d,f,g),qs=r.dynCall_iijjjii=(i,n,a,s,d,f,g)=>(qs=r.dynCall_iijjjii=z.jh)(i,n,a,s,d,f,g),Ks=r.dynCall_iiji=(i,n,a,s)=>(Ks=r.dynCall_iiji=z.kh)(i,n,a,s),Ys=r.dynCall_iiif=(i,n,a,s)=>(Ys=r.dynCall_iiif=z.lh)(i,n,a,s),Qs=r.dynCall_vidi=(i,n,a,s)=>(Qs=r.dynCall_vidi=z.mh)(i,n,a,s),Zs=r.dynCall_vjiii=(i,n,a,s,d)=>(Zs=r.dynCall_vjiii=z.nh)(i,n,a,s,d),Xs=r.dynCall_diiii=(i,n,a,s,d)=>(Xs=r.dynCall_diiii=z.oh)(i,n,a,s,d),Js=r.dynCall_diiiii=(i,n,a,s,d,f)=>(Js=r.dynCall_diiiii=z.ph)(i,n,a,s,d,f),eu=r.dynCall_viiijjiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O)=>(eu=r.dynCall_viiijjiiiiii=z.qh)(i,n,a,s,d,f,g,y,b,C,T,O),tu=r.dynCall_viijjijjjjiii=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(tu=r.dynCall_viijjijjjjiii=z.rh)(i,n,a,s,d,f,g,y,b,C,T,O,B),ru=r.dynCall_iiiij=(i,n,a,s,d)=>(ru=r.dynCall_iiiij=z.sh)(i,n,a,s,d),iu=r.dynCall_viiijii=(i,n,a,s,d,f,g)=>(iu=r.dynCall_viiijii=z.th)(i,n,a,s,d,f,g),nu=r.dynCall_viijiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B)=>(nu=r.dynCall_viijiiiiiiiii=z.uh)(i,n,a,s,d,f,g,y,b,C,T,O,B),au=r.dynCall_fiiii=(i,n,a,s,d)=>(au=r.dynCall_fiiii=z.vh)(i,n,a,s,d),ou=r.dynCall_jfi=(i,n,a)=>(ou=r.dynCall_jfi=z.wh)(i,n,a),su=r.dynCall_viiiiiiiiiiiiii=(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)=>(su=r.dynCall_viiiiiiiiiiiiii=z.xh)(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j),uu=r.dynCall_jiij=(i,n,a,s)=>(uu=r.dynCall_jiij=z.yh)(i,n,a,s),lu=i=>(lu=z.zh)(i),du=()=>(du=z.Ah)(),cu=i=>(cu=z.Bh)(i),pu=()=>(pu=z.Ch)();r.___start_em_js=1392979,r.___stop_em_js=1393140;function tf(i,n,a,s){var d=N();try{return Xi(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function rf(i,n,a){var s=N();try{return lr(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function nf(i,n,a){var s=N();try{Zi(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function af(i,n){var a=N();try{return Ar(i,n)}catch(s){if(G(a),s!==s+0)throw s;V(1,0)}}function of(i,n){var a=N();try{si(i,n)}catch(s){if(G(a),s!==s+0)throw s;V(1,0)}}function sf(i,n,a,s){var d=N();try{return kr(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function uf(i){var n=N();try{ui(i)}catch(a){if(G(n),a!==a+0)throw a;V(1,0)}}function lf(i,n,a,s,d,f,g){var y=N();try{return oi(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function df(i,n,a,s,d,f){var g=N();try{return Er(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function cf(i,n,a,s,d){var f=N();try{return li(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function pf(i,n,a,s){var d=N();try{di(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function ff(i,n,a,s,d){var f=N();try{Or(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function mf(i,n,a,s,d,f){var g=N();try{ci(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function hf(i,n,a,s,d,f,g){var y=N();try{dr(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function gf(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{pi(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function yf(i,n,a){var s=N();try{return mi(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function vf(i,n,a){var s=N();try{return hi(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function bf(i,n,a){var s=N();try{return gi(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function wf(i,n,a){var s=N();try{return Ji(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;return V(1,0),0n}}function _f(i,n,a,s,d,f,g,y,b){var C=N();try{yi(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function $f(i){var n=N();try{return cr(i)}catch(a){if(G(n),a!==a+0)throw a;V(1,0)}}function Cf(i,n,a){var s=N();try{ce(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function xf(i,n,a,s,d){var f=N();try{Pr(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function Sf(i,n,a,s,d,f,g){var y=N();try{m(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function If(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{de(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function Tf(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{fe(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function Af(i,n,a,s,d,f,g,y){var b=N();try{return ke(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function Ef(i,n,a,s,d,f,g,y){var b=N();try{Be(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function kf(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{return D(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function Of(i,n,a,s,d,f,g,y,b,C,T,O,B,E){var j=N();try{ve(i,n,a,s,d,f,g,y,b,C,T,O,B,E)}catch(K){if(G(j),K!==K+0)throw K;V(1,0)}}function Pf(i,n,a,s,d,f,g,y,b,C){var T=N();try{L(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function Rf(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{return Dt(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function Bf(i,n,a,s,d,f,g,y,b){var C=N();try{return Re(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function zf(i,n,a,s,d,f,g,y,b){var C=N();try{vi(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function Df(i,n,a,s){var d=N();try{I(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function Mf(i,n){var a=N();try{return Va(i,n)}catch(s){if(G(a),s!==s+0)throw s;V(1,0)}}function jf(i,n){var a=N();try{return w(i,n)}catch(s){if(G(a),s!==s+0)throw s;return V(1,0),0n}}function Uf(i,n){var a=N();try{return La(i,n)}catch(s){if(G(a),s!==s+0)throw s;V(1,0)}}function Wf(i,n,a,s){var d=N();try{Fa(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function Nf(i,n,a,s,d,f,g){var y=N();try{iu(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Vf(i,n,a,s,d){var f=N();try{Eo(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function Gf(i,n,a,s,d,f,g,y,b,C){var T=N();try{return qa(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function Lf(i,n,a,s,d,f,g){var y=N();try{Ka(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Hf(i,n,a,s){var d=N();try{Ya(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function Ff(i,n,a,s,d,f,g,y,b){var C=N();try{return F(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function qf(i,n,a,s,d,f,g){var y=N();try{Qa(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Kf(i,n,a,s,d,f,g,y,b){var C=N();try{fi(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function Yf(i,n,a,s,d,f,g){var y=N();try{Za(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Qf(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{Xa(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function Zf(i,n,a,s){var d=N();try{return eo(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;return V(1,0),0n}}function Xf(i,n,a,s,d,f,g,y){var b=N();try{to(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function Jf(i,n,a,s,d){var f=N();try{ro(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function em(i,n,a,s){var d=N();try{no(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function tm(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K){var ie=N();try{ao(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)}catch(ue){if(G(ie),ue!==ue+0)throw ue;V(1,0)}}function rm(i,n,a,s,d,f){var g=N();try{oo(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function im(i,n,a,s,d,f,g,y,b){var C=N();try{so(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function nm(i,n,a,s,d){var f=N();try{return uo(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function am(i,n,a,s,d,f,g,y,b,C,T,O,B,E){var j=N();try{return lo(i,n,a,s,d,f,g,y,b,C,T,O,B,E)}catch(K){if(G(j),K!==K+0)throw K;V(1,0)}}function om(i,n){var a=N();try{co(i,n)}catch(s){if(G(a),s!==s+0)throw s;V(1,0)}}function sm(i,n,a){var s=N();try{return po(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;return V(1,0),0n}}function um(i,n,a,s,d,f,g,y,b,C){var T=N();try{return fo(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function lm(i,n,a,s,d,f,g,y,b,C,T,O,B,E){var j=N();try{vo(i,n,a,s,d,f,g,y,b,C,T,O,B,E)}catch(K){if(G(j),K!==K+0)throw K;V(1,0)}}function dm(i,n,a,s,d){var f=N();try{mo(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function cm(i,n,a,s,d,f,g){var y=N();try{ho(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function pm(i,n,a,s,d){var f=N();try{yo(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function fm(i,n,a,s,d,f,g,y){var b=N();try{go(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function mm(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{bo(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function hm(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie){var ue=N();try{return wo(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie)}catch(me){if(G(ue),me!==me+0)throw me;V(1,0)}}function gm(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{_o(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function ym(i,n){var a=N();try{return Z(i,n)}catch(s){if(G(a),s!==s+0)throw s;V(1,0)}}function vm(i,n,a,s,d){var f=N();try{return au(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function bm(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze){var Le=N();try{return $o(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze)}catch(qe){if(G(Le),qe!==qe+0)throw qe;V(1,0)}}function wm(i,n,a,s,d,f,g,y,b,C){var T=N();try{Co(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function _m(i,n,a,s,d,f,g){var y=N();try{return xo(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function $m(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{So(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function Cm(i,n,a,s,d,f){var g=N();try{return Io(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function xm(i,n,a,s,d,f){var g=N();try{Ao(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function Sm(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue){var me=N();try{ko(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue)}catch(ze){if(G(me),ze!==ze+0)throw ze;V(1,0)}}function Im(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie){var ue=N();try{Oo(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie)}catch(me){if(G(ue),me!==me+0)throw me;V(1,0)}}function Tm(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K){var ie=N();try{Po(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)}catch(ue){if(G(ie),ue!==ue+0)throw ue;V(1,0)}}function Am(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j){var K=N();try{Ro(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)}catch(ie){if(G(K),ie!==ie+0)throw ie;V(1,0)}}function Em(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le){var qe=N();try{Bo(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le)}catch(Pt){if(G(qe),Pt!==Pt+0)throw Pt;V(1,0)}}function km(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me){var ze=N();try{zo(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me)}catch(Le){if(G(ze),Le!==Le+0)throw Le;V(1,0)}}function Om(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie){var ue=N();try{Do(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie)}catch(me){if(G(ue),me!==me+0)throw me;V(1,0)}}function Pm(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze){var Le=N();try{Mo(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze)}catch(qe){if(G(Le),qe!==qe+0)throw qe;V(1,0)}}function Rm(i,n,a,s,d,f,g,y,b,C){var T=N();try{jo(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function Bm(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{Uo(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function zm(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j){var K=N();try{Wo(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)}catch(ie){if(G(K),ie!==ie+0)throw ie;V(1,0)}}function Dm(i,n,a,s,d,f,g,y,b,C){var T=N();try{No(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function Mm(i,n,a,s,d,f,g,y,b){var C=N();try{Vo(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function jm(i,n,a,s,d,f,g){var y=N();try{return To(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Um(i,n,a,s,d){var f=N();try{Go(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function Wm(i,n,a){var s=N();try{return ou(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;return V(1,0),0n}}function Nm(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{Ho(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function Vm(i,n,a,s,d,f,g){var y=N();try{return Fo(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Gm(i,n,a,s,d,f){var g=N();try{return qo(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function Lm(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{Ko(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function Hm(i,n,a,s,d,f){var g=N();try{Lo(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function Fm(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{Yo(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function qm(i,n,a,s,d,f,g,y){var b=N();try{Qo(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function Km(i,n,a,s,d,f,g,y){var b=N();try{Zo(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function Ym(i,n,a,s){var d=N();try{return Xo(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function Qm(i,n,a,s,d,f,g,y,b,C){var T=N();try{Jo(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function Zm(i,n,a,s,d,f,g,y,b){var C=N();try{es(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function Xm(i,n,a,s,d,f,g,y,b){var C=N();try{ts(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function Jm(i,n,a,s,d,f,g,y,b,C){var T=N();try{rs(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function eh(i,n,a,s,d,f){var g=N();try{is(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function th(i,n,a,s,d,f,g){var y=N();try{ns(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function rh(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{as(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function ih(i,n,a,s,d,f,g,y){var b=N();try{return os(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function nh(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j){var K=N();try{su(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)}catch(ie){if(G(K),ie!==ie+0)throw ie;V(1,0)}}function ah(i,n,a,s,d,f,g,y,b,C,T,O,B,E){var j=N();try{ss(i,n,a,s,d,f,g,y,b,C,T,O,B,E)}catch(K){if(G(j),K!==K+0)throw K;V(1,0)}}function oh(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j){var K=N();try{us(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j)}catch(ie){if(G(K),ie!==ie+0)throw ie;V(1,0)}}function sh(i,n,a){var s=N();try{ls(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function uh(i,n,a,s){var d=N();try{return cs(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function lh(i,n,a,s){var d=N();try{return ps(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function dh(i,n,a,s,d,f,g,y,b,C){var T=N();try{fs(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function ch(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le,qe,Pt,Kn,Yn,Qn){var dg=N();try{ms(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le,qe,Pt,Kn,Yn,Qn)}catch(Zn){if(G(dg),Zn!==Zn+0)throw Zn;V(1,0)}}function ph(i,n,a,s,d,f){var g=N();try{hs(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function fh(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{return gs(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function mh(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{ys(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function hh(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le){var qe=N();try{vs(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze,Le)}catch(Pt){if(G(qe),Pt!==Pt+0)throw Pt;V(1,0)}}function gh(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{bs(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function yh(i,n,a,s,d,f,g,y,b,C,T,O,B,E){var j=N();try{ws(i,n,a,s,d,f,g,y,b,C,T,O,B,E)}catch(K){if(G(j),K!==K+0)throw K;V(1,0)}}function vh(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze){var Le=N();try{$s(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze)}catch(qe){if(G(Le),qe!==qe+0)throw qe;V(1,0)}}function bh(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie){var ue=N();try{xs(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie)}catch(me){if(G(ue),me!==me+0)throw me;V(1,0)}}function wh(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me){var ze=N();try{_s(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me)}catch(Le){if(G(ze),Le!==Le+0)throw Le;V(1,0)}}function _h(i,n,a,s,d,f,g,y){var b=N();try{Ss(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function $h(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{Ts(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function Ch(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{return As(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function xh(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze){var Le=N();try{return Es(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K,ie,ue,me,ze)}catch(qe){if(G(Le),qe!==qe+0)throw qe;V(1,0)}}function Sh(i,n,a,s,d){var f=N();try{ks(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function Ih(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{Ja(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function Th(i,n,a,s,d,f,g,y,b,C){var T=N();try{Os(i,n,a,s,d,f,g,y,b,C)}catch(O){if(G(T),O!==O+0)throw O;V(1,0)}}function Ah(i,n,a,s,d){var f=N();try{Ps(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function Eh(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{nu(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function kh(i,n,a,s,d){var f=N();try{return Rs(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function Oh(i,n,a,s){var d=N();try{return uu(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;return V(1,0),0n}}function Ph(i,n,a,s,d,f,g){var y=N();try{Bs(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Rh(i,n,a,s,d,f){var g=N();try{return zs(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function Bh(i,n,a,s,d,f){var g=N();try{return Ds(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function zh(i,n,a,s,d,f,g,y,b){var C=N();try{Ms(i,n,a,s,d,f,g,y,b)}catch(T){if(G(C),T!==T+0)throw T;V(1,0)}}function Dh(i,n,a,s){var d=N();try{ds(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function Mh(i,n,a,s,d,f,g,y){var b=N();try{return js(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function jh(i,n,a,s,d,f){var g=N();try{return Us(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function Uh(i,n,a,s,d,f){var g=N();try{return Ws(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function Wh(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{return Ns(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function Nh(i,n,a,s,d,f,g,y){var b=N();try{return Vs(i,n,a,s,d,f,g,y)}catch(C){if(G(b),C!==C+0)throw C;V(1,0)}}function Vh(i,n,a,s,d,f,g,y,b,C,T){var O=N();try{return Gs(i,n,a,s,d,f,g,y,b,C,T)}catch(B){if(G(O),B!==B+0)throw B;V(1,0)}}function Gh(i,n,a,s,d,f,g){var y=N();try{return Ls(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Lh(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{return Hs(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function Hh(i,n,a,s,d,f,g){var y=N();try{return Fs(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function Fh(i,n,a,s,d,f,g){var y=N();try{return qs(i,n,a,s,d,f,g)}catch(b){if(G(y),b!==b+0)throw b;V(1,0)}}function qh(i,n,a,s){var d=N();try{return Ks(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function Kh(i,n,a,s){var d=N();try{Qs(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function Yh(i,n,a,s){var d=N();try{return Ys(i,n,a,s)}catch(f){if(G(d),f!==f+0)throw f;V(1,0)}}function Qh(i,n,a,s,d){var f=N();try{Zs(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function Zh(i,n,a,s,d){var f=N();try{return Xs(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function Xh(i,n,a,s,d,f){var g=N();try{return Js(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function Jh(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{eu(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function eg(i,n,a,s,d,f,g,y,b,C,T,O,B){var E=N();try{tu(i,n,a,s,d,f,g,y,b,C,T,O,B)}catch(j){if(G(E),j!==j+0)throw j;V(1,0)}}function tg(i,n,a,s,d,f,g,y,b,C,T,O){var B=N();try{io(i,n,a,s,d,f,g,y,b,C,T,O)}catch(E){if(G(B),E!==E+0)throw E;V(1,0)}}function rg(i,n,a,s,d){var f=N();try{return ru(i,n,a,s,d)}catch(g){if(G(f),g!==g+0)throw g;V(1,0)}}function ig(i){var n=N();try{return he(i)}catch(a){if(G(n),a!==a+0)throw a;return V(1,0),0n}}function ng(i,n,a,s,d,f){var g=N();try{return te(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function ag(i,n,a,s,d,f){var g=N();try{return Is(i,n,a,s,d,f)}catch(y){if(G(g),y!==y+0)throw y;V(1,0)}}function og(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K){var ie=N();try{Cs(i,n,a,s,d,f,g,y,b,C,T,O,B,E,j,K)}catch(ue){if(G(ie),ue!==ue+0)throw ue;V(1,0)}}function sg(i,n,a){var s=N();try{return Ga(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function ug(i,n,a){var s=N();try{return Ha(i,n,a)}catch(d){if(G(s),d!==d+0)throw d;V(1,0)}}function lg(){var i=z;i=Object.assign({},i);var n=s=>()=>s()>>>0,a=s=>d=>s(d)>>>0;return i.de=n(i.de),i.ee=a(i.ee),i.ge=a(i.ge),i.ke=n(i.ke),i.me=a(i.me),i}r.stackAlloc=Fi,r.stackSave=N,r.stackRestore=G,r.UTF8ToString=Je,r.stringToUTF8=(i,n,a)=>ir(i,J,n,a),r.lengthBytesUTF8=br;var en;De=function i(){en||fu(),en||(De=i)};function fu(){if(!(0Nu)});var Lu=Rr(()=>{});var Hu=Rr(()=>{});var Fu={};Br(Fu,{cpus:()=>_g});var _g,qu=ne(()=>{_g=void 0});var Qu=Rr((Yu,oa)=>{\"use strict\";var Ku=(()=>{var e=typeof document<\"u\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<\"u\"&&(e=e||__filename),function(t={}){function r(){return Ee.buffer!=be.buffer&&_e(),be}function u(){return Ee.buffer!=be.buffer&&_e(),Se}function o(){return Ee.buffer!=be.buffer&&_e(),De}function c(){return Ee.buffer!=be.buffer&&_e(),Ye}function p(){return Ee.buffer!=be.buffer&&_e(),re}function h(){return Ee.buffer!=be.buffer&&_e(),pe}var l=t,v,$;l.ready=new Promise((m,w)=>{v=m,$=w}),l.jsepInit=(m,w,I,D,L,Z,te,he)=>{l.Qb=m,l.wb=w,l.yb=I,l.jb=D,l.xb=L,l.Ea=Z,l.zb=te,l.Ab=he,w=(ce,de,fe)=>(...ke)=>{let Be=_t,F=de?.();ke=ce(...ke);let ve=de?.();return F!==ve&&(ce=ve,fe(F),de=fe=null),_t!=Be?Fi():ke},I=ce=>async(...de)=>{try{if(l.bb)throw Error(\"Session already started\");let fe=l.bb={Fb:de[0],errors:[]},ke=await ce(...de);if(l.bb!==fe)throw Error(\"Session mismatch\");m.flush();let Be=fe.errors;if(0ve),0l._OrtRun,ce=>l._OrtRun=ce)),l._OrtRunWithBinding=I(w(l._OrtRunWithBinding,()=>l._OrtRunWithBinding,ce=>l._OrtRunWithBinding=ce)),l._OrtBindInput=w(l._OrtBindInput,()=>l._OrtBindInput,ce=>l._OrtBindInput=ce),l.jsepRegisterBuffer=(ce,de,fe,ke)=>m.registerBuffer(ce,de,fe,ke),l.jsepUnregisterBuffers=ce=>{m.unregisterBuffers(ce)},l.jsepGetBuffer=ce=>m.getBuffer(ce),l.jsepCreateDownloader=(ce,de,fe)=>m.createDownloader(ce,de,fe)};var _=Object.assign({},l),x=\"./this.program\",A=(m,w)=>{throw w},S=typeof window==\"object\",k=typeof importScripts==\"function\",M=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",R=l.ENVIRONMENT_IS_PTHREAD||!1,P=\"\";function W(m){return l.locateFile?l.locateFile(m,P):P+m}var U,q,Y;if(M){var J=(cn(),Jt(dn)),oe=(na(),Jt(ia));P=k?oe.dirname(P)+\"/\":__dirname+\"/\",U=(w,I)=>(w=w.startsWith(\"file://\")?new URL(w):oe.normalize(w),J.readFileSync(w,I?void 0:\"utf8\")),Y=w=>(w=U(w,!0),w.buffer||(w=new Uint8Array(w)),w),q=(w,I,D,L=!0)=>{w=w.startsWith(\"file://\")?new URL(w):oe.normalize(w),J.readFile(w,L?void 0:\"utf8\",(Z,te)=>{Z?D(Z):I(L?te.buffer:te)})},!l.thisProgram&&1{throw process.exitCode=w,I},l.inspect=()=>\"[Emscripten Module object]\";let m;try{m=Lu()}catch(w){throw console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?'),w}global.Worker=m.Worker}else(S||k)&&(k?P=self.location.href:typeof document<\"u\"&&document.currentScript&&(P=document.currentScript.src),typeof e<\"u\"&&e&&(P=e),P.indexOf(\"blob:\")!==0?P=P.substr(0,P.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):P=\"\",M||(U=m=>{var w=new XMLHttpRequest;return w.open(\"GET\",m,!1),w.send(null),w.responseText},k&&(Y=m=>{var w=new XMLHttpRequest;return w.open(\"GET\",m,!1),w.responseType=\"arraybuffer\",w.send(null),new Uint8Array(w.response)}),q=(m,w,I)=>{var D=new XMLHttpRequest;D.open(\"GET\",m,!0),D.responseType=\"arraybuffer\",D.onload=()=>{D.status==200||D.status==0&&D.response?w(D.response):I()},D.onerror=I,D.send(null)}));M&&typeof performance>\"u\"&&(global.performance=Hu().performance);var ge=console.log.bind(console),H=console.error.bind(console);M&&(ge=(...m)=>J.writeSync(1,m.join(\" \")+`\n`),H=(...m)=>J.writeSync(2,m.join(\" \")+`\n`));var le=l.print||ge,Ae=l.printErr||H;Object.assign(l,_),_=null,l.thisProgram&&(x=l.thisProgram),l.quit&&(A=l.quit);var Ue;l.wasmBinary&&(Ue=l.wasmBinary);var We=l.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&bt(\"no native wasm support detected\");var Ee,ee,Ve,xe=!1,Ce,be,Se,De,Ye,re,pe;function _e(){var m=Ee.buffer;l.HEAP8=be=new Int8Array(m),l.HEAP16=new Int16Array(m),l.HEAP32=De=new Int32Array(m),l.HEAPU8=Se=new Uint8Array(m),l.HEAPU16=new Uint16Array(m),l.HEAPU32=Ye=new Uint32Array(m),l.HEAPF32=re=new Float32Array(m),l.HEAPF64=pe=new Float64Array(m)}var at=l.INITIAL_MEMORY||16777216;if(5242880<=at||bt(\"INITIAL_MEMORY should be larger than STACK_SIZE, was \"+at+\"! (STACK_SIZE=5242880)\"),R)Ee=l.wasmMemory;else if(l.wasmMemory)Ee=l.wasmMemory;else if(Ee=new WebAssembly.Memory({initial:at/65536,maximum:65536,shared:!0}),!(Ee.buffer instanceof SharedArrayBuffer))throw Ae(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),M&&Ae(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)\"),Error(\"bad memory\");_e(),at=Ee.buffer.byteLength;var rt=[],vt=[],Yt=[],Xe=0;function Ze(){return We||0{if(!w.ok)throw\"failed to load wasm binary file at '\"+m+\"'\";return w.arrayBuffer()}).catch(()=>Je(m));if(q)return new Promise((w,I)=>{q(m,D=>w(new Uint8Array(D)),I)})}return Promise.resolve().then(()=>Je(m))}function ir(m,w,I){return br(m).then(D=>WebAssembly.instantiate(D,w)).then(D=>D).then(I,D=>{Ae(\"failed to asynchronously prepare wasm: \"+D),bt(D)})}function Ei(m,w){var I=Ft;return Ue||typeof WebAssembly.instantiateStreaming!=\"function\"||Wr(I)||I.startsWith(\"file://\")||M||typeof fetch!=\"function\"?ir(I,m,w):fetch(I,{credentials:\"same-origin\"}).then(D=>WebAssembly.instantiateStreaming(D,m).then(w,function(L){return Ae(\"wasm streaming compile failed: \"+L),Ae(\"falling back to ArrayBuffer instantiation\"),ir(I,m,w)}))}var qt,ct={912252:m=>{l.Ea(\"Abs\",m,void 0)},912303:m=>{l.Ea(\"Neg\",m,void 0)},912354:m=>{l.Ea(\"Floor\",m,void 0)},912407:m=>{l.Ea(\"Ceil\",m,void 0)},912459:m=>{l.Ea(\"Reciprocal\",m,void 0)},912517:m=>{l.Ea(\"Sqrt\",m,void 0)},912569:m=>{l.Ea(\"Exp\",m,void 0)},912620:m=>{l.Ea(\"Erf\",m,void 0)},912671:m=>{l.Ea(\"Sigmoid\",m,void 0)},912726:m=>{l.Ea(\"Log\",m,void 0)},912777:m=>{l.Ea(\"Sin\",m,void 0)},912828:m=>{l.Ea(\"Cos\",m,void 0)},912879:m=>{l.Ea(\"Tan\",m,void 0)},912930:m=>{l.Ea(\"Asin\",m,void 0)},912982:m=>{l.Ea(\"Acos\",m,void 0)},913034:m=>{l.Ea(\"Atan\",m,void 0)},913086:m=>{l.Ea(\"Sinh\",m,void 0)},913138:m=>{l.Ea(\"Cosh\",m,void 0)},913190:m=>{l.Ea(\"Asinh\",m,void 0)},913243:m=>{l.Ea(\"Acosh\",m,void 0)},913296:m=>{l.Ea(\"Atanh\",m,void 0)},913349:m=>{l.Ea(\"Tanh\",m,void 0)},913401:m=>{l.Ea(\"Not\",m,void 0)},913452:(m,w,I)=>{l.Ea(\"ClipV10\",m,{min:w,max:I})},913524:m=>{l.Ea(\"Clip\",m,void 0)},913576:(m,w)=>{l.Ea(\"Elu\",m,{alpha:w})},913634:m=>{l.Ea(\"Relu\",m,void 0)},913686:(m,w)=>{l.Ea(\"LeakyRelu\",m,{alpha:w})},913750:(m,w)=>{l.Ea(\"ThresholdedRelu\",m,{alpha:w})},913820:(m,w)=>{l.Ea(\"Cast\",m,{to:w})},913878:m=>{l.Ea(\"Add\",m,void 0)},913929:m=>{l.Ea(\"Sub\",m,void 0)},913980:m=>{l.Ea(\"Mul\",m,void 0)},914031:m=>{l.Ea(\"Div\",m,void 0)},914082:m=>{l.Ea(\"Pow\",m,void 0)},914133:m=>{l.Ea(\"Equal\",m,void 0)},914186:m=>{l.Ea(\"Greater\",m,void 0)},914241:m=>{l.Ea(\"GreaterOrEqual\",m,void 0)},914303:m=>{l.Ea(\"Less\",m,void 0)},914355:m=>{l.Ea(\"LessOrEqual\",m,void 0)},914414:(m,w,I,D,L)=>{l.Ea(\"ReduceMean\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},914578:(m,w,I,D,L)=>{l.Ea(\"ReduceMax\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},914741:(m,w,I,D,L)=>{l.Ea(\"ReduceMin\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},914904:(m,w,I,D,L)=>{l.Ea(\"ReduceProd\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},915068:(m,w,I,D,L)=>{l.Ea(\"ReduceSum\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},915231:(m,w,I,D,L)=>{l.Ea(\"ReduceL1\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},915393:(m,w,I,D,L)=>{l.Ea(\"ReduceL2\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},915555:(m,w,I,D,L)=>{l.Ea(\"ReduceLogSum\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},915721:(m,w,I,D,L)=>{l.Ea(\"ReduceSumSquare\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},915890:(m,w,I,D,L)=>{l.Ea(\"ReduceLogSumExp\",m,{keepDims:!!w,noopWithEmptyAxes:!!I,axes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},916059:m=>{l.Ea(\"Where\",m,void 0)},916112:(m,w,I)=>{l.Ea(\"Transpose\",m,{perm:w?Array.from(o().subarray(I>>>0,I+w>>>0)):[]})},916225:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F,ve)=>{l.Ea(\"ConvTranspose\",m,{format:ce?\"NHWC\":\"NCHW\",autoPad:w,dilations:[I],group:D,kernel_shape:[L],pads:[Z,te],strides:[he],wIsConst:()=>!!r()[de>>>0],outputPadding:fe?Array.from(o().subarray(ke>>>0,ke+fe>>>0)):[],outputShape:Be?Array.from(o().subarray(F>>>0,F+Be>>>0)):[],activation:it(ve)})},916639:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F)=>{l.Ea(\"ConvTranspose\",m,{format:he?\"NHWC\":\"NCHW\",autoPad:w,dilations:Array.from(o().subarray(I>>>0,I+2>>>0)),group:D,kernelShape:Array.from(o().subarray(L>>>0,L+2>>>0)),pads:Array.from(o().subarray(Z>>>0,Z+4>>>0)),strides:Array.from(o().subarray(te>>>0,te+2>>>0)),wIsConst:()=>!!r()[ce>>>0],outputPadding:0>>0,fe+de>>>0)):[],outputShape:0>>0,Be+ke>>>0)):[],activation:it(F)})},917196:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F,ve)=>{l.Ea(\"ConvTranspose\",m,{format:ce?\"NHWC\":\"NCHW\",autoPad:w,dilations:[I],group:D,kernel_shape:[L],pads:[Z,te],strides:[he],wIsConst:()=>!!r()[de>>>0],outputPadding:fe?Array.from(o().subarray(ke>>>0,ke+fe>>>0)):[],outputShape:Be?Array.from(o().subarray(F>>>0,F+Be>>>0)):[],activation:it(ve)})},917610:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F)=>{l.Ea(\"ConvTranspose\",m,{format:he?\"NHWC\":\"NCHW\",autoPad:w,dilations:Array.from(o().subarray(I>>>0,I+2>>>0)),group:D,kernelShape:Array.from(o().subarray(L>>>0,L+2>>>0)),pads:Array.from(o().subarray(Z>>>0,Z+4>>>0)),strides:Array.from(o().subarray(te>>>0,te+2>>>0)),wIsConst:()=>!!r()[ce>>>0],outputPadding:0>>0,fe+de>>>0)):[],outputShape:0>>0,Be+ke>>>0)):[],activation:it(F)})},918167:(m,w)=>{l.Ea(\"GlobalAveragePool\",m,{format:w?\"NHWC\":\"NCHW\"})},918258:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F,ve,Re)=>{l.Ea(\"AveragePool\",m,{format:Re?\"NHWC\":\"NCHW\",auto_pad:w,ceil_mode:I,count_include_pad:D,storage_order:L,dilations:[Z,te],kernel_shape:[he,ce],pads:[de,fe,ke,Be],strides:[F,ve]})},918542:(m,w)=>{l.Ea(\"GlobalAveragePool\",m,{format:w?\"NHWC\":\"NCHW\"})},918633:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F,ve,Re)=>{l.Ea(\"AveragePool\",m,{format:Re?\"NHWC\":\"NCHW\",auto_pad:w,ceil_mode:I,count_include_pad:D,storage_order:L,dilations:[Z,te],kernel_shape:[he,ce],pads:[de,fe,ke,Be],strides:[F,ve]})},918917:(m,w)=>{l.Ea(\"GlobalMaxPool\",m,{format:w?\"NHWC\":\"NCHW\"})},919004:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F,ve,Re)=>{l.Ea(\"MaxPool\",m,{format:Re?\"NHWC\":\"NCHW\",auto_pad:w,ceil_mode:I,count_include_pad:D,storage_order:L,dilations:[Z,te],kernel_shape:[he,ce],pads:[de,fe,ke,Be],strides:[F,ve]})},919284:(m,w)=>{l.Ea(\"GlobalMaxPool\",m,{format:w?\"NHWC\":\"NCHW\"})},919371:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F,ve,Re)=>{l.Ea(\"MaxPool\",m,{format:Re?\"NHWC\":\"NCHW\",auto_pad:w,ceil_mode:I,count_include_pad:D,storage_order:L,dilations:[Z,te],kernel_shape:[he,ce],pads:[de,fe,ke,Be],strides:[F,ve]})},919651:(m,w,I,D,L)=>{l.Ea(\"Gemm\",m,{alpha:w,beta:I,transA:D,transB:L})},919755:m=>{l.Ea(\"MatMul\",m,void 0)},919809:(m,w,I,D)=>{l.Ea(\"ArgMax\",m,{keepDims:!!w,selectLastIndex:!!I,axis:D})},919917:(m,w,I,D)=>{l.Ea(\"ArgMin\",m,{keepDims:!!w,selectLastIndex:!!I,axis:D})},920025:(m,w)=>{l.Ea(\"Softmax\",m,{axis:w})},920088:(m,w)=>{l.Ea(\"Concat\",m,{axis:w})},920148:(m,w,I,D,L)=>{l.Ea(\"Split\",m,{axis:w,numOutputs:I,splitSizes:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},920293:m=>{l.Ea(\"Expand\",m,void 0)},920347:(m,w)=>{l.Ea(\"Gather\",m,{axis:Number(w)})},920418:(m,w)=>{l.Ea(\"GatherElements\",m,{axis:Number(w)})},920497:(m,w,I,D,L,Z,te,he,ce,de,fe)=>{l.Ea(\"Resize\",m,{antialias:w,axes:I?Array.from(o().subarray(D>>>0,D+I>>>0)):[],coordinateTransformMode:it(L),cubicCoeffA:Z,excludeOutside:te,extrapolationValue:he,keepAspectRatioPolicy:it(ce),mode:it(de),nearestMode:it(fe)})},920848:(m,w,I,D,L,Z,te)=>{l.Ea(\"Slice\",m,{starts:w?Array.from(o().subarray(I>>>0,I+w>>>0)):[],ends:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[],axes:Z?Array.from(o().subarray(te>>>0,te+Z>>>0)):[]})},921079:m=>{l.Ea(\"Tile\",m,void 0)},921131:(m,w,I)=>{l.Ea(\"LayerNormalization\",m,{axis:Number(w),epsilon:Number(I)})},921238:(m,w,I)=>{l.Ea(\"InstanceNormalization\",m,{epsilon:w,format:I?\"NHWC\":\"NCHW\"})},921352:(m,w,I)=>{l.Ea(\"InstanceNormalization\",m,{epsilon:w,format:I?\"NHWC\":\"NCHW\"})},921466:m=>{l.Ea(\"Range\",m,void 0)},921519:(m,w)=>{l.Ea(\"Einsum\",m,{equation:it(w)})},921600:(m,w,I,D,L)=>{l.Ea(\"Pad\",m,{mode:w,value:I,pads:D?Array.from(o().subarray(L>>>0,L+D>>>0)):[]})},921732:m=>{l.Ea(\"Gelu\",m,void 0)},921784:m=>{l.Ea(\"BiasAdd\",m,void 0)},921839:m=>{l.Ea(\"BiasSplitGelu\",m,void 0)},921900:(m,w)=>{l.Ea(\"SkipLayerNormalization\",m,{epsilon:w})},921981:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be)=>{l.Ea(\"Conv\",m,{format:ce?\"NHWC\":\"NCHW\",auto_pad:w,dilations:[I],group:D,kernel_shape:[L],pads:Z?Array.from(o().subarray(te>>>0,te+Z>>>0)):[],strides:[he],w_is_const:()=>!!r()[de>>>0],activation:it(fe),activation_params:ke?Array.from(p().subarray(Be>>>0,Be+ke>>>0)):[]})},922362:(m,w,I,D,L,Z,te,he,ce,de,fe,ke,Be,F,ve,Re)=>{l.Ea(\"Conv\",m,{format:ke?\"NHWC\":\"NCHW\",auto_pad:w,dilations:[I,D],group:L,kernel_shape:[Z,te],pads:he?Array.from(o().subarray(ce>>>0,ce+he>>>0)):[],strides:[de,fe],w_is_const:()=>!!r()[Be>>>0],activation:it(F),activation_params:ve?Array.from(p().subarray(Re>>>0,Re+ve>>>0)):[]})},922764:m=>{l.zb(m)},922798:(m,w)=>l.Ab(m,w,l.bb.Fb,l.bb.errors),922910:m=>l.wb(m),922943:m=>l.yb(m),922975:(m,w,I)=>{l.jb(m,w,I,!0)},923014:(m,w,I)=>{l.jb(m,w,I)}};function Qt(m){this.name=\"ExitStatus\",this.message=`Program terminated with exit(${m})`,this.status=m}function nr(m){m.terminate(),m.onmessage=()=>{}}function ki(m){(m=ye.Qa[m])||bt(),ye.Eb(m)}function kt(m){var w=ye.tb();if(!w)return 6;ye.Ya.push(w),ye.Qa[m.Xa]=w,w.Xa=m.Xa;var I={cmd:\"run\",start_routine:m.Gb,arg:m.rb,pthread_ptr:m.Xa};return M&&w.unref(),w.postMessage(I,m.Mb),0}var Oi=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,St=(m,w,I)=>{w>>>=0;var D=w+I;for(I=w;m[I]&&!(I>=D);)++I;if(16L?D+=String.fromCharCode(L):(L-=65536,D+=String.fromCharCode(55296|L>>10,56320|L&1023))}}else D+=String.fromCharCode(L)}return D},it=(m,w)=>(m>>>=0)?St(u(),m,w):\"\";function Nr(m){if(R)return Ge(1,1,m);Ce=m,Ze()||(ye.Hb(),l.onExit&&l.onExit(m),xe=!0),A(m,new Qt(m))}var ot=m=>{if(Ce=m,R)throw mt(m),\"unwind\";Nr(m)},ye={ab:[],Ya:[],mb:[],Qa:{},gb:function(){R?ye.vb():ye.ub()},ub:function(){rt.unshift(()=>{Et(),ye.Bb(()=>vr())})},vb:function(){ye.receiveObjectTransfer=ye.Db,ye.threadInitTLS=ye.lb,ye.setExitStatus=ye.kb,We=!1},kb:function(m){Ce=m},Sb:[\"$terminateWorker\"],Hb:function(){for(var m of ye.Ya)nr(m);for(m of ye.ab)nr(m);ye.ab=[],ye.Ya=[],ye.Qa=[]},Eb:function(m){var w=m.Xa;delete ye.Qa[w],ye.ab.push(m),ye.Ya.splice(ye.Ya.indexOf(m),1),m.Xa=0,Er(w)},Db:function(){},lb:function(){ye.mb.forEach(m=>m())},Cb:m=>new Promise(w=>{m.onmessage=Z=>{Z=Z.data;var te=Z.cmd;if(Z.targetThread&&Z.targetThread!=lr()){var he=ye.Qa[Z.Rb];he?he.postMessage(Z,Z.transferList):Ae('Internal error! Worker sent a message \"'+te+'\" to target pthread '+Z.targetThread+\", but that thread no longer exists!\")}else te===\"checkMailbox\"?$r():te===\"spawnThread\"?kt(Z):te===\"cleanupThread\"?ki(Z.thread):te===\"killThread\"?(Z=Z.thread,te=ye.Qa[Z],delete ye.Qa[Z],nr(te),Er(Z),ye.Ya.splice(ye.Ya.indexOf(te),1),te.Xa=0):te===\"cancelThread\"?ye.Qa[Z.thread].postMessage({cmd:\"cancel\"}):te===\"loaded\"?(m.loaded=!0,w(m)):te===\"alert\"?alert(\"Thread \"+Z.threadId+\": \"+Z.text):Z.target===\"setimmediate\"?m.postMessage(Z):te===\"callHandler\"?l[Z.handler](...Z.args):te&&Ae(\"worker sent an unknown command \"+te)},m.onerror=Z=>{throw Ae(\"worker sent an error! \"+Z.filename+\":\"+Z.lineno+\": \"+Z.message),Z},M&&(m.on(\"message\",function(Z){m.onmessage({data:Z})}),m.on(\"error\",function(Z){m.onerror(Z)}));var I=[],D=[\"onExit\",\"onAbort\",\"print\",\"printErr\"],L;for(L of D)l.hasOwnProperty(L)&&I.push(L);m.postMessage({cmd:\"load\",handlers:I,urlOrBlob:l.mainScriptUrlOrBlob||e,wasmMemory:Ee,wasmModule:Ve})}),Bb:function(m){m()},qb:function(){var m=W(\"ort-wasm-simd-threaded.worker.js\");m=new Worker(m),ye.ab.push(m)},tb:function(){return ye.ab.length==0&&(ye.qb(),ye.Cb(ye.ab[0])),ye.ab.pop()}};l.PThread=ye;var tt=m=>{for(;0>2>>>0];m=o()[m+56>>2>>>0],ci(w,w-m),dr(w)};function mt(m){if(R)return Ge(2,0,m);ot(m)}l.invokeEntryPoint=function(m,w){m=pi.apply(null,[m,w]),Ze()?ye.kb(m):kr(m)};function Pi(m){this.fb=m-24,this.pb=function(w){c()[this.fb+4>>2>>>0]=w},this.ob=function(w){c()[this.fb+8>>2>>>0]=w},this.gb=function(w,I){this.nb(),this.pb(w),this.ob(I)},this.nb=function(){c()[this.fb+16>>2>>>0]=0}}var Ri=0,Ln=0;function Vr(m,w,I,D){return R?Ge(3,1,m,w,I,D):Bi(m,w,I,D)}function Bi(m,w,I,D){if(m>>>=0,w>>>=0,I>>>=0,D>>>=0,typeof SharedArrayBuffer>\"u\")return Ae(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var L=[];return R&&L.length===0?Vr(m,w,I,D):(m={Gb:I,Xa:m,rb:D,Mb:L},R?(m.Ob=\"spawnThread\",postMessage(m,L),0):kt(m))}function zi(m,w,I){return R?Ge(4,1,m,w,I):0}function Di(m,w){if(R)return Ge(5,1,m,w)}var Gr=m=>{for(var w=0,I=0;I=D?w++:2047>=D?w+=2:55296<=D&&57343>=D?(w+=4,++I):w+=3}return w},Mi=(m,w,I,D)=>{if(I>>>=0,!(0=te){var he=m.charCodeAt(++Z);te=65536+((te&1023)<<10)|he&1023}if(127>=te){if(I>=D)break;w[I++>>>0]=te}else{if(2047>=te){if(I+1>=D)break;w[I++>>>0]=192|te>>6}else{if(65535>=te){if(I+2>=D)break;w[I++>>>0]=224|te>>12}else{if(I+3>=D)break;w[I++>>>0]=240|te>>18,w[I++>>>0]=128|te>>12&63}w[I++>>>0]=128|te>>6&63}w[I++>>>0]=128|te&63}}return w[I>>>0]=0,I-L},ji=(m,w,I)=>Mi(m,u(),w,I);function wr(m,w){if(R)return Ge(6,1,m,w)}function Lr(m,w,I){if(R)return Ge(7,1,m,w,I)}function ar(m,w,I){return R?Ge(8,1,m,w,I):0}function Ui(m,w){if(R)return Ge(9,1,m,w)}function Ot(m,w,I){if(R)return Ge(10,1,m,w,I)}function wt(m,w,I,D){if(R)return Ge(11,1,m,w,I,D)}function Hr(m,w,I,D){if(R)return Ge(12,1,m,w,I,D)}function or(m,w,I,D){if(R)return Ge(13,1,m,w,I,D)}function Fr(m){if(R)return Ge(14,1,m)}function qr(m,w){if(R)return Ge(15,1,m,w)}function Wi(m,w,I){if(R)return Ge(16,1,m,w,I)}var _r=m=>{if(!xe)try{if(m(),!Ze())try{R?kr(Ce):ot(Ce)}catch(w){w instanceof Qt||w==\"unwind\"||A(1,w)}}catch(w){w instanceof Qt||w==\"unwind\"||A(1,w)}};function Kr(m){m>>>=0,typeof Atomics.Nb==\"function\"&&(Atomics.Nb(o(),m>>2,m).value.then($r),m+=128,Atomics.store(o(),m>>2,1))}l.__emscripten_thread_mailbox_await=Kr;function $r(){var m=lr();m&&(Kr(m),_r(()=>li()))}l.checkMailbox=$r;var Zt=m=>m%4===0&&(m%100!==0||m%400===0),Ni=[0,31,60,91,121,152,182,213,244,274,305,335],Yr=[0,31,59,90,120,151,181,212,243,273,304,334];function sr(m,w,I,D,L,Z,te,he){return R?Ge(17,1,m,w,I,D,L,Z,te,he):-52}function Vi(m,w,I,D,L,Z,te){if(R)return Ge(18,1,m,w,I,D,L,Z,te)}var Cr=m=>{var w=Gr(m)+1,I=Ar(w);return I&&ji(m,I,w),I},xr=[],Gi=(m,w)=>{xr.length=0;var I;for(w>>=2;I=u()[m++>>>0];)w+=I!=105&w,xr.push(I==105?o()[w>>>0]:h()[w++>>>1]),++w;return xr},Hn=m=>{var w=Or();return m=m(),dr(w),m};function Ge(m,w){var I=arguments.length-2,D=arguments;return Hn(()=>{for(var L=Pr(8*I),Z=L>>3,te=0;te>>0]=he}return ui(m,I,L,w)})}var Qr=[],zt={},Zr=()=>{if(!Sr){var m={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:x||\"./this.program\"},w;for(w in zt)zt[w]===void 0?delete m[w]:m[w]=zt[w];var I=[];for(w in m)I.push(`${w}=${m[w]}`);Sr=I}return Sr},Sr;function Xr(m,w){if(R)return Ge(19,1,m,w);m>>>=0,w>>>=0;var I=0;return Zr().forEach(function(D,L){var Z=w+I;for(L=c()[m+4*L>>2>>>0]=Z,Z=0;Z>0>>>0]=D.charCodeAt(Z);r()[L>>0>>>0]=0,I+=D.length+1}),0}function Ir(m,w){if(R)return Ge(20,1,m,w);m>>>=0,w>>>=0;var I=Zr();c()[m>>2>>>0]=I.length;var D=0;return I.forEach(function(L){D+=L.length+1}),c()[w>>2>>>0]=D,0}function Jr(m){return R?Ge(21,1,m):52}function Tr(m,w,I,D){return R?Ge(22,1,m,w,I,D):52}function ei(m,w,I,D,L){return R?Ge(23,1,m,w,I,D,L):70}var ti=[null,[],[]];function Li(m,w,I,D){if(R)return Ge(24,1,m,w,I,D);w>>>=0,I>>>=0,D>>>=0;for(var L=0,Z=0;Z>2>>>0],he=c()[w+4>>2>>>0];w+=8;for(var ce=0;ce>>0],fe=ti[m];de===0||de===10?((m===1?le:Ae)(St(fe,0)),fe.length=0):fe.push(de)}L+=he}return c()[D>>2>>>0]=L,0}var ri=[31,29,31,30,31,30,31,31,30,31,30,31],ii=[31,28,31,30,31,30,31,31,30,31,30,31];function Fn(m){var w=Array(Gr(m)+1);return Mi(m,w,0,w.length),w}var Hi=(m,w)=>{r().set(m,w>>>0)};function ni(m,w,I,D){function L(F,ve,Re){for(F=typeof F==\"number\"?F.toString():F||\"\";F.lengthvi?-1:0Dt-F.getDate())ve-=Dt-F.getDate()+1,F.setDate(1),11>Re?F.setMonth(Re+1):(F.setMonth(0),F.setFullYear(F.getFullYear()+1));else{F.setDate(F.getDate()+ve);break}}return Re=new Date(F.getFullYear()+1,0,4),ve=he(new Date(F.getFullYear(),0,4)),Re=he(Re),0>=te(ve,F)?0>=te(Re,F)?F.getFullYear()+1:F.getFullYear():F.getFullYear()-1}m>>>=0,w>>>=0,I>>>=0,D>>>=0;var de=o()[D+40>>2>>>0];D={Kb:o()[D>>2>>>0],Jb:o()[D+4>>2>>>0],cb:o()[D+8>>2>>>0],ib:o()[D+12>>2>>>0],eb:o()[D+16>>2>>>0],$a:o()[D+20>>2>>>0],Wa:o()[D+24>>2>>>0],Za:o()[D+28>>2>>>0],Tb:o()[D+32>>2>>>0],Ib:o()[D+36>>2>>>0],Lb:de?it(de):\"\"},I=it(I),de={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var fe in de)I=I.replace(new RegExp(fe,\"g\"),de[fe]);var ke=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),Be=\"January February March April May June July August September October November December\".split(\" \");de={\"%a\":F=>ke[F.Wa].substring(0,3),\"%A\":F=>ke[F.Wa],\"%b\":F=>Be[F.eb].substring(0,3),\"%B\":F=>Be[F.eb],\"%C\":F=>Z((F.$a+1900)/100|0,2),\"%d\":F=>Z(F.ib,2),\"%e\":F=>L(F.ib,2,\" \"),\"%g\":F=>ce(F).toString().substring(2),\"%G\":F=>ce(F),\"%H\":F=>Z(F.cb,2),\"%I\":F=>(F=F.cb,F==0?F=12:12{for(var ve=0,Re=0;Re<=F.eb-1;ve+=(Zt(F.$a+1900)?ri:ii)[Re++]);return Z(F.ib+ve,3)},\"%m\":F=>Z(F.eb+1,2),\"%M\":F=>Z(F.Jb,2),\"%n\":()=>`\n`,\"%p\":F=>0<=F.cb&&12>F.cb?\"AM\":\"PM\",\"%S\":F=>Z(F.Kb,2),\"%t\":()=>\"\t\",\"%u\":F=>F.Wa||7,\"%U\":F=>Z(Math.floor((F.Za+7-F.Wa)/7),2),\"%V\":F=>{var ve=Math.floor((F.Za+7-(F.Wa+6)%7)/7);if(2>=(F.Wa+371-F.Za-2)%7&&ve++,ve)ve==53&&(Re=(F.Wa+371-F.Za)%7,Re==4||Re==3&&Zt(F.$a)||(ve=1));else{ve=52;var Re=(F.Wa+7-F.Za-1)%7;(Re==4||Re==5&&Zt(F.$a%400-1))&&ve++}return Z(ve,2)},\"%w\":F=>F.Wa,\"%W\":F=>Z(Math.floor((F.Za+7-(F.Wa+6)%7)/7),2),\"%y\":F=>(F.$a+1900).toString().substring(2),\"%Y\":F=>F.$a+1900,\"%z\":F=>{F=F.Ib;var ve=0<=F;return F=Math.abs(F)/60,(ve?\"+\":\"-\")+(\"0000\"+(F/60*100+F%60)).slice(-4)},\"%Z\":F=>F.Lb,\"%%\":()=>\"%\"},I=I.replace(/%%/g,\"\\0\\0\");for(fe in de)I.includes(fe)&&(I=I.replace(new RegExp(fe,\"g\"),de[fe](D)));return I=I.replace(/\\0\\0/g,\"%\"),fe=Fn(I),fe.length>w?0:(Hi(fe,m),fe.length-1)}function Kt(m){try{m()}catch(w){bt(w)}}function qn(m){var w={},I;for(I in m)(function(D){var L=m[D];w[D]=typeof L==\"function\"?function(){pt.push(D);try{return L.apply(null,arguments)}finally{xe||(pt.pop()===D||bt(),_t&&z===1&&pt.length===0&&(z=0,Xe+=1,Kt(mi),typeof Fibers<\"u\"&&Fibers.Ub()))}}:L})(I);return w}var z=0,_t=null,Xt=0,pt=[],ai={},V={},ur=0,N=null,G=[];function Fi(){return new Promise((m,w)=>{N={resolve:m,reject:w}})}function qi(){var m=Ar(65548),w=m+12;c()[m>>2>>>0]=w,c()[m+4>>2>>>0]=w+65536,w=pt[0];var I=ai[w];return I===void 0&&(I=ur++,ai[w]=I,V[I]=w),w=I,o()[m+8>>2>>>0]=w,m}function Ki(){var m=o()[_t+8>>2>>>0];return m=ee[V[m]],--Xe,m()}function Yi(m){if(!xe){if(z===0){var w=!1,I=!1;m((D=0)=>{if(!xe&&(Xt=D,w=!0,I)){z=2,Kt(()=>hi(_t)),typeof Browser<\"u\"&&Browser.hb.sb&&Browser.hb.resume(),D=!1;try{var L=Ki()}catch(he){L=he,D=!0}var Z=!1;if(!_t){var te=N;te&&(N=null,(D?te.reject:te.resolve)(L),Z=!0)}if(D&&!Z)throw L}}),I=!0,w||(z=1,_t=qi(),typeof Browser<\"u\"&&Browser.hb.sb&&Browser.hb.pause(),Kt(()=>fi(_t)))}else z===2?(z=0,Kt(gi),oi(_t),_t=null,G.forEach(D=>_r(D))):bt(`invalid state: ${z}`);return Xt}}function Qi(m){return Yi(w=>{m().then(w)})}ye.gb();var Zi=[null,Nr,mt,Vr,zi,Di,wr,Lr,ar,Ui,Ot,wt,Hr,or,Fr,qr,Wi,sr,Vi,Xr,Ir,Jr,Tr,ei,Li],Xi={r:function(m,w,I){return Qi(async()=>{await l.xb(m,w,I)})},b:function(m,w,I){throw m>>>=0,new Pi(m).gb(w>>>0,I>>>0),Ri=m,Ln++,Ri},O:function(m){si(m>>>0,!k,1,!S,131072,!1),ye.lb()},l:function(m){m>>>=0,R?postMessage({cmd:\"cleanupThread\",thread:m}):ki(m)},I:Bi,i:zi,U:Di,E:wr,G:Lr,V:ar,S:Ui,K:Ot,R:wt,p:Hr,F:or,C:Fr,T:qr,D:Wi,q:()=>!0,A:function(m,w){m>>>=0,m==w>>>0?setTimeout(()=>$r()):R?postMessage({targetThread:m,cmd:\"checkMailbox\"}):(m=ye.Qa[m])&&m.postMessage({cmd:\"checkMailbox\"})},M:function(){return-1},N:Kr,X:function(m){M&&ye.Qa[m>>>0].ref()},u:function(m,w,I){m=w+2097152>>>0<4194305-!!m?(m>>>0)+4294967296*w:NaN,I>>>=0,m=new Date(1e3*m),o()[I>>2>>>0]=m.getUTCSeconds(),o()[I+4>>2>>>0]=m.getUTCMinutes(),o()[I+8>>2>>>0]=m.getUTCHours(),o()[I+12>>2>>>0]=m.getUTCDate(),o()[I+16>>2>>>0]=m.getUTCMonth(),o()[I+20>>2>>>0]=m.getUTCFullYear()-1900,o()[I+24>>2>>>0]=m.getUTCDay(),m=(m.getTime()-Date.UTC(m.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,o()[I+28>>2>>>0]=m},v:function(m,w,I){m=w+2097152>>>0<4194305-!!m?(m>>>0)+4294967296*w:NaN,I>>>=0,m=new Date(1e3*m),o()[I>>2>>>0]=m.getSeconds(),o()[I+4>>2>>>0]=m.getMinutes(),o()[I+8>>2>>>0]=m.getHours(),o()[I+12>>2>>>0]=m.getDate(),o()[I+16>>2>>>0]=m.getMonth(),o()[I+20>>2>>>0]=m.getFullYear()-1900,o()[I+24>>2>>>0]=m.getDay(),w=(Zt(m.getFullYear())?Ni:Yr)[m.getMonth()]+m.getDate()-1|0,o()[I+28>>2>>>0]=w,o()[I+36>>2>>>0]=-(60*m.getTimezoneOffset()),w=new Date(m.getFullYear(),6,1).getTimezoneOffset();var D=new Date(m.getFullYear(),0,1).getTimezoneOffset();m=(w!=D&&m.getTimezoneOffset()==Math.min(D,w))|0,o()[I+32>>2>>>0]=m},w:function(m){m>>>=0;var w=new Date(o()[m+20>>2>>>0]+1900,o()[m+16>>2>>>0],o()[m+12>>2>>>0],o()[m+8>>2>>>0],o()[m+4>>2>>>0],o()[m>>2>>>0],0),I=o()[m+32>>2>>>0],D=w.getTimezoneOffset(),L=new Date(w.getFullYear(),6,1).getTimezoneOffset(),Z=new Date(w.getFullYear(),0,1).getTimezoneOffset(),te=Math.min(Z,L);return 0>I?o()[m+32>>2>>>0]=+(L!=Z&&te==D):0>2>>>0]=w.getDay(),I=(Zt(w.getFullYear())?Ni:Yr)[w.getMonth()]+w.getDate()-1|0,o()[m+28>>2>>>0]=I,o()[m>>2>>>0]=w.getSeconds(),o()[m+4>>2>>>0]=w.getMinutes(),o()[m+8>>2>>>0]=w.getHours(),o()[m+12>>2>>>0]=w.getDate(),o()[m+16>>2>>>0]=w.getMonth(),o()[m+20>>2>>>0]=w.getYear(),m=w.getTime()/1e3,di((qt=m,1<=+Math.abs(qt)?0>>0:~~+Math.ceil((qt-+(~~qt>>>0))/4294967296)>>>0:0)),m>>>0},s:sr,t:Vi,z:function(m,w,I){function D(de){return(de=de.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?de[1]:\"GMT\"}m>>>=0,w>>>=0,I>>>=0;var L=new Date().getFullYear(),Z=new Date(L,0,1),te=new Date(L,6,1);L=Z.getTimezoneOffset();var he=te.getTimezoneOffset(),ce=Math.max(L,he);c()[m>>2>>>0]=60*ce,o()[w>>2>>>0]=+(L!=he),m=D(Z),w=D(te),m=Cr(m),w=Cr(w),he>2>>>0]=m,c()[I+4>>2>>>0]=w):(c()[I>>2>>>0]=w,c()[I+4>>2>>>0]=m)},d:()=>{bt(\"\")},c:function(m,w,I){return m>>>=0,w=Gi(w>>>0,I>>>0),ct[m].apply(null,w)},k:function(m,w,I){return m>>>=0,w=Gi(w>>>0,I>>>0),ct[m].apply(null,w)},m:function(){},j:function(){return Date.now()},W:()=>{throw Xe+=1,\"unwind\"},B:function(){return 4294901760},f:()=>performance.timeOrigin+performance.now(),g:function(){return M?(qu(),Jt(Fu)).cpus().length:navigator.hardwareConcurrency},L:function(m,w,I,D){for(ye.Pb=w>>>0,Qr.length=I,w=D>>>0>>3,D=0;D>>0];return(0>m?ct[-m-1]:Zi[m]).apply(null,Qr)},y:function(m){m>>>=0;var w=u().length;if(m<=w||4294901760=I;I*=2){var D=w*(1+.2/I);D=Math.min(D,m+100663296);var L=Math;D=Math.max(m,D);e:{L=L.min.call(L,4294901760,D+(65536-D%65536)%65536)-Ee.buffer.byteLength+65535>>>16;try{Ee.grow(L),_e();var Z=1;break e}catch{}Z=void 0}if(Z)return!0}return!1},P:Xr,Q:Ir,H:ot,h:Jr,o:Tr,x:ei,n:Li,a:Ee||l.wasmMemory,J:ni,e:function(m,w,I,D){return ni(m>>>0,w>>>0,I>>>0,D>>>0)}};(function(){function m(I,D){return I=I.exports,I=qn(I),ee=I=Ji(I),ye.mb.push(ee.Da),vt.unshift(ee.Y),Ve=D,vr(),I}var w={a:Xi};if(Et(),l.instantiateWasm)try{return l.instantiateWasm(w,m)}catch(I){Ae(\"Module.instantiateWasm callback failed with error: \"+I),$(I)}return Ei(w,function(I){m(I.instance,I.module)}).catch($),{}})(),l._OrtInit=(m,w)=>(l._OrtInit=ee.Z)(m,w),l._OrtGetLastError=(m,w)=>(l._OrtGetLastError=ee._)(m,w),l._OrtCreateSessionOptions=(m,w,I,D,L,Z,te,he,ce,de)=>(l._OrtCreateSessionOptions=ee.$)(m,w,I,D,L,Z,te,he,ce,de),l._OrtAppendExecutionProvider=(m,w)=>(l._OrtAppendExecutionProvider=ee.aa)(m,w),l._OrtAddFreeDimensionOverride=(m,w,I)=>(l._OrtAddFreeDimensionOverride=ee.ba)(m,w,I),l._OrtAddSessionConfigEntry=(m,w,I)=>(l._OrtAddSessionConfigEntry=ee.ca)(m,w,I),l._OrtReleaseSessionOptions=m=>(l._OrtReleaseSessionOptions=ee.da)(m),l._OrtCreateSession=(m,w,I)=>(l._OrtCreateSession=ee.ea)(m,w,I),l._OrtReleaseSession=m=>(l._OrtReleaseSession=ee.fa)(m),l._OrtGetInputOutputCount=(m,w,I)=>(l._OrtGetInputOutputCount=ee.ga)(m,w,I),l._OrtGetInputName=(m,w)=>(l._OrtGetInputName=ee.ha)(m,w),l._OrtGetOutputName=(m,w)=>(l._OrtGetOutputName=ee.ia)(m,w),l._OrtFree=m=>(l._OrtFree=ee.ja)(m),l._OrtCreateTensor=(m,w,I,D,L,Z)=>(l._OrtCreateTensor=ee.ka)(m,w,I,D,L,Z),l._OrtGetTensorData=(m,w,I,D,L)=>(l._OrtGetTensorData=ee.la)(m,w,I,D,L),l._OrtReleaseTensor=m=>(l._OrtReleaseTensor=ee.ma)(m),l._OrtCreateRunOptions=(m,w,I,D)=>(l._OrtCreateRunOptions=ee.na)(m,w,I,D),l._OrtAddRunConfigEntry=(m,w,I)=>(l._OrtAddRunConfigEntry=ee.oa)(m,w,I),l._OrtReleaseRunOptions=m=>(l._OrtReleaseRunOptions=ee.pa)(m),l._OrtCreateBinding=m=>(l._OrtCreateBinding=ee.qa)(m),l._OrtBindInput=(m,w,I)=>(l._OrtBindInput=ee.ra)(m,w,I),l._OrtBindOutput=(m,w,I,D)=>(l._OrtBindOutput=ee.sa)(m,w,I,D),l._OrtClearBoundOutputs=m=>(l._OrtClearBoundOutputs=ee.ta)(m),l._OrtReleaseBinding=m=>(l._OrtReleaseBinding=ee.ua)(m),l._OrtRunWithBinding=(m,w,I,D,L)=>(l._OrtRunWithBinding=ee.va)(m,w,I,D,L),l._OrtRun=(m,w,I,D,L,Z,te,he)=>(l._OrtRun=ee.wa)(m,w,I,D,L,Z,te,he),l._OrtEndProfiling=m=>(l._OrtEndProfiling=ee.xa)(m),l._JsepOutput=(m,w,I)=>(l._JsepOutput=ee.ya)(m,w,I),l._JsepGetNodeName=m=>(l._JsepGetNodeName=ee.za)(m);var lr=l._pthread_self=()=>(lr=l._pthread_self=ee.Aa)(),Ar=l._malloc=m=>(Ar=l._malloc=ee.Ba)(m),oi=l._free=m=>(oi=l._free=ee.Ca)(m);l.__emscripten_tls_init=()=>(l.__emscripten_tls_init=ee.Da)();var si=l.__emscripten_thread_init=(m,w,I,D,L,Z)=>(si=l.__emscripten_thread_init=ee.Fa)(m,w,I,D,L,Z);l.__emscripten_thread_crashed=()=>(l.__emscripten_thread_crashed=ee.Ga)();var ui=(m,w,I,D)=>(ui=ee.Ha)(m,w,I,D),Er=m=>(Er=ee.Ia)(m),kr=l.__emscripten_thread_exit=m=>(kr=l.__emscripten_thread_exit=ee.Ja)(m),li=l.__emscripten_check_mailbox=()=>(li=l.__emscripten_check_mailbox=ee.Ka)(),di=m=>(di=ee.La)(m),ci=(m,w)=>(ci=ee.Ma)(m,w),Or=()=>(Or=ee.Na)(),dr=m=>(dr=ee.Oa)(m),Pr=m=>(Pr=ee.Pa)(m),pi=l.dynCall_ii=(m,w)=>(pi=l.dynCall_ii=ee.Ra)(m,w),fi=m=>(fi=ee.Sa)(m),mi=()=>(mi=ee.Ta)(),hi=m=>(hi=ee.Ua)(m),gi=()=>(gi=ee.Va)();l.___start_em_js=923047,l.___stop_em_js=923208;function Ji(m){m=Object.assign({},m);var w=D=>()=>D()>>>0,I=D=>L=>D(L)>>>0;return m.__errno_location=w(m.__errno_location),m.pthread_self=w(m.pthread_self),m.malloc=I(m.malloc),m.stackSave=w(m.stackSave),m.stackAlloc=I(m.stackAlloc),m}l.keepRuntimeAlive=Ze,l.wasmMemory=Ee,l.stackAlloc=Pr,l.stackSave=Or,l.stackRestore=dr,l.UTF8ToString=it,l.stringToUTF8=ji,l.lengthBytesUTF8=Gr,l.ExitStatus=Qt,l.PThread=ye;var cr;xt=function m(){cr||yi(),cr||(xt=m)};function yi(){function m(){if(!cr&&(cr=!0,l.calledRun=!0,!xe)&&(R||tt(vt),v(l),l.onRuntimeInitialized&&l.onRuntimeInitialized(),!R)){if(l.postRun)for(typeof l.postRun==\"function\"&&(l.postRun=[l.postRun]);l.postRun.length;){var w=l.postRun.shift();Yt.unshift(w)}tt(Yt)}}if(!(0Ku)});var Zu=Rr((mb,$g)=>{$g.exports='\"use strict\";var Module={},ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\"),parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",e=>onmessage({data:e}));var fs=require(\"fs\");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>(0,eval)(fs.readFileSync(e,\"utf8\")+\"//# sourceURL=\"+e),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,e+`\\n`);return}console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var a=Module.wasmModule;Module.wasmModule=null;var r=new WebAssembly.Instance(a,e);return t(r)},self.onunhandledrejection=e=>{throw e.reason??e};function handleMessage(e){try{if(e.data.cmd===\"load\"){let a=[];self.onmessage=r=>a.push(r),self.startWorker=r=>{Module=r,postMessage({cmd:\"loaded\"});for(let s of a)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...s)=>{postMessage({cmd:\"callHandler\",handler:r,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob==\"string\")importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}ortWasmThreaded(Module)}else if(e.data.cmd===\"run\"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(a){if(a!=\"unwind\")throw a}}else e.data.cmd===\"cancel\"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target===\"setimmediate\"||(e.data.cmd===\"checkMailbox\"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(\"worker.js received unknown command \"+e.data.cmd),err(e.data)))}catch(a){throw Module.__emscripten_thread_crashed&&Module.__emscripten_thread_crashed(),a}}self.onmessage=handleMessage;\\n'});var Ju,Cg,sa,ua,pn,Xu,xg,Sg,Ig,el,Qe,zr=ne(()=>{\"use strict\";Ju=Gu();Cg=Qu(),ua=!1,pn=!1,Xu=!1,xg=e=>{if(e===1)return!1;if(typeof SharedArrayBuffer>\"u\")return typeof self<\"u\"&&!self.crossOriginIsolated&&console.warn(\"env.wasm.numThreads is set to \"+e+\", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.\"),!1;typeof process<\"u\"&&process.versions&&process.versions.node&&console.warn(\"env.wasm.numThreads is set to \"+e+\", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.\");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}},Sg=()=>{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}},Ig=(e,t)=>e?t?\"ort-wasm-simd-threaded.wasm\":\"ort-wasm-simd.wasm\":t?\"ort-wasm-threaded.wasm\":\"ort-wasm.wasm\",el=async e=>{if(ua)return Promise.resolve();if(pn)throw new Error(\"multiple calls to 'initializeWebAssembly()' detected.\");if(Xu)throw new Error(\"previous call to 'initializeWebAssembly()' failed.\");pn=!0;let t=e.initTimeout,r=e.numThreads,u=e.simd,o=xg(r),c=u&&Sg(),p=e.wasmPaths,h=typeof p==\"string\"?p:void 0,l=Ig(c,o),v=typeof p==\"object\"?p[l]:void 0,$=!1,_=[];if(t>0&&_.push(new Promise(x=>{setTimeout(()=>{$=!0,x()},t)})),_.push(new Promise((x,A)=>{let S=o?Cg:Ju,k={locateFile:(M,R)=>{if(o&&M.endsWith(\".worker.js\")&&typeof Blob<\"u\")return URL.createObjectURL(new Blob([Zu()],{type:\"text/javascript\"}));if(M.endsWith(\".wasm\")){if(v)return v;let P=h??R;return l===\"ort-wasm-simd.wasm\"?P+\"ort-wasm-simd.jsep.wasm\":l===\"ort-wasm-simd-threaded.wasm\"?P+\"ort-wasm-simd-threaded.jsep.wasm\":P+l}return R+M}};if(o)if(k.numThreads=r,typeof Blob>\"u\")k.mainScriptUrlOrBlob=(void 0)(__dirname,\"ort-wasm-threaded.js\");else{let M=`var ortWasmThreaded=${S.toString()};`;k.mainScriptUrlOrBlob=new Blob([M],{type:\"text/javascript\"})}S(k).then(M=>{pn=!1,ua=!0,sa=M,x()},M=>{pn=!1,Xu=!0,A(M)})})),await Promise.race(_),$)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},Qe=()=>{if(ua&&sa)return sa;throw new Error(\"WebAssembly is not initialized yet.\")}});var Ke,wi,He,fn=ne(()=>{\"use strict\";zr();Ke=(e,t)=>{let r=Qe(),u=r.lengthBytesUTF8(e)+1,o=r._malloc(u);return r.stringToUTF8(e,o,u),t.push(o),o},wi=(e,t,r,u)=>{if(typeof e==\"object\"&&e!==null){if(r.has(e))throw new Error(\"Circular reference in options\");r.add(e)}Object.entries(e).forEach(([o,c])=>{let p=t?t+o:o;if(typeof c==\"object\")wi(c,p+\".\",r,u);else if(typeof c==\"string\"||typeof c==\"number\")u(p,c.toString());else if(typeof c==\"boolean\")u(p,c?\"1\":\"0\");else throw new Error(`Can't handle extra config type: ${typeof c}`)})},He=e=>{let t=Qe(),r=t.stackSave();try{let u=t.stackAlloc(8);t._OrtGetLastError(u,u+4);let o=t.HEAP32[u/4],c=t.HEAPU32[u/4+1],p=c?t.UTF8ToString(c):\"\";throw new Error(`${e} ERROR_CODE: ${o}, ERROR_MESSAGE: ${p}`)}finally{t.stackRestore(r)}}});var tl,rl=ne(()=>{\"use strict\";zr();fn();tl=e=>{let t=Qe(),r=0,u=[],o=e||{};try{if(e?.logSeverityLevel===void 0)o.logSeverityLevel=2;else if(typeof e.logSeverityLevel!=\"number\"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)o.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!=\"number\"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(o.terminate=!1);let c=0;return e?.tag!==void 0&&(c=Ke(e.tag,u)),r=t._OrtCreateRunOptions(o.logSeverityLevel,o.logVerbosityLevel,!!o.terminate,c),r===0&&He(\"Can't create run options.\"),e?.extra!==void 0&&wi(e.extra,\"\",new WeakSet,(p,h)=>{let l=Ke(p,u),v=Ke(h,u);t._OrtAddRunConfigEntry(r,l,v)!==0&&He(`Can't set a run config entry: ${p} - ${h}.`)}),[r,u]}catch(c){throw r!==0&&t._OrtReleaseRunOptions(r),u.forEach(p=>t._free(p)),c}}});var Tg,Ag,Eg,kg,il,nl=ne(()=>{\"use strict\";zr();fn();Tg=e=>{switch(e){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Ag=e=>{switch(e){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Eg=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly=\"1\"),e.executionProviders&&e.executionProviders.some(r=>(typeof r==\"string\"?r:r.name)===\"webgpu\")&&(e.enableMemPattern=!1)},kg=(e,t,r)=>{for(let u of t){let o=typeof u==\"string\"?u:u.name;switch(o){case\"webnn\":if(o=\"WEBNN\",typeof u!=\"string\"){let p=u;if(p?.deviceType){let h=Ke(\"deviceType\",r),l=Ke(p.deviceType,r);Qe()._OrtAddSessionConfigEntry(e,h,l)!==0&&He(`Can't set a session config entry: 'deviceType' - ${p.deviceType}.`)}if(p?.numThreads){let h=p.numThreads;(typeof h!=\"number\"||!Number.isInteger(h)||h<0)&&(h=0);let l=Ke(\"numThreads\",r),v=Ke(h.toString(),r);Qe()._OrtAddSessionConfigEntry(e,l,v)!==0&&He(`Can't set a session config entry: 'numThreads' - ${p.numThreads}.`)}if(p?.powerPreference){let h=Ke(\"powerPreference\",r),l=Ke(p.powerPreference,r);Qe()._OrtAddSessionConfigEntry(e,h,l)!==0&&He(`Can't set a session config entry: 'powerPreference' - ${p.powerPreference}.`)}}break;case\"webgpu\":if(o=\"JS\",typeof u!=\"string\"){let p=u;if(p?.preferredLayout){if(p.preferredLayout!==\"NCHW\"&&p.preferredLayout!==\"NHWC\")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${p.preferredLayout}`);let h=Ke(\"preferredLayout\",r),l=Ke(p.preferredLayout,r);Qe()._OrtAddSessionConfigEntry(e,h,l)!==0&&He(`Can't set a session config entry: 'preferredLayout' - ${p.preferredLayout}.`)}}break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported execution provider: ${o}`)}let c=Ke(o,r);Qe()._OrtAppendExecutionProvider(e,c)!==0&&He(`Can't append execution provider: ${o}.`)}},il=e=>{let t=Qe(),r=0,u=[],o=e||{};Eg(o);try{let c=Tg(o.graphOptimizationLevel??\"all\"),p=Ag(o.executionMode??\"sequential\"),h=typeof o.logId==\"string\"?Ke(o.logId,u):0,l=o.logSeverityLevel??2;if(!Number.isInteger(l)||l<0||l>4)throw new Error(`log serverity level is not valid: ${l}`);let v=o.logVerbosityLevel??0;if(!Number.isInteger(v)||v<0||v>4)throw new Error(`log verbosity level is not valid: ${v}`);let $=typeof o.optimizedModelFilePath==\"string\"?Ke(o.optimizedModelFilePath,u):0;if(r=t._OrtCreateSessionOptions(c,!!o.enableCpuMemArena,!!o.enableMemPattern,p,!!o.enableProfiling,0,h,l,v,$),r===0&&He(\"Can't create session options.\"),o.executionProviders&&kg(r,o.executionProviders,u),o.enableGraphCapture!==void 0){if(typeof o.enableGraphCapture!=\"boolean\")throw new Error(`enableGraphCapture must be a boolean value: ${o.enableGraphCapture}`);let _=Ke(\"enableGraphCapture\",u),x=Ke(o.enableGraphCapture.toString(),u);t._OrtAddSessionConfigEntry(r,_,x)!==0&&He(`Can't set a session config entry: 'enableGraphCapture' - ${o.enableGraphCapture}.`)}if(o.freeDimensionOverrides)for(let[_,x]of Object.entries(o.freeDimensionOverrides)){if(typeof _!=\"string\")throw new Error(`free dimension override name must be a string: ${_}`);if(typeof x!=\"number\"||!Number.isInteger(x)||x<0)throw new Error(`free dimension override value must be a non-negative integer: ${x}`);let A=Ke(_,u);t._OrtAddFreeDimensionOverride(r,A,x)!==0&&He(`Can't set a free dimension override: ${_} - ${x}.`)}return o.extra!==void 0&&wi(o.extra,\"\",new WeakSet,(_,x)=>{let A=Ke(_,u),S=Ke(x,u);t._OrtAddSessionConfigEntry(r,A,S)!==0&&He(`Can't set a session config entry: ${_} - ${x}.`)}),[r,u]}catch(c){throw r!==0&&t._OrtReleaseSessionOptions(r),u.forEach(p=>t._free(p)),c}}});var la,er,_i,mn,$i,hn,da,$e=ne(()=>{\"use strict\";la=e=>{switch(e){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;default:throw new Error(`unsupported data type: ${e}`)}},er=e=>{switch(e){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\";default:throw new Error(`unsupported data type: ${e}`)}},_i=e=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][e],mn=e=>{switch(e){case\"float16\":return typeof Float16Array<\"u\"&&Float16Array.from?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: ${e}`)}},$i=e=>{switch(e){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: ${e}`)}},hn=e=>e===\"float32\"||e===\"float16\"||e===\"int32\"||e===\"int64\"||e===\"uint32\"||e===\"uint8\"||e===\"bool\",da=e=>{switch(e){case\"none\":return 0;case\"cpu\":return 1;case\"cpu-pinned\":return 2;case\"texture\":return 3;case\"gpu-buffer\":return 4;default:throw new Error(`unsupported data location: ${e}`)}}});var Ci,ca=ne(()=>{\"use strict\";Ci=async e=>{if(typeof e==\"string\")if(typeof process<\"u\"&&process.versions&&process.versions.node)try{return new Uint8Array(await(void 0)(e))}catch(t){if(t.code===\"ERR_FS_FILE_TOO_LARGE\"){let r=(void 0)(e),u=[];for await(let o of r)u.push(o);return new Uint8Array(Buffer.concat(u))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let r=t.headers.get(\"Content-Length\"),u=r?parseInt(r,10):0;if(u<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let o=t.body.getReader(),c;try{c=new ArrayBuffer(u)}catch(h){if(h instanceof RangeError){let l=Math.ceil(u/65536);c=new WebAssembly.Memory({initial:l,maximum:l}).buffer}else throw h}let p=0;for(;;){let{done:h,value:l}=await o.read();if(h)break;let v=l.byteLength;new Uint8Array(c,p,v).set(l),p+=v}return new Uint8Array(c,0,u)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var Og,Pg,al,ol,sl,Rg,Fe,tr=ne(()=>{\"use strict\";$e();Og=[\"V\",\"I\",\"W\",\"E\",\"F\"],Pg=(e,t)=>{console.log(`[${Og[e]},${new Date().toISOString()}]${t}`)},sl=(e,t)=>{al=e,ol=t},Rg=(e,t)=>{let r=$i(e),u=$i(al);r>=u&&Pg(r,typeof t==\"function\"?t():t)},Fe=(...e)=>{ol&&Rg(...e)}});var ul,ll=ne(()=>{\"use strict\";$e();ul=(e,t)=>new(mn(t))(e)});var gn=ne(()=>{\"use strict\"});var yn,Bg,dl,fa,pa,pl,fl=ne(()=>{\"use strict\";tr();gn();yn=e=>Math.ceil(e/16)*16,Bg=1,dl=()=>Bg++,fa=async(e,t,r,u)=>{let o=yn(r),c=e.device.createBuffer({size:o,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let p=e.getCommandEncoder();e.endComputePass(),p.copyBufferToBuffer(t,0,c,0,o),e.flush(),await c.mapAsync(GPUMapMode.READ);let h=c.getMappedRange();if(u){let l=u();return l.set(new Uint8Array(h,0,r)),l}else return new Uint8Array(h.slice(0,r))}finally{c.destroy()}},pa=class{constructor(t){this.backend=t;this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersForUploadingPending=[],this.buffersPending=[],this.externalBuffers=new Map,this.capturedPendingBuffers=new Map}upload(t,r){let u=r.buffer,o=r.byteOffset,c=r.byteLength,p=yn(c),h=this.storageCache.get(t);if(!h)throw new Error(\"gpu data for uploading does not exist\");if(h.originalSize!==c)throw new Error(`inconsistent data size. gpu data size=${h.originalSize}, data size=${c}`);let l=this.backend.device.createBuffer({mappedAtCreation:!0,size:p,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC}),v=l.getMappedRange();new Uint8Array(v).set(new Uint8Array(u,o,c)),l.unmap();let $=this.backend.getCommandEncoder();this.backend.endComputePass(),$.copyBufferToBuffer(l,0,h.gpuData.buffer,0,p),Fe(\"verbose\",()=>`[WebGPU] GpuDataManager.upload(id=${t})`),this.buffersForUploadingPending.push(l)}memcpy(t,r){let u=this.storageCache.get(t);if(!u)throw new Error(\"source gpu data for memcpy does not exist\");let o=this.storageCache.get(r);if(!o)throw new Error(\"destination gpu data for memcpy does not exist\");if(u.originalSize!==o.originalSize)throw new Error(\"inconsistent source and destination gpu data size\");let c=yn(u.originalSize),p=this.backend.getCommandEncoder();this.backend.endComputePass(),p.copyBufferToBuffer(u.gpuData.buffer,0,o.gpuData.buffer,0,c)}registerExternalBuffer(t,r,u){let o;if(u){if(o=this.externalBuffers.get(u),o===void 0)throw new Error(\"previous buffer is not registered\");if(t===u)return Fe(\"verbose\",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${r}) => id=${o}, buffer is the same, skip.`),o;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw new Error(`Registering a different external buffer under graph capture mode is not supported yet.\n Please use the previous external buffer!`);this.externalBuffers.delete(u)}else o=dl();return this.storageCache.set(o,{gpuData:{id:o,type:0,buffer:t},originalSize:r}),this.externalBuffers.set(t,o),Fe(\"verbose\",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${r}) => id=${o}, registered.`),o}unregisterExternalBuffer(t){let r=this.externalBuffers.get(t);r!==void 0&&(this.storageCache.delete(r),this.externalBuffers.delete(t),Fe(\"verbose\",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${r}`))}create(t,r=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST){let u=yn(t),o,c=(r&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,p=(r&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM;if(c||p){let l=c?this.freeBuffers:this.freeUniformBuffers,v=l.get(u);v||(v=[],l.set(u,v)),v.length>0?o=v.pop():o=this.backend.device.createBuffer({size:u,usage:r})}else o=this.backend.device.createBuffer({size:u,usage:r});let h={id:dl(),type:0,buffer:o};return this.storageCache.set(h.id,{gpuData:h,originalSize:t}),Fe(\"verbose\",()=>`[WebGPU] GpuDataManager.create(size=${t}) => id=${h.id}`),h}get(t){return this.storageCache.get(t)?.gpuData}release(t){let r=this.storageCache.get(t);if(!r)throw new Error(\"releasing data does not exist\");return Fe(\"verbose\",()=>`[WebGPU] GpuDataManager.release(id=${t}), gpuDataId=${r.gpuData.id}`),this.storageCache.delete(t),this.buffersPending.push(r.gpuData.buffer),r.originalSize}async download(t,r){let u=this.storageCache.get(t);if(!u)throw new Error(\"data does not exist\");await fa(this.backend,u.gpuData.buffer,u.originalSize,r)}refreshPendingBuffers(){for(let t of this.buffersForUploadingPending)t.destroy();if(this.buffersForUploadingPending=[],this.buffersPending.length!==0)if(this.backend.sessionStatus===\"default\"){for(let t of this.buffersPending)(t.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE?this.freeBuffers.get(t.size).push(t):(t.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM?this.freeUniformBuffers.get(t.size).push(t):t.destroy();this.buffersPending=[]}else{let t=this.capturedPendingBuffers.get(this.backend.currentSessionId);t||(t=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,t));for(let r of this.buffersPending)t.push(r);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(t=>{t.forEach(r=>{r.destroy()})}),this.freeUniformBuffers.forEach(t=>{t.forEach(r=>{r.destroy()})}),this.storageCache.forEach(t=>{t.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(t=>{t.forEach(r=>{r.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onReleaseSession(t){let r=this.capturedPendingBuffers.get(t);r&&(r.forEach(u=>{u.destroy()}),this.capturedPendingBuffers.delete(t))}},pl=(...e)=>new pa(...e)});var ma,Oe,nt=ne(()=>{\"use strict\";ma=class{constructor(t){Object.assign(this,t)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(t=>`${this[t]}`).join(\";\")),this.key}},Oe=e=>new ma(e)});var ha,Mt,Q,hr,vn,bn,wn,Pe=ne(()=>{\"use strict\";ha=class{static calcMatMulShape(t,r){return t[1]!==r[0]?void 0:[t[0],r[1]]}},Mt=class{static calcShape(t,r,u=!1){let o=t.length,c=r.length;if(o===0)return r;if(c===0)return t;let p=Math.max(t.length,r.length),h=new Array(p);if(u){if(o<2||c<2)return;let l=ha.calcMatMulShape([t[o-2],t[o-1]],[r[c-2],r[c-1]]);if(l===void 0)return;[h[p-2],h[p-1]]=l}for(let l=u?3:1;l<=p;l++){let v=o-l<0?1:t[o-l],$=c-l<0?1:r[c-l];if(v!==$&&v>1&&$>1)return;let _=Math.max(v,$);if(v&&$)h[p-l]=Math.max(v,$);else{if(_>1)return;h[p-l]=0}}return h}static isValidBroadcast(t,r){let u=t.length,o=r.length;if(u>o)return!1;for(let c=1;c<=u;c++)if(t[u-c]!==1&&t[u-c]!==r[o-c])return!1;return!0}},Q=class e{static size(t){return e.getSizeFromDimensionRange(t,0,t.length)}static convertShape(t,r=4){let u=t.length;if(u===0)return[];let o=new Array(u),c=u-1;for(;c>=0;){if(t[c]%r===0){o[c]=t[c]/r;break}if(r%t[c]!==0)throw new Error(\"cannot convert shape\");o[c]=1,r/=t[c],c--}for(c--;c>=0;c--)o[c]=t[c];return o}static sizeFromDimension(t,r){if(r<0||r>t.length)throw new Error(`invalid dimension of ${r} for sizeFromDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,r,t.length)}static sizeToDimension(t,r){if(r<0||r>t.length)throw new Error(`invalid dimension of ${r} for sizeToDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,0,r)}static getSizeFromDimensionRange(t,r,u){let o=1;for(let c=r;c=0;--o)u[o]=u[o+1]*t[o+1];return u}static normalizeAxis(t,r){if(t<-r&&t>=r)throw new Error(\"unsupported axis for this operation.\");return t<0?t+r:t}static normalizeAxes(t,r){return t.map(u=>this.normalizeAxis(u,r??t.length))}static sortBasedOnPerm(t,r){return r?r.map(u=>t[u]):t.slice().reverse()}static padShape(t,r){let u=t.length;return t.map((o,c)=>o+r[c]+r[c+u])}static areEqual(t,r){return t.length!==r.length?!1:t.every((u,o)=>u===r[o])}},hr=class e{static adjustPoolAttributes(t,r,u,o,c,p){if(!t&&u.length!==r.length-2)throw new Error(\"length of specified kernel shapes should be 2 less than length of input dimensions\");if(t)for(let h=0;h=u.length?u.push(r[h+2]):u[h]=r[h+2];for(let h=0;h=u[h]||p[h+u.length]>=u[h])throw new Error(\"pads should be smaller than kernel\")}}static adjustPadsBasedOnAutoPad(t,r,u,o,c,p,h){if(h){if(c.length!==2*(t.length-2))throw new Error(\"length of pads should be twice the length of data dimensions\");if(r.length!==t.length-2)throw new Error(\"length of strides should be the length of data dimensions\");if(o.length!==t.length-2)throw new Error(\"length of kernel shapes should be the length of data dimensions\");for(let l=0;l{\"use strict\";$e();Pe();_n=64,ya=(e,t)=>{if(t===3)throw new Error(\"vec3 has same alignment as vec4, use vec4 instead\");switch(e){case 10:return t>1?`vec${t}`:\"f16\";case 1:return t>1?`vec${t}`:\"f32\";case 6:return t>1?`vec${t}`:\"i32\";case 12:return t>1?`vec${t}`:\"u32\";case 7:if(t>1)throw new Error(\"currently not supported vecX of uint64 yet\");return[\"vec2\",\"i32\"];case 13:if(t>1)throw new Error(\"currently not supported vecX of uint64 yet\");return[\"vec2\",\"u32\"];case 9:if(t!==4)throw new Error(\"bool must be vec4\");return[\"u32\",\"vec4\"];default:throw new Error(`Unknown data type: ${e}`)}},Ne=(e,t=1)=>{let r=ya(e,t);return typeof r==\"string\"?r:r[0]},gt=(e,t=1)=>{let r=ya(e,t);return typeof r==\"string\"?r:r[1]},se=(...e)=>{let t=[];return e.forEach(r=>{r.length!==0&&t.push({type:12,data:r},{type:12,data:Q.computeStrides(r)})}),t},et=e=>e%4===0?4:e%2===0?2:1,ut=(e=\"f32\",t,r=\"0\")=>!t||t===1?`${e}(${r})`:`vec${t}<${e}>(${r})`,Rt=(e,t,r)=>e===\"f32\"?r:t===1?`f32(${r})`:`vec${t}f(${r})`,yt=(e,t)=>t===4?`(${e}.x + ${e}.y + ${e}.z + ${e}.w)`:t===2?`(${e}.x + ${e}.y)`:t===3?`(${e}.x + ${e}.y + ${e}.z)`:e,we=(e,t,r,u)=>e.startsWith(\"uniforms.\")&&r>4?typeof t==\"string\"?u===\"f16\"?`${e}[(${t}) / 8][(${t}) % 8 / 4][(${t}) % 8 % 4]`:`${e}[(${t}) / 4][(${t}) % 4]`:u===\"f16\"?`${e}[${Math.floor(t/8)}][${Math.floor(t%8/4)}][${t%8%4}]`:`${e}[${Math.floor(t/4)}][${t%4}]`:r>1?`${e}[${t}]`:e,va=(e,t,r,u,o)=>{let c=typeof r==\"number\",p=c?r:r.length,h=[...new Array(p).keys()],l=p<2?\"u32\":p<=4?`vec${p}`:`array`,v=ya(t,o),$=typeof v==\"string\"?v:v[1],_=typeof v==\"string\"?v:v[0],x={indices:l,value:$,storage:_,tensor:t},A=re=>typeof re==\"string\"?re:`${re}u`,S={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},k=c?\"uniforms.\":\"\",M=`${k}${e}_shape`,R=`${k}${e}_strides`,P=\"\";for(let re=0;re ${x.indices} {\n var indices: ${x.indices};\n var current = offset;\n ${P}\n return indices;\n }`,U=re=>(S.offsetToIndices=!0,p<2?re:`o2i_${e}(${re})`),q=[];if(p>=2)for(let re=p-1;re>=0;re--)q.push(`${we(R,re,p)} * (indices[${re}])`);let Y=p<2?\"\":`\n fn i2o_${e}(indices: ${x.indices}) -> u32 {\n return ${q.join(\"+\")};\n }`,J=re=>(S.indicesToOffset=!0,p<2?re:`i2o_${e}(${re})`),oe=(...re)=>p===0?\"0u\":`${x.indices}(${re.map(A).join(\",\")})`,ge=(re,pe)=>p<2?`${re}`:`${we(re,pe,p)}`,H=(re,pe,_e)=>p<2?`${re}=${_e};`:`${we(re,pe,p)}=${_e};`,le={},Ae=(re,pe)=>{S.broadcastedIndicesToOffset=!0;let _e=`${pe.name}broadcastedIndicesTo${e}Offset`;if(_e in le)return`${_e}(${re})`;let at=[];for(let rt=p-1;rt>=0;rt--){let vt=pe.indicesGet(\"outputIndices\",rt+pe.rank-p);at.push(`${ge(R,rt)} * (${vt} % ${ge(M,rt)})`)}return le[_e]=`fn ${_e}(outputIndices: ${pe.type.indices}) -> u32 {\n return ${at.length>0?at.join(\"+\"):\"0u\"};\n }`,`${_e}(${re})`},Ue=(re,pe)=>(()=>{if(x.storage===x.value)return`${e}[${re}]=${pe};`;if(x.storage===\"vec2\"&&x.value===\"i32\")return`${e}[${re}]=vec2(u32(${pe}), select(0u, 0xFFFFFFFFu, ${pe} < 0));`;if(x.storage===\"vec2\"&&x.value===\"u32\")return`${e}[${re}]=vec2(u32(${pe}), 0u);`;if(x.storage===\"u32\"&&x.value===\"vec4\")return`${e}[${re}]=dot(vec4(0x1, 0x100, 0x10000, 0x1000000), vec4(${pe}));`;throw new Error(`not supported combination of storage type ${x.storage} and value type ${x.value} yet`)})(),We=re=>(()=>{if(x.storage===x.value)return`${e}[${re}]`;if(x.storage===\"vec2\"&&x.value===\"i32\")return`i32(${e}[${re}].x)`;if(x.storage===\"vec2\"&&x.value===\"u32\")return`u32(${e}[${re}].x)`;if(x.storage===\"u32\"&&x.value===\"vec4\")return`vec4(bool(${e}[${re}] & 0xFFu), bool(${e}[${re}] & 0xFF00u), bool(${e}[${re}] & 0xFF0000u), bool(${e}[${re}] & 0xFF000000u))`;throw new Error(`not supported combination of storage type ${x.storage} and value type ${x.value} yet`)})(),Ee=p<2?\"\":`\n fn get_${e}ByIndices(indices: ${x.indices}) -> ${$} {\n return ${We(`i2o_${e}(indices)`)};\n }`,ee=p<2?\"\":(()=>{let re=h.map(_e=>`d${_e}: u32`).join(\", \"),pe=h.map(_e=>`d${_e}`).join(\", \");return`\n fn get_${e}(${re}) -> ${$} {\n return get_${e}ByIndices(${oe(pe)});\n }`})(),Ve=(...re)=>{if(re.length!==p)throw new Error(`indices length must be ${p}`);let pe=re.map(A).join(\",\");return p===0?We(\"0u\"):p===1?We(pe[0]):(S.get=!0,S.getByIndices=!0,S.indicesToOffset=!0,`get_${e}(${pe})`)},xe=re=>p<2?We(re):(S.getByIndices=!0,S.indicesToOffset=!0,`get_${e}ByIndices(${re})`),Ce=p<2?\"\":`\n fn set_${e}ByIndices(indices: ${x.indices}, value: ${$}) {\n ${Ue(`i2o_${e}(indices)`,\"value\")}\n }`,be=p<2?\"\":(()=>{let re=h.map(_e=>`d${_e}: u32`).join(\", \"),pe=h.map(_e=>`d${_e}`).join(\", \");return`\n fn set_${e}(${re}, value: ${$}) {\n set_${e}ByIndices(${oe(pe)}, value);\n }`})();return{impl:()=>{let re=[],pe=!1;return S.offsetToIndices&&(re.push(W),pe=!0),S.indicesToOffset&&(re.push(Y),pe=!0),S.broadcastedIndicesToOffset&&(Object.values(le).forEach(_e=>re.push(_e)),pe=!0),S.set&&(re.push(be),pe=!0),S.setByIndices&&(re.push(Ce),pe=!0),S.get&&(re.push(ee),pe=!0),S.getByIndices&&(re.push(Ee),pe=!0),!c&&pe&&re.unshift(`const ${M} = ${x.indices}(${r.join(\",\")});`,`const ${R} = ${x.indices}(${Q.computeStrides(r).join(\",\")});`),re.join(`\n`)},type:x,offsetToIndices:U,indicesToOffset:J,broadcastedIndicesToOffset:Ae,indices:oe,indicesGet:ge,indicesSet:H,set:(...re)=>{if(re.length!==p+1)throw new Error(`indices length must be ${p}`);let pe=re[p];if(typeof pe!=\"string\")throw new Error(\"value must be string\");let _e=re.slice(0,p).map(A).join(\",\");return p===0?Ue(\"0u\",pe):p===1?Ue(_e[0],pe):(S.set=!0,S.setByIndices=!0,S.indicesToOffset=!0,`set_${e}(${_e}, ${pe})`)},setByOffset:Ue,setByIndices:(re,pe)=>p<2?Ue(re,pe):(S.setByIndices=!0,S.indicesToOffset=!0,`set_${e}ByIndices(${re}, ${pe});`),get:Ve,getByOffset:We,getByIndices:xe,usage:u,name:e,strides:R,shape:M,rank:p}},X=(e,t,r,u=1)=>va(e,t,r,\"input\",u),ae=(e,t,r,u=1)=>va(e,t,r,\"output\",u),$n=(e,t,r,u=1)=>va(e,t,r,\"internal\",u),ga=class{constructor(t){this.normalizedDispatchGroup=t;this.internalVariables=[];this.variables=[];this.uniforms=[];this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(t){return`if (global_idx >= ${typeof t==\"number\"?`${t}u`:t}) { return; }`}mainStart(t=_n){let r=typeof t==\"number\"?t:t[0],u=typeof t==\"number\"?1:t[1],o=typeof t==\"number\"?1:t[2],c=this.normalizedDispatchGroup[1]===1&&this.normalizedDispatchGroup[2]===1,p=c?`@builtin(global_invocation_id) global_id : vec3,\n @builtin(workgroup_id) workgroup_id : vec3,\n @builtin(local_invocation_id) local_id : vec3`:`@builtin(local_invocation_id) local_id : vec3,\n @builtin(local_invocation_index) local_idx : u32,\n @builtin(workgroup_id) workgroup_id : vec3,\n @builtin(num_workgroups) num_workgroups : vec3`,h=c?\"let global_idx = global_id.x; let local_idx = local_id.x;\":`let global_idx = (workgroup_id.z * num_workgroups[0] * num_workgroups[1] +\n workgroup_id.y * num_workgroups[0] + workgroup_id.x) * ${r*u*o}u + local_idx;`;return`@compute @workgroup_size(${r}, ${u}, ${o})\n fn main(${p}) {\n ${h}\n `}appendVariableUniforms(t){t.rank!==0&&(t.shape.startsWith(\"uniforms.\")&&this.uniforms.push({name:t.shape.replace(\"uniforms.\",\"\"),type:\"u32\",length:t.rank}),t.strides.startsWith(\"uniforms.\")&&this.uniforms.push({name:t.strides.replace(\"uniforms.\",\"\"),type:\"u32\",length:t.rank}))}declareVariable(t,r){if(t.usage===\"internal\")throw new Error(\"cannot use internal variable with declareVariable(). use registerInternalVariables() instead.\");this.variables.push(t),this.appendVariableUniforms(t);let u=t.usage===\"input\"?\"read\":\"read_write\",o=t.type.storage;return`@group(0) @binding(${r}) var ${t.name}: array<${o}>;`}declareVariables(...t){return t.map(r=>this.declareVariable(r,this.variableIndex++)).join(`\n`)}registerInternalVariable(t){if(t.usage!==\"internal\")throw new Error(\"cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.\");this.internalVariables.push(t),this.appendVariableUniforms(t)}registerInternalVariables(...t){return t.forEach(r=>this.registerInternalVariable(r)),this}registerUniform(t,r,u=1){return this.uniforms.push({name:t,type:r,length:u}),this}registerUniforms(t){return this.uniforms=this.uniforms.concat(t),this}uniformDeclaration(){if(this.uniforms.length===0)return\"\";let t=[];for(let{name:r,type:u,length:o}of this.uniforms)if(o&&o>4)u===\"f16\"?t.push(`@align(16) ${r}:array, ${Math.ceil(o/8)}>`):t.push(`${r}:array, ${Math.ceil(o/4)}>`);else{let c=o==null||o===1?u:`vec${o}<${u}>`;t.push(`${r}:${c}`)}return`\n struct Uniforms { ${t.join(\", \")} };\n @group(0) @binding(${this.variableIndex}) var uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(t=>t.impl()).join(`\n`)+this.internalVariables.map(t=>t.impl()).join(`\n`)}},ml=e=>new ga(e),Dr=(e,t)=>{let r=e.length,u=[];for(let o=0;o1&&p===1&&u.unshift(c)}return u}});var zg,hl,Dg,Mg,Bt,gl,yl,Mr=ne(()=>{\"use strict\";$e();Pe();nt();Te();zg=e=>{if(!e||e.length!==1)throw new Error(\"Transpose requires 1 input.\")},hl=(e,t)=>t&&t.length!==e?[...new Array(e).keys()].reverse():t,Dg=(e,t)=>Q.sortBasedOnPerm(e,hl(e.length,t)),Mg=(e,t,r,u)=>{let o=[];o.push(`fn perm(i: ${u.type.indices}) -> ${r.type.indices} {\n var a: ${r.type.indices};`);for(let c=0;c{let r=e.dataType,u=e.dims.length,o=hl(u,t),c=Dg(e.dims,o),p=ae(\"output\",r,c.length),h=X(\"a\",r,u),l=v=>`\n ${v.registerUniform(\"output_size\",\"u32\").declareVariables(h,p)}\n\n ${Mg(o,u,h,p)}\n\n ${v.mainStart()}\n ${v.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let indices = ${p.offsetToIndices(\"global_idx\")};\n let aIndices = perm(indices);\n\n ${p.setByOffset(\"global_idx\",h.getByIndices(\"aIndices\"))}\n }`;return{name:\"Transpose\",shaderCache:{hint:`${t}`,inputDependencies:[\"rank\"]},getRunData:v=>{let $=Q.size(c);return{outputs:[{dims:c,dataType:v[0].dataType}],dispatchGroup:{x:Math.ceil($/64)},programUniforms:[{type:12,data:$},...se(v[0].dims,c)]}},getShaderSource:l}},gl=(e,t)=>{zg(e.inputs),e.compute(Bt(e.inputs[0],t.perm))},yl=e=>Oe({perm:e.perm})});var jg,Ug,Wg,Ng,Vg,Gg,Lg,Hg,Fg,qg,jt,vl,bl,wl,_l,$l,Cl,xl,Sl,Il,Tl,Al=ne(()=>{\"use strict\";$e();Pe();Te();Cn();Mr();jg={max:\"select(bestValue, candidate, candidate > bestValue)\",min:\"select(bestValue, candidate, candidate < bestValue)\",mean:\"bestValue + candidate\",sum:\"bestValue + candidate\",prod:\"bestValue * candidate\",sumSquare:\"bestValue + candidate * candidate\",logSumExp:\"bestValue + exp(candidate)\",l1:\"bestValue + abs(candidate)\",l2:\"bestValue + candidate * candidate\",logSum:\"bestValue + candidate\"},Ug={max:\"select(bestValue, candidate, candidate > bestValue)\",min:\"select(bestValue, candidate, candidate < bestValue)\",mean:\"bestValue + candidate\",sum:\"bestValue + candidate\",prod:\"bestValue * candidate\",sumSquare:\"bestValue + candidate\",logSumExp:\"bestValue + candidate\",l1:\"bestValue + candidate\",l2:\"bestValue + candidate\",logSum:\"bestValue + candidate\"},Wg={max:\"_A[offset]\",min:\"_A[offset]\",mean:\"0\",sum:\"0\",prod:\"1\",sumSquare:\"0\",logSumExp:\"0\",l1:\"0\",l2:\"0\",logSum:\"0\"},Ng={max:\"bestValue\",min:\"bestValue\",sum:\"bestValue\",prod:\"bestValue\",sumSquare:\"bestValue\",logSumExp:\"log(bestValue)\",l1:\"bestValue\",l2:\"sqrt(bestValue)\",logSum:\"log(bestValue)\"},Vg=(e,t)=>{let r=[];for(let u=t-e;u{let r=[],u=e.length;for(let c=0;ce[c]);return[r,o]},Lg=(e,t)=>{let r=e.length+t.length,u=[],o=0;for(let c=0;c{for(let r=0;r{let r=[];if(!Hg(e,t)){for(let u=0;ur.push(u))}return r},qg=(e,t,r,u,o,c,p)=>{let h=r[0].dims,l=Q.size(c),v=Q.size(p),$=X(\"_A\",r[0].dataType,h),_=ae(\"output\",o,c),x=32,A=`\n var aBestValues : array<${_.type.storage}, ${x}>;\n `;return{name:e,shaderCache:t,getShaderSource:k=>`\n ${k.registerUniform(\"reduceSize\",\"u32\").declareVariables($,_)}\n ${A}\n fn DIV_CEIL(a : u32, b : u32) -> u32 {\n return ((a - 1u) / b + 1u);\n }\n ${k.mainStart(x)}\n\n let outputIndex = global_idx / ${x};\n let offset = outputIndex * uniforms.reduceSize;\n\n var bestValue = ${_.type.storage}(${Wg[u]});\n let Length = uniforms.reduceSize;\n for (var k = local_idx; k < Length; k = k + ${x}) {\n let candidate = ${_.type.storage}(${$.getByOffset(\"offset + k\")});\n bestValue = ${jg[u]};\n }\n aBestValues[local_idx] = bestValue;\n workgroupBarrier();\n\n var reduceSize = min(Length, ${x}u);\n for (var currentSize = reduceSize / 2u; reduceSize > 1u;\n currentSize = reduceSize / 2u) {\n let interval = DIV_CEIL(reduceSize, 2u);\n if (local_idx < currentSize) {\n let candidate = aBestValues[local_idx + interval];\n bestValue = ${Ug[u]};\n aBestValues[local_idx] = bestValue;\n }\n reduceSize = interval;\n workgroupBarrier();\n }\n\n if (local_idx == 0u) {\n ${_.setByOffset(\"outputIndex\",`${u===\"mean\"?`bestValue / ${_.type.storage}(uniforms.reduceSize)`:`${Ng[u]}`}`)};\n }\n }`,getRunData:()=>({outputs:[{dims:c,dataType:o}],dispatchGroup:{x:l},programUniforms:[{type:12,data:v}]})}},jt=(e,t,r,u)=>{let o=e.inputs.length===1?r:ba(e.inputs,r),c=o.axes;c.length===0&&!o.noopWithEmptyAxes&&(c=e.inputs[0].dims.map((A,S)=>S));let p=Q.normalizeAxes(c,e.inputs[0].dims.length),h=p,l=e.inputs[0],v=Fg(h,e.inputs[0].dims.length);v.length>0&&(l=e.compute(Bt(e.inputs[0],v),{inputs:[0],outputs:[-1]})[0],h=Vg(h.length,l.dims.length));let[$,_]=Gg(l.dims,h),x=$;o.keepDims&&(x=Lg($,p)),e.compute(qg(t,{hint:o.cacheKey,inputDependencies:[\"type\"]},[l],u,e.inputs[0].dataType,x,_),{inputs:[l]})},vl=(e,t)=>{jt(e,\"ReduceMeanShared\",t,\"mean\")},bl=(e,t)=>{jt(e,\"ReduceL1Shared\",t,\"l1\")},wl=(e,t)=>{jt(e,\"ReduceL2Shared\",t,\"l2\")},_l=(e,t)=>{jt(e,\"ReduceLogSumExpShared\",t,\"logSumExp\")},$l=(e,t)=>{jt(e,\"ReduceMaxShared\",t,\"max\")},Cl=(e,t)=>{jt(e,\"ReduceMinShared\",t,\"min\")},xl=(e,t)=>{jt(e,\"ReduceProdShared\",t,\"prod\")},Sl=(e,t)=>{jt(e,\"ReduceSumShared\",t,\"sum\")},Il=(e,t)=>{jt(e,\"ReduceSumSquareShared\",t,\"sumSquare\")},Tl=(e,t)=>{jt(e,\"ReduceLogSumShared\",t,\"logSum\")}});var Ut,Kg,xn,ba,Wt,Yg,Qg,Zg,Xg,Jg,ey,ty,ry,iy,ny,Nt,El,kl,Ol,Pl,Rl,Bl,zl,Dl,Ml,jl,Cn=ne(()=>{\"use strict\";$e();Pe();nt();Te();Al();Ut=e=>{if(!e||e.length===0||e.length>2)throw new Error(\"Reduce op requires 1 or 2 inputs.\");if(e.length===2&&e[1].dims.length!==1)throw new Error(\"Invalid axes input dims.\")},Kg=e=>[\"\",\"\",`var value = ${e.getByIndices(\"input_indices\")};`,\"\"],xn=(e,t,r,u,o,c,p=!1,h=!1)=>{let l=[],v=r[0].dims,$=v.length,_=Q.normalizeAxes(o,$),x=!h&&_.length===0;v.forEach((M,R)=>{x||_.indexOf(R)>=0?p&&l.push(1):l.push(M)});let A=l.length,S=Q.size(l);return{name:e,shaderCache:t,getShaderSource:M=>{let R=[],P=X(\"_A\",r[0].dataType,$),W=ae(\"output\",c,A),U=u(P,W,_),q=U[2];for(let Y=0,J=0;Y<$;Y++)x||_.indexOf(Y)>=0?(p&&J++,q=`for(var j${Y}: u32 = 0; j${Y} < ${v[Y]}; j${Y}++) {\n ${U[2].includes(\"last_index\")?`let last_index = j${Y};`:\"\"}\n ${P.indicesSet(\"input_indices\",Y,`j${Y}`)}\n ${q}\n }`):(R.push(`${P.indicesSet(\"input_indices\",Y,W.indicesGet(\"output_indices\",J))};`),J++);return`\n\n ${M.registerUniform(\"output_size\",\"u32\").declareVariables(P,W)}\n\n ${M.mainStart()}\n ${M.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n var input_indices: ${P.type.indices};\n let output_indices = ${W.offsetToIndices(\"global_idx\")};\n\n ${R.join(`\n`)}\n ${U[0]} // init ops for reduce max/min\n ${U[1]}\n ${q}\n ${U[3]}\n ${U.length===4?W.setByOffset(\"global_idx\",\"value\"):U.slice(4).join(`\n`)}\n }`},getRunData:()=>({outputs:[{dims:l,dataType:c}],dispatchGroup:{x:Math.ceil(S/64)},programUniforms:[{type:12,data:S},...se(v,l)]})}},ba=(e,t)=>{let r=[];return e[1].dims[0]>0&&e[1].getBigInt64Array().forEach(u=>r.push(Number(u))),Oe({axes:r,keepDims:t.keepDims,noopWithEmptyAxes:t.noopWithEmptyAxes})},Wt=(e,t,r,u)=>{let o=e.inputs,c=o.length===1?r:ba(o,r);e.compute(xn(t,{hint:c.cacheKey,inputDependencies:[\"rank\"]},[o[0]],c.noopWithEmptyAxes&&c.axes.length===0?Kg:u,c.axes,o[0].dataType,c.keepDims,c.noopWithEmptyAxes),{inputs:[0]})},Yg=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceLogSum\",t,(u,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += ${u.getByIndices(\"input_indices\")};`,\"value = log(value);\"])},Qg=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceL1\",t,(u,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += abs(${u.getByIndices(\"input_indices\")});`,\"\"])},Zg=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceL2\",t,(u,o)=>[`var t = ${o.type.value}(0); var value = ${o.type.value}(0);`,\"\",`t = ${u.getByIndices(\"input_indices\")}; value += (t * t);`,\"value = sqrt(value);\"])},Xg=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceLogSumExp\",t,(u,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += exp(${u.getByIndices(\"input_indices\")});`,\"value = log(value);\"])},Jg=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceMax\",t,(u,o,c)=>{let p=[];for(let h=0;h=0||c.length===0)&&p.push(u.indicesSet(\"input_indices\",h,0));return[`${p.join(`\n`)}`,`var value = ${u.getByIndices(\"input_indices\")};`,`value = max(value, ${u.getByIndices(\"input_indices\")});`,\"\"]})},ey=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceMean\",t,(u,o,c)=>{let p=1;for(let h=0;h=0||c.length===0)&&(p*=e.inputs[0].dims[h]);return[\"var sum = f32(0);\",\"\",`sum += f32(${u.getByIndices(\"input_indices\")});`,`let value = ${o.type.value}(sum / ${p});`]})},ty=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceMin\",t,(u,o,c)=>{let p=[];for(let h=0;h=0||c.length===0)&&p.push(`input_indices[${h}] = 0;`);return[`${p.join(`\n`)}`,`var value = ${u.getByIndices(\"input_indices\")};`,`value = min(value, ${u.getByIndices(\"input_indices\")});`,\"\"]})},ry=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceProd\",t,(u,o)=>[`var value = ${o.type.storage}(1);`,\"\",`value *= ${u.getByIndices(\"input_indices\")};`,\"\"])},iy=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceSum\",t,(u,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += ${u.getByIndices(\"input_indices\")};`,\"\"])},ny=(e,t)=>{Ut(e.inputs),Wt(e,\"ReduceSumSquare\",t,(u,o)=>[`var t = ${o.type.value}(0); var value = ${o.type.value}(0);`,\"\",`t = ${u.getByIndices(\"input_indices\")}; value += t * t;`,\"\"])},Nt=(e,t,r)=>{if(t.length===0)return r;let u=1,o=1;for(let c=0;c1024},El=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?ey(e,t):vl(e,t)},kl=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Qg(e,t):bl(e,t)},Ol=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Zg(e,t):wl(e,t)},Pl=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Xg(e,t):_l(e,t)},Rl=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Jg(e,t):$l(e,t)},Bl=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?ty(e,t):Cl(e,t)},zl=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?ry(e,t):xl(e,t)},Dl=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?iy(e,t):Sl(e,t)},Ml=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?ny(e,t):Il(e,t)},jl=(e,t)=>{Nt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Yg(e,t):Tl(e,t)}});var Ul,Wl,Nl,wa,Vl=ne(()=>{\"use strict\";$e();nt();Cn();Ul=e=>{if(!e||e.length===0||e.length>2)throw new Error(\"ArgMinMaxOp op requires 1 or 2 inputs.\");if(e[0].dataType!==1)throw new Error(\"Invalid input type.\")},Wl=(e,t)=>{Ul(e.inputs);let r=(u,o,c)=>{let p=[];for(let h=0;h=0||c.length===0)&&p.push(`input_indices[${h}] = 0;`);return[`${p.join(`\n`)}`,`var value = ${u.getByIndices(\"input_indices\")};\nvar best_index : i32 = 0;`,`if (${u.getByIndices(\"input_indices\")} ${t.selectLastIndex>0?\"<=\":\"<\"} value) {\n value = ${u.getByIndices(\"input_indices\")};\n best_index = i32(last_index);\n }`,\"\",o.setByOffset(\"global_idx\",\"best_index\")]};e.compute(xn(\"ArgMin\",{hint:t.cacheKey,inputDependencies:[\"rank\"]},[e.inputs[0]],r,[t.axis],7,t.keepDims),{inputs:[0]})},Nl=(e,t)=>{Ul(e.inputs);let r=(u,o,c)=>{let p=[];for(let h=0;h=0||c.length===0)&&p.push(`input_indices[${h}] = 0;`);return[`${p.join(`\n`)}`,`var value = ${u.getByIndices(\"input_indices\")};\nvar best_index : i32 = 0;`,`if (${u.getByIndices(\"input_indices\")} ${t.selectLastIndex>0?\">=\":\">\"} value) {\n value = ${u.getByIndices(\"input_indices\")};\n best_index = i32(last_index);\n }`,\"\",o.setByOffset(\"global_idx\",\"best_index\")]};e.compute(xn(\"argMax\",{hint:t.cacheKey,inputDependencies:[\"rank\"]},[e.inputs[0]],r,[t.axis],7,t.keepDims),{inputs:[0]})},wa=e=>Oe(e)});var ay,oy,sy,uy,Sn,ly,Gl,_a=ne(()=>{\"use strict\";$e();gn();Te();ay=(e,t)=>{let r=e[0],u=e[1],o=e[2],c=e[3],p=e[4],h=e[5];if(p&&h)throw new Error(\"Attention cannot have both past and relative_position_bias\");if(r.dims.length!==3)throw new Error('Input \"input\" must have 3 dimensions');let l=r.dims[0],v=r.dims[1],$=r.dims[2];if(o.dims.length!==1)throw new Error('Input \"bias\" is expected to have 1 dimensions');if(u.dims.length!==2)throw new Error('Input \"weights\" is expected to have 2 dimensions');if(u.dims[0]!==$)throw new Error(\"Input 1 dimension 0 should have same length as dimension 2 of input 0\");if(o.dims[0]!==u.dims[1])throw new Error('Input \"bias\" dimension 0 should have same length as dimension 1 of input \"weights\"');let _=o.dims[0]/3,x=_,A=x;if(t.qkvHiddenSizes.length>0){if(t.qkvHiddenSizes.length!==3)throw new Error(\"qkv_hidden_sizes attribute should have 3 elements\");for(let W of t.qkvHiddenSizes)if(W%t.numHeads!==0)throw new Error(\"qkv_hidden_sizes should be divisible by num_heads\");_=t.qkvHiddenSizes[0],x=t.qkvHiddenSizes[1],A=t.qkvHiddenSizes[2]}let S=v;if(_!==x)throw new Error(\"qkv_hidden_sizes first element should be same as the second\");if(o.dims[0]!==_+x+A)throw new Error('Input \"bias\" dimension 0 should have same length as sum of Q/K/V hidden sizes');let k=0;if(p){if(x!==A)throw new Error('Input \"past\" expect k_hidden_size == v_hidden_size');if(p.dims.length!==5)throw new Error('Input \"past\" must have 5 dimensions');if(p.dims[0]!==2)throw new Error('Input \"past\" first dimension must be 2');if(p.dims[1]!==l)throw new Error('Input \"past\" second dimension must be batch_size');if(p.dims[2]!==t.numHeads)throw new Error('Input \"past\" third dimension must be num_heads');if(p.dims[4]!==x/t.numHeads)throw new Error('Input \"past\" fifth dimension must be k_hidden_size / num_heads');t.pastPresentShareBuffer||(k=p.dims[3])}let M=S+k,R=-1,P=0;if(c)throw new Error(\"Mask not supported\");if(p)throw new Error(\"past is not supported\");if(h)throw new Error(\"relativePositionBias is not supported\");return{batchSize:l,sequenceLength:v,pastSequenceLength:k,kvSequenceLength:S,totalSequenceLength:M,maxSequenceLength:R,inputHiddenSize:$,hiddenSize:_,vHiddenSize:A,headSize:Math.floor(_/t.numHeads),vHeadSize:Math.floor(A/t.numHeads),numHeads:t.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:t.maskFilterValue,maskType:P,scale:t.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}},oy=(e,t,r,u)=>{let o=et(u),c=64,p=u/o;p{let x=ae(\"x\",t.dataType,t.dims,o),A=\"thread_max_vector\";o===2?A=\"max(thread_max_vector.x, thread_max_vector.y)\":o===4&&(A=\"max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))\");let S=gt(t.dataType),k=[{name:\"d_inv\",type:S},{name:\"d_comp\",type:\"u32\"},{name:\"elements_per_wg\",type:\"u32\"}];return`\n var wgMax: array;\n var wgSum: array;\n ${_.registerUniforms(k).declareVariables(x)}\n ${_.mainStart([c,1,1])}\n let localOffset = local_idx * uniforms.elements_per_wg;\n let offset: u32 = workgroup_id.x * uniforms.d_comp + localOffset;\n\n var thread_max_vector = ${ut(\"f32\",o,\"-3.402823e+38f\")};\n for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\n thread_max_vector = max(${Rt(S,o,\"x[offset + i]\")}, thread_max_vector);\n }\n wgMax[local_idx] = ${A};\n workgroupBarrier();\n\n var maxValue = -3.402823e+38f;\n for (var i = 0u; i < ${c}; i++) {\n maxValue = max(wgMax[i], maxValue);\n }\n\n var sumVector = ${ut(\"f32\",o,\"0\")};\n for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\n sumVector += exp(${Rt(S,o,\"x[offset + i]\")} - maxValue);\n }\n wgSum[local_idx] = ${yt(\"sumVector\",o)};\n workgroupBarrier();\n\n var sum: f32 = 0;\n for (var i = 0u; i < ${c}; i++) {\n sum += wgSum[i];\n }\n\n if (sum == 0) {\n for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\n x[offset + i] = ${ut(S,o,\"uniforms.d_inv\")};\n }\n } else {\n for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\n let f32input = ${Rt(S,o,\"x[offset + i]\")};\n x[offset + i] = ${x.type.value}(exp(f32input - maxValue) / sum);\n }\n }\n }`};e.compute({name:\"AttentionProbsSoftmax\",shaderCache:{hint:`${c};${v};${o}`},getShaderSource:$,getRunData:()=>({outputs:[],dispatchGroup:{x:r},programUniforms:l})},{inputs:[t],outputs:[]})},sy=(e,t,r,u,o,c)=>{let p=[o.batchSize,o.numHeads,o.sequenceLength,o.kvSequenceLength+o.pastSequenceLength],h=c.scale===0?1/Math.sqrt(o.headSize):c.scale,l=et(o.headSize),v=o.headSize/l,$=12,_={x:Math.ceil(o.totalSequenceLength/$),y:Math.ceil(o.sequenceLength/$),z:o.batchSize*o.numHeads},x=[{type:12,data:o.sequenceLength},{type:12,data:v},{type:12,data:o.totalSequenceLength},{type:12,data:o.kvSequenceLength},{type:t.dataType,data:h}],A=[t,r],S=M=>{let R=X(\"q\",t.dataType,t.dims,l),P=X(\"key\",r.dataType,r.dims,l),W=ae(\"output\",t.dataType,p),U=Ne(t.dataType),q=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"kv_sequence_length\",type:\"u32\"},{name:\"alpha\",type:U}];return`\n const beta: ${U} = 1.0;\n const TILE_SIZE = ${$}u;\n\n var tileQ: array<${R.type.storage}, ${$*$}>;\n var tileK: array<${R.type.storage}, ${$*$}>;\n ${M.registerUniforms(q).declareVariables(R,P,W)}\n ${M.mainStart([$,$,1])}\n // x holds the N and y holds the M\n let headIdx = workgroup_id.z;\n let m = workgroup_id.y * TILE_SIZE;\n let n = workgroup_id.x * TILE_SIZE;\n let lm = m + local_id.y;\n let ln = n + local_id.x;\n\n let qOffset = uniforms.M * uniforms.K * headIdx + m * uniforms.K;\n let kOffset = uniforms.kv_sequence_length * uniforms.K * headIdx + n * uniforms.K;\n\n var value = ${ut(U,l)};\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (m + local_id.y < uniforms.M && w + local_id.x < uniforms.K) {\n tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];\n }\n if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {\n tileK[TILE_SIZE * local_id.y + local_id.x] = key[kOffset + local_id.y * uniforms.K + w + local_id.x];\n }\n workgroupBarrier();\n\n for (var k: u32 = 0u; k({outputs:[{dims:p,dataType:t.dataType,gpuDataType:0}],dispatchGroup:_,programUniforms:x}),getShaderSource:S},{inputs:A,outputs:[-1]})[0];return oy(e,k,o.batchSize*o.numHeads*o.sequenceLength,o.totalSequenceLength),k},uy=(e,t,r,u)=>{let o=[u.batchSize,u.sequenceLength,u.vHiddenSize],c=12,p={x:Math.ceil(u.vHeadSize/c),y:Math.ceil(u.sequenceLength/c),z:u.batchSize*u.numHeads},h=[{type:12,data:u.sequenceLength},{type:12,data:u.totalSequenceLength},{type:12,data:u.vHeadSize},{type:12,data:u.numHeads},{type:12,data:u.vHiddenSize}],l=v=>{let $=X(\"probs\",t.dataType,t.dims),_=X(\"v\",r.dataType,r.dims),x=ae(\"output\",t.dataType,o),A=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"v_hidden_size\",type:\"u32\"}];return`\n const TILE_SIZE = ${c}u;\n var tileQ: array<${$.type.value}, ${c*c}>;\n var tileK: array<${$.type.value}, ${c*c}>;\n ${v.registerUniforms(A).declareVariables($,_,x)}\n ${v.mainStart([c,c,1])}\n let headIdx = workgroup_id.z;\n let m = workgroup_id.y * TILE_SIZE + local_id.y;\n let n = workgroup_id.x * TILE_SIZE + local_id.x;\n\n let offsetA = headIdx * (uniforms.M * uniforms.K) + m * uniforms.K;\n let offsetB = headIdx * (uniforms.N * uniforms.K) + n;\n\n var value = ${$.type.storage}(0);\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (m < uniforms.M && w + local_id.x < uniforms.K) {\n tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];\n }\n if (n < uniforms.N && w + local_id.y < uniforms.K) {\n tileK[TILE_SIZE * local_id.y + local_id.x] = v[offsetB + (w + local_id.y) * uniforms.N];\n }\n workgroupBarrier();\n for (var k: u32 = 0u; k({outputs:[{dims:o,dataType:t.dataType,gpuDataType:0}],dispatchGroup:p,programUniforms:h}),getShaderSource:l},{inputs:[t,r],outputs:[0]})[0]},Sn=(e,t,r,u,o,c,p,h,l,v,$)=>{let _=sy(e,t,r,l,v,$);uy(e,_,u,v)},ly=(e,t)=>{let r=[t.batchSize,t.numHeads,t.sequenceLength,t.headSize],u=t.sequenceLength,o=t.inputHiddenSize,c=t.headSize,p=12,h={x:Math.ceil(t.headSize/p),y:Math.ceil(t.sequenceLength/p),z:t.batchSize*t.numHeads},l=[e.inputs[0],e.inputs[1],e.inputs[2]],v=[{type:12,data:u},{type:12,data:o},{type:12,data:c},{type:12,data:t.numHeads},{type:12,data:t.headSize},{type:12,data:t.hiddenSize},{type:12,data:t.hiddenSize+t.hiddenSize+t.vHiddenSize}],$=_=>{let x=ae(\"output_q\",l[0].dataType,r),A=ae(\"output_k\",l[0].dataType,r),S=ae(\"output_v\",l[0].dataType,r),k=X(\"input\",l[0].dataType,l[0].dims),M=X(\"weight\",l[1].dataType,l[1].dims),R=X(\"bias\",l[2].dataType,l[2].dims),P=k.type.storage,W=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"head_size\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"},{name:\"ldb\",type:\"u32\"}];return`\n const TILE_SIZE = ${p}u;\n var tileInput: array<${P}, ${p*p}>;\n var tileWeightQ: array<${P}, ${p*p}>;\n var tileWeightK: array<${P}, ${p*p}>;\n var tileWeightV: array<${P}, ${p*p}>;\n ${_.registerUniforms(W).declareVariables(k,M,R,x,A,S)}\n ${_.mainStart([p,p,1])}\n let batchIndex = workgroup_id.z / uniforms.num_heads;\n let headNumber = workgroup_id.z % uniforms.num_heads;\n let m = workgroup_id.y * TILE_SIZE + local_id.y;\n let n = workgroup_id.x * TILE_SIZE + local_id.x;\n\n let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;\n let biasOffsetQ = headNumber * uniforms.head_size;\n let biasOffsetK = uniforms.hidden_size + biasOffsetQ;\n let biasOffsetV = uniforms.hidden_size + biasOffsetK;\n\n var valueQ = ${P}(0);\n var valueK = ${P}(0);\n var valueV = ${P}(0);\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (m < uniforms.M && w + local_id.x < uniforms.K) {\n tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];\n }\n if (n < uniforms.N && w + local_id.y < uniforms.K) {\n let offset = n + (w + local_id.y) * uniforms.ldb;\n tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];\n tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];\n tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];\n }\n workgroupBarrier();\n for (var k: u32 = 0u; k({outputs:[{dims:r,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:r,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:r,dataType:e.inputs[0].dataType,gpuDataType:0}],dispatchGroup:h,programUniforms:v}),getShaderSource:$},{inputs:l,outputs:[-1,-1,-1]})},Gl=(e,t)=>{let r=ay(e.inputs,t),[u,o,c]=ly(e,r);return Sn(e,u,o,c,e.inputs[4],void 0,void 0,void 0,e.inputs[5],r,t)}});var dy,cy,py,Ll,Hl=ne(()=>{\"use strict\";It();$e();Pe();nt();Te();dy=(e,t)=>{if(!e||e.length!==5)throw new Error(\"BatchNormalization requires 5 inputs\");let r=(u,o,c)=>{let p=o.length;if(p!==u.length)throw new Error(`${c}: num dimensions != ${p}`);o.forEach((h,l)=>{if(h!==u[l])throw new Error(`${c}: dim[${l}] do not match`)})};if(e[0].dims.length>1){let u=t.format===\"NHWC\"?t.spatial?e[0].dims.slice(-1):e[0].dims.slice(-1).concat(e[0].dims.slice(1,e[0].dims.length-1)):e[0].dims.slice(1,t.spatial?2:void 0);r(e[1].dims,u,\"Invalid input scale\"),r(e[2].dims,u,\"Invalid input B\"),r(e[3].dims,u,\"Invalid input mean\"),r(e[4].dims,u,\"Invalid input var\")}else r(e[1].dims,[1],\"Invalid input scale\"),r(e[2].dims,[1],\"Invalid input B\"),r(e[3].dims,[1],\"Invalid input mean\"),r(e[4].dims,[1],\"Invalid input var\")},cy=(e,t)=>{let{epsilon:r,spatial:u,format:o}=t,c=e[0].dims,p=u?et(c[c.length-1]):1,h=o===\"NHWC\"&&c.length>1?p:1,l=Q.size(c)/p,v=u,$=v?c.length:c,_=X(\"x\",e[0].dataType,e[0].dims,p),x=X(\"scale\",e[1].dataType,e[1].dims,h),A=X(\"bias\",e[2].dataType,e[2].dims,h),S=X(\"inputMean\",e[3].dataType,e[3].dims,h),k=X(\"inputVar\",e[4].dataType,e[4].dims,h),M=ae(\"y\",e[0].dataType,$,p),R=()=>{let W=\"\";if(u)W=`let cOffset = ${c.length===1?\"0u\":o===\"NHWC\"?`outputIndices[${c.length-1}] / ${p}`:\"outputIndices[1]\"};`;else if(o===\"NCHW\")W=`\n ${M.indicesSet(\"outputIndices\",\"0\",\"0\")}\n let cOffset = ${M.indicesToOffset(\"outputIndices\")};`;else{W=`var cIndices = ${x.type.indices}(0);\n cIndices[0] = outputIndices[${c.length-1}];`;for(let U=1;U`\n const epsilon = ${r};\n ${W.registerUniform(\"outputSize\",\"u32\").declareVariables(_,x,A,S,k,M)}\n ${W.mainStart()}\n ${W.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var outputIndices = ${M.offsetToIndices(`global_idx * ${p}`)};\n ${R()}\n let scale = ${x.getByOffset(\"cOffset\")};\n let bias = ${A.getByOffset(\"cOffset\")};\n let inputMean = ${S.getByOffset(\"cOffset\")};\n let inputVar = ${k.getByOffset(\"cOffset\")};\n let x = ${_.getByOffset(\"global_idx\")};\n let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;\n ${M.setByOffset(\"global_idx\",\"value\")}\n }`;return{name:\"BatchNormalization\",shaderCache:{hint:`${t.epsilon}_${t.format}_${u}_${p}`,inputDependencies:v?[\"rank\",\"type\",\"type\",\"type\",\"type\"]:void 0},getShaderSource:P,getRunData:()=>({outputs:[{dims:e[0].dims,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:v?[{type:12,data:l},...se(c)]:[{type:12,data:l}]})}},py=e=>Oe(e),Ll=(e,t)=>{let{inputs:r,outputCount:u}=e,o=py({...t,outputCount:u});if(Me.webgpu.validateInputContent&&dy(r,o),t.trainingMode)throw new Error(\"BatchNormalization trainingMode is not supported yet.\");e.compute(cy(r,o))}});var fy,my,Fl,ql=ne(()=>{\"use strict\";Pe();Te();fy=e=>{if(e[0].dims.length!==3)throw new Error(\"input should have 3 dimensions\");if(![320,640,1280].includes(e[0].dims[2]))throw new Error(\"number of channels should be 320, 640 or 1280\");if(e[1].dims.length!==1)throw new Error(\"bias is expected to have 1 dimensions\");if(e[0].dims[2]!==e[1].dims[0])throw new Error(\"last dimension of input and bias are not the same\")},my=e=>{let t=e[0].dims,r=e[0].dims[2],u=Q.size(t)/4,o=e[0].dataType,c=X(\"input\",o,t,4),p=X(\"bias\",o,[r],4),h=X(\"residual\",o,t,4),l=ae(\"output\",o,t,4);return{name:\"BiasAdd\",getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)}}),getShaderSource:$=>`\n const channels = ${r}u / 4;\n ${$.declareVariables(c,p,h,l)}\n\n ${$.mainStart()}\n ${$.guardAgainstOutOfBoundsWorkgroupSizes(u)}\n let value = ${c.getByOffset(\"global_idx\")}\n + ${p.getByOffset(\"global_idx % channels\")} + ${h.getByOffset(\"global_idx\")};\n ${l.setByOffset(\"global_idx\",\"value\")}\n }`}},Fl=e=>{fy(e.inputs),e.compute(my(e.inputs))}});var hy,je,Kl,Yl,Ql,Zl,Xl,Jl,ed,td,rd,gy,id,nd,ad,od,In,sd,Tn,ud,ld,dd,cd,pd,fd,md,hd,gd,yd,vd,bd,wd,_d,$d,Cd,xd,Sd,$a,Ca,Id,Td,Ad,An=ne(()=>{\"use strict\";$e();Pe();nt();Te();hy=(e,t,r,u,o,c)=>{let p=Math.ceil(t/4),h=\"\";typeof o==\"string\"?h=`${o}(a)`:h=o(\"a\");let l=X(\"inputData\",r,[p],4),v=ae(\"outputData\",u,[p],4);return`\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(l,v)}\n\n ${c??\"\"}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n\n let a = ${l.getByOffset(\"global_idx\")};\n ${v.setByOffset(\"global_idx\",h)}\n }`},je=(e,t,r,u,o,c=e.dataType)=>({name:t,shaderCache:{hint:o,inputDependencies:[\"type\"]},getShaderSource:p=>hy(p,Q.size(e.dims),e.dataType,c,r,u),getRunData:p=>({outputs:[{dims:e.dims,dataType:c}],dispatchGroup:{x:Math.ceil(Q.size(p[0].dims)/64/4)},programUniforms:[{type:12,data:Math.ceil(Q.size(e.dims)/4)}]})}),Kl=e=>{e.compute(je(e.inputs[0],\"Abs\",\"abs\"))},Yl=e=>{e.compute(je(e.inputs[0],\"Acos\",\"acos\"))},Ql=e=>{e.compute(je(e.inputs[0],\"Acosh\",\"acosh\"))},Zl=e=>{e.compute(je(e.inputs[0],\"Asin\",\"asin\"))},Xl=e=>{e.compute(je(e.inputs[0],\"Asinh\",\"asinh\"))},Jl=e=>{e.compute(je(e.inputs[0],\"Atan\",\"atan\"))},ed=e=>{e.compute(je(e.inputs[0],\"Atanh\",\"atanh\"))},td=e=>Oe(e),rd=(e,t)=>{let r;switch(t.to){case 10:r=\"vec4\";break;case 1:r=\"vec4\";break;case 12:r=\"vec4\";break;case 6:r=\"vec4\";break;case 9:r=\"vec4\";break;default:throw new RangeError(`not supported type (specified in attribute 'to' from 'Cast' operator): ${t.to}`)}e.compute(je(e.inputs[0],\"Cast\",r,void 0,t.cacheKey,t.to))},gy=e=>{let t=e.length>=2&&e[1].data!==0?e[1].getFloat32Array()[0]:bn,r=e.length>=3&&e[2].data!==0?e[2].getFloat32Array()[0]:wn;return Oe({min:t,max:r})},id=(e,t)=>{let r=e.inputs.length===1?t:gy(e.inputs),u=gt(e.inputs[0].dataType);e.compute(je(e.inputs[0],\"Clip\",o=>`clamp(${o}, clip_min_, clip_max_)`,`\n const clip_min_: vec4<${u}> = vec4(${u}(${r.min}));\n const clip_max_: vec4<${u}> = vec4(${u}(${r.max}));\n`,r.cacheKey),{inputs:[0]})},nd=e=>{e.compute(je(e.inputs[0],\"Ceil\",\"ceil\"))},ad=e=>{e.compute(je(e.inputs[0],\"Cos\",\"cos\"))},od=e=>{e.compute(je(e.inputs[0],\"Cosh\",\"cosh\"))},In=e=>Oe(e),sd=(e,t)=>{let r=gt(e.inputs[0].dataType);e.compute(je(e.inputs[0],\"Elu\",u=>`elu_vf32(${u})`,`\n const elu_alpha_ = ${r}(${t.alpha});\n\n fn elu_f32(a: ${r}) -> ${r} {\n return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);\n }\n\n fn elu_vf32(v: vec4<${r}>) -> vec4<${r}> {\n return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));\n }`,t.cacheKey))},Tn=(e=\"f32\")=>`\nconst r0: ${e} = 0.3275911;\nconst r1: ${e} = 0.254829592;\nconst r2: ${e} = -0.284496736;\nconst r3: ${e} = 1.421413741;\nconst r4: ${e} = -1.453152027;\nconst r5: ${e} = 1.061405429;\n\nfn erf_vf32(v: vec4<${e}>) -> vec4<${e}> {\n let absv = abs(v);\n let x = 1.0 / (1.0 + r0 * absv);\n return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));\n}`,ud=e=>{let t=gt(e.inputs[0].dataType);e.compute(je(e.inputs[0],\"Erf\",r=>`erf_vf32(${r})`,Tn(t)))},ld=e=>{e.compute(je(e.inputs[0],\"Exp\",\"exp\"))},dd=e=>{e.compute(je(e.inputs[0],\"Floor\",\"floor\"))},cd=e=>{let t=gt(e.inputs[0].dataType);e.compute(je(e.inputs[0],\"Gelu\",r=>`0.5 * ${r} * (1.0 + erf_vf32(${r} * 0.7071067811865475))`,Tn(t)))},pd=(e,t)=>{let r=gt(e.inputs[0].dataType);e.compute(je(e.inputs[0],\"LeakyRelu\",u=>`select(leaky_relu_alpha_ * ${u}, ${u}, ${u} >= vec4<${r}>(0.0))`,`const leaky_relu_alpha_ = ${r}(${t.alpha});`,t.cacheKey))},fd=e=>{e.compute(je(e.inputs[0],\"Not\",t=>`!${t}`))},md=e=>{e.compute(je(e.inputs[0],\"Neg\",t=>`-${t}`))},hd=e=>{e.compute(je(e.inputs[0],\"Reciprocal\",t=>`1.0/${t}`))},gd=e=>{let t=gt(e.inputs[0].dataType);e.compute(je(e.inputs[0],\"Relu\",r=>`select(vec4<${t}>(0.0), ${r}, ${r} > vec4<${t}>(0.0))`))},yd=e=>{e.compute(je(e.inputs[0],\"Sigmoid\",t=>`(1.0 / (1.0 + exp(-${t})))`))},vd=e=>Oe(e),bd=(e,t)=>{let r=gt(e.inputs[0].dataType);e.compute(je(e.inputs[0],\"HardSigmoid\",u=>`max(vec4<${r}>(0.0), min(vec4<${r}>(1.0), ${t.alpha} * ${u} + vec4<${r}>(${t.beta})))`,void 0,t.cacheKey))},wd=e=>{e.compute(je(e.inputs[0],\"Sin\",\"sin\"))},_d=e=>{e.compute(je(e.inputs[0],\"Sinh\",\"sinh\"))},$d=e=>{e.compute(je(e.inputs[0],\"Sqrt\",\"sqrt\"))},Cd=e=>{e.compute(je(e.inputs[0],\"Tan\",\"tan\"))},xd=e=>`sign(${e}) * (1 - exp(-2 * abs(${e}))) / (1 + exp(-2 * abs(${e})))`,Sd=e=>{e.compute(je(e.inputs[0],\"Tanh\",xd))},$a=(e=\"f32\")=>`\nconst fast_gelu_a: ${e} = 0.5;\nconst fast_gelu_b: ${e} = 0.7978845608028654;\nconst fast_gelu_c: ${e} = 0.035677408136300125;\n\nfn tanh_v(v: vec4<${e}>) -> vec4<${e}> {\n return ${xd(\"v\")};\n}\n`,Ca=e=>`(fast_gelu_a + fast_gelu_a * tanh_v(${e} * (fast_gelu_c * ${e} * ${e} + fast_gelu_b))) * ${e}`,Id=e=>{let t=gt(e.inputs[0].dataType);e.compute(je(e.inputs[0],\"FastGelu\",Ca,$a(t),void 0,e.inputs[0].dataType))},Td=(e,t)=>{let r=gt(e.inputs[0].dataType);return e.compute(je(e.inputs[0],\"ThresholdedRelu\",u=>`select(vec4<${r}>(0.0), ${u}, ${u} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${r}>(${t.alpha});`,t.cacheKey)),0},Ad=e=>{e.compute(je(e.inputs[0],\"Log\",\"log\"))}});var yy,vy,kd,Od=ne(()=>{\"use strict\";Pe();Te();An();yy=e=>{if(e[0].dims.length!==3)throw new Error(\"input should have 3 dimensions\");if(![2560,5120,10240].includes(e[0].dims[2]))throw new Error(\"hidden state should be 2560, 5120 or 10240\");if(e[1].dims.length!==1)throw new Error(\"bias is expected to have 1 dimensions\");if(e[0].dims[2]!==e[1].dims[0])throw new Error(\"last dimension of input and bias are not the same\")},vy=e=>{let t=e[0].dims.slice();t[2]=t[2]/2;let r=X(\"input\",e[0].dataType,e[0].dims,4),u=X(\"bias\",e[0].dataType,[e[0].dims[2]],4),o=ae(\"output\",e[0].dataType,t,4),c=Q.size(t)/4,p=Ne(e[0].dataType);return{name:\"BiasSplitGelu\",getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(c/64)}}),getShaderSource:l=>`\n const M_SQRT2 = sqrt(2.0);\n const halfChannels = ${e[0].dims[2]/4/2}u;\n\n ${l.declareVariables(r,u,o)}\n\n ${Tn(p)}\n\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(c)}\n let biasIdx = global_idx % halfChannels;\n let batchIndex = global_idx / halfChannels;\n let inputOffset = biasIdx + batchIndex * halfChannels * 2;\n let valueLeft = input[inputOffset] + bias[biasIdx];\n let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];\n let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);\n\n ${o.setByOffset(\"global_idx\",\"valueLeft * geluRight\")}\n }`}},kd=e=>{yy(e.inputs),e.compute(vy(e.inputs))}});var by,wy,Vt,Pd,Rd,Bd,zd,Dd,Md,jd,Ud,Wd,Nd,Vd=ne(()=>{\"use strict\";$e();Pe();Te();by=(e,t,r,u,o,c,p,h,l,v,$,_)=>{let x,A;typeof h==\"string\"?x=A=(P,W)=>`${h}((${P}),(${W}))`:typeof h==\"function\"?x=A=h:(x=h.scalar,A=h.vector);let S=ae(\"outputData\",$,u.length,4),k=X(\"aData\",l,t.length,4),M=X(\"bData\",v,r.length,4),R;if(o)if(c){let P=Q.size(t)===1,W=Q.size(r)===1,U=t.length>0&&t[t.length-1]%4===0,q=r.length>0&&r[r.length-1]%4===0;P||W?R=S.setByOffset(\"global_idx\",A(P?`${k.type.value}(${k.getByOffset(\"0\")}.x)`:k.getByOffset(\"global_idx\"),W?`${M.type.value}(${M.getByOffset(\"0\")}.x)`:M.getByOffset(\"global_idx\"))):R=`\n let outputIndices = ${S.offsetToIndices(\"global_idx * 4u\")};\n let offsetA = ${k.broadcastedIndicesToOffset(\"outputIndices\",S)};\n let offsetB = ${M.broadcastedIndicesToOffset(\"outputIndices\",S)};\n ${S.setByOffset(\"global_idx\",A(p||U?k.getByOffset(\"offsetA / 4u\"):`${k.type.value}(${k.getByOffset(\"offsetA / 4u\")}[offsetA % 4u])`,p||q?M.getByOffset(\"offsetB / 4u\"):`${M.type.value}(${M.getByOffset(\"offsetB / 4u\")}[offsetB % 4u])`))}\n `}else R=S.setByOffset(\"global_idx\",A(k.getByOffset(\"global_idx\"),M.getByOffset(\"global_idx\")));else{if(!c)throw new Error(\"no necessary to use scalar implementation for element-wise binary op implementation.\");let P=(W,U,q=\"\")=>{let Y=`aData[indexA${U}][componentA${U}]`,J=`bData[indexB${U}][componentB${U}]`;return`\n let outputIndices${U} = ${S.offsetToIndices(`global_idx * 4u + ${U}u`)};\n let offsetA${U} = ${k.broadcastedIndicesToOffset(`outputIndices${U}`,S)};\n let offsetB${U} = ${M.broadcastedIndicesToOffset(`outputIndices${U}`,S)};\n let indexA${U} = offsetA${U} / 4u;\n let indexB${U} = offsetB${U} / 4u;\n let componentA${U} = offsetA${U} % 4u;\n let componentB${U} = offsetB${U} % 4u;\n ${W}[${U}] = ${q}(${x(Y,J)});\n `};$===9?R=`\n var data = vec4(0);\n ${P(\"data\",0,\"u32\")}\n ${P(\"data\",1,\"u32\")}\n ${P(\"data\",2,\"u32\")}\n ${P(\"data\",3,\"u32\")}\n outputData[global_idx] = dot(vec4(0x1, 0x100, 0x10000, 0x1000000), vec4(data));`:R=`\n ${P(\"outputData[global_idx]\",0)}\n ${P(\"outputData[global_idx]\",1)}\n ${P(\"outputData[global_idx]\",2)}\n ${P(\"outputData[global_idx]\",3)}\n `}return`\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(k,M,S)}\n\n ${_??\"\"}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${R}\n }`},wy=(e,t,r,u,o,c,p=r.dataType)=>{let h=!Q.areEqual(r.dims,u.dims),l=r.dims,v=Q.size(r.dims),$=!1,_=!1,x=[h];if(h){let A=Mt.calcShape(r.dims,u.dims,!1);if(!A)throw new Error(\"Can't perform binary op on the given tensors\");l=A,v=Q.size(l);let S=Q.size(r.dims)===1,k=Q.size(u.dims)===1,M=r.dims.length>0&&r.dims[r.dims.length-1]%4===0,R=u.dims.length>0&&u.dims[u.dims.length-1]%4===0;x.push(S),x.push(k),x.push(M),x.push(R);let P=1;for(let W=1;WA.toString()).join(\"_\"),inputDependencies:[\"rank\",\"rank\"]},getShaderSource:A=>by(A,r.dims,u.dims,l,$,h,_,o,r.dataType,u.dataType,p,c),getRunData:()=>({outputs:[{dims:l,dataType:p}],dispatchGroup:{x:Math.ceil(v/64/4)},programUniforms:[{type:12,data:Math.ceil(Q.size(l)/4)},...se(r.dims,u.dims,l)]})}},Vt=(e,t,r,u,o,c)=>{e.compute(wy(t,o??\"\",e.inputs[0],e.inputs[1],r,u,c))},Pd=e=>{Vt(e,\"Add\",(t,r)=>`${t}+${r}`)},Rd=e=>{Vt(e,\"Div\",(t,r)=>`${t}/${r}`)},Bd=e=>{Vt(e,\"Equal\",{scalar:(t,r)=>`u32(${t}==${r})`,vector:(t,r)=>`vec4(${t}==${r})`},void 0,void 0,9)},zd=e=>{Vt(e,\"Mul\",(t,r)=>`${t}*${r}`)},Dd=e=>{let t=X(\"input\",e.inputs[0].dataType,e.inputs[0].dims).type.value;Vt(e,\"Pow\",{scalar:(u,o)=>`pow_custom(${u},${o})`,vector:(u,o)=>`pow_vector_custom(${u},${o})`},`\n fn pow_custom(a : ${t}, b : ${t}) -> ${t} {\n if (b == ${t}(0.0)) {\n return ${t}(1.0);\n } else if (a < ${t}(0.0) && f32(b) != floor(f32(b))) {\n return ${t}(pow(f32(a), f32(b))); // NaN\n }\n return select(sign(a), ${t}(1.0), round(f32(abs(b) % ${t}(2.0))) != 1.0) * ${t}(${t===\"i32\"?\"round\":\"\"}(pow(f32(abs(a)), f32(b))));\n }\n fn pow_vector_custom(a : vec4<${t}>, b : vec4<${t}>) -> vec4<${t}> {\n // TODO: implement vectorized pow\n return vec4<${t}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));\n }\n `)},Md=e=>{Vt(e,\"Sub\",(t,r)=>`${t}-${r}`)},jd=e=>{Vt(e,\"Greater\",{scalar:(t,r)=>`u32(${t}>${r})`,vector:(t,r)=>`vec4(${t}>${r})`},void 0,void 0,9)},Ud=e=>{Vt(e,\"Less\",{scalar:(t,r)=>`u32(${t}<${r})`,vector:(t,r)=>`vec4(${t}<${r})`},void 0,void 0,9)},Wd=e=>{Vt(e,\"GreaterOrEqual\",{scalar:(t,r)=>`u32(${t}>=${r})`,vector:(t,r)=>`vec4(${t}>=${r})`},void 0,void 0,9)},Nd=e=>{Vt(e,\"LessOrEqual\",{scalar:(t,r)=>`u32(${t}<=${r})`,vector:(t,r)=>`vec4(${t}<=${r})`},void 0,void 0,9)}});var $y,Cy,xy,Sy,Iy,Ty,Gd,Ld,Hd=ne(()=>{\"use strict\";$e();Pe();nt();Te();$y=(e,t)=>{if(!e||e.length<1)throw new Error(\"too few inputs\");let r=e[t].dataType,u=e[t].dims.length,o=e[t];for(let c of e){if(c.dataType!==r)throw new Error(\"input tensors should be one type\");if(c.dims.length!==u&&Q.size(c.dims)>0&&Q.size(o.dims)>0)throw new Error(\"input tensors should have the same shape\")}},Cy=(e,t)=>`\n fn calculateInputIndex(index: u32) -> u32 {\n let sizeInConcatAxis = array(${t});\n for (var i: u32 = 0u; i < ${e}; i += 1u ) {\n if (index < sizeInConcatAxis[i]) {\n return i;\n }\n }\n return ${e}u;\n }`,xy=(e,t)=>{let r=e.length,u=[];for(let o=0;o{let t=0;for(let r=0;r0){t=r;break}return t},Iy=(e,t,r)=>{let u=e[r].dims.slice();if(t>=u.length||t<-1*u.length)throw new Error(\"axis specified for concat doesn't match input dimensionality\");let o=u.slice(0);for(let c=0;c0)throw new Error(\"non concat dimensions must match\")}return o},Ty=(e,t,r)=>{let u=Q.size(r),o=new Array(e.length),c=new Array(e.length),p=e[0].dataType,h=0,l=[],v=[],$=[{type:12,data:u}];for(let k=0;k`uniforms.sizeInConcatAxis${k}`).join(\",\"),S=k=>`\n\n ${(()=>{k.registerUniform(\"outputSize\",\"u32\");for(let M=0;M(${A});\n ${x} -= sizeInConcatAxis[inputIndex - 1u];\n }\n\n ${xy(c,_)}\n } else {\n ${_.setByOffset(\"global_idx\",\"0\")}\n }\n }`;return{name:\"Concat\",shaderCache:{hint:`${t}`,inputDependencies:l},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:$}),getShaderSource:S}},Gd=(e,t)=>{let r=Sy(e.inputs);$y(e.inputs,r);let u=t.axis,o=e.inputs[r].dims,c=t.axis<0?o.length+u:u,p=Iy(e.inputs,c,r),h=e.inputs.filter(l=>Q.size(l.dims)>0);h.length>0?e.compute(Ty(h,c,p),{inputs:h}):e.output(0,p)},Ld=e=>Oe({axis:e.axis})});var Gt,Lt,Ht,En,rr=ne(()=>{\"use strict\";$e();Pe();Gt=(e,t,r=\"f32\")=>{switch(e.activation){case\"Relu\":return`value = max(value, ${t}(0.0));`;case\"Sigmoid\":return`value = (${t}(1.0) / (${t}(1.0) + exp(-value)));`;case\"Clip\":return`value = clamp(value, ${t}(${r}(uniforms.clip_min)), ${t}(${r}(uniforms.clip_max)));`;case\"HardSigmoid\":return`value = max(${t}(0.0), min(${t}(1.0), ${r}(uniforms.alpha) * value + ${r}(uniforms.beta)));`;case\"LeakyRelu\":return`value = select(${r}(uniforms.alpha) * value, value, value >= ${t}(0.0));`;case\"\":return\"\";default:throw new Error(`Unsupported activation ${e.activation}`)}},Lt=(e,t)=>{e.activation===\"Clip\"?t.push({type:1,data:e.clipMax},{type:1,data:e.clipMin}):e.activation===\"HardSigmoid\"?t.push({type:1,data:e.alpha},{type:1,data:e.beta}):e.activation===\"LeakyRelu\"&&t.push({type:1,data:e.alpha})},Ht=(e,t)=>{e.activation===\"Clip\"?t.push({name:\"clip_max\",type:\"f32\"},{name:\"clip_min\",type:\"f32\"}):e.activation===\"HardSigmoid\"?t.push({name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}):e.activation===\"LeakyRelu\"&&t.push({name:\"alpha\",type:\"f32\"})},En=e=>{let t=e?.activation||\"\";if(t===\"HardSigmoid\"){let[r,u]=e?.activation_params||[.2,.5];return{activation:t,alpha:r,beta:u}}else if(t===\"Clip\"){let[r,u]=e?.activation_params||[bn,wn];return{activation:t,clipMax:u,clipMin:r}}else if(t===\"LeakyRelu\"){let[r]=e?.activation_params||[.01];return{activation:t,alpha:r}}return{activation:t}}});var lt,kn,On=ne(()=>{\"use strict\";lt=(e,t)=>{switch(e){case 1:return t;case 2:return`vec2<${t}>`;case 3:return`vec3<${t}>`;case 4:return`vec4<${t}>`;default:throw new Error(`${e}-component is not supported.`)}},kn=e=>`\n ${e?\"value = value + getBiasByOutputCoords(coords);\":\"\"}\n `});var Pn,xa=ne(()=>{\"use strict\";Pn=e=>`\nfn getIndexFromCoords4D(coords : vec4, shape : vec4) -> i32 {\n return dot(coords, vec4(\n shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));\n}\nfn getOutputIndexFromCoords(coords : vec4) -> i32 {\n return dot(coords, vec4(\n i32(${e}.x), i32(${e}.y), i32(${e}.z), 1));\n}\n`});var Ay,Ey,xi,Fd,ky,Si,Oy,Rn,Ii=ne(()=>{\"use strict\";$e();Pe();Te();rr();On();Ay=(e,t)=>e?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart / innerElementSize + inputCol${t?\", batchIndices\":\"\"});\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRow + innerRow,\n kStart / innerElementSize + inputCol${t?\", batchIndices\":\"\"});\n `,Ey=(e,t)=>e?`\n let ACached0 = mm_Asub[k * innerElementSize][localRow];\n let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];\n let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];\n ${t===3?\"\":\"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];\"}\n for (var i = 0; i < rowPerThread; i = i + 1) {\n acc[i] = BCached0 * ACached0[i] + acc[i];\n acc[i] = BCached1 * ACached1[i] + acc[i];\n acc[i] = BCached2 * ACached2[i] + acc[i];\n ${t===3?\"\":\"acc[i] = BCached3 * ACached3[i] + acc[i];\"}\n }`:`\n for (var i = 0; i < rowPerThread; i = i + 1) {\n let ACached = mm_Asub[tileRow + i][k];\n acc[i] = BCached0 * ACached.x + acc[i];\n acc[i] = BCached1 * ACached.y + acc[i];\n acc[i] = BCached2 * ACached.z + acc[i];\n ${t===3?\"\":\"acc[i] = BCached3 * ACached.w + acc[i];\"}\n }`,xi=(e,t,r=\"f32\",u,o=!1,c=32,p=!1,h=32)=>{let l=t[1]*e[1],v=t[0]*e[0],$=o?l:c,_=o?c:l,x=$/t[0],A=c/t[1];if(!((o&&x===4&&e[1]===4||!o&&(x===3||x===4))&&$%t[0]===0&&c%t[1]===0&&e[0]===4))throw new Error(`If transposeA ${o} is true, innerElementSize ${x} and workPerThread[1] ${e[1]} must be 4.\n Otherwise, innerElementSize ${x} must be 3 or 4.\n tileAWidth ${$} must be divisible by workgroupSize[0]${t[0]}. tileInner ${c} must be divisible by workgroupSize[1] ${t[1]}. colPerThread ${e[0]} must be 4.`);return`\nvar mm_Asub: array, ${$/x}>, ${_}>;\nvar mm_Bsub: array, ${v/e[0]}>, ${c}>;\n\nconst rowPerThread = ${e[1]};\nconst colPerThread = ${e[0]};\nconst innerElementSize = ${x};\nconst tileInner = ${c};\n\n@compute @workgroup_size(${t[0]}, ${t[1]}, ${t[2]})\nfn main(@builtin(local_invocation_id) localId : vec3,\n @builtin(global_invocation_id) globalId : vec3,\n @builtin(workgroup_id) workgroupId : vec3) {\n let localRow = i32(localId.y);\n let tileRow = localRow * rowPerThread;\n let tileCol = i32(localId.x);\n\n let globalRow =i32(globalId.y) * rowPerThread;\n let globalCol = i32(globalId.x);\n let batch = ${p?\"0\":\"i32(globalId.z)\"};\n ${u?`let batchIndices = ${u.offsetToIndices(\"u32(batch)\")};`:\"\"}\n let globalRowStart = i32(workgroupId.y) * ${l};\n\n let num_tiles = ${p?`${Math.ceil(h/c)}`:\"(uniforms.dim_inner - 1) / tileInner + 1\"};\n var kStart = ${p?`i32(globalId.z) * ${h}`:\"0\"};\n\n var acc: array, rowPerThread>;\n\n // Loop over shared dimension.\n let tileRowB = localRow * ${A};\n for (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let inputRow = tileRow + innerRow;\n let inputCol = tileCol;\n ${Ay(o,u)}\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${A}; innerRow = innerRow + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${u?\", batchIndices\":\"\"});\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {\n let BCached0 = mm_Bsub[k * innerElementSize][tileCol];\n let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];\n let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];\n ${x===3?\"\":\"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];\"}\n\n ${Ey(o,x)}\n }\n\n workgroupBarrier();\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);\n }\n}`},Fd=(e,t)=>e?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart + inputCol${t?\", batchIndices\":\"\"});\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRowStart + inputRow,\n kStart + inputCol${t?\", batchIndices\":\"\"});\n `,ky=e=>e?\"let ACached = mm_Asub[k][tileRow + innerRow];\":\"let ACached = mm_Asub[tileRow + innerRow][k];\",Si=(e,t,r=\"f32\",u,o=!1,c=32,p=!1,h=32,l=!1)=>{let v=e[1]*t[1],$=e[0]*t[0],_=o?v:c,x=o?c:v;if(!(x%t[1]===0&&_%t[0]===0&&c%t[1]===0))throw new Error(`tileAHight ${x} must be divisible by workgroupSize[1]${t[1]}, tileAWidth ${_} must be divisible by workgroupSize[0]${t[0]}, tileInner ${c} must be divisible by workgroupSize[1]${t[1]}`);let A=x/t[1],S=_/t[0],k=c/t[1],M=l?`\n let localRow = i32(localId.y);\n let localCol = i32(localId.x);\n let globalRowStart = i32(workgroupId.y) * ${v};\n let globalColStart = i32(workgroupId.x) * ${$};\n\n // Loop over shared dimension.\n for (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var inputRow = localRow; inputRow < ${x}; inputRow = inputRow + ${t[1]}) {\n for (var inputCol = localCol; inputCol < ${_}; inputCol = inputCol + ${t[0]}) {\n ${Fd(o,u)}\n }\n }\n // Load one tile of B into local memory.\n for (var inputRow = localRow; inputRow < ${c}; inputRow = inputRow + ${t[1]}) {\n for (var inputCol = localCol; inputCol < ${$}; inputCol = inputCol + ${t[0]}) {\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalColStart + inputCol${u?\", batchIndices\":\"\"});\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array<${r}, colPerThread>;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][localCol + inner * ${t[0]}];\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let ACached = ${o?`mm_Asub[k][localRow + innerRow * ${t[1]}];`:`mm_Asub[localRow + innerRow * ${t[1]}][k];`}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] +\n ACached * BCached[innerCol];\n }\n }\n }\n workgroupBarrier();\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let gRow = globalRowStart + localRow + innerRow * ${t[1]};\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let gCol = globalColStart + localCol + innerCol * ${t[0]};\n mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);\n }\n }\n `:`\nlet tileRow = i32(localId.y) * rowPerThread;\nlet tileCol = i32(localId.x) * colPerThread;\n\nlet globalRow = i32(globalId.y) * rowPerThread;\nlet globalCol = i32(globalId.x) * colPerThread;\nlet globalRowStart = i32(workgroupId.y) * ${v};\n\nlet tileRowA = i32(localId.y) * ${A};\nlet tileColA = i32(localId.x) * ${S};\nlet tileRowB = i32(localId.y) * ${k};\n// Loop over shared dimension.\nfor (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < ${A}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < ${S}; innerCol = innerCol + 1) {\n let inputRow = tileRowA + innerRow;\n let inputCol = tileColA + innerCol;\n ${Fd(o,u)}\n }\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${k}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol + innerCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalCol + innerCol${u?\", batchIndices\":\"\"});\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array<${r}, colPerThread>;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][tileCol + inner];\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n ${ky(o)}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];\n }\n }\n }\n\n workgroupBarrier();\n}\n\nfor (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n mm_write(batch, globalRow + innerRow, globalCol + innerCol,\n acc[innerRow][innerCol]);\n }\n}\n`;return`\n var mm_Asub : array, ${x}>;\n var mm_Bsub : array, ${c}>;\n const rowPerThread = ${e[1]};\n const colPerThread = ${e[0]};\n const tileInner = ${c};\n\n@compute @workgroup_size(${t[0]}, ${t[1]}, ${t[2]})\nfn main(@builtin(local_invocation_id) localId : vec3,\n @builtin(global_invocation_id) globalId : vec3,\n @builtin(workgroup_id) workgroupId : vec3) {\n let batch = ${p?\"0\":\"i32(globalId.z)\"};\n ${u?`let batchIndices = ${u.offsetToIndices(\"u32(batch)\")};`:\"\"}\n let num_tiles = ${p?`${Math.ceil(h/c)}`:\"(uniforms.dim_inner - 1) / tileInner + 1\"};\n var kStart = ${p?`i32(globalId.z) * ${h}`:\"0\"};\n\n var acc : array, rowPerThread>;\n\n // Without this initialization strange values show up in acc.\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = 0.0;\n }\n }\n ${M}\n }\n`},Oy=(e,t,r,u,o,c=!1)=>{let[p,h,l]=o,[v,$,_,x]=u,A=Dr(p,l),S=Dr(h,l),k=Ne(u[0].type.tensor),M=()=>{let W=$.rank,U=v.rank,q=`var aIndices: ${$.type.indices};`;for(let Y=W-2-1,J=U-1;Y>=0;Y--,J--)q+=`\naIndices[${Y}] = ${U>1?`batchIndices[${J}]`:\"batchIndices\"};`;return A.forEach(Y=>{q+=`\naIndices[${Y}] = 0;`}),q+=`\naIndices[${W-2}] = u32(row);\n aIndices[${W-1}] = u32(colIn);`,q},R=()=>{let W=_.rank,U=v.rank,q=`var bIndices: ${_.type.indices};`;for(let Y=W-2-1,J=U-1;Y>=0;Y--,J--)q+=`\nbIndices[${Y}] = ${U>1?`batchIndices[${J}]`:\"batchIndices\"};`;return S.forEach(Y=>{q+=`\nbIndices[${Y}] = 0;`}),q+=`\nbIndices[${W-2}] = u32(row);\n bIndices[${W-1}] = u32(colIn);`,q};return`\n fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${v.type.indices}) -> ${lt(e,k)} {\n var value = ${lt(e,k)}(0.0);\n let col = colIn * ${e};\n if(row < uniforms.dim_a_outer && col < uniforms.dim_inner)\n {\n ${M()}\n value = ${$.getByIndices(\"aIndices\")};\n }\n return value;\n }\n\n fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${v.type.indices}) -> ${lt(e,k)} {\n var value = ${lt(e,k)}(0.0);\n let col = colIn * ${e};\n if(row < uniforms.dim_inner && col < uniforms.dim_b_outer)\n {\n ${R()}\n value = ${_.getByIndices(\"bIndices\")};\n }\n return value;\n }\n\n fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${lt(e,k)}) {\n let col = colIn * ${e};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {\n var value = valueIn;\n let coords = vec3(batch, row, colIn);\n ${t?`value = value + ${c?\"bias[colIn]\":`${lt(e,k)}(bias[row])`};`:\"\"}\n ${r}\n ${x.setByIndices(\"vec3(coords)\",\"value\")}\n }\n }\n `},Rn=(e,t,r,u,o=!1)=>{let c=e[0].dims,p=e[1].dims,h=c.slice(0,-2),l=p.slice(0,-2),v=u?u.slice(0,-2):r.slice(0,-2),$=Q.size(v),_=c[c.length-2],x=c[c.length-1],A=p[p.length-1],S=x%4===0&&A%4===0,k=_<=8?[4,1,1]:[4,4,1],M=[8,8,1],R=[Math.ceil(A/M[0]/k[0]),Math.ceil(_/M[1]/k[1]),Math.ceil($/M[2]/k[2])],P=S?4:1,W=[...h,_,x/P],U=W.length,q=[...l,x,A/P],Y=q.length,J=[$,_,A/P],oe=[{type:6,data:_},{type:6,data:A},{type:6,data:x}];Lt(t,oe),oe.push(...se(v,W,q));let ge=[\"rank\",\"rank\"],H=e.length>2;H&&(oe.push(...se(e[2].dims)),ge.push(\"rank\")),oe.push(...se(J));let le=Ae=>{let Ue=v.length,We=$n(\"batchDims\",e[0].dataType,Ue,1),Ee=Ne(e[0].dataType),ee=X(\"a\",e[0].dataType,U,P),Ve=X(\"b\",e[1].dataType,Y,P),xe=ae(\"result\",e[0].dataType,J.length,P),Ce=[ee,Ve];if(H){let re=o?P:1;Ce.push(X(\"bias\",e[2].dataType,e[2].dims.length,re))}let be=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"}];Ht(t,be);let Se=Ne(xe.type.tensor),De=Gt(t,xe.type.value,Se),Ye=Oy(P,H,De,[We,ee,Ve,xe],[h,l,v],o);return`\n ${Ae.registerUniforms(be).registerInternalVariables(We).declareVariables(...Ce,xe)}\n ${Ye}\n ${S?xi(k,M,Ee,We):Si(k,M,Ee,We)}\n `};return{name:\"MatMul\",shaderCache:{hint:`${k};${t.activation};${S};${o}`,inputDependencies:ge},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:R[0],y:R[1],z:R[2]},programUniforms:oe}),getShaderSource:le}}});var Py,qd,Kd=ne(()=>{\"use strict\";$e();tr();Te();rr();On();xa();Ii();Py=(e,t,r,u,o=!1,c,p=4,h=4,l=4,v=\"f32\")=>{let $=H=>{switch(H){case 1:return\"resData = x[xIndex];\";case 3:return`resData = vec3<${v}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return\"resData = x[xIndex / 4];\";default:throw new Error(`innerElementSize ${H} is not supported.`)}},_=H=>{switch(H){case 1:return\"return w[row * i32(uniforms.w_shape[3]) + colIn];\";case 4:return\"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];\";default:throw new Error(`innerElementSize ${H} is not supported.`)}},x=e?`\n let coord = vec4(batch, xRow, xCol, xCh);\n `:`\n let coord = vec4(batch, xCh, xRow, xCol);\n `,A=e?`\n let coords = vec4(\n batch,\n row / outWidth,\n row % outWidth,\n col);\n `:`\n let coords = vec4(\n batch,\n row,\n col / outWidth,\n col % outWidth);\n `,S=e?\"i32(uniforms.x_shape[1])\":\"i32(uniforms.x_shape[2])\",k=e?\"i32(uniforms.x_shape[2])\":\"i32(uniforms.x_shape[3])\",M=e?\"row\":\"col\",R=e?\"col\":\"row\",P=`\n let inChannels = i32(uniforms.w_shape[2]);\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\n let outRow = ${M} / outWidth;\n let outCol = ${M} % outWidth;\n\n let WRow = ${R} / (i32(uniforms.w_shape[1]) * inChannels);\n let WCol = ${R} / inChannels % i32(uniforms.w_shape[1]);\n let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];\n let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];\n let xCh = ${R} % inChannels;\n var resData = ${lt(p,v)}(0.0);\n // The bounds checking is always needed since we use it to pad zero for\n // the 'same' padding type.\n if (xRow >= 0 && xRow < ${S} && xCol >= 0 && xCol < ${k}) {\n ${x}\n let xIndex = getIndexFromCoords4D(coord, vec4(uniforms.x_shape));\n ${$(p)}\n }\n return resData;`,W=e?t&&u?`\n let col = colIn * ${p};\n ${P}`:`\n let col = colIn * ${p};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {\n ${P}\n }\n return ${lt(p,v)}(0.0);`:u&&r?`\n let col = colIn * ${p};\n ${P}`:`\n let col = colIn * ${p};\n if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {\n ${P}\n }\n return ${lt(p,v)}(0.0);`,U=`${_(h)}`,q=lt(l,v),Y=e?lt(p,v):lt(h,v),J=e?lt(h,v):lt(p,v),oe=Gt(c,q,v);return`\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${Y} {\n ${e?W:U}\n }\n\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${J} {\n ${e?U:W}\n }\n\n fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${q}) {\n let col = colIn * ${l};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer)\n {\n var value = valueIn;\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\n ${A}\n ${kn(o)}\n ${oe}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }`},qd=(e,t,r,u,o,c,p,h)=>{let l=t.format===\"NHWC\",v=l?e[0].dims[3]:e[0].dims[1],$=r[0],_=l?r[2]:r[3],x=l?r[1]:r[2],A=l?r[3]:r[1],S=l&&(v%4===0||v%3===0)&&A%4===0,k=l?A:_*x,M=l?_*x:A,R=[8,8,1],P=u<=8?[4,1,1]:[4,4,1],W=[Math.ceil(k/R[0]/P[0]),Math.ceil(M/R[1]/P[1]),Math.ceil($/R[2]/P[2])];Fe(\"verbose\",()=>`[conv2d_mm_webgpu] dispatch = ${W}`);let U=S?l&&v%4!==0?3:4:1,q=R[1]*P[1],Y=R[0]*P[0],J=Math.max(R[0]*U,R[1]),oe=u%q===0,ge=o%Y===0,H=c%J===0,le=S?[U,4,4]:[1,1,1],Ae=[{type:6,data:u},{type:6,data:o},{type:6,data:c},{type:6,data:[t.pads[0],t.pads[1]]},{type:6,data:t.strides},{type:6,data:t.dilations}];Lt(t,Ae),Ae.push(...se(e[0].dims,e[1].dims));let Ue=[\"rank\",\"rank\"];p&&(Ae.push(...se(e[2].dims)),Ue.push(\"rank\")),Ae.push(...se(r));let We=Ee=>{let ee=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"},{name:\"pad\",type:\"i32\",length:2},{name:\"stride\",type:\"i32\",length:2},{name:\"dilation\",type:\"i32\",length:2}];Ht(t,ee);let Ve=S?4:1,xe=Ne(e[0].dataType),Ce=`\n fn setOutputAtIndex(flatIndex : i32, value : ${S?`vec4<${xe}>`:xe}) {\n result[flatIndex] = ${S?`vec4<${xe}>`:xe}(value);\n }\n fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${S?`vec4<${xe}>`:xe}) {\n let flatIndex = getOutputIndexFromCoords(vec4(d0, d1, d2, d3));\n setOutputAtIndex(flatIndex ${S?\"/ 4\":\"\"}, value);\n }`,be=X(\"x\",e[0].dataType,e[0].dims.length,U===3?1:U),Se=X(\"w\",e[1].dataType,e[1].dims.length,Ve),De=[be,Se],Ye=ae(\"result\",e[0].dataType,r.length,Ve);if(p){let re=X(\"bias\",e[2].dataType,e[2].dims.length,Ve);De.push(re),Ce+=`\n fn getBiasByOutputCoords(coords : vec4) -> ${S?`vec4<${xe}>`:xe} {\n return bias[coords.${l?\"w\":\"y\"}${S?\"/ 4\":\"\"}];\n }`}return`\n ${Pn(\"uniforms.result_strides\")}\n //struct Uniforms { xShape : vec4, wShape : vec4, outShape : vec4,\n // outShapeStrides: vec3, filterDims : vec2, pad : vec2, stride : vec2,\n // dilation : vec2, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };\n ${Ee.registerUniforms(ee).declareVariables(...De,Ye)}\n ${Ce}\n ${Py(l,oe,ge,H,p,t,le[0],le[1],le[2],xe)}\n ${S?xi(P,R,xe,void 0,!l,J):Si(P,R,xe,void 0,!l,J,!1,void 0,h)}`};return{name:\"Conv2DMatMul\",shaderCache:{hint:`${t.cacheKey};${U};${S};${oe};${ge};${H};${q};${Y};${J}`,inputDependencies:Ue},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:W[0],y:W[1],z:W[2]},programUniforms:Ae}),getShaderSource:We}}});var Sa,Yd=ne(()=>{\"use strict\";$e();Pe();Te();Ta();rr();Sa=(e,t,r)=>{let u=e.length>2,o=u?\"value += b[output_channel];\":\"\",c=e[0].dims,p=e[1].dims,h=p[0]/t.group,l=t.format===\"NHWC\",v=Ia(c,p,t.dilations,t.pads,t.strides,l),$=Q.size(v),_=[{type:12,data:$},{type:12,data:t.dilations},{type:12,data:[t.strides[0],t.strides[1]]},{type:12,data:[t.pads[0],t.pads[1]]},{type:12,data:h}];Lt(t,_),_.push(...se(c,p,v));let x=[\"rank\",\"rank\"];u&&(_.push(...se(e[2].dims)),x.push(\"rank\")),_.push(...se(v));let A=S=>{let k=ae(\"output\",e[0].dataType,v.length),M=Ne(k.type.tensor),R=Gt(t,k.type.value,M),P=X(\"x\",e[0].dataType,c.length),W=X(\"w\",e[1].dataType,p.length),U=[P,W];u&&U.push(X(\"b\",e[2].dataType,e[2].dims));let q=[{name:\"output_size\",type:\"u32\"},{name:\"dilations\",type:\"u32\",length:t.dilations.length},{name:\"strides\",type:\"u32\",length:2},{name:\"pads\",type:\"u32\",length:2},{name:\"output_channels_per_group\",type:\"u32\"}];return Ht(t,q),`\n ${S.registerUniforms(q).declareVariables(...U,k)}\n\n ${S.mainStart()}\n ${S.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let outputIndices = ${k.offsetToIndices(\"global_idx\")};\n let batch: u32 = outputIndices[0];\n let output_channel: u32 = outputIndices[${l?3:1}];\n let xRCCorner: vec2 = vec2(outputIndices[${l?1:2}], outputIndices[${l?2:3}]) * uniforms.strides - uniforms.pads;\n let group_id: u32 = output_channel / uniforms.output_channels_per_group;\n\n var value: ${k.type.value} = ${k.type.value}(0);\n for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[1]; wInChannel++) {\n let input_channel = group_id * uniforms.w_shape[1] + wInChannel;\n for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[2]; wHeight++) {\n let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];\n\n if (xHeight < 0u || xHeight >= uniforms.x_shape[${l?1:2}]) {\n continue;\n }\n\n for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[3]; wWidth++) {\n let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];\n if (xWidth < 0u || xWidth >= uniforms.x_shape[${l?2:3}]) {\n continue;\n }\n\n let xVal = ${l?P.get(\"batch\",\"xHeight\",\"xWidth\",\"input_channel\"):P.get(\"batch\",\"input_channel\",\"xHeight\",\"xWidth\")};\n let wVal = ${W.get(\"output_channel\",\"wInChannel\",\"wHeight\",\"wWidth\")};\n value += xVal*wVal;\n }\n }\n }\n ${o}\n ${R}\n ${k.setByOffset(\"global_idx\",\"value\")}\n }`};return{name:\"GroupedConv\",shaderCache:{hint:t.cacheKey,inputDependencies:x},getRunData:()=>({outputs:[{dims:r?r(v):v,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil($/64)},programUniforms:_}),getShaderSource:A}}});var Aa,Ry,Qd,Ea=ne(()=>{\"use strict\";$e();Pe();Ii();Te();rr();Aa=(e,t,r,u,o=!1)=>{let c=e[0].dims,p=e[1].dims,h=c[c.length-2],l=p[p.length-1],v=c[c.length-1],$=et(l),_=et(v),x=et(h),A=Q.size(r)/$/x,S=e.length>2,k=u?u.slice(0,-2):r.slice(0,-2),R=[Q.size(k),h,l],P=[{type:12,data:A},{type:12,data:h},{type:12,data:l},{type:12,data:v}];Lt(t,P),P.push(...se(k,c,p)),S&&P.push(...se(e[2].dims)),P.push(...se(R));let W=U=>{let q=$n(\"batch_dims\",e[0].dataType,k.length),Y=X(\"a\",e[0].dataType,c.length,_),J=X(\"b\",e[1].dataType,p.length,$),oe=ae(\"output\",e[0].dataType,R.length,$),ge=Ne(oe.type.tensor),H=Gt(t,oe.type.value,ge),le=[Y,J],Ae=\"\";if(S){let be=o?$:1;le.push(X(\"bias\",e[2].dataType,e[2].dims.length,be)),Ae=`${o?`value += bias[col / ${be}];`:`value += ${oe.type.value}(bias[row + i]);`}`}let Ue=c.slice(0,-2),We=p.slice(0,-2),Ee=Dr(Ue,k),ee=Dr(We,k),Ve=[{name:\"output_size\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"}];Ht(t,Ve);let xe=(be,Se)=>{let De=be.rank,Ye=be.name;if(De===2)return`var ${Ye}_indices = ${be.type.indices}(0u, 0u);`;let re=q.rank,pe=`var ${Ye}_indices: ${be.type.indices};`;for(let _e=De-2-1,at=re-1;_e>=0;_e--,at--)pe+=`\n${Ye}_indices[${_e}] = ${re>1?`batch_indices[${at}]`:\"batch_indices\"};`;return Se.forEach(_e=>{pe+=`\n${Ye}_indices[${_e}] = 0;`}),pe+=`${Ye}_indices[${De-2}] = 0u;\n ${Ye}_indices[${De-1}] = 0u;`,pe},Ce=()=>{let be=`var a_data: ${Y.type.value};`;for(let Se=0;Se<_;Se++)be+=`\n let b_data${Se} = b[(b_offset + (k + ${Se}) * uniforms.N + col) / ${$}];`;for(let Se=0;Se;\n for (var k: u32 = 0u; k < uniforms.K; k = k + ${_}) {\n ${Ce()}\n }\n for (var i = 0u; i < ${x}u; i++) {\n var value = values[i];\n ${Ae}\n ${H}\n let cur_indices = ${oe.type.indices}(batch, row + i, col);\n let offset = ${oe.indicesToOffset(\"cur_indices\")};\n ${oe.setByOffset(`offset / ${$}`,\"value\")};\n }\n }\n `};return{name:\"MatMulNaive\",shaderCache:{hint:`${t.activation};${$};${_};${x};${o}`,inputDependencies:S?[\"rank\",\"rank\",\"rank\"]:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(A/64)},programUniforms:P}),getShaderSource:W}},Ry=e=>{if(!e||e.length!==2)throw new Error(\"MatMul requires 2 inputs.\");if(e[0].dims[e[0].dims.length-1]!==e[1].dims[e[1].dims.length-2])throw new Error(\"shared dimension does not match.\")},Qd=e=>{Ry(e.inputs);let t=Mt.calcShape(e.inputs[0].dims,e.inputs[1].dims,!0);if(!t)throw new Error(\"Can't use matmul on the given tensors\");let r=t[t.length-1],u=e.inputs[0].dims[e.inputs[0].dims.length-1];r<8&&u<8?e.compute(Aa(e.inputs,{activation:\"\"},t)):e.compute(Rn(e.inputs,{activation:\"\"},t))}});var Ia,Zd,By,Xd,ka,zy,Dy,Oa,Ta=ne(()=>{\"use strict\";Pe();Kd();Ii();Yd();rr();Ea();Mr();Ia=(e,t,r,u,o,c)=>{let p=e[0],h=e.slice(c?1:2,c?3:4),l=h.length,v=t[0],_=t.slice(2).map((S,k)=>S+(S-1)*(r[k]-1)),A=h.map((S,k)=>S+u[k]+u[k+l]).map((S,k)=>Math.floor((S-_[k]+o[k])/o[k]));return A.splice(0,0,p),A.splice(c?3:1,0,v),A},Zd=[2,3,1,0],By=(e,t)=>{if(!e||e.length!==2&&e.length!==3)throw new Error(\"Conv requires 2 or 3 inputs\");if(e[0].dims.length!==4&&e[0].dims.length!==3)throw new Error(\"currently only support conv 1D and 2D\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"filter does not have same dimension as input\");let r=e[0].dims[t.format===\"NHWC\"?e[0].dims.length-1:1],u=e[1].dims[1]*t.group;if(r!==u)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");if(e.length===3&&(e[2].dims.length!==1||e[1].dims[0]!==e[2].dims[0]))throw new Error(\"invalid bias\");let o=e[0].dims.length-2;if(t.dilations.length!==o)throw new Error(`dilations should be ${o}D`);if(t.strides.length!==o)throw new Error(`strides should be ${o}D`);if(t.pads.length!==o*2)throw new Error(`pads should be ${o*2}D`);if(t.kernelShape.length!==0&&t.kernelShape.length!==e[1].dims.length-2)throw new Error(\"invalid kernel shape\")},Xd=(e,t)=>{let r=e.kernelShape.slice();for(let c=2;c{let t=En(e),r=e.format,u=[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][e.auto_pad],o=e.dilations,c=e.group,p=e.kernel_shape,h=e.pads,l=e.strides,v=e.w_is_const();return{autoPad:u,format:r,dilations:o,group:c,kernelShape:p,pads:h,strides:l,wIsConst:v,...t,cacheKey:`${e.format};${t.activation};`}},zy=(e,t,r)=>{let u=Xd(r,t),o=r.format===\"NHWC\";if(r.group!==1){e.compute(Sa(t,u));return}let c=t.length===3,p=t[0].dims[o?1:2],h=t[0].dims[o?2:3],l=t[0].dims[o?3:1],v=t[1].dims[2],$=t[1].dims[3],_=Ia(t[0].dims,t[1].dims,r.dilations,u.pads,r.strides,o),x=_[o?1:2],A=_[o?2:3],S=_[o?3:1],k=o&&v===p&&$===h&&r.pads[0]===0&&r.pads[1]===0;if(k||v===1&&$===1&&r.dilations[0]===1&&r.dilations[1]===1&&r.strides[0]===1&&r.strides[1]===1&&r.pads[0]===0&&r.pads[1]===0){let Y=_[0],J,oe,ge,H=[];if(o){let Ue=e.kernelCustomData.wT??e.compute(Bt(t[1],Zd),{inputs:[1],outputs:[r.wIsConst?-2:-1]})[0];if(r.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=Ue),k){let We=p*h*l;J=t[0].reshape([1,Y,We]),oe=Ue.reshape([1,We,S]),ge=[1,Y,S]}else J=t[0].reshape([Y,p*h,l]),oe=Ue.reshape([1,l,S]),ge=[Y,x*A,S];H.push(J),H.push(oe)}else J=t[0].reshape([Y,l,p*h]),oe=t[1].reshape([1,S,l]),ge=[Y,S,x*A],H.push(oe),H.push(J);c&&H.push(t[2]);let le=ge[2],Ae=H[0].dims[H[0].dims.length-1];le<8&&Ae<8?e.compute(Aa(H,u,_,ge,o),{inputs:H}):e.compute(Rn(H,u,_,ge,o),{inputs:H});return}let M=!0,R=e.kernelCustomData.wT??e.compute(Bt(t[1],Zd),{inputs:[1],outputs:[r.wIsConst?-2:-1]})[0];r.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=R);let P=[t[0],R];c&&P.push(t[2]);let W=o?x*A:S,U=o?S:x*A,q=v*$*l;e.compute(qd(P,u,_,W,U,q,c,M),{inputs:P})},Dy=(e,t)=>{let r=t.format===\"NHWC\",u=[e.inputs[0].reshape(r?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];e.inputs.length===3&&u.push(e.inputs[2]);let o=[0,t.pads[0],0,t.pads[1]],c=[1].concat(t.strides),p=[1].concat(t.dilations),h=[1].concat(t.kernelShape),l=Xd({...t,pads:o,strides:c,dilations:p,kernelShape:h},u);e.compute(Sa(u,l,v=>r?[v[0],v[2],v[3]]:[]))},Oa=(e,t)=>{By(e.inputs,t),e.inputs[0].dims.length===3?Dy(e,t):zy(e,e.inputs,t)}});var My,Jd,ec=ne(()=>{\"use strict\";$e();tr();Te();rr();On();xa();Ii();My=(e,t=!1,r,u,o=4)=>{let c=R=>{switch(R){case 1:return\"return w[getIndexFromCoords4D(coord, vec4(uniforms.w_shape))];\";case 4:return`\n let coord1 = vec4(coordX, coordY, col + 1, rowInner);\n let coord2 = vec4(coordX, coordY, col + 2, rowInner);\n let coord3 = vec4(coordX, coordY, col + 3, rowInner);\n let v0 = w[getIndexFromCoords4D(coord, vec4(uniforms.w_shape))];\n let v1 = w[getIndexFromCoords4D(coord1, vec4(uniforms.w_shape))];\n let v2 = w[getIndexFromCoords4D(coord2, vec4(uniforms.w_shape))];\n let v3 = w[getIndexFromCoords4D(coord3, vec4(uniforms.w_shape))];\n return ${u}(v0, v1, v2, v3);\n `;default:throw new Error(`innerElementSize ${R} is not supported.`)}},p=e?`\n let coord = vec4(batch, iXR, iXC, xCh);\n `:`\n let coord = vec4(batch, xCh, iXR, iXC);\n `,h=e?`\n let coords = vec4(\n batch,\n row / outWidth,\n row % outWidth,\n col);\n `:`\n let coords = vec4(\n batch,\n row,\n col / outWidth,\n col % outWidth);\n `,l=e?\"i32(uniforms.x_shape[1])\":\"i32(uniforms.x_shape[2])\",v=e?\"i32(uniforms.x_shape[2])\":\"i32(uniforms.x_shape[3])\",$=e?\"row\":\"col\",_=e?\"col\":\"row\",x=`\n let inChannels = ${e?\"i32(uniforms.x_shape[3])\":\"i32(uniforms.x_shape[1])\"};\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\n let outRow = ${$} / outWidth;\n let outCol = ${$} % outWidth;\n\n let WRow = ${_} / (uniforms.filter_dims[1] * inChannels);\n let WCol = ${_} / inChannels % uniforms.filter_dims[1];\n let xR = f32(outRow - uniforms.pads[0] + uniforms.dilations[0] * WRow) / f32(uniforms.strides[0]);\n let xC = f32(outCol - uniforms.pads[1] + uniforms.dilations[1] * WCol) / f32(uniforms.strides[1]);\n if (xR < 0.0 || xR >= f32(${l}) || fract(xR) > 0.0) {\n return ${u}(0.0);\n }\n if (xC < 0.0 || xC >= f32(${v}) || fract(xC) > 0.0) {\n return ${u}(0.0);\n }\n let iXR = i32(xR);\n let iXC = i32(xC);\n let xCh = ${_} % inChannels;\n ${p}\n return x[getIndexFromCoords4D(coord, vec4(uniforms.x_shape))/${o}];`,A=e?`\n let col = colIn * ${o};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {\n ${x}\n }\n return ${u}(0.0);`:`\n let col = colIn * ${o};\n if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {\n ${x}\n }\n return ${u}(0.0);`,S=`\n let col = colIn * ${o};\n let inChannels = ${e?\"i32(uniforms.x_shape[3])\":\"i32(uniforms.x_shape[1])\"};\n let coordX = uniforms.filter_dims[0] - 1 - row / (uniforms.filter_dims[1] * inChannels);\n let coordY = uniforms.filter_dims[1] - 1 - (row / inChannels) % uniforms.filter_dims[1];\n if (${e?\"row < uniforms.dim_inner && col < uniforms.dim_b_outer\":\"row < uniforms.dim_inner && col < uniforms.dim_a_outer\"} && coordX >= 0 && coordY >= 0) {\n let rowInner = row % inChannels;\n let coord = vec4(coordX, coordY, col, rowInner);\n ${c(o)}\n }\n return ${u}(0.0);\n `,k=Gt(r,u);return`\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${u} {\n ${e?A:S}\n }\n\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${u} {\n ${e?S:A}\n }\n\n fn mm_write(batch: i32, row : i32, colIn : i32, valueInput : ${u}) {\n let col = colIn * ${o};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {\n var value = valueInput;\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\n ${h}\n ${kn(t)}\n ${k}\n result[getIndexFromCoords4D(coords, vec4(uniforms.result_shape))/${o}] = value;\n }\n }`},Jd=(e,t,r,u,o,c,p,h)=>{let l=t.format===\"NHWC\",v=l?e[0].dims[3]:e[0].dims[1],$=r[0],_=l?r[2]:r[3],x=l?r[1]:r[2],A=l?r[3]:r[1],S=l?v%4===0&&A%4===0:_%4===0&&A%4===0,k=l?A:_*x,M=l?_*x:A,R=S?[8,8,1]:[k<=4||M<=4?4:16,k>4&&M<=4?4:16,1],P=S?[4,4,1]:[k<=4?1:4,k>4&&M<=4?1:4,1],W=[Math.ceil(k/R[0]/P[0]),Math.ceil(M/R[1]/P[1]),Math.ceil($/R[2]/P[2])];Fe(\"verbose\",()=>`[conv_backprop_mm_webgpu] dispatch = ${W}`);let U=S?4:1,q=Math.max(R[0]*U,R[1]),Y=S?4:1,J=[t.kernelShape[l?1:2],t.kernelShape[l?2:3]],oe=[J[0]+(t.dilations[0]<=1?0:(J[0]-1)*(t.dilations[0]-1)),J[1]+(t.dilations[1]<=1?0:(J[1]-1)*(t.dilations[1]-1))],ge=[oe[0]-1-Math.floor((t.pads[0]+t.pads[2])/2),oe[1]-1-Math.floor((t.pads[1]+t.pads[3])/2)],H=[{type:6,data:u},{type:6,data:o},{type:6,data:c},{type:6,data:t.strides},{type:6,data:t.dilations},{type:6,data:J},{type:6,data:ge}];Lt(t,H),H.push(...se(e[0].dims,e[1].dims));let le=[\"rank\",\"rank\"];p&&(H.push(...se(e[2].dims)),le.push(\"rank\")),H.push(...se(r));let Ae=Ue=>{let We=X(\"x\",e[0].dataType,e[0].dims.length,Y),Ee=X(\"w\",e[1].dataType,e[1].dims.length,1),ee=ae(\"result\",e[0].dataType,r.length,Y),Ve=[We,Ee],xe=\"\";if(p){let Se=X(\"bias\",e[2].dataType,e[2].dims.length,Y);Ve.push(Se),xe+=`\n fn getBiasByOutputCoords(coords : vec4) -> ${Se.type.value} {\n return bias[coords.${l?\"w\":\"y\"}${S?\"/ 4\":\"\"}];\n }`}let Ce=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"},{name:\"strides\",type:\"i32\",length:2},{name:\"dilations\",type:\"i32\",length:2},{name:\"filter_dims\",type:\"i32\",length:J.length},{name:\"pads\",type:\"i32\",length:ge.length}];Ht(t,Ce);let be=Ne(e[0].dataType,1);if(be!==\"f16\"&&be!==\"f32\")throw new Error(`elemType ${be} is not supported.`);return`\n ${Pn(\"uniforms.result_strides\")}\n ${Ue.registerUniforms(Ce).declareVariables(...Ve,ee)};\n ${xe}\n ${My(l,p,t,We.type.value,U)}\n ${S?xi(P,R,be,void 0,!l,q):Si(P,R,be,void 0,!l,q,!1,void 0,h)}`};return{name:\"Conv2DTransposeMatMul\",shaderCache:{hint:`${t.cacheKey};${P};${R};${S}`,inputDependencies:le},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:W[0],y:W[1],z:W[2]},programUniforms:H}),getShaderSource:Ae}}});var jy,Pa,tc=ne(()=>{\"use strict\";$e();tr();Pe();Te();jy=(e,t,r,u,o,c=!1,p,h,l=!1)=>{let v=l?1:2,$=l?2:3,_=l?3:1,x=c?2:1,A=`\n fn setOutputAtIndex(flatIndex : u32, value : ${c?`vec4<${p}>`:p}) {\n result[flatIndex] = ${c?`vec4<${p}>`:p}(value);\n }`;u&&(A+=`\n fn getBiasByOutputCoords(coords : vec4) -> ${c?`vec4<${p}>`:p} {\n return bias[coords.${l?\"w\":\"y\"}${c?\"/ 4\":\"\"}];\n }`);let S=c?4:1,k=X(\"W\",t[1].dataType,t[1].dims.length,S),M=X(\"Dy\",t[0].dataType,t[0].dims.length,S),R=[M,k];u&&R.push(X(\"bias\",t[2].dataType,[r[_]].length,S));let P=ae(\"result\",t[0].dataType,r.length,S),W=`{\n let batch: u32 = ${o?\"global_id.z\":\"workgroup_id.z\"} / uniforms.result_shape[1];\n let r = ${o?\"global_id.z\":\"workgroup_id.z\"} % uniforms.result_shape[1];\n let c = ${o?\"global_id.y\":\"workgroup_id.y\"} * ${x};\n let d1: u32 = ${o?\"global_id.x\":\"workgroup_id.x\"} * 4;\n\n let dyCorner = vec2(i32(r), i32(c)) - vec2(uniforms.pads);\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n var dotProd: array, ${x}>;\n for (var i = 0; i < ${x}; i++) {\n dotProd[i] = vec4<${p}>(0.0);\n }\n for (var wR: u32 = 0; wR < uniforms.filter_dims[0]; wR = wR + 1) {\n var dyR = (${p}(dyCorner.x) + ${p}(wR)) / ${p}(uniforms.strides.x);\n let wRPerm = uniforms.filter_dims[0] - 1 - wR;\n if (dyR < 0.0 || dyR >= ${p}(uniforms.Dy_shape[1]) ||\n fract(dyR) > 0.0 || wRPerm < 0) {\n continue;\n }\n let idyR: u32 = u32(dyR);\n\n for (var wC: u32 = 0; wC < uniforms.filter_dims[1]; wC = wC + 1) {\n let dyC = (${p}(dyCorner.y) + ${p}(wC)) / ${p}(uniforms.strides.y);\n let dyC2 = (${p}(dyCorner.y) + 1.0 + ${p}(wC)) / ${p}(uniforms.strides.y);\n let wCPerm = uniforms.filter_dims[1] - 1 - wC;\n if (wCPerm < 0) {\n continue;\n }\n var bDyCVal = true;\n var bDyCVal2 = true;\n if (dyC < 0.0 || dyC >= ${p}(uniforms.Dy_shape[2]) ||\n fract(dyC) > 0.0) {\n bDyCVal = false;\n }\n if (dyC2 < 0.0 || dyC2 >= ${p}(uniforms.Dy_shape[2]) ||\n fract(dyC2) > 0.0) {\n bDyCVal2 = false;\n }\n\n let idyC: u32 = u32(dyC);\n let idyC2: u32 = u32(dyC2);\n if (bDyCVal && bDyCVal2) {\n let d2Length = uniforms.Dy_shape[3];\n for (var d2 :u32 = 0; d2 < d2Length; d2 = d2 + 4) {\n let wValue0 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1\",\"d2\")};\n let wValue1 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 1\",\"d2\")};\n let wValue2 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 2\",\"d2\")};\n let wValue3 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 3\",\"d2\")};\n\n var xValue = ${M.get(\"batch\",\"idyR\",\"idyC\",\"d2\")};\n let tmpval = vec4<${p}>(dot(xValue, wValue0),\n dot(xValue, wValue1),\n dot(xValue, wValue2),\n dot(xValue, wValue3));\n dotProd[0] = dotProd[0] + tmpval;\n\n xValue = ${M.get(\"batch\",\"idyR\",\"idyC2\",\"d2\")};\n\n dotProd[1] = dotProd[1] + vec4<${p}>(dot(xValue, wValue0),\n dot(xValue, wValue1),\n dot(xValue, wValue2),\n dot(xValue, wValue3));\n }\n } else if (bDyCVal) {\n let d2Length = uniforms.Dy_shape[${_}];\n for (var d2: u32 = 0; d2 < d2Length; d2 = d2 + 4) {\n let wValue0 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1\",\"d2\")};\n let wValue1 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 1\",\"d2\")};\n let wValue2 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 2\",\"d2\")};\n let wValue3 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 3\",\"d2\")};\n\n var xValue = ${M.get(\"batch\",\"idyR\",\"idyC\",\"d2\")};\n let tmpval = vec4<${p}>(dot(xValue, wValue0),\n dot(xValue, wValue1),\n dot(xValue, wValue2),\n dot(xValue, wValue3));\n dotProd[0] = dotProd[0] + tmpval;\n }\n } else if (bDyCVal2) {\n let d2Length = uniforms.Dy_shape[3];\n for (var d2: u32 = 0; d2 < d2Length; d2 = d2 + 4) {\n let wValue0 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1\",\"d2\")};\n let wValue1 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 1\",\"d2\")};\n let wValue2 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 2\",\"d2\")};\n let wValue3 = ${k.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 3\",\"d2\")};\n\n var xValue = ${M.get(\"batch\",\"idyR\",\"idyC2\",\"d2\")};\n let tmpval = vec4<${p}>(dot(xValue, wValue0),\n dot(xValue, wValue1),\n dot(xValue, wValue2),\n dot(xValue, wValue3));\n dotProd[1] = dotProd[1] + tmpval;\n }\n }\n }\n }\n\n for (var i: u32 = 0; i < ${x}; i = i + 1) {\n let value = dotProd[i] + ${u?\"bias[c+i]\":`vec4<${p}>(0.0)`};\n ${P.set(\"batch\",\"r\",\"c + i\",\"d1\",\"value\")};\n }\n }`,U=`\n let outputIndices = ${P.offsetToIndices(\"global_idx\")};\n let batch = ${P.indicesGet(\"outputIndices\",0)};\n let d1 = ${P.indicesGet(\"outputIndices\",_)};\n let r = ${P.indicesGet(\"outputIndices\",v)};\n let c = ${P.indicesGet(\"outputIndices\",$)};\n let dyCorner = vec2(i32(r), i32(c)) - uniforms.pads;\n let dyRCorner = dyCorner.x;\n let dyCCorner = dyCorner.y;\n let groupId = d1 / uniforms.output_channels_per_group;\n let wOutChannel = d1 - groupId * uniforms.output_channels_per_group;\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n var dotProd = ${p}(0.0);\n for (var wR: u32 = 0; wR < uniforms.effective_filter_dims.x; wR = wR + 1) {\n if (wR % uniforms.dilations.x != 0) {\n continue;\n }\n let dyR = (${p}(dyRCorner) + ${p}(wR)) / ${p}(uniforms.strides[0]);\n let wRPerm = uniforms.filter_dims.x - 1 - wR / uniforms.dilations.x;\n if (dyR < 0.0 || dyR >= ${p}(uniforms.Dy_shape[${v}]) || fract(dyR) > 0.0 ||\n wRPerm < 0) {\n continue;\n }\n let idyR: u32 = u32(dyR);\n\n for (var wC: u32 = 0; wC < uniforms.effective_filter_dims.y; wC = wC + 1) {\n if (wC % uniforms.dilations.y != 0) {\n continue;\n }\n let dyC = (${p}(dyCCorner) + ${p}(wC)) / ${p}(uniforms.strides.y);\n let wCPerm = uniforms.filter_dims.y - 1 - wC / uniforms.dilations.y;\n if (dyC < 0.0 || dyC >= ${p}(uniforms.Dy_shape[${$}]) ||\n fract(dyC) > 0.0 || wCPerm < 0) {\n continue;\n }\n let idyC: u32 = u32(dyC);\n var inputChannel = groupId * uniforms.input_channels_per_group;\n for (var d2: u32 = 0; d2 < uniforms.input_channels_per_group; d2 = d2 + 1) {\n let xValue = ${l?M.get(\"batch\",\"idyR\",\"idyC\",\"inputChannel\"):M.get(\"batch\",\"inputChannel\",\"idyR\",\"idyC\")};\n let wValue = ${k.get(\"inputChannel\",\"wOutChannel\",\"u32(wRPerm)\",\"u32(wCPerm)\")};\n dotProd = dotProd + xValue * wValue;\n inputChannel = inputChannel + 1;\n }\n }\n }\n let value = dotProd + ${u?\"bias[d1]\":`${p}(0.0)`};\n ${P.setByOffset(\"global_idx\",\"value\")};\n `;return`\n ${e.registerUniforms(h).declareVariables(...R,P)}\n ${A}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")};\n ${c?W:U}}`},Pa=(e,t,r)=>{let u=e.length>2,o=t.outputShape,c=Q.size(o),p=[Math.ceil(c/64),1,1];Fe(\"verbose\",()=>`[conv2d_backprop_webgpu] dispatch = ${p}`);let h=t.format===\"NHWC\",l=[\"rank\",\"rank\"],v=[t.strides[0],t.strides[1]],$=[t.kernelShape[h?1:2],t.kernelShape[h?2:3]],_=[t.dilations[0],t.dilations[1]],x=[$[0]+(t.dilations[0]<=1?0:(t.kernelShape[h?1:2]-1)*(t.dilations[0]-1)),$[1]+(t.dilations[1]<=1?0:(t.kernelShape[h?2:3]-1)*(t.dilations[1]-1))],A=[x[0]-1-Math.floor((t.pads[0]+t.pads[2])/2),x[1]-1-Math.floor(t.pads[1]+t.pads[3])/2],S=!1,k=t.group,M=e[1].dims,R=M[0]/k,P=M[1],W=[{type:6,data:c},{type:12,data:v},{type:12,data:$},{type:12,data:_},{type:12,data:x},{type:6,data:A},{type:12,data:R},{type:12,data:P},...se(e[0].dims,e[1].dims)];u&&(W.push(...se(e[2].dims)),l.push(\"rank\")),W.push(...se(o));let U=p[1]===1&&p[2]===1,q=Y=>{let J=[{name:\"output_size\",type:\"u32\"},{name:\"strides\",type:\"u32\",length:v.length},{name:\"filter_dims\",type:\"u32\",length:$.length},{name:\"dilations\",type:\"u32\",length:$.length},{name:\"effective_filter_dims\",type:\"u32\",length:x.length},{name:\"pads\",type:\"i32\",length:A.length},{name:\"input_channels_per_group\",type:\"u32\"},{name:\"output_channels_per_group\",type:\"u32\"}],oe=Ne(e[0].dataType);return`${jy(Y,e,o,u,U,S,oe,J,h)}`};return{name:\"ConvTranspose2D\",shaderCache:{hint:`${t.cacheKey};`,inputDependencies:l},getRunData:()=>({dispatchGroup:{x:p[0],y:p[1],z:p[2]},outputs:[{dims:r?r(o):o,dataType:e[0].dataType}],programUniforms:W}),getShaderSource:q}}});var Uy,Wy,Ny,rc,ic,Vy,Gy,Ly,Hy,nc,ac=ne(()=>{\"use strict\";ec();tc();rr();Mr();Uy=(e,t,r,u,o,c)=>(e-1)*t+r+(u-1)*o+1-c,Wy=(e,t,r,u,o)=>{let c=Math.floor(e/2);t===\"SAME_UPPER\"?(r[u]=c,r[o]=e-c):t===\"SAME_LOWER\"&&(r[u]=e-c,r[o]=c)},Ny=(e,t,r,u,o,c,p,h,l,v)=>{let $=e.length-2,_=v.length===0;if(l.length===0)for(let S=0;S<$;++S)l.push(0);let x=e[0],A=t[h?3:1]*o;for(let S=0,k=e.length-$-(h?1:0);S<$;++S,++k){let M=e[k],R=_?M*p[S]:v[S],P=Uy(M,p[S],c[S],t[k],r[S],R);Wy(P,u,c,S,S+$),_&&v.push(p[S]*(M-1)+l[S]+(t[k]-1)*r[S]+1-c[S]-c[S+$])}v.splice(0,0,x),v.splice(h?3:1,0,A)},rc=(e,t)=>{let r=e.kernelShape.slice();if(e.kernelShape.length===0||e.kernelShape.reduce((_,x)=>_*x,1)===0){r.length=0;for(let _=2;__+x,0)===0){let _=t[0].dims.length-2;l=new Array(_).fill(1)}let v=e.strides.slice();if(v.reduce((_,x)=>_+x,0)===0){let _=t[0].dims.length-2;v=new Array(_).fill(1)}Ny(h,r,l,e.autoPad,e.group,o,v,u,p,c);let $=Object.assign({},e);return Object.assign($,{kernelShape:r,pads:o,outputPadding:p,outputShape:c,dilations:l,strides:v}),$},ic=e=>{let t=En(e),r=e.format,u=[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][typeof e.autoPad>\"u\"?0:e.autoPad],o=e.dilations,c=e.group,p=e.kernelShape,h=e.pads,l=e.strides,v=e.wIsConst(),$=e.outputPadding,_=e.outputShape;return{autoPad:u,format:r,dilations:o,group:c,kernelShape:p,outputPadding:$,outputShape:_,pads:h,strides:l,wIsConst:v,...t,cacheKey:`${e.format};${t.activation};`}},Vy=(e,t)=>{if(!e||e.length!==2&&e.length!==3)throw new Error(\"Conv requires 2 or 3 inputs\");if(e[0].dims.length!==4&&e[0].dims.length!==3)throw new Error(\"currently only support 2-dimensional conv\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"filter does not have same dimension as input\");let r=e[0].dims[t.format===\"NHWC\"?e[0].dims.length-1:1],u=e[1].dims[0];if(r!==u)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");let o=e[1].dims[1]*t.group;if(e.length===3&&(e[2].dims.length!==1||e[2].dims[0]!==o))throw new Error(\"invalid bias\");let c=e[0].dims.length-2;if(t.dilations.reduce(($,_)=>$+_,0)>0&&t.dilations.length!==c)throw new Error(`dilations should be ${c}D`);if(t.strides.reduce(($,_)=>$+_,0)>0&&t.strides.length!==c)throw new Error(`strides should be ${c}D`);if(t.pads.reduce(($,_)=>$+_,0)>0&&t.pads.length!==c*2)throw new Error(`pads should be ${c*2}D`);if(t.outputPadding.length!==c&&t.outputPadding.length!==0)throw new Error(`output_padding should be ${c}D`);if(t.kernelShape.reduce(($,_)=>$+_,0)>0&&t.kernelShape.length!==0&&t.kernelShape.length!==e[1].dims.length-2)throw new Error(\"invalid kernel shape\");if(t.outputShape.length!==0&&t.outputShape.length!==e[0].dims.length-2)throw new Error(\"invalid output shape\")},Gy=[2,3,1,0],Ly=(e,t,r)=>{let u=rc(r,t),o=r.format===\"NHWC\",c=u.outputShape,p=c[o?3:1],h=t[0].dims[o?3:1];if(u.group!==1||p===1&&h===1){e.compute(Pa(t,u));return}let l=c[o?1:2],v=c[o?2:3],$=t[1].dims[2],_=t[1].dims[3],x=o?l*v:p,A=o?p:l*v,S=$*_*h,k=!0,M=e.kernelCustomData.wT??e.compute(Bt(t[1],Gy),{inputs:[1],outputs:[r.wIsConst?-2:-1]})[0];r.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=M);let R=[t[0],M],P=t.length===3;P&&(!o&&t[2].dims.length===1?R.push(t[2].reshape([t[2].dims[0],1,1])):R.push(t[2])),e.compute(Jd(R,u,c,x,A,S,P,k),{inputs:R})},Hy=(e,t)=>{let r=t.format===\"NHWC\",u=[e.inputs[0].reshape(r?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];u.length===3&&u.push(e.inputs[2]);let o=t.kernelShape;(o.length===0||o[0]===0)&&(o=[e.inputs[1].dims[2]]);let c=t.dilations;(c.length===0||c[0]===0)&&(c=[1]);let p=t.strides;(p.length===0||p[0]===0)&&(p=[1]);let h=t.pads;h.length===0&&(h=[0,0]),h=[0,h[0],0,h[1]],p=[1].concat(p),c=[1].concat(c),o=[1].concat(o);let l=rc({...t,pads:h,strides:p,dilations:c,kernelShape:o},u);e.compute(Pa(u,l,v=>r?[v[0],v[2],v[3]]:[v[0],v[1],v[3]]))},nc=(e,t)=>{Vy(e.inputs,t),e.inputs[0].dims.length===3?Hy(e,t):Ly(e,e.inputs,t)}});var Fy,oc,sc,uc=ne(()=>{\"use strict\";$e();Pe();nt();Te();Fy=(e,t,r,u)=>{let o=Q.size(t),c=t.length,p=X(\"input\",e,c),h=ae(\"output\",e,c),l=r.dataType===6?r.getInt32Array()[0]:Number(r.getBigInt64Array()[0]),v=Q.normalizeAxis(l,c),$=_=>{let x=` i32(${p.indicesGet(\"inputIndices\",\"uniforms.axis\")}) `,A=we(\"uniforms.input_shape\",\"uniforms.axis\",c),S=u.reverse?x+(u.exclusive?\" + 1\":\"\"):\"0\",k=u.reverse?A:x+(u.exclusive?\"\":\" + 1\");return`\n ${_.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axis\",\"u32\").declareVariables(p,h)}\n ${_.mainStart()}\n ${_.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var inputIndices = ${h.offsetToIndices(\"global_idx\")};\n var sum = ${h.type.value}(0);\n let first : i32 = ${S};\n let last : i32 = ${k};\n for (var i : i32 = first; i < last; i++) {\n ${p.indicesSet(\"inputIndices\",\"uniforms.axis\",\"u32(i)\")};\n sum = sum + ${p.getByIndices(\"inputIndices\")};\n }\n ${h.setByOffset(\"global_idx\",\"sum\")};\n }`};return{name:\"CumSum\",shaderCache:{hint:u.cacheKey,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:t,dataType:e}],dispatchGroup:{x:Math.ceil(o/64)},programUniforms:[{type:12,data:o},{type:6,data:v},...se(t,t)]}),getShaderSource:$}},oc=(e,t)=>{let r=e.inputs[0].dims,u=e.inputs[0].dataType,o=e.inputs[1];e.compute(Fy(u,r,o,t),{inputs:[0]})},sc=e=>{let t=e.exclusive===1,r=e.reverse===1;return Oe({exclusive:t,reverse:r})}});var Ra,Bn,lc,qy,Ky,Ba,za,dc,Yy,cc,pc,fc=ne(()=>{\"use strict\";$e();Pe();nt();Te();Ra=\"[a-zA-Z]|\\\\.\\\\.\\\\.\",Bn=\"(\"+Ra+\")+\",lc=\"^\"+Bn+\"$\",qy=\"(\"+Bn+\",)*\"+Bn,Ky=\"^\"+qy+\"$\",Ba=class{constructor(t=-1){this.symbolToIndices=new Map,this.inputIndex=t}addSymbol(t,r){let u=this.symbolToIndices.get(t);u===void 0?u=[r]:u.push(r),this.symbolToIndices.set(t,u)}},za=class{constructor(t,r){this.equation=r;this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=new Array,this.outputDims=[];let[u,o]=r.includes(\"->\")?r.split(\"->\",2):[r,\"\"];if(!u.match(RegExp(Ky)))throw new Error(\"Invalid LHS term\");if(u.split(\",\").forEach((h,l)=>{let v=t[l].dims.slice();if(!h.match(RegExp(lc)))throw new Error(\"Invalid LHS term\");let $=this.processTerm(h,!0,v,l);this.lhs.push($)}),o===\"\")o+=[...this.symbolToInfo.entries()].filter(([h,l])=>l.count===1||h===\"...\").map(([h])=>h).join(\"\");else if(!o.match(RegExp(Bn)))throw new Error(\"Invalid RHS\");o.match(RegExp(Ra,\"g\"))?.forEach(h=>{if(h===\"...\")this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let l=this.symbolToInfo.get(h);if(l===void 0)throw new Error(\"Invalid RHS symbol\");this.outputDims.push(l.dimValue)}}),this.rhs=this.processTerm(o,!1,this.outputDims)}addSymbol(t,r,u){let o=this.symbolToInfo.get(t);if(o!==void 0){if(o.dimValue!==r&&o.count!==1)throw new Error(\"Dimension mismatch\");o.count++,o.inputIndices.push(u)}else o={count:1,dimValue:r,inputIndices:[u]};this.symbolToInfo.set(t,o)}processTerm(t,r,u,o=-1){let c=u.length,p=!1,h=[],l=0;if(!t.match(RegExp(lc))&&!r&&t!==\"\")throw new Error(\"Invalid LHS term\");let v=t.match(RegExp(Ra,\"g\")),$=new Ba(o);return v?.forEach((_,x)=>{if(_===\"...\"){if(p)throw new Error(\"Only one ellipsis is allowed per input term\");p=!0;let A=c-v.length+1;if(A<0)throw new Error(\"Ellipsis out of bounds\");if(h=u.slice(l,l+A),this.hasEllipsis){if(this.ellipsisDims.length!==h.length||this.ellipsisDims.toString()!==h.toString())throw new Error(\"Ellipsis dimensions mismatch\")}else if(r)this.hasEllipsis=!0,this.ellipsisDims=h;else throw new Error(\"Ellipsis must be specified in the LHS\");for(let S=0;Se+\"_max\",Yy=(e,t,r,u)=>{let c=e.map($=>$.length).map(($,_)=>X(`input${_}`,t,$)),p=Q.size(u),h=ae(\"output\",t,u.length),l=[...r.symbolToInfo.keys()].filter($=>!r.rhs.symbolToIndices.has($)),v=$=>{let _=[],x=\"var prod = 1.0;\",A=\"var sum = 0.0;\",S=\"sum += prod;\",k=[],M=[],R=[],P=[],W=r.symbolToInfo.size===r.rhs.symbolToIndices.size;r.symbolToInfo.forEach((q,Y)=>{if(r.rhs.symbolToIndices.has(Y)){let J=r.rhs.symbolToIndices.get(Y)?.[0];J!==void 0&&r.lhs.forEach((oe,ge)=>{if(q.inputIndices.includes(ge)){let H=oe.symbolToIndices.get(Y);if(H===void 0)throw new Error(\"Invalid symbol error\");H.forEach(le=>{_.push(`${c[ge].indicesSet(`input${ge}Indices`,le,h.indicesGet(\"outputIndices\",J))}`)})}})}else r.lhs.forEach((J,oe)=>{if(q.inputIndices.includes(oe)){let ge=J.symbolToIndices.get(Y);if(ge===void 0)throw new Error(\"Invalid symbol error\");ge.forEach(H=>{k.push(`${c[oe].indicesSet(`input${oe}Indices`,H,`${Y}`)}`)}),P.push(`prod *= ${c[oe].getByIndices(`input${oe}Indices`)};`)}}),M.push(`for(var ${Y}: u32 = 0; ${Y} < uniforms.${dc(Y)}; ${Y}++) {`),R.push(\"}\")});let U=W?[..._,`let sum = ${c.map((q,Y)=>q.getByIndices(`input${Y}Indices`)).join(\" * \")};`]:[..._,A,...M,...k,x,...P,S,...R];return`\n ${$.registerUniforms(l.map(q=>({name:`${dc(q)}`,type:\"u32\"}))).registerUniform(\"outputSize\",\"u32\").declareVariables(...c,h)}\n\n ${$.mainStart()}\n ${$.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var outputIndices = ${h.offsetToIndices(\"global_idx\")};\n ${c.map((q,Y)=>`var input${Y}Indices: ${c[Y].type.indices};`).join(`\n`)}\n ${U.join(`\n`)};\n ${h.setByOffset(\"global_idx\",\"sum\")};\n }`};return{name:\"Einsum\",shaderCache:{hint:r.equation,inputDependencies:e.map(()=>\"rank\")},getRunData:()=>{let $=l.filter(x=>r.symbolToInfo.has(x)).map(x=>({type:12,data:r.symbolToInfo.get(x)?.dimValue||0}));$.push({type:12,data:p});let _=e.map((x,A)=>[...se(x)]).reduce((x,A)=>x.concat(A),$);return _.push(...se(u)),{outputs:[{dims:u,dataType:t}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:_}},getShaderSource:v}},cc=(e,t)=>{let r=new za(e.inputs,t.equation),u=r.outputDims,o=e.inputs.map((c,p)=>c.dims);e.compute(Yy(o,e.inputs[0].dataType,r,u))},pc=e=>{let t=e.equation.replace(/\\s+/g,\"\");return Oe({equation:t})}});var Qy,mc,Zy,Xy,hc,gc=ne(()=>{\"use strict\";$e();Pe();Te();Qy=e=>{if(!e||e.length!==2)throw new Error(\"Expand requires 2 input.\");let t=e[0].dims,r=Array.from(e[1].getBigInt64Array(),Number),u=r.length{let r=e.length-t.length,u=[];for(let o=0;oe.length>t.length?mc(e,t):mc(t,e),Xy=e=>{let t=e[0].dims,r=Array.from(e[1].getBigInt64Array(),Number),u=Zy(t,r),o=e[0].dataType,c=o===9?4:1,p=Math.ceil(Q.size(u)/c),h=v=>{let $=X(\"input\",o,t.length,c),_=ae(\"output\",o,u.length,c),x;if(o===9){let A=(S,k,M=\"\")=>`\n let outputIndices${k} = ${_.offsetToIndices(`outputOffset + ${k}u`)};\n let offset${k} = ${$.broadcastedIndicesToOffset(`outputIndices${k}`,_)};\n let index${k} = offset${k} / 4u;\n let component${k} = offset${k} % 4u;\n ${S}[${k}] = ${M}(${$.getByOffset(`index${k}`)}[component${k}]);\n `;x=`\n let outputOffset = global_idx * ${c};\n var data = vec4(0);\n ${A(\"data\",0,\"u32\")}\n ${A(\"data\",1,\"u32\")}\n ${A(\"data\",2,\"u32\")}\n ${A(\"data\",3,\"u32\")}\n ${_.setByOffset(\"global_idx\",\"data\")}\n }`}else x=`\n let outputIndices = ${_.offsetToIndices(\"global_idx\")};\n let inputOffset = ${$.broadcastedIndicesToOffset(\"outputIndices\",_)};\n ${_.setByOffset(\"global_idx\",$.getByOffset(\"inputOffset\"))}\n }`;return`\n ${v.registerUniform(\"vec_size\",\"u32\").declareVariables($,_)}\n ${v.mainStart()}\n ${v.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${x}`},l=[{type:12,data:p},...se(t,u)];return{name:\"Expand\",shaderCache:{hint:`${u.length}`,inputDependencies:[\"rank\"]},getShaderSource:h,getRunData:()=>({outputs:[{dims:u,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:l})}},hc=e=>{Qy(e.inputs),e.compute(Xy(e.inputs),{inputs:[0]})}});var Jy,yc,vc=ne(()=>{\"use strict\";$e();Pe();Te();An();Jy=e=>{let t=e[0].dataType,r=Q.size(e[0].dims),u=Q.size(e[1].dims),o=u%4===0,c=p=>{let h=X(\"x\",t,[1],4),l=X(\"bias\",t,[1],4),v=ae(\"y\",t,[1],4),$=[{name:\"output_vec_size\",type:\"u32\"},{name:\"bias_size\",type:\"u32\"}],_=A=>`\n let bias${A}_offset: u32 = (global_idx * 4 + ${A}) % uniforms.bias_size;\n let bias${A} = ${l.getByOffset(`bias${A}_offset / 4`)}[bias${A}_offset % 4];`,x=o?`\n let bias = ${l.getByOffset(\"global_idx % (uniforms.bias_size / 4)\")};`:`${_(0)}${_(1)}${_(2)}${_(3)}\n let bias = ${h.type.value}(bias0, bias1, bias2, bias3);`;return`${p.registerUniforms($).declareVariables(h,l,v)}\n\n ${$a(gt(t))}\n\n ${p.mainStart(_n)}\n ${p.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_vec_size\")}\n\n let x = ${h.getByOffset(\"global_idx\")};\n ${x}\n let x_in = x + bias;\n ${v.setByOffset(\"global_idx\",Ca(\"x_in\"))}\n }`};return{name:\"FastGeluWithBias\",shaderCache:{hint:`${o}`,inputDependencies:[\"type\",\"type\"]},getShaderSource:c,getRunData:p=>({outputs:[{dims:p[0].dims,dataType:p[0].dataType}],programUniforms:[{type:12,data:Math.ceil(r/4)},{type:12,data:u}],dispatchGroup:{x:Math.ceil(r/_n/4)}})}},yc=e=>{e.inputs.length<2||Q.size(e.inputs[1].dims)===0?Id(e):e.compute(Jy(e.inputs))}});var e0,t0,bc,wc,_c=ne(()=>{\"use strict\";$e();Pe();nt();Te();e0=e=>{if(!e||e.length!==2)throw new Error(\"Gather requires 2 inputs.\")},t0=(e,t)=>{let r=e[0].dims,u=e[1].dims,o=r.length,c=Q.normalizeAxis(t.axis,o),p=r.slice(0);p.splice(c,1,...u);let h=r[c],l=e[0].dataType===9?4:1,v=Math.ceil(Q.size(p)/l),$=[{type:12,data:v},{type:6,data:h},{type:12,data:c},...se(e[0].dims,e[1].dims,p)],_=x=>{let A=X(\"data\",e[0].dataType,e[0].dims.length,l),S=X(\"inputIndices\",e[1].dataType,e[1].dims.length),k=ae(\"output\",e[0].dataType,p.length,l),M=P=>{let W=u.length,U=`var indicesIndices${P} = ${S.type.indices}(0);`;for(let q=0;q1?`indicesIndices${P}[${q}]`:`indicesIndices${P}`} = ${p.length>1?`outputIndices${P}[uniforms.axis + ${q}]`:`outputIndices${P}`};`;U+=`\n var idx${P} = ${S.getByIndices(`indicesIndices${P}`)};\n if (idx${P} < 0) {\n idx${P} = idx${P} + uniforms.axisDimLimit;\n }\n var dataIndices${P} : ${A.type.indices};\n `;for(let q=0,Y=0;q1?`dataIndices${P}[${q}]`:`dataIndices${P}`} = u32(idx${P});`,Y+=W):(U+=`${o>1?`dataIndices${P}[${q}]`:`dataIndices${P}`} = ${p.length>1?`outputIndices${P}[${Y}]`:`outputIndices${P}`};`,Y++);return U},R;if(e[0].dataType===9){let P=(W,U,q=\"\")=>`\n let outputIndices${U} = ${k.offsetToIndices(`outputOffset + ${U}u`)};\n ${M(U)};\n let offset${U} = ${A.indicesToOffset(`dataIndices${U}`)};\n let index${U} = offset${U} / 4u;\n let component${U} = offset${U} % 4u;\n ${W}[${U}] = ${q}(${A.getByOffset(`index${U}`)}[component${U}]);\n `;R=`\n let outputOffset = global_idx * ${l};\n var value = vec4(0);\n ${P(\"value\",0,\"u32\")}\n ${P(\"value\",1,\"u32\")}\n ${P(\"value\",2,\"u32\")}\n ${P(\"value\",3,\"u32\")}\n ${k.setByOffset(\"global_idx\",\"value\")}\n `}else R=`\n let outputIndices = ${k.offsetToIndices(\"global_idx\")};\n ${M(\"\")};\n let value = ${A.getByIndices(\"dataIndices\")};\n ${k.setByOffset(\"global_idx\",\"value\")};\n `;return`\n ${x.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axisDimLimit\",\"i32\").registerUniform(\"axis\",\"u32\").declareVariables(A,S,k)}\n ${x.mainStart()}\n ${x.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n ${R}\n }`};return{name:\"Gather\",shaderCache:{hint:t.cacheKey,inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:p,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(v/64)},programUniforms:$}),getShaderSource:_}},bc=e=>Oe({axis:e.axis}),wc=(e,t)=>{let r=e.inputs;e0(r),e.compute(t0(e.inputs,t))}});var r0,i0,$c,Cc,xc=ne(()=>{\"use strict\";$e();Pe();nt();Te();r0=e=>{if(!e||e.length!==2)throw new Error(\"GatherElements requires 2 inputs.\");if(e[0].dims.length<1)throw new Error(\"GatherElements requires that the data input be rank >= 1.\");if(e[0].dims.length!==e[1].dims.length)throw new Error(`GatherElements requires that the data input and\n indices input tensors be of same rank.`)},i0=(e,t)=>{let r=e[0].dims,u=e[0].dataType,o=r.length,c=e[1].dims,p=e[1].dataType,h=Q.normalizeAxis(t.axis,o),l=r[h],v=c.slice(0),$=Q.size(v),_=X(\"input\",u,o),x=X(\"indicesInput\",p,c.length),A=ae(\"output\",u,v.length),S=[{type:12,data:$},{type:6,data:l},{type:12,data:h}];return S.push(...se(r,c,v)),{name:\"GatherElements\",shaderCache:{inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:v,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil($/64)},programUniforms:S}),getShaderSource:R=>`\n ${R.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axisDimLimit\",\"i32\").registerUniform(\"axis\",\"u32\").declareVariables(_,x,A)}\n ${R.mainStart()}\n ${R.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n\n let outputIndices = ${A.offsetToIndices(\"global_idx\")};\n\n var idx = ${x.getByOffset(\"global_idx\")};\n if (idx < 0) {\n idx = idx + uniforms.axisDimLimit;\n }\n var inputIndices = ${_.type.indices}(outputIndices);\n ${_.indicesSet(\"inputIndices\",\"uniforms.axis\",\"u32(idx)\")};\n let value = ${_.getByIndices(\"inputIndices\")};\n\n ${A.setByOffset(\"global_idx\",\"value\")};\n }`}},$c=e=>Oe({axis:e.axis}),Cc=(e,t)=>{let r=e.inputs;r0(r),e.compute(i0(e.inputs,t))}});var n0,a0,Sc,Ic,Tc=ne(()=>{\"use strict\";$e();Pe();Te();n0=e=>{if(!e)throw new Error(\"Input is missing\");if(e.length<2||e.length>3)throw new Error(\"Invaid input number.\");if(e.length===3&&e[2].dims.length>2)throw new Error(\"Invalid input shape of C\");if(e[0].dataType!==e[1].dataType||e.length===3&&e[0].dataType!==e[2].dataType)throw new Error(\"Input types are mismatched\")},a0=(e,t)=>{let r=e[0].dims.slice(),u=e[1].dims.slice(),[o,c,p]=vn.getShapeOfGemmResult(r,t.transA,u,t.transB,e.length===3?e[2].dims:void 0),h=[o,c];if(!h)throw new Error(\"Can't use gemm on the given tensors\");let l=Q.size(h),v=[{type:12,data:l},{type:12,data:o},{type:12,data:c},{type:12,data:p},{type:1,data:t.alpha},{type:1,data:t.beta}],$=[\"type\",\"type\"];e.length===3&&(v.push(...se(e[2].dims)),$.push(\"rank\")),v.push(...se(h));let _=x=>{let A=\"\";t.transA&&t.transB?A=\"value += a[k * uniforms.M + m] * b[n * uniforms.K + k];\":t.transA&&!t.transB?A=\"value += a[k * uniforms.M + m] * b[k * uniforms.N + n];\":!t.transA&&t.transB?A=\"value += a[m * uniforms.K + k] * b[n * uniforms.K + k];\":!t.transA&&!t.transB&&(A=\"value += a[m * uniforms.K + k] * b[k * uniforms.N + n];\");let S=t.alpha===1?\"\":\"value *= uniforms.alpha;\",k=X(\"a\",e[0].dataType,e[0].dims),M=X(\"b\",e[1].dataType,e[1].dims),R=k.type.value,P=null,W=[k,M];e.length===3&&(P=X(\"c\",e[2].dataType,e[2].dims.length),W.push(P));let U=ae(\"output\",e[0].dataType,h.length);W.push(U);let q=[{name:\"output_size\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}];return`\n ${x.registerUniforms(q).declareVariables(...W)}\n\n ${x.mainStart()}\n ${x.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let m = global_idx / uniforms.N;\n let n = global_idx % uniforms.N;\n\n var value = ${R}(0);\n for (var k: u32 = 0u; k < uniforms.K; k++) {\n ${A}\n }\n\n ${S}\n ${(()=>P!=null?`let cOffset = ${P.broadcastedIndicesToOffset(\"vec2(m, n)\",U)}; value += ${R}(uniforms.beta) * ${P.getByOffset(\"cOffset\")};`:\"\")()}\n output[global_idx] = value;\n }`};return{name:\"Gemm\",shaderCache:{hint:`${t.cacheKey}`,inputDependencies:$},getRunData:()=>({outputs:[{dims:h,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:v}),getShaderSource:_}},Sc=e=>{let t=e.transA,r=e.transB,u=e.alpha,o=e.beta;return{transA:t,transB:r,alpha:u,beta:o,cacheKey:`${e.transA};${e.transB};${e.alpha===1}`}},Ic=(e,t)=>{n0(e.inputs),e.compute(a0(e.inputs,t))}});var o0,s0,u0,Ac,Ec=ne(()=>{\"use strict\";$e();Pe();Te();o0=(e,t)=>{let r=e[0].dims,u=r,o=2,c=Q.sizeToDimension(r,o),p=Q.sizeFromDimension(r,o),h=et(p),l=p/h,v=[r[0],r[1],l],$=[\"rank\",\"type\",\"type\"],_=[{type:12,data:p},{type:12,data:l}];_.push(...se(v,v));let x=A=>{let S=X(\"x\",e[0].dataType,v.length,h),k=X(\"scale\",e[1].dataType,e[1].dims),M=X(\"bias\",e[2].dataType,e[2].dims),R=ae(\"output\",e[0].dataType,v.length,h),P=[S,k,M,R],W=S.type.value,U=h===1?\"f32\":`vec${h}`,q=64,Y=[{name:\"normSize\",type:\"u32\"},{name:\"normPackedSize\",type:\"u32\"}];return`\n var meanShared : f32;\n var squaredNormShared : f32;\n var workgroupShared : array<${U}, ${q}>;\n const workgroupSize = ${q}u;\n ${A.registerUniforms(Y).declareVariables(...P)}\n ${A.mainStart(q)}\n let norm = global_idx / workgroupSize;\n let batch = norm / uniforms.x_shape[1];\n let channel = norm % uniforms.x_shape[1];\n let localIndex = local_id.x;\n\n // initialize workgroup memory\n var initial = ${U}(0);\n for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\n initial = initial + ${U}(${S.get(\"batch\",\"channel\",\"h\")});\n }\n workgroupShared[localIndex] = initial;\n workgroupBarrier();\n\n // Calculate the mean of current channel data.\n for (var currSize = workgroupSize >> 1; currSize > 0; currSize = currSize >> 1) {\n if (localIndex < currSize) {\n workgroupShared[localIndex] = workgroupShared[localIndex] + workgroupShared[localIndex + currSize];\n }\n workgroupBarrier();\n }\n if (localIndex == 0) {\n meanShared = ${yt(\"workgroupShared[0]\",h)} / f32(uniforms.normSize);\n }\n workgroupBarrier();\n\n // reinitialize workgroup memory.\n initial = ${U}(0);\n for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\n let deviation = ${U}(${S.get(\"batch\",\"channel\",\"h\")}) - ${U}(meanShared);\n initial = initial + deviation * deviation;\n }\n workgroupShared[localIndex] = initial;\n workgroupBarrier();\n\n // Calculate the sum of square of deviation of current channel data.\n for (var currSize = workgroupSize >> 1; currSize > 0; currSize = currSize >> 1) {\n if (localIndex < currSize) {\n workgroupShared[localIndex] = workgroupShared[localIndex] + workgroupShared[localIndex + currSize];\n }\n workgroupBarrier();\n }\n if (localIndex == 0) {\n squaredNormShared = ${yt(\"workgroupShared[0]\",h)};\n }\n workgroupBarrier();\n\n let invStdDev = inverseSqrt(squaredNormShared / f32(uniforms.normSize) + f32(${t.epsilon}));\n let channelScale = invStdDev * f32(${k.getByOffset(\"channel\")});\n let channelShift = f32(${M.getByOffset(\"channel\")}) - meanShared * channelScale;\n for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\n let value = ${S.get(\"batch\",\"channel\",\"h\")} * ${W}(${U}(channelScale)) + ${W}(${U}(channelShift));\n ${R.set(\"batch\",\"channel\",\"h\",\"value\")};\n }\n }`};return{name:\"InstanceNormalization\",shaderCache:{hint:`${t.epsilon};${h}`,inputDependencies:$},getRunData:()=>({outputs:[{dims:u,dataType:e[0].dataType}],dispatchGroup:{x:c},programUniforms:_}),getShaderSource:x}},s0=(e,t,r,u,o,c,p,h)=>{let l=et(p),v=64,$=l===1?\"vec2f\":`mat2x${l}f`,_=l===1?\"f32\":`vec${l}f`,x=(Y,J)=>`${$}(${Y}, ${J})`,A=o*p/l,S=Math.ceil(c/v),k=[\"type\"],M=[{type:12,data:S},{type:12,data:c},{type:12,data:Math.floor(p/l)},{type:12,data:Math.floor(c*p/l)}],R=Y=>{let J=X(\"input\",t.dataType,t.dims,l);return`\n ${Y.declareVariables(J)}\n @group(0) @binding(1) var output : array<${$}>;\n struct Uniforms {wg_size:u32, H:u32, C:u32, image_size:u32};\n @group(0) @binding(2) var uniforms: Uniforms;\n\n ${Y.mainStart(v)}\n let currentImageNumber = global_idx / ${v} / uniforms.C;\n let currentChannelNumber = (global_idx / ${v}) % uniforms.C;\n let wgId = global_idx % ${v};\n let wgOffset = wgId * uniforms.wg_size;\n if (wgOffset >= uniforms.H) {\n return;\n }\n let wgMax = min(wgOffset + uniforms.wg_size, uniforms.H);\n\n let offset = currentImageNumber * uniforms.image_size + currentChannelNumber;\n var sum = ${ut(\"f32\",l)};\n var squaredSum = ${ut(\"f32\",l)};\n for (var i: u32 = wgOffset; i < wgMax; i++) {\n let value = ${_}(input[offset + i * uniforms.C]);\n sum += value;\n squaredSum += value * value;\n }\n output[global_idx] = ${x(\"sum\",\"squaredSum\")};\n }`},P=e.compute({name:\"InstanceNormComputeMean\",shaderCache:{hint:`${l}`,inputDependencies:k},getRunData:()=>({outputs:[{dims:[o,p,v,2],dataType:1}],dispatchGroup:{x:o*p/l},programUniforms:M}),getShaderSource:R},{inputs:[t],outputs:[-1]})[0],W=[{type:12,data:A},{type:12,data:c},{type:12,data:Math.floor(p/l)},{type:12,data:Math.floor(v*p/l)}],U=[\"type\",\"type\",\"type\"],q=Y=>{let J=X(\"scale\",r.dataType,r.dims,l),oe=X(\"bias\",u.dataType,u.dims,l);return`\n @group(0) @binding(0) var input : array<${$}>;\n @group(0) @binding(1) var scale : array<${J.type.storage}>;\n @group(0) @binding(2) var bias : array<${oe.type.storage}>;\n @group(0) @binding(3) var output : array<${$}>;\n struct Uniforms {units_of_work : u32, H: u32, C : u32, image_size : u32};\n @group(0) @binding(4) var uniforms: Uniforms;\n\n ${Y.mainStart()}\n ${Y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.units_of_work\")}\n let currentImageNumber = global_idx / uniforms.C;\n let currentChannelNumber = global_idx % uniforms.C;\n\n let offset = currentImageNumber * uniforms.image_size;\n var sum = ${ut(\"f32\",l)};\n var squaredSum = ${ut(\"f32\",l)};\n for (var i: u32 = 0; i < ${v}; i++) {\n let value = input[offset + i + currentChannelNumber * ${v}];\n sum += value[0];\n squaredSum += value[1];\n }\n sum = sum / f32(uniforms.H);\n squaredSum = squaredSum / f32(uniforms.H);\n let invStdDev = inverseSqrt(squaredSum - sum * sum + f32(${h}));\n let channelScale = invStdDev * ${_}(scale[currentChannelNumber]);\n let channelShift = ${_}(bias[currentChannelNumber]) - sum * channelScale;\n\n output[global_idx] = ${x(\"channelScale\",\"channelShift\")};\n }`};return e.compute({name:\"InstanceNormComputeChannelScaleShift\",shaderCache:{hint:`${l};${h}`,inputDependencies:U},getRunData:()=>({outputs:[{dims:[o,p,2],dataType:1}],dispatchGroup:{x:Math.ceil(A/64)},programUniforms:W}),getShaderSource:q},{inputs:[P,r,u],outputs:[-1]})[0]},u0=(e,t,r)=>{let u=t[0].dims,o=u,c=u[0],p=u[u.length-1],h=Q.sizeFromDimension(u,1)/p,l=et(p),v=Q.size(o)/l,$=[{type:12,data:h},{type:12,data:Math.floor(p/l)}],_=[\"type\",\"type\"],x=s0(e,t[0],t[1],t[2],c,h,p,r.epsilon),A=S=>{let k=Ne(t[0].dataType),M=l===1?\"vec2f\":`mat2x${l}f`,R=l===1?k:`vec${l}<${k}>`,P=X(\"input\",t[0].dataType,t[0].dims,l),W=ae(\"output\",t[0].dataType,o,l);return`\n @group(0) @binding(0) var input : array<${P.type.storage}>;\n @group(0) @binding(1) var scaleInput : array<${M}>;\n @group(0) @binding(2) var output : array<${W.type.storage}>;\n struct Uniforms {H: u32, C : u32};\n @group(0) @binding(3) var uniforms: Uniforms;\n\n ${S.mainStart()}\n let currentImageNumber = global_idx / (uniforms.C * uniforms.H);\n let currentChannelNumber = global_idx % uniforms.C;\n\n let scaleOffset = currentImageNumber * uniforms.C + currentChannelNumber;\n let scale = scaleInput[scaleOffset];\n output[global_idx] = fma(input[global_idx], ${R}(scale[0]), ${R}(scale[1]));\n }`};e.compute({name:\"InstanceNormalizationNHWC\",shaderCache:{hint:`${l}`,inputDependencies:_},getRunData:()=>({outputs:[{dims:o,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(v/64)},programUniforms:$}),getShaderSource:A},{inputs:[t[0],x]})},Ac=(e,t)=>{t.format===\"NHWC\"?u0(e,e.inputs,t):e.compute(o0(e.inputs,t))}});var l0,d0,kc,Oc=ne(()=>{\"use strict\";$e();Pe();Te();l0=e=>{if(!e||e.length<2)throw new Error(\"layerNorm requires at least 2 inputs.\")},d0=(e,t,r)=>{let u=e[0].dims,o=e[1],c=e[2],p=u,h=Q.normalizeAxis(t.axis,u.length),l=Q.sizeToDimension(u,h),v=Q.sizeFromDimension(u,h),$=Q.size(o.dims),_=c?Q.size(c.dims):0;if($!==v||c&&_!==v)throw new Error(`Size of X.shape()[axis:] == ${v}.\n Size of scale and bias (if provided) must match this.\n Got scale size of ${$} and bias size of ${_}`);let x=[];for(let U=0;U1,R=r>2,P=U=>{let q=Ne(e[0].dataType),Y=[X(\"x\",e[0].dataType,e[0].dims,A),X(\"scale\",o.dataType,o.dims,A)];c&&Y.push(X(\"bias\",c.dataType,c.dims,A)),Y.push(ae(\"output\",e[0].dataType,p,A)),M&&Y.push(ae(\"mean_data_output\",1,x)),R&&Y.push(ae(\"inv_std_output\",1,x));let J=[{name:\"norm_count\",type:\"u32\"},{name:\"norm_size\",type:\"f32\"},{name:\"norm_size_vectorized\",type:\"u32\"},{name:\"epsilon\",type:\"f32\"}];return`\n ${U.registerUniforms(J).declareVariables(...Y)}\n ${U.mainStart()}\n ${U.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.norm_count\")}\n let offset = global_idx * uniforms.norm_size_vectorized;\n var mean_vector = ${ut(\"f32\",A)};\n var mean_square_vector = ${ut(\"f32\",A)};\n\n for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {\n let value = ${Rt(q,A,\"x[h + offset]\")};\n mean_vector += value;\n mean_square_vector += value * value;\n }\n let mean = ${yt(\"mean_vector\",A)} / uniforms.norm_size;\n let inv_std_dev = inverseSqrt(${yt(\"mean_square_vector\",A)} / uniforms.norm_size - mean * mean + uniforms.epsilon);\n\n for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {\n let f32input = ${Rt(q,A,\"x[j + offset]\")};\n let f32scale = ${Rt(q,A,\"scale[j]\")};\n output[j + offset] = ${Y[0].type.value}((f32input - mean) * inv_std_dev * f32scale\n ${c?`+ ${Rt(q,A,\"bias[j]\")}`:\"\"}\n );\n }\n\n ${M?\"mean_data_output[global_idx] = mean\":\"\"};\n ${R?\"inv_std_output[global_idx] = inv_std_dev\":\"\"};\n }`},W=[{dims:p,dataType:e[0].dataType}];return M&&W.push({dims:x,dataType:1}),R&&W.push({dims:x,dataType:1}),{name:\"LayerNormalization\",shaderCache:{hint:`${A};${r}`,inputDependencies:S},getRunData:()=>({outputs:W,dispatchGroup:{x:Math.ceil(l/64)},programUniforms:k}),getShaderSource:P}},kc=(e,t)=>{l0(e.inputs),e.compute(d0(e.inputs,t,e.outputCount))}});var c0,p0,Pc,Rc,Bc=ne(()=>{\"use strict\";$e();Pe();nt();Te();c0=(e,t)=>{if(e.length<3||e.length>4)throw new Error(\"MatMulNBits requires 3 or 4 inputs\");let r=e[0],u=r.dims.length;if(r.dims[u-1]!==t.k)throw new Error(\"The last dim of input shape does not match the k value\");let o=Math.floor((t.k+t.blockSize-1)/t.blockSize),c=t.blockSize/8*t.bits,p=e[1];if(!Q.areEqual(p.dims,[t.n,o,c]))throw new Error(\"The second inputs must be 3D tensor with shape N X nBlocksPerCol X blobSize\");let l=e[2].dims;if(Q.size(l)!==t.n*o)throw new Error(\"scales input size error.\");if(e.length===4){let $=e[3].dims,_=t.bits>4?t.n*o:t.n*Math.floor((o+1)/2);if(Q.size($)!==_)throw new Error(\"zeroPoints input size error.\")}},p0=(e,t)=>{let r=e[0],u=e[1],o=e[2],c=r.dims.length,p=r.dims.slice(0,c-1).concat(t.n),h=Q.size(p),l=[{type:12,data:h},{type:12,data:t.k},{type:12,data:t.n},{type:12,data:t.accuracyLevel},{type:12,data:t.bits},{type:12,data:t.blockSize}];l.push(...se(r.dims)),l.push(...se(Q.convertShape(u.dims))),l.push(...se(o.dims)),e.length===4&&l.push(...se(Q.convertShape(e[3].dims))),l.push(...se(p));let v=$=>{let _=X(\"a\",e[0].dataType,e[0].dims.length),x=X(\"b\",12,e[1].dims.length),A=X(\"scales\",e[2].dataType,e[2].dims.length),S=[_,x,A],k=e.length===4?X(\"zero_points\",12,e[3].dims.length):void 0;k&&S.push(k);let M=ae(\"output\",e[0].dataType,p.length),R=[{name:\"output_size\",type:\"u32\"},{name:\"k\",type:\"u32\"},{name:\"n\",type:\"u32\"},{name:\"accuracy_level\",type:\"u32\"},{name:\"bits\",type:\"u32\"},{name:\"block_size\",type:\"u32\"}],P=Math.floor((t.k+t.blockSize-1)/t.blockSize),U=t.blockSize/8*t.bits/4,q=Ne(e[0].dataType);return`\n fn ortUnpack8x4snorm(value: u32) -> array<${q}, 8>{\n var result = array<${q}, 8>();\n var offset: u32 = 0;\n let count: u32 = 4;\n for (var i: u32 = 0; i < 8u; i++) {\n result[i] = ${q}(extractBits(value, offset, count));\n offset += count;\n }\n return result;\n }\n ${$.registerUniforms(R).declareVariables(...S,M)}\n ${$.mainStart()}\n ${$.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n var value: ${q} = 0.0;\n let output_indices = ${M.offsetToIndices(\"global_idx\")};\n var a_indices: ${_.type.indices} = output_indices;\n var n = ${M.indicesGet(\"output_indices\",c-1)};\n // Two zero points are packed into one byte because uniforms.bits <= 4.\n // zero_point_offset is either 0 or 4. It is bit offset within one byte.\n // TODO support zero_point_offset for bits > 4\n ${k?`\n var zero_point_index: u32 = n * ((${P} + 1) / 2) / 4;\n var zero_point_word: u32 = ${k.getByOffset(\"zero_point_index\")};\n var zero_point_offset: u32 = 0;`:\"\"}\n var scale_idex = n * ${P};\n var b_indices: ${x.type.indices};\n ${x.indicesSet(\"b_indices\",\"0\",\"n\")};\n var block_offset: u32 = 0;\n for (var block: u32 = 0; block < ${P}; block++) {\n // The scale and zero points are computed per block.\n let scale = ${A.getByOffset(\"scale_idex\")};\n // The default zero point is 8 for unsigned 4-bit quantization.\n let zero_point: ${q} = ${k?`${q}(extractBits(zero_point_word, zero_point_offset, 4))`:8};\n ${x.indicesSet(\"b_indices\",\"1\",\"block\")};\n var word_offset: u32 = block_offset;\n for (var word: u32 = 0; word < ${U}; word++) {\n ${x.indicesSet(\"b_indices\",\"2\",\"word\")};\n let b_value = ${x.getByIndices(\"b_indices\")};\n let b_quantized_values: array<${q}, 8> = ortUnpack8x4snorm(b_value);\n // Number of B elements per 32-bit word is 32/bits = 32/4 = 8\n var offset: u32 = word_offset;\n for (var i: u32 = 0; i < 8; i++) {\n ${_.indicesSet(\"a_indices\",c-1,\"offset\")};\n let a_value = ${_.getByIndices(\"a_indices\")};\n let b_quantized_value = b_quantized_values[i];\n let b_dequantized_value = (b_quantized_value - zero_point) * scale;\n value += a_value * b_dequantized_value;\n offset++;\n }\n word_offset += 8;\n }\n scale_idex++;\n ${k?`\n if (zero_point_offset == 28) {\n zero_point_offset = 0;\n zero_point_index++;\n zero_point_word = ${k.getByOffset(\"zero_point_index\")};\n } else {\n zero_point_offset += 4;\n }`:\"\"}\n block_offset += uniforms.block_size;\n }\n ${M.setByOffset(\"global_idx\",\"value\")};\n }\n `};return{name:\"MatMulNBits\",shaderCache:{hint:`${t.cacheKey};${e.length}`,inputDependencies:Array(e.length).fill(\"rank\")},getRunData:()=>({outputs:[{dims:p,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(h/64)},programUniforms:l}),getShaderSource:v}},Pc=(e,t)=>{c0(e.inputs,t),e.compute(p0(e.inputs,t))},Rc=e=>Oe(e)});var f0,Dc,zc,m0,Da,Mc,jc=ne(()=>{\"use strict\";$e();Pe();nt();gn();_a();Te();Mr();f0=(e,t)=>{let r=e[0],u=e[1],o=e[2],c=e[3],p=e[4],h=e[5],l=e[6],v=e[7];if(r.dims.length!==3&&r.dims.length!==5)throw new Error(\"Input query is expected to have 3 or 5 dimensions\");let $=!1,_=r.dims[0],x=r.dims[1],A=r.dims.length===3?$?r.dims[2]/3:r.dims[2]:t.numHeads*r.dims[4],S=x,k=0,M=0,R=Math.floor(A/t.numHeads);if(l&&v){if(l.dims.length!==4)throw new Error('Input \"past_key\" is expected to have 4 dimensions');if(v.dims.length!==4)throw new Error('Input \"past_value\" is expected to have 4 dimensions');k=l.dims[2],M=l.dims[2]}else if(l||v)throw new Error('Input \"past_key\" and \"past_value\" shall be both present or both absent');let P;if(u){if(r.dims.length!==3)throw new Error('Input \"query\" is expected to have 3 dimensions when key is given');if(u.dims.length<3||u.dims.length>5)throw new Error('Input \"key\" is expected to have 3, 4, or 5 dimensions');if(r.dims[0]!==u.dims[0])throw new Error('Input \"query\" and \"key\" shall have same dim 0 (batch size)');if(u.dims.length===3){if(u.dims[2]!==r.dims[2])throw new Error('Input \"query\" and \"key\" shall have same dim 2 (hidden_size)');P=2,S=u.dims[1]}else if(u.dims.length===5){if(u.dims[2]!==t.numHeads||u.dims[3]!==2||u.dims[4]!==R)throw new Error('Expect \"key\" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(o)throw new Error('Expect \"value\" be none when \"key\" has packed kv format.');P=5,S=u.dims[1]}else{if(u.dims[1]!==t.numHeads||u.dims[3]!==R)throw new Error('Expect \"key\" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');P=0,S=u.dims[2]}}else{if(r.dims.length!==3&&r.dims.length!==5)throw new Error('Input \"query\" is expected to have 3 or 5 dimensions when key is empty');if(r.dims.length===5&&(r.dims[2]!==t.numHeads||r.dims[3]!==3))throw new Error('Expect \"query\" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');P=3}if(c){if(c.dims.length!==1)throw new Error('Input \"bias\" is expected to have 1 dimension');if(o&&r.dims.length===5&&r.dims[3]===2)throw new Error(\"bias is not allowed for packed kv.\")}let W=0;if(p){W=8;let oe=p.dims;throw oe.length===1?oe[0]===_?W=1:oe[0]===3*_+2&&(W=3):oe.length===2&&oe[0]===_&&oe[1]===S&&(W=5),W===8?new Error('Input \"key_padding_mask\" shape shall be (batch_size) or (batch_size, kv_sequence_length)'):new Error(\"Mask not supported\")}let U=!1,q=A;if(o){if(o.dims.length!==3&&o.dims.length!==4)throw new Error('Input \"value\" is expected to have 3 or 4 dimensions');if(r.dims[0]!==o.dims[0])throw new Error('Input \"query\" and \"value\" shall have same dim 0 (batch_size)');if(o.dims.length===3){if(S!==o.dims[1])throw new Error('Input \"key\" and \"value\" shall have the same dim 1 (kv_sequence_length)');q=o.dims[2]}else{if(S!==o.dims[2])throw new Error('Input \"past_key\" and \"past_value\" shall have the same dim 2 (kv_sequence_length)');q=o.dims[1]*o.dims[3],U=!0}}let Y=k+S,J=!1;if(p)throw new Error(\"Key padding mask is not supported\");if(h)throw new Error(\"extraAddQk is not supported\");if(l)throw new Error(\"pastKey is not supported\");if(v)throw new Error(\"pastValue is not supported\");return{batchSize:_,sequenceLength:x,pastSequenceLength:k,kvSequenceLength:S,totalSequenceLength:Y,maxSequenceLength:M,inputHiddenSize:0,hiddenSize:A,vHiddenSize:q,headSize:R,vHeadSize:Math.floor(q/t.numHeads),numHeads:t.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:t.maskFilterValue,maskType:W,scale:t.scale,broadcastResPosBias:J,passPastInKv:U,qkvFormat:P}},Dc=e=>Oe({...e}),zc=Oe({perm:[0,2,1,3]}),m0=(e,t,r,u,o,c,p)=>{let h=[u,o,c],l=Q.size(h),v=[{type:12,data:l},{type:12,data:p},{type:12,data:c}],$=_=>{let x=ae(\"qkv_with_bias\",t.dataType,h),A=X(\"qkv\",t.dataType,h),S=X(\"bias\",r.dataType,h),k=[{name:\"output_size\",type:\"u32\"},{name:\"bias_offset\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"}];return`\n ${_.registerUniforms(k).declareVariables(A,S,x)}\n ${_.mainStart()}\n ${_.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;\n\n qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];\n }`};return e.compute({name:\"MultiHeadAttentionAddBias\",shaderCache:{inputDependencies:[\"type\",\"type\"]},getRunData:()=>({outputs:[{dims:h,dataType:t.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:v}),getShaderSource:$},{inputs:[t,r],outputs:[-1]})[0]},Da=(e,t,r,u,o,c,p,h)=>{let l=c;if(p){if(u===1)throw new Error(\"AddBiasReshape is not implemented. Please export your model with packed QKV or KV\");return l=m0(e,c,p,t,u,r*o,h),l=l.reshape([t,u,r,o]),e.compute(Bt(l,zc.perm),{inputs:[l],outputs:[-1]})[0]}else return c.dims.length===3&&(l=c.reshape([t,u,r,o])),e.compute(Bt(l,zc.perm),{inputs:[l],outputs:[-1]})[0]},Mc=(e,t)=>{let r=f0(e.inputs,t);if(e.inputs[0].dims.length===5)throw new Error(\"Packed QKV is not implemented\");if(e.inputs[1]?.dims.length===5)throw new Error(\"Packed KV is not implemented\");let u=e.inputs[1]&&e.inputs[2]&&e.inputs[1].dims.length===4&&e.inputs[2].dims.length===4,o=Da(e,r.batchSize,r.numHeads,r.sequenceLength,r.headSize,e.inputs[0],e.inputs[3],0);if(u)return Sn(e,o,e.inputs[1],e.inputs[2],e.inputs[4],void 0,void 0,void 0,e.inputs[5],r,t);let c=Da(e,r.batchSize,r.numHeads,r.kvSequenceLength,r.headSize,e.inputs[1],e.inputs[3],r.hiddenSize),p=Da(e,r.batchSize,r.numHeads,r.kvSequenceLength,r.vHeadSize,e.inputs[2],e.inputs[3],2*r.hiddenSize);Sn(e,o,c,p,e.inputs[4],void 0,e.inputs[6],e.inputs[7],e.inputs[5],r,t)}});var h0,g0,y0,v0,b0,w0,_0,$0,Uc,Wc=ne(()=>{\"use strict\";$e();Pe();Te();h0=e=>{if(!e||e.length<1)throw new Error(\"Too few inputs\");if(e[0].dataType!==1&&e[0].dataType!==10)throw new Error(\"Input type must be float or float16.\");if(e.length>=2){let t=e[0].dims.length*2===e[1].dims[0];if(e.length===4&&(t=e[3].dims[0]*2===e[1].dims[0]),!t)throw new Error(\"The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].\")}},g0=(e,t,r)=>{let u=\"\";for(let o=t-1;o>=0;--o)u+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${we(\"uniforms.pads\",o,r)};\n if (k < 0) {\n break;\n }\n if (k >= i32(${we(\"uniforms.x_shape\",o,t)})) {\n break;\n }\n offset += k * i32(${we(\"uniforms.x_strides\",o,t)});\n `;return`\n value = ${e.type.value}(uniforms.constant_value);\n for (var i = 0; i < 1; i++) {\n var offset = 0;\n var k = 0;\n ${u}\n value = x[offset];\n }\n `},y0=(e,t,r)=>{let u=\"\";for(let o=t-1;o>=0;--o)u+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${we(\"uniforms.pads\",o,r)};\n if (k < 0) {\n k = -k;\n }\n {\n let _2n_1 = 2 * (i32(${we(\"uniforms.x_shape\",o,t)}) - 1);\n k = k % _2n_1;\n if(k >= i32(${we(\"uniforms.x_shape\",o,t)})) {\n k = _2n_1 - k;\n }\n }\n offset += k * i32(${we(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${u}\n value = x[offset];\n `},v0=(e,t,r)=>{let u=\"\";for(let o=t-1;o>=0;--o)u+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${we(\"uniforms.pads\",o,r)};\n if (k < 0) {\n k = 0;\n }\n if (k >= i32(${we(\"uniforms.x_shape\",o,t)})) {\n k = i32(${we(\"uniforms.x_shape\",o,t)}) - 1;\n }\n offset += k * i32(${we(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${u}\n value = x[offset];\n `},b0=(e,t,r)=>{let u=\"\";for(let o=t-1;o>=0;--o)u+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${we(\"uniforms.pads\",o,r)};\n if (k < 0) {\n k += i32(${we(\"uniforms.x_shape\",o,t)}]);\n }\n if (k >= i32(${we(\"uniforms.x_shape\",o,t)})) {\n k -= i32(${we(\"uniforms.x_shape\",o,t)});\n }\n offset += k * i32(${we(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${u}\n value = x[offset];\n `},w0=(e,t,r)=>{switch(r.mode){case 0:return g0(e,t,r.pads.length);case 1:return y0(e,t,r.pads.length);case 2:return v0(e,t,r.pads.length);case 3:return b0(e,t,r.pads.length);default:throw new Error(\"Invalid mode\")}},_0=(e,t)=>{let r=Q.padShape(e[0].dims.slice(),t.pads),u=e[0].dims,o=Q.size(r),c=[{type:12,data:o},{type:12,data:t.pads}];t.mode===0&&c.push({type:e[0].dataType,data:t.value}),c.push(...se(e[0].dims,r));let p=[\"rank\"],h=l=>{let v=ae(\"output\",e[0].dataType,r.length),$=X(\"x\",e[0].dataType,u.length),_=$.type.value,x=w0(v,u.length,t),A=[{name:\"output_size\",type:\"u32\"},{name:\"pads\",type:\"i32\",length:t.pads.length}];return t.mode===0&&A.push({name:\"constant_value\",type:_}),`\n ${l.registerUniforms(A).declareVariables($,v)}\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let indices = ${v.offsetToIndices(\"global_idx\")};\n\n var value = ${_}(0);\n ${x}\n output[global_idx] = value;\n }`};return{name:\"Pad\",shaderCache:{hint:`${t.mode}`,inputDependencies:p},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(Q.size(r)/64)},programUniforms:c}),getShaderSource:h}},$0=(e,t)=>{if(e.length>1){let r=e[1].getBigInt64Array(),u=e.length>=3&&e[2].data?e[2].getFloat32Array()[0]:0,o=e[0].dims.length,c=new Int32Array(2*o).fill(0);if(e.length>=4){let h=e[3].getBigInt64Array();for(let l=0;lc[Number(l)]=Number(h));let p=[];return c.forEach(h=>p.push(h)),{mode:t.mode,value:u,pads:p}}else return t},Uc=(e,t)=>{h0(e.inputs);let r=$0(e.inputs,t);e.compute(_0(e.inputs,r),{inputs:[0]})}});var zn,Nc,Vc,Gc,Lc,C0,x0,Hc,Fc,qc,Kc,Yc,Qc,Zc,Xc,Jc,ep,tp,rp,ip=ne(()=>{\"use strict\";It();$e();Pe();Te();zn=e=>{if(Me.webgpu.validateInputContent&&(!e||e.length!==1))throw new Error(\"Pool ops requires 1 input.\")},Nc=(e,t,r)=>{let u=t.format===\"NHWC\",o=e.dims.slice();u&&o.splice(1,0,o.pop());let c=Object.hasOwnProperty.call(t,\"dilations\"),p=t.kernelShape.slice(),h=t.strides.slice(),l=c?t.dilations.slice():[],v=t.pads.slice();hr.adjustPoolAttributes(r,o,p,h,l,v);let $=hr.computePoolOutputShape(r,o,h,l,p,v,t.autoPad),_=Object.assign({},t);c?Object.assign(_,{kernelShape:p,strides:h,pads:v,dilations:l,cacheKey:t.cacheKey}):Object.assign(_,{kernelShape:p,strides:h,pads:v,cacheKey:t.cacheKey});let x=$.slice();return x.push(x.splice(1,1)[0]),[_,u?x:$]},Vc=(e,t)=>{let r=t.format===\"NHWC\",u=Q.size(e),o=Q.size(t.kernelShape),c=[{type:12,data:u},{type:12,data:o}],p=[{name:\"outputSize\",type:\"u32\"},{name:\"kernelSize\",type:\"u32\"}];if(t.kernelShape.length<=2){let h=t.kernelShape[t.kernelShape.length-1],l=t.strides[t.strides.length-1],v=t.pads[t.pads.length/2-1],$=t.pads[t.pads.length-1],_=!!(v+$);c.push({type:12,data:h},{type:12,data:l},{type:12,data:v},{type:12,data:$}),p.push({name:\"kw\",type:\"u32\"},{name:\"sw\",type:\"u32\"},{name:\"pwStart\",type:\"u32\"},{name:\"pwEnd\",type:\"u32\"});let x=!1;if(t.kernelShape.length===2){let A=t.kernelShape[t.kernelShape.length-2],S=t.strides[t.strides.length-2],k=t.pads[t.pads.length/2-2],M=t.pads[t.pads.length-2];x=!!(k+M),c.push({type:12,data:A},{type:12,data:S},{type:12,data:k},{type:12,data:M}),p.push({name:\"kh\",type:\"u32\"},{name:\"sh\",type:\"u32\"},{name:\"phStart\",type:\"u32\"},{name:\"phEnd\",type:\"u32\"})}return[c,p,!0,_,x]}else{if(r)throw new Error(\"Pooling with kernelShape.length > 2 is not supported for NHWC format.\");let h=Q.computeStrides(t.kernelShape);c.push({type:12,data:h},{type:12,data:t.pads},{type:12,data:t.strides}),p.push({name:\"kernelStrides\",type:\"u32\",length:h.length},{name:\"pads\",type:\"u32\",length:t.pads.length},{name:\"strides\",type:\"u32\",length:t.strides.length});let l=t.pads.reduce((v,$)=>v+$);return[c,p,!!l,!1,!1]}},Gc=(e,t,r,u,o,c,p,h,l,v,$,_)=>{let x=o.format===\"NHWC\",A=t.type.value,S=ae(\"output\",t.type.tensor,u);if(o.kernelShape.length<=2){let k=\"\",M=\"\",R=\"\",P=r-(x?2:1);if($?k=`\n for (var i: u32 = 0u; i < uniforms.kw; i++) {\n xIndices[${P}] = indices[${P}] * uniforms.sw - uniforms.pwStart + i;\n if (xIndices[${P}] < 0 || xIndices[${P}]\n >= uniforms.x_shape[${P}]) {\n pad++;\n continue;\n }\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${c}\n }`:k=`\n for (var i: u32 = 0u; i < uniforms.kw; i++) {\n xIndices[${P}] = indices[${P}] * uniforms.sw - uniforms.pwStart + i;\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${c}\n }`,o.kernelShape.length===2){let U=r-(x?3:2);_?M=`\n for (var j: u32 = 0u; j < uniforms.kh; j++) {\n xIndices[${U}] = indices[${U}] * uniforms.sh - uniforms.phStart + j;\n if (xIndices[${U}] < 0 || xIndices[${U}] >= uniforms.x_shape[${U}]) {\n pad += i32(uniforms.kw);\n continue;\n }\n `:M=`\n for (var j: u32 = 0u; j < uniforms.kh; j++) {\n xIndices[${U}] = indices[${U}] * uniforms.sh - uniforms.phStart + j;\n `,R=`\n }\n `}return`\n ${e.registerUniforms(l).declareVariables(t,S)}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n\n let indices = ${S.offsetToIndices(\"global_idx\")};\n var xIndices = ${S.offsetToIndices(\"global_idx\")};\n\n var value = ${A}(${h});\n var pad = 0;\n ${M}\n ${k}\n ${R}\n ${p}\n\n output[global_idx] = value;\n }`}else{if(x)throw new Error(\"Pooling with kernelShape.length > 2 is not supported for NHWC format.\");let k=o.kernelShape.length,M=o.pads.length,R=\"\";return v?R=`\n if (xIndices[j] >= uniforms.x_shape[j]) {\n pad++;\n isPad = true;\n break;\n }\n }\n if (!isPad) {\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${c}\n }`:R=`\n }\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${c}\n `,`\n ${e.registerUniforms(l).declareVariables(t,S)}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n let indices = ${S.offsetToIndices(\"global_idx\")};\n var xIndices = ${S.offsetToIndices(\"global_idx\")};\n\n var offsets: array;\n\n var value = ${A}(${h});\n var pad = 0;\n var isPad = false;\n\n for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {\n var offset = i;\n for (var j = 0u; j < ${k-1}u; j++) {\n offsets[j] = offset / ${we(\"uniforms.kernelStrides\",\"j\",k)};\n offset -= offsets[j] * ${we(\"uniforms.kernelStrides\",\"j\",k)};\n }\n offsets[${k-1}] = offset;\n\n isPad = false;\n for (var j = ${r-k}u; j < ${r}u; j++) {\n xIndices[j] = indices[j] * ${we(\"uniforms.strides\",`j - ${r-k}u`,k)}\n + offsets[j - ${r-k}u] - ${we(\"uniforms.pads\",\"j - 2u\",M)};\n ${R}\n }\n ${p}\n\n output[global_idx] = value;\n }`}},Lc=e=>`${e.format};${e.ceilMode};${e.autoPad};${e.kernelShape.length}`,C0=e=>`${Lc(e)};${e.countIncludePad}`,x0=e=>`${Lc(e)};${e.storageOrder};${e.dilations}`,Hc=e=>({format:e.format,autoPad:[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][e.auto_pad],ceilMode:e.ceil_mode,kernelShape:e.kernel_shape,strides:e.strides,pads:e.pads}),Fc=(e,t,r,u)=>{let[o,c]=Nc(t,u,r),p=X(\"x\",t.dataType,t.dims.length),h=p.type.value,l=\"value += x_val;\",v=\"\";o.countIncludePad?v+=`value /= ${h}(uniforms.kernelSize);`:v+=`value /= ${h}(i32(uniforms.kernelSize) - pad);`;let[$,_,x,A,S]=Vc(c,o);$.push(...se(t.dims,c));let k=[\"rank\"];return{name:e,shaderCache:{hint:`${u.cacheKey};${x};${A};${S}`,inputDependencies:k},getRunData:()=>({outputs:[{dims:c,dataType:t.dataType}],dispatchGroup:{x:Math.ceil(Q.size(c)/64)},programUniforms:$}),getShaderSource:M=>Gc(M,p,t.dims.length,c.length,o,l,v,0,_,x,A,S)}},qc=e=>{let t=e.count_include_pad!==0,r=Hc(e);if(r.ceilMode!==0)throw new Error(\"using ceil() in shape computation is not yet supported for AveragePool\");let u={countIncludePad:t,...r,cacheKey:\"\"};return{...u,cacheKey:C0(u)}},Kc=(e,t)=>{zn(e.inputs),e.compute(Fc(\"AveragePool\",e.inputs[0],!1,t))},Yc={autoPad:\"\",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},Qc=e=>{let t=e.format;return{format:t,...Yc,cacheKey:t}},Zc=(e,t)=>{zn(e.inputs),e.compute(Fc(\"GlobalAveragePool\",e.inputs[0],!0,t))},Xc=(e,t,r,u)=>{let[o,c]=Nc(t,u,r),p=`\n value = max(x_val, value);\n `,h=\"\",l=X(\"x\",t.dataType,t.dims.length),v=[\"rank\"],[$,_,x,A,S]=Vc(c,o);return $.push(...se(t.dims,c)),{name:e,shaderCache:{hint:`${u.cacheKey};${x};${A};${S}`,inputDependencies:v},getRunData:()=>({outputs:[{dims:c,dataType:t.dataType}],dispatchGroup:{x:Math.ceil(Q.size(c)/64)},programUniforms:$}),getShaderSource:k=>Gc(k,l,t.dims.length,c.length,o,p,h,-1e5,_,x,A,S)}},Jc=(e,t)=>{zn(e.inputs),e.compute(Xc(\"MaxPool\",e.inputs[0],!1,t))},ep=e=>{let t=e.storage_order,r=e.dilations,u=Hc(e);if(t!==0)throw new Error(\"column major storage order is not yet supported for MaxPool\");if(u.ceilMode!==0)throw new Error(\"using ceil() in shape computation is not yet supported for MaxPool\");let o={storageOrder:t,dilations:r,...u,cacheKey:\"\"};return{...o,cacheKey:x0(o)}},tp=e=>{let t=e.format;return{format:t,...Yc,cacheKey:t}},rp=(e,t)=>{zn(e.inputs),e.compute(Xc(\"GlobalMaxPool\",e.inputs[0],!0,t))}});var I0,T0,np,ap=ne(()=>{\"use strict\";It();$e();Te();I0=(e,t,r)=>{let u=e===t,o=et&&r>0;if(u||o||c)throw new Error(\"Range these inputs' contents are invalid.\")},T0=(e,t,r,u)=>{let o=Math.abs(Math.ceil((t-e)/r)),c=[o],p=o,h=[{type:12,data:p},{type:u,data:e},{type:u,data:r},...se(c)],l=v=>{let $=ae(\"output\",u,c.length),_=$.type.value,x=[{name:\"outputSize\",type:\"u32\"},{name:\"start\",type:_},{name:\"delta\",type:_}];return`\n ${v.registerUniforms(x).declareVariables($)}\n ${v.mainStart()}\n ${v.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n output[global_idx] = uniforms.start + ${_}(global_idx) * uniforms.delta;\n }`};return{name:\"Range\",shaderCache:{hint:`${u}`},getShaderSource:l,getRunData:()=>({outputs:[{dims:c,dataType:u}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:h})}},np=e=>{let t=0,r=0,u=0;e.inputs[0].dataType===6?(t=e.inputs[0].getInt32Array()[0],r=e.inputs[1].getInt32Array()[0],u=e.inputs[2].getInt32Array()[0]):e.inputs[0].dataType===1&&(t=e.inputs[0].getFloat32Array()[0],r=e.inputs[1].getFloat32Array()[0],u=e.inputs[2].getFloat32Array()[0]),Me.webgpu.validateInputContent&&I0(t,r,u),e.compute(T0(t,r,u,e.inputs[0].dataType),{inputs:[]})}});var A0,E0,k0,O0,P0,R0,B0,z0,D0,M0,j0,op,U0,W0,N0,V0,G0,sp,up,lp=ne(()=>{\"use strict\";$e();Pe();nt();Te();A0=(e,t)=>{if(e.every(r=>r>0||(()=>{throw new Error(\"Resize requires scales input values to be positive\")})),e.length>0){if(t.mode===\"linear\"){if(!(e.length===2||e.length===3||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1||e.length===5&&e[0]===1&&e[1]===1))throw new Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and\n one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if(t.mode===\"cubic\"&&!(e.length===2||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1))throw new Error(\"Resize requires scales input size to be 2 or 4 for cubic mode\")}},E0=(e,t,r)=>{t.every(o=>o>=0&&o{throw new Error(\"Resize requires axes input values to be positive and less than rank\")}));let u=new Array(r).fill(1);return t.forEach((o,c)=>u[o]=e[c]),u},k0=(e,t,r,u,o,c)=>{let[p,h,l]=r>10?[1,2,3]:[-1,e.length>1?1:-1,-1],v=e[0].dims.length;if(p>0&&e.length>p&&e[p].dims.length>0)e[p].getFloat32Array().forEach($=>c.push($));else if(t.coordinateTransformMode===\"tf_crop_and_resize\")throw new Error(\"Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize\");if(h>0&&e.length>h&&e[h].dims.length>0){if(e[h].getFloat32Array().forEach($=>u.push($)),u.length!==0&&u.length!==v&&r>=18&&u.length!==t.axes.length)throw new Error(\"Resize requires scales input size to be same as input rank or axes size for opset 18 and up\");A0(u,t),t.axes.length>0&&E0(u,t.axes,v).forEach(($,_)=>u[_]=$)}if(l>0&&e.length>l&&(e[l].getBigInt64Array().forEach($=>o.push(Number($))),o.length!==v||r>=18&&o.length===t.axes.length))throw new Error(\"Resize requires sizes input size to be same as input rank or axes size for opset 18 and up\");if(t.axes.length>0){if(u.length!==t.axes.length)throw new Error('Resize requires \"scales\" input size to be of axes rank when axes attributes is specified');if(o.length!==t.axes.length)throw new Error('Resize requires \"sizes\" input size to be of rank axes rank when axes attributes is specified')}if(typeof u<\"u\"&&typeof o<\"u\"&&u.length>0&&o.length>v)throw new Error(\"Resize requires only of scales or sizes to be specified\")},O0=(e,t)=>`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,\n lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${t} { `+(()=>{switch(e){case\"asymmetric\":return`return ${t}(xResized) / ${t}(xScale);`;case\"pytorch_half_pixel\":return`if (lengthResized > 1) {\n return (${t}(xResized) + 0.5) / ${t}(xScale) - 0.5;\n } else {\n return 0.0;\n }`;case\"tf_half_pixel_for_nn\":return`return (${t}(xResized) + 0.5) / ${t}(xScale);`;case\"align_corners\":return`if (lengthResized == 1) {\n return 0.0;\n } else {\n // The whole part and the fractional part are calculated separately due to inaccuracy of floating\n // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an\n // offset-by-one error later in floor().\n let whole = ${t}(xResized * (lengthOriginal - 1) / (lengthResized - 1));\n let fract =\n ${t}(xResized * (lengthOriginal - 1) % (lengthResized - 1)) / ${t}(lengthResized - 1);\n return whole + fract;\n }`;case\"tf_crop_and_resize\":return`if (lengthResized > 1) {\n return ${t}(roiStart) * ${t}(lengthOriginal - 1) +\n (${t}(xResized) * ${t}(roiEnd - roiStart) * ${t}(lengthOriginal - 1)) /\n ${t}(lengthResized - 1);\n } else {\n return 0.5 * ${t}(roiStart + roiEnd) * ${t}(lengthOriginal - 1);\n }`;case\"half_pixel_symmetric\":return`const outputWidth = ${t}xScale * ${t}(lengthResized);\n const adjustment = ${t}(lengthResized) / outputWidth;\n const center = ${t}(lengthOriginal) / 2;\n const offset = center * (1 - adjustment);\n return offset + ((${t}(xResized) + 0.5) / ${t}(xScale)) - 0.5;`;case\"half_pixel\":return`return ((${t}(xResized) + 0.5) / ${t}(xScale)) - 0.5;`;default:throw new Error(`Coordinate transform mode ${e} is not supported`)}})()+\"}\",P0=(e,t,r)=>`fn getNearestPixelFromOriginal(xOriginal: ${r}, isDownSample: bool) -> ${r} {`+(()=>{switch(e){case\"round_prefer_ceil\":return\"if (fract(xOriginal) == 0.5) { return ceil(xOriginal); } else { return round(xOriginal); }\";case\"floor\":return\"return floor(xOriginal);\";case\"ceil\":return\"return ceil(xOriginal);\";case\"round_prefer_floor\":return\"if (fract(xOriginal) == 0.5) { return floor(xOriginal); } else { return round(xOriginal); }\";case\"simple\":default:if(t<11)return\"if (isDownSample) { return ceil(xOriginal); } else { return xOriginal; }\";throw new Error(`Nearest mode ${e} is not supported`)}})()+\"}\",R0=(e,t,r)=>{let u=new Array(r).fill(0).concat(new Array(r).fill(1)),o=e.length===0?u:e.slice();return t.length>0?(t.forEach((c,p)=>{u[c]=o[p],u[p+r]=o[t.length+p]}),u):o},B0=(e,t,r,u)=>{let o=[];if(r.length>0)if(u.length>0){if(e.forEach(c=>o.push(c)),Math.max(...u)>e.length)throw new Error(\"axes is out of bound\");u.forEach((c,p)=>o[c]=r[p])}else r.forEach(c=>o.push(c));else{if(t.length===0)throw new Error(\"Resize requires either scales or sizes.\");o=e.map((c,p)=>Math.round(c*t[p]))}return o},z0=(e,t,r)=>{let u=(()=>{switch(r.keepAspectRatioPolicy){case\"not_larger\":return r.axes.length>0?Math.min(...r.axes.map(c=>t[c]),Number.MAX_VALUE):Math.min(...t,Number.MAX_VALUE);case\"not_smaller\":return r.axes.length>0?Math.max(...r.axes.map(c=>t[c]),Number.MIN_VALUE):Math.max(...t,Number.MIN_VALUE);default:throw new Error(`Keep aspect ratio policy ${r.keepAspectRatioPolicy} is not supported`)}})();t.fill(1,0,t.length);let o=e.slice();return r.axes.length>0?(r.axes.forEach(c=>t[c]=u),r.axes.forEach(c=>o[c]=Math.round(e[c]*t[c]))):(t.fill(u,0,t.length),o.forEach((c,p)=>o[p]=Math.round(c*t[p]))),o},D0=(e,t,r,u,o)=>`\n fn calculateOriginalIndicesFromOutputIndices(output_indices: ${e.type.indices}) -> array<${e.type.value}, ${r.length}> {\n var original_indices: array<${e.type.value}, ${r.length}>;\n for (var i:u32 = 0; i < ${r.length}; i++) {\n var output_index = ${e.indicesGet(\"output_indices\",\"i\")};\n var scale = ${we(\"uniforms.scales\",\"i\",u)};\n var roi_low = ${we(\"uniforms.roi\",\"i\",o)};\n var roi_hi = ${we(\"uniforms.roi\",`i + ${t.length}`,o)};\n if (scale == 1.0) {\n original_indices[i] = ${e.type.value}(output_index);\n } else {\n var input_shape_i = ${we(\"uniforms.input_shape\",\"i\",t.length)};\n var output_shape_i = ${we(\"uniforms.output_shape\",\"i\",r.length)};\n original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\n input_shape_i, roi_low, roi_hi);\n }\n }\n return original_indices;\n }`,M0=(e,t,r,u,o,c,p)=>`\n fn calculateInputIndicesFromOutputIndices(output_indices: ${t.type.indices}) -> ${e.type.indices} {\n var input_indices: ${e.type.indices};\n for (var i:u32 = 0; i < ${u.length}; i++) {\n var output_index = ${t.indicesGet(\"output_indices\",\"i\")};\n var input_index: u32;\n var scale = ${we(\"uniforms.scales\",\"i\",o)};\n if (scale == 1.0) {\n input_index = output_index;\n } else {\n var roi_low = ${we(\"uniforms.roi\",\"i\",c)};\n var roi_hi = ${we(\"uniforms.roi\",`i + ${r.length}`,c)};\n var input_shape_i = ${we(\"uniforms.input_shape\",\"i\",r.length)};\n var output_shape_i = ${we(\"uniforms.output_shape\",\"i\",u.length)};\n var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\n input_shape_i, roi_low, roi_hi);\n if (!${p} || (original_idx >= 0 && original_idx < ${t.type.value}(input_shape_i))) {\n if (original_idx < 0) {\n input_index = 0;\n } else if (original_idx > ${t.type.value}(input_shape_i - 1)) {\n input_index = input_shape_i - 1;\n } else {\n input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));\n }\n } else {\n input_index = u32(original_idx);\n }\n }\n ${e.indicesSet(\"input_indices\",\"i\",\" input_index\")}\n }\n return input_indices;\n }`,j0=(e,t)=>`\n fn checkInputIndices(input_indices: ${e.type.indices}) -> bool {\n for (var i:u32 = 0; i < ${t.length}; i++) {\n var input_index = ${e.indicesGet(\"input_indices\",\"i\")};\n if (input_index < 0 || input_index >= ${we(\"uniforms.input_shape\",\"i\",t.length)}) {\n return false;\n }\n }\n return true;\n }`,op=(e,t,r,u)=>e.rank>u?`\n ${e.indicesSet(\"input_indices\",t,\"channel\")};\n ${e.indicesSet(\"input_indices\",r,\"batch\")};\n`:\"\",U0=(e,t,r,u,o)=>{let[p,h,l,v]=r.length===2?[-1,0,1,-1]:[0,2,3,1],$=e.type.value;return`\n fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${$} {\n var input_indices: ${e.type.indices};\n ${e.indicesSet(\"input_indices\",h,`max(0, min(row, ${r[h]} - 1))`)};\n ${e.indicesSet(\"input_indices\",l,`max(0, min(col, ${r[l]} - 1))`)};\n ${op(e,v,p,2)}\n return ${e.getByIndices(\"input_indices\")};\n }\n\n fn bilinearInterpolation(output_indices: ${t.type.indices}) -> ${$} {\n var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\n var row:${$} = originalIndices[${h}];\n var col:${$} = originalIndices[${l}];\n ${u?`if (row < 0 || row > (${r[h]} - 1) || col < 0 || col > (${r[l]} - 1)) {\n return ${o};\n }`:\"\"};\n row = max(0, min(row, ${r[h]} - 1));\n col = max(0, min(col, ${r[l]} - 1));\n var row1: u32 = u32(row);\n var col1: u32 = u32(col);\n var row2: u32 = u32(row + 1);\n var col2: u32 = u32(col + 1);\n var channel: u32 = ${r.length>2?`u32(originalIndices[${v}])`:\"0\"};\n var batch: u32 = ${r.length>2?`u32(originalIndices[${p}])`:\"0\"};\n var x11: ${$} = getInputValue(batch, channel, row1, col1);\n var x12: ${$} = getInputValue(batch, channel, row1, col2);\n var x21: ${$} = getInputValue(batch, channel, row2, col1);\n var x22: ${$} = getInputValue(batch, channel, row2, col2);\n var dx1: ${$} = abs(row - ${$}(row1));\n var dx2: ${$} = abs(${$}(row2) - row);\n var dy1: ${$} = abs(col - ${$}(col1));\n var dy2: ${$} = abs(${$}(col2) - col);\n if (row1 == row2) {\n dx1 = 0.5;\n dx2 = 0.5;\n }\n if (col1 == col2) {\n dy1 = 0.5;\n dy2 = 0.5;\n }\n return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);\n }`},W0=(e,t,r,u,o,c,p,h,l,v)=>{let $=r.length===2,_=!0,[x,A]=$?[0,1]:_?[2,3]:[1,2],S=e.type.value,k=M=>{let R=M===x?\"row\":\"col\";return`\n fn ${R}CubicInterpolation(input_indices: ${e.type.indices}, output_indices: ${t.type.indices}) -> ${S} {\n var output_index = ${t.indicesGet(\"output_indices\",M)};\n var originalIdx: ${S} = getOriginalCoordinateFromResizedCoordinate(output_index, ${o[M]},\n ${u[M]}, ${r[M]}, ${c[M]}, ${c[M]} + ${r.length});\n var fractOriginalIdx: ${S} = originalIdx - floor(originalIdx);\n var coefs = getCubicInterpolationCoefs(fractOriginalIdx);\n\n if (${h} && (originalIdx < 0 || originalIdx > (${r[M]} - 1))) {\n return ${l};\n }\n var data: array<${S}, 4> = array<${S}, 4>(0.0, 0.0, 0.0, 0.0);\n for (var i: i32 = -1; i < 3; i++) {\n var ${R}: ${S} = originalIdx + ${S}(i);\n if (${R} < 0 || ${R} >= ${r[M]}) {\n ${(()=>v?`coefs[i + 1] = 0.0;\n continue;`:h?`return ${l};`:`${R} = max(0, min(${R}, ${r[M]} - 1));`)()};\n }\n var input_indices_copy: ${e.type.indices} = input_indices;\n ${e.indicesSet(\"input_indices_copy\",M,`u32(${R})`)};\n data[i + 1] = ${M===x?e.getByIndices(\"input_indices_copy\"):\"rowCubicInterpolation(input_indices_copy, output_indices)\"};\n }\n return cubicInterpolation1D(data, coefs);\n }`};return`\n ${k(x)};\n ${k(A)};\n fn getCubicInterpolationCoefs(s: ${S}) -> array<${S}, 4> {\n var absS = abs(s);\n var coeffs: array<${S}, 4> = array<${S}, 4>(0.0, 0.0, 0.0, 0.0);\n var oneMinusAbsS: ${S} = 1.0 - absS;\n var twoMinusAbsS: ${S} = 2.0 - absS;\n var onePlusAbsS: ${S} = 1.0 + absS;\n coeffs[0] = ((${p} * onePlusAbsS - 5 * ${p}) * onePlusAbsS + 8 * ${p}) * onePlusAbsS - 4 * ${p};\n coeffs[1] = ((${p} + 2) * absS - (${p} + 3)) * absS * absS + 1;\n coeffs[2] = ((${p} + 2) * oneMinusAbsS - (${p} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;\n coeffs[3] = ((${p} * twoMinusAbsS - 5 * ${p}) * twoMinusAbsS + 8 * ${p}) * twoMinusAbsS - 4 * ${p};\n return coeffs;\n }\n\n fn cubicInterpolation1D(x: array<${S}, 4>, coefs: array<${S}, 4>) -> ${S} {\n var coefsSum: ${S} = coefs[0] + coefs[1] + coefs[2] + coefs[3];\n return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;\n }\n\n fn bicubicInterpolation(output_indices: ${t.type.indices}) -> ${S} {\n var input_indices: ${e.type.indices} = output_indices;\n return colCubicInterpolation(input_indices, output_indices);\n }\n `},N0=(e,t,r,u,o)=>{let[p,h,l,v,$]=r.length===3?[-1,0,1,2,-1]:[0,2,3,4,1],_=e.type.value;return`\n fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${_} {\n var input_indices: ${e.type.indices};\n ${e.indicesSet(\"input_indices\",h,`max(0, min(depth, ${r[h]} - 1))`)};\n ${e.indicesSet(\"input_indices\",l,`max(0, min(height, ${r[l]} - 1))`)};\n ${e.indicesSet(\"input_indices\",v,`max(0, min(width, ${r[v]} - 1))`)};\n ${op(e,$,p,3)}\n return ${e.getByIndices(\"input_indices\")};\n }\n\n fn trilinearInterpolation(output_indices: ${t.type.indices}) -> ${_} {\n var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\n var depth:${_} = originalIndices[${h}];\n var height:${_} = originalIndices[${l}];\n var width:${_} = originalIndices[${v}];\n ${u?`if (depth < 0 || depth > (${r[h]} - 1) || height < 0 || height > (${r[l]} - 1) || width < 0 || (width > ${r[v]} - 1)) {\n return ${o};\n }`:\"\"};\n\n depth = max(0, min(depth, ${r[h]} - 1));\n height = max(0, min(height, ${r[l]} - 1));\n width = max(0, min(width, ${r[v]} - 1));\n var depth1: u32 = u32(depth);\n var height1: u32 = u32(height);\n var width1: u32 = u32(width);\n var depth2: u32 = u32(depth + 1);\n var height2: u32 = u32(height + 1);\n var width2: u32 = u32(width + 1);\n var channel: u32 = ${r.length>3?`u32(originalIndices[${$}])`:\"0\"};\n var batch: u32 = ${r.length>3?`u32(originalIndices[${p}])`:\"0\"};\n\n var x111: ${_} = getInputValue(batch, channel, depth1, height1, width1);\n var x112: ${_} = getInputValue(batch, channel, depth1, height1, width2);\n var x121: ${_} = getInputValue(batch, channel, depth1, height2, width1);\n var x122: ${_} = getInputValue(batch, channel, depth1, height2, width2);\n var x211: ${_} = getInputValue(batch, channel, depth2, height1, width1);\n var x212: ${_} = getInputValue(batch, channel, depth2, height1, width2);\n var x221: ${_} = getInputValue(batch, channel, depth2, height2, width1);\n var x222: ${_} = getInputValue(batch, channel, depth2, height2, width2);\n var dx1: ${_} = abs(depth - ${_}(depth1));\n var dx2: ${_} = abs(${_}(depth2) - depth);\n var dy1: ${_} = abs(height - ${_}(height1));\n var dy2: ${_} = abs(${_}(height2) - height);\n var dz1: ${_} = abs(width - ${_}(width1));\n var dz2: ${_} = abs(${_}(width2) - width);\n if (depth1 == depth2) {\n dx1 = 0.5;\n dx2 = 0.5;\n }\n if (height1 == height2) {\n dy1 = 0.5;\n dy2 = 0.5;\n }\n if (width1 == width2) {\n dz1 = 0.5;\n dz2 = 0.5;\n }\n return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +\n x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);\n }`},V0=(e,t,r,u,o,c)=>{let p=e.dims,h=R0(c,t.axes,p.length),l=B0(p,u,o,t.axes),v=u.slice();u.length===0&&(v=p.map((P,W)=>P===0?1:l[W]/P),t.keepAspectRatioPolicy!==\"stretch\"&&(l=z0(p,v,t)));let $=ae(\"output\",e.dataType,l.length),_=X(\"input\",e.dataType,p.length),x=Q.size(l),A=p.length===l.length&&p.every((P,W)=>P===l[W]),S=t.coordinateTransformMode===\"tf_crop_and_resize\",k=t.extrapolationValue,M=_.type.value,R=P=>`\n ${A?\"\":`\n ${O0(t.coordinateTransformMode,M)};\n ${(()=>{switch(t.mode){case\"nearest\":return`\n ${j0(_,p)};\n ${P0(t.nearestMode,r,M)};\n ${M0(_,$,p,l,v.length,h.length,S)};\n `;case\"linear\":return`\n ${D0($,p,l,v.length,h.length)};\n ${(()=>{if(p.length===2||p.length===4)return`${U0(_,$,p,S,k)}`;if(p.length===3||p.length===5)return`${N0(_,$,p,S,k)}`;throw Error(\"Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.\")})()};\n `;case\"cubic\":return`\n ${(()=>{if(p.length===2||p.length===4)return`${W0(_,$,p,l,v,h,t.cubicCoeffA,S,t.extrapolationValue,t.excludeOutside)}`;throw Error(\"Cubic mode only supports input dims 2 and 4 are supported in linear mode.\")})()};\n `;default:throw Error(\"Invalid resize mode\")}})()};\n `}\n ${P.registerUniform(\"output_size\",\"u32\").registerUniform(\"scales\",\"f32\",v.length).registerUniform(\"roi\",\"f32\",h.length).declareVariables(_,$)}\n ${P.mainStart()}\n ${P.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n ${A?\"output[global_idx] = input[global_idx];\":`\n let output_indices = ${$.offsetToIndices(\"global_idx\")};\n var input_indices: ${_.type.indices};\n ${(()=>{switch(t.mode){case\"nearest\":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);\n if (checkInputIndices(input_indices)) {\n output[global_idx] = ${_.getByIndices(\"input_indices\")};\n } else {\n output[global_idx] = ${t.extrapolationValue};\n }`;case\"linear\":return`output[global_idx] = ${p.length===2||p.length===4?\"bilinearInterpolation\":\"trilinearInterpolation\"}(output_indices);`;case\"cubic\":return\"output[global_idx] = bicubicInterpolation(output_indices);\";default:throw Error(`Unsupported resize mode: ${t.mode}`)}})()};\n`}\n }`;return{name:\"Resize\",shaderCache:{hint:`${t.cacheKey}|${r}|${v.length>0?v:\"\"}|${o.length>0?o:\"\"}|${h.length>0?h:\"\"}|${A}|${p}`,inputDependencies:[\"rank\"]},getShaderSource:R,getRunData:()=>({outputs:[{dims:l,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(x/64)},programUniforms:[{type:12,data:x},{type:1,data:v},{type:1,data:h},...se(p,l)]})}},G0=e=>{let t=e.customDataBuffer;return new Uint32Array(t,t.byteOffset,1)[0]},sp=(e,t)=>{let r=[],u=[],o=[],c=G0(e);if(t.antialias!==0)throw Error(\"Only default value (0) for Antialias attribute is supported\");k0(e.inputs,t,c,r,u,o),e.compute(V0(e.inputs[0],t,c,r,u,o),{inputs:[0]})},up=e=>{let t=e.antialias,r=e.axes,u=e.coordinateTransformMode,o=e.cubicCoeffA,c=e.excludeOutside!==0,p=e.extrapolationValue,h=e.keepAspectRatioPolicy,l=e.mode,v=e.nearestMode===\"\"?\"simple\":e.nearestMode;return Oe({antialias:t,axes:r,coordinateTransformMode:u,cubicCoeffA:o,excludeOutside:c,extrapolationValue:p,keepAspectRatioPolicy:h,mode:l,nearestMode:v})}});var L0,H0,dp,cp=ne(()=>{\"use strict\";$e();Pe();Te();L0=e=>{if(!e||e.length<3)throw new Error(\"layerNorm requires at least 3 inputs.\");let t=e[0],r=e[1],u=e[2];if(t.dataType!==r.dataType||t.dataType!==u.dataType)throw new Error(\"All inputs must have the same data type\");if(t.dims.length!==3&&t.dims.length!==2)throw new Error(\"Input must be 2D or 3D\");if(r.dims.length!==3&&r.dims.length!==2)throw new Error(\"Skip must be 2D or 3D\");let o=t.dims[t.dims.length-1],c=t.dims[t.dims.length-2];if(r.dims[r.dims.length-1]!==o)throw new Error(\"Skip must have the same hidden size as input\");if(r.dims[r.dims.length-2]!==c)throw new Error(\"Skip must have the same sequence length as input\");if(u.dims.length!==1)throw new Error(\"Gamma must be 1D\");if(u.dims[u.dims.length-1]!==o)throw new Error(\"Gamma must have the same hidden size as input\");if(e.length>3){let p=e[3];if(p.dims.length!==1)throw new Error(\"Beta must be 1D\");if(p.dims[p.dims.length-1]!==o)throw new Error(\"Beta must have the same hidden size as input\")}if(e.length>4){let p=e[4];if(p.dims.length!==1)throw new Error(\"Bias must be 1D\");if(p.dims[p.dims.length-1]!==o)throw new Error(\"Bias must have the same hidden size as input\")}},H0=(e,t,r,u)=>{let o=e[0].dims,c=Q.size(o),p=o,h=c,l=o.slice(-1)[0],v=u?o.slice(0,-1).concat(1):[],$=e.length>3,_=e.length>4,x=u&&r>1,A=u&&r>2,S=r>3,k=et(l),M=[{type:12,data:h},{type:12,data:k},{type:12,data:l},{type:1,data:t.epsilon}],R=W=>{let U=[{name:\"output_size\",type:\"u32\"},{name:\"components\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"},{name:\"epsilon\",type:\"f32\"}],q=[X(\"x\",e[0].dataType,e[0].dims,k),X(\"skip\",e[1].dataType,e[1].dims,k),X(\"gamma\",e[2].dataType,e[2].dims,k)];$&&q.push(X(\"beta\",e[3].dataType,e[3].dims,k)),_&&q.push(X(\"bias\",e[4].dataType,e[4].dims,k)),q.push(ae(\"output\",e[0].dataType,p,k)),x&&q.push(ae(\"mean_output\",1,v)),A&&q.push(ae(\"inv_std_output\",1,v)),S&&q.push(ae(\"input_skip_bias_sum\",e[0].dataType,p,k));let Y=Ne(e[0].dataType);return`\n\n ${W.registerUniforms(U).declareVariables(...q)}\n\n ${W.mainStart()}\n ${W.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size / uniforms.hidden_size\")}\n let hidden_size_vectorized: u32 = uniforms.hidden_size / uniforms.components;\n let offset = global_idx * hidden_size_vectorized;\n var sum = ${ut(\"f32\",k)};\n var squareSum = ${ut(\"f32\",k)};\n for (var i: u32 = 0; i < hidden_size_vectorized; i++) {\n let skip_value = skip[offset + i];\n let bias_value = ${_?\"bias[i]\":\"0.0\"};\n let input_value = x[offset + i];\n let value = input_value + skip_value + bias_value;\n ${S?\"input_skip_bias_sum[offset + i] = value;\":\"\"}\n output[offset + i] = value;\n let f32_value = ${Rt(Y,k,\"value\")};\n sum += f32_value;\n squareSum += f32_value * f32_value;\n }\n let mean = ${yt(\"sum\",k)} / f32(uniforms.hidden_size);\n let inv_std_dev = inverseSqrt(${yt(\"squareSum\",k)} / f32(uniforms.hidden_size) - mean * mean + uniforms.epsilon);\n ${x?\"mean_output[global_idx] = mean;\":\"\"}\n ${A?\"inv_std_output[global_idx] = inv_std_dev;\":\"\"}\n for (var i: u32 = 0; i < hidden_size_vectorized; i++) {\n output[offset + i] = (output[offset + i] - ${Y}(mean)) * ${Y}(inv_std_dev) * gamma[i] + ${$?\"beta[i]\":\"0.0\"};\n }\n }`},P=[{dims:p,dataType:e[0].dataType}];return r>1&&P.push({dims:v,dataType:1}),r>2&&P.push({dims:v,dataType:1}),r>3&&P.push({dims:o,dataType:e[0].dataType}),{name:\"SkipLayerNormalization\",shaderCache:{hint:`${k};${x};${A};${S}`,inputDependencies:e.map((W,U)=>\"type\")},getShaderSource:R,getRunData:()=>({outputs:P,dispatchGroup:{x:Math.ceil(h/l/64)},programUniforms:M})}},dp=(e,t)=>{L0(e.inputs);let u=[0];e.outputCount>1&&u.push(-3),e.outputCount>2&&u.push(-3),e.outputCount>3&&u.push(3),e.compute(H0(e.inputs,t,e.outputCount,!1),{outputs:u})}});var F0,Dn,q0,pp,K0,Y0,fp,mp,hp=ne(()=>{\"use strict\";$e();Pe();nt();Te();F0=(e,t)=>{if(!e||e.length<1)throw new Error(\"too few inputs\");if(t.axes.length!==0){if(t.axes.length!==t.starts.length||t.axes.length!==t.ends.length)throw new Error(\"axes, starts and ends must have the same length\")}else if(t.starts.length!==t.ends.length)throw new Error(\"starts and ends must have the same length\");e.slice(1).forEach((r,u)=>{if(e[u+1].dataType!==6&&e[u+1].dataType!==7)throw new Error(`Input ${u} must be an array of int32 or int64`)})},Dn=(e,t)=>{let r=[];if(e.length>t)if(e[t].dataType===7)e[t].getBigInt64Array().forEach(u=>r.push(Number(u)));else if(e[t].dataType===6)e[t].getInt32Array().forEach(u=>r.push(Number(u)));else throw new Error(`Input ${t} must be an array of int32 or int64`);return r},q0=(e,t)=>{if(e.length>1){let r=Dn(e,1),u=Dn(e,2),o=Dn(e,3);return o.length===0&&(o=[...Array(e[0].dims.length).keys()]),Oe({starts:r,ends:u,axes:o})}else return t},pp=(e,t,r,u,o)=>{let c=e;return e<0&&(c+=r[u[t]]),o[t]<0?Math.max(0,Math.min(c,r[u[t]]-1)):Math.max(0,Math.min(c,r[u[t]]))},K0=(e,t,r)=>`fn calculateInputIndices(output_indices: ${t.type.indices}) -> ${e.type.indices} {\n var input_indices: ${e.type.indices};\n var carry = 0u;\n for (var i = ${r.length}; i >= 0; i--) {\n let input_shape_i = ${we(\"uniforms.input_shape\",\"i\",r.length)};\n let steps_i = ${we(\"uniforms.steps\",\"i\",r.length)};\n let signs_i = ${we(\"uniforms.signs\",\"i\",r.length)};\n let starts_i = ${we(\"uniforms.starts\",\"i\",r.length)};\n var output_index = ${t.indicesGet(\"output_indices\",\"i\")};\n var input_index = output_index * steps_i + starts_i + carry;\n carry = input_index / input_shape_i;\n input_index = input_index % input_shape_i;\n if (signs_i < 0) {\n input_index = input_shape_i - input_index - 1u + starts_i;\n }\n ${e.indicesSet(\"input_indices\",\"i\",\"input_index\")};\n }\n return input_indices;\n }`,Y0=(e,t)=>{let r=e[0].dims,u=Q.size(r),o=t.axes.length>0?Q.normalizeAxes(t.axes,r.length):[...Array(r.length).keys()],c=Dn(e,4);c.forEach(R=>R!==0||(()=>{throw new Error(\"step cannot be 0\")})),c.length===0&&(c=Array(o.length).fill(1));let p=t.starts.map((R,P)=>pp(R,P,r,o,c)),h=t.ends.map((R,P)=>pp(R,P,r,o,c));if(o.length!==p.length||o.length!==h.length)throw new Error(\"start, ends and axes should have the same number of elements\");if(o.length!==r.length)for(let R=0;RMath.sign(R));c.forEach((R,P,W)=>{if(R<0){let U=(h[P]-p[P])/R,q=p[P],Y=q+U*c[P];p[P]=Y,h[P]=q,W[P]=-R}});let v=r.slice(0);o.forEach((R,P)=>{v[R]=Math.ceil((h[R]-p[R])/c[R])});let $={dims:v,dataType:e[0].dataType},_=ae(\"output\",e[0].dataType,v.length),x=X(\"input\",e[0].dataType,e[0].dims.length),A=Q.size(v),S=[{name:\"outputSize\",type:\"u32\"},{name:\"starts\",type:\"u32\",length:p.length},{name:\"signs\",type:\"i32\",length:l.length},{name:\"steps\",type:\"u32\",length:c.length}],k=[{type:12,data:A},{type:12,data:p},{type:6,data:l},{type:12,data:c},...se(e[0].dims,v)],M=R=>`\n ${R.registerUniforms(S).declareVariables(x,_)}\n ${K0(x,_,r)}\n ${R.mainStart()}\n ${R.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n let output_indices = ${_.offsetToIndices(\"global_idx\")};\n let input_indices = calculateInputIndices(output_indices);\n ${_.setByOffset(\"global_idx\",x.getByIndices(\"input_indices\"))}\n }`;return{name:\"Slice\",shaderCache:{hint:`${l.length}_${p.length}_${c.length}`,inputDependencies:[\"rank\"]},getShaderSource:M,getRunData:()=>({outputs:[$],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:k})}},fp=(e,t)=>{F0(e.inputs,t);let r=q0(e.inputs,t);e.compute(Y0(e.inputs,r),{inputs:[0]})},mp=e=>{let t=e.starts,r=e.ends,u=e.axes;return Oe({starts:t,ends:r,axes:u})}});var Q0,Z0,gp,yp,vp=ne(()=>{\"use strict\";$e();Pe();nt();Te();Q0=e=>{if(!e||e.length!==1)throw new Error(\"Softmax op requires 1 input.\")},Z0=(e,t)=>{let r=e.dims,u=Q.size(r),o=64,c=t.axis;if(c<0&&(c=r.length+c),cR===4?`max(max(${M}.x, ${M}.y), max(${M}.z, ${M}.w))`:R===2?`max(${M}.x, ${M}.y)`:R===3?`max(max(${M}.x, ${M}.y), ${M}.z)`:M,_=X(\"x\",e.dataType,e.dims,l),x=ae(\"result\",e.dataType,e.dims,l),A=_.type.value,S=Ne(e.dataType)===\"f32\"?`var threadMax = ${A}(-3.402823e+38f);`:`var threadMax = ${A}(-65504.0h);`,k=M=>`\n var rowMaxShared : ${A};\n var rowSumShared : ${A};\n var threadShared : array<${A}, ${o}>;\n\n fn getValue(row: i32, col: i32, row_stride: i32) -> ${A} {\n let index = row * row_stride + col;\n return x[index];\n }\n\n fn setValue(row: i32, col: i32, row_stride: i32, value: ${A}) {\n let index = row * row_stride + col;\n result[index] = value;\n }\n ${M.registerUniform(\"packedCols\",\"i32\").declareVariables(_,x)}\n ${M.mainStart()}\n let gindex = i32(global_idx);\n let lindex = i32(local_idx);\n const wg = ${o};\n let row = gindex / wg;\n let cols = uniforms.packedCols;\n let row_stride : i32 = uniforms.packedCols;\n\n // find the rows max\n ${S}\n for (var col = lindex; col < cols; col += wg) {\n let value = getValue(row, col, row_stride);\n threadMax = max(threadMax, value);\n }\n if (lindex < cols) {\n threadShared[lindex] = threadMax;\n }\n workgroupBarrier();\n\n var reduceSize = min(cols, wg);\n for (var currSize = reduceSize >> 1; currSize > 0; currSize = reduceSize >> 1) {\n reduceSize = currSize + (reduceSize & 1);\n if (lindex < currSize) {\n threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);\n }\n workgroupBarrier();\n }\n if (lindex == 0) {\n rowMaxShared = ${A}(${$(\"threadShared[0]\",l)});\n }\n workgroupBarrier();\n\n // find the rows sum\n var threadSum = ${A}(0.0);\n for (var col = lindex; col < cols; col += wg) {\n let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);\n threadSum += subExp;\n }\n threadShared[lindex] = threadSum;\n workgroupBarrier();\n\n for (var currSize = wg >> 1; currSize > 0; currSize = currSize >> 1) {\n if (lindex < currSize) {\n threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];\n }\n workgroupBarrier();\n }\n if (lindex == 0) {\n rowSumShared = ${A}(${yt(\"threadShared[0]\",l)});\n }\n workgroupBarrier();\n\n // calculate final value for each element in the row\n for (var col = lindex; col < cols; col += wg) {\n let value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;\n setValue(row, col, row_stride, value);\n }\n }`;return{name:\"Softmax\",shaderCache:{hint:`${l}`,inputDependencies:[\"type\"]},getRunData:()=>({outputs:[{dims:r,dataType:e.dataType}],dispatchGroup:{x:h},programUniforms:[{type:12,data:v}]}),getShaderSource:k}},gp=(e,t)=>{Q0(e.inputs),e.compute(Z0(e.inputs[0],t))},yp=e=>Oe({axis:e.axis})});var X0,J0,ev,tv,rv,bp,wp,_p=ne(()=>{\"use strict\";$e();Pe();nt();Te();X0=e=>{if(!e||e.length<1)throw new Error(\"too few inputs\")},J0=(e,t)=>{let r=[],u=t.numOutputs;return e[1].dims[0]>0&&(e[1].getBigInt64Array().forEach(o=>r.push(Number(o))),u=r.length),Oe({numOutputs:u,axis:t.axis,splitSizes:r})},ev=e=>`\nfn calculateOutputIndex(index: u32) -> u32 {\n for (var i: u32 = 0u; i < ${e}u; i += 1u ) {\n if (index < ${we(\"uniforms.size_in_split_axis\",\"i\",e)}) {\n return i;\n }\n }\n return ${e}u;\n}`,tv=e=>{let t=e.length,r=[];for(let u=0;u{let r=e[0].dims,u=Q.size(r),o=e[0].dataType,c=Q.normalizeAxis(t.axis,r.length),p=new Array(t.numOutputs),h=X(\"input\",o,r.length),l=new Array(t.numOutputs),v=[],$=[],_=0,x=[{type:12,data:u}];for(let S=0;S`\n ${S.registerUniform(\"input_size\",\"u32\").registerUniform(\"size_in_split_axis\",\"u32\",l.length).declareVariables(h,...p)}\n ${ev(l.length)}\n ${tv(p)}\n\n ${S.mainStart()}\n ${S.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.input_size\")}\n\n var indices = ${h.offsetToIndices(\"global_idx\")};\n var index = ${h.indicesGet(\"indices\",c)};\n let output_number = calculateOutputIndex(index);\n if (output_number != 0) {\n index -= ${we(\"uniforms.size_in_split_axis\",\"output_number - 1u\",l.length)};\n ${h.indicesSet(\"indices\",c,\"index\")};\n }\n writeBufferData(output_number, indices, global_idx);\n }`;return{name:\"Split\",shaderCache:{hint:t.cacheKey,inputDependencies:[\"rank\"]},getShaderSource:A,getRunData:()=>({outputs:v,dispatchGroup:{x:Math.ceil(u/64)},programUniforms:x})}},bp=(e,t)=>{X0(e.inputs);let r=e.inputs.length===1?t:J0(e.inputs,t);e.compute(rv(e.inputs,r),{inputs:[0]})},wp=e=>{let t=e.axis,r=e.splitSizes,u=e.numOutputs<0?r.length:e.numOutputs;if(u!==r.length)throw new Error(\"numOutputs and splitSizes lengh must be equal\");return Oe({axis:t,numOutputs:u,splitSizes:r})}});var $p,iv,nv,av,Cp,xp=ne(()=>{\"use strict\";$e();Pe();Te();$p=e=>Array.from(e.getBigInt64Array(),Number),iv=e=>{if(!e||e.length!==2)throw new Error(\"Tile requires 2 inputs.\");if(e[0].dataType!==1&&e[0].dataType!==6&&e[0].dataType!==12)throw new Error(\"Tile only support float, int32, and uint32 data types\");if(e[1].dataType!==7)throw new Error(\"Tile `repeats` input should be of int64 data type\");if(e[1].dims.length!==1)throw new Error(\"Tile `repeats` input should be 1-D\");if($p(e[1]).length!==e[0].dims.length)throw new Error(\"Tile `repeats` input should have same number of elements as rank of input data tensor\")},nv=(e,t)=>{let r=[];for(let u=0;u{let t=e[0].dims,r=$p(e[1]),u=nv(t,r),o=Q.size(u),c=e[0].dataType,p=X(\"input\",c,t.length),h=ae(\"output\",c,u.length),l=v=>`\n const inputShape = ${p.indices(...t)};\n ${v.registerUniform(\"output_size\",\"u32\").declareVariables(p,h)}\n ${v.mainStart()}\n ${v.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let output_indices = ${h.offsetToIndices(\"global_idx\")};\n var input_indices: ${p.type.indices};\n for (var i = 0; i < ${t.length}; i++) {\n let input_dim_i = ${p.indicesGet(\"uniforms.input_shape\",\"i\")};\n let input_dim_value = ${h.indicesGet(\"output_indices\",\"i\")} % input_dim_i;\n\n ${p.indicesSet(\"input_indices\",\"i\",\"input_dim_value\")}\n }\n ${h.setByOffset(\"global_idx\",p.getByIndices(\"input_indices\"))}\n }`;return{name:\"Tile\",shaderCache:{hint:`${r}`,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:u,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(o/64)},programUniforms:[{type:12,data:o},...se(e[0].dims,u)]}),getShaderSource:l}},Cp=e=>{iv(e.inputs),e.compute(av(e.inputs),{inputs:[0]})}});var ov,sv,Sp,Ip=ne(()=>{\"use strict\";$e();Pe();Te();ov=(e,t,r,u,o)=>{let c=ae(\"output_data\",o,r.length,4),p=X(\"a_data\",t[1].dataType,t[1].dims.length,4),h=X(\"b_data\",t[2].dataType,t[2].dims.length,4),l=X(\"c_data\",t[0].dataType,t[0].dims.length,4),v,$=(_,x,A)=>`select(${x}, ${_}, ${A})`;if(!u)v=c.setByOffset(\"global_idx\",$(p.getByOffset(\"global_idx\"),h.getByOffset(\"global_idx\"),l.getByOffset(\"global_idx\")));else{let _=(x,A,S=\"\")=>{let k=`a_data[index_a${A}][component_a${A}]`,M=`b_data[index_b${A}][component_b${A}]`,R=`bool(c_data[index_c${A}] & (0xffu << (component_c${A} * 8)))`;return`\n let output_indices${A} = ${c.offsetToIndices(`global_idx * 4u + ${A}u`)};\n let offset_a${A} = ${p.broadcastedIndicesToOffset(`output_indices${A}`,c)};\n let offset_b${A} = ${h.broadcastedIndicesToOffset(`output_indices${A}`,c)};\n let offset_c${A} = ${l.broadcastedIndicesToOffset(`output_indices${A}`,c)};\n let index_a${A} = offset_a${A} / 4u;\n let index_b${A} = offset_b${A} / 4u;\n let index_c${A} = offset_c${A} / 4u;\n let component_a${A} = offset_a${A} % 4u;\n let component_b${A} = offset_b${A} % 4u;\n let component_c${A} = offset_c${A} % 4u;\n ${x}[${A}] = ${S}(${$(k,M,R)});\n `};o===9?v=`\n var data = vec4(0);\n ${_(\"data\",0,\"u32\")}\n ${_(\"data\",1,\"u32\")}\n ${_(\"data\",2,\"u32\")}\n ${_(\"data\",3,\"u32\")}\n output_data[global_idx] = dot(vec4(0x1, 0x100, 0x10000, 0x1000000), vec4(data));`:v=`\n ${_(\"output_data[global_idx]\",0)}\n ${_(\"output_data[global_idx]\",1)}\n ${_(\"output_data[global_idx]\",2)}\n ${_(\"output_data[global_idx]\",3)}\n `}return`\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(l,p,h,c)}\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${v}\n }`},sv=e=>{let t=e[1].dims,r=e[2].dims,u=e[0].dims,o=e[1].dataType,c=!(Q.areEqual(t,r)&&Q.areEqual(r,u)),p=t,h=Q.size(t);if(c){let v=Mt.calcShape(Mt.calcShape(t,r,!1),u,!1);if(!v)throw new Error(\"Can't perform where op on the given tensors\");p=v,h=Q.size(p)}let l=Math.ceil(h/4);return{name:\"Where\",shaderCache:{inputDependencies:[\"rank\",\"rank\",\"rank\"]},getShaderSource:v=>ov(v,e,p,c,o),getRunData:()=>({outputs:[{dims:p,dataType:o}],dispatchGroup:{x:Math.ceil(h/64/4)},programUniforms:[{type:12,data:l},...se(u,t,r,p)]})}},Sp=e=>{e.compute(sv(e.inputs))}});var Tp,Ap=ne(()=>{\"use strict\";Vl();_a();Hl();ql();Od();Vd();Hd();Ta();ac();uc();fc();gc();vc();_c();xc();Tc();Ec();Oc();Ea();Bc();jc();Wc();ip();ap();Cn();lp();cp();hp();vp();_p();xp();Mr();An();Ip();Tp=new Map([[\"Abs\",[Kl]],[\"Acos\",[Yl]],[\"Acosh\",[Ql]],[\"Add\",[Pd]],[\"ArgMax\",[Nl,wa]],[\"ArgMin\",[Wl,wa]],[\"Asin\",[Zl]],[\"Asinh\",[Xl]],[\"Atan\",[Jl]],[\"Atanh\",[ed]],[\"Attention\",[Gl]],[\"AveragePool\",[Kc,qc]],[\"BatchNormalization\",[Ll]],[\"BiasAdd\",[Fl]],[\"BiasSplitGelu\",[kd]],[\"Cast\",[rd,td]],[\"Ceil\",[nd]],[\"Clip\",[id]],[\"Concat\",[Gd,Ld]],[\"Conv\",[Oa,ka]],[\"ConvTranspose\",[nc,ic]],[\"Cos\",[ad]],[\"Cosh\",[od]],[\"CumSum\",[oc,sc]],[\"Div\",[Rd]],[\"Einsum\",[cc,pc]],[\"Elu\",[sd,In]],[\"Equal\",[Bd]],[\"Erf\",[ud]],[\"Exp\",[ld]],[\"Expand\",[hc]],[\"FastGelu\",[yc]],[\"Floor\",[dd]],[\"FusedConv\",[Oa,ka]],[\"Gather\",[wc,bc]],[\"GatherElements\",[Cc,$c]],[\"Gelu\",[cd]],[\"Gemm\",[Ic,Sc]],[\"GlobalAveragePool\",[Zc,Qc]],[\"GlobalMaxPool\",[rp,tp]],[\"Greater\",[jd]],[\"GreaterOrEqual\",[Wd]],[\"HardSigmoid\",[bd,vd]],[\"InstanceNormalization\",[Ac]],[\"LayerNormalization\",[kc]],[\"LeakyRelu\",[pd,In]],[\"Less\",[Ud]],[\"LessOrEqual\",[Nd]],[\"Log\",[Ad]],[\"MatMul\",[Qd]],[\"MatMulNBits\",[Pc,Rc]],[\"MaxPool\",[Jc,ep]],[\"Mul\",[zd]],[\"MultiHeadAttention\",[Mc,Dc]],[\"Neg\",[md]],[\"Not\",[fd]],[\"Pad\",[Uc]],[\"Pow\",[Dd]],[\"Range\",[np]],[\"Reciprocal\",[hd]],[\"ReduceMin\",[Bl]],[\"ReduceMean\",[El]],[\"ReduceMax\",[Rl]],[\"ReduceSum\",[Dl]],[\"ReduceProd\",[zl]],[\"ReduceL1\",[kl]],[\"ReduceL2\",[Ol]],[\"ReduceLogSum\",[jl]],[\"ReduceLogSumExp\",[Pl]],[\"ReduceSumSquare\",[Ml]],[\"Relu\",[gd]],[\"Resize\",[sp,up]],[\"Sigmoid\",[yd]],[\"Sin\",[wd]],[\"Sinh\",[_d]],[\"Slice\",[fp,mp]],[\"SkipLayerNormalization\",[dp]],[\"Split\",[bp,wp]],[\"Sqrt\",[$d]],[\"Softmax\",[gp,yp]],[\"Sub\",[Md]],[\"Tan\",[Cd]],[\"Tanh\",[Sd]],[\"ThresholdedRelu\",[Td,In]],[\"Tile\",[Cp]],[\"Transpose\",[gl,yl]],[\"Where\",[Sp]]])});var Mn,Ep=ne(()=>{\"use strict\";It();tr();Te();Mn=class{constructor(t){this.backend=t;this.repo=new Map,this.attributesBound=!1}getArtifact(t){return this.repo.get(t)}setArtifact(t,r){this.repo.set(t,r)}run(t,r,u,o,c){Ct(t.programInfo.name);let p=this.backend.device,h=this.backend.getComputePassEncoder();this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2);let l=[];for(let $ of r)l.push({binding:l.length,resource:{buffer:$.buffer}});for(let $ of u)l.push({binding:l.length,resource:{buffer:$.buffer}});c&&l.push({binding:l.length,resource:c});let v=p.createBindGroup({layout:t.computePipeline.getBindGroupLayout(0),entries:l,label:t.programInfo.name});if(this.backend.sessionStatus===\"capturing\"){let $={kernelId:this.backend.currentKernelId,computePipeline:t.computePipeline,bindGroup:v,dispatchGroup:o};this.backend.capturedCommandList.get(this.backend.currentSessionId).push($)}h.setPipeline(t.computePipeline),h.setBindGroup(0,v),h.dispatchWorkgroups(...o),this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||this.backend.queryType===\"at-passes\")&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),ht(t.programInfo.name)}dispose(){}build(t,r){Ct(t.name);let u=this.backend.device,o=[];u.features.has(\"shader-f16\")&&o.push(\"enable f16;\");let c=ml(r),p=t.getShaderSource(c),h=`${o.join(`\n`)}\n${c.additionalImplementations}\n${p}`,l=u.createShaderModule({code:h,label:t.name});Fe(\"verbose\",()=>`[WebGPU] ${t.name} shader code: ${h}`);let v=u.createComputePipeline({compute:{module:l,entryPoint:\"main\"},layout:\"auto\",label:t.name});return ht(t.name),{programInfo:t,computePipeline:v}}normalizeDispatchGroupSize(t){let r=typeof t==\"number\"?t:t.x,u=typeof t==\"number\"?1:t.y||1,o=typeof t==\"number\"?1:t.z||1,c=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(r<=c&&u<=c&&o<=c)return[r,u,o];let p=r*u*o,h=Math.ceil(Math.sqrt(p));if(h>c){if(h=Math.ceil(Math.cbrt(p)),h>c)throw new Error(\"Total dispatch size exceeds WebGPU maximum.\");return[h,h,h]}else return[h,h,1]}}});var uv,lv,jn,kp=ne(()=>{\"use strict\";It();$e();tr();ll();fl();Ap();Ep();uv=(e,t)=>{if(t.length!==e.length)throw new Error(`inputDependencies length ${t.length} is not equal to inputTensors length ${e.length}.`);let r=[];for(let u=0;u{let u=e.name;return e.shaderCache?.hint&&(u+=\"[\"+e.shaderCache.hint+\"]\"),u+=\":\"+r+`:${uv(t,e.shaderCache?.inputDependencies??new Array(t.length).fill(\"dims\"))}`,u},jn=class{constructor(){this.currentSessionId=null;this.currentKernelId=null;this.commandEncoder=null;this.computePassEncoder=null;this.maxDispatchNumber=16;this.pendingDispatchNumber=0;this.pendingKernels=[];this.pendingQueries=new Map;this.sessionStatus=\"default\";this.capturedCommandList=new Map;this.capturedPendingKernels=new Map;this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(this.currentKernelId===null)throw new Error(\"currentKernelCustomData(): currentKernelId is null. (should not happen)\");let t=this.kernelCustomData.get(this.currentKernelId);return t||(t={},this.kernelCustomData.set(this.currentKernelId,t)),t}async initialize(t,r){this.env=t;let u=[],o={requiredLimits:{maxComputeWorkgroupStorageSize:r.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:r.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:r.limits.maxStorageBufferBindingSize,maxBufferSize:r.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:r.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:r.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:r.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:r.limits.maxComputeWorkgroupSizeZ},requiredFeatures:u};r.features.has(\"chromium-experimental-timestamp-query-inside-passes\")?u.push(\"chromium-experimental-timestamp-query-inside-passes\"):r.features.has(\"timestamp-query\")&&u.push(\"timestamp-query\"),r.features.has(\"shader-f16\")&&u.push(\"shader-f16\"),this.device=await r.requestDevice(o),this.gpuDataManager=pl(this),this.programManager=new Mn(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,sl(t.logLevel,!!t.debug),this.device.onuncapturederror=c=>{c.error instanceof GPUValidationError&&console.error(`An uncaught WebGPU validation error was raised: ${c.error.message}`)},Object.defineProperty(this.env.webgpu,\"device\",{value:this.device}),this.setQueryType()}dispose(){typeof this.querySet<\"u\"&&this.querySet.destroy(),this.gpuDataManager.dispose()}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder()),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let t=this.getCommandEncoder(),r={};this.queryType===\"at-passes\"&&(r.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:this.pendingDispatchNumber*2,endOfPassWriteIndex:this.pendingDispatchNumber*2+1}),this.computePassEncoder=t.beginComputePass(r)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){if(!this.commandEncoder)return;Ct(),this.endComputePass();let t;this.queryType!==\"none\"&&(this.commandEncoder.resolveQuerySet(this.querySet,0,this.pendingDispatchNumber*2,this.queryResolveBuffer,0),t=this.device.createBuffer({size:this.pendingDispatchNumber*2*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(t,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,t,0,this.pendingDispatchNumber*2*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,this.queryType!==\"none\"&&t.mapAsync(GPUMapMode.READ).then(()=>{let r=new BigUint64Array(t.getMappedRange()),u=this.pendingQueries.get(t);for(let o=0;o\"u\"&&(this.queryTimeBase=A);let k=Number(A-this.queryTimeBase),M=Number(S-this.queryTimeBase);if(!Number.isSafeInteger(k)||!Number.isSafeInteger(M))throw new RangeError(\"incorrect timestamp range\");if(this.env.webgpu.profiling?.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:_.map(R=>({dims:R.dims,dataType:er(R.dataType)})),outputsMetadata:x.map(R=>({dims:R.dims,dataType:er(R.dataType)})),kernelId:p,kernelType:l,kernelName:v,programName:$,startTime:k,endTime:M});else{let R=\"\";_.forEach((W,U)=>{R+=`input[${U}]: [${W.dims}] | ${er(W.dataType)}, `});let P=\"\";x.forEach((W,U)=>{P+=`output[${U}]: [${W.dims}] | ${er(W.dataType)}, `}),console.log(`[profiling] kernel \"${p}|${l}|${v}|${$}\" ${R}${P}execution time: ${M-k} ns`)}sn(\"GPU\",`${$}::${A}::${S}`)}t.unmap(),this.pendingQueries.delete(t)}),ht()}run(t,r,u,o,c){Ct(t.name);let p=[];for(let P=0;PW):u;if($.length!==h.length)throw new Error(`Output size ${$.length} must be equal to ${h.length}.`);let _=[],x=[];for(let P=0;P=h.length)throw new Error(`Invalid output index: ${$[P]}`);if($[P]===-3)continue;let W=$[P]===-1,U=$[P]===-2,q=W||U?c(h[P].dataType,h[P].dims):o($[P],h[P].dataType,h[P].dims);if(_.push(q),q.data===0)continue;let Y=this.gpuDataManager.get(q.data);if(!Y)throw new Error(`no GPU data for output: ${q.data}`);if(W&&this.temporaryData.push(Y),U){let J=this.kernelPersistentData.get(this.currentKernelId);J||(J=[],this.kernelPersistentData.set(this.currentKernelId,J)),J.push(Y)}x.push(Y)}if(p.length!==r.length||x.length!==_.length){if(x.length===0)return ht(t.name),_;throw new Error(`Program ${t.name} has zero-sized tensor(s) in inputs or outputs. This is not supported now.`)}let A;if(v){let P=0,W=[];v.forEach(J=>{let oe=typeof J.data==\"number\"?[J.data]:J.data;if(oe.length===0)return;let ge=J.type===10?2:4,H,le;J.type===10?(le=oe.length>4?16:oe.length>2?8:oe.length*ge,H=oe.length>4?16:ge*oe.length):(le=oe.length<=2?oe.length*ge:16,H=16),P=Math.ceil(P/le)*le,W.push(P);let Ae=J.type===10?8:4;P+=oe.length>4?Math.ceil(oe.length/Ae)*H:oe.length*ge});let U=16;P=Math.ceil(P/U)*U;let q=new ArrayBuffer(P);v.forEach((J,oe)=>{let ge=W[oe],H=typeof J.data==\"number\"?[J.data]:J.data;if(J.type===6)new Int32Array(q,ge,H.length).set(H);else if(J.type===12)new Uint32Array(q,ge,H.length).set(H);else if(J.type===10)new Uint16Array(q,ge,H.length).set(H);else if(J.type===1)new Float32Array(q,ge,H.length).set(H);else throw new Error(`Unsupported uniform type: ${er(J.type)}`)});let Y=this.gpuDataManager.create(P,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.device.queue.writeBuffer(Y.buffer,0,q,0,P),this.gpuDataManager.release(Y.id),A={offset:0,size:P,buffer:Y.buffer}}let S=this.programManager.normalizeDispatchGroupSize(l),k=S[1]===1&&S[2]===1,M=lv(t,r,k),R=this.programManager.getArtifact(M);if(R||(R=this.programManager.build(t,S),this.programManager.setArtifact(M,R),Fe(\"info\",()=>`[artifact] key: ${M}, programName: ${t.name}`)),Fe(\"info\",()=>`[ProgramManager] run \"${t.name}\" (key=${M}) with ${S[0]}x${S[1]}x${S[2]}`),this.queryType!==\"none\"||this.sessionStatus===\"capturing\"){let P={kernelId:this.currentKernelId,programName:R.programInfo.name,inputTensorViews:r,outputTensorViews:_};this.pendingKernels.push(P),this.sessionStatus===\"capturing\"&&this.capturedPendingKernels.get(this.currentSessionId).push(P)}return this.programManager.run(R,p,x,S,A),ht(t.name),_}upload(t,r){this.gpuDataManager.upload(t,r)}memcpy(t,r){this.gpuDataManager.memcpy(t,r)}async download(t,r){await this.gpuDataManager.download(t,r)}alloc(t){return this.gpuDataManager.create(t).id}free(t){return this.gpuDataManager.release(t)}createKernel(t,r,u,o){let c=Tp.get(t);if(!c)throw new Error(`kernel not implemented: ${t}`);let p={kernelType:t,kernelName:o,kernelEntry:c[0],attributes:[c[1],u]};this.kernels.set(r,p)}releaseKernel(t){let r=this.kernelPersistentData.get(t);if(r){for(let u of r)this.gpuDataManager.release(u.id);this.kernelPersistentData.delete(t)}this.kernelCustomData.delete(t),this.kernels.delete(t)}computeKernel(t,r,u){let o=this.kernels.get(t);if(!o)throw new Error(`kernel not created: ${t}`);let c=o.kernelType,p=o.kernelName,h=o.kernelEntry,l=o.attributes;if(this.currentKernelId!==null)throw new Error(`kernel \"[${c}] ${p}\" is not allowed to be called recursively`);this.currentKernelId=t,l[0]&&(l[1]=l[0](l[1]),l[0]=void 0),Fe(\"info\",()=>`[WebGPU] Start to run kernel \"[${c}] ${p}\"...`);let v=this.env.debug;this.temporaryData=[];try{return v&&this.device.pushErrorScope(\"validation\"),h(r,l[1]),0}catch($){return u.push(Promise.resolve(`[WebGPU] Kernel \"[${c}] ${p}\" failed. ${$}`)),1}finally{v&&u.push(this.device.popErrorScope().then($=>$?`GPU validation error for kernel \"[${c}] ${p}\": ${$.message}`:null));for(let $ of this.temporaryData)this.gpuDataManager.release($.id);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(t,r,u,o){let c=this.sessionExternalDataMapping.get(t);c||(c=new Map,this.sessionExternalDataMapping.set(t,c));let p=c.get(r),h=this.gpuDataManager.registerExternalBuffer(u,o,p?.[1]);return c.set(r,[h,u]),h}unregisterBuffers(t){let r=this.sessionExternalDataMapping.get(t);r&&(r.forEach(u=>this.gpuDataManager.unregisterExternalBuffer(u[1])),this.sessionExternalDataMapping.delete(t))}getBuffer(t){let r=this.gpuDataManager.get(t);if(!r)throw new Error(`no GPU data for buffer: ${t}`);return r.buffer}createDownloader(t,r,u){return async()=>{let o=await fa(this,t,r);return ul(o.buffer,u)}}writeTimestamp(t){this.queryType===\"inside-passes\"&&this.computePassEncoder.writeTimestamp(this.querySet,t)}setQueryType(){this.queryType=\"none\",(this.env.webgpu.profiling?.mode===\"default\"||(typeof this.env.trace>\"u\"?this.env.wasm.trace:this.env.trace))&&(this.device.features.has(\"chromium-experimental-timestamp-query-inside-passes\")?this.queryType=\"inside-passes\":this.device.features.has(\"timestamp-query\")&&(this.queryType=\"at-passes\"),this.queryType!==\"none\"&&typeof this.querySet>\"u\"&&(this.querySet=this.device.createQuerySet({type:\"timestamp\",count:this.maxDispatchNumber*2}),this.queryResolveBuffer=this.device.createBuffer({size:this.maxDispatchNumber*2*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE})))}captureBegin(){Fe(\"info\",\"captureBegin\"),this.capturedCommandList.get(this.currentSessionId)||this.capturedCommandList.set(this.currentSessionId,[]),this.capturedPendingKernels.get(this.currentSessionId)||this.capturedPendingKernels.set(this.currentSessionId,[]),this.flush(),this.sessionStatus=\"capturing\"}captureEnd(){Fe(\"info\",\"captureEnd\"),this.flush(),this.sessionStatus=\"default\"}replay(){Fe(\"info\",\"replay\"),this.sessionStatus=\"replaying\";let t=this.capturedCommandList.get(this.currentSessionId),r=this.capturedPendingKernels.get(this.currentSessionId),u=t.length;this.pendingKernels=[];for(let o=0;o=this.maxDispatchNumber||this.queryType===\"at-passes\")&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus=\"default\"}onReleaseSession(t){this.unregisterBuffers(t),this.capturedCommandList.has(t)&&this.capturedCommandList.delete(t),this.capturedPendingKernels.has(t)&&this.capturedPendingKernels.delete(t),this.gpuDataManager.onReleaseSession(t)}onRunStart(t){this.currentSessionId=t,this.setQueryType()}}});var Op={};Br(Op,{init:()=>dv});var Ti,Ma,dv,Pp=ne(()=>{\"use strict\";$e();kp();tr();Pe();Ti=class e{constructor(t,r,u,o){this.module=t;this.dataType=r;this.data=u;this.dims=o}getFloat32Array(){if(this.dataType!==1)throw new Error(\"Invalid data type\");let t=Q.size(this.dims);return t===0?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,t)}getBigInt64Array(){if(this.dataType!==7)throw new Error(\"Invalid data type\");let t=Q.size(this.dims);return t===0?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,t)}getInt32Array(){if(this.dataType!==6)throw new Error(\"Invalid data type\");let t=Q.size(this.dims);return t===0?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,t)}reshape(t){if(Q.size(t)!==Q.size(this.dims))throw new Error(\"Invalid new shape\");return new e(this.module,this.dataType,this.data,t)}},Ma=class{constructor(t,r,u){this.module=t;this.backend=r;this.customDataOffset=0;this.customDataSize=0;let o=t.HEAPU32,c=u>>>2;this.opKernelContext=o[c++];let p=o[c++];this.outputCount=o[c++],this.customDataOffset=o[c++],this.customDataSize=o[c++];let h=[];for(let l=0;ltypeof h==\"number\"?this.inputs[h]:h)??this.inputs,o=r?.outputs??[],c=(h,l,v)=>new Ti(this.module,l,this.output(h,v),v),p=(h,l)=>{let v=_i(h);if(!v)throw new Error(`Unsupported data type: ${h}`);let $=v*Q.size(l),_=$>0?this.backend.gpuDataManager.create($).id:0;return new Ti(this.module,h,_,l)};return this.backend.run(t,u,o,c,p)}output(t,r){let u=this.module.stackSave();try{let o=this.module.stackAlloc((1+r.length)*4),c=o>>2;this.module.HEAPU32[c++]=r.length;for(let p=0;p{let u=e.jsepInit;if(!u)throw new Error(\"Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.\");let o=new jn;await o.initialize(t,r),u(o,c=>o.alloc(c),c=>o.free(c),(c,p,h,l=!1)=>{if(l)Fe(\"verbose\",()=>`[WebGPU] jsepCopyGpuToGpu: src=${c}, dst=${p}, size=${h}`),o.memcpy(c,p);else{Fe(\"verbose\",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${c}, gpuDataId=${p}, size=${h}`);let v=e.HEAPU8.subarray(c>>>0,(c>>>0)+h);o.upload(p,v)}},async(c,p,h)=>{Fe(\"verbose\",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${c}, dataOffset=${p}, size=${h}`),await o.download(c,()=>e.HEAPU8.subarray(p>>>0,(p>>>0)+h))},(c,p,h)=>o.createKernel(c,p,h,e.UTF8ToString(e._JsepGetNodeName(p))),c=>o.releaseKernel(c),(c,p,h,l)=>{Fe(\"verbose\",()=>`[WebGPU] jsepRun: sessionHandle=${h}, kernel=${c}, contextDataOffset=${p}`);let v=new Ma(e,o,p);return o.computeKernel(c,v,l)},()=>o.captureBegin(),()=>o.captureEnd(),()=>o.replay())}});var cv,Bp,zp,gr,pv,ja,Dp,Mp,Rp,jp,Up,Wp,Np=ne(()=>{\"use strict\";rl();nl();$e();zr();fn();ca();cv=(e,t)=>{Qe()._OrtInit(e,t)!==0&&He(\"Can't initialize onnxruntime.\")},Bp=async e=>{cv(e.wasm.numThreads,$i(e.logLevel))},zp=async(e,t)=>{if(t===\"webgpu\"||t===\"webnn\"){if(typeof navigator>\"u\"||!navigator.gpu)throw new Error(\"WebGPU is not supported in current environment\");let r=await navigator.gpu.requestAdapter();if(!r)throw new Error('Failed to get GPU adapter. You may need to enable flag \"--enable-unsafe-webgpu\" if you are using Chrome.');if(!e.wasm.simd)throw new Error(\"Not supported for WebGPU=ON and SIMD=OFF. Please set `env.wasm.simd` to true when using `webgpu` EP\");let u=(Pp(),Jt(Op)).init;await u(Qe(),e,r)}},gr=new Map,pv=e=>{let t=Qe(),r=t.stackSave();try{let u=t.stackAlloc(8);return t._OrtGetInputOutputCount(e,u,u+4)!==0&&He(\"Can't get session input/output count.\"),[t.HEAP32[u/4],t.HEAP32[u/4+1]]}finally{t.stackRestore(r)}},ja=e=>{let t=Qe(),r=t._malloc(e.byteLength);if(r===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,r),[r,e.byteLength]},Dp=async(e,t)=>{let r,u,o=Qe();Array.isArray(e)?[r,u]=e:e.buffer===o.HEAPU8.buffer?[r,u]=[e.byteOffset,e.byteLength]:[r,u]=ja(e);let c=0,p=0,h=0,l=[],v=[],$=[];try{if([p,l]=il(t),t?.externalData&&o.mountExternalData){let P=[];for(let W of t.externalData){let U=typeof W==\"string\"?W:W.path;P.push(Ci(typeof W==\"string\"?W:W.data).then(q=>{o.mountExternalData(U,q)}))}await Promise.all(P)}c=await o._OrtCreateSession(r,u,p),c===0&&He(\"Can't create a session.\");let[_,x]=pv(c),A=!!t?.enableGraphCapture,S=[],k=[],M=[];for(let P=0;P<_;P++){let W=o._OrtGetInputName(c,P);W===0&&He(\"Can't get an input name.\"),v.push(W),S.push(o.UTF8ToString(W))}for(let P=0;PP===\"gpu-buffer\")&&(h=o._OrtCreateBinding(c),h===0&&He(\"Can't create IO binding.\"),R={handle:h,outputPreferredLocations:M,outputPreferredLocationsEncoded:M.map(P=>da(P))}),gr.set(c,[c,v,$,R,A,!1]),[c,S,k]}catch(_){throw v.forEach(x=>o._OrtFree(x)),$.forEach(x=>o._OrtFree(x)),h!==0&&o._OrtReleaseBinding(h),c!==0&&o._OrtReleaseSession(c),_}finally{o._free(r),p!==0&&o._OrtReleaseSessionOptions(p),l.forEach(_=>o._free(_)),o.unmountExternalData?.()}},Mp=e=>{let t=Qe(),r=gr.get(e);if(!r)throw new Error(`cannot release session. invalid session id: ${e}`);let[u,o,c,p,h]=r;p&&(h&&t._OrtClearBoundOutputs(p.handle),t._OrtReleaseBinding(p.handle)),t.jsepOnReleaseSession?.(e),o.forEach(l=>t._OrtFree(l)),c.forEach(l=>t._OrtFree(l)),t._OrtReleaseSession(u),gr.delete(e)},Rp=(e,t,r,u,o,c=!1)=>{if(!e){t.push(0);return}let p=Qe(),h=e[0],l=e[1],v=e[3],$,_;if(h===\"string\"&&v===\"gpu-buffer\")throw new Error(\"String tensor is not supported on GPU.\");if(c&&v!==\"gpu-buffer\")throw new Error(`External buffer must be provided for input/output index ${o} when enableGraphCapture is true.`);if(v===\"gpu-buffer\"){let S=e[2].gpuBuffer,k=_i(la(h));_=l.reduce((M,R)=>M*R,1)*k,$=p.jsepRegisterBuffer(u,o,S,_)}else{let S=e[2];if(Array.isArray(S)){_=4*S.length,$=p._malloc(_),r.push($);let k=$/4;for(let M=0;Mp.HEAP32[S++]=M);let k=p._OrtCreateTensor(la(h),$,_,A,l.length,da(v));k===0&&He(`Can't create tensor for input/output. session=${u}, index=${o}.`),t.push(k)}finally{p.stackRestore(x)}},jp=async(e,t,r,u,o,c)=>{let p=Qe(),h=gr.get(e);if(!h)throw new Error(`cannot run inference. invalid session id: ${e}`);let l=h[0],v=h[1],$=h[2],_=h[3],x=h[4],A=h[5],S=t.length,k=u.length,M=0,R=[],P=[],W=[],U=[],q=p.stackSave(),Y=p.stackAlloc(S*4),J=p.stackAlloc(S*4),oe=p.stackAlloc(k*4),ge=p.stackAlloc(k*4);try{[M,R]=tl(c);for(let ee=0;eeXe*Ze,1);Se=er(pe);let Yt=_?.outputPreferredLocations[u[ee]];if(Se===\"string\"){if(Yt===\"gpu-buffer\")throw new Error(\"String tensor is not supported on GPU.\");let Xe=[],Ze=De/4;for(let dt=0;dt0){let Xe=p.jsepGetBuffer(De),Ze=_i(pe);if(Ze===void 0||!hn(Se))throw new Error(`Unsupported data type: ${Se}`);be=!0,Ee.push([Se,rt,{gpuBuffer:Xe,download:p.jsepCreateDownloader(Xe,vt*Ze,Se),dispose:()=>{p._OrtReleaseTensor(Ve)}},\"gpu-buffer\"])}else{let Xe=mn(Se),Ze=new Xe(vt);new Uint8Array(Ze.buffer,Ze.byteOffset,Ze.byteLength).set(p.HEAPU8.subarray(De,De+Ze.byteLength)),Ee.push([Se,rt,Ze,\"cpu\"])}}finally{p.stackRestore(xe),Se===\"string\"&&De&&p._free(De),be||p._OrtReleaseTensor(Ve)}}return _&&!x&&(p._OrtClearBoundOutputs(_.handle),gr.set(e,[l,v,$,_,x,!1])),Ee}finally{p.stackRestore(q),P.forEach(H=>p._OrtReleaseTensor(H)),W.forEach(H=>p._OrtReleaseTensor(H)),U.forEach(H=>p._free(H)),M!==0&&p._OrtReleaseRunOptions(M),R.forEach(H=>p._free(H))}},Up=e=>{let t=Qe(),r=gr.get(e);if(!r)throw new Error(\"invalid session id\");let u=r[0],o=t._OrtEndProfiling(u);o===0&&He(\"Can't get an profile file name.\"),t._OrtFree(o)},Wp=e=>{let t=[];for(let r of e){let u=r[2];!Array.isArray(u)&&\"buffer\"in u&&t.push(u.buffer)}return t}});var Vp=Rr((Ax,mv)=>{mv.exports='/*!\\n * ONNX Runtime Web v1.18.0\\n * Copyright (c) Microsoft Corporation. All rights reserved.\\n * Licensed under the MIT License.\\n */\\n\"use strict\";(()=>{var Ai=Object.defineProperty;var ch=Object.getOwnPropertyDescriptor;var fh=Object.getOwnPropertyNames;var ph=Object.prototype.hasOwnProperty;var ae=(e,r)=>()=>(e&&(r=e(e=0)),r);var un=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Wn=(e,r)=>{for(var t in r)Ai(e,t,{get:r[t],enumerable:!0})},mh=(e,r,t,u)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let s of fh(r))!ph.call(e,s)&&s!==t&&Ai(e,s,{get:()=>r[s],enumerable:!(u=ch(r,s))||u.enumerable});return e};var or=e=>mh(Ai({},\"__esModule\",{value:!0}),e);var Gn={};Wn(Gn,{createReadStream:()=>Us,readFile:()=>hh,readFileSync:()=>gh});var hh,gh,Us,Hn=ae(()=>{hh=void 0,gh=void 0,Us=void 0});var Ti={};Wn(Ti,{join:()=>yh});var yh,Ei=ae(()=>{yh=void 0});var Ns=un((Vs,Pi)=>{\"use strict\";var js=(()=>{var e=typeof document<\"u\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<\"u\"&&(e=e||__filename),function(r={}){var t=r,u,s;t.ready=new Promise((n,i)=>{u=n,s=i}),t.mountExternalData=(n,i)=>{(t.Nh||(t.Nh=new Map)).set(n,i)},t.unmountExternalData=()=>{delete t.Nh},t.jsepInit=(n,i,o,a,l,f,h,g,b,_,x)=>{t.ui=n,t.gi=i,t.ki=o,t.Th=a,t.ji=l,t.he=f,t.li=h,t.ni=g,t.hi=b,t.ii=_,t.mi=x,i=(E,R,I)=>(...U)=>{let K=gt,ne=R?.();U=E(...U);let ue=R?.();return ne!==ue&&(E=ue,I(ne),R=I=null),gt!=K?pr():U},o=E=>async(...R)=>{try{if(t.Kh)throw Error(\"Session already started\");let I=t.Kh={oi:R[0],errors:[]},U=await E(...R);if(t.Kh!==I)throw Error(\"Session mismatch\");n.flush();let K=I.errors;if(0ue),0t._OrtCreateSession,E=>t._OrtCreateSession=E),t._OrtRun=o(i(t._OrtRun,()=>t._OrtRun,E=>t._OrtRun=E)),t._OrtRunWithBinding=o(i(t._OrtRunWithBinding,()=>t._OrtRunWithBinding,E=>t._OrtRunWithBinding=E)),t._OrtBindInput=i(t._OrtBindInput,()=>t._OrtBindInput,E=>t._OrtBindInput=E),t.jsepRegisterBuffer=(E,R,I,U)=>n.registerBuffer(E,R,I,U),t.jsepGetBuffer=E=>n.getBuffer(E),t.jsepCreateDownloader=(E,R,I)=>n.createDownloader(E,R,I),t.jsepOnReleaseSession=E=>{n.onReleaseSession(E)},t.jsepOnRunStart=E=>n.onRunStart(E)};var c=Object.assign({},t),m=\"./this.program\",y=(n,i)=>{throw i},d=typeof window==\"object\",w=typeof importScripts==\"function\",C=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",$=\"\",T,O,A;if(C){var P=(Hn(),or(Gn)),z=(Ei(),or(Ti));$=w?z.dirname($)+\"/\":__dirname+\"/\",T=(n,i)=>(n=fe(n)?new URL(n):z.normalize(n),P.readFileSync(n,i?void 0:\"utf8\")),A=n=>(n=T(n,!0),n.buffer||(n=new Uint8Array(n)),n),O=(n,i,o,a=!0)=>{n=fe(n)?new URL(n):z.normalize(n),P.readFile(n,a?void 0:\"utf8\",(l,f)=>{l?o(l):i(a?f.buffer:f)})},!t.thisProgram&&1{throw process.exitCode=n,i},t.inspect=()=>\"[Emscripten Module object]\"}else(d||w)&&(w?$=self.location.href:typeof document<\"u\"&&document.currentScript&&($=document.currentScript.src),e&&($=e),$.indexOf(\"blob:\")!==0?$=$.substr(0,$.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):$=\"\",T=n=>{var i=new XMLHttpRequest;return i.open(\"GET\",n,!1),i.send(null),i.responseText},w&&(A=n=>{var i=new XMLHttpRequest;return i.open(\"GET\",n,!1),i.responseType=\"arraybuffer\",i.send(null),new Uint8Array(i.response)}),O=(n,i,o)=>{var a=new XMLHttpRequest;a.open(\"GET\",n,!0),a.responseType=\"arraybuffer\",a.onload=()=>{a.status==200||a.status==0&&a.response?i(a.response):o()},a.onerror=o,a.send(null)});var D=console.log.bind(console),k=console.error.bind(console);Object.assign(t,c),c=null,typeof WebAssembly!=\"object\"&&Ke(\"no native wasm support detected\");var G,W=!1,q,Y,J,oe,ge,L,le,Te,Ue,je,Ee;function ee(){var n=G.buffer;t.HEAP8=Y=new Int8Array(n),t.HEAP16=oe=new Int16Array(n),t.HEAPU8=J=new Uint8Array(n),t.HEAPU16=ge=new Uint16Array(n),t.HEAP32=L=new Int32Array(n),t.HEAPU32=le=new Uint32Array(n),t.HEAPF32=Te=new Float32Array(n),t.HEAPF64=Ee=new Float64Array(n),t.HEAP64=Ue=new BigInt64Array(n),t.HEAPU64=je=new BigUint64Array(n)}var Ne=[],Se=[],Ce=[],ve=0,xe=null,Me=null;function Ke(n){throw n=\"Aborted(\"+n+\")\",k(n),W=!0,q=1,n=new WebAssembly.RuntimeError(n+\". Build with -sASSERTIONS for more info.\"),s(n),n}var re=n=>n.startsWith(\"data:application/octet-stream;base64,\"),fe=n=>n.startsWith(\"file://\"),_e;if(_e=\"ort-wasm-simd.wasm\",!re(_e)){var it=_e;_e=t.locateFile?t.locateFile(it,$):$+it}function tt(n){if(A)return A(n);throw\"both async and sync fetching of the wasm failed\"}function mt(n){if(d||w){if(typeof fetch==\"function\"&&!fe(n))return fetch(n,{credentials:\"same-origin\"}).then(i=>{if(!i.ok)throw\"failed to load wasm binary file at \\'\"+n+\"\\'\";return i.arrayBuffer()}).catch(()=>tt(n));if(O)return new Promise((i,o)=>{O(n,a=>i(new Uint8Array(a)),o)})}return Promise.resolve().then(()=>tt(n))}function Wt(n,i,o){return mt(n).then(a=>WebAssembly.instantiate(a,i)).then(a=>a).then(o,a=>{k(`failed to asynchronously prepare wasm: ${a}`),Ke(a)})}function Qe(n,i){var o=_e;return typeof WebAssembly.instantiateStreaming!=\"function\"||re(o)||fe(o)||C||typeof fetch!=\"function\"?Wt(o,n,i):fetch(o,{credentials:\"same-origin\"}).then(a=>WebAssembly.instantiateStreaming(a,n).then(i,function(l){return k(`wasm streaming compile failed: ${l}`),k(\"falling back to ArrayBuffer instantiation\"),Wt(o,n,i)}))}var Ze={1380080:(n,i,o,a)=>{if(typeof t>\"u\"||!t.Nh)return 1;if(n=Xe(n>>>0),n.startsWith(\"./\")&&(n=n.substring(2)),n=t.Nh.get(n),!n)return 2;if(i>>>=0,o>>>=0,i+o>n.byteLength)return 3;try{return J.set(n.subarray(i,i+o),a>>>0>>>0),0}catch{return 4}},1380581:(n,i,o)=>{o=Xe(o);let a=new Uint8Array(i);a.set(J.subarray(n>>>0,n+i>>>0)),typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\"?(Hn(),or(Gn)).writeFileSync(o,a):(n=new File([a],o,{type:\"application/octet-stream\"}),n=URL.createObjectURL(n),window.open(n,\"_blank\"))},1381089:()=>{t.hi()},1381120:()=>{t.ii()},1381149:()=>{t.mi()},1381174:n=>t.gi(n),1381207:n=>t.ki(n),1381239:(n,i,o)=>{t.Th(n,i,o,!0)},1381278:(n,i,o)=>{t.Th(n,i,o)},1381311:n=>{t.he(\"Abs\",n,void 0)},1381362:n=>{t.he(\"Neg\",n,void 0)},1381413:n=>{t.he(\"Floor\",n,void 0)},1381466:n=>{t.he(\"Ceil\",n,void 0)},1381518:n=>{t.he(\"Reciprocal\",n,void 0)},1381576:n=>{t.he(\"Sqrt\",n,void 0)},1381628:n=>{t.he(\"Exp\",n,void 0)},1381679:n=>{t.he(\"Erf\",n,void 0)},1381730:n=>{t.he(\"Sigmoid\",n,void 0)},1381785:(n,i,o)=>{t.he(\"HardSigmoid\",n,{alpha:i,beta:o})},1381864:n=>{t.he(\"Log\",n,void 0)},1381915:n=>{t.he(\"Sin\",n,void 0)},1381966:n=>{t.he(\"Cos\",n,void 0)},1382017:n=>{t.he(\"Tan\",n,void 0)},1382068:n=>{t.he(\"Asin\",n,void 0)},1382120:n=>{t.he(\"Acos\",n,void 0)},1382172:n=>{t.he(\"Atan\",n,void 0)},1382224:n=>{t.he(\"Sinh\",n,void 0)},1382276:n=>{t.he(\"Cosh\",n,void 0)},1382328:n=>{t.he(\"Asinh\",n,void 0)},1382381:n=>{t.he(\"Acosh\",n,void 0)},1382434:n=>{t.he(\"Atanh\",n,void 0)},1382487:n=>{t.he(\"Tanh\",n,void 0)},1382539:n=>{t.he(\"Not\",n,void 0)},1382590:(n,i,o)=>{t.he(\"Clip\",n,{min:i,max:o})},1382659:n=>{t.he(\"Clip\",n,void 0)},1382711:(n,i)=>{t.he(\"Elu\",n,{alpha:i})},1382769:n=>{t.he(\"Relu\",n,void 0)},1382821:(n,i)=>{t.he(\"LeakyRelu\",n,{alpha:i})},1382885:(n,i)=>{t.he(\"ThresholdedRelu\",n,{alpha:i})},1382955:(n,i)=>{t.he(\"Cast\",n,{to:i})},1383013:n=>{t.he(\"Add\",n,void 0)},1383064:n=>{t.he(\"Sub\",n,void 0)},1383115:n=>{t.he(\"Mul\",n,void 0)},1383166:n=>{t.he(\"Div\",n,void 0)},1383217:n=>{t.he(\"Pow\",n,void 0)},1383268:n=>{t.he(\"Equal\",n,void 0)},1383321:n=>{t.he(\"Greater\",n,void 0)},1383376:n=>{t.he(\"GreaterOrEqual\",n,void 0)},1383438:n=>{t.he(\"Less\",n,void 0)},1383490:n=>{t.he(\"LessOrEqual\",n,void 0)},1383549:(n,i,o,a,l)=>{t.he(\"ReduceMean\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1383708:(n,i,o,a,l)=>{t.he(\"ReduceMax\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1383866:(n,i,o,a,l)=>{t.he(\"ReduceMin\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1384024:(n,i,o,a,l)=>{t.he(\"ReduceProd\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1384183:(n,i,o,a,l)=>{t.he(\"ReduceSum\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1384341:(n,i,o,a,l)=>{t.he(\"ReduceL1\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1384498:(n,i,o,a,l)=>{t.he(\"ReduceL2\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1384655:(n,i,o,a,l)=>{t.he(\"ReduceLogSum\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1384816:(n,i,o,a,l)=>{t.he(\"ReduceSumSquare\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1384980:(n,i,o,a,l)=>{t.he(\"ReduceLogSumExp\",n,{keepDims:!!i,noopWithEmptyAxes:!!o,axes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1385144:n=>{t.he(\"Where\",n,void 0)},1385197:(n,i,o)=>{t.he(\"Transpose\",n,{perm:i?Array.from(L.subarray(i>>>0,o>>>0)):[]})},1385305:(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)=>{t.he(\"ConvTranspose\",n,{format:b?\"NHWC\":\"NCHW\",autoPad:i,dilations:[o],group:a,kernel_shape:[l],pads:[f,h],strides:[g],wIsConst:()=>!!Y[_>>>0],outputPadding:x?Array.from(L.subarray(x>>>0,E>>>0)):[],outputShape:R?Array.from(L.subarray(R>>>0,I>>>0)):[],activation:Xe(U)})},1385707:(n,i,o,a,l,f,h,g,b,_,x,E,R,I)=>{t.he(\"ConvTranspose\",n,{format:g?\"NHWC\":\"NCHW\",autoPad:i,dilations:Array.from(L.subarray(o>>>0,(o>>>0)+2>>>0)),group:a,kernelShape:Array.from(L.subarray(l>>>0,(l>>>0)+2>>>0)),pads:Array.from(L.subarray(f>>>0,(f>>>0)+4>>>0)),strides:Array.from(L.subarray(h>>>0,(h>>>0)+2>>>0)),wIsConst:()=>!!Y[b>>>0],outputPadding:_?Array.from(L.subarray(_>>>0,x>>>0)):[],outputShape:E?Array.from(L.subarray(E>>>0,R>>>0)):[],activation:Xe(I)})},1386272:(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)=>{t.he(\"ConvTranspose\",n,{format:b?\"NHWC\":\"NCHW\",autoPad:i,dilations:[o],group:a,kernel_shape:[l],pads:[f,h],strides:[g],wIsConst:()=>!!Y[_>>>0],outputPadding:x?Array.from(L.subarray(x>>>0,E>>>0)):[],outputShape:R?Array.from(L.subarray(R>>>0,I>>>0)):[],activation:Xe(U)})},1386674:(n,i,o,a,l,f,h,g,b,_,x,E,R,I)=>{t.he(\"ConvTranspose\",n,{format:g?\"NHWC\":\"NCHW\",autoPad:i,dilations:Array.from(L.subarray(o>>>0,(o>>>0)+2>>>0)),group:a,kernelShape:Array.from(L.subarray(l>>>0,(l>>>0)+2>>>0)),pads:Array.from(L.subarray(f>>>0,(f>>>0)+4>>>0)),strides:Array.from(L.subarray(h>>>0,(h>>>0)+2>>>0)),wIsConst:()=>!!Y[b>>>0],outputPadding:_?Array.from(L.subarray(_>>>0,x>>>0)):[],outputShape:E?Array.from(L.subarray(E>>>0,R>>>0)):[],activation:Xe(I)})},1387239:(n,i)=>{t.he(\"GlobalAveragePool\",n,{format:i?\"NHWC\":\"NCHW\"})},1387330:(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)=>{t.he(\"AveragePool\",n,{format:K?\"NHWC\":\"NCHW\",auto_pad:i,ceil_mode:o,count_include_pad:a,storage_order:l,dilations:[f,h],kernel_shape:[g,b],pads:[_,x,E,R],strides:[I,U]})},1387614:(n,i)=>{t.he(\"GlobalAveragePool\",n,{format:i?\"NHWC\":\"NCHW\"})},1387705:(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)=>{t.he(\"AveragePool\",n,{format:K?\"NHWC\":\"NCHW\",auto_pad:i,ceil_mode:o,count_include_pad:a,storage_order:l,dilations:[f,h],kernel_shape:[g,b],pads:[_,x,E,R],strides:[I,U]})},1387989:(n,i)=>{t.he(\"GlobalMaxPool\",n,{format:i?\"NHWC\":\"NCHW\"})},1388076:(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)=>{t.he(\"MaxPool\",n,{format:K?\"NHWC\":\"NCHW\",auto_pad:i,ceil_mode:o,count_include_pad:a,storage_order:l,dilations:[f,h],kernel_shape:[g,b],pads:[_,x,E,R],strides:[I,U]})},1388356:(n,i)=>{t.he(\"GlobalMaxPool\",n,{format:i?\"NHWC\":\"NCHW\"})},1388443:(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)=>{t.he(\"MaxPool\",n,{format:K?\"NHWC\":\"NCHW\",auto_pad:i,ceil_mode:o,count_include_pad:a,storage_order:l,dilations:[f,h],kernel_shape:[g,b],pads:[_,x,E,R],strides:[I,U]})},1388723:(n,i,o,a,l)=>{t.he(\"Gemm\",n,{alpha:i,beta:o,transA:a,transB:l})},1388827:n=>{t.he(\"MatMul\",n,void 0)},1388881:(n,i,o,a)=>{t.he(\"ArgMax\",n,{keepDims:!!i,selectLastIndex:!!o,axis:a})},1388989:(n,i,o,a)=>{t.he(\"ArgMin\",n,{keepDims:!!i,selectLastIndex:!!o,axis:a})},1389097:(n,i)=>{t.he(\"Softmax\",n,{axis:i})},1389160:(n,i)=>{t.he(\"Concat\",n,{axis:i})},1389220:(n,i,o,a,l)=>{t.he(\"Split\",n,{axis:i,numOutputs:o,splitSizes:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1389360:n=>{t.he(\"Expand\",n,void 0)},1389414:(n,i)=>{t.he(\"Gather\",n,{axis:Number(i)})},1389485:(n,i)=>{t.he(\"GatherElements\",n,{axis:Number(i)})},1389564:(n,i,o,a,l,f,h,g,b,_,x)=>{t.he(\"Resize\",n,{antialias:i,axes:o?Array.from(L.subarray(o>>>0,a>>>0)):[],coordinateTransformMode:Xe(l),cubicCoeffA:f,excludeOutside:h,extrapolationValue:g,keepAspectRatioPolicy:Xe(b),mode:Xe(_),nearestMode:Xe(x)})},1389910:(n,i,o,a,l,f,h)=>{t.he(\"Slice\",n,{starts:i?Array.from(L.subarray(i>>>0,o>>>0)):[],ends:a?Array.from(L.subarray(a>>>0,l>>>0)):[],axes:f?Array.from(L.subarray(f>>>0,h>>>0)):[]})},1390126:n=>{t.he(\"Tile\",n,void 0)},1390178:(n,i,o)=>{t.he(\"LayerNormalization\",n,{axis:Number(i),epsilon:Number(o)})},1390285:(n,i,o)=>{t.he(\"InstanceNormalization\",n,{epsilon:i,format:o?\"NHWC\":\"NCHW\"})},1390399:(n,i,o)=>{t.he(\"InstanceNormalization\",n,{epsilon:i,format:o?\"NHWC\":\"NCHW\"})},1390513:n=>{t.he(\"Range\",n,void 0)},1390566:(n,i)=>{t.he(\"Einsum\",n,{equation:Xe(i)})},1390647:(n,i,o,a,l)=>{t.he(\"Pad\",n,{mode:i,value:o,pads:a?Array.from(L.subarray(a>>>0,l>>>0)):[]})},1390774:(n,i,o,a,l,f)=>{t.he(\"BatchNormalization\",n,{epsilon:i,momentum:o,spatial:!!l,trainingMode:!!a,format:f?\"NHWC\":\"NCHW\"})},1390943:(n,i,o,a,l,f)=>{t.he(\"BatchNormalization\",n,{epsilon:i,momentum:o,spatial:!!l,trainingMode:!!a,format:f?\"NHWC\":\"NCHW\"})},1391112:(n,i,o)=>{t.he(\"CumSum\",n,{exclusive:Number(i),reverse:Number(o)})},1391209:(n,i,o,a,l,f,h,g,b)=>{t.he(\"Attention\",n,{numHeads:i,isUnidirectional:o,maskFilterValue:a,scale:l,doRotary:f,qkvHiddenSizes:h?Array.from(L.subarray(Number(g)>>>0,Number(g)+h>>>0)):[],pastPresentShareBuffer:!!b})},1391481:n=>{t.he(\"BiasAdd\",n,void 0)},1391536:n=>{t.he(\"BiasSplitGelu\",n,void 0)},1391597:n=>{t.he(\"FastGelu\",n,void 0)},1391653:(n,i,o,a,l,f,h,g,b,_,x,E,R)=>{t.he(\"Conv\",n,{format:b?\"NHWC\":\"NCHW\",auto_pad:i,dilations:[o],group:a,kernel_shape:[l],pads:f?Array.from(L.subarray(f>>>0,h>>>0)):[],strides:[g],w_is_const:()=>!!Y[_>>>0],activation:Xe(x),activation_params:E?Array.from(Te.subarray(E>>>0,R>>>0)):[]})},1392023:(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)=>{t.he(\"Conv\",n,{format:E?\"NHWC\":\"NCHW\",auto_pad:i,dilations:[o,a],group:l,kernel_shape:[f,h],pads:g?Array.from(L.subarray(g>>>0,b>>>0)):[],strides:[_,x],w_is_const:()=>!!Y[R>>>0],activation:Xe(I),activation_params:U?Array.from(Te.subarray(U>>>0,K>>>0)):[]})},1392414:n=>{t.he(\"Gelu\",n,void 0)},1392466:(n,i,o,a,l,f)=>{t.he(\"MatMulNBits\",n,{k:i,n:o,accuracyLevel:a,bits:l,blockSize:f})},1392593:(n,i,o,a,l,f)=>{t.he(\"MultiHeadAttention\",n,{numHeads:i,isUnidirectional:o,maskFilterValue:a,scale:l,doRotary:f})},1392752:(n,i)=>{t.he(\"SkipLayerNormalization\",n,{epsilon:i})},1392833:n=>{t.li(n)},1392867:(n,i)=>t.ni(n,i,t.Kh.oi,t.Kh.errors)};function ut(n){this.name=\"ExitStatus\",this.message=`Program terminated with exit(${n})`,this.status=n}var _t=[],vt=0,$t=0;function lr(n){this.Jh=n,this.Dh=n-24,this.bi=function(i){le[this.Dh+4>>>2>>>0]=i},this.Lh=function(){return le[this.Dh+4>>>2>>>0]},this.ai=function(i){le[this.Dh+8>>>2>>>0]=i},this.Vh=function(i){Y[this.Dh+12>>>0>>>0]=i?1:0},this.Yh=function(){return Y[this.Dh+12>>>0>>>0]!=0},this.Wh=function(i){Y[this.Dh+13>>>0>>>0]=i?1:0},this.di=function(){return Y[this.Dh+13>>>0>>>0]!=0},this.$h=function(i,o){this.Mh(0),this.bi(i),this.ai(o)},this.Mh=function(i){le[this.Dh+16>>>2>>>0]=i},this.Xh=function(){return le[this.Dh+16>>>2>>>0]},this.Zh=function(){if(zn(this.Lh()))return le[this.Jh>>>2>>>0];var i=this.Xh();return i!==0?i:this.Jh}}var ht=n=>{var i=$t;if(!i)return tr(0),0;var o=new lr(i);o.Mh(i);var a=o.Lh();if(!a)return tr(0),i;for(var l in n){var f=n[l];if(f===0||f===a)break;if(Mn(f,a,o.Dh+16))return tr(f),i}return tr(a),i},Tr=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,jt=(n,i,o)=>{i>>>=0;var a=i+o;for(o=i;n[o]&&!(o>=a);)++o;if(16l?a+=String.fromCharCode(l):(l-=65536,a+=String.fromCharCode(55296|l>>10,56320|l&1023))}}else a+=String.fromCharCode(l)}return a},Xe=(n,i)=>(n>>>=0)?jt(J,n,i):\"\",dr=n=>{for(var i=0,o=0;o=a?i++:2047>=a?i+=2:55296<=a&&57343>=a?(i+=4,++o):i+=3}return i},Zt=(n,i,o,a)=>{if(o>>>=0,!(0=h){var g=n.charCodeAt(++f);h=65536+((h&1023)<<10)|g&1023}if(127>=h){if(o>=a)break;i[o++>>>0]=h}else{if(2047>=h){if(o+1>=a)break;i[o++>>>0]=192|h>>6}else{if(65535>=h){if(o+2>=a)break;i[o++>>>0]=224|h>>12}else{if(o+3>=a)break;i[o++>>>0]=240|h>>18,i[o++>>>0]=128|h>>12&63}i[o++>>>0]=128|h>>6&63}i[o++>>>0]=128|h&63}}return i[o>>>0]=0,o-l},gn=n=>{if(n===null)return\"null\";var i=typeof n;return i===\"object\"||i===\"array\"||i===\"function\"?n.toString():\"\"+n},Vt,lt=n=>{for(var i=\"\";J[n>>>0];)i+=Vt[J[n++>>>0]];return i},Gt={},Qt={},yn={},Ct;function bn(n,i,o={}){var a=i.name;if(!n)throw new Ct(`type \"${a}\" must have a positive integer typeid pointer`);if(Qt.hasOwnProperty(n)){if(o.ei)return;throw new Ct(`Cannot register type \\'${a}\\' twice`)}Qt[n]=i,delete yn[n],Gt.hasOwnProperty(n)&&(i=Gt[n],delete Gt[n],i.forEach(l=>l()))}function wt(n,i,o={}){if(!(\"argPackAdvance\"in i))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");bn(n,i,o)}var rt=(n,i,o)=>{switch(i){case 1:return o?a=>Y[a>>>0>>>0]:a=>J[a>>>0>>>0];case 2:return o?a=>oe[a>>>1>>>0]:a=>ge[a>>>1>>>0];case 4:return o?a=>L[a>>>2>>>0]:a=>le[a>>>2>>>0];case 8:return o?a=>Ue[a>>>3]:a=>je[a>>>3];default:throw new TypeError(`invalid integer width (${i}): ${n}`)}};function Er(){this.Fh=[void 0],this.Sh=[]}var ot=new Er;function ye(n){n>>>=0,n>=ot.Dh&&--ot.get(n).Uh===0&&ot.Mh(n)}var et=n=>{if(!n)throw new Ct(\"Cannot use deleted val. handle = \"+n);return ot.get(n).value},ct=n=>{switch(n){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return ot.Lh({Uh:1,value:n})}};function vn(n){return this.fromWireType(L[n>>>2>>>0])}var wn=(n,i)=>{switch(i){case 4:return function(o){return this.fromWireType(Te[o>>>2>>>0])};case 8:return function(o){return this.fromWireType(Ee[o>>>3>>>0])};default:throw new TypeError(`invalid float width (${i}): ${n}`)}};function vi(n){return this.fromWireType(le[n>>>2>>>0])}var Pr=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0,_n=(n,i)=>{for(var o=n>>1,a=o+i/2;!(o>=a)&&ge[o>>>0];)++o;if(o<<=1,32>>0,o>>>0));for(o=\"\",a=0;!(a>=i/2);++a){var l=oe[n+2*a>>>1>>>0];if(l==0)break;o+=String.fromCharCode(l)}return o},$n=(n,i,o)=>{if(o??=2147483647,2>o)return 0;o-=2;var a=i;o=o<2*n.length?o/2:n.length;for(var l=0;l>>1>>>0]=n.charCodeAt(l),i+=2;return oe[i>>>1>>>0]=0,i-a},Cn=n=>2*n.length,Or=(n,i)=>{for(var o=0,a=\"\";!(o>=i/4);){var l=L[n+4*o>>>2>>>0];if(l==0)break;++o,65536<=l?(l-=65536,a+=String.fromCharCode(55296|l>>10,56320|l&1023)):a+=String.fromCharCode(l)}return a},Sn=(n,i,o)=>{if(i>>>=0,o??=2147483647,4>o)return 0;var a=i;o=a+o-4;for(var l=0;l=f){var h=n.charCodeAt(++l);f=65536+((f&1023)<<10)|h&1023}if(L[i>>>2>>>0]=f,i+=4,i+4>o)break}return L[i>>>2>>>0]=0,i-a},xn=n=>{for(var i=0,o=0;o=a&&++o,i+=4}return i},cr=(n,i)=>{var o=Qt[n];if(o===void 0)throw n=qr(n),o=lt(n),dt(n),new Ct(i+\" has unknown type \"+o);return o},kr=(n,i,o)=>{var a=[];return n=n.toWireType(a,o),a.length&&(le[i>>>2>>>0]=ct(a)),n},Xt=n=>{try{n()}catch(i){Ke(i)}};function In(){var n=B,i={};for(let[o,a]of Object.entries(n))i[o]=typeof a==\"function\"?function(){Jt.push(o);try{return a.apply(null,arguments)}finally{W||(Jt.pop(),gt&&St===1&&Jt.length===0&&(St=0,Xt(Ds),typeof Fibers<\"u\"&&Fibers.wi()))}}:a;return i}var St=0,gt=null,Rr=0,Jt=[],Dr={},Br={},An=0,fr=null,Mr=[];function pr(){return new Promise((n,i)=>{fr={resolve:n,reject:i}})}function Ht(){var n=Lt(65548),i=n+12;le[n>>>2>>>0]=i,le[n+4>>>2>>>0]=i+65536,i=Jt[0];var o=Dr[i];return o===void 0&&(o=An++,Dr[i]=o,Br[o]=i),L[n+8>>>2>>>0]=o,n}function Tn(n){if(!W){if(St===0){var i=!1,o=!1;n((a=0)=>{if(!W&&(Rr=a,i=!0,o)){St=2,Xt(()=>Bs(gt)),typeof Browser<\"u\"&&Browser.Qh.ci&&Browser.Qh.resume(),a=!1;try{var l=(0,B[Br[L[gt+8>>>2>>>0]]])()}catch(g){l=g,a=!0}var f=!1;if(!gt){var h=fr;h&&(fr=null,(a?h.reject:h.resolve)(l),f=!0)}if(a&&!f)throw l}}),o=!0,i||(St=1,gt=Ht(),typeof Browser<\"u\"&&Browser.Qh.ci&&Browser.Qh.pause(),Xt(()=>Rs(gt)))}else St===2?(St=0,Xt(Ms),dt(gt),gt=null,Mr.forEach(a=>{if(!W)try{a();try{q=q=a=q,t.onExit?.(a),W=!0,y(a,new ut(a))}catch(l){l instanceof ut||l==\"unwind\"||y(1,l)}}catch(l){l instanceof ut||l==\"unwind\"||y(1,l)}})):Ke(`invalid state: ${St}`);return Rr}}function zr(n){return Tn(i=>{n().then(i)})}var er=[],En={},mr=n=>{var i=En[n];return i===void 0?lt(n):i},hr=()=>typeof globalThis==\"object\"?globalThis:Function(\"return this\")(),Pn=n=>{var i=er.length;return er.push(n),i},wi=(n,i)=>{for(var o=Array(n),a=0;a>>2>>>0],\"parameter \"+a);return o},We=(n,i)=>Object.defineProperty(i,\"name\",{value:n});function Ur(n){var i=Function;if(!(i instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof i} which is not a function`);var o=We(i.name||\"unknownFunctionName\",function(){});return o.prototype=i.prototype,o=new o,n=i.apply(o,n),n instanceof Object?n:o}var Tt=n=>n%4===0&&(n%100!==0||n%400===0),jr=[0,31,60,91,121,152,182,213,244,274,305,335],gr=[0,31,59,90,120,151,181,212,243,273,304,334],Vr=n=>{var i=dr(n)+1,o=Lt(i);return o&&Zt(n,J,o,i),o},yr=[],Nr=(n,i)=>{yr.length=0;for(var o;o=J[n++>>>0];){var a=o!=105;a&=o!=112,i+=a&&i%8?4:0,yr.push(o==112?le[i>>>2>>>0]:o==106?Ue[i>>>3]:o==105?L[i>>>2>>>0]:Ee[i>>>3>>>0]),i+=a?8:4}return yr},br={},Wr=()=>{if(!Gr){var n={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:m||\"./this.program\"},i;for(i in br)br[i]===void 0?delete n[i]:n[i]=br[i];var o=[];for(i in n)o.push(`${i}=${n[i]}`);Gr=o}return Gr},Gr,On=[null,[],[]],Hr=[31,29,31,30,31,30,31,31,30,31,30,31],Lr=[31,28,31,30,31,30,31,31,30,31,30,31];function _i(n){var i=Array(dr(n)+1);return Zt(n,i,0,i.length),i}function kn(n,i,o,a){function l(I,U,K){for(I=typeof I==\"number\"?I.toString():I||\"\";I.lengthue?-1:0ne-I.getDate())U-=ne-I.getDate()+1,I.setDate(1),11>K?I.setMonth(K+1):(I.setMonth(0),I.setFullYear(I.getFullYear()+1));else{I.setDate(I.getDate()+U);break}}return K=new Date(I.getFullYear()+1,0,4),U=g(new Date(I.getFullYear(),0,4)),K=g(K),0>=h(U,I)?0>=h(K,I)?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}n>>>=0,i>>>=0,o>>>=0,a>>>=0;var _=le[a+40>>>2>>>0];a={si:L[a>>>2>>>0],ri:L[a+4>>>2>>>0],Oh:L[a+8>>>2>>>0],Rh:L[a+12>>>2>>>0],Ph:L[a+16>>>2>>>0],Hh:L[a+20>>>2>>>0],Eh:L[a+24>>>2>>>0],Gh:L[a+28>>>2>>>0],vi:L[a+32>>>2>>>0],pi:L[a+36>>>2>>>0],ti:_?Xe(_):\"\"},o=Xe(o),_={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var x in _)o=o.replace(new RegExp(x,\"g\"),_[x]);var E=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),R=\"January February March April May June July August September October November December\".split(\" \");_={\"%a\":I=>E[I.Eh].substring(0,3),\"%A\":I=>E[I.Eh],\"%b\":I=>R[I.Ph].substring(0,3),\"%B\":I=>R[I.Ph],\"%C\":I=>f((I.Hh+1900)/100|0,2),\"%d\":I=>f(I.Rh,2),\"%e\":I=>l(I.Rh,2,\" \"),\"%g\":I=>b(I).toString().substring(2),\"%G\":I=>b(I),\"%H\":I=>f(I.Oh,2),\"%I\":I=>(I=I.Oh,I==0?I=12:12{for(var U=0,K=0;K<=I.Ph-1;U+=(Tt(I.Hh+1900)?Hr:Lr)[K++]);return f(I.Rh+U,3)},\"%m\":I=>f(I.Ph+1,2),\"%M\":I=>f(I.ri,2),\"%n\":()=>`\\n`,\"%p\":I=>0<=I.Oh&&12>I.Oh?\"AM\":\"PM\",\"%S\":I=>f(I.si,2),\"%t\":()=>\"\t\",\"%u\":I=>I.Eh||7,\"%U\":I=>f(Math.floor((I.Gh+7-I.Eh)/7),2),\"%V\":I=>{var U=Math.floor((I.Gh+7-(I.Eh+6)%7)/7);if(2>=(I.Eh+371-I.Gh-2)%7&&U++,U)U==53&&(K=(I.Eh+371-I.Gh)%7,K==4||K==3&&Tt(I.Hh)||(U=1));else{U=52;var K=(I.Eh+7-I.Gh-1)%7;(K==4||K==5&&Tt(I.Hh%400-1))&&U++}return f(U,2)},\"%w\":I=>I.Eh,\"%W\":I=>f(Math.floor((I.Gh+7-(I.Eh+6)%7)/7),2),\"%y\":I=>(I.Hh+1900).toString().substring(2),\"%Y\":I=>I.Hh+1900,\"%z\":I=>{I=I.pi;var U=0<=I;return I=Math.abs(I)/60,(U?\"+\":\"-\")+(\"0000\"+(I/60*100+I%60)).slice(-4)},\"%Z\":I=>I.ti,\"%%\":()=>\"%\"},o=o.replace(/%%/g,\"\\\\0\\\\0\");for(x in _)o.includes(x)&&(o=o.replace(new RegExp(x,\"g\"),_[x](a)));return o=o.replace(/\\\\0\\\\0/g,\"%\"),x=_i(o),x.length>i?0:(Y.set(x,n>>>0),x.length-1)}for(var Fr=Array(256),Nt=0;256>Nt;++Nt)Fr[Nt]=String.fromCharCode(Nt);Vt=Fr,Ct=t.BindingError=class extends Error{constructor(n){super(n),this.name=\"BindingError\"}},t.InternalError=class extends Error{constructor(n){super(n),this.name=\"InternalError\"}},Object.assign(Er.prototype,{get(n){return this.Fh[n]},has(n){return this.Fh[n]!==void 0},Lh(n){var i=this.Sh.pop()||this.Fh.length;return this.Fh[i]=n,i},Mh(n){this.Fh[n]=void 0,this.Sh.push(n)}}),ot.Fh.push({value:void 0},{value:null},{value:!0},{value:!1}),ot.Dh=ot.Fh.length,t.count_emval_handles=()=>{for(var n=0,i=ot.Dh;i{await t.ji(n,i,o)})},u:function(n){return n=new lr(n>>>0),n.Yh()||(n.Vh(!0),vt--),n.Wh(!1),_t.push(n),Bn(n.Jh),n.Zh()},O:()=>{V(0,0);var n=_t.pop();Dn(n.Jh),$t=0},a:function(){return ht([])},m:function(n){return ht([n>>>0])},x:function(n,i){return ht([n>>>0,i>>>0])},q:function(n,i,o){return ht([n>>>0,i>>>0,o>>>0])},zb:()=>{var n=_t.pop();n||Ke(\"no exception to throw\");var i=n.Jh;throw n.di()||(_t.push(n),n.Wh(!0),n.Vh(!1),vt++),$t=i,$t},r:function(n,i,o){throw n>>>=0,new lr(n).$h(i>>>0,o>>>0),$t=n,vt++,$t},eb:()=>vt,g:function(n){throw $t||=n>>>0,$t},Ab:function(){return 0},Xc:function(){},Ic:function(){},Kc:function(){},Bc:function(){return 0},Vc:function(){},Qc:function(){},Uc:function(){},Vb:function(){},Jc:function(){},Gc:function(){},Wc:function(){},Hc:function(){},Yb:function(n,i,o,a,l){i>>>=0,i=lt(i);var f=i.indexOf(\"u\")!=-1;f&&(l=(1n<<64n)-1n),wt(n>>>0,{name:i,fromWireType:h=>h,toWireType:function(h,g){if(typeof g!=\"bigint\"&&typeof g!=\"number\")throw new TypeError(`Cannot convert \"${gn(g)}\" to ${this.name}`);if(gl)throw new TypeError(`Passing a number \"${gn(g)}\" from JS side to C/C++ side to an argument of type \"${i}\", which is outside the valid range [${a}, ${l}]!`);return g},argPackAdvance:8,readValueFromPointer:rt(i,o>>>0,!f),Ih:null})},_c:function(n,i,o,a){i=lt(i>>>0),wt(n>>>0,{name:i,fromWireType:function(l){return!!l},toWireType:function(l,f){return f?o:a},argPackAdvance:8,readValueFromPointer:function(l){return this.fromWireType(J[l>>>0])},Ih:null})},Zc:function(n,i){i=lt(i>>>0),wt(n>>>0,{name:i,fromWireType:o=>{var a=et(o);return ye(o),a},toWireType:(o,a)=>ct(a),argPackAdvance:8,readValueFromPointer:vn,Ih:null})},Xb:function(n,i,o){i=lt(i>>>0),wt(n>>>0,{name:i,fromWireType:a=>a,toWireType:(a,l)=>l,argPackAdvance:8,readValueFromPointer:wn(i,o>>>0),Ih:null})},za:function(n,i,o,a,l){if(n>>>=0,o>>>=0,i=lt(i>>>0),l===-1&&(l=4294967295),l=g=>g,a===0){var f=32-8*o;l=g=>g<>>f}var h=i.includes(\"unsigned\")?function(g,b){return b>>>0}:function(g,b){return b};wt(n,{name:i,fromWireType:l,toWireType:h,argPackAdvance:8,readValueFromPointer:rt(i,o,a!==0),Ih:null})},aa:function(n,i,o){function a(f){return new l(Y.buffer,le[f+4>>>2>>>0],le[f>>>2>>>0])}var l=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][i];o=lt(o>>>0),wt(n>>>0,{name:o,fromWireType:a,argPackAdvance:8,readValueFromPointer:a},{ei:!0})},Zb:function(n,i){i=lt(i>>>0);var o=i===\"std::string\";wt(n>>>0,{name:i,fromWireType:function(a){var l=le[a>>>2>>>0],f=a+4;if(o)for(var h=f,g=0;g<=l;++g){var b=f+g;if(g==l||J[b>>>0]==0){if(h=Xe(h,b-h),_===void 0)var _=h;else _+=String.fromCharCode(0),_+=h;h=b+1}}else{for(_=Array(l),g=0;g>>0]);_=_.join(\"\")}return dt(a),_},toWireType:function(a,l){l instanceof ArrayBuffer&&(l=new Uint8Array(l));var f=typeof l==\"string\";if(!(f||l instanceof Uint8Array||l instanceof Uint8ClampedArray||l instanceof Int8Array))throw new Ct(\"Cannot pass non-string to std::string\");var h=o&&f?dr(l):l.length,g=Lt(4+h+1),b=g+4;if(le[g>>>2>>>0]=h,o&&f)Zt(l,J,b,h+1);else if(f)for(f=0;f>>0]=_}else for(f=0;f>>0]=l[f];return a!==null&&a.push(dt,g),g},argPackAdvance:8,readValueFromPointer:vi,Ih(a){dt(a)}})},Cb:function(n,i,o){if(i>>>=0,o>>>=0,o=lt(o),i===2)var a=_n,l=$n,f=Cn,h=()=>ge,g=1;else i===4&&(a=Or,l=Sn,f=xn,h=()=>le,g=2);wt(n>>>0,{name:o,fromWireType:b=>{for(var _=le[b>>>2>>>0],x=h(),E,R=b+4,I=0;I<=_;++I){var U=b+4+I*i;(I==_||x[U>>>g]==0)&&(R=a(R,U-R),E===void 0?E=R:(E+=String.fromCharCode(0),E+=R),R=U+i)}return dt(b),E},toWireType:(b,_)=>{if(typeof _!=\"string\")throw new Ct(`Cannot pass non-string to C++ string type ${o}`);var x=f(_),E=Lt(4+x+i);return le[E>>>2]=x>>g,l(_,E+4,x+i),b!==null&&b.push(dt,E),E},argPackAdvance:8,readValueFromPointer:vn,Ih(b){dt(b)}})},$c:function(n,i){i=lt(i>>>0),wt(n>>>0,{fi:!0,name:i,argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})},Yc:()=>1,jd:function(n,i,o){return i>>>=0,o>>>=0,n=et(n>>>0),i=cr(i,\"emval::as\"),kr(i,o,n)},zd:function(n){return n>>>=0,zr(()=>(n=et(n),n.then(ct)))},rd:function(n,i,o,a){return o>>>=0,a>>>=0,n=er[n>>>0],i=et(i>>>0),n(null,i,o,a)},fa:function(n,i,o,a,l){return o>>>=0,a>>>=0,l>>>=0,n=er[n>>>0],i=et(i>>>0),o=mr(o),n(i,i[o],a,l)},Ac:ye,od:function(n,i){return i>>>=0,n=et(n>>>0),i=et(i),n==i},wd:function(n){return n>>>=0,n===0?ct(hr()):(n=mr(n),ct(hr()[n]))},ea:function(n,i,o){i=wi(n,i>>>0);var a=i.shift();n--;var l=`return function (obj, func, destructorsRef, args) {\\n`,f=0,h=[];o===0&&h.push(\"obj\");for(var g=[\"retType\"],b=[a],_=0;_x.name).join(\", \")}) => ${a.name}>`,Pn(We(o,n))},vd:function(n,i){return i>>>=0,n=et(n>>>0),i=et(i),ct(n[i])},U:function(n){n>>>=0,4>>0);for(var i=Array(n.length),o=0;o>>0))},Wa:function(){return ct({})},td:function(n){n>>>=0;for(var i=et(n);i.length;){var o=i.pop();i.pop()(o)}ye(n)},qd:function(n,i,o){i>>>=0,o>>>=0,n=et(n>>>0),i=et(i),o=et(o),n[i]=o},yb:function(n,i){return i>>>=0,n=cr(n>>>0,\"_emval_take_value\"),n=n.readValueFromPointer(i),ct(n)},Nc:function(n,i){n=-9007199254740992>n||9007199254740992>>=0,n=new Date(1e3*n),L[i>>>2>>>0]=n.getUTCSeconds(),L[i+4>>>2>>>0]=n.getUTCMinutes(),L[i+8>>>2>>>0]=n.getUTCHours(),L[i+12>>>2>>>0]=n.getUTCDate(),L[i+16>>>2>>>0]=n.getUTCMonth(),L[i+20>>>2>>>0]=n.getUTCFullYear()-1900,L[i+24>>>2>>>0]=n.getUTCDay(),L[i+28>>>2>>>0]=(n.getTime()-Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},Oc:function(n,i){n=-9007199254740992>n||9007199254740992>>=0,n=new Date(1e3*n),L[i>>>2>>>0]=n.getSeconds(),L[i+4>>>2>>>0]=n.getMinutes(),L[i+8>>>2>>>0]=n.getHours(),L[i+12>>>2>>>0]=n.getDate(),L[i+16>>>2>>>0]=n.getMonth(),L[i+20>>>2>>>0]=n.getFullYear()-1900,L[i+24>>>2>>>0]=n.getDay(),L[i+28>>>2>>>0]=(Tt(n.getFullYear())?jr:gr)[n.getMonth()]+n.getDate()-1|0,L[i+36>>>2>>>0]=-(60*n.getTimezoneOffset());var o=new Date(n.getFullYear(),6,1).getTimezoneOffset(),a=new Date(n.getFullYear(),0,1).getTimezoneOffset();L[i+32>>>2>>>0]=(o!=a&&n.getTimezoneOffset()==Math.min(a,o))|0},Pc:function(n){n>>>=0;var i=new Date(L[n+20>>>2>>>0]+1900,L[n+16>>>2>>>0],L[n+12>>>2>>>0],L[n+8>>>2>>>0],L[n+4>>>2>>>0],L[n>>>2>>>0],0),o=L[n+32>>>2>>>0],a=i.getTimezoneOffset(),l=new Date(i.getFullYear(),6,1).getTimezoneOffset(),f=new Date(i.getFullYear(),0,1).getTimezoneOffset(),h=Math.min(f,l);return 0>o?L[n+32>>>2>>>0]=+(l!=f&&h==a):0>>2>>>0]=i.getDay(),L[n+28>>>2>>>0]=(Tt(i.getFullYear())?jr:gr)[i.getMonth()]+i.getDate()-1|0,L[n>>>2>>>0]=i.getSeconds(),L[n+4>>>2>>>0]=i.getMinutes(),L[n+8>>>2>>>0]=i.getHours(),L[n+12>>>2>>>0]=i.getDate(),L[n+16>>>2>>>0]=i.getMonth(),L[n+20>>>2>>>0]=i.getYear(),n=i.getTime(),isNaN(n)?(L[yt()>>>2>>>0]=61,n=-1):n/=1e3,BigInt(n)},Lc:function(){return-52},Mc:function(){},Dc:function(n,i,o){function a(b){return(b=b.toTimeString().match(/\\\\(([A-Za-z ]+)\\\\)$/))?b[1]:\"GMT\"}o>>>=0;var l=new Date().getFullYear(),f=new Date(l,0,1),h=new Date(l,6,1);l=f.getTimezoneOffset();var g=h.getTimezoneOffset();le[n>>>0>>>2>>>0]=60*Math.max(l,g),L[i>>>0>>>2>>>0]=+(l!=g),n=a(f),i=a(h),n=Vr(n),i=Vr(i),g>>2>>>0]=n,le[o+4>>>2>>>0]=i):(le[o>>>2>>>0]=i,le[o+4>>>2>>>0]=n)},jb:()=>{Ke(\"\")},A:function(n,i,o){return n>>>=0,i=Nr(i>>>0,o>>>0),Ze[n].apply(null,i)},_b:function(n,i,o){return n>>>=0,i=Nr(i>>>0,o>>>0),Ze[n].apply(null,i)},Wb:()=>Date.now(),Ec:function(){return 4294901760},ha:()=>performance.now(),Cc:function(n){n>>>=0;var i=J.length;if(4294901760=o;o*=2){var a=i*(1+.2/o);a=Math.min(a,n+100663296);var l=Math;a=Math.max(n,a);e:{l=(l.min.call(l,4294901760,a+(65536-a%65536)%65536)-G.buffer.byteLength+65535)/65536;try{G.grow(l),ee();var f=1;break e}catch{}f=void 0}if(f)return!0}return!1},Sc:function(n,i){n>>>=0,i>>>=0;var o=0;return Wr().forEach((a,l)=>{var f=i+o;for(l=le[n+4*l>>>2>>>0]=f,f=0;f>>0>>>0]=a.charCodeAt(f);Y[l>>>0>>>0]=0,o+=a.length+1}),0},Tc:function(n,i){n>>>=0,i>>>=0;var o=Wr();le[n>>>2>>>0]=o.length;var a=0;return o.forEach(l=>a+=l.length+1),le[i>>>2>>>0]=a,0},Bb:()=>52,Ub:function(){return 52},Rc:function(){return 70},Tb:function(n,i,o,a){i>>>=0,o>>>=0,a>>>=0;for(var l=0,f=0;f>>2>>>0],g=le[i+4>>>2>>>0];i+=8;for(var b=0;b>>0],x=On[n];_===0||_===10?((n===1?D:k)(jt(x,0)),x.length=0):x.push(_)}l+=g}return le[a>>>2>>>0]=l,0},wb:jf,bd:uh,la:lm,Z:Qm,ka:Xm,ta:Up,na:zf,cd:sh,ob:um,N:bp,y:$f,b:of,Sb:vf,xa:bf,f:rf,Eb:Ym,h:tf,_:Um,i:cf,dd:oh,j:df,t:lf,s:Tf,o:Df,Va:Gf,Ba:Cm,oa:Pf,Pb:hp,bb:vp,Ib:Sm,mb:pm,hc:Vm,wc:Ff,ec:Hm,fc:Wm,$b:ih,qa:Wp,xb:Rf,Aa:zm,Db:rh,da:Gp,gc:Nm,Sa:_p,E:sf,G:ip,Gb:jm,id:Gm,sa:nm,M:up,X:op,V:Cp,z:yf,Fb:qm,dc:Lm,D:Pm,Hb:Rm,hd:Fm,Ta:yp,wa:Yp,ic:Dm,ac:nh,Mb:Vp,Y:Uf,I:wf,C:Qf,Za:Om,P:sp,d:uf,$a:dp,n:af,Xa:Km,va:sm,vb:qf,e:nf,xc:Lf,ca:Mm,fb:fp,Ca:jp,lb:mm,hb:Yf,c:ff,uc:Jf,md:xm,oc:tm,k:pf,sc:cp,l:mf,vc:Zf,rc:pp,pd:gm,p:hf,Qa:Ap,tb:Ip,Pa:Tp,Kb:dm,B:Ef,K:_f,T:kf,_a:Im,nc:rm,gb:lp,ya:$p,ja:gf,Q:gp,cb:Of,Ka:im,kb:ah,Fa:vm,lc:wm,Ga:bm,Ha:hm,ed:th,ud:mp,ra:am,nd:$m,La:Jp,Ja:om,Rb:xf,qc:Hp,Ia:cm,Ma:Xp,pb:Np,ma:Zp,Da:Sp,jc:km,pc:qp,Jb:_m,Ea:Tm,ia:rp,xd:Nf,ld:Am,S:Fp,db:Af,Ya:Bm,cc:Jm,ib:Kf,F:Mf,R:Sf,Ua:Hf,kd:Em,ba:Wf,nb:fm,pa:Kp,bc:eh,zc:If,v:Cf,L:ep,sd:em,Nb:Dp,mc:ym,yd:Vf,Ob:Rp,Lb:Lp,ab:wp,yc:Bf,Qb:np,Na:Qp,$:Bp,tc:tp,J:ap,gd:Zm,ub:Xf,ua:zp,H:Mp,rb:Op,Oa:Pp,Ra:xp,qb:kp,sb:Ep,w:function(n){return n>>>0},Fc:kn,ga:function(n,i,o,a){return kn(n>>>0,i>>>0,o>>>0,a>>>0)}},B=function(){function n(o){return B=o.exports,B=In(),B=lh(),G=B.Ad,ee(),Se.unshift(B.Bd),ve--,ve==0&&(xe!==null&&(clearInterval(xe),xe=null),Me&&(o=Me,Me=null,o())),B}var i={a:$i};if(ve++,t.instantiateWasm)try{return t.instantiateWasm(i,n)}catch(o){k(`Module.instantiateWasm callback failed with error: ${o}`),s(o)}return Qe(i,function(o){n(o.instance)}).catch(s),{}}();t._OrtInit=(n,i)=>(t._OrtInit=B.Cd)(n,i),t._OrtGetLastError=(n,i)=>(t._OrtGetLastError=B.Dd)(n,i),t._OrtCreateSessionOptions=(n,i,o,a,l,f,h,g,b,_)=>(t._OrtCreateSessionOptions=B.Ed)(n,i,o,a,l,f,h,g,b,_),t._OrtAppendExecutionProvider=(n,i)=>(t._OrtAppendExecutionProvider=B.Fd)(n,i),t._OrtAddFreeDimensionOverride=(n,i,o)=>(t._OrtAddFreeDimensionOverride=B.Gd)(n,i,o),t._OrtAddSessionConfigEntry=(n,i,o)=>(t._OrtAddSessionConfigEntry=B.Hd)(n,i,o),t._OrtReleaseSessionOptions=n=>(t._OrtReleaseSessionOptions=B.Id)(n),t._OrtCreateSession=(n,i,o)=>(t._OrtCreateSession=B.Jd)(n,i,o),t._OrtReleaseSession=n=>(t._OrtReleaseSession=B.Kd)(n),t._OrtGetInputOutputCount=(n,i,o)=>(t._OrtGetInputOutputCount=B.Ld)(n,i,o),t._OrtGetInputName=(n,i)=>(t._OrtGetInputName=B.Md)(n,i),t._OrtGetOutputName=(n,i)=>(t._OrtGetOutputName=B.Nd)(n,i),t._OrtFree=n=>(t._OrtFree=B.Od)(n),t._OrtCreateTensor=(n,i,o,a,l,f)=>(t._OrtCreateTensor=B.Pd)(n,i,o,a,l,f),t._OrtGetTensorData=(n,i,o,a,l)=>(t._OrtGetTensorData=B.Qd)(n,i,o,a,l),t._OrtReleaseTensor=n=>(t._OrtReleaseTensor=B.Rd)(n),t._OrtCreateRunOptions=(n,i,o,a)=>(t._OrtCreateRunOptions=B.Sd)(n,i,o,a),t._OrtAddRunConfigEntry=(n,i,o)=>(t._OrtAddRunConfigEntry=B.Td)(n,i,o),t._OrtReleaseRunOptions=n=>(t._OrtReleaseRunOptions=B.Ud)(n),t._OrtCreateBinding=n=>(t._OrtCreateBinding=B.Vd)(n),t._OrtBindInput=(n,i,o)=>(t._OrtBindInput=B.Wd)(n,i,o),t._OrtBindOutput=(n,i,o,a)=>(t._OrtBindOutput=B.Xd)(n,i,o,a),t._OrtClearBoundOutputs=n=>(t._OrtClearBoundOutputs=B.Yd)(n),t._OrtReleaseBinding=n=>(t._OrtReleaseBinding=B.Zd)(n),t._OrtRunWithBinding=(n,i,o,a,l)=>(t._OrtRunWithBinding=B._d)(n,i,o,a,l),t._OrtRun=(n,i,o,a,l,f,h,g)=>(t._OrtRun=B.$d)(n,i,o,a,l,f,h,g),t._OrtEndProfiling=n=>(t._OrtEndProfiling=B.ae)(n),t._JsepOutput=(n,i,o)=>(t._JsepOutput=B.be)(n,i,o),t._JsepGetNodeName=n=>(t._JsepGetNodeName=B.ce)(n);var yt=()=>(yt=B.de)(),Lt=t._malloc=n=>(Lt=t._malloc=B.ee)(n),dt=t._free=n=>(dt=t._free=B.fe)(n),qr=n=>(qr=B.ge)(n),V=(n,i)=>(V=B.ie)(n,i),tr=n=>(tr=B.je)(n),j=()=>(j=B.ke)(),N=n=>(N=B.le)(n),Rn=n=>(Rn=B.me)(n),Dn=n=>(Dn=B.ne)(n),Bn=n=>(Bn=B.oe)(n),Mn=(n,i,o)=>(Mn=B.pe)(n,i,o),zn=n=>(zn=B.qe)(n),Un=t.dynCall_vii=(n,i,o)=>(Un=t.dynCall_vii=B.re)(n,i,o),jn=t.dynCall_iiii=(n,i,o,a)=>(jn=t.dynCall_iiii=B.se)(n,i,o,a),rr=t.dynCall_iii=(n,i,o)=>(rr=t.dynCall_iii=B.te)(n,i,o),vr=t.dynCall_ii=(n,i)=>(vr=t.dynCall_ii=B.ue)(n,i),Kr=t.dynCall_iiiiiii=(n,i,o,a,l,f,h)=>(Kr=t.dynCall_iiiiiii=B.ve)(n,i,o,a,l,f,h),Yr=t.dynCall_vi=(n,i)=>(Yr=t.dynCall_vi=B.we)(n,i),Zr=t.dynCall_v=n=>(Zr=t.dynCall_v=B.xe)(n),wr=t.dynCall_iiiiii=(n,i,o,a,l,f)=>(wr=t.dynCall_iiiiii=B.ye)(n,i,o,a,l,f),_r=t.dynCall_iiij=(n,i,o,a)=>(_r=t.dynCall_iiij=B.ze)(n,i,o,a),Qr=t.dynCall_iiiii=(n,i,o,a,l)=>(Qr=t.dynCall_iiiii=B.Ae)(n,i,o,a,l),Xr=t.dynCall_viii=(n,i,o,a)=>(Xr=t.dynCall_viii=B.Be)(n,i,o,a),Jr=t.dynCall_viiiii=(n,i,o,a,l,f)=>(Jr=t.dynCall_viiiii=B.Ce)(n,i,o,a,l,f),$r=t.dynCall_viiii=(n,i,o,a,l)=>($r=t.dynCall_viiii=B.De)(n,i,o,a,l),nr=t.dynCall_viiiiii=(n,i,o,a,l,f,h)=>(nr=t.dynCall_viiiiii=B.Ee)(n,i,o,a,l,f,h),Cr=t.dynCall_viiji=(n,i,o,a,l)=>(Cr=t.dynCall_viiji=B.Fe)(n,i,o,a,l),en=t.dynCall_viiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E)=>(en=t.dynCall_viiiiiiiiiii=B.Ge)(n,i,o,a,l,f,h,g,b,_,x,E),tn=t.dynCall_viiijjjii=(n,i,o,a,l,f,h,g,b)=>(tn=t.dynCall_viiijjjii=B.He)(n,i,o,a,l,f,h,g,b),rn=t.dynCall_iij=(n,i,o)=>(rn=t.dynCall_iij=B.Ie)(n,i,o),nn=t.dynCall_iif=(n,i,o)=>(nn=t.dynCall_iif=B.Je)(n,i,o),on=t.dynCall_iid=(n,i,o)=>(on=t.dynCall_iid=B.Ke)(n,i,o),Vn=t.dynCall_jii=(n,i,o)=>(Vn=t.dynCall_jii=B.Le)(n,i,o),ir=t.dynCall_i=n=>(ir=t.dynCall_i=B.Me)(n),an=t.dynCall_viiiiiiii=(n,i,o,a,l,f,h,g,b)=>(an=t.dynCall_viiiiiiii=B.Ne)(n,i,o,a,l,f,h,g,b),p=t.dynCall_viiiiij=(n,i,o,a,l,f,h)=>(p=t.dynCall_viiiiij=B.Oe)(n,i,o,a,l,f,h),v=t.dynCall_ji=(n,i)=>(v=t.dynCall_ji=B.Pe)(n,i),S=t.dynCall_viij=(n,i,o,a)=>(S=t.dynCall_viij=B.Qe)(n,i,o,a),M=t.dynCall_iiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E)=>(M=t.dynCall_iiiiiiiiiiii=B.Re)(n,i,o,a,l,f,h,g,b,_,x,E),H=t.dynCall_viiiiiiiii=(n,i,o,a,l,f,h,g,b,_)=>(H=t.dynCall_viiiiiiiii=B.Se)(n,i,o,a,l,f,h,g,b,_),Q=t.dynCall_ij=(n,i)=>(Q=t.dynCall_ij=B.Te)(n,i),te=t.dynCall_iiiiij=(n,i,o,a,l,f)=>(te=t.dynCall_iiiiij=B.Ue)(n,i,o,a,l,f),he=t.dynCall_j=n=>(he=t.dynCall_j=B.Ve)(n),ce=t.dynCall_vij=(n,i,o)=>(ce=t.dynCall_vij=B.We)(n,i,o),de=t.dynCall_viijjjiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E)=>(de=t.dynCall_viijjjiiiiii=B.Xe)(n,i,o,a,l,f,h,g,b,_,x,E),pe=t.dynCall_viiijiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E)=>(pe=t.dynCall_viiijiiiiiii=B.Ye)(n,i,o,a,l,f,h,g,b,_,x,E),Pe=t.dynCall_iiiiiiii=(n,i,o,a,l,f,h,g)=>(Pe=t.dynCall_iiiiiiii=B.Ze)(n,i,o,a,l,f,h,g),De=t.dynCall_viiiiiii=(n,i,o,a,l,f,h,g)=>(De=t.dynCall_viiiiiii=B._e)(n,i,o,a,l,f,h,g),F=t.dynCall_iiiiiiiij=(n,i,o,a,l,f,h,g,b)=>(F=t.dynCall_iiiiiiiij=B.$e)(n,i,o,a,l,f,h,g,b),be=t.dynCall_viiiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I)=>(be=t.dynCall_viiiiiiiiiiiii=B.af)(n,i,o,a,l,f,h,g,b,_,x,E,R,I),Re=t.dynCall_iiiiiiiii=(n,i,o,a,l,f,h,g,b)=>(Re=t.dynCall_iiiiiiiii=B.bf)(n,i,o,a,l,f,h,g,b),Et=t.dynCall_iiiiijiiiii=(n,i,o,a,l,f,h,g,b,_,x)=>(Et=t.dynCall_iiiiijiiiii=B.cf)(n,i,o,a,l,f,h,g,b,_,x),sn=t.dynCall_vijjjiiij=(n,i,o,a,l,f,h,g,b)=>(sn=t.dynCall_vijjjiiij=B.df)(n,i,o,a,l,f,h,g,b),po=t.dynCall_fi=(n,i)=>(po=t.dynCall_fi=B.ef)(n,i),mo=t.dynCall_fii=(n,i,o)=>(mo=t.dynCall_fii=B.ff)(n,i,o),ho=t.dynCall_di=(n,i)=>(ho=t.dynCall_di=B.gf)(n,i),go=t.dynCall_dii=(n,i,o)=>(go=t.dynCall_dii=B.hf)(n,i,o),yo=t.dynCall_vijj=(n,i,o,a)=>(yo=t.dynCall_vijj=B.jf)(n,i,o,a),bo=t.dynCall_iiiiiiiiii=(n,i,o,a,l,f,h,g,b,_)=>(bo=t.dynCall_iiiiiiiiii=B.kf)(n,i,o,a,l,f,h,g,b,_),vo=t.dynCall_viijiii=(n,i,o,a,l,f,h)=>(vo=t.dynCall_viijiii=B.lf)(n,i,o,a,l,f,h),wo=t.dynCall_viid=(n,i,o,a)=>(wo=t.dynCall_viid=B.mf)(n,i,o,a),_o=t.dynCall_viffiii=(n,i,o,a,l,f,h)=>(_o=t.dynCall_viffiii=B.nf)(n,i,o,a,l,f,h),$o=t.dynCall_viifiii=(n,i,o,a,l,f,h)=>($o=t.dynCall_viifiii=B.of)(n,i,o,a,l,f,h),Co=t.dynCall_viiiiidiidi=(n,i,o,a,l,f,h,g,b,_,x)=>(Co=t.dynCall_viiiiidiidi=B.pf)(n,i,o,a,l,f,h,g,b,_,x),So=t.dynCall_viiiiiiiiidi=(n,i,o,a,l,f,h,g,b,_,x,E)=>(So=t.dynCall_viiiiiiiiidi=B.qf)(n,i,o,a,l,f,h,g,b,_,x,E),xo=t.dynCall_jiii=(n,i,o,a)=>(xo=t.dynCall_jiii=B.rf)(n,i,o,a),Io=t.dynCall_vjiiiiii=(n,i,o,a,l,f,h,g)=>(Io=t.dynCall_vjiiiiii=B.sf)(n,i,o,a,l,f,h,g),Ao=t.dynCall_viiid=(n,i,o,a,l)=>(Ao=t.dynCall_viiid=B.tf)(n,i,o,a,l),To=t.dynCall_viiiiiiiiiji=(n,i,o,a,l,f,h,g,b,_,x,E)=>(To=t.dynCall_viiiiiiiiiji=B.uf)(n,i,o,a,l,f,h,g,b,_,x,E),Eo=t.dynCall_viji=(n,i,o,a)=>(Eo=t.dynCall_viji=B.vf)(n,i,o,a),Po=t.dynCall_vijjjjjjjjjjjjji=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)=>(Po=t.dynCall_vijjjjjjjjjjjjji=B.wf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K),Oo=t.dynCall_viiiji=(n,i,o,a,l,f)=>(Oo=t.dynCall_viiiji=B.xf)(n,i,o,a,l,f),ko=t.dynCall_vijjjiiji=(n,i,o,a,l,f,h,g,b)=>(ko=t.dynCall_vijjjiiji=B.yf)(n,i,o,a,l,f,h,g,b),Ro=t.dynCall_iiiji=(n,i,o,a,l)=>(Ro=t.dynCall_iiiji=B.zf)(n,i,o,a,l),Do=t.dynCall_iiijiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I)=>(Do=t.dynCall_iiijiiiiiiiiii=B.Af)(n,i,o,a,l,f,h,g,b,_,x,E,R,I),Bo=t.dynCall_vj=(n,i)=>(Bo=t.dynCall_vj=B.Bf)(n,i),Mo=t.dynCall_jjj=(n,i,o)=>(Mo=t.dynCall_jjj=B.Cf)(n,i,o),zo=t.dynCall_iiijiiiiii=(n,i,o,a,l,f,h,g,b,_)=>(zo=t.dynCall_iiijiiiiii=B.Df)(n,i,o,a,l,f,h,g,b,_),Uo=t.dynCall_vfiii=(n,i,o,a,l)=>(Uo=t.dynCall_vfiii=B.Ef)(n,i,o,a,l),jo=t.dynCall_viiiiff=(n,i,o,a,l,f,h)=>(jo=t.dynCall_viiiiff=B.Ff)(n,i,o,a,l,f,h),Vo=t.dynCall_viiiiiff=(n,i,o,a,l,f,h,g)=>(Vo=t.dynCall_viiiiiff=B.Gf)(n,i,o,a,l,f,h,g),No=t.dynCall_viiff=(n,i,o,a,l)=>(No=t.dynCall_viiff=B.Hf)(n,i,o,a,l),Wo=t.dynCall_viiiiiiiiifiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I)=>(Wo=t.dynCall_viiiiiiiiifiii=B.If)(n,i,o,a,l,f,h,g,b,_,x,E,R,I),Go=t.dynCall_viiiiiiiijj=(n,i,o,a,l,f,h,g,b,_,x)=>(Go=t.dynCall_viiiiiiiijj=B.Jf)(n,i,o,a,l,f,h,g,b,_,x),Ho=t.dynCall_iiiiiiiiiiiiiifii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne)=>(Ho=t.dynCall_iiiiiiiiiiiiiifii=B.Kf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne),Lo=t.dynCall_viiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(Lo=t.dynCall_viiiiiiiiiiii=B.Lf)(n,i,o,a,l,f,h,g,b,_,x,E,R),Fo=t.dynCall_iiiiiiiiiiiiiiiiifii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be)=>(Fo=t.dynCall_iiiiiiiiiiiiiiiiifii=B.Mf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be),qo=t.dynCall_vijjiiiiii=(n,i,o,a,l,f,h,g,b,_)=>(qo=t.dynCall_vijjiiiiii=B.Nf)(n,i,o,a,l,f,h,g,b,_),Ko=t.dynCall_iiiijjj=(n,i,o,a,l,f,h)=>(Ko=t.dynCall_iiiijjj=B.Of)(n,i,o,a,l,f,h),Yo=t.dynCall_viiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x)=>(Yo=t.dynCall_viiiiiiiiii=B.Pf)(n,i,o,a,l,f,h,g,b,_,x),Zo=t.dynCall_iiijjj=(n,i,o,a,l,f)=>(Zo=t.dynCall_iiijjj=B.Qf)(n,i,o,a,l,f),Qo=t.dynCall_fffffff=(n,i,o,a,l,f,h)=>(Qo=t.dynCall_fffffff=B.Rf)(n,i,o,a,l,f,h),Xo=t.dynCall_viiiij=(n,i,o,a,l,f)=>(Xo=t.dynCall_viiiij=B.Sf)(n,i,o,a,l,f),Jo=t.dynCall_viijj=(n,i,o,a,l)=>(Jo=t.dynCall_viijj=B.Tf)(n,i,o,a,l),ea=t.dynCall_vjjjjjjffiifiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue)=>(ea=t.dynCall_vjjjjjjffiifiiiiii=B.Uf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue),ta=t.dynCall_viiiiiiffiifiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne)=>(ta=t.dynCall_viiiiiiffiifiiiii=B.Vf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne),ra=t.dynCall_viiiiiiffifiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)=>(ra=t.dynCall_viiiiiiffifiiiii=B.Wf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K),na=t.dynCall_viiiiiiffiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)=>(na=t.dynCall_viiiiiiffiiiiii=B.Xf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U),ia=t.dynCall_vjjjjjjjjfffiifiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge)=>(ia=t.dynCall_vjjjjjjjjfffiifiiiiii=B.Yf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge),oa=t.dynCall_vjjjjjjfffifiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me)=>(oa=t.dynCall_vjjjjjjfffifiiiiiii=B.Zf)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me),aa=t.dynCall_vjjjjjjfffifiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne)=>(aa=t.dynCall_vjjjjjjfffifiiiii=B._f)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne),sa=t.dynCall_vjjjjjjjjfffiifiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be)=>(sa=t.dynCall_vjjjjjjjjfffiifiiiii=B.$f)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be),ua=t.dynCall_vijjfffiii=(n,i,o,a,l,f,h,g,b,_)=>(ua=t.dynCall_vijjfffiii=B.ag)(n,i,o,a,l,f,h,g,b,_),la=t.dynCall_vijiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x)=>(la=t.dynCall_vijiiiiiiii=B.bg)(n,i,o,a,l,f,h,g,b,_,x),da=t.dynCall_vijjjjjjifiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)=>(da=t.dynCall_vijjjjjjifiiiii=B.cg)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U),ca=t.dynCall_vjjjjjiiii=(n,i,o,a,l,f,h,g,b,_)=>(ca=t.dynCall_vjjjjjiiii=B.dg)(n,i,o,a,l,f,h,g,b,_),fa=t.dynCall_vjjjjfiii=(n,i,o,a,l,f,h,g,b)=>(fa=t.dynCall_vjjjjfiii=B.eg)(n,i,o,a,l,f,h,g,b),pa=t.dynCall_viifi=(n,i,o,a,l)=>(pa=t.dynCall_viifi=B.fg)(n,i,o,a,l),ma=t.dynCall_vijjii=(n,i,o,a,l,f)=>(ma=t.dynCall_vijjii=B.gg)(n,i,o,a,l,f),ha=t.dynCall_viiiiijjiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(ha=t.dynCall_viiiiijjiiiii=B.hg)(n,i,o,a,l,f,h,g,b,_,x,E,R),ga=t.dynCall_iiiiiji=(n,i,o,a,l,f,h)=>(ga=t.dynCall_iiiiiji=B.ig)(n,i,o,a,l,f,h),ya=t.dynCall_iiiiji=(n,i,o,a,l,f)=>(ya=t.dynCall_iiiiji=B.jg)(n,i,o,a,l,f),ba=t.dynCall_viiiiijiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(ba=t.dynCall_viiiiijiiiiii=B.kg)(n,i,o,a,l,f,h,g,b,_,x,E,R),va=t.dynCall_viiijiiiiii=(n,i,o,a,l,f,h,g,b,_,x)=>(va=t.dynCall_viiijiiiiii=B.lg)(n,i,o,a,l,f,h,g,b,_,x),wa=t.dynCall_viiiijii=(n,i,o,a,l,f,h,g)=>(wa=t.dynCall_viiiijii=B.mg)(n,i,o,a,l,f,h,g),_a=t.dynCall_viijjiii=(n,i,o,a,l,f,h,g)=>(_a=t.dynCall_viijjiii=B.ng)(n,i,o,a,l,f,h,g),$a=t.dynCall_ijii=(n,i,o,a)=>($a=t.dynCall_ijii=B.og)(n,i,o,a),Ca=t.dynCall_viiiiijjji=(n,i,o,a,l,f,h,g,b,_)=>(Ca=t.dynCall_viiiiijjji=B.pg)(n,i,o,a,l,f,h,g,b,_),Sa=t.dynCall_vijjjjiij=(n,i,o,a,l,f,h,g,b)=>(Sa=t.dynCall_vijjjjiij=B.qg)(n,i,o,a,l,f,h,g,b),xa=t.dynCall_viiiiijij=(n,i,o,a,l,f,h,g,b)=>(xa=t.dynCall_viiiiijij=B.rg)(n,i,o,a,l,f,h,g,b),Ia=t.dynCall_viiiiiijij=(n,i,o,a,l,f,h,g,b,_)=>(Ia=t.dynCall_viiiiiijij=B.sg)(n,i,o,a,l,f,h,g,b,_),Aa=t.dynCall_vijiii=(n,i,o,a,l,f)=>(Aa=t.dynCall_vijiii=B.tg)(n,i,o,a,l,f),Ta=t.dynCall_viiifii=(n,i,o,a,l,f,h)=>(Ta=t.dynCall_viiifii=B.ug)(n,i,o,a,l,f,h),Ea=t.dynCall_viiiiiiiiifi=(n,i,o,a,l,f,h,g,b,_,x,E)=>(Ea=t.dynCall_viiiiiiiiifi=B.vg)(n,i,o,a,l,f,h,g,b,_,x,E),Pa=t.dynCall_iiijiiii=(n,i,o,a,l,f,h,g)=>(Pa=t.dynCall_iiijiiii=B.wg)(n,i,o,a,l,f,h,g),Oa=t.dynCall_viiiiiijjiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I)=>(Oa=t.dynCall_viiiiiijjiiiii=B.xg)(n,i,o,a,l,f,h,g,b,_,x,E,R,I),ka=t.dynCall_viiiiiiijiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)=>(ka=t.dynCall_viiiiiiijiiiiii=B.yg)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U),Ra=t.dynCall_vif=(n,i,o)=>(Ra=t.dynCall_vif=B.zg)(n,i,o),Da=t.dynCall_viif=(n,i,o,a)=>(Da=t.dynCall_viif=B.Ag)(n,i,o,a),Ba=t.dynCall_fiii=(n,i,o,a)=>(Ba=t.dynCall_fiii=B.Bg)(n,i,o,a),Ma=t.dynCall_diii=(n,i,o,a)=>(Ma=t.dynCall_diii=B.Cg)(n,i,o,a),za=t.dynCall_viiiiiifii=(n,i,o,a,l,f,h,g,b,_)=>(za=t.dynCall_viiiiiifii=B.Dg)(n,i,o,a,l,f,h,g,b,_),Ua=t.dynCall_viiiiijiiiiiiiiiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge,Fe,xt,Ci,Si,xi)=>(Ua=t.dynCall_viiiiijiiiiiiiiiiiiiiiiiii=B.Eg)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge,Fe,xt,Ci,Si,xi),ja=t.dynCall_viijji=(n,i,o,a,l,f)=>(ja=t.dynCall_viijji=B.Fg)(n,i,o,a,l,f),Va=t.dynCall_iiiiiiiiiiiji=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(Va=t.dynCall_iiiiiiiiiiiji=B.Gg)(n,i,o,a,l,f,h,g,b,_,x,E,R),Na=t.dynCall_viifiifijjjii=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(Na=t.dynCall_viifiifijjjii=B.Hg)(n,i,o,a,l,f,h,g,b,_,x,E,R),Wa=t.dynCall_viiiiiiiiiiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge)=>(Wa=t.dynCall_viiiiiiiiiiiiiiiiiiii=B.Ig)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge),Ga=t.dynCall_viiiiifiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(Ga=t.dynCall_viiiiifiiiiii=B.Jg)(n,i,o,a,l,f,h,g,b,_,x,E,R),Ha=t.dynCall_vijiiiiiiijjii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I)=>(Ha=t.dynCall_vijiiiiiiijjii=B.Kg)(n,i,o,a,l,f,h,g,b,_,x,E,R,I),La=t.dynCall_viiiiiiiiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me)=>(La=t.dynCall_viiiiiiiiiiiiiiiiii=B.Lg)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me),Fa=t.dynCall_viiiiiiiiiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be)=>(Fa=t.dynCall_viiiiiiiiiiiiiiiiiii=B.Mg)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be),qa=t.dynCall_viiiiiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)=>(qa=t.dynCall_viiiiiiiiiiiiiii=B.Ng)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K),Ka=t.dynCall_viiiiiiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne)=>(Ka=t.dynCall_viiiiiiiiiiiiiiii=B.Og)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne),Ya=t.dynCall_viiiijjj=(n,i,o,a,l,f,h,g)=>(Ya=t.dynCall_viiiijjj=B.Pg)(n,i,o,a,l,f,h,g),Za=t.dynCall_iiiiid=(n,i,o,a,l,f)=>(Za=t.dynCall_iiiiid=B.Qg)(n,i,o,a,l,f),Qa=t.dynCall_viiiiiiijjj=(n,i,o,a,l,f,h,g,b,_,x)=>(Qa=t.dynCall_viiiiiiijjj=B.Rg)(n,i,o,a,l,f,h,g,b,_,x),Xa=t.dynCall_iiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x)=>(Xa=t.dynCall_iiiiiiiiiii=B.Sg)(n,i,o,a,l,f,h,g,b,_,x),Ja=t.dynCall_iiiiiiiiiiiiiiiiiifi=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be)=>(Ja=t.dynCall_iiiiiiiiiiiiiiiiiifi=B.Tg)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be),es=t.dynCall_viiif=(n,i,o,a,l)=>(es=t.dynCall_viiif=B.Ug)(n,i,o,a,l),ts=t.dynCall_viiijiiiii=(n,i,o,a,l,f,h,g,b,_)=>(ts=t.dynCall_viiijiiiii=B.Vg)(n,i,o,a,l,f,h,g,b,_),rs=t.dynCall_viiij=(n,i,o,a,l)=>(rs=t.dynCall_viiij=B.Wg)(n,i,o,a,l),ns=t.dynCall_iijjj=(n,i,o,a,l)=>(ns=t.dynCall_iijjj=B.Xg)(n,i,o,a,l),is=t.dynCall_viiiiji=(n,i,o,a,l,f,h)=>(is=t.dynCall_viiiiji=B.Yg)(n,i,o,a,l,f,h),os=t.dynCall_iijjji=(n,i,o,a,l,f)=>(os=t.dynCall_iijjji=B.Zg)(n,i,o,a,l,f),as=t.dynCall_ijijji=(n,i,o,a,l,f)=>(as=t.dynCall_ijijji=B._g)(n,i,o,a,l,f),ss=t.dynCall_viiijjiii=(n,i,o,a,l,f,h,g,b)=>(ss=t.dynCall_viiijjiii=B.$g)(n,i,o,a,l,f,h,g,b),us=t.dynCall_iiiiijji=(n,i,o,a,l,f,h,g)=>(us=t.dynCall_iiiiijji=B.ah)(n,i,o,a,l,f,h,g),ls=t.dynCall_iiiifi=(n,i,o,a,l,f)=>(ls=t.dynCall_iiiifi=B.bh)(n,i,o,a,l,f),ds=t.dynCall_iiijii=(n,i,o,a,l,f)=>(ds=t.dynCall_iiijii=B.ch)(n,i,o,a,l,f),cs=t.dynCall_iiiiiiiiijii=(n,i,o,a,l,f,h,g,b,_,x,E)=>(cs=t.dynCall_iiiiiiiiijii=B.dh)(n,i,o,a,l,f,h,g,b,_,x,E),fs=t.dynCall_iiiijjii=(n,i,o,a,l,f,h,g)=>(fs=t.dynCall_iiiijjii=B.eh)(n,i,o,a,l,f,h,g),ps=t.dynCall_iiiiiijjjii=(n,i,o,a,l,f,h,g,b,_,x)=>(ps=t.dynCall_iiiiiijjjii=B.fh)(n,i,o,a,l,f,h,g,b,_,x),ms=t.dynCall_iiijiii=(n,i,o,a,l,f,h)=>(ms=t.dynCall_iiijiii=B.gh)(n,i,o,a,l,f,h),hs=t.dynCall_iiiiiiiijjjfi=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(hs=t.dynCall_iiiiiiiijjjfi=B.hh)(n,i,o,a,l,f,h,g,b,_,x,E,R),gs=t.dynCall_iijiiii=(n,i,o,a,l,f,h)=>(gs=t.dynCall_iijiiii=B.ih)(n,i,o,a,l,f,h),ys=t.dynCall_iijjjii=(n,i,o,a,l,f,h)=>(ys=t.dynCall_iijjjii=B.jh)(n,i,o,a,l,f,h),bs=t.dynCall_iiji=(n,i,o,a)=>(bs=t.dynCall_iiji=B.kh)(n,i,o,a),vs=t.dynCall_iiif=(n,i,o,a)=>(vs=t.dynCall_iiif=B.lh)(n,i,o,a),ws=t.dynCall_vidi=(n,i,o,a)=>(ws=t.dynCall_vidi=B.mh)(n,i,o,a),_s=t.dynCall_vjiii=(n,i,o,a,l)=>(_s=t.dynCall_vjiii=B.nh)(n,i,o,a,l),$s=t.dynCall_diiii=(n,i,o,a,l)=>($s=t.dynCall_diiii=B.oh)(n,i,o,a,l),Cs=t.dynCall_diiiii=(n,i,o,a,l,f)=>(Cs=t.dynCall_diiiii=B.ph)(n,i,o,a,l,f),Ss=t.dynCall_viiijjiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E)=>(Ss=t.dynCall_viiijjiiiiii=B.qh)(n,i,o,a,l,f,h,g,b,_,x,E),xs=t.dynCall_viijjijjjjiii=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(xs=t.dynCall_viijjijjjjiii=B.rh)(n,i,o,a,l,f,h,g,b,_,x,E,R),Is=t.dynCall_iiiij=(n,i,o,a,l)=>(Is=t.dynCall_iiiij=B.sh)(n,i,o,a,l),As=t.dynCall_viiijii=(n,i,o,a,l,f,h)=>(As=t.dynCall_viiijii=B.th)(n,i,o,a,l,f,h),Ts=t.dynCall_viijiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R)=>(Ts=t.dynCall_viijiiiiiiiii=B.uh)(n,i,o,a,l,f,h,g,b,_,x,E,R),Es=t.dynCall_fiiii=(n,i,o,a,l)=>(Es=t.dynCall_fiiii=B.vh)(n,i,o,a,l),Ps=t.dynCall_jfi=(n,i,o)=>(Ps=t.dynCall_jfi=B.wh)(n,i,o),Os=t.dynCall_viiiiiiiiiiiiii=(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)=>(Os=t.dynCall_viiiiiiiiiiiiii=B.xh)(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U),ks=t.dynCall_jiij=(n,i,o,a)=>(ks=t.dynCall_jiij=B.yh)(n,i,o,a),Rs=n=>(Rs=B.zh)(n),Ds=()=>(Ds=B.Ah)(),Bs=n=>(Bs=B.Bh)(n),Ms=()=>(Ms=B.Ch)();t.___start_em_js=1392979,t.___stop_em_js=1393140;function tf(n,i,o,a){var l=j();try{return jn(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function rf(n,i,o){var a=j();try{return rr(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function nf(n,i,o){var a=j();try{Un(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function of(n,i){var o=j();try{return vr(n,i)}catch(a){if(N(o),a!==a+0)throw a;V(1,0)}}function af(n,i){var o=j();try{Yr(n,i)}catch(a){if(N(o),a!==a+0)throw a;V(1,0)}}function sf(n,i,o,a){var l=j();try{return _r(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function uf(n){var i=j();try{Zr(n)}catch(o){if(N(i),o!==o+0)throw o;V(1,0)}}function lf(n,i,o,a,l,f,h){var g=j();try{return Kr(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function df(n,i,o,a,l,f){var h=j();try{return wr(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function cf(n,i,o,a,l){var f=j();try{return Qr(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function ff(n,i,o,a){var l=j();try{Xr(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function pf(n,i,o,a,l){var f=j();try{$r(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function mf(n,i,o,a,l,f){var h=j();try{Jr(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function hf(n,i,o,a,l,f,h){var g=j();try{nr(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function gf(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{en(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function yf(n,i,o){var a=j();try{return rn(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function bf(n,i,o){var a=j();try{return nn(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function vf(n,i,o){var a=j();try{return on(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function wf(n,i,o){var a=j();try{return Vn(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;return V(1,0),0n}}function _f(n,i,o,a,l,f,h,g,b){var _=j();try{an(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function $f(n){var i=j();try{return ir(n)}catch(o){if(N(i),o!==o+0)throw o;V(1,0)}}function Cf(n,i,o){var a=j();try{ce(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function Sf(n,i,o,a,l){var f=j();try{Cr(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function xf(n,i,o,a,l,f,h){var g=j();try{p(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function If(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{de(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function Af(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{pe(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function Tf(n,i,o,a,l,f,h,g){var b=j();try{return Pe(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function Ef(n,i,o,a,l,f,h,g){var b=j();try{De(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function Pf(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{return M(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function Of(n,i,o,a,l,f,h,g,b,_,x,E,R,I){var U=j();try{be(n,i,o,a,l,f,h,g,b,_,x,E,R,I)}catch(K){if(N(U),K!==K+0)throw K;V(1,0)}}function kf(n,i,o,a,l,f,h,g,b,_){var x=j();try{H(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function Rf(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{return Et(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function Df(n,i,o,a,l,f,h,g,b){var _=j();try{return Re(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function Bf(n,i,o,a,l,f,h,g,b){var _=j();try{sn(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function Mf(n,i,o,a){var l=j();try{S(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function zf(n,i){var o=j();try{return po(n,i)}catch(a){if(N(o),a!==a+0)throw a;V(1,0)}}function Uf(n,i){var o=j();try{return v(n,i)}catch(a){if(N(o),a!==a+0)throw a;return V(1,0),0n}}function jf(n,i){var o=j();try{return ho(n,i)}catch(a){if(N(o),a!==a+0)throw a;V(1,0)}}function Vf(n,i,o,a){var l=j();try{yo(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function Nf(n,i,o,a,l,f,h){var g=j();try{As(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function Wf(n,i,o,a,l){var f=j();try{Jo(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function Gf(n,i,o,a,l,f,h,g,b,_){var x=j();try{return bo(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function Hf(n,i,o,a,l,f,h){var g=j();try{vo(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function Lf(n,i,o,a){var l=j();try{wo(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function Ff(n,i,o,a,l,f,h,g,b){var _=j();try{return F(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function qf(n,i,o,a,l,f,h){var g=j();try{_o(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function Kf(n,i,o,a,l,f,h,g,b){var _=j();try{tn(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function Yf(n,i,o,a,l,f,h){var g=j();try{$o(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function Zf(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{Co(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function Qf(n,i,o,a){var l=j();try{return xo(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;return V(1,0),0n}}function Xf(n,i,o,a,l,f,h,g){var b=j();try{Io(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function Jf(n,i,o,a,l){var f=j();try{Ao(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function ep(n,i,o,a){var l=j();try{Eo(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function tp(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K){var ne=j();try{Po(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)}catch(ue){if(N(ne),ue!==ue+0)throw ue;V(1,0)}}function rp(n,i,o,a,l,f){var h=j();try{Oo(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function np(n,i,o,a,l,f,h,g,b){var _=j();try{ko(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function ip(n,i,o,a,l){var f=j();try{return Ro(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function op(n,i,o,a,l,f,h,g,b,_,x,E,R,I){var U=j();try{return Do(n,i,o,a,l,f,h,g,b,_,x,E,R,I)}catch(K){if(N(U),K!==K+0)throw K;V(1,0)}}function ap(n,i){var o=j();try{Bo(n,i)}catch(a){if(N(o),a!==a+0)throw a;V(1,0)}}function sp(n,i,o){var a=j();try{return Mo(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;return V(1,0),0n}}function up(n,i,o,a,l,f,h,g,b,_){var x=j();try{return zo(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function lp(n,i,o,a,l,f,h,g,b,_,x,E,R,I){var U=j();try{Wo(n,i,o,a,l,f,h,g,b,_,x,E,R,I)}catch(K){if(N(U),K!==K+0)throw K;V(1,0)}}function dp(n,i,o,a,l){var f=j();try{Uo(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function cp(n,i,o,a,l,f,h){var g=j();try{jo(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function fp(n,i,o,a,l){var f=j();try{No(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function pp(n,i,o,a,l,f,h,g){var b=j();try{Vo(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function mp(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{Go(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function hp(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne){var ue=j();try{return Ho(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne)}catch(me){if(N(ue),me!==me+0)throw me;V(1,0)}}function gp(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{Lo(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function yp(n,i){var o=j();try{return Q(n,i)}catch(a){if(N(o),a!==a+0)throw a;V(1,0)}}function bp(n,i,o,a,l){var f=j();try{return Es(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function vp(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be){var Ge=j();try{return Fo(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be)}catch(Fe){if(N(Ge),Fe!==Fe+0)throw Fe;V(1,0)}}function wp(n,i,o,a,l,f,h,g,b,_){var x=j();try{qo(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function _p(n,i,o,a,l,f,h){var g=j();try{return Ko(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function $p(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{Yo(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function Cp(n,i,o,a,l,f){var h=j();try{return Zo(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function Sp(n,i,o,a,l,f){var h=j();try{Xo(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function xp(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue){var me=j();try{ea(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue)}catch(Be){if(N(me),Be!==Be+0)throw Be;V(1,0)}}function Ip(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne){var ue=j();try{ta(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne)}catch(me){if(N(ue),me!==me+0)throw me;V(1,0)}}function Ap(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K){var ne=j();try{ra(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)}catch(ue){if(N(ne),ue!==ue+0)throw ue;V(1,0)}}function Tp(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U){var K=j();try{na(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)}catch(ne){if(N(K),ne!==ne+0)throw ne;V(1,0)}}function Ep(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge){var Fe=j();try{ia(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge)}catch(xt){if(N(Fe),xt!==xt+0)throw xt;V(1,0)}}function Pp(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me){var Be=j();try{oa(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me)}catch(Ge){if(N(Be),Ge!==Ge+0)throw Ge;V(1,0)}}function Op(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne){var ue=j();try{aa(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne)}catch(me){if(N(ue),me!==me+0)throw me;V(1,0)}}function kp(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be){var Ge=j();try{sa(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be)}catch(Fe){if(N(Ge),Fe!==Fe+0)throw Fe;V(1,0)}}function Rp(n,i,o,a,l,f,h,g,b,_){var x=j();try{ua(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function Dp(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{la(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function Bp(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U){var K=j();try{da(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)}catch(ne){if(N(K),ne!==ne+0)throw ne;V(1,0)}}function Mp(n,i,o,a,l,f,h,g,b,_){var x=j();try{ca(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function zp(n,i,o,a,l,f,h,g,b){var _=j();try{fa(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function Up(n,i,o,a,l,f,h){var g=j();try{return Qo(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function jp(n,i,o,a,l){var f=j();try{pa(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function Vp(n,i,o){var a=j();try{return Ps(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;return V(1,0),0n}}function Np(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{ha(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function Wp(n,i,o,a,l,f,h){var g=j();try{return ga(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function Gp(n,i,o,a,l,f){var h=j();try{return ya(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function Hp(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{ba(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function Lp(n,i,o,a,l,f){var h=j();try{ma(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function Fp(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{va(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function qp(n,i,o,a,l,f,h,g){var b=j();try{wa(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function Kp(n,i,o,a,l,f,h,g){var b=j();try{_a(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function Yp(n,i,o,a){var l=j();try{return $a(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function Zp(n,i,o,a,l,f,h,g,b,_){var x=j();try{Ca(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function Qp(n,i,o,a,l,f,h,g,b){var _=j();try{Sa(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function Xp(n,i,o,a,l,f,h,g,b){var _=j();try{xa(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function Jp(n,i,o,a,l,f,h,g,b,_){var x=j();try{Ia(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function em(n,i,o,a,l,f){var h=j();try{Aa(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function tm(n,i,o,a,l,f,h){var g=j();try{Ta(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function rm(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{Ea(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function nm(n,i,o,a,l,f,h,g){var b=j();try{return Pa(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function im(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U){var K=j();try{Os(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)}catch(ne){if(N(K),ne!==ne+0)throw ne;V(1,0)}}function om(n,i,o,a,l,f,h,g,b,_,x,E,R,I){var U=j();try{Oa(n,i,o,a,l,f,h,g,b,_,x,E,R,I)}catch(K){if(N(U),K!==K+0)throw K;V(1,0)}}function am(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U){var K=j();try{ka(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U)}catch(ne){if(N(K),ne!==ne+0)throw ne;V(1,0)}}function sm(n,i,o){var a=j();try{Ra(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function um(n,i,o,a){var l=j();try{return Ba(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function lm(n,i,o,a){var l=j();try{return Ma(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function dm(n,i,o,a,l,f,h,g,b,_){var x=j();try{za(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function cm(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge,Fe,xt,Ci,Si,xi){var dh=j();try{Ua(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge,Fe,xt,Ci,Si,xi)}catch(Ii){if(N(dh),Ii!==Ii+0)throw Ii;V(1,0)}}function fm(n,i,o,a,l,f){var h=j();try{ja(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function pm(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{return Va(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function mm(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{Na(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function hm(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge){var Fe=j();try{Wa(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be,Ge)}catch(xt){if(N(Fe),xt!==xt+0)throw xt;V(1,0)}}function gm(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{Ga(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function ym(n,i,o,a,l,f,h,g,b,_,x,E,R,I){var U=j();try{Ha(n,i,o,a,l,f,h,g,b,_,x,E,R,I)}catch(K){if(N(U),K!==K+0)throw K;V(1,0)}}function bm(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be){var Ge=j();try{Fa(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be)}catch(Fe){if(N(Ge),Fe!==Fe+0)throw Fe;V(1,0)}}function vm(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne){var ue=j();try{Ka(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne)}catch(me){if(N(ue),me!==me+0)throw me;V(1,0)}}function wm(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me){var Be=j();try{La(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me)}catch(Ge){if(N(Be),Ge!==Ge+0)throw Ge;V(1,0)}}function _m(n,i,o,a,l,f,h,g){var b=j();try{Ya(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function $m(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{Qa(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function Cm(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{return Xa(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function Sm(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be){var Ge=j();try{return Ja(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K,ne,ue,me,Be)}catch(Fe){if(N(Ge),Fe!==Fe+0)throw Fe;V(1,0)}}function xm(n,i,o,a,l){var f=j();try{es(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function Im(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{So(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function Am(n,i,o,a,l,f,h,g,b,_){var x=j();try{ts(n,i,o,a,l,f,h,g,b,_)}catch(E){if(N(x),E!==E+0)throw E;V(1,0)}}function Tm(n,i,o,a,l){var f=j();try{rs(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function Em(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{Ts(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function Pm(n,i,o,a,l){var f=j();try{return ns(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function Om(n,i,o,a){var l=j();try{return ks(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;return V(1,0),0n}}function km(n,i,o,a,l,f,h){var g=j();try{is(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function Rm(n,i,o,a,l,f){var h=j();try{return os(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function Dm(n,i,o,a,l,f){var h=j();try{return as(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function Bm(n,i,o,a,l,f,h,g,b){var _=j();try{ss(n,i,o,a,l,f,h,g,b)}catch(x){if(N(_),x!==x+0)throw x;V(1,0)}}function Mm(n,i,o,a){var l=j();try{Da(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function zm(n,i,o,a,l,f,h,g){var b=j();try{return us(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function Um(n,i,o,a,l,f){var h=j();try{return ls(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function jm(n,i,o,a,l,f){var h=j();try{return ds(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function Vm(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{return cs(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function Nm(n,i,o,a,l,f,h,g){var b=j();try{return fs(n,i,o,a,l,f,h,g)}catch(_){if(N(b),_!==_+0)throw _;V(1,0)}}function Wm(n,i,o,a,l,f,h,g,b,_,x){var E=j();try{return ps(n,i,o,a,l,f,h,g,b,_,x)}catch(R){if(N(E),R!==R+0)throw R;V(1,0)}}function Gm(n,i,o,a,l,f,h){var g=j();try{return ms(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function Hm(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{return hs(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function Lm(n,i,o,a,l,f,h){var g=j();try{return gs(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function Fm(n,i,o,a,l,f,h){var g=j();try{return ys(n,i,o,a,l,f,h)}catch(b){if(N(g),b!==b+0)throw b;V(1,0)}}function qm(n,i,o,a){var l=j();try{return bs(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function Km(n,i,o,a){var l=j();try{ws(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function Ym(n,i,o,a){var l=j();try{return vs(n,i,o,a)}catch(f){if(N(l),f!==f+0)throw f;V(1,0)}}function Zm(n,i,o,a,l){var f=j();try{_s(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function Qm(n,i,o,a,l){var f=j();try{return $s(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function Xm(n,i,o,a,l,f){var h=j();try{return Cs(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function Jm(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{Ss(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function eh(n,i,o,a,l,f,h,g,b,_,x,E,R){var I=j();try{xs(n,i,o,a,l,f,h,g,b,_,x,E,R)}catch(U){if(N(I),U!==U+0)throw U;V(1,0)}}function th(n,i,o,a,l,f,h,g,b,_,x,E){var R=j();try{To(n,i,o,a,l,f,h,g,b,_,x,E)}catch(I){if(N(R),I!==I+0)throw I;V(1,0)}}function rh(n,i,o,a,l){var f=j();try{return Is(n,i,o,a,l)}catch(h){if(N(f),h!==h+0)throw h;V(1,0)}}function nh(n){var i=j();try{return he(n)}catch(o){if(N(i),o!==o+0)throw o;return V(1,0),0n}}function ih(n,i,o,a,l,f){var h=j();try{return te(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function oh(n,i,o,a,l,f){var h=j();try{return Za(n,i,o,a,l,f)}catch(g){if(N(h),g!==g+0)throw g;V(1,0)}}function ah(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K){var ne=j();try{qa(n,i,o,a,l,f,h,g,b,_,x,E,R,I,U,K)}catch(ue){if(N(ne),ue!==ue+0)throw ue;V(1,0)}}function sh(n,i,o){var a=j();try{return mo(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function uh(n,i,o){var a=j();try{return go(n,i,o)}catch(l){if(N(a),l!==l+0)throw l;V(1,0)}}function lh(){var n=B;n=Object.assign({},n);var i=a=>()=>a()>>>0,o=a=>l=>a(l)>>>0;return n.de=i(n.de),n.ee=o(n.ee),n.ge=o(n.ge),n.ke=i(n.ke),n.me=o(n.me),n}t.stackAlloc=Rn,t.stackSave=j,t.stackRestore=N,t.UTF8ToString=Xe,t.stringToUTF8=(n,i,o)=>Zt(n,J,i,o),t.lengthBytesUTF8=dr;var Nn;Me=function n(){Nn||zs(),Nn||(Me=n)};function zs(){if(!(0js)});var Ws=un(()=>{});var Gs=un(()=>{});var Hs={};Wn(Hs,{cpus:()=>bh});var bh,Ls=ae(()=>{bh=void 0});var Ks=un((qs,Oi)=>{\"use strict\";var Fs=(()=>{var e=typeof document<\"u\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<\"u\"&&(e=e||__filename),function(r={}){function t(){return Ee.buffer!=ve.buffer&&_e(),ve}function u(){return Ee.buffer!=ve.buffer&&_e(),xe}function s(){return Ee.buffer!=ve.buffer&&_e(),Me}function c(){return Ee.buffer!=ve.buffer&&_e(),Ke}function m(){return Ee.buffer!=ve.buffer&&_e(),re}function y(){return Ee.buffer!=ve.buffer&&_e(),fe}var d=r,w,C;d.ready=new Promise((p,v)=>{w=p,C=v}),d.jsepInit=(p,v,S,M,H,Q,te,he)=>{d.Qb=p,d.wb=v,d.yb=S,d.jb=M,d.xb=H,d.Ea=Q,d.zb=te,d.Ab=he,v=(ce,de,pe)=>(...Pe)=>{let De=yt,F=de?.();Pe=ce(...Pe);let be=de?.();return F!==be&&(ce=be,pe(F),de=pe=null),yt!=De?Rn():Pe},S=ce=>async(...de)=>{try{if(d.bb)throw Error(\"Session already started\");let pe=d.bb={Fb:de[0],errors:[]},Pe=await ce(...de);if(d.bb!==pe)throw Error(\"Session mismatch\");p.flush();let De=pe.errors;if(0be),0d._OrtRun,ce=>d._OrtRun=ce)),d._OrtRunWithBinding=S(v(d._OrtRunWithBinding,()=>d._OrtRunWithBinding,ce=>d._OrtRunWithBinding=ce)),d._OrtBindInput=v(d._OrtBindInput,()=>d._OrtBindInput,ce=>d._OrtBindInput=ce),d.jsepRegisterBuffer=(ce,de,pe,Pe)=>p.registerBuffer(ce,de,pe,Pe),d.jsepUnregisterBuffers=ce=>{p.unregisterBuffers(ce)},d.jsepGetBuffer=ce=>p.getBuffer(ce),d.jsepCreateDownloader=(ce,de,pe)=>p.createDownloader(ce,de,pe)};var $=Object.assign({},d),T=\"./this.program\",O=(p,v)=>{throw v},A=typeof window==\"object\",P=typeof importScripts==\"function\",z=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",D=d.ENVIRONMENT_IS_PTHREAD||!1,k=\"\";function G(p){return d.locateFile?d.locateFile(p,k):k+p}var W,q,Y;if(z){var J=(Hn(),or(Gn)),oe=(Ei(),or(Ti));k=P?oe.dirname(k)+\"/\":__dirname+\"/\",W=(v,S)=>(v=v.startsWith(\"file://\")?new URL(v):oe.normalize(v),J.readFileSync(v,S?void 0:\"utf8\")),Y=v=>(v=W(v,!0),v.buffer||(v=new Uint8Array(v)),v),q=(v,S,M,H=!0)=>{v=v.startsWith(\"file://\")?new URL(v):oe.normalize(v),J.readFile(v,H?void 0:\"utf8\",(Q,te)=>{Q?M(Q):S(H?te.buffer:te)})},!d.thisProgram&&1{throw process.exitCode=v,S},d.inspect=()=>\"[Emscripten Module object]\";let p;try{p=Ws()}catch(v){throw console.error(\\'The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?\\'),v}global.Worker=p.Worker}else(A||P)&&(P?k=self.location.href:typeof document<\"u\"&&document.currentScript&&(k=document.currentScript.src),typeof e<\"u\"&&e&&(k=e),k.indexOf(\"blob:\")!==0?k=k.substr(0,k.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):k=\"\",z||(W=p=>{var v=new XMLHttpRequest;return v.open(\"GET\",p,!1),v.send(null),v.responseText},P&&(Y=p=>{var v=new XMLHttpRequest;return v.open(\"GET\",p,!1),v.responseType=\"arraybuffer\",v.send(null),new Uint8Array(v.response)}),q=(p,v,S)=>{var M=new XMLHttpRequest;M.open(\"GET\",p,!0),M.responseType=\"arraybuffer\",M.onload=()=>{M.status==200||M.status==0&&M.response?v(M.response):S()},M.onerror=S,M.send(null)}));z&&typeof performance>\"u\"&&(global.performance=Gs().performance);var ge=console.log.bind(console),L=console.error.bind(console);z&&(ge=(...p)=>J.writeSync(1,p.join(\" \")+`\\n`),L=(...p)=>J.writeSync(2,p.join(\" \")+`\\n`));var le=d.print||ge,Te=d.printErr||L;Object.assign(d,$),$=null,d.thisProgram&&(T=d.thisProgram),d.quit&&(O=d.quit);var Ue;d.wasmBinary&&(Ue=d.wasmBinary);var je=d.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&ht(\"no native wasm support detected\");var Ee,ee,Ne,Se=!1,Ce,ve,xe,Me,Ke,re,fe;function _e(){var p=Ee.buffer;d.HEAP8=ve=new Int8Array(p),d.HEAP16=new Int16Array(p),d.HEAP32=Me=new Int32Array(p),d.HEAPU8=xe=new Uint8Array(p),d.HEAPU16=new Uint16Array(p),d.HEAPU32=Ke=new Uint32Array(p),d.HEAPF32=re=new Float32Array(p),d.HEAPF64=fe=new Float64Array(p)}var it=d.INITIAL_MEMORY||16777216;if(5242880<=it||ht(\"INITIAL_MEMORY should be larger than STACK_SIZE, was \"+it+\"! (STACK_SIZE=5242880)\"),D)Ee=d.wasmMemory;else if(d.wasmMemory)Ee=d.wasmMemory;else if(Ee=new WebAssembly.Memory({initial:it/65536,maximum:65536,shared:!0}),!(Ee.buffer instanceof SharedArrayBuffer))throw Te(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),z&&Te(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)\"),Error(\"bad memory\");_e(),it=Ee.buffer.byteLength;var tt=[],mt=[],Wt=[],Qe=0;function Ze(){return je||0{if(!v.ok)throw\"failed to load wasm binary file at \\'\"+p+\"\\'\";return v.arrayBuffer()}).catch(()=>Xe(p));if(q)return new Promise((v,S)=>{q(p,M=>v(new Uint8Array(M)),S)})}return Promise.resolve().then(()=>Xe(p))}function Zt(p,v,S){return dr(p).then(M=>WebAssembly.instantiate(M,v)).then(M=>M).then(S,M=>{Te(\"failed to asynchronously prepare wasm: \"+M),ht(M)})}function gn(p,v){var S=jt;return Ue||typeof WebAssembly.instantiateStreaming!=\"function\"||Tr(S)||S.startsWith(\"file://\")||z||typeof fetch!=\"function\"?Zt(S,p,v):fetch(S,{credentials:\"same-origin\"}).then(M=>WebAssembly.instantiateStreaming(M,p).then(v,function(H){return Te(\"wasm streaming compile failed: \"+H),Te(\"falling back to ArrayBuffer instantiation\"),Zt(S,p,v)}))}var Vt,lt={912252:p=>{d.Ea(\"Abs\",p,void 0)},912303:p=>{d.Ea(\"Neg\",p,void 0)},912354:p=>{d.Ea(\"Floor\",p,void 0)},912407:p=>{d.Ea(\"Ceil\",p,void 0)},912459:p=>{d.Ea(\"Reciprocal\",p,void 0)},912517:p=>{d.Ea(\"Sqrt\",p,void 0)},912569:p=>{d.Ea(\"Exp\",p,void 0)},912620:p=>{d.Ea(\"Erf\",p,void 0)},912671:p=>{d.Ea(\"Sigmoid\",p,void 0)},912726:p=>{d.Ea(\"Log\",p,void 0)},912777:p=>{d.Ea(\"Sin\",p,void 0)},912828:p=>{d.Ea(\"Cos\",p,void 0)},912879:p=>{d.Ea(\"Tan\",p,void 0)},912930:p=>{d.Ea(\"Asin\",p,void 0)},912982:p=>{d.Ea(\"Acos\",p,void 0)},913034:p=>{d.Ea(\"Atan\",p,void 0)},913086:p=>{d.Ea(\"Sinh\",p,void 0)},913138:p=>{d.Ea(\"Cosh\",p,void 0)},913190:p=>{d.Ea(\"Asinh\",p,void 0)},913243:p=>{d.Ea(\"Acosh\",p,void 0)},913296:p=>{d.Ea(\"Atanh\",p,void 0)},913349:p=>{d.Ea(\"Tanh\",p,void 0)},913401:p=>{d.Ea(\"Not\",p,void 0)},913452:(p,v,S)=>{d.Ea(\"ClipV10\",p,{min:v,max:S})},913524:p=>{d.Ea(\"Clip\",p,void 0)},913576:(p,v)=>{d.Ea(\"Elu\",p,{alpha:v})},913634:p=>{d.Ea(\"Relu\",p,void 0)},913686:(p,v)=>{d.Ea(\"LeakyRelu\",p,{alpha:v})},913750:(p,v)=>{d.Ea(\"ThresholdedRelu\",p,{alpha:v})},913820:(p,v)=>{d.Ea(\"Cast\",p,{to:v})},913878:p=>{d.Ea(\"Add\",p,void 0)},913929:p=>{d.Ea(\"Sub\",p,void 0)},913980:p=>{d.Ea(\"Mul\",p,void 0)},914031:p=>{d.Ea(\"Div\",p,void 0)},914082:p=>{d.Ea(\"Pow\",p,void 0)},914133:p=>{d.Ea(\"Equal\",p,void 0)},914186:p=>{d.Ea(\"Greater\",p,void 0)},914241:p=>{d.Ea(\"GreaterOrEqual\",p,void 0)},914303:p=>{d.Ea(\"Less\",p,void 0)},914355:p=>{d.Ea(\"LessOrEqual\",p,void 0)},914414:(p,v,S,M,H)=>{d.Ea(\"ReduceMean\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},914578:(p,v,S,M,H)=>{d.Ea(\"ReduceMax\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},914741:(p,v,S,M,H)=>{d.Ea(\"ReduceMin\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},914904:(p,v,S,M,H)=>{d.Ea(\"ReduceProd\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},915068:(p,v,S,M,H)=>{d.Ea(\"ReduceSum\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},915231:(p,v,S,M,H)=>{d.Ea(\"ReduceL1\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},915393:(p,v,S,M,H)=>{d.Ea(\"ReduceL2\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},915555:(p,v,S,M,H)=>{d.Ea(\"ReduceLogSum\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},915721:(p,v,S,M,H)=>{d.Ea(\"ReduceSumSquare\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},915890:(p,v,S,M,H)=>{d.Ea(\"ReduceLogSumExp\",p,{keepDims:!!v,noopWithEmptyAxes:!!S,axes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},916059:p=>{d.Ea(\"Where\",p,void 0)},916112:(p,v,S)=>{d.Ea(\"Transpose\",p,{perm:v?Array.from(s().subarray(S>>>0,S+v>>>0)):[]})},916225:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F,be)=>{d.Ea(\"ConvTranspose\",p,{format:ce?\"NHWC\":\"NCHW\",autoPad:v,dilations:[S],group:M,kernel_shape:[H],pads:[Q,te],strides:[he],wIsConst:()=>!!t()[de>>>0],outputPadding:pe?Array.from(s().subarray(Pe>>>0,Pe+pe>>>0)):[],outputShape:De?Array.from(s().subarray(F>>>0,F+De>>>0)):[],activation:rt(be)})},916639:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F)=>{d.Ea(\"ConvTranspose\",p,{format:he?\"NHWC\":\"NCHW\",autoPad:v,dilations:Array.from(s().subarray(S>>>0,S+2>>>0)),group:M,kernelShape:Array.from(s().subarray(H>>>0,H+2>>>0)),pads:Array.from(s().subarray(Q>>>0,Q+4>>>0)),strides:Array.from(s().subarray(te>>>0,te+2>>>0)),wIsConst:()=>!!t()[ce>>>0],outputPadding:0>>0,pe+de>>>0)):[],outputShape:0>>0,De+Pe>>>0)):[],activation:rt(F)})},917196:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F,be)=>{d.Ea(\"ConvTranspose\",p,{format:ce?\"NHWC\":\"NCHW\",autoPad:v,dilations:[S],group:M,kernel_shape:[H],pads:[Q,te],strides:[he],wIsConst:()=>!!t()[de>>>0],outputPadding:pe?Array.from(s().subarray(Pe>>>0,Pe+pe>>>0)):[],outputShape:De?Array.from(s().subarray(F>>>0,F+De>>>0)):[],activation:rt(be)})},917610:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F)=>{d.Ea(\"ConvTranspose\",p,{format:he?\"NHWC\":\"NCHW\",autoPad:v,dilations:Array.from(s().subarray(S>>>0,S+2>>>0)),group:M,kernelShape:Array.from(s().subarray(H>>>0,H+2>>>0)),pads:Array.from(s().subarray(Q>>>0,Q+4>>>0)),strides:Array.from(s().subarray(te>>>0,te+2>>>0)),wIsConst:()=>!!t()[ce>>>0],outputPadding:0>>0,pe+de>>>0)):[],outputShape:0>>0,De+Pe>>>0)):[],activation:rt(F)})},918167:(p,v)=>{d.Ea(\"GlobalAveragePool\",p,{format:v?\"NHWC\":\"NCHW\"})},918258:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F,be,Re)=>{d.Ea(\"AveragePool\",p,{format:Re?\"NHWC\":\"NCHW\",auto_pad:v,ceil_mode:S,count_include_pad:M,storage_order:H,dilations:[Q,te],kernel_shape:[he,ce],pads:[de,pe,Pe,De],strides:[F,be]})},918542:(p,v)=>{d.Ea(\"GlobalAveragePool\",p,{format:v?\"NHWC\":\"NCHW\"})},918633:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F,be,Re)=>{d.Ea(\"AveragePool\",p,{format:Re?\"NHWC\":\"NCHW\",auto_pad:v,ceil_mode:S,count_include_pad:M,storage_order:H,dilations:[Q,te],kernel_shape:[he,ce],pads:[de,pe,Pe,De],strides:[F,be]})},918917:(p,v)=>{d.Ea(\"GlobalMaxPool\",p,{format:v?\"NHWC\":\"NCHW\"})},919004:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F,be,Re)=>{d.Ea(\"MaxPool\",p,{format:Re?\"NHWC\":\"NCHW\",auto_pad:v,ceil_mode:S,count_include_pad:M,storage_order:H,dilations:[Q,te],kernel_shape:[he,ce],pads:[de,pe,Pe,De],strides:[F,be]})},919284:(p,v)=>{d.Ea(\"GlobalMaxPool\",p,{format:v?\"NHWC\":\"NCHW\"})},919371:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F,be,Re)=>{d.Ea(\"MaxPool\",p,{format:Re?\"NHWC\":\"NCHW\",auto_pad:v,ceil_mode:S,count_include_pad:M,storage_order:H,dilations:[Q,te],kernel_shape:[he,ce],pads:[de,pe,Pe,De],strides:[F,be]})},919651:(p,v,S,M,H)=>{d.Ea(\"Gemm\",p,{alpha:v,beta:S,transA:M,transB:H})},919755:p=>{d.Ea(\"MatMul\",p,void 0)},919809:(p,v,S,M)=>{d.Ea(\"ArgMax\",p,{keepDims:!!v,selectLastIndex:!!S,axis:M})},919917:(p,v,S,M)=>{d.Ea(\"ArgMin\",p,{keepDims:!!v,selectLastIndex:!!S,axis:M})},920025:(p,v)=>{d.Ea(\"Softmax\",p,{axis:v})},920088:(p,v)=>{d.Ea(\"Concat\",p,{axis:v})},920148:(p,v,S,M,H)=>{d.Ea(\"Split\",p,{axis:v,numOutputs:S,splitSizes:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},920293:p=>{d.Ea(\"Expand\",p,void 0)},920347:(p,v)=>{d.Ea(\"Gather\",p,{axis:Number(v)})},920418:(p,v)=>{d.Ea(\"GatherElements\",p,{axis:Number(v)})},920497:(p,v,S,M,H,Q,te,he,ce,de,pe)=>{d.Ea(\"Resize\",p,{antialias:v,axes:S?Array.from(s().subarray(M>>>0,M+S>>>0)):[],coordinateTransformMode:rt(H),cubicCoeffA:Q,excludeOutside:te,extrapolationValue:he,keepAspectRatioPolicy:rt(ce),mode:rt(de),nearestMode:rt(pe)})},920848:(p,v,S,M,H,Q,te)=>{d.Ea(\"Slice\",p,{starts:v?Array.from(s().subarray(S>>>0,S+v>>>0)):[],ends:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[],axes:Q?Array.from(s().subarray(te>>>0,te+Q>>>0)):[]})},921079:p=>{d.Ea(\"Tile\",p,void 0)},921131:(p,v,S)=>{d.Ea(\"LayerNormalization\",p,{axis:Number(v),epsilon:Number(S)})},921238:(p,v,S)=>{d.Ea(\"InstanceNormalization\",p,{epsilon:v,format:S?\"NHWC\":\"NCHW\"})},921352:(p,v,S)=>{d.Ea(\"InstanceNormalization\",p,{epsilon:v,format:S?\"NHWC\":\"NCHW\"})},921466:p=>{d.Ea(\"Range\",p,void 0)},921519:(p,v)=>{d.Ea(\"Einsum\",p,{equation:rt(v)})},921600:(p,v,S,M,H)=>{d.Ea(\"Pad\",p,{mode:v,value:S,pads:M?Array.from(s().subarray(H>>>0,H+M>>>0)):[]})},921732:p=>{d.Ea(\"Gelu\",p,void 0)},921784:p=>{d.Ea(\"BiasAdd\",p,void 0)},921839:p=>{d.Ea(\"BiasSplitGelu\",p,void 0)},921900:(p,v)=>{d.Ea(\"SkipLayerNormalization\",p,{epsilon:v})},921981:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De)=>{d.Ea(\"Conv\",p,{format:ce?\"NHWC\":\"NCHW\",auto_pad:v,dilations:[S],group:M,kernel_shape:[H],pads:Q?Array.from(s().subarray(te>>>0,te+Q>>>0)):[],strides:[he],w_is_const:()=>!!t()[de>>>0],activation:rt(pe),activation_params:Pe?Array.from(m().subarray(De>>>0,De+Pe>>>0)):[]})},922362:(p,v,S,M,H,Q,te,he,ce,de,pe,Pe,De,F,be,Re)=>{d.Ea(\"Conv\",p,{format:Pe?\"NHWC\":\"NCHW\",auto_pad:v,dilations:[S,M],group:H,kernel_shape:[Q,te],pads:he?Array.from(s().subarray(ce>>>0,ce+he>>>0)):[],strides:[de,pe],w_is_const:()=>!!t()[De>>>0],activation:rt(F),activation_params:be?Array.from(m().subarray(Re>>>0,Re+be>>>0)):[]})},922764:p=>{d.zb(p)},922798:(p,v)=>d.Ab(p,v,d.bb.Fb,d.bb.errors),922910:p=>d.wb(p),922943:p=>d.yb(p),922975:(p,v,S)=>{d.jb(p,v,S,!0)},923014:(p,v,S)=>{d.jb(p,v,S)}};function Gt(p){this.name=\"ExitStatus\",this.message=`Program terminated with exit(${p})`,this.status=p}function Qt(p){p.terminate(),p.onmessage=()=>{}}function yn(p){(p=ye.Qa[p])||ht(),ye.Eb(p)}function Ct(p){var v=ye.tb();if(!v)return 6;ye.Ya.push(v),ye.Qa[p.Xa]=v,v.Xa=p.Xa;var S={cmd:\"run\",start_routine:p.Gb,arg:p.rb,pthread_ptr:p.Xa};return z&&v.unref(),v.postMessage(S,p.Mb),0}var bn=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,wt=(p,v,S)=>{v>>>=0;var M=v+S;for(S=v;p[S]&&!(S>=M);)++S;if(16H?M+=String.fromCharCode(H):(H-=65536,M+=String.fromCharCode(55296|H>>10,56320|H&1023))}}else M+=String.fromCharCode(H)}return M},rt=(p,v)=>(p>>>=0)?wt(u(),p,v):\"\";function Er(p){if(D)return We(1,1,p);Ce=p,Ze()||(ye.Hb(),d.onExit&&d.onExit(p),Se=!0),O(p,new Gt(p))}var ot=p=>{if(Ce=p,D)throw ct(p),\"unwind\";Er(p)},ye={ab:[],Ya:[],mb:[],Qa:{},gb:function(){D?ye.vb():ye.ub()},ub:function(){tt.unshift(()=>{$t(),ye.Bb(()=>lr())})},vb:function(){ye.receiveObjectTransfer=ye.Db,ye.threadInitTLS=ye.lb,ye.setExitStatus=ye.kb,je=!1},kb:function(p){Ce=p},Sb:[\"$terminateWorker\"],Hb:function(){for(var p of ye.Ya)Qt(p);for(p of ye.ab)Qt(p);ye.ab=[],ye.Ya=[],ye.Qa=[]},Eb:function(p){var v=p.Xa;delete ye.Qa[v],ye.ab.push(p),ye.Ya.splice(ye.Ya.indexOf(p),1),p.Xa=0,wr(v)},Db:function(){},lb:function(){ye.mb.forEach(p=>p())},Cb:p=>new Promise(v=>{p.onmessage=Q=>{Q=Q.data;var te=Q.cmd;if(Q.targetThread&&Q.targetThread!=rr()){var he=ye.Qa[Q.Rb];he?he.postMessage(Q,Q.transferList):Te(\\'Internal error! Worker sent a message \"\\'+te+\\'\" to target pthread \\'+Q.targetThread+\", but that thread no longer exists!\")}else te===\"checkMailbox\"?pr():te===\"spawnThread\"?Ct(Q):te===\"cleanupThread\"?yn(Q.thread):te===\"killThread\"?(Q=Q.thread,te=ye.Qa[Q],delete ye.Qa[Q],Qt(te),wr(Q),ye.Ya.splice(ye.Ya.indexOf(te),1),te.Xa=0):te===\"cancelThread\"?ye.Qa[Q.thread].postMessage({cmd:\"cancel\"}):te===\"loaded\"?(p.loaded=!0,v(p)):te===\"alert\"?alert(\"Thread \"+Q.threadId+\": \"+Q.text):Q.target===\"setimmediate\"?p.postMessage(Q):te===\"callHandler\"?d[Q.handler](...Q.args):te&&Te(\"worker sent an unknown command \"+te)},p.onerror=Q=>{throw Te(\"worker sent an error! \"+Q.filename+\":\"+Q.lineno+\": \"+Q.message),Q},z&&(p.on(\"message\",function(Q){p.onmessage({data:Q})}),p.on(\"error\",function(Q){p.onerror(Q)}));var S=[],M=[\"onExit\",\"onAbort\",\"print\",\"printErr\"],H;for(H of M)d.hasOwnProperty(H)&&S.push(H);p.postMessage({cmd:\"load\",handlers:S,urlOrBlob:d.mainScriptUrlOrBlob||e,wasmMemory:Ee,wasmModule:Ne})}),Bb:function(p){p()},qb:function(){var p=G(\"ort-wasm-simd-threaded.worker.js\");p=new Worker(p),ye.ab.push(p)},tb:function(){return ye.ab.length==0&&(ye.qb(),ye.Cb(ye.ab[0])),ye.ab.pop()}};d.PThread=ye;var et=p=>{for(;0>2>>>0];p=s()[p+56>>2>>>0],Jr(v,v-p),nr(v)};function ct(p){if(D)return We(2,0,p);ot(p)}d.invokeEntryPoint=function(p,v){p=en.apply(null,[p,v]),Ze()?ye.kb(p):_r(p)};function vn(p){this.fb=p-24,this.pb=function(v){c()[this.fb+4>>2>>>0]=v},this.ob=function(v){c()[this.fb+8>>2>>>0]=v},this.gb=function(v,S){this.nb(),this.pb(v),this.ob(S)},this.nb=function(){c()[this.fb+16>>2>>>0]=0}}var wn=0,vi=0;function Pr(p,v,S,M){return D?We(3,1,p,v,S,M):_n(p,v,S,M)}function _n(p,v,S,M){if(p>>>=0,v>>>=0,S>>>=0,M>>>=0,typeof SharedArrayBuffer>\"u\")return Te(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var H=[];return D&&H.length===0?Pr(p,v,S,M):(p={Gb:S,Xa:p,rb:M,Mb:H},D?(p.Ob=\"spawnThread\",postMessage(p,H),0):Ct(p))}function $n(p,v,S){return D?We(4,1,p,v,S):0}function Cn(p,v){if(D)return We(5,1,p,v)}var Or=p=>{for(var v=0,S=0;S=M?v++:2047>=M?v+=2:55296<=M&&57343>=M?(v+=4,++S):v+=3}return v},Sn=(p,v,S,M)=>{if(S>>>=0,!(0=te){var he=p.charCodeAt(++Q);te=65536+((te&1023)<<10)|he&1023}if(127>=te){if(S>=M)break;v[S++>>>0]=te}else{if(2047>=te){if(S+1>=M)break;v[S++>>>0]=192|te>>6}else{if(65535>=te){if(S+2>=M)break;v[S++>>>0]=224|te>>12}else{if(S+3>=M)break;v[S++>>>0]=240|te>>18,v[S++>>>0]=128|te>>12&63}v[S++>>>0]=128|te>>6&63}v[S++>>>0]=128|te&63}}return v[S>>>0]=0,S-H},xn=(p,v,S)=>Sn(p,u(),v,S);function cr(p,v){if(D)return We(6,1,p,v)}function kr(p,v,S){if(D)return We(7,1,p,v,S)}function Xt(p,v,S){return D?We(8,1,p,v,S):0}function In(p,v){if(D)return We(9,1,p,v)}function St(p,v,S){if(D)return We(10,1,p,v,S)}function gt(p,v,S,M){if(D)return We(11,1,p,v,S,M)}function Rr(p,v,S,M){if(D)return We(12,1,p,v,S,M)}function Jt(p,v,S,M){if(D)return We(13,1,p,v,S,M)}function Dr(p){if(D)return We(14,1,p)}function Br(p,v){if(D)return We(15,1,p,v)}function An(p,v,S){if(D)return We(16,1,p,v,S)}var fr=p=>{if(!Se)try{if(p(),!Ze())try{D?_r(Ce):ot(Ce)}catch(v){v instanceof Gt||v==\"unwind\"||O(1,v)}}catch(v){v instanceof Gt||v==\"unwind\"||O(1,v)}};function Mr(p){p>>>=0,typeof Atomics.Nb==\"function\"&&(Atomics.Nb(s(),p>>2,p).value.then(pr),p+=128,Atomics.store(s(),p>>2,1))}d.__emscripten_thread_mailbox_await=Mr;function pr(){var p=rr();p&&(Mr(p),fr(()=>Qr()))}d.checkMailbox=pr;var Ht=p=>p%4===0&&(p%100!==0||p%400===0),Tn=[0,31,60,91,121,152,182,213,244,274,305,335],zr=[0,31,59,90,120,151,181,212,243,273,304,334];function er(p,v,S,M,H,Q,te,he){return D?We(17,1,p,v,S,M,H,Q,te,he):-52}function En(p,v,S,M,H,Q,te){if(D)return We(18,1,p,v,S,M,H,Q,te)}var mr=p=>{var v=Or(p)+1,S=vr(v);return S&&xn(p,S,v),S},hr=[],Pn=(p,v)=>{hr.length=0;var S;for(v>>=2;S=u()[p++>>>0];)v+=S!=105&v,hr.push(S==105?s()[v>>>0]:y()[v++>>>1]),++v;return hr},wi=p=>{var v=$r();return p=p(),nr(v),p};function We(p,v){var S=arguments.length-2,M=arguments;return wi(()=>{for(var H=Cr(8*S),Q=H>>3,te=0;te>>0]=he}return Zr(p,S,H,v)})}var Ur=[],Tt={},jr=()=>{if(!gr){var p={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:T||\"./this.program\"},v;for(v in Tt)Tt[v]===void 0?delete p[v]:p[v]=Tt[v];var S=[];for(v in p)S.push(`${v}=${p[v]}`);gr=S}return gr},gr;function Vr(p,v){if(D)return We(19,1,p,v);p>>>=0,v>>>=0;var S=0;return jr().forEach(function(M,H){var Q=v+S;for(H=c()[p+4*H>>2>>>0]=Q,Q=0;Q>0>>>0]=M.charCodeAt(Q);t()[H>>0>>>0]=0,S+=M.length+1}),0}function yr(p,v){if(D)return We(20,1,p,v);p>>>=0,v>>>=0;var S=jr();c()[p>>2>>>0]=S.length;var M=0;return S.forEach(function(H){M+=H.length+1}),c()[v>>2>>>0]=M,0}function Nr(p){return D?We(21,1,p):52}function br(p,v,S,M){return D?We(22,1,p,v,S,M):52}function Wr(p,v,S,M,H){return D?We(23,1,p,v,S,M,H):70}var Gr=[null,[],[]];function On(p,v,S,M){if(D)return We(24,1,p,v,S,M);v>>>=0,S>>>=0,M>>>=0;for(var H=0,Q=0;Q>2>>>0],he=c()[v+4>>2>>>0];v+=8;for(var ce=0;ce>>0],pe=Gr[p];de===0||de===10?((p===1?le:Te)(wt(pe,0)),pe.length=0):pe.push(de)}H+=he}return c()[M>>2>>>0]=H,0}var Hr=[31,29,31,30,31,30,31,31,30,31,30,31],Lr=[31,28,31,30,31,30,31,31,30,31,30,31];function _i(p){var v=Array(Or(p)+1);return Sn(p,v,0,v.length),v}var kn=(p,v)=>{t().set(p,v>>>0)};function Fr(p,v,S,M){function H(F,be,Re){for(F=typeof F==\"number\"?F.toString():F||\"\";F.lengthsn?-1:0Et-F.getDate())be-=Et-F.getDate()+1,F.setDate(1),11>Re?F.setMonth(Re+1):(F.setMonth(0),F.setFullYear(F.getFullYear()+1));else{F.setDate(F.getDate()+be);break}}return Re=new Date(F.getFullYear()+1,0,4),be=he(new Date(F.getFullYear(),0,4)),Re=he(Re),0>=te(be,F)?0>=te(Re,F)?F.getFullYear()+1:F.getFullYear():F.getFullYear()-1}p>>>=0,v>>>=0,S>>>=0,M>>>=0;var de=s()[M+40>>2>>>0];M={Kb:s()[M>>2>>>0],Jb:s()[M+4>>2>>>0],cb:s()[M+8>>2>>>0],ib:s()[M+12>>2>>>0],eb:s()[M+16>>2>>>0],$a:s()[M+20>>2>>>0],Wa:s()[M+24>>2>>>0],Za:s()[M+28>>2>>>0],Tb:s()[M+32>>2>>>0],Ib:s()[M+36>>2>>>0],Lb:de?rt(de):\"\"},S=rt(S),de={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var pe in de)S=S.replace(new RegExp(pe,\"g\"),de[pe]);var Pe=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),De=\"January February March April May June July August September October November December\".split(\" \");de={\"%a\":F=>Pe[F.Wa].substring(0,3),\"%A\":F=>Pe[F.Wa],\"%b\":F=>De[F.eb].substring(0,3),\"%B\":F=>De[F.eb],\"%C\":F=>Q((F.$a+1900)/100|0,2),\"%d\":F=>Q(F.ib,2),\"%e\":F=>H(F.ib,2,\" \"),\"%g\":F=>ce(F).toString().substring(2),\"%G\":F=>ce(F),\"%H\":F=>Q(F.cb,2),\"%I\":F=>(F=F.cb,F==0?F=12:12{for(var be=0,Re=0;Re<=F.eb-1;be+=(Ht(F.$a+1900)?Hr:Lr)[Re++]);return Q(F.ib+be,3)},\"%m\":F=>Q(F.eb+1,2),\"%M\":F=>Q(F.Jb,2),\"%n\":()=>`\\n`,\"%p\":F=>0<=F.cb&&12>F.cb?\"AM\":\"PM\",\"%S\":F=>Q(F.Kb,2),\"%t\":()=>\"\t\",\"%u\":F=>F.Wa||7,\"%U\":F=>Q(Math.floor((F.Za+7-F.Wa)/7),2),\"%V\":F=>{var be=Math.floor((F.Za+7-(F.Wa+6)%7)/7);if(2>=(F.Wa+371-F.Za-2)%7&&be++,be)be==53&&(Re=(F.Wa+371-F.Za)%7,Re==4||Re==3&&Ht(F.$a)||(be=1));else{be=52;var Re=(F.Wa+7-F.Za-1)%7;(Re==4||Re==5&&Ht(F.$a%400-1))&&be++}return Q(be,2)},\"%w\":F=>F.Wa,\"%W\":F=>Q(Math.floor((F.Za+7-(F.Wa+6)%7)/7),2),\"%y\":F=>(F.$a+1900).toString().substring(2),\"%Y\":F=>F.$a+1900,\"%z\":F=>{F=F.Ib;var be=0<=F;return F=Math.abs(F)/60,(be?\"+\":\"-\")+(\"0000\"+(F/60*100+F%60)).slice(-4)},\"%Z\":F=>F.Lb,\"%%\":()=>\"%\"},S=S.replace(/%%/g,\"\\\\0\\\\0\");for(pe in de)S.includes(pe)&&(S=S.replace(new RegExp(pe,\"g\"),de[pe](M)));return S=S.replace(/\\\\0\\\\0/g,\"%\"),pe=_i(S),pe.length>v?0:(kn(pe,p),pe.length-1)}function Nt(p){try{p()}catch(v){ht(v)}}function $i(p){var v={},S;for(S in p)(function(M){var H=p[M];v[M]=typeof H==\"function\"?function(){dt.push(M);try{return H.apply(null,arguments)}finally{Se||(dt.pop()===M||ht(),yt&&B===1&&dt.length===0&&(B=0,Qe+=1,Nt(rn),typeof Fibers<\"u\"&&Fibers.Ub()))}}:H})(S);return v}var B=0,yt=null,Lt=0,dt=[],qr={},V={},tr=0,j=null,N=[];function Rn(){return new Promise((p,v)=>{j={resolve:p,reject:v}})}function Dn(){var p=vr(65548),v=p+12;c()[p>>2>>>0]=v,c()[p+4>>2>>>0]=v+65536,v=dt[0];var S=qr[v];return S===void 0&&(S=tr++,qr[v]=S,V[S]=v),v=S,s()[p+8>>2>>>0]=v,p}function Bn(){var p=s()[yt+8>>2>>>0];return p=ee[V[p]],--Qe,p()}function Mn(p){if(!Se){if(B===0){var v=!1,S=!1;p((M=0)=>{if(!Se&&(Lt=M,v=!0,S)){B=2,Nt(()=>nn(yt)),typeof Browser<\"u\"&&Browser.hb.sb&&Browser.hb.resume(),M=!1;try{var H=Bn()}catch(he){H=he,M=!0}var Q=!1;if(!yt){var te=j;te&&(j=null,(M?te.reject:te.resolve)(H),Q=!0)}if(M&&!Q)throw H}}),S=!0,v||(B=1,yt=Dn(),typeof Browser<\"u\"&&Browser.hb.sb&&Browser.hb.pause(),Nt(()=>tn(yt)))}else B===2?(B=0,Nt(on),Kr(yt),yt=null,N.forEach(M=>fr(M))):ht(`invalid state: ${B}`);return Lt}}function zn(p){return Mn(v=>{p().then(v)})}ye.gb();var Un=[null,Er,ct,Pr,$n,Cn,cr,kr,Xt,In,St,gt,Rr,Jt,Dr,Br,An,er,En,Vr,yr,Nr,br,Wr,On],jn={r:function(p,v,S){return zn(async()=>{await d.xb(p,v,S)})},b:function(p,v,S){throw p>>>=0,new vn(p).gb(v>>>0,S>>>0),wn=p,vi++,wn},O:function(p){Yr(p>>>0,!P,1,!A,131072,!1),ye.lb()},l:function(p){p>>>=0,D?postMessage({cmd:\"cleanupThread\",thread:p}):yn(p)},I:_n,i:$n,U:Cn,E:cr,G:kr,V:Xt,S:In,K:St,R:gt,p:Rr,F:Jt,C:Dr,T:Br,D:An,q:()=>!0,A:function(p,v){p>>>=0,p==v>>>0?setTimeout(()=>pr()):D?postMessage({targetThread:p,cmd:\"checkMailbox\"}):(p=ye.Qa[p])&&p.postMessage({cmd:\"checkMailbox\"})},M:function(){return-1},N:Mr,X:function(p){z&&ye.Qa[p>>>0].ref()},u:function(p,v,S){p=v+2097152>>>0<4194305-!!p?(p>>>0)+4294967296*v:NaN,S>>>=0,p=new Date(1e3*p),s()[S>>2>>>0]=p.getUTCSeconds(),s()[S+4>>2>>>0]=p.getUTCMinutes(),s()[S+8>>2>>>0]=p.getUTCHours(),s()[S+12>>2>>>0]=p.getUTCDate(),s()[S+16>>2>>>0]=p.getUTCMonth(),s()[S+20>>2>>>0]=p.getUTCFullYear()-1900,s()[S+24>>2>>>0]=p.getUTCDay(),p=(p.getTime()-Date.UTC(p.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,s()[S+28>>2>>>0]=p},v:function(p,v,S){p=v+2097152>>>0<4194305-!!p?(p>>>0)+4294967296*v:NaN,S>>>=0,p=new Date(1e3*p),s()[S>>2>>>0]=p.getSeconds(),s()[S+4>>2>>>0]=p.getMinutes(),s()[S+8>>2>>>0]=p.getHours(),s()[S+12>>2>>>0]=p.getDate(),s()[S+16>>2>>>0]=p.getMonth(),s()[S+20>>2>>>0]=p.getFullYear()-1900,s()[S+24>>2>>>0]=p.getDay(),v=(Ht(p.getFullYear())?Tn:zr)[p.getMonth()]+p.getDate()-1|0,s()[S+28>>2>>>0]=v,s()[S+36>>2>>>0]=-(60*p.getTimezoneOffset()),v=new Date(p.getFullYear(),6,1).getTimezoneOffset();var M=new Date(p.getFullYear(),0,1).getTimezoneOffset();p=(v!=M&&p.getTimezoneOffset()==Math.min(M,v))|0,s()[S+32>>2>>>0]=p},w:function(p){p>>>=0;var v=new Date(s()[p+20>>2>>>0]+1900,s()[p+16>>2>>>0],s()[p+12>>2>>>0],s()[p+8>>2>>>0],s()[p+4>>2>>>0],s()[p>>2>>>0],0),S=s()[p+32>>2>>>0],M=v.getTimezoneOffset(),H=new Date(v.getFullYear(),6,1).getTimezoneOffset(),Q=new Date(v.getFullYear(),0,1).getTimezoneOffset(),te=Math.min(Q,H);return 0>S?s()[p+32>>2>>>0]=+(H!=Q&&te==M):0>2>>>0]=v.getDay(),S=(Ht(v.getFullYear())?Tn:zr)[v.getMonth()]+v.getDate()-1|0,s()[p+28>>2>>>0]=S,s()[p>>2>>>0]=v.getSeconds(),s()[p+4>>2>>>0]=v.getMinutes(),s()[p+8>>2>>>0]=v.getHours(),s()[p+12>>2>>>0]=v.getDate(),s()[p+16>>2>>>0]=v.getMonth(),s()[p+20>>2>>>0]=v.getYear(),p=v.getTime()/1e3,Xr((Vt=p,1<=+Math.abs(Vt)?0>>0:~~+Math.ceil((Vt-+(~~Vt>>>0))/4294967296)>>>0:0)),p>>>0},s:er,t:En,z:function(p,v,S){function M(de){return(de=de.toTimeString().match(/\\\\(([A-Za-z ]+)\\\\)$/))?de[1]:\"GMT\"}p>>>=0,v>>>=0,S>>>=0;var H=new Date().getFullYear(),Q=new Date(H,0,1),te=new Date(H,6,1);H=Q.getTimezoneOffset();var he=te.getTimezoneOffset(),ce=Math.max(H,he);c()[p>>2>>>0]=60*ce,s()[v>>2>>>0]=+(H!=he),p=M(Q),v=M(te),p=mr(p),v=mr(v),he>2>>>0]=p,c()[S+4>>2>>>0]=v):(c()[S>>2>>>0]=v,c()[S+4>>2>>>0]=p)},d:()=>{ht(\"\")},c:function(p,v,S){return p>>>=0,v=Pn(v>>>0,S>>>0),lt[p].apply(null,v)},k:function(p,v,S){return p>>>=0,v=Pn(v>>>0,S>>>0),lt[p].apply(null,v)},m:function(){},j:function(){return Date.now()},W:()=>{throw Qe+=1,\"unwind\"},B:function(){return 4294901760},f:()=>performance.timeOrigin+performance.now(),g:function(){return z?(Ls(),or(Hs)).cpus().length:navigator.hardwareConcurrency},L:function(p,v,S,M){for(ye.Pb=v>>>0,Ur.length=S,v=M>>>0>>3,M=0;M>>0];return(0>p?lt[-p-1]:Un[p]).apply(null,Ur)},y:function(p){p>>>=0;var v=u().length;if(p<=v||4294901760=S;S*=2){var M=v*(1+.2/S);M=Math.min(M,p+100663296);var H=Math;M=Math.max(p,M);e:{H=H.min.call(H,4294901760,M+(65536-M%65536)%65536)-Ee.buffer.byteLength+65535>>>16;try{Ee.grow(H),_e();var Q=1;break e}catch{}Q=void 0}if(Q)return!0}return!1},P:Vr,Q:yr,H:ot,h:Nr,o:br,x:Wr,n:On,a:Ee||d.wasmMemory,J:Fr,e:function(p,v,S,M){return Fr(p>>>0,v>>>0,S>>>0,M>>>0)}};(function(){function p(S,M){return S=S.exports,S=$i(S),ee=S=Vn(S),ye.mb.push(ee.Da),mt.unshift(ee.Y),Ne=M,lr(),S}var v={a:jn};if($t(),d.instantiateWasm)try{return d.instantiateWasm(v,p)}catch(S){Te(\"Module.instantiateWasm callback failed with error: \"+S),C(S)}return gn(v,function(S){p(S.instance,S.module)}).catch(C),{}})(),d._OrtInit=(p,v)=>(d._OrtInit=ee.Z)(p,v),d._OrtGetLastError=(p,v)=>(d._OrtGetLastError=ee._)(p,v),d._OrtCreateSessionOptions=(p,v,S,M,H,Q,te,he,ce,de)=>(d._OrtCreateSessionOptions=ee.$)(p,v,S,M,H,Q,te,he,ce,de),d._OrtAppendExecutionProvider=(p,v)=>(d._OrtAppendExecutionProvider=ee.aa)(p,v),d._OrtAddFreeDimensionOverride=(p,v,S)=>(d._OrtAddFreeDimensionOverride=ee.ba)(p,v,S),d._OrtAddSessionConfigEntry=(p,v,S)=>(d._OrtAddSessionConfigEntry=ee.ca)(p,v,S),d._OrtReleaseSessionOptions=p=>(d._OrtReleaseSessionOptions=ee.da)(p),d._OrtCreateSession=(p,v,S)=>(d._OrtCreateSession=ee.ea)(p,v,S),d._OrtReleaseSession=p=>(d._OrtReleaseSession=ee.fa)(p),d._OrtGetInputOutputCount=(p,v,S)=>(d._OrtGetInputOutputCount=ee.ga)(p,v,S),d._OrtGetInputName=(p,v)=>(d._OrtGetInputName=ee.ha)(p,v),d._OrtGetOutputName=(p,v)=>(d._OrtGetOutputName=ee.ia)(p,v),d._OrtFree=p=>(d._OrtFree=ee.ja)(p),d._OrtCreateTensor=(p,v,S,M,H,Q)=>(d._OrtCreateTensor=ee.ka)(p,v,S,M,H,Q),d._OrtGetTensorData=(p,v,S,M,H)=>(d._OrtGetTensorData=ee.la)(p,v,S,M,H),d._OrtReleaseTensor=p=>(d._OrtReleaseTensor=ee.ma)(p),d._OrtCreateRunOptions=(p,v,S,M)=>(d._OrtCreateRunOptions=ee.na)(p,v,S,M),d._OrtAddRunConfigEntry=(p,v,S)=>(d._OrtAddRunConfigEntry=ee.oa)(p,v,S),d._OrtReleaseRunOptions=p=>(d._OrtReleaseRunOptions=ee.pa)(p),d._OrtCreateBinding=p=>(d._OrtCreateBinding=ee.qa)(p),d._OrtBindInput=(p,v,S)=>(d._OrtBindInput=ee.ra)(p,v,S),d._OrtBindOutput=(p,v,S,M)=>(d._OrtBindOutput=ee.sa)(p,v,S,M),d._OrtClearBoundOutputs=p=>(d._OrtClearBoundOutputs=ee.ta)(p),d._OrtReleaseBinding=p=>(d._OrtReleaseBinding=ee.ua)(p),d._OrtRunWithBinding=(p,v,S,M,H)=>(d._OrtRunWithBinding=ee.va)(p,v,S,M,H),d._OrtRun=(p,v,S,M,H,Q,te,he)=>(d._OrtRun=ee.wa)(p,v,S,M,H,Q,te,he),d._OrtEndProfiling=p=>(d._OrtEndProfiling=ee.xa)(p),d._JsepOutput=(p,v,S)=>(d._JsepOutput=ee.ya)(p,v,S),d._JsepGetNodeName=p=>(d._JsepGetNodeName=ee.za)(p);var rr=d._pthread_self=()=>(rr=d._pthread_self=ee.Aa)(),vr=d._malloc=p=>(vr=d._malloc=ee.Ba)(p),Kr=d._free=p=>(Kr=d._free=ee.Ca)(p);d.__emscripten_tls_init=()=>(d.__emscripten_tls_init=ee.Da)();var Yr=d.__emscripten_thread_init=(p,v,S,M,H,Q)=>(Yr=d.__emscripten_thread_init=ee.Fa)(p,v,S,M,H,Q);d.__emscripten_thread_crashed=()=>(d.__emscripten_thread_crashed=ee.Ga)();var Zr=(p,v,S,M)=>(Zr=ee.Ha)(p,v,S,M),wr=p=>(wr=ee.Ia)(p),_r=d.__emscripten_thread_exit=p=>(_r=d.__emscripten_thread_exit=ee.Ja)(p),Qr=d.__emscripten_check_mailbox=()=>(Qr=d.__emscripten_check_mailbox=ee.Ka)(),Xr=p=>(Xr=ee.La)(p),Jr=(p,v)=>(Jr=ee.Ma)(p,v),$r=()=>($r=ee.Na)(),nr=p=>(nr=ee.Oa)(p),Cr=p=>(Cr=ee.Pa)(p),en=d.dynCall_ii=(p,v)=>(en=d.dynCall_ii=ee.Ra)(p,v),tn=p=>(tn=ee.Sa)(p),rn=()=>(rn=ee.Ta)(),nn=p=>(nn=ee.Ua)(p),on=()=>(on=ee.Va)();d.___start_em_js=923047,d.___stop_em_js=923208;function Vn(p){p=Object.assign({},p);var v=M=>()=>M()>>>0,S=M=>H=>M(H)>>>0;return p.__errno_location=v(p.__errno_location),p.pthread_self=v(p.pthread_self),p.malloc=S(p.malloc),p.stackSave=v(p.stackSave),p.stackAlloc=S(p.stackAlloc),p}d.keepRuntimeAlive=Ze,d.wasmMemory=Ee,d.stackAlloc=Cr,d.stackSave=$r,d.stackRestore=nr,d.UTF8ToString=rt,d.stringToUTF8=xn,d.lengthBytesUTF8=Or,d.ExitStatus=Gt,d.PThread=ye;var ir;vt=function p(){ir||an(),ir||(vt=p)};function an(){function p(){if(!ir&&(ir=!0,d.calledRun=!0,!Se)&&(D||et(mt),w(d),d.onRuntimeInitialized&&d.onRuntimeInitialized(),!D)){if(d.postRun)for(typeof d.postRun==\"function\"&&(d.postRun=[d.postRun]);d.postRun.length;){var v=d.postRun.shift();Wt.unshift(v)}et(Wt)}}if(!(0Fs)});var Ys=un((v0,vh)=>{vh.exports=\\'\"use strict\";var Module={},ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\"),parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",e=>onmessage({data:e}));var fs=require(\"fs\");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>(0,eval)(fs.readFileSync(e,\"utf8\")+\"//# sourceURL=\"+e),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,e+`\\\\n`);return}console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var a=Module.wasmModule;Module.wasmModule=null;var r=new WebAssembly.Instance(a,e);return t(r)},self.onunhandledrejection=e=>{throw e.reason??e};function handleMessage(e){try{if(e.data.cmd===\"load\"){let a=[];self.onmessage=r=>a.push(r),self.startWorker=r=>{Module=r,postMessage({cmd:\"loaded\"});for(let s of a)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...s)=>{postMessage({cmd:\"callHandler\",handler:r,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob==\"string\")importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}ortWasmThreaded(Module)}else if(e.data.cmd===\"run\"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(a){if(a!=\"unwind\")throw a}}else e.data.cmd===\"cancel\"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target===\"setimmediate\"||(e.data.cmd===\"checkMailbox\"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(\"worker.js received unknown command \"+e.data.cmd),err(e.data)))}catch(a){throw Module.__emscripten_thread_crashed&&Module.__emscripten_thread_crashed(),a}}self.onmessage=handleMessage;\\\\n\\'});var Di,Ft,dn,Fn,cn,tu,Bi,$e=ae(()=>{\"use strict\";Di=e=>{switch(e){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;default:throw new Error(`unsupported data type: ${e}`)}},Ft=e=>{switch(e){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\";default:throw new Error(`unsupported data type: ${e}`)}},dn=e=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][e],Fn=e=>{switch(e){case\"float16\":return typeof Float16Array<\"u\"&&Float16Array.from?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: ${e}`)}},cn=e=>{switch(e){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: ${e}`)}},tu=e=>e===\"float32\"||e===\"float16\"||e===\"int32\"||e===\"int64\"||e===\"uint32\"||e===\"uint8\"||e===\"bool\",Bi=e=>{switch(e){case\"none\":return 0;case\"cpu\":return 1;case\"cpu-pinned\":return 2;case\"texture\":return 3;case\"gpu-buffer\":return 4;default:throw new Error(`unsupported data location: ${e}`)}}});var qn=ae(()=>{\"use strict\"});var nu=ae(()=>{\"use strict\";qn()});var iu,ou=ae(()=>{\"use strict\";iu=\"1.18.0\"});var au,bt,Mi=ae(()=>{\"use strict\";ou();au=\"warning\",bt={wasm:{},webgl:{},webgpu:{},versions:{common:iu},set logLevel(e){if(e!==void 0){if(typeof e!=\"string\"||[\"verbose\",\"info\",\"warning\",\"error\",\"fatal\"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);au=e}},get logLevel(){return au}};Object.defineProperty(bt,\"logLevel\",{enumerable:!0})});var Sr,su=ae(()=>{\"use strict\";Mi();Sr=bt});var uu=ae(()=>{\"use strict\"});var lu=ae(()=>{\"use strict\";Kn()});var cu=ae(()=>{\"use strict\"});var fu=ae(()=>{\"use strict\";Kn()});var Kn=ae(()=>{\"use strict\";uu();lu();cu();fu()});var Yn=ae(()=>{\"use strict\";Kn()});var zi,pu,ar,qt,Ui=ae(()=>{\"use strict\";Mi();zi=(e,r)=>{(typeof bt.trace>\"u\"?!bt.wasm.trace:!bt.trace)||console.timeStamp(`${e}::ORT::${r}`)},pu=(e,r)=>{let t=new Error().stack?.split(/\\\\r\\\\n|\\\\r|\\\\n/g)||[],u=!1;for(let s=0;s{(typeof bt.trace>\"u\"?!bt.wasm.trace:!bt.trace)||pu(\"BEGIN\",e)},qt=e=>{(typeof bt.trace>\"u\"?!bt.wasm.trace:!bt.trace)||pu(\"END\",e)}});var mu=ae(()=>{\"use strict\";qn();Yn();Ui()});var hu=ae(()=>{\"use strict\";mu()});var gu=ae(()=>{\"use strict\"});var yu=ae(()=>{\"use strict\";qn();Yn()});var bu=ae(()=>{\"use strict\";yu()});var xr=ae(()=>{\"use strict\";nu();su();hu();Yn();Ui();gu();bu()});var Ph,Oh,vu,wu,_u,kh,Le,Kt=ae(()=>{\"use strict\";$e();Ph=[\"V\",\"I\",\"W\",\"E\",\"F\"],Oh=(e,r)=>{console.log(`[${Ph[e]},${new Date().toISOString()}]${r}`)},_u=(e,r)=>{vu=e,wu=r},kh=(e,r)=>{let t=cn(e),u=cn(vu);t>=u&&Oh(t,typeof r==\"function\"?r():r)},Le=(...e)=>{wu&&kh(...e)}});var $u,Cu=ae(()=>{\"use strict\";$e();$u=(e,r)=>new(Fn(r))(e)});var Zn=ae(()=>{\"use strict\"});var Qn,Rh,Su,Vi,ji,Iu,Au=ae(()=>{\"use strict\";Kt();Zn();Qn=e=>Math.ceil(e/16)*16,Rh=1,Su=()=>Rh++,Vi=async(e,r,t,u)=>{let s=Qn(t),c=e.device.createBuffer({size:s,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let m=e.getCommandEncoder();e.endComputePass(),m.copyBufferToBuffer(r,0,c,0,s),e.flush(),await c.mapAsync(GPUMapMode.READ);let y=c.getMappedRange();if(u){let d=u();return d.set(new Uint8Array(y,0,t)),d}else return new Uint8Array(y.slice(0,t))}finally{c.destroy()}},ji=class{constructor(r){this.backend=r;this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersForUploadingPending=[],this.buffersPending=[],this.externalBuffers=new Map,this.capturedPendingBuffers=new Map}upload(r,t){let u=t.buffer,s=t.byteOffset,c=t.byteLength,m=Qn(c),y=this.storageCache.get(r);if(!y)throw new Error(\"gpu data for uploading does not exist\");if(y.originalSize!==c)throw new Error(`inconsistent data size. gpu data size=${y.originalSize}, data size=${c}`);let d=this.backend.device.createBuffer({mappedAtCreation:!0,size:m,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC}),w=d.getMappedRange();new Uint8Array(w).set(new Uint8Array(u,s,c)),d.unmap();let C=this.backend.getCommandEncoder();this.backend.endComputePass(),C.copyBufferToBuffer(d,0,y.gpuData.buffer,0,m),Le(\"verbose\",()=>`[WebGPU] GpuDataManager.upload(id=${r})`),this.buffersForUploadingPending.push(d)}memcpy(r,t){let u=this.storageCache.get(r);if(!u)throw new Error(\"source gpu data for memcpy does not exist\");let s=this.storageCache.get(t);if(!s)throw new Error(\"destination gpu data for memcpy does not exist\");if(u.originalSize!==s.originalSize)throw new Error(\"inconsistent source and destination gpu data size\");let c=Qn(u.originalSize),m=this.backend.getCommandEncoder();this.backend.endComputePass(),m.copyBufferToBuffer(u.gpuData.buffer,0,s.gpuData.buffer,0,c)}registerExternalBuffer(r,t,u){let s;if(u){if(s=this.externalBuffers.get(u),s===void 0)throw new Error(\"previous buffer is not registered\");if(r===u)return Le(\"verbose\",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${t}) => id=${s}, buffer is the same, skip.`),s;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw new Error(`Registering a different external buffer under graph capture mode is not supported yet.\\n Please use the previous external buffer!`);this.externalBuffers.delete(u)}else s=Su();return this.storageCache.set(s,{gpuData:{id:s,type:0,buffer:r},originalSize:t}),this.externalBuffers.set(r,s),Le(\"verbose\",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${t}) => id=${s}, registered.`),s}unregisterExternalBuffer(r){let t=this.externalBuffers.get(r);t!==void 0&&(this.storageCache.delete(t),this.externalBuffers.delete(r),Le(\"verbose\",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${t}`))}create(r,t=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST){let u=Qn(r),s,c=(t&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,m=(t&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM;if(c||m){let d=c?this.freeBuffers:this.freeUniformBuffers,w=d.get(u);w||(w=[],d.set(u,w)),w.length>0?s=w.pop():s=this.backend.device.createBuffer({size:u,usage:t})}else s=this.backend.device.createBuffer({size:u,usage:t});let y={id:Su(),type:0,buffer:s};return this.storageCache.set(y.id,{gpuData:y,originalSize:r}),Le(\"verbose\",()=>`[WebGPU] GpuDataManager.create(size=${r}) => id=${y.id}`),y}get(r){return this.storageCache.get(r)?.gpuData}release(r){let t=this.storageCache.get(r);if(!t)throw new Error(\"releasing data does not exist\");return Le(\"verbose\",()=>`[WebGPU] GpuDataManager.release(id=${r}), gpuDataId=${t.gpuData.id}`),this.storageCache.delete(r),this.buffersPending.push(t.gpuData.buffer),t.originalSize}async download(r,t){let u=this.storageCache.get(r);if(!u)throw new Error(\"data does not exist\");await Vi(this.backend,u.gpuData.buffer,u.originalSize,t)}refreshPendingBuffers(){for(let r of this.buffersForUploadingPending)r.destroy();if(this.buffersForUploadingPending=[],this.buffersPending.length!==0)if(this.backend.sessionStatus===\"default\"){for(let r of this.buffersPending)(r.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE?this.freeBuffers.get(r.size).push(r):(r.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM?this.freeUniformBuffers.get(r.size).push(r):r.destroy();this.buffersPending=[]}else{let r=this.capturedPendingBuffers.get(this.backend.currentSessionId);r||(r=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,r));for(let t of this.buffersPending)r.push(t);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(r=>{r.forEach(t=>{t.destroy()})}),this.freeUniformBuffers.forEach(r=>{r.forEach(t=>{t.destroy()})}),this.storageCache.forEach(r=>{r.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(r=>{r.forEach(t=>{t.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onReleaseSession(r){let t=this.capturedPendingBuffers.get(r);t&&(t.forEach(u=>{u.destroy()}),this.capturedPendingBuffers.delete(r))}},Iu=(...e)=>new ji(...e)});var Ni,Oe,nt=ae(()=>{\"use strict\";Ni=class{constructor(r){Object.assign(this,r)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(r=>`${this[r]}`).join(\";\")),this.key}},Oe=e=>new Ni(e)});var Wi,Pt,Z,sr,Xn,Jn,ei,ke=ae(()=>{\"use strict\";Wi=class{static calcMatMulShape(r,t){return r[1]!==t[0]?void 0:[r[0],t[1]]}},Pt=class{static calcShape(r,t,u=!1){let s=r.length,c=t.length;if(s===0)return t;if(c===0)return r;let m=Math.max(r.length,t.length),y=new Array(m);if(u){if(s<2||c<2)return;let d=Wi.calcMatMulShape([r[s-2],r[s-1]],[t[c-2],t[c-1]]);if(d===void 0)return;[y[m-2],y[m-1]]=d}for(let d=u?3:1;d<=m;d++){let w=s-d<0?1:r[s-d],C=c-d<0?1:t[c-d];if(w!==C&&w>1&&C>1)return;let $=Math.max(w,C);if(w&&C)y[m-d]=Math.max(w,C);else{if($>1)return;y[m-d]=0}}return y}static isValidBroadcast(r,t){let u=r.length,s=t.length;if(u>s)return!1;for(let c=1;c<=u;c++)if(r[u-c]!==1&&r[u-c]!==t[s-c])return!1;return!0}},Z=class e{static size(r){return e.getSizeFromDimensionRange(r,0,r.length)}static convertShape(r,t=4){let u=r.length;if(u===0)return[];let s=new Array(u),c=u-1;for(;c>=0;){if(r[c]%t===0){s[c]=r[c]/t;break}if(t%r[c]!==0)throw new Error(\"cannot convert shape\");s[c]=1,t/=r[c],c--}for(c--;c>=0;c--)s[c]=r[c];return s}static sizeFromDimension(r,t){if(t<0||t>r.length)throw new Error(`invalid dimension of ${t} for sizeFromDimension as Tensor has ${r.length} dimensions.`);return e.getSizeFromDimensionRange(r,t,r.length)}static sizeToDimension(r,t){if(t<0||t>r.length)throw new Error(`invalid dimension of ${t} for sizeToDimension as Tensor has ${r.length} dimensions.`);return e.getSizeFromDimensionRange(r,0,t)}static getSizeFromDimensionRange(r,t,u){let s=1;for(let c=t;c=0;--s)u[s]=u[s+1]*r[s+1];return u}static normalizeAxis(r,t){if(r<-t&&r>=t)throw new Error(\"unsupported axis for this operation.\");return r<0?r+t:r}static normalizeAxes(r,t){return r.map(u=>this.normalizeAxis(u,t??r.length))}static sortBasedOnPerm(r,t){return t?t.map(u=>r[u]):r.slice().reverse()}static padShape(r,t){let u=r.length;return r.map((s,c)=>s+t[c]+t[c+u])}static areEqual(r,t){return r.length!==t.length?!1:r.every((u,s)=>u===t[s])}},sr=class e{static adjustPoolAttributes(r,t,u,s,c,m){if(!r&&u.length!==t.length-2)throw new Error(\"length of specified kernel shapes should be 2 less than length of input dimensions\");if(r)for(let y=0;y=u.length?u.push(t[y+2]):u[y]=t[y+2];for(let y=0;y=u[y]||m[y+u.length]>=u[y])throw new Error(\"pads should be smaller than kernel\")}}static adjustPadsBasedOnAutoPad(r,t,u,s,c,m,y){if(y){if(c.length!==2*(r.length-2))throw new Error(\"length of pads should be twice the length of data dimensions\");if(t.length!==r.length-2)throw new Error(\"length of strides should be the length of data dimensions\");if(s.length!==r.length-2)throw new Error(\"length of kernel shapes should be the length of data dimensions\");for(let d=0;d{\"use strict\";$e();ke();ti=64,Hi=(e,r)=>{if(r===3)throw new Error(\"vec3 has same alignment as vec4, use vec4 instead\");switch(e){case 10:return r>1?`vec${r}`:\"f16\";case 1:return r>1?`vec${r}`:\"f32\";case 6:return r>1?`vec${r}`:\"i32\";case 12:return r>1?`vec${r}`:\"u32\";case 7:if(r>1)throw new Error(\"currently not supported vecX of uint64 yet\");return[\"vec2\",\"i32\"];case 13:if(r>1)throw new Error(\"currently not supported vecX of uint64 yet\");return[\"vec2\",\"u32\"];case 9:if(r!==4)throw new Error(\"bool must be vec4\");return[\"u32\",\"vec4\"];default:throw new Error(`Unknown data type: ${e}`)}},Ve=(e,r=1)=>{let t=Hi(e,r);return typeof t==\"string\"?t:t[0]},ft=(e,r=1)=>{let t=Hi(e,r);return typeof t==\"string\"?t:t[1]},se=(...e)=>{let r=[];return e.forEach(t=>{t.length!==0&&r.push({type:12,data:t},{type:12,data:Z.computeStrides(t)})}),r},Je=e=>e%4===0?4:e%2===0?2:1,at=(e=\"f32\",r,t=\"0\")=>!r||r===1?`${e}(${t})`:`vec${r}<${e}>(${t})`,It=(e,r,t)=>e===\"f32\"?t:r===1?`f32(${t})`:`vec${r}f(${t})`,pt=(e,r)=>r===4?`(${e}.x + ${e}.y + ${e}.z + ${e}.w)`:r===2?`(${e}.x + ${e}.y)`:r===3?`(${e}.x + ${e}.y + ${e}.z)`:e,we=(e,r,t,u)=>e.startsWith(\"uniforms.\")&&t>4?typeof r==\"string\"?u===\"f16\"?`${e}[(${r}) / 8][(${r}) % 8 / 4][(${r}) % 8 % 4]`:`${e}[(${r}) / 4][(${r}) % 4]`:u===\"f16\"?`${e}[${Math.floor(r/8)}][${Math.floor(r%8/4)}][${r%8%4}]`:`${e}[${Math.floor(r/4)}][${r%4}]`:t>1?`${e}[${r}]`:e,Li=(e,r,t,u,s)=>{let c=typeof t==\"number\",m=c?t:t.length,y=[...new Array(m).keys()],d=m<2?\"u32\":m<=4?`vec${m}`:`array`,w=Hi(r,s),C=typeof w==\"string\"?w:w[1],$=typeof w==\"string\"?w:w[0],T={indices:d,value:C,storage:$,tensor:r},O=re=>typeof re==\"string\"?re:`${re}u`,A={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},P=c?\"uniforms.\":\"\",z=`${P}${e}_shape`,D=`${P}${e}_strides`,k=\"\";for(let re=0;re ${T.indices} {\\n var indices: ${T.indices};\\n var current = offset;\\n ${k}\\n return indices;\\n }`,W=re=>(A.offsetToIndices=!0,m<2?re:`o2i_${e}(${re})`),q=[];if(m>=2)for(let re=m-1;re>=0;re--)q.push(`${we(D,re,m)} * (indices[${re}])`);let Y=m<2?\"\":`\\n fn i2o_${e}(indices: ${T.indices}) -> u32 {\\n return ${q.join(\"+\")};\\n }`,J=re=>(A.indicesToOffset=!0,m<2?re:`i2o_${e}(${re})`),oe=(...re)=>m===0?\"0u\":`${T.indices}(${re.map(O).join(\",\")})`,ge=(re,fe)=>m<2?`${re}`:`${we(re,fe,m)}`,L=(re,fe,_e)=>m<2?`${re}=${_e};`:`${we(re,fe,m)}=${_e};`,le={},Te=(re,fe)=>{A.broadcastedIndicesToOffset=!0;let _e=`${fe.name}broadcastedIndicesTo${e}Offset`;if(_e in le)return`${_e}(${re})`;let it=[];for(let tt=m-1;tt>=0;tt--){let mt=fe.indicesGet(\"outputIndices\",tt+fe.rank-m);it.push(`${ge(D,tt)} * (${mt} % ${ge(z,tt)})`)}return le[_e]=`fn ${_e}(outputIndices: ${fe.type.indices}) -> u32 {\\n return ${it.length>0?it.join(\"+\"):\"0u\"};\\n }`,`${_e}(${re})`},Ue=(re,fe)=>(()=>{if(T.storage===T.value)return`${e}[${re}]=${fe};`;if(T.storage===\"vec2\"&&T.value===\"i32\")return`${e}[${re}]=vec2(u32(${fe}), select(0u, 0xFFFFFFFFu, ${fe} < 0));`;if(T.storage===\"vec2\"&&T.value===\"u32\")return`${e}[${re}]=vec2(u32(${fe}), 0u);`;if(T.storage===\"u32\"&&T.value===\"vec4\")return`${e}[${re}]=dot(vec4(0x1, 0x100, 0x10000, 0x1000000), vec4(${fe}));`;throw new Error(`not supported combination of storage type ${T.storage} and value type ${T.value} yet`)})(),je=re=>(()=>{if(T.storage===T.value)return`${e}[${re}]`;if(T.storage===\"vec2\"&&T.value===\"i32\")return`i32(${e}[${re}].x)`;if(T.storage===\"vec2\"&&T.value===\"u32\")return`u32(${e}[${re}].x)`;if(T.storage===\"u32\"&&T.value===\"vec4\")return`vec4(bool(${e}[${re}] & 0xFFu), bool(${e}[${re}] & 0xFF00u), bool(${e}[${re}] & 0xFF0000u), bool(${e}[${re}] & 0xFF000000u))`;throw new Error(`not supported combination of storage type ${T.storage} and value type ${T.value} yet`)})(),Ee=m<2?\"\":`\\n fn get_${e}ByIndices(indices: ${T.indices}) -> ${C} {\\n return ${je(`i2o_${e}(indices)`)};\\n }`,ee=m<2?\"\":(()=>{let re=y.map(_e=>`d${_e}: u32`).join(\", \"),fe=y.map(_e=>`d${_e}`).join(\", \");return`\\n fn get_${e}(${re}) -> ${C} {\\n return get_${e}ByIndices(${oe(fe)});\\n }`})(),Ne=(...re)=>{if(re.length!==m)throw new Error(`indices length must be ${m}`);let fe=re.map(O).join(\",\");return m===0?je(\"0u\"):m===1?je(fe[0]):(A.get=!0,A.getByIndices=!0,A.indicesToOffset=!0,`get_${e}(${fe})`)},Se=re=>m<2?je(re):(A.getByIndices=!0,A.indicesToOffset=!0,`get_${e}ByIndices(${re})`),Ce=m<2?\"\":`\\n fn set_${e}ByIndices(indices: ${T.indices}, value: ${C}) {\\n ${Ue(`i2o_${e}(indices)`,\"value\")}\\n }`,ve=m<2?\"\":(()=>{let re=y.map(_e=>`d${_e}: u32`).join(\", \"),fe=y.map(_e=>`d${_e}`).join(\", \");return`\\n fn set_${e}(${re}, value: ${C}) {\\n set_${e}ByIndices(${oe(fe)}, value);\\n }`})();return{impl:()=>{let re=[],fe=!1;return A.offsetToIndices&&(re.push(G),fe=!0),A.indicesToOffset&&(re.push(Y),fe=!0),A.broadcastedIndicesToOffset&&(Object.values(le).forEach(_e=>re.push(_e)),fe=!0),A.set&&(re.push(ve),fe=!0),A.setByIndices&&(re.push(Ce),fe=!0),A.get&&(re.push(ee),fe=!0),A.getByIndices&&(re.push(Ee),fe=!0),!c&&fe&&re.unshift(`const ${z} = ${T.indices}(${t.join(\",\")});`,`const ${D} = ${T.indices}(${Z.computeStrides(t).join(\",\")});`),re.join(`\\n`)},type:T,offsetToIndices:W,indicesToOffset:J,broadcastedIndicesToOffset:Te,indices:oe,indicesGet:ge,indicesSet:L,set:(...re)=>{if(re.length!==m+1)throw new Error(`indices length must be ${m}`);let fe=re[m];if(typeof fe!=\"string\")throw new Error(\"value must be string\");let _e=re.slice(0,m).map(O).join(\",\");return m===0?Ue(\"0u\",fe):m===1?Ue(_e[0],fe):(A.set=!0,A.setByIndices=!0,A.indicesToOffset=!0,`set_${e}(${_e}, ${fe})`)},setByOffset:Ue,setByIndices:(re,fe)=>m<2?Ue(re,fe):(A.setByIndices=!0,A.indicesToOffset=!0,`set_${e}ByIndices(${re}, ${fe});`),get:Ne,getByOffset:je,getByIndices:Se,usage:u,name:e,strides:D,shape:z,rank:m}},X=(e,r,t,u=1)=>Li(e,r,t,\"input\",u),ie=(e,r,t,u=1)=>Li(e,r,t,\"output\",u),ri=(e,r,t,u=1)=>Li(e,r,t,\"internal\",u),Gi=class{constructor(r){this.normalizedDispatchGroup=r;this.internalVariables=[];this.variables=[];this.uniforms=[];this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(r){return`if (global_idx >= ${typeof r==\"number\"?`${r}u`:r}) { return; }`}mainStart(r=ti){let t=typeof r==\"number\"?r:r[0],u=typeof r==\"number\"?1:r[1],s=typeof r==\"number\"?1:r[2],c=this.normalizedDispatchGroup[1]===1&&this.normalizedDispatchGroup[2]===1,m=c?`@builtin(global_invocation_id) global_id : vec3,\\n @builtin(workgroup_id) workgroup_id : vec3,\\n @builtin(local_invocation_id) local_id : vec3`:`@builtin(local_invocation_id) local_id : vec3,\\n @builtin(local_invocation_index) local_idx : u32,\\n @builtin(workgroup_id) workgroup_id : vec3,\\n @builtin(num_workgroups) num_workgroups : vec3`,y=c?\"let global_idx = global_id.x; let local_idx = local_id.x;\":`let global_idx = (workgroup_id.z * num_workgroups[0] * num_workgroups[1] +\\n workgroup_id.y * num_workgroups[0] + workgroup_id.x) * ${t*u*s}u + local_idx;`;return`@compute @workgroup_size(${t}, ${u}, ${s})\\n fn main(${m}) {\\n ${y}\\n `}appendVariableUniforms(r){r.rank!==0&&(r.shape.startsWith(\"uniforms.\")&&this.uniforms.push({name:r.shape.replace(\"uniforms.\",\"\"),type:\"u32\",length:r.rank}),r.strides.startsWith(\"uniforms.\")&&this.uniforms.push({name:r.strides.replace(\"uniforms.\",\"\"),type:\"u32\",length:r.rank}))}declareVariable(r,t){if(r.usage===\"internal\")throw new Error(\"cannot use internal variable with declareVariable(). use registerInternalVariables() instead.\");this.variables.push(r),this.appendVariableUniforms(r);let u=r.usage===\"input\"?\"read\":\"read_write\",s=r.type.storage;return`@group(0) @binding(${t}) var ${r.name}: array<${s}>;`}declareVariables(...r){return r.map(t=>this.declareVariable(t,this.variableIndex++)).join(`\\n`)}registerInternalVariable(r){if(r.usage!==\"internal\")throw new Error(\"cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.\");this.internalVariables.push(r),this.appendVariableUniforms(r)}registerInternalVariables(...r){return r.forEach(t=>this.registerInternalVariable(t)),this}registerUniform(r,t,u=1){return this.uniforms.push({name:r,type:t,length:u}),this}registerUniforms(r){return this.uniforms=this.uniforms.concat(r),this}uniformDeclaration(){if(this.uniforms.length===0)return\"\";let r=[];for(let{name:t,type:u,length:s}of this.uniforms)if(s&&s>4)u===\"f16\"?r.push(`@align(16) ${t}:array, ${Math.ceil(s/8)}>`):r.push(`${t}:array, ${Math.ceil(s/4)}>`);else{let c=s==null||s===1?u:`vec${s}<${u}>`;r.push(`${t}:${c}`)}return`\\n struct Uniforms { ${r.join(\", \")} };\\n @group(0) @binding(${this.variableIndex}) var uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(r=>r.impl()).join(`\\n`)+this.internalVariables.map(r=>r.impl()).join(`\\n`)}},Tu=e=>new Gi(e),Ir=(e,r)=>{let t=e.length,u=[];for(let s=0;s1&&m===1&&u.unshift(c)}return u}});var Dh,Eu,Bh,Mh,At,Pu,Ou,Ar=ae(()=>{\"use strict\";$e();ke();nt();Ae();Dh=e=>{if(!e||e.length!==1)throw new Error(\"Transpose requires 1 input.\")},Eu=(e,r)=>r&&r.length!==e?[...new Array(e).keys()].reverse():r,Bh=(e,r)=>Z.sortBasedOnPerm(e,Eu(e.length,r)),Mh=(e,r,t,u)=>{let s=[];s.push(`fn perm(i: ${u.type.indices}) -> ${t.type.indices} {\\n var a: ${t.type.indices};`);for(let c=0;c{let t=e.dataType,u=e.dims.length,s=Eu(u,r),c=Bh(e.dims,s),m=ie(\"output\",t,c.length),y=X(\"a\",t,u),d=w=>`\\n ${w.registerUniform(\"output_size\",\"u32\").declareVariables(y,m)}\\n\\n ${Mh(s,u,y,m)}\\n\\n ${w.mainStart()}\\n ${w.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n\\n let indices = ${m.offsetToIndices(\"global_idx\")};\\n let aIndices = perm(indices);\\n\\n ${m.setByOffset(\"global_idx\",y.getByIndices(\"aIndices\"))}\\n }`;return{name:\"Transpose\",shaderCache:{hint:`${r}`,inputDependencies:[\"rank\"]},getRunData:w=>{let C=Z.size(c);return{outputs:[{dims:c,dataType:w[0].dataType}],dispatchGroup:{x:Math.ceil(C/64)},programUniforms:[{type:12,data:C},...se(w[0].dims,c)]}},getShaderSource:d}},Pu=(e,r)=>{Dh(e.inputs),e.compute(At(e.inputs[0],r.perm))},Ou=e=>Oe({perm:e.perm})});var zh,Uh,jh,Vh,Nh,Wh,Gh,Hh,Lh,Fh,Ot,ku,Ru,Du,Bu,Mu,zu,Uu,ju,Vu,Nu,Wu=ae(()=>{\"use strict\";$e();ke();Ae();ni();Ar();zh={max:\"select(bestValue, candidate, candidate > bestValue)\",min:\"select(bestValue, candidate, candidate < bestValue)\",mean:\"bestValue + candidate\",sum:\"bestValue + candidate\",prod:\"bestValue * candidate\",sumSquare:\"bestValue + candidate * candidate\",logSumExp:\"bestValue + exp(candidate)\",l1:\"bestValue + abs(candidate)\",l2:\"bestValue + candidate * candidate\",logSum:\"bestValue + candidate\"},Uh={max:\"select(bestValue, candidate, candidate > bestValue)\",min:\"select(bestValue, candidate, candidate < bestValue)\",mean:\"bestValue + candidate\",sum:\"bestValue + candidate\",prod:\"bestValue * candidate\",sumSquare:\"bestValue + candidate\",logSumExp:\"bestValue + candidate\",l1:\"bestValue + candidate\",l2:\"bestValue + candidate\",logSum:\"bestValue + candidate\"},jh={max:\"_A[offset]\",min:\"_A[offset]\",mean:\"0\",sum:\"0\",prod:\"1\",sumSquare:\"0\",logSumExp:\"0\",l1:\"0\",l2:\"0\",logSum:\"0\"},Vh={max:\"bestValue\",min:\"bestValue\",sum:\"bestValue\",prod:\"bestValue\",sumSquare:\"bestValue\",logSumExp:\"log(bestValue)\",l1:\"bestValue\",l2:\"sqrt(bestValue)\",logSum:\"log(bestValue)\"},Nh=(e,r)=>{let t=[];for(let u=r-e;u{let t=[],u=e.length;for(let c=0;ce[c]);return[t,s]},Gh=(e,r)=>{let t=e.length+r.length,u=[],s=0;for(let c=0;c{for(let t=0;t{let t=[];if(!Hh(e,r)){for(let u=0;ut.push(u))}return t},Fh=(e,r,t,u,s,c,m)=>{let y=t[0].dims,d=Z.size(c),w=Z.size(m),C=X(\"_A\",t[0].dataType,y),$=ie(\"output\",s,c),T=32,O=`\\n var aBestValues : array<${$.type.storage}, ${T}>;\\n `;return{name:e,shaderCache:r,getShaderSource:P=>`\\n ${P.registerUniform(\"reduceSize\",\"u32\").declareVariables(C,$)}\\n ${O}\\n fn DIV_CEIL(a : u32, b : u32) -> u32 {\\n return ((a - 1u) / b + 1u);\\n }\\n ${P.mainStart(T)}\\n\\n let outputIndex = global_idx / ${T};\\n let offset = outputIndex * uniforms.reduceSize;\\n\\n var bestValue = ${$.type.storage}(${jh[u]});\\n let Length = uniforms.reduceSize;\\n for (var k = local_idx; k < Length; k = k + ${T}) {\\n let candidate = ${$.type.storage}(${C.getByOffset(\"offset + k\")});\\n bestValue = ${zh[u]};\\n }\\n aBestValues[local_idx] = bestValue;\\n workgroupBarrier();\\n\\n var reduceSize = min(Length, ${T}u);\\n for (var currentSize = reduceSize / 2u; reduceSize > 1u;\\n currentSize = reduceSize / 2u) {\\n let interval = DIV_CEIL(reduceSize, 2u);\\n if (local_idx < currentSize) {\\n let candidate = aBestValues[local_idx + interval];\\n bestValue = ${Uh[u]};\\n aBestValues[local_idx] = bestValue;\\n }\\n reduceSize = interval;\\n workgroupBarrier();\\n }\\n\\n if (local_idx == 0u) {\\n ${$.setByOffset(\"outputIndex\",`${u===\"mean\"?`bestValue / ${$.type.storage}(uniforms.reduceSize)`:`${Vh[u]}`}`)};\\n }\\n }`,getRunData:()=>({outputs:[{dims:c,dataType:s}],dispatchGroup:{x:d},programUniforms:[{type:12,data:w}]})}},Ot=(e,r,t,u)=>{let s=e.inputs.length===1?t:Fi(e.inputs,t),c=s.axes;c.length===0&&!s.noopWithEmptyAxes&&(c=e.inputs[0].dims.map((O,A)=>A));let m=Z.normalizeAxes(c,e.inputs[0].dims.length),y=m,d=e.inputs[0],w=Lh(y,e.inputs[0].dims.length);w.length>0&&(d=e.compute(At(e.inputs[0],w),{inputs:[0],outputs:[-1]})[0],y=Nh(y.length,d.dims.length));let[C,$]=Wh(d.dims,y),T=C;s.keepDims&&(T=Gh(C,m)),e.compute(Fh(r,{hint:s.cacheKey,inputDependencies:[\"type\"]},[d],u,e.inputs[0].dataType,T,$),{inputs:[d]})},ku=(e,r)=>{Ot(e,\"ReduceMeanShared\",r,\"mean\")},Ru=(e,r)=>{Ot(e,\"ReduceL1Shared\",r,\"l1\")},Du=(e,r)=>{Ot(e,\"ReduceL2Shared\",r,\"l2\")},Bu=(e,r)=>{Ot(e,\"ReduceLogSumExpShared\",r,\"logSumExp\")},Mu=(e,r)=>{Ot(e,\"ReduceMaxShared\",r,\"max\")},zu=(e,r)=>{Ot(e,\"ReduceMinShared\",r,\"min\")},Uu=(e,r)=>{Ot(e,\"ReduceProdShared\",r,\"prod\")},ju=(e,r)=>{Ot(e,\"ReduceSumShared\",r,\"sum\")},Vu=(e,r)=>{Ot(e,\"ReduceSumSquareShared\",r,\"sumSquare\")},Nu=(e,r)=>{Ot(e,\"ReduceLogSumShared\",r,\"logSum\")}});var kt,qh,ii,Fi,Rt,Kh,Yh,Zh,Qh,Xh,Jh,eg,tg,rg,ng,Dt,Gu,Hu,Lu,Fu,qu,Ku,Yu,Zu,Qu,Xu,ni=ae(()=>{\"use strict\";$e();ke();nt();Ae();Wu();kt=e=>{if(!e||e.length===0||e.length>2)throw new Error(\"Reduce op requires 1 or 2 inputs.\");if(e.length===2&&e[1].dims.length!==1)throw new Error(\"Invalid axes input dims.\")},qh=e=>[\"\",\"\",`var value = ${e.getByIndices(\"input_indices\")};`,\"\"],ii=(e,r,t,u,s,c,m=!1,y=!1)=>{let d=[],w=t[0].dims,C=w.length,$=Z.normalizeAxes(s,C),T=!y&&$.length===0;w.forEach((z,D)=>{T||$.indexOf(D)>=0?m&&d.push(1):d.push(z)});let O=d.length,A=Z.size(d);return{name:e,shaderCache:r,getShaderSource:z=>{let D=[],k=X(\"_A\",t[0].dataType,C),G=ie(\"output\",c,O),W=u(k,G,$),q=W[2];for(let Y=0,J=0;Y=0?(m&&J++,q=`for(var j${Y}: u32 = 0; j${Y} < ${w[Y]}; j${Y}++) {\\n ${W[2].includes(\"last_index\")?`let last_index = j${Y};`:\"\"}\\n ${k.indicesSet(\"input_indices\",Y,`j${Y}`)}\\n ${q}\\n }`):(D.push(`${k.indicesSet(\"input_indices\",Y,G.indicesGet(\"output_indices\",J))};`),J++);return`\\n\\n ${z.registerUniform(\"output_size\",\"u32\").declareVariables(k,G)}\\n\\n ${z.mainStart()}\\n ${z.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n var input_indices: ${k.type.indices};\\n let output_indices = ${G.offsetToIndices(\"global_idx\")};\\n\\n ${D.join(`\\n`)}\\n ${W[0]} // init ops for reduce max/min\\n ${W[1]}\\n ${q}\\n ${W[3]}\\n ${W.length===4?G.setByOffset(\"global_idx\",\"value\"):W.slice(4).join(`\\n`)}\\n }`},getRunData:()=>({outputs:[{dims:d,dataType:c}],dispatchGroup:{x:Math.ceil(A/64)},programUniforms:[{type:12,data:A},...se(w,d)]})}},Fi=(e,r)=>{let t=[];return e[1].dims[0]>0&&e[1].getBigInt64Array().forEach(u=>t.push(Number(u))),Oe({axes:t,keepDims:r.keepDims,noopWithEmptyAxes:r.noopWithEmptyAxes})},Rt=(e,r,t,u)=>{let s=e.inputs,c=s.length===1?t:Fi(s,t);e.compute(ii(r,{hint:c.cacheKey,inputDependencies:[\"rank\"]},[s[0]],c.noopWithEmptyAxes&&c.axes.length===0?qh:u,c.axes,s[0].dataType,c.keepDims,c.noopWithEmptyAxes),{inputs:[0]})},Kh=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceLogSum\",r,(u,s)=>[`var value = ${s.type.storage}(0);`,\"\",`value += ${u.getByIndices(\"input_indices\")};`,\"value = log(value);\"])},Yh=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceL1\",r,(u,s)=>[`var value = ${s.type.storage}(0);`,\"\",`value += abs(${u.getByIndices(\"input_indices\")});`,\"\"])},Zh=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceL2\",r,(u,s)=>[`var t = ${s.type.value}(0); var value = ${s.type.value}(0);`,\"\",`t = ${u.getByIndices(\"input_indices\")}; value += (t * t);`,\"value = sqrt(value);\"])},Qh=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceLogSumExp\",r,(u,s)=>[`var value = ${s.type.storage}(0);`,\"\",`value += exp(${u.getByIndices(\"input_indices\")});`,\"value = log(value);\"])},Xh=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceMax\",r,(u,s,c)=>{let m=[];for(let y=0;y=0||c.length===0)&&m.push(u.indicesSet(\"input_indices\",y,0));return[`${m.join(`\\n`)}`,`var value = ${u.getByIndices(\"input_indices\")};`,`value = max(value, ${u.getByIndices(\"input_indices\")});`,\"\"]})},Jh=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceMean\",r,(u,s,c)=>{let m=1;for(let y=0;y=0||c.length===0)&&(m*=e.inputs[0].dims[y]);return[\"var sum = f32(0);\",\"\",`sum += f32(${u.getByIndices(\"input_indices\")});`,`let value = ${s.type.value}(sum / ${m});`]})},eg=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceMin\",r,(u,s,c)=>{let m=[];for(let y=0;y=0||c.length===0)&&m.push(`input_indices[${y}] = 0;`);return[`${m.join(`\\n`)}`,`var value = ${u.getByIndices(\"input_indices\")};`,`value = min(value, ${u.getByIndices(\"input_indices\")});`,\"\"]})},tg=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceProd\",r,(u,s)=>[`var value = ${s.type.storage}(1);`,\"\",`value *= ${u.getByIndices(\"input_indices\")};`,\"\"])},rg=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceSum\",r,(u,s)=>[`var value = ${s.type.storage}(0);`,\"\",`value += ${u.getByIndices(\"input_indices\")};`,\"\"])},ng=(e,r)=>{kt(e.inputs),Rt(e,\"ReduceSumSquare\",r,(u,s)=>[`var t = ${s.type.value}(0); var value = ${s.type.value}(0);`,\"\",`t = ${u.getByIndices(\"input_indices\")}; value += t * t;`,\"\"])},Dt=(e,r,t)=>{if(r.length===0)return t;let u=1,s=1;for(let c=0;c1024},Gu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?Jh(e,r):ku(e,r)},Hu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?Yh(e,r):Ru(e,r)},Lu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?Zh(e,r):Du(e,r)},Fu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?Qh(e,r):Bu(e,r)},qu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?Xh(e,r):Mu(e,r)},Ku=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?eg(e,r):zu(e,r)},Yu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?tg(e,r):Uu(e,r)},Zu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?rg(e,r):ju(e,r)},Qu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?ng(e,r):Vu(e,r)},Xu=(e,r)=>{Dt(e.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?Kh(e,r):Nu(e,r)}});var Ju,el,tl,qi,rl=ae(()=>{\"use strict\";$e();nt();ni();Ju=e=>{if(!e||e.length===0||e.length>2)throw new Error(\"ArgMinMaxOp op requires 1 or 2 inputs.\");if(e[0].dataType!==1)throw new Error(\"Invalid input type.\")},el=(e,r)=>{Ju(e.inputs);let t=(u,s,c)=>{let m=[];for(let y=0;y=0||c.length===0)&&m.push(`input_indices[${y}] = 0;`);return[`${m.join(`\\n`)}`,`var value = ${u.getByIndices(\"input_indices\")};\\nvar best_index : i32 = 0;`,`if (${u.getByIndices(\"input_indices\")} ${r.selectLastIndex>0?\"<=\":\"<\"} value) {\\n value = ${u.getByIndices(\"input_indices\")};\\n best_index = i32(last_index);\\n }`,\"\",s.setByOffset(\"global_idx\",\"best_index\")]};e.compute(ii(\"ArgMin\",{hint:r.cacheKey,inputDependencies:[\"rank\"]},[e.inputs[0]],t,[r.axis],7,r.keepDims),{inputs:[0]})},tl=(e,r)=>{Ju(e.inputs);let t=(u,s,c)=>{let m=[];for(let y=0;y=0||c.length===0)&&m.push(`input_indices[${y}] = 0;`);return[`${m.join(`\\n`)}`,`var value = ${u.getByIndices(\"input_indices\")};\\nvar best_index : i32 = 0;`,`if (${u.getByIndices(\"input_indices\")} ${r.selectLastIndex>0?\">=\":\">\"} value) {\\n value = ${u.getByIndices(\"input_indices\")};\\n best_index = i32(last_index);\\n }`,\"\",s.setByOffset(\"global_idx\",\"best_index\")]};e.compute(ii(\"argMax\",{hint:r.cacheKey,inputDependencies:[\"rank\"]},[e.inputs[0]],t,[r.axis],7,r.keepDims),{inputs:[0]})},qi=e=>Oe(e)});var ig,og,ag,sg,oi,ug,nl,Ki=ae(()=>{\"use strict\";$e();Zn();Ae();ig=(e,r)=>{let t=e[0],u=e[1],s=e[2],c=e[3],m=e[4],y=e[5];if(m&&y)throw new Error(\"Attention cannot have both past and relative_position_bias\");if(t.dims.length!==3)throw new Error(\\'Input \"input\" must have 3 dimensions\\');let d=t.dims[0],w=t.dims[1],C=t.dims[2];if(s.dims.length!==1)throw new Error(\\'Input \"bias\" is expected to have 1 dimensions\\');if(u.dims.length!==2)throw new Error(\\'Input \"weights\" is expected to have 2 dimensions\\');if(u.dims[0]!==C)throw new Error(\"Input 1 dimension 0 should have same length as dimension 2 of input 0\");if(s.dims[0]!==u.dims[1])throw new Error(\\'Input \"bias\" dimension 0 should have same length as dimension 1 of input \"weights\"\\');let $=s.dims[0]/3,T=$,O=T;if(r.qkvHiddenSizes.length>0){if(r.qkvHiddenSizes.length!==3)throw new Error(\"qkv_hidden_sizes attribute should have 3 elements\");for(let G of r.qkvHiddenSizes)if(G%r.numHeads!==0)throw new Error(\"qkv_hidden_sizes should be divisible by num_heads\");$=r.qkvHiddenSizes[0],T=r.qkvHiddenSizes[1],O=r.qkvHiddenSizes[2]}let A=w;if($!==T)throw new Error(\"qkv_hidden_sizes first element should be same as the second\");if(s.dims[0]!==$+T+O)throw new Error(\\'Input \"bias\" dimension 0 should have same length as sum of Q/K/V hidden sizes\\');let P=0;if(m){if(T!==O)throw new Error(\\'Input \"past\" expect k_hidden_size == v_hidden_size\\');if(m.dims.length!==5)throw new Error(\\'Input \"past\" must have 5 dimensions\\');if(m.dims[0]!==2)throw new Error(\\'Input \"past\" first dimension must be 2\\');if(m.dims[1]!==d)throw new Error(\\'Input \"past\" second dimension must be batch_size\\');if(m.dims[2]!==r.numHeads)throw new Error(\\'Input \"past\" third dimension must be num_heads\\');if(m.dims[4]!==T/r.numHeads)throw new Error(\\'Input \"past\" fifth dimension must be k_hidden_size / num_heads\\');r.pastPresentShareBuffer||(P=m.dims[3])}let z=A+P,D=-1,k=0;if(c)throw new Error(\"Mask not supported\");if(m)throw new Error(\"past is not supported\");if(y)throw new Error(\"relativePositionBias is not supported\");return{batchSize:d,sequenceLength:w,pastSequenceLength:P,kvSequenceLength:A,totalSequenceLength:z,maxSequenceLength:D,inputHiddenSize:C,hiddenSize:$,vHiddenSize:O,headSize:Math.floor($/r.numHeads),vHeadSize:Math.floor(O/r.numHeads),numHeads:r.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:r.maskFilterValue,maskType:k,scale:r.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}},og=(e,r,t,u)=>{let s=Je(u),c=64,m=u/s;m{let T=ie(\"x\",r.dataType,r.dims,s),O=\"thread_max_vector\";s===2?O=\"max(thread_max_vector.x, thread_max_vector.y)\":s===4&&(O=\"max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))\");let A=ft(r.dataType),P=[{name:\"d_inv\",type:A},{name:\"d_comp\",type:\"u32\"},{name:\"elements_per_wg\",type:\"u32\"}];return`\\n var wgMax: array;\\n var wgSum: array;\\n ${$.registerUniforms(P).declareVariables(T)}\\n ${$.mainStart([c,1,1])}\\n let localOffset = local_idx * uniforms.elements_per_wg;\\n let offset: u32 = workgroup_id.x * uniforms.d_comp + localOffset;\\n\\n var thread_max_vector = ${at(\"f32\",s,\"-3.402823e+38f\")};\\n for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\\n thread_max_vector = max(${It(A,s,\"x[offset + i]\")}, thread_max_vector);\\n }\\n wgMax[local_idx] = ${O};\\n workgroupBarrier();\\n\\n var maxValue = -3.402823e+38f;\\n for (var i = 0u; i < ${c}; i++) {\\n maxValue = max(wgMax[i], maxValue);\\n }\\n\\n var sumVector = ${at(\"f32\",s,\"0\")};\\n for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\\n sumVector += exp(${It(A,s,\"x[offset + i]\")} - maxValue);\\n }\\n wgSum[local_idx] = ${pt(\"sumVector\",s)};\\n workgroupBarrier();\\n\\n var sum: f32 = 0;\\n for (var i = 0u; i < ${c}; i++) {\\n sum += wgSum[i];\\n }\\n\\n if (sum == 0) {\\n for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\\n x[offset + i] = ${at(A,s,\"uniforms.d_inv\")};\\n }\\n } else {\\n for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\\n let f32input = ${It(A,s,\"x[offset + i]\")};\\n x[offset + i] = ${T.type.value}(exp(f32input - maxValue) / sum);\\n }\\n }\\n }`};e.compute({name:\"AttentionProbsSoftmax\",shaderCache:{hint:`${c};${w};${s}`},getShaderSource:C,getRunData:()=>({outputs:[],dispatchGroup:{x:t},programUniforms:d})},{inputs:[r],outputs:[]})},ag=(e,r,t,u,s,c)=>{let m=[s.batchSize,s.numHeads,s.sequenceLength,s.kvSequenceLength+s.pastSequenceLength],y=c.scale===0?1/Math.sqrt(s.headSize):c.scale,d=Je(s.headSize),w=s.headSize/d,C=12,$={x:Math.ceil(s.totalSequenceLength/C),y:Math.ceil(s.sequenceLength/C),z:s.batchSize*s.numHeads},T=[{type:12,data:s.sequenceLength},{type:12,data:w},{type:12,data:s.totalSequenceLength},{type:12,data:s.kvSequenceLength},{type:r.dataType,data:y}],O=[r,t],A=z=>{let D=X(\"q\",r.dataType,r.dims,d),k=X(\"key\",t.dataType,t.dims,d),G=ie(\"output\",r.dataType,m),W=Ve(r.dataType),q=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"kv_sequence_length\",type:\"u32\"},{name:\"alpha\",type:W}];return`\\n const beta: ${W} = 1.0;\\n const TILE_SIZE = ${C}u;\\n\\n var tileQ: array<${D.type.storage}, ${C*C}>;\\n var tileK: array<${D.type.storage}, ${C*C}>;\\n ${z.registerUniforms(q).declareVariables(D,k,G)}\\n ${z.mainStart([C,C,1])}\\n // x holds the N and y holds the M\\n let headIdx = workgroup_id.z;\\n let m = workgroup_id.y * TILE_SIZE;\\n let n = workgroup_id.x * TILE_SIZE;\\n let lm = m + local_id.y;\\n let ln = n + local_id.x;\\n\\n let qOffset = uniforms.M * uniforms.K * headIdx + m * uniforms.K;\\n let kOffset = uniforms.kv_sequence_length * uniforms.K * headIdx + n * uniforms.K;\\n\\n var value = ${at(W,d)};\\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\\n if (m + local_id.y < uniforms.M && w + local_id.x < uniforms.K) {\\n tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];\\n }\\n if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {\\n tileK[TILE_SIZE * local_id.y + local_id.x] = key[kOffset + local_id.y * uniforms.K + w + local_id.x];\\n }\\n workgroupBarrier();\\n\\n for (var k: u32 = 0u; k({outputs:[{dims:m,dataType:r.dataType,gpuDataType:0}],dispatchGroup:$,programUniforms:T}),getShaderSource:A},{inputs:O,outputs:[-1]})[0];return og(e,P,s.batchSize*s.numHeads*s.sequenceLength,s.totalSequenceLength),P},sg=(e,r,t,u)=>{let s=[u.batchSize,u.sequenceLength,u.vHiddenSize],c=12,m={x:Math.ceil(u.vHeadSize/c),y:Math.ceil(u.sequenceLength/c),z:u.batchSize*u.numHeads},y=[{type:12,data:u.sequenceLength},{type:12,data:u.totalSequenceLength},{type:12,data:u.vHeadSize},{type:12,data:u.numHeads},{type:12,data:u.vHiddenSize}],d=w=>{let C=X(\"probs\",r.dataType,r.dims),$=X(\"v\",t.dataType,t.dims),T=ie(\"output\",r.dataType,s),O=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"v_hidden_size\",type:\"u32\"}];return`\\n const TILE_SIZE = ${c}u;\\n var tileQ: array<${C.type.value}, ${c*c}>;\\n var tileK: array<${C.type.value}, ${c*c}>;\\n ${w.registerUniforms(O).declareVariables(C,$,T)}\\n ${w.mainStart([c,c,1])}\\n let headIdx = workgroup_id.z;\\n let m = workgroup_id.y * TILE_SIZE + local_id.y;\\n let n = workgroup_id.x * TILE_SIZE + local_id.x;\\n\\n let offsetA = headIdx * (uniforms.M * uniforms.K) + m * uniforms.K;\\n let offsetB = headIdx * (uniforms.N * uniforms.K) + n;\\n\\n var value = ${C.type.storage}(0);\\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\\n if (m < uniforms.M && w + local_id.x < uniforms.K) {\\n tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];\\n }\\n if (n < uniforms.N && w + local_id.y < uniforms.K) {\\n tileK[TILE_SIZE * local_id.y + local_id.x] = v[offsetB + (w + local_id.y) * uniforms.N];\\n }\\n workgroupBarrier();\\n for (var k: u32 = 0u; k({outputs:[{dims:s,dataType:r.dataType,gpuDataType:0}],dispatchGroup:m,programUniforms:y}),getShaderSource:d},{inputs:[r,t],outputs:[0]})[0]},oi=(e,r,t,u,s,c,m,y,d,w,C)=>{let $=ag(e,r,t,d,w,C);sg(e,$,u,w)},ug=(e,r)=>{let t=[r.batchSize,r.numHeads,r.sequenceLength,r.headSize],u=r.sequenceLength,s=r.inputHiddenSize,c=r.headSize,m=12,y={x:Math.ceil(r.headSize/m),y:Math.ceil(r.sequenceLength/m),z:r.batchSize*r.numHeads},d=[e.inputs[0],e.inputs[1],e.inputs[2]],w=[{type:12,data:u},{type:12,data:s},{type:12,data:c},{type:12,data:r.numHeads},{type:12,data:r.headSize},{type:12,data:r.hiddenSize},{type:12,data:r.hiddenSize+r.hiddenSize+r.vHiddenSize}],C=$=>{let T=ie(\"output_q\",d[0].dataType,t),O=ie(\"output_k\",d[0].dataType,t),A=ie(\"output_v\",d[0].dataType,t),P=X(\"input\",d[0].dataType,d[0].dims),z=X(\"weight\",d[1].dataType,d[1].dims),D=X(\"bias\",d[2].dataType,d[2].dims),k=P.type.storage,G=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"head_size\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"},{name:\"ldb\",type:\"u32\"}];return`\\n const TILE_SIZE = ${m}u;\\n var tileInput: array<${k}, ${m*m}>;\\n var tileWeightQ: array<${k}, ${m*m}>;\\n var tileWeightK: array<${k}, ${m*m}>;\\n var tileWeightV: array<${k}, ${m*m}>;\\n ${$.registerUniforms(G).declareVariables(P,z,D,T,O,A)}\\n ${$.mainStart([m,m,1])}\\n let batchIndex = workgroup_id.z / uniforms.num_heads;\\n let headNumber = workgroup_id.z % uniforms.num_heads;\\n let m = workgroup_id.y * TILE_SIZE + local_id.y;\\n let n = workgroup_id.x * TILE_SIZE + local_id.x;\\n\\n let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;\\n let biasOffsetQ = headNumber * uniforms.head_size;\\n let biasOffsetK = uniforms.hidden_size + biasOffsetQ;\\n let biasOffsetV = uniforms.hidden_size + biasOffsetK;\\n\\n var valueQ = ${k}(0);\\n var valueK = ${k}(0);\\n var valueV = ${k}(0);\\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\\n if (m < uniforms.M && w + local_id.x < uniforms.K) {\\n tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];\\n }\\n if (n < uniforms.N && w + local_id.y < uniforms.K) {\\n let offset = n + (w + local_id.y) * uniforms.ldb;\\n tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];\\n tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];\\n tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];\\n }\\n workgroupBarrier();\\n for (var k: u32 = 0u; k({outputs:[{dims:t,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:t,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:t,dataType:e.inputs[0].dataType,gpuDataType:0}],dispatchGroup:y,programUniforms:w}),getShaderSource:C},{inputs:d,outputs:[-1,-1,-1]})},nl=(e,r)=>{let t=ig(e.inputs,r),[u,s,c]=ug(e,t);return oi(e,u,s,c,e.inputs[4],void 0,void 0,void 0,e.inputs[5],t,r)}});var lg,dg,cg,il,ol=ae(()=>{\"use strict\";xr();$e();ke();nt();Ae();lg=(e,r)=>{if(!e||e.length!==5)throw new Error(\"BatchNormalization requires 5 inputs\");let t=(u,s,c)=>{let m=s.length;if(m!==u.length)throw new Error(`${c}: num dimensions != ${m}`);s.forEach((y,d)=>{if(y!==u[d])throw new Error(`${c}: dim[${d}] do not match`)})};if(e[0].dims.length>1){let u=r.format===\"NHWC\"?r.spatial?e[0].dims.slice(-1):e[0].dims.slice(-1).concat(e[0].dims.slice(1,e[0].dims.length-1)):e[0].dims.slice(1,r.spatial?2:void 0);t(e[1].dims,u,\"Invalid input scale\"),t(e[2].dims,u,\"Invalid input B\"),t(e[3].dims,u,\"Invalid input mean\"),t(e[4].dims,u,\"Invalid input var\")}else t(e[1].dims,[1],\"Invalid input scale\"),t(e[2].dims,[1],\"Invalid input B\"),t(e[3].dims,[1],\"Invalid input mean\"),t(e[4].dims,[1],\"Invalid input var\")},dg=(e,r)=>{let{epsilon:t,spatial:u,format:s}=r,c=e[0].dims,m=u?Je(c[c.length-1]):1,y=s===\"NHWC\"&&c.length>1?m:1,d=Z.size(c)/m,w=u,C=w?c.length:c,$=X(\"x\",e[0].dataType,e[0].dims,m),T=X(\"scale\",e[1].dataType,e[1].dims,y),O=X(\"bias\",e[2].dataType,e[2].dims,y),A=X(\"inputMean\",e[3].dataType,e[3].dims,y),P=X(\"inputVar\",e[4].dataType,e[4].dims,y),z=ie(\"y\",e[0].dataType,C,m),D=()=>{let G=\"\";if(u)G=`let cOffset = ${c.length===1?\"0u\":s===\"NHWC\"?`outputIndices[${c.length-1}] / ${m}`:\"outputIndices[1]\"};`;else if(s===\"NCHW\")G=`\\n ${z.indicesSet(\"outputIndices\",\"0\",\"0\")}\\n let cOffset = ${z.indicesToOffset(\"outputIndices\")};`;else{G=`var cIndices = ${T.type.indices}(0);\\n cIndices[0] = outputIndices[${c.length-1}];`;for(let W=1;W`\\n const epsilon = ${t};\\n ${G.registerUniform(\"outputSize\",\"u32\").declareVariables($,T,O,A,P,z)}\\n ${G.mainStart()}\\n ${G.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n var outputIndices = ${z.offsetToIndices(`global_idx * ${m}`)};\\n ${D()}\\n let scale = ${T.getByOffset(\"cOffset\")};\\n let bias = ${O.getByOffset(\"cOffset\")};\\n let inputMean = ${A.getByOffset(\"cOffset\")};\\n let inputVar = ${P.getByOffset(\"cOffset\")};\\n let x = ${$.getByOffset(\"global_idx\")};\\n let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;\\n ${z.setByOffset(\"global_idx\",\"value\")}\\n }`;return{name:\"BatchNormalization\",shaderCache:{hint:`${r.epsilon}_${r.format}_${u}_${m}`,inputDependencies:w?[\"rank\",\"type\",\"type\",\"type\",\"type\"]:void 0},getShaderSource:k,getRunData:()=>({outputs:[{dims:e[0].dims,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(d/64)},programUniforms:w?[{type:12,data:d},...se(c)]:[{type:12,data:d}]})}},cg=e=>Oe(e),il=(e,r)=>{let{inputs:t,outputCount:u}=e,s=cg({...r,outputCount:u});if(Sr.webgpu.validateInputContent&&lg(t,s),r.trainingMode)throw new Error(\"BatchNormalization trainingMode is not supported yet.\");e.compute(dg(t,s))}});var fg,pg,al,sl=ae(()=>{\"use strict\";ke();Ae();fg=e=>{if(e[0].dims.length!==3)throw new Error(\"input should have 3 dimensions\");if(![320,640,1280].includes(e[0].dims[2]))throw new Error(\"number of channels should be 320, 640 or 1280\");if(e[1].dims.length!==1)throw new Error(\"bias is expected to have 1 dimensions\");if(e[0].dims[2]!==e[1].dims[0])throw new Error(\"last dimension of input and bias are not the same\")},pg=e=>{let r=e[0].dims,t=e[0].dims[2],u=Z.size(r)/4,s=e[0].dataType,c=X(\"input\",s,r,4),m=X(\"bias\",s,[t],4),y=X(\"residual\",s,r,4),d=ie(\"output\",s,r,4);return{name:\"BiasAdd\",getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)}}),getShaderSource:C=>`\\n const channels = ${t}u / 4;\\n ${C.declareVariables(c,m,y,d)}\\n\\n ${C.mainStart()}\\n ${C.guardAgainstOutOfBoundsWorkgroupSizes(u)}\\n let value = ${c.getByOffset(\"global_idx\")}\\n + ${m.getByOffset(\"global_idx % channels\")} + ${y.getByOffset(\"global_idx\")};\\n ${d.setByOffset(\"global_idx\",\"value\")}\\n }`}},al=e=>{fg(e.inputs),e.compute(pg(e.inputs))}});var mg,ze,ul,ll,dl,cl,fl,pl,ml,hl,gl,hg,yl,bl,vl,wl,ai,_l,si,$l,Cl,Sl,xl,Il,Al,Tl,El,Pl,Ol,kl,Rl,Dl,Bl,Ml,zl,Ul,jl,Yi,Zi,Vl,Nl,Wl,ui=ae(()=>{\"use strict\";$e();ke();nt();Ae();mg=(e,r,t,u,s,c)=>{let m=Math.ceil(r/4),y=\"\";typeof s==\"string\"?y=`${s}(a)`:y=s(\"a\");let d=X(\"inputData\",t,[m],4),w=ie(\"outputData\",u,[m],4);return`\\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(d,w)}\\n\\n ${c??\"\"}\\n\\n ${e.mainStart()}\\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\\n\\n let a = ${d.getByOffset(\"global_idx\")};\\n ${w.setByOffset(\"global_idx\",y)}\\n }`},ze=(e,r,t,u,s,c=e.dataType)=>({name:r,shaderCache:{hint:s,inputDependencies:[\"type\"]},getShaderSource:m=>mg(m,Z.size(e.dims),e.dataType,c,t,u),getRunData:m=>({outputs:[{dims:e.dims,dataType:c}],dispatchGroup:{x:Math.ceil(Z.size(m[0].dims)/64/4)},programUniforms:[{type:12,data:Math.ceil(Z.size(e.dims)/4)}]})}),ul=e=>{e.compute(ze(e.inputs[0],\"Abs\",\"abs\"))},ll=e=>{e.compute(ze(e.inputs[0],\"Acos\",\"acos\"))},dl=e=>{e.compute(ze(e.inputs[0],\"Acosh\",\"acosh\"))},cl=e=>{e.compute(ze(e.inputs[0],\"Asin\",\"asin\"))},fl=e=>{e.compute(ze(e.inputs[0],\"Asinh\",\"asinh\"))},pl=e=>{e.compute(ze(e.inputs[0],\"Atan\",\"atan\"))},ml=e=>{e.compute(ze(e.inputs[0],\"Atanh\",\"atanh\"))},hl=e=>Oe(e),gl=(e,r)=>{let t;switch(r.to){case 10:t=\"vec4\";break;case 1:t=\"vec4\";break;case 12:t=\"vec4\";break;case 6:t=\"vec4\";break;case 9:t=\"vec4\";break;default:throw new RangeError(`not supported type (specified in attribute \\'to\\' from \\'Cast\\' operator): ${r.to}`)}e.compute(ze(e.inputs[0],\"Cast\",t,void 0,r.cacheKey,r.to))},hg=e=>{let r=e.length>=2&&e[1].data!==0?e[1].getFloat32Array()[0]:Jn,t=e.length>=3&&e[2].data!==0?e[2].getFloat32Array()[0]:ei;return Oe({min:r,max:t})},yl=(e,r)=>{let t=e.inputs.length===1?r:hg(e.inputs),u=ft(e.inputs[0].dataType);e.compute(ze(e.inputs[0],\"Clip\",s=>`clamp(${s}, clip_min_, clip_max_)`,`\\n const clip_min_: vec4<${u}> = vec4(${u}(${t.min}));\\n const clip_max_: vec4<${u}> = vec4(${u}(${t.max}));\\n`,t.cacheKey),{inputs:[0]})},bl=e=>{e.compute(ze(e.inputs[0],\"Ceil\",\"ceil\"))},vl=e=>{e.compute(ze(e.inputs[0],\"Cos\",\"cos\"))},wl=e=>{e.compute(ze(e.inputs[0],\"Cosh\",\"cosh\"))},ai=e=>Oe(e),_l=(e,r)=>{let t=ft(e.inputs[0].dataType);e.compute(ze(e.inputs[0],\"Elu\",u=>`elu_vf32(${u})`,`\\n const elu_alpha_ = ${t}(${r.alpha});\\n\\n fn elu_f32(a: ${t}) -> ${t} {\\n return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);\\n }\\n\\n fn elu_vf32(v: vec4<${t}>) -> vec4<${t}> {\\n return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));\\n }`,r.cacheKey))},si=(e=\"f32\")=>`\\nconst r0: ${e} = 0.3275911;\\nconst r1: ${e} = 0.254829592;\\nconst r2: ${e} = -0.284496736;\\nconst r3: ${e} = 1.421413741;\\nconst r4: ${e} = -1.453152027;\\nconst r5: ${e} = 1.061405429;\\n\\nfn erf_vf32(v: vec4<${e}>) -> vec4<${e}> {\\n let absv = abs(v);\\n let x = 1.0 / (1.0 + r0 * absv);\\n return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));\\n}`,$l=e=>{let r=ft(e.inputs[0].dataType);e.compute(ze(e.inputs[0],\"Erf\",t=>`erf_vf32(${t})`,si(r)))},Cl=e=>{e.compute(ze(e.inputs[0],\"Exp\",\"exp\"))},Sl=e=>{e.compute(ze(e.inputs[0],\"Floor\",\"floor\"))},xl=e=>{let r=ft(e.inputs[0].dataType);e.compute(ze(e.inputs[0],\"Gelu\",t=>`0.5 * ${t} * (1.0 + erf_vf32(${t} * 0.7071067811865475))`,si(r)))},Il=(e,r)=>{let t=ft(e.inputs[0].dataType);e.compute(ze(e.inputs[0],\"LeakyRelu\",u=>`select(leaky_relu_alpha_ * ${u}, ${u}, ${u} >= vec4<${t}>(0.0))`,`const leaky_relu_alpha_ = ${t}(${r.alpha});`,r.cacheKey))},Al=e=>{e.compute(ze(e.inputs[0],\"Not\",r=>`!${r}`))},Tl=e=>{e.compute(ze(e.inputs[0],\"Neg\",r=>`-${r}`))},El=e=>{e.compute(ze(e.inputs[0],\"Reciprocal\",r=>`1.0/${r}`))},Pl=e=>{let r=ft(e.inputs[0].dataType);e.compute(ze(e.inputs[0],\"Relu\",t=>`select(vec4<${r}>(0.0), ${t}, ${t} > vec4<${r}>(0.0))`))},Ol=e=>{e.compute(ze(e.inputs[0],\"Sigmoid\",r=>`(1.0 / (1.0 + exp(-${r})))`))},kl=e=>Oe(e),Rl=(e,r)=>{let t=ft(e.inputs[0].dataType);e.compute(ze(e.inputs[0],\"HardSigmoid\",u=>`max(vec4<${t}>(0.0), min(vec4<${t}>(1.0), ${r.alpha} * ${u} + vec4<${t}>(${r.beta})))`,void 0,r.cacheKey))},Dl=e=>{e.compute(ze(e.inputs[0],\"Sin\",\"sin\"))},Bl=e=>{e.compute(ze(e.inputs[0],\"Sinh\",\"sinh\"))},Ml=e=>{e.compute(ze(e.inputs[0],\"Sqrt\",\"sqrt\"))},zl=e=>{e.compute(ze(e.inputs[0],\"Tan\",\"tan\"))},Ul=e=>`sign(${e}) * (1 - exp(-2 * abs(${e}))) / (1 + exp(-2 * abs(${e})))`,jl=e=>{e.compute(ze(e.inputs[0],\"Tanh\",Ul))},Yi=(e=\"f32\")=>`\\nconst fast_gelu_a: ${e} = 0.5;\\nconst fast_gelu_b: ${e} = 0.7978845608028654;\\nconst fast_gelu_c: ${e} = 0.035677408136300125;\\n\\nfn tanh_v(v: vec4<${e}>) -> vec4<${e}> {\\n return ${Ul(\"v\")};\\n}\\n`,Zi=e=>`(fast_gelu_a + fast_gelu_a * tanh_v(${e} * (fast_gelu_c * ${e} * ${e} + fast_gelu_b))) * ${e}`,Vl=e=>{let r=ft(e.inputs[0].dataType);e.compute(ze(e.inputs[0],\"FastGelu\",Zi,Yi(r),void 0,e.inputs[0].dataType))},Nl=(e,r)=>{let t=ft(e.inputs[0].dataType);return e.compute(ze(e.inputs[0],\"ThresholdedRelu\",u=>`select(vec4<${t}>(0.0), ${u}, ${u} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${t}>(${r.alpha});`,r.cacheKey)),0},Wl=e=>{e.compute(ze(e.inputs[0],\"Log\",\"log\"))}});var gg,yg,Hl,Ll=ae(()=>{\"use strict\";ke();Ae();ui();gg=e=>{if(e[0].dims.length!==3)throw new Error(\"input should have 3 dimensions\");if(![2560,5120,10240].includes(e[0].dims[2]))throw new Error(\"hidden state should be 2560, 5120 or 10240\");if(e[1].dims.length!==1)throw new Error(\"bias is expected to have 1 dimensions\");if(e[0].dims[2]!==e[1].dims[0])throw new Error(\"last dimension of input and bias are not the same\")},yg=e=>{let r=e[0].dims.slice();r[2]=r[2]/2;let t=X(\"input\",e[0].dataType,e[0].dims,4),u=X(\"bias\",e[0].dataType,[e[0].dims[2]],4),s=ie(\"output\",e[0].dataType,r,4),c=Z.size(r)/4,m=Ve(e[0].dataType);return{name:\"BiasSplitGelu\",getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(c/64)}}),getShaderSource:d=>`\\n const M_SQRT2 = sqrt(2.0);\\n const halfChannels = ${e[0].dims[2]/4/2}u;\\n\\n ${d.declareVariables(t,u,s)}\\n\\n ${si(m)}\\n\\n ${d.mainStart()}\\n ${d.guardAgainstOutOfBoundsWorkgroupSizes(c)}\\n let biasIdx = global_idx % halfChannels;\\n let batchIndex = global_idx / halfChannels;\\n let inputOffset = biasIdx + batchIndex * halfChannels * 2;\\n let valueLeft = input[inputOffset] + bias[biasIdx];\\n let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];\\n let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);\\n\\n ${s.setByOffset(\"global_idx\",\"valueLeft * geluRight\")}\\n }`}},Hl=e=>{gg(e.inputs),e.compute(yg(e.inputs))}});var bg,vg,Bt,Fl,ql,Kl,Yl,Zl,Ql,Xl,Jl,ed,td,rd=ae(()=>{\"use strict\";$e();ke();Ae();bg=(e,r,t,u,s,c,m,y,d,w,C,$)=>{let T,O;typeof y==\"string\"?T=O=(k,G)=>`${y}((${k}),(${G}))`:typeof y==\"function\"?T=O=y:(T=y.scalar,O=y.vector);let A=ie(\"outputData\",C,u.length,4),P=X(\"aData\",d,r.length,4),z=X(\"bData\",w,t.length,4),D;if(s)if(c){let k=Z.size(r)===1,G=Z.size(t)===1,W=r.length>0&&r[r.length-1]%4===0,q=t.length>0&&t[t.length-1]%4===0;k||G?D=A.setByOffset(\"global_idx\",O(k?`${P.type.value}(${P.getByOffset(\"0\")}.x)`:P.getByOffset(\"global_idx\"),G?`${z.type.value}(${z.getByOffset(\"0\")}.x)`:z.getByOffset(\"global_idx\"))):D=`\\n let outputIndices = ${A.offsetToIndices(\"global_idx * 4u\")};\\n let offsetA = ${P.broadcastedIndicesToOffset(\"outputIndices\",A)};\\n let offsetB = ${z.broadcastedIndicesToOffset(\"outputIndices\",A)};\\n ${A.setByOffset(\"global_idx\",O(m||W?P.getByOffset(\"offsetA / 4u\"):`${P.type.value}(${P.getByOffset(\"offsetA / 4u\")}[offsetA % 4u])`,m||q?z.getByOffset(\"offsetB / 4u\"):`${z.type.value}(${z.getByOffset(\"offsetB / 4u\")}[offsetB % 4u])`))}\\n `}else D=A.setByOffset(\"global_idx\",O(P.getByOffset(\"global_idx\"),z.getByOffset(\"global_idx\")));else{if(!c)throw new Error(\"no necessary to use scalar implementation for element-wise binary op implementation.\");let k=(G,W,q=\"\")=>{let Y=`aData[indexA${W}][componentA${W}]`,J=`bData[indexB${W}][componentB${W}]`;return`\\n let outputIndices${W} = ${A.offsetToIndices(`global_idx * 4u + ${W}u`)};\\n let offsetA${W} = ${P.broadcastedIndicesToOffset(`outputIndices${W}`,A)};\\n let offsetB${W} = ${z.broadcastedIndicesToOffset(`outputIndices${W}`,A)};\\n let indexA${W} = offsetA${W} / 4u;\\n let indexB${W} = offsetB${W} / 4u;\\n let componentA${W} = offsetA${W} % 4u;\\n let componentB${W} = offsetB${W} % 4u;\\n ${G}[${W}] = ${q}(${T(Y,J)});\\n `};C===9?D=`\\n var data = vec4(0);\\n ${k(\"data\",0,\"u32\")}\\n ${k(\"data\",1,\"u32\")}\\n ${k(\"data\",2,\"u32\")}\\n ${k(\"data\",3,\"u32\")}\\n outputData[global_idx] = dot(vec4(0x1, 0x100, 0x10000, 0x1000000), vec4(data));`:D=`\\n ${k(\"outputData[global_idx]\",0)}\\n ${k(\"outputData[global_idx]\",1)}\\n ${k(\"outputData[global_idx]\",2)}\\n ${k(\"outputData[global_idx]\",3)}\\n `}return`\\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(P,z,A)}\\n\\n ${$??\"\"}\\n\\n ${e.mainStart()}\\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\\n ${D}\\n }`},vg=(e,r,t,u,s,c,m=t.dataType)=>{let y=!Z.areEqual(t.dims,u.dims),d=t.dims,w=Z.size(t.dims),C=!1,$=!1,T=[y];if(y){let O=Pt.calcShape(t.dims,u.dims,!1);if(!O)throw new Error(\"Can\\'t perform binary op on the given tensors\");d=O,w=Z.size(d);let A=Z.size(t.dims)===1,P=Z.size(u.dims)===1,z=t.dims.length>0&&t.dims[t.dims.length-1]%4===0,D=u.dims.length>0&&u.dims[u.dims.length-1]%4===0;T.push(A),T.push(P),T.push(z),T.push(D);let k=1;for(let G=1;GO.toString()).join(\"_\"),inputDependencies:[\"rank\",\"rank\"]},getShaderSource:O=>bg(O,t.dims,u.dims,d,C,y,$,s,t.dataType,u.dataType,m,c),getRunData:()=>({outputs:[{dims:d,dataType:m}],dispatchGroup:{x:Math.ceil(w/64/4)},programUniforms:[{type:12,data:Math.ceil(Z.size(d)/4)},...se(t.dims,u.dims,d)]})}},Bt=(e,r,t,u,s,c)=>{e.compute(vg(r,s??\"\",e.inputs[0],e.inputs[1],t,u,c))},Fl=e=>{Bt(e,\"Add\",(r,t)=>`${r}+${t}`)},ql=e=>{Bt(e,\"Div\",(r,t)=>`${r}/${t}`)},Kl=e=>{Bt(e,\"Equal\",{scalar:(r,t)=>`u32(${r}==${t})`,vector:(r,t)=>`vec4(${r}==${t})`},void 0,void 0,9)},Yl=e=>{Bt(e,\"Mul\",(r,t)=>`${r}*${t}`)},Zl=e=>{let r=X(\"input\",e.inputs[0].dataType,e.inputs[0].dims).type.value;Bt(e,\"Pow\",{scalar:(u,s)=>`pow_custom(${u},${s})`,vector:(u,s)=>`pow_vector_custom(${u},${s})`},`\\n fn pow_custom(a : ${r}, b : ${r}) -> ${r} {\\n if (b == ${r}(0.0)) {\\n return ${r}(1.0);\\n } else if (a < ${r}(0.0) && f32(b) != floor(f32(b))) {\\n return ${r}(pow(f32(a), f32(b))); // NaN\\n }\\n return select(sign(a), ${r}(1.0), round(f32(abs(b) % ${r}(2.0))) != 1.0) * ${r}(${r===\"i32\"?\"round\":\"\"}(pow(f32(abs(a)), f32(b))));\\n }\\n fn pow_vector_custom(a : vec4<${r}>, b : vec4<${r}>) -> vec4<${r}> {\\n // TODO: implement vectorized pow\\n return vec4<${r}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));\\n }\\n `)},Ql=e=>{Bt(e,\"Sub\",(r,t)=>`${r}-${t}`)},Xl=e=>{Bt(e,\"Greater\",{scalar:(r,t)=>`u32(${r}>${t})`,vector:(r,t)=>`vec4(${r}>${t})`},void 0,void 0,9)},Jl=e=>{Bt(e,\"Less\",{scalar:(r,t)=>`u32(${r}<${t})`,vector:(r,t)=>`vec4(${r}<${t})`},void 0,void 0,9)},ed=e=>{Bt(e,\"GreaterOrEqual\",{scalar:(r,t)=>`u32(${r}>=${t})`,vector:(r,t)=>`vec4(${r}>=${t})`},void 0,void 0,9)},td=e=>{Bt(e,\"LessOrEqual\",{scalar:(r,t)=>`u32(${r}<=${t})`,vector:(r,t)=>`vec4(${r}<=${t})`},void 0,void 0,9)}});var _g,$g,Cg,Sg,xg,Ig,nd,id,od=ae(()=>{\"use strict\";$e();ke();nt();Ae();_g=(e,r)=>{if(!e||e.length<1)throw new Error(\"too few inputs\");let t=e[r].dataType,u=e[r].dims.length,s=e[r];for(let c of e){if(c.dataType!==t)throw new Error(\"input tensors should be one type\");if(c.dims.length!==u&&Z.size(c.dims)>0&&Z.size(s.dims)>0)throw new Error(\"input tensors should have the same shape\")}},$g=(e,r)=>`\\n fn calculateInputIndex(index: u32) -> u32 {\\n let sizeInConcatAxis = array(${r});\\n for (var i: u32 = 0u; i < ${e}; i += 1u ) {\\n if (index < sizeInConcatAxis[i]) {\\n return i;\\n }\\n }\\n return ${e}u;\\n }`,Cg=(e,r)=>{let t=e.length,u=[];for(let s=0;s{let r=0;for(let t=0;t0){r=t;break}return r},xg=(e,r,t)=>{let u=e[t].dims.slice();if(r>=u.length||r<-1*u.length)throw new Error(\"axis specified for concat doesn\\'t match input dimensionality\");let s=u.slice(0);for(let c=0;c0)throw new Error(\"non concat dimensions must match\")}return s},Ig=(e,r,t)=>{let u=Z.size(t),s=new Array(e.length),c=new Array(e.length),m=e[0].dataType,y=0,d=[],w=[],C=[{type:12,data:u}];for(let P=0;P`uniforms.sizeInConcatAxis${P}`).join(\",\"),A=P=>`\\n\\n ${(()=>{P.registerUniform(\"outputSize\",\"u32\");for(let z=0;z(${O});\\n ${T} -= sizeInConcatAxis[inputIndex - 1u];\\n }\\n\\n ${Cg(c,$)}\\n } else {\\n ${$.setByOffset(\"global_idx\",\"0\")}\\n }\\n }`;return{name:\"Concat\",shaderCache:{hint:`${r}`,inputDependencies:d},getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:C}),getShaderSource:A}},nd=(e,r)=>{let t=Sg(e.inputs);_g(e.inputs,t);let u=r.axis,s=e.inputs[t].dims,c=r.axis<0?s.length+u:u,m=xg(e.inputs,c,t),y=e.inputs.filter(d=>Z.size(d.dims)>0);y.length>0?e.compute(Ig(y,c,m),{inputs:y}):e.output(0,m)},id=e=>Oe({axis:e.axis})});var Mt,zt,Ut,li,Yt=ae(()=>{\"use strict\";$e();ke();Mt=(e,r,t=\"f32\")=>{switch(e.activation){case\"Relu\":return`value = max(value, ${r}(0.0));`;case\"Sigmoid\":return`value = (${r}(1.0) / (${r}(1.0) + exp(-value)));`;case\"Clip\":return`value = clamp(value, ${r}(${t}(uniforms.clip_min)), ${r}(${t}(uniforms.clip_max)));`;case\"HardSigmoid\":return`value = max(${r}(0.0), min(${r}(1.0), ${t}(uniforms.alpha) * value + ${t}(uniforms.beta)));`;case\"LeakyRelu\":return`value = select(${t}(uniforms.alpha) * value, value, value >= ${r}(0.0));`;case\"\":return\"\";default:throw new Error(`Unsupported activation ${e.activation}`)}},zt=(e,r)=>{e.activation===\"Clip\"?r.push({type:1,data:e.clipMax},{type:1,data:e.clipMin}):e.activation===\"HardSigmoid\"?r.push({type:1,data:e.alpha},{type:1,data:e.beta}):e.activation===\"LeakyRelu\"&&r.push({type:1,data:e.alpha})},Ut=(e,r)=>{e.activation===\"Clip\"?r.push({name:\"clip_max\",type:\"f32\"},{name:\"clip_min\",type:\"f32\"}):e.activation===\"HardSigmoid\"?r.push({name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}):e.activation===\"LeakyRelu\"&&r.push({name:\"alpha\",type:\"f32\"})},li=e=>{let r=e?.activation||\"\";if(r===\"HardSigmoid\"){let[t,u]=e?.activation_params||[.2,.5];return{activation:r,alpha:t,beta:u}}else if(r===\"Clip\"){let[t,u]=e?.activation_params||[Jn,ei];return{activation:r,clipMax:u,clipMin:t}}else if(r===\"LeakyRelu\"){let[t]=e?.activation_params||[.01];return{activation:r,alpha:t}}return{activation:r}}});var st,di,ci=ae(()=>{\"use strict\";st=(e,r)=>{switch(e){case 1:return r;case 2:return`vec2<${r}>`;case 3:return`vec3<${r}>`;case 4:return`vec4<${r}>`;default:throw new Error(`${e}-component is not supported.`)}},di=e=>`\\n ${e?\"value = value + getBiasByOutputCoords(coords);\":\"\"}\\n `});var fi,Qi=ae(()=>{\"use strict\";fi=e=>`\\nfn getIndexFromCoords4D(coords : vec4, shape : vec4) -> i32 {\\n return dot(coords, vec4(\\n shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));\\n}\\nfn getOutputIndexFromCoords(coords : vec4) -> i32 {\\n return dot(coords, vec4(\\n i32(${e}.x), i32(${e}.y), i32(${e}.z), 1));\\n}\\n`});var Ag,Tg,fn,ad,Eg,pn,Pg,pi,mn=ae(()=>{\"use strict\";$e();ke();Ae();Yt();ci();Ag=(e,r)=>e?`\\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\\n kStart + inputRow,\\n globalRowStart / innerElementSize + inputCol${r?\", batchIndices\":\"\"});\\n `:`\\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\\n globalRow + innerRow,\\n kStart / innerElementSize + inputCol${r?\", batchIndices\":\"\"});\\n `,Tg=(e,r)=>e?`\\n let ACached0 = mm_Asub[k * innerElementSize][localRow];\\n let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];\\n let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];\\n ${r===3?\"\":\"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];\"}\\n for (var i = 0; i < rowPerThread; i = i + 1) {\\n acc[i] = BCached0 * ACached0[i] + acc[i];\\n acc[i] = BCached1 * ACached1[i] + acc[i];\\n acc[i] = BCached2 * ACached2[i] + acc[i];\\n ${r===3?\"\":\"acc[i] = BCached3 * ACached3[i] + acc[i];\"}\\n }`:`\\n for (var i = 0; i < rowPerThread; i = i + 1) {\\n let ACached = mm_Asub[tileRow + i][k];\\n acc[i] = BCached0 * ACached.x + acc[i];\\n acc[i] = BCached1 * ACached.y + acc[i];\\n acc[i] = BCached2 * ACached.z + acc[i];\\n ${r===3?\"\":\"acc[i] = BCached3 * ACached.w + acc[i];\"}\\n }`,fn=(e,r,t=\"f32\",u,s=!1,c=32,m=!1,y=32)=>{let d=r[1]*e[1],w=r[0]*e[0],C=s?d:c,$=s?c:d,T=C/r[0],O=c/r[1];if(!((s&&T===4&&e[1]===4||!s&&(T===3||T===4))&&C%r[0]===0&&c%r[1]===0&&e[0]===4))throw new Error(`If transposeA ${s} is true, innerElementSize ${T} and workPerThread[1] ${e[1]} must be 4.\\n Otherwise, innerElementSize ${T} must be 3 or 4.\\n tileAWidth ${C} must be divisible by workgroupSize[0]${r[0]}. tileInner ${c} must be divisible by workgroupSize[1] ${r[1]}. colPerThread ${e[0]} must be 4.`);return`\\nvar mm_Asub: array, ${C/T}>, ${$}>;\\nvar mm_Bsub: array, ${w/e[0]}>, ${c}>;\\n\\nconst rowPerThread = ${e[1]};\\nconst colPerThread = ${e[0]};\\nconst innerElementSize = ${T};\\nconst tileInner = ${c};\\n\\n@compute @workgroup_size(${r[0]}, ${r[1]}, ${r[2]})\\nfn main(@builtin(local_invocation_id) localId : vec3,\\n @builtin(global_invocation_id) globalId : vec3,\\n @builtin(workgroup_id) workgroupId : vec3) {\\n let localRow = i32(localId.y);\\n let tileRow = localRow * rowPerThread;\\n let tileCol = i32(localId.x);\\n\\n let globalRow =i32(globalId.y) * rowPerThread;\\n let globalCol = i32(globalId.x);\\n let batch = ${m?\"0\":\"i32(globalId.z)\"};\\n ${u?`let batchIndices = ${u.offsetToIndices(\"u32(batch)\")};`:\"\"}\\n let globalRowStart = i32(workgroupId.y) * ${d};\\n\\n let num_tiles = ${m?`${Math.ceil(y/c)}`:\"(uniforms.dim_inner - 1) / tileInner + 1\"};\\n var kStart = ${m?`i32(globalId.z) * ${y}`:\"0\"};\\n\\n var acc: array, rowPerThread>;\\n\\n // Loop over shared dimension.\\n let tileRowB = localRow * ${O};\\n for (var t = 0; t < num_tiles; t = t + 1) {\\n // Load one tile of A into local memory.\\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\\n let inputRow = tileRow + innerRow;\\n let inputCol = tileCol;\\n ${Ag(s,u)}\\n }\\n\\n // Load one tile of B into local memory.\\n for (var innerRow = 0; innerRow < ${O}; innerRow = innerRow + 1) {\\n let inputRow = tileRowB + innerRow;\\n let inputCol = tileCol;\\n mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${u?\", batchIndices\":\"\"});\\n }\\n kStart = kStart + tileInner;\\n workgroupBarrier();\\n\\n // Compute acc values for a single thread.\\n for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {\\n let BCached0 = mm_Bsub[k * innerElementSize][tileCol];\\n let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];\\n let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];\\n ${T===3?\"\":\"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];\"}\\n\\n ${Tg(s,T)}\\n }\\n\\n workgroupBarrier();\\n }\\n\\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\\n mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);\\n }\\n}`},ad=(e,r)=>e?`\\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\\n kStart + inputRow,\\n globalRowStart + inputCol${r?\", batchIndices\":\"\"});\\n `:`\\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\\n globalRowStart + inputRow,\\n kStart + inputCol${r?\", batchIndices\":\"\"});\\n `,Eg=e=>e?\"let ACached = mm_Asub[k][tileRow + innerRow];\":\"let ACached = mm_Asub[tileRow + innerRow][k];\",pn=(e,r,t=\"f32\",u,s=!1,c=32,m=!1,y=32,d=!1)=>{let w=e[1]*r[1],C=e[0]*r[0],$=s?w:c,T=s?c:w;if(!(T%r[1]===0&&$%r[0]===0&&c%r[1]===0))throw new Error(`tileAHight ${T} must be divisible by workgroupSize[1]${r[1]}, tileAWidth ${$} must be divisible by workgroupSize[0]${r[0]}, tileInner ${c} must be divisible by workgroupSize[1]${r[1]}`);let O=T/r[1],A=$/r[0],P=c/r[1],z=d?`\\n let localRow = i32(localId.y);\\n let localCol = i32(localId.x);\\n let globalRowStart = i32(workgroupId.y) * ${w};\\n let globalColStart = i32(workgroupId.x) * ${C};\\n\\n // Loop over shared dimension.\\n for (var t = 0; t < num_tiles; t = t + 1) {\\n // Load one tile of A into local memory.\\n for (var inputRow = localRow; inputRow < ${T}; inputRow = inputRow + ${r[1]}) {\\n for (var inputCol = localCol; inputCol < ${$}; inputCol = inputCol + ${r[0]}) {\\n ${ad(s,u)}\\n }\\n }\\n // Load one tile of B into local memory.\\n for (var inputRow = localRow; inputRow < ${c}; inputRow = inputRow + ${r[1]}) {\\n for (var inputCol = localCol; inputCol < ${C}; inputCol = inputCol + ${r[0]}) {\\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\\n kStart + inputRow,\\n globalColStart + inputCol${u?\", batchIndices\":\"\"});\\n }\\n }\\n kStart = kStart + tileInner;\\n workgroupBarrier();\\n\\n // Compute acc values for a single thread.\\n var BCached : array<${t}, colPerThread>;\\n for (var k = 0; k < tileInner; k = k + 1) {\\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\\n BCached[inner] = mm_Bsub[k][localCol + inner * ${r[0]}];\\n }\\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\\n let ACached = ${s?`mm_Asub[k][localRow + innerRow * ${r[1]}];`:`mm_Asub[localRow + innerRow * ${r[1]}][k];`}\\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\\n acc[innerRow][innerCol] = acc[innerRow][innerCol] +\\n ACached * BCached[innerCol];\\n }\\n }\\n }\\n workgroupBarrier();\\n }\\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\\n let gRow = globalRowStart + localRow + innerRow * ${r[1]};\\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\\n let gCol = globalColStart + localCol + innerCol * ${r[0]};\\n mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);\\n }\\n }\\n `:`\\nlet tileRow = i32(localId.y) * rowPerThread;\\nlet tileCol = i32(localId.x) * colPerThread;\\n\\nlet globalRow = i32(globalId.y) * rowPerThread;\\nlet globalCol = i32(globalId.x) * colPerThread;\\nlet globalRowStart = i32(workgroupId.y) * ${w};\\n\\nlet tileRowA = i32(localId.y) * ${O};\\nlet tileColA = i32(localId.x) * ${A};\\nlet tileRowB = i32(localId.y) * ${P};\\n// Loop over shared dimension.\\nfor (var t = 0; t < num_tiles; t = t + 1) {\\n // Load one tile of A into local memory.\\n for (var innerRow = 0; innerRow < ${O}; innerRow = innerRow + 1) {\\n for (var innerCol = 0; innerCol < ${A}; innerCol = innerCol + 1) {\\n let inputRow = tileRowA + innerRow;\\n let inputCol = tileColA + innerCol;\\n ${ad(s,u)}\\n }\\n }\\n\\n // Load one tile of B into local memory.\\n for (var innerRow = 0; innerRow < ${P}; innerRow = innerRow + 1) {\\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\\n let inputRow = tileRowB + innerRow;\\n let inputCol = tileCol + innerCol;\\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\\n kStart + inputRow,\\n globalCol + innerCol${u?\", batchIndices\":\"\"});\\n }\\n }\\n kStart = kStart + tileInner;\\n workgroupBarrier();\\n\\n // Compute acc values for a single thread.\\n var BCached : array<${t}, colPerThread>;\\n for (var k = 0; k < tileInner; k = k + 1) {\\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\\n BCached[inner] = mm_Bsub[k][tileCol + inner];\\n }\\n\\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\\n ${Eg(s)}\\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\\n acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];\\n }\\n }\\n }\\n\\n workgroupBarrier();\\n}\\n\\nfor (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\\n mm_write(batch, globalRow + innerRow, globalCol + innerCol,\\n acc[innerRow][innerCol]);\\n }\\n}\\n`;return`\\n var mm_Asub : array, ${T}>;\\n var mm_Bsub : array, ${c}>;\\n const rowPerThread = ${e[1]};\\n const colPerThread = ${e[0]};\\n const tileInner = ${c};\\n\\n@compute @workgroup_size(${r[0]}, ${r[1]}, ${r[2]})\\nfn main(@builtin(local_invocation_id) localId : vec3,\\n @builtin(global_invocation_id) globalId : vec3,\\n @builtin(workgroup_id) workgroupId : vec3) {\\n let batch = ${m?\"0\":\"i32(globalId.z)\"};\\n ${u?`let batchIndices = ${u.offsetToIndices(\"u32(batch)\")};`:\"\"}\\n let num_tiles = ${m?`${Math.ceil(y/c)}`:\"(uniforms.dim_inner - 1) / tileInner + 1\"};\\n var kStart = ${m?`i32(globalId.z) * ${y}`:\"0\"};\\n\\n var acc : array, rowPerThread>;\\n\\n // Without this initialization strange values show up in acc.\\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\\n acc[innerRow][innerCol] = 0.0;\\n }\\n }\\n ${z}\\n }\\n`},Pg=(e,r,t,u,s,c=!1)=>{let[m,y,d]=s,[w,C,$,T]=u,O=Ir(m,d),A=Ir(y,d),P=Ve(u[0].type.tensor),z=()=>{let G=C.rank,W=w.rank,q=`var aIndices: ${C.type.indices};`;for(let Y=G-2-1,J=W-1;Y>=0;Y--,J--)q+=`\\naIndices[${Y}] = ${W>1?`batchIndices[${J}]`:\"batchIndices\"};`;return O.forEach(Y=>{q+=`\\naIndices[${Y}] = 0;`}),q+=`\\naIndices[${G-2}] = u32(row);\\n aIndices[${G-1}] = u32(colIn);`,q},D=()=>{let G=$.rank,W=w.rank,q=`var bIndices: ${$.type.indices};`;for(let Y=G-2-1,J=W-1;Y>=0;Y--,J--)q+=`\\nbIndices[${Y}] = ${W>1?`batchIndices[${J}]`:\"batchIndices\"};`;return A.forEach(Y=>{q+=`\\nbIndices[${Y}] = 0;`}),q+=`\\nbIndices[${G-2}] = u32(row);\\n bIndices[${G-1}] = u32(colIn);`,q};return`\\n fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${w.type.indices}) -> ${st(e,P)} {\\n var value = ${st(e,P)}(0.0);\\n let col = colIn * ${e};\\n if(row < uniforms.dim_a_outer && col < uniforms.dim_inner)\\n {\\n ${z()}\\n value = ${C.getByIndices(\"aIndices\")};\\n }\\n return value;\\n }\\n\\n fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${w.type.indices}) -> ${st(e,P)} {\\n var value = ${st(e,P)}(0.0);\\n let col = colIn * ${e};\\n if(row < uniforms.dim_inner && col < uniforms.dim_b_outer)\\n {\\n ${D()}\\n value = ${$.getByIndices(\"bIndices\")};\\n }\\n return value;\\n }\\n\\n fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${st(e,P)}) {\\n let col = colIn * ${e};\\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {\\n var value = valueIn;\\n let coords = vec3(batch, row, colIn);\\n ${r?`value = value + ${c?\"bias[colIn]\":`${st(e,P)}(bias[row])`};`:\"\"}\\n ${t}\\n ${T.setByIndices(\"vec3(coords)\",\"value\")}\\n }\\n }\\n `},pi=(e,r,t,u,s=!1)=>{let c=e[0].dims,m=e[1].dims,y=c.slice(0,-2),d=m.slice(0,-2),w=u?u.slice(0,-2):t.slice(0,-2),C=Z.size(w),$=c[c.length-2],T=c[c.length-1],O=m[m.length-1],A=T%4===0&&O%4===0,P=$<=8?[4,1,1]:[4,4,1],z=[8,8,1],D=[Math.ceil(O/z[0]/P[0]),Math.ceil($/z[1]/P[1]),Math.ceil(C/z[2]/P[2])],k=A?4:1,G=[...y,$,T/k],W=G.length,q=[...d,T,O/k],Y=q.length,J=[C,$,O/k],oe=[{type:6,data:$},{type:6,data:O},{type:6,data:T}];zt(r,oe),oe.push(...se(w,G,q));let ge=[\"rank\",\"rank\"],L=e.length>2;L&&(oe.push(...se(e[2].dims)),ge.push(\"rank\")),oe.push(...se(J));let le=Te=>{let Ue=w.length,je=ri(\"batchDims\",e[0].dataType,Ue,1),Ee=Ve(e[0].dataType),ee=X(\"a\",e[0].dataType,W,k),Ne=X(\"b\",e[1].dataType,Y,k),Se=ie(\"result\",e[0].dataType,J.length,k),Ce=[ee,Ne];if(L){let re=s?k:1;Ce.push(X(\"bias\",e[2].dataType,e[2].dims.length,re))}let ve=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"}];Ut(r,ve);let xe=Ve(Se.type.tensor),Me=Mt(r,Se.type.value,xe),Ke=Pg(k,L,Me,[je,ee,Ne,Se],[y,d,w],s);return`\\n ${Te.registerUniforms(ve).registerInternalVariables(je).declareVariables(...Ce,Se)}\\n ${Ke}\\n ${A?fn(P,z,Ee,je):pn(P,z,Ee,je)}\\n `};return{name:\"MatMul\",shaderCache:{hint:`${P};${r.activation};${A};${s}`,inputDependencies:ge},getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:D[0],y:D[1],z:D[2]},programUniforms:oe}),getShaderSource:le}}});var Og,sd,ud=ae(()=>{\"use strict\";$e();Kt();Ae();Yt();ci();Qi();mn();Og=(e,r,t,u,s=!1,c,m=4,y=4,d=4,w=\"f32\")=>{let C=L=>{switch(L){case 1:return\"resData = x[xIndex];\";case 3:return`resData = vec3<${w}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return\"resData = x[xIndex / 4];\";default:throw new Error(`innerElementSize ${L} is not supported.`)}},$=L=>{switch(L){case 1:return\"return w[row * i32(uniforms.w_shape[3]) + colIn];\";case 4:return\"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];\";default:throw new Error(`innerElementSize ${L} is not supported.`)}},T=e?`\\n let coord = vec4(batch, xRow, xCol, xCh);\\n `:`\\n let coord = vec4(batch, xCh, xRow, xCol);\\n `,O=e?`\\n let coords = vec4(\\n batch,\\n row / outWidth,\\n row % outWidth,\\n col);\\n `:`\\n let coords = vec4(\\n batch,\\n row,\\n col / outWidth,\\n col % outWidth);\\n `,A=e?\"i32(uniforms.x_shape[1])\":\"i32(uniforms.x_shape[2])\",P=e?\"i32(uniforms.x_shape[2])\":\"i32(uniforms.x_shape[3])\",z=e?\"row\":\"col\",D=e?\"col\":\"row\",k=`\\n let inChannels = i32(uniforms.w_shape[2]);\\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\\n let outRow = ${z} / outWidth;\\n let outCol = ${z} % outWidth;\\n\\n let WRow = ${D} / (i32(uniforms.w_shape[1]) * inChannels);\\n let WCol = ${D} / inChannels % i32(uniforms.w_shape[1]);\\n let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];\\n let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];\\n let xCh = ${D} % inChannels;\\n var resData = ${st(m,w)}(0.0);\\n // The bounds checking is always needed since we use it to pad zero for\\n // the \\'same\\' padding type.\\n if (xRow >= 0 && xRow < ${A} && xCol >= 0 && xCol < ${P}) {\\n ${T}\\n let xIndex = getIndexFromCoords4D(coord, vec4(uniforms.x_shape));\\n ${C(m)}\\n }\\n return resData;`,G=e?r&&u?`\\n let col = colIn * ${m};\\n ${k}`:`\\n let col = colIn * ${m};\\n if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {\\n ${k}\\n }\\n return ${st(m,w)}(0.0);`:u&&t?`\\n let col = colIn * ${m};\\n ${k}`:`\\n let col = colIn * ${m};\\n if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {\\n ${k}\\n }\\n return ${st(m,w)}(0.0);`,W=`${$(y)}`,q=st(d,w),Y=e?st(m,w):st(y,w),J=e?st(y,w):st(m,w),oe=Mt(c,q,w);return`\\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${Y} {\\n ${e?G:W}\\n }\\n\\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${J} {\\n ${e?W:G}\\n }\\n\\n fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${q}) {\\n let col = colIn * ${d};\\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer)\\n {\\n var value = valueIn;\\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\\n ${O}\\n ${di(s)}\\n ${oe}\\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\\n }\\n }`},sd=(e,r,t,u,s,c,m,y)=>{let d=r.format===\"NHWC\",w=d?e[0].dims[3]:e[0].dims[1],C=t[0],$=d?t[2]:t[3],T=d?t[1]:t[2],O=d?t[3]:t[1],A=d&&(w%4===0||w%3===0)&&O%4===0,P=d?O:$*T,z=d?$*T:O,D=[8,8,1],k=u<=8?[4,1,1]:[4,4,1],G=[Math.ceil(P/D[0]/k[0]),Math.ceil(z/D[1]/k[1]),Math.ceil(C/D[2]/k[2])];Le(\"verbose\",()=>`[conv2d_mm_webgpu] dispatch = ${G}`);let W=A?d&&w%4!==0?3:4:1,q=D[1]*k[1],Y=D[0]*k[0],J=Math.max(D[0]*W,D[1]),oe=u%q===0,ge=s%Y===0,L=c%J===0,le=A?[W,4,4]:[1,1,1],Te=[{type:6,data:u},{type:6,data:s},{type:6,data:c},{type:6,data:[r.pads[0],r.pads[1]]},{type:6,data:r.strides},{type:6,data:r.dilations}];zt(r,Te),Te.push(...se(e[0].dims,e[1].dims));let Ue=[\"rank\",\"rank\"];m&&(Te.push(...se(e[2].dims)),Ue.push(\"rank\")),Te.push(...se(t));let je=Ee=>{let ee=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"},{name:\"pad\",type:\"i32\",length:2},{name:\"stride\",type:\"i32\",length:2},{name:\"dilation\",type:\"i32\",length:2}];Ut(r,ee);let Ne=A?4:1,Se=Ve(e[0].dataType),Ce=`\\n fn setOutputAtIndex(flatIndex : i32, value : ${A?`vec4<${Se}>`:Se}) {\\n result[flatIndex] = ${A?`vec4<${Se}>`:Se}(value);\\n }\\n fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${A?`vec4<${Se}>`:Se}) {\\n let flatIndex = getOutputIndexFromCoords(vec4(d0, d1, d2, d3));\\n setOutputAtIndex(flatIndex ${A?\"/ 4\":\"\"}, value);\\n }`,ve=X(\"x\",e[0].dataType,e[0].dims.length,W===3?1:W),xe=X(\"w\",e[1].dataType,e[1].dims.length,Ne),Me=[ve,xe],Ke=ie(\"result\",e[0].dataType,t.length,Ne);if(m){let re=X(\"bias\",e[2].dataType,e[2].dims.length,Ne);Me.push(re),Ce+=`\\n fn getBiasByOutputCoords(coords : vec4) -> ${A?`vec4<${Se}>`:Se} {\\n return bias[coords.${d?\"w\":\"y\"}${A?\"/ 4\":\"\"}];\\n }`}return`\\n ${fi(\"uniforms.result_strides\")}\\n //struct Uniforms { xShape : vec4, wShape : vec4, outShape : vec4,\\n // outShapeStrides: vec3, filterDims : vec2, pad : vec2, stride : vec2,\\n // dilation : vec2, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };\\n ${Ee.registerUniforms(ee).declareVariables(...Me,Ke)}\\n ${Ce}\\n ${Og(d,oe,ge,L,m,r,le[0],le[1],le[2],Se)}\\n ${A?fn(k,D,Se,void 0,!d,J):pn(k,D,Se,void 0,!d,J,!1,void 0,y)}`};return{name:\"Conv2DMatMul\",shaderCache:{hint:`${r.cacheKey};${W};${A};${oe};${ge};${L};${q};${Y};${J}`,inputDependencies:Ue},getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:G[0],y:G[1],z:G[2]},programUniforms:Te}),getShaderSource:je}}});var Xi,ld=ae(()=>{\"use strict\";$e();ke();Ae();eo();Yt();Xi=(e,r,t)=>{let u=e.length>2,s=u?\"value += b[output_channel];\":\"\",c=e[0].dims,m=e[1].dims,y=m[0]/r.group,d=r.format===\"NHWC\",w=Ji(c,m,r.dilations,r.pads,r.strides,d),C=Z.size(w),$=[{type:12,data:C},{type:12,data:r.dilations},{type:12,data:[r.strides[0],r.strides[1]]},{type:12,data:[r.pads[0],r.pads[1]]},{type:12,data:y}];zt(r,$),$.push(...se(c,m,w));let T=[\"rank\",\"rank\"];u&&($.push(...se(e[2].dims)),T.push(\"rank\")),$.push(...se(w));let O=A=>{let P=ie(\"output\",e[0].dataType,w.length),z=Ve(P.type.tensor),D=Mt(r,P.type.value,z),k=X(\"x\",e[0].dataType,c.length),G=X(\"w\",e[1].dataType,m.length),W=[k,G];u&&W.push(X(\"b\",e[2].dataType,e[2].dims));let q=[{name:\"output_size\",type:\"u32\"},{name:\"dilations\",type:\"u32\",length:r.dilations.length},{name:\"strides\",type:\"u32\",length:2},{name:\"pads\",type:\"u32\",length:2},{name:\"output_channels_per_group\",type:\"u32\"}];return Ut(r,q),`\\n ${A.registerUniforms(q).declareVariables(...W,P)}\\n\\n ${A.mainStart()}\\n ${A.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n\\n let outputIndices = ${P.offsetToIndices(\"global_idx\")};\\n let batch: u32 = outputIndices[0];\\n let output_channel: u32 = outputIndices[${d?3:1}];\\n let xRCCorner: vec2 = vec2(outputIndices[${d?1:2}], outputIndices[${d?2:3}]) * uniforms.strides - uniforms.pads;\\n let group_id: u32 = output_channel / uniforms.output_channels_per_group;\\n\\n var value: ${P.type.value} = ${P.type.value}(0);\\n for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[1]; wInChannel++) {\\n let input_channel = group_id * uniforms.w_shape[1] + wInChannel;\\n for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[2]; wHeight++) {\\n let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];\\n\\n if (xHeight < 0u || xHeight >= uniforms.x_shape[${d?1:2}]) {\\n continue;\\n }\\n\\n for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[3]; wWidth++) {\\n let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];\\n if (xWidth < 0u || xWidth >= uniforms.x_shape[${d?2:3}]) {\\n continue;\\n }\\n\\n let xVal = ${d?k.get(\"batch\",\"xHeight\",\"xWidth\",\"input_channel\"):k.get(\"batch\",\"input_channel\",\"xHeight\",\"xWidth\")};\\n let wVal = ${G.get(\"output_channel\",\"wInChannel\",\"wHeight\",\"wWidth\")};\\n value += xVal*wVal;\\n }\\n }\\n }\\n ${s}\\n ${D}\\n ${P.setByOffset(\"global_idx\",\"value\")}\\n }`};return{name:\"GroupedConv\",shaderCache:{hint:r.cacheKey,inputDependencies:T},getRunData:()=>({outputs:[{dims:t?t(w):w,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(C/64)},programUniforms:$}),getShaderSource:O}}});var to,kg,dd,ro=ae(()=>{\"use strict\";$e();ke();mn();Ae();Yt();to=(e,r,t,u,s=!1)=>{let c=e[0].dims,m=e[1].dims,y=c[c.length-2],d=m[m.length-1],w=c[c.length-1],C=Je(d),$=Je(w),T=Je(y),O=Z.size(t)/C/T,A=e.length>2,P=u?u.slice(0,-2):t.slice(0,-2),D=[Z.size(P),y,d],k=[{type:12,data:O},{type:12,data:y},{type:12,data:d},{type:12,data:w}];zt(r,k),k.push(...se(P,c,m)),A&&k.push(...se(e[2].dims)),k.push(...se(D));let G=W=>{let q=ri(\"batch_dims\",e[0].dataType,P.length),Y=X(\"a\",e[0].dataType,c.length,$),J=X(\"b\",e[1].dataType,m.length,C),oe=ie(\"output\",e[0].dataType,D.length,C),ge=Ve(oe.type.tensor),L=Mt(r,oe.type.value,ge),le=[Y,J],Te=\"\";if(A){let ve=s?C:1;le.push(X(\"bias\",e[2].dataType,e[2].dims.length,ve)),Te=`${s?`value += bias[col / ${ve}];`:`value += ${oe.type.value}(bias[row + i]);`}`}let Ue=c.slice(0,-2),je=m.slice(0,-2),Ee=Ir(Ue,P),ee=Ir(je,P),Ne=[{name:\"output_size\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"}];Ut(r,Ne);let Se=(ve,xe)=>{let Me=ve.rank,Ke=ve.name;if(Me===2)return`var ${Ke}_indices = ${ve.type.indices}(0u, 0u);`;let re=q.rank,fe=`var ${Ke}_indices: ${ve.type.indices};`;for(let _e=Me-2-1,it=re-1;_e>=0;_e--,it--)fe+=`\\n${Ke}_indices[${_e}] = ${re>1?`batch_indices[${it}]`:\"batch_indices\"};`;return xe.forEach(_e=>{fe+=`\\n${Ke}_indices[${_e}] = 0;`}),fe+=`${Ke}_indices[${Me-2}] = 0u;\\n ${Ke}_indices[${Me-1}] = 0u;`,fe},Ce=()=>{let ve=`var a_data: ${Y.type.value};`;for(let xe=0;xe<$;xe++)ve+=`\\n let b_data${xe} = b[(b_offset + (k + ${xe}) * uniforms.N + col) / ${C}];`;for(let xe=0;xe;\\n for (var k: u32 = 0u; k < uniforms.K; k = k + ${$}) {\\n ${Ce()}\\n }\\n for (var i = 0u; i < ${T}u; i++) {\\n var value = values[i];\\n ${Te}\\n ${L}\\n let cur_indices = ${oe.type.indices}(batch, row + i, col);\\n let offset = ${oe.indicesToOffset(\"cur_indices\")};\\n ${oe.setByOffset(`offset / ${C}`,\"value\")};\\n }\\n }\\n `};return{name:\"MatMulNaive\",shaderCache:{hint:`${r.activation};${C};${$};${T};${s}`,inputDependencies:A?[\"rank\",\"rank\",\"rank\"]:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(O/64)},programUniforms:k}),getShaderSource:G}},kg=e=>{if(!e||e.length!==2)throw new Error(\"MatMul requires 2 inputs.\");if(e[0].dims[e[0].dims.length-1]!==e[1].dims[e[1].dims.length-2])throw new Error(\"shared dimension does not match.\")},dd=e=>{kg(e.inputs);let r=Pt.calcShape(e.inputs[0].dims,e.inputs[1].dims,!0);if(!r)throw new Error(\"Can\\'t use matmul on the given tensors\");let t=r[r.length-1],u=e.inputs[0].dims[e.inputs[0].dims.length-1];t<8&&u<8?e.compute(to(e.inputs,{activation:\"\"},r)):e.compute(pi(e.inputs,{activation:\"\"},r))}});var Ji,cd,Rg,fd,no,Dg,Bg,io,eo=ae(()=>{\"use strict\";ke();ud();mn();ld();Yt();ro();Ar();Ji=(e,r,t,u,s,c)=>{let m=e[0],y=e.slice(c?1:2,c?3:4),d=y.length,w=r[0],$=r.slice(2).map((A,P)=>A+(A-1)*(t[P]-1)),O=y.map((A,P)=>A+u[P]+u[P+d]).map((A,P)=>Math.floor((A-$[P]+s[P])/s[P]));return O.splice(0,0,m),O.splice(c?3:1,0,w),O},cd=[2,3,1,0],Rg=(e,r)=>{if(!e||e.length!==2&&e.length!==3)throw new Error(\"Conv requires 2 or 3 inputs\");if(e[0].dims.length!==4&&e[0].dims.length!==3)throw new Error(\"currently only support conv 1D and 2D\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"filter does not have same dimension as input\");let t=e[0].dims[r.format===\"NHWC\"?e[0].dims.length-1:1],u=e[1].dims[1]*r.group;if(t!==u)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");if(e.length===3&&(e[2].dims.length!==1||e[1].dims[0]!==e[2].dims[0]))throw new Error(\"invalid bias\");let s=e[0].dims.length-2;if(r.dilations.length!==s)throw new Error(`dilations should be ${s}D`);if(r.strides.length!==s)throw new Error(`strides should be ${s}D`);if(r.pads.length!==s*2)throw new Error(`pads should be ${s*2}D`);if(r.kernelShape.length!==0&&r.kernelShape.length!==e[1].dims.length-2)throw new Error(\"invalid kernel shape\")},fd=(e,r)=>{let t=e.kernelShape.slice();for(let c=2;c{let r=li(e),t=e.format,u=[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][e.auto_pad],s=e.dilations,c=e.group,m=e.kernel_shape,y=e.pads,d=e.strides,w=e.w_is_const();return{autoPad:u,format:t,dilations:s,group:c,kernelShape:m,pads:y,strides:d,wIsConst:w,...r,cacheKey:`${e.format};${r.activation};`}},Dg=(e,r,t)=>{let u=fd(t,r),s=t.format===\"NHWC\";if(t.group!==1){e.compute(Xi(r,u));return}let c=r.length===3,m=r[0].dims[s?1:2],y=r[0].dims[s?2:3],d=r[0].dims[s?3:1],w=r[1].dims[2],C=r[1].dims[3],$=Ji(r[0].dims,r[1].dims,t.dilations,u.pads,t.strides,s),T=$[s?1:2],O=$[s?2:3],A=$[s?3:1],P=s&&w===m&&C===y&&t.pads[0]===0&&t.pads[1]===0;if(P||w===1&&C===1&&t.dilations[0]===1&&t.dilations[1]===1&&t.strides[0]===1&&t.strides[1]===1&&t.pads[0]===0&&t.pads[1]===0){let Y=$[0],J,oe,ge,L=[];if(s){let Ue=e.kernelCustomData.wT??e.compute(At(r[1],cd),{inputs:[1],outputs:[t.wIsConst?-2:-1]})[0];if(t.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=Ue),P){let je=m*y*d;J=r[0].reshape([1,Y,je]),oe=Ue.reshape([1,je,A]),ge=[1,Y,A]}else J=r[0].reshape([Y,m*y,d]),oe=Ue.reshape([1,d,A]),ge=[Y,T*O,A];L.push(J),L.push(oe)}else J=r[0].reshape([Y,d,m*y]),oe=r[1].reshape([1,A,d]),ge=[Y,A,T*O],L.push(oe),L.push(J);c&&L.push(r[2]);let le=ge[2],Te=L[0].dims[L[0].dims.length-1];le<8&&Te<8?e.compute(to(L,u,$,ge,s),{inputs:L}):e.compute(pi(L,u,$,ge,s),{inputs:L});return}let z=!0,D=e.kernelCustomData.wT??e.compute(At(r[1],cd),{inputs:[1],outputs:[t.wIsConst?-2:-1]})[0];t.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=D);let k=[r[0],D];c&&k.push(r[2]);let G=s?T*O:A,W=s?A:T*O,q=w*C*d;e.compute(sd(k,u,$,G,W,q,c,z),{inputs:k})},Bg=(e,r)=>{let t=r.format===\"NHWC\",u=[e.inputs[0].reshape(t?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];e.inputs.length===3&&u.push(e.inputs[2]);let s=[0,r.pads[0],0,r.pads[1]],c=[1].concat(r.strides),m=[1].concat(r.dilations),y=[1].concat(r.kernelShape),d=fd({...r,pads:s,strides:c,dilations:m,kernelShape:y},u);e.compute(Xi(u,d,w=>t?[w[0],w[2],w[3]]:[]))},io=(e,r)=>{Rg(e.inputs,r),e.inputs[0].dims.length===3?Bg(e,r):Dg(e,e.inputs,r)}});var Mg,pd,md=ae(()=>{\"use strict\";$e();Kt();Ae();Yt();ci();Qi();mn();Mg=(e,r=!1,t,u,s=4)=>{let c=D=>{switch(D){case 1:return\"return w[getIndexFromCoords4D(coord, vec4(uniforms.w_shape))];\";case 4:return`\\n let coord1 = vec4(coordX, coordY, col + 1, rowInner);\\n let coord2 = vec4(coordX, coordY, col + 2, rowInner);\\n let coord3 = vec4(coordX, coordY, col + 3, rowInner);\\n let v0 = w[getIndexFromCoords4D(coord, vec4(uniforms.w_shape))];\\n let v1 = w[getIndexFromCoords4D(coord1, vec4(uniforms.w_shape))];\\n let v2 = w[getIndexFromCoords4D(coord2, vec4(uniforms.w_shape))];\\n let v3 = w[getIndexFromCoords4D(coord3, vec4(uniforms.w_shape))];\\n return ${u}(v0, v1, v2, v3);\\n `;default:throw new Error(`innerElementSize ${D} is not supported.`)}},m=e?`\\n let coord = vec4(batch, iXR, iXC, xCh);\\n `:`\\n let coord = vec4(batch, xCh, iXR, iXC);\\n `,y=e?`\\n let coords = vec4(\\n batch,\\n row / outWidth,\\n row % outWidth,\\n col);\\n `:`\\n let coords = vec4(\\n batch,\\n row,\\n col / outWidth,\\n col % outWidth);\\n `,d=e?\"i32(uniforms.x_shape[1])\":\"i32(uniforms.x_shape[2])\",w=e?\"i32(uniforms.x_shape[2])\":\"i32(uniforms.x_shape[3])\",C=e?\"row\":\"col\",$=e?\"col\":\"row\",T=`\\n let inChannels = ${e?\"i32(uniforms.x_shape[3])\":\"i32(uniforms.x_shape[1])\"};\\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\\n let outRow = ${C} / outWidth;\\n let outCol = ${C} % outWidth;\\n\\n let WRow = ${$} / (uniforms.filter_dims[1] * inChannels);\\n let WCol = ${$} / inChannels % uniforms.filter_dims[1];\\n let xR = f32(outRow - uniforms.pads[0] + uniforms.dilations[0] * WRow) / f32(uniforms.strides[0]);\\n let xC = f32(outCol - uniforms.pads[1] + uniforms.dilations[1] * WCol) / f32(uniforms.strides[1]);\\n if (xR < 0.0 || xR >= f32(${d}) || fract(xR) > 0.0) {\\n return ${u}(0.0);\\n }\\n if (xC < 0.0 || xC >= f32(${w}) || fract(xC) > 0.0) {\\n return ${u}(0.0);\\n }\\n let iXR = i32(xR);\\n let iXC = i32(xC);\\n let xCh = ${$} % inChannels;\\n ${m}\\n return x[getIndexFromCoords4D(coord, vec4(uniforms.x_shape))/${s}];`,O=e?`\\n let col = colIn * ${s};\\n if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {\\n ${T}\\n }\\n return ${u}(0.0);`:`\\n let col = colIn * ${s};\\n if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {\\n ${T}\\n }\\n return ${u}(0.0);`,A=`\\n let col = colIn * ${s};\\n let inChannels = ${e?\"i32(uniforms.x_shape[3])\":\"i32(uniforms.x_shape[1])\"};\\n let coordX = uniforms.filter_dims[0] - 1 - row / (uniforms.filter_dims[1] * inChannels);\\n let coordY = uniforms.filter_dims[1] - 1 - (row / inChannels) % uniforms.filter_dims[1];\\n if (${e?\"row < uniforms.dim_inner && col < uniforms.dim_b_outer\":\"row < uniforms.dim_inner && col < uniforms.dim_a_outer\"} && coordX >= 0 && coordY >= 0) {\\n let rowInner = row % inChannels;\\n let coord = vec4(coordX, coordY, col, rowInner);\\n ${c(s)}\\n }\\n return ${u}(0.0);\\n `,P=Mt(t,u);return`\\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${u} {\\n ${e?O:A}\\n }\\n\\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${u} {\\n ${e?A:O}\\n }\\n\\n fn mm_write(batch: i32, row : i32, colIn : i32, valueInput : ${u}) {\\n let col = colIn * ${s};\\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {\\n var value = valueInput;\\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\\n ${y}\\n ${di(r)}\\n ${P}\\n result[getIndexFromCoords4D(coords, vec4(uniforms.result_shape))/${s}] = value;\\n }\\n }`},pd=(e,r,t,u,s,c,m,y)=>{let d=r.format===\"NHWC\",w=d?e[0].dims[3]:e[0].dims[1],C=t[0],$=d?t[2]:t[3],T=d?t[1]:t[2],O=d?t[3]:t[1],A=d?w%4===0&&O%4===0:$%4===0&&O%4===0,P=d?O:$*T,z=d?$*T:O,D=A?[8,8,1]:[P<=4||z<=4?4:16,P>4&&z<=4?4:16,1],k=A?[4,4,1]:[P<=4?1:4,P>4&&z<=4?1:4,1],G=[Math.ceil(P/D[0]/k[0]),Math.ceil(z/D[1]/k[1]),Math.ceil(C/D[2]/k[2])];Le(\"verbose\",()=>`[conv_backprop_mm_webgpu] dispatch = ${G}`);let W=A?4:1,q=Math.max(D[0]*W,D[1]),Y=A?4:1,J=[r.kernelShape[d?1:2],r.kernelShape[d?2:3]],oe=[J[0]+(r.dilations[0]<=1?0:(J[0]-1)*(r.dilations[0]-1)),J[1]+(r.dilations[1]<=1?0:(J[1]-1)*(r.dilations[1]-1))],ge=[oe[0]-1-Math.floor((r.pads[0]+r.pads[2])/2),oe[1]-1-Math.floor((r.pads[1]+r.pads[3])/2)],L=[{type:6,data:u},{type:6,data:s},{type:6,data:c},{type:6,data:r.strides},{type:6,data:r.dilations},{type:6,data:J},{type:6,data:ge}];zt(r,L),L.push(...se(e[0].dims,e[1].dims));let le=[\"rank\",\"rank\"];m&&(L.push(...se(e[2].dims)),le.push(\"rank\")),L.push(...se(t));let Te=Ue=>{let je=X(\"x\",e[0].dataType,e[0].dims.length,Y),Ee=X(\"w\",e[1].dataType,e[1].dims.length,1),ee=ie(\"result\",e[0].dataType,t.length,Y),Ne=[je,Ee],Se=\"\";if(m){let xe=X(\"bias\",e[2].dataType,e[2].dims.length,Y);Ne.push(xe),Se+=`\\n fn getBiasByOutputCoords(coords : vec4) -> ${xe.type.value} {\\n return bias[coords.${d?\"w\":\"y\"}${A?\"/ 4\":\"\"}];\\n }`}let Ce=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"},{name:\"strides\",type:\"i32\",length:2},{name:\"dilations\",type:\"i32\",length:2},{name:\"filter_dims\",type:\"i32\",length:J.length},{name:\"pads\",type:\"i32\",length:ge.length}];Ut(r,Ce);let ve=Ve(e[0].dataType,1);if(ve!==\"f16\"&&ve!==\"f32\")throw new Error(`elemType ${ve} is not supported.`);return`\\n ${fi(\"uniforms.result_strides\")}\\n ${Ue.registerUniforms(Ce).declareVariables(...Ne,ee)};\\n ${Se}\\n ${Mg(d,m,r,je.type.value,W)}\\n ${A?fn(k,D,ve,void 0,!d,q):pn(k,D,ve,void 0,!d,q,!1,void 0,y)}`};return{name:\"Conv2DTransposeMatMul\",shaderCache:{hint:`${r.cacheKey};${k};${D};${A}`,inputDependencies:le},getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:G[0],y:G[1],z:G[2]},programUniforms:L}),getShaderSource:Te}}});var zg,oo,hd=ae(()=>{\"use strict\";$e();Kt();ke();Ae();zg=(e,r,t,u,s,c=!1,m,y,d=!1)=>{let w=d?1:2,C=d?2:3,$=d?3:1,T=c?2:1,O=`\\n fn setOutputAtIndex(flatIndex : u32, value : ${c?`vec4<${m}>`:m}) {\\n result[flatIndex] = ${c?`vec4<${m}>`:m}(value);\\n }`;u&&(O+=`\\n fn getBiasByOutputCoords(coords : vec4) -> ${c?`vec4<${m}>`:m} {\\n return bias[coords.${d?\"w\":\"y\"}${c?\"/ 4\":\"\"}];\\n }`);let A=c?4:1,P=X(\"W\",r[1].dataType,r[1].dims.length,A),z=X(\"Dy\",r[0].dataType,r[0].dims.length,A),D=[z,P];u&&D.push(X(\"bias\",r[2].dataType,[t[$]].length,A));let k=ie(\"result\",r[0].dataType,t.length,A),G=`{\\n let batch: u32 = ${s?\"global_id.z\":\"workgroup_id.z\"} / uniforms.result_shape[1];\\n let r = ${s?\"global_id.z\":\"workgroup_id.z\"} % uniforms.result_shape[1];\\n let c = ${s?\"global_id.y\":\"workgroup_id.y\"} * ${T};\\n let d1: u32 = ${s?\"global_id.x\":\"workgroup_id.x\"} * 4;\\n\\n let dyCorner = vec2(i32(r), i32(c)) - vec2(uniforms.pads);\\n\\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\\n // ? = to be determined. : = across all values in that axis.\\n var dotProd: array, ${T}>;\\n for (var i = 0; i < ${T}; i++) {\\n dotProd[i] = vec4<${m}>(0.0);\\n }\\n for (var wR: u32 = 0; wR < uniforms.filter_dims[0]; wR = wR + 1) {\\n var dyR = (${m}(dyCorner.x) + ${m}(wR)) / ${m}(uniforms.strides.x);\\n let wRPerm = uniforms.filter_dims[0] - 1 - wR;\\n if (dyR < 0.0 || dyR >= ${m}(uniforms.Dy_shape[1]) ||\\n fract(dyR) > 0.0 || wRPerm < 0) {\\n continue;\\n }\\n let idyR: u32 = u32(dyR);\\n\\n for (var wC: u32 = 0; wC < uniforms.filter_dims[1]; wC = wC + 1) {\\n let dyC = (${m}(dyCorner.y) + ${m}(wC)) / ${m}(uniforms.strides.y);\\n let dyC2 = (${m}(dyCorner.y) + 1.0 + ${m}(wC)) / ${m}(uniforms.strides.y);\\n let wCPerm = uniforms.filter_dims[1] - 1 - wC;\\n if (wCPerm < 0) {\\n continue;\\n }\\n var bDyCVal = true;\\n var bDyCVal2 = true;\\n if (dyC < 0.0 || dyC >= ${m}(uniforms.Dy_shape[2]) ||\\n fract(dyC) > 0.0) {\\n bDyCVal = false;\\n }\\n if (dyC2 < 0.0 || dyC2 >= ${m}(uniforms.Dy_shape[2]) ||\\n fract(dyC2) > 0.0) {\\n bDyCVal2 = false;\\n }\\n\\n let idyC: u32 = u32(dyC);\\n let idyC2: u32 = u32(dyC2);\\n if (bDyCVal && bDyCVal2) {\\n let d2Length = uniforms.Dy_shape[3];\\n for (var d2 :u32 = 0; d2 < d2Length; d2 = d2 + 4) {\\n let wValue0 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1\",\"d2\")};\\n let wValue1 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 1\",\"d2\")};\\n let wValue2 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 2\",\"d2\")};\\n let wValue3 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 3\",\"d2\")};\\n\\n var xValue = ${z.get(\"batch\",\"idyR\",\"idyC\",\"d2\")};\\n let tmpval = vec4<${m}>(dot(xValue, wValue0),\\n dot(xValue, wValue1),\\n dot(xValue, wValue2),\\n dot(xValue, wValue3));\\n dotProd[0] = dotProd[0] + tmpval;\\n\\n xValue = ${z.get(\"batch\",\"idyR\",\"idyC2\",\"d2\")};\\n\\n dotProd[1] = dotProd[1] + vec4<${m}>(dot(xValue, wValue0),\\n dot(xValue, wValue1),\\n dot(xValue, wValue2),\\n dot(xValue, wValue3));\\n }\\n } else if (bDyCVal) {\\n let d2Length = uniforms.Dy_shape[${$}];\\n for (var d2: u32 = 0; d2 < d2Length; d2 = d2 + 4) {\\n let wValue0 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1\",\"d2\")};\\n let wValue1 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 1\",\"d2\")};\\n let wValue2 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 2\",\"d2\")};\\n let wValue3 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 3\",\"d2\")};\\n\\n var xValue = ${z.get(\"batch\",\"idyR\",\"idyC\",\"d2\")};\\n let tmpval = vec4<${m}>(dot(xValue, wValue0),\\n dot(xValue, wValue1),\\n dot(xValue, wValue2),\\n dot(xValue, wValue3));\\n dotProd[0] = dotProd[0] + tmpval;\\n }\\n } else if (bDyCVal2) {\\n let d2Length = uniforms.Dy_shape[3];\\n for (var d2: u32 = 0; d2 < d2Length; d2 = d2 + 4) {\\n let wValue0 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1\",\"d2\")};\\n let wValue1 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 1\",\"d2\")};\\n let wValue2 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 2\",\"d2\")};\\n let wValue3 = ${P.get(\"u32(wRPerm)\",\"u32(wCPerm)\",\"d1 + 3\",\"d2\")};\\n\\n var xValue = ${z.get(\"batch\",\"idyR\",\"idyC2\",\"d2\")};\\n let tmpval = vec4<${m}>(dot(xValue, wValue0),\\n dot(xValue, wValue1),\\n dot(xValue, wValue2),\\n dot(xValue, wValue3));\\n dotProd[1] = dotProd[1] + tmpval;\\n }\\n }\\n }\\n }\\n\\n for (var i: u32 = 0; i < ${T}; i = i + 1) {\\n let value = dotProd[i] + ${u?\"bias[c+i]\":`vec4<${m}>(0.0)`};\\n ${k.set(\"batch\",\"r\",\"c + i\",\"d1\",\"value\")};\\n }\\n }`,W=`\\n let outputIndices = ${k.offsetToIndices(\"global_idx\")};\\n let batch = ${k.indicesGet(\"outputIndices\",0)};\\n let d1 = ${k.indicesGet(\"outputIndices\",$)};\\n let r = ${k.indicesGet(\"outputIndices\",w)};\\n let c = ${k.indicesGet(\"outputIndices\",C)};\\n let dyCorner = vec2(i32(r), i32(c)) - uniforms.pads;\\n let dyRCorner = dyCorner.x;\\n let dyCCorner = dyCorner.y;\\n let groupId = d1 / uniforms.output_channels_per_group;\\n let wOutChannel = d1 - groupId * uniforms.output_channels_per_group;\\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\\n // ? = to be determined. : = across all values in that axis.\\n var dotProd = ${m}(0.0);\\n for (var wR: u32 = 0; wR < uniforms.effective_filter_dims.x; wR = wR + 1) {\\n if (wR % uniforms.dilations.x != 0) {\\n continue;\\n }\\n let dyR = (${m}(dyRCorner) + ${m}(wR)) / ${m}(uniforms.strides[0]);\\n let wRPerm = uniforms.filter_dims.x - 1 - wR / uniforms.dilations.x;\\n if (dyR < 0.0 || dyR >= ${m}(uniforms.Dy_shape[${w}]) || fract(dyR) > 0.0 ||\\n wRPerm < 0) {\\n continue;\\n }\\n let idyR: u32 = u32(dyR);\\n\\n for (var wC: u32 = 0; wC < uniforms.effective_filter_dims.y; wC = wC + 1) {\\n if (wC % uniforms.dilations.y != 0) {\\n continue;\\n }\\n let dyC = (${m}(dyCCorner) + ${m}(wC)) / ${m}(uniforms.strides.y);\\n let wCPerm = uniforms.filter_dims.y - 1 - wC / uniforms.dilations.y;\\n if (dyC < 0.0 || dyC >= ${m}(uniforms.Dy_shape[${C}]) ||\\n fract(dyC) > 0.0 || wCPerm < 0) {\\n continue;\\n }\\n let idyC: u32 = u32(dyC);\\n var inputChannel = groupId * uniforms.input_channels_per_group;\\n for (var d2: u32 = 0; d2 < uniforms.input_channels_per_group; d2 = d2 + 1) {\\n let xValue = ${d?z.get(\"batch\",\"idyR\",\"idyC\",\"inputChannel\"):z.get(\"batch\",\"inputChannel\",\"idyR\",\"idyC\")};\\n let wValue = ${P.get(\"inputChannel\",\"wOutChannel\",\"u32(wRPerm)\",\"u32(wCPerm)\")};\\n dotProd = dotProd + xValue * wValue;\\n inputChannel = inputChannel + 1;\\n }\\n }\\n }\\n let value = dotProd + ${u?\"bias[d1]\":`${m}(0.0)`};\\n ${k.setByOffset(\"global_idx\",\"value\")};\\n `;return`\\n ${e.registerUniforms(y).declareVariables(...D,k)}\\n ${O}\\n\\n ${e.mainStart()}\\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")};\\n ${c?G:W}}`},oo=(e,r,t)=>{let u=e.length>2,s=r.outputShape,c=Z.size(s),m=[Math.ceil(c/64),1,1];Le(\"verbose\",()=>`[conv2d_backprop_webgpu] dispatch = ${m}`);let y=r.format===\"NHWC\",d=[\"rank\",\"rank\"],w=[r.strides[0],r.strides[1]],C=[r.kernelShape[y?1:2],r.kernelShape[y?2:3]],$=[r.dilations[0],r.dilations[1]],T=[C[0]+(r.dilations[0]<=1?0:(r.kernelShape[y?1:2]-1)*(r.dilations[0]-1)),C[1]+(r.dilations[1]<=1?0:(r.kernelShape[y?2:3]-1)*(r.dilations[1]-1))],O=[T[0]-1-Math.floor((r.pads[0]+r.pads[2])/2),T[1]-1-Math.floor(r.pads[1]+r.pads[3])/2],A=!1,P=r.group,z=e[1].dims,D=z[0]/P,k=z[1],G=[{type:6,data:c},{type:12,data:w},{type:12,data:C},{type:12,data:$},{type:12,data:T},{type:6,data:O},{type:12,data:D},{type:12,data:k},...se(e[0].dims,e[1].dims)];u&&(G.push(...se(e[2].dims)),d.push(\"rank\")),G.push(...se(s));let W=m[1]===1&&m[2]===1,q=Y=>{let J=[{name:\"output_size\",type:\"u32\"},{name:\"strides\",type:\"u32\",length:w.length},{name:\"filter_dims\",type:\"u32\",length:C.length},{name:\"dilations\",type:\"u32\",length:C.length},{name:\"effective_filter_dims\",type:\"u32\",length:T.length},{name:\"pads\",type:\"i32\",length:O.length},{name:\"input_channels_per_group\",type:\"u32\"},{name:\"output_channels_per_group\",type:\"u32\"}],oe=Ve(e[0].dataType);return`${zg(Y,e,s,u,W,A,oe,J,y)}`};return{name:\"ConvTranspose2D\",shaderCache:{hint:`${r.cacheKey};`,inputDependencies:d},getRunData:()=>({dispatchGroup:{x:m[0],y:m[1],z:m[2]},outputs:[{dims:t?t(s):s,dataType:e[0].dataType}],programUniforms:G}),getShaderSource:q}}});var Ug,jg,Vg,gd,yd,Ng,Wg,Gg,Hg,bd,vd=ae(()=>{\"use strict\";md();hd();Yt();Ar();Ug=(e,r,t,u,s,c)=>(e-1)*r+t+(u-1)*s+1-c,jg=(e,r,t,u,s)=>{let c=Math.floor(e/2);r===\"SAME_UPPER\"?(t[u]=c,t[s]=e-c):r===\"SAME_LOWER\"&&(t[u]=e-c,t[s]=c)},Vg=(e,r,t,u,s,c,m,y,d,w)=>{let C=e.length-2,$=w.length===0;if(d.length===0)for(let A=0;A{let t=e.kernelShape.slice();if(e.kernelShape.length===0||e.kernelShape.reduce(($,T)=>$*T,1)===0){t.length=0;for(let $=2;$$+T,0)===0){let $=r[0].dims.length-2;d=new Array($).fill(1)}let w=e.strides.slice();if(w.reduce(($,T)=>$+T,0)===0){let $=r[0].dims.length-2;w=new Array($).fill(1)}Vg(y,t,d,e.autoPad,e.group,s,w,u,m,c);let C=Object.assign({},e);return Object.assign(C,{kernelShape:t,pads:s,outputPadding:m,outputShape:c,dilations:d,strides:w}),C},yd=e=>{let r=li(e),t=e.format,u=[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][typeof e.autoPad>\"u\"?0:e.autoPad],s=e.dilations,c=e.group,m=e.kernelShape,y=e.pads,d=e.strides,w=e.wIsConst(),C=e.outputPadding,$=e.outputShape;return{autoPad:u,format:t,dilations:s,group:c,kernelShape:m,outputPadding:C,outputShape:$,pads:y,strides:d,wIsConst:w,...r,cacheKey:`${e.format};${r.activation};`}},Ng=(e,r)=>{if(!e||e.length!==2&&e.length!==3)throw new Error(\"Conv requires 2 or 3 inputs\");if(e[0].dims.length!==4&&e[0].dims.length!==3)throw new Error(\"currently only support 2-dimensional conv\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"filter does not have same dimension as input\");let t=e[0].dims[r.format===\"NHWC\"?e[0].dims.length-1:1],u=e[1].dims[0];if(t!==u)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");let s=e[1].dims[1]*r.group;if(e.length===3&&(e[2].dims.length!==1||e[2].dims[0]!==s))throw new Error(\"invalid bias\");let c=e[0].dims.length-2;if(r.dilations.reduce((C,$)=>C+$,0)>0&&r.dilations.length!==c)throw new Error(`dilations should be ${c}D`);if(r.strides.reduce((C,$)=>C+$,0)>0&&r.strides.length!==c)throw new Error(`strides should be ${c}D`);if(r.pads.reduce((C,$)=>C+$,0)>0&&r.pads.length!==c*2)throw new Error(`pads should be ${c*2}D`);if(r.outputPadding.length!==c&&r.outputPadding.length!==0)throw new Error(`output_padding should be ${c}D`);if(r.kernelShape.reduce((C,$)=>C+$,0)>0&&r.kernelShape.length!==0&&r.kernelShape.length!==e[1].dims.length-2)throw new Error(\"invalid kernel shape\");if(r.outputShape.length!==0&&r.outputShape.length!==e[0].dims.length-2)throw new Error(\"invalid output shape\")},Wg=[2,3,1,0],Gg=(e,r,t)=>{let u=gd(t,r),s=t.format===\"NHWC\",c=u.outputShape,m=c[s?3:1],y=r[0].dims[s?3:1];if(u.group!==1||m===1&&y===1){e.compute(oo(r,u));return}let d=c[s?1:2],w=c[s?2:3],C=r[1].dims[2],$=r[1].dims[3],T=s?d*w:m,O=s?m:d*w,A=C*$*y,P=!0,z=e.kernelCustomData.wT??e.compute(At(r[1],Wg),{inputs:[1],outputs:[t.wIsConst?-2:-1]})[0];t.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=z);let D=[r[0],z],k=r.length===3;k&&(!s&&r[2].dims.length===1?D.push(r[2].reshape([r[2].dims[0],1,1])):D.push(r[2])),e.compute(pd(D,u,c,T,O,A,k,P),{inputs:D})},Hg=(e,r)=>{let t=r.format===\"NHWC\",u=[e.inputs[0].reshape(t?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];u.length===3&&u.push(e.inputs[2]);let s=r.kernelShape;(s.length===0||s[0]===0)&&(s=[e.inputs[1].dims[2]]);let c=r.dilations;(c.length===0||c[0]===0)&&(c=[1]);let m=r.strides;(m.length===0||m[0]===0)&&(m=[1]);let y=r.pads;y.length===0&&(y=[0,0]),y=[0,y[0],0,y[1]],m=[1].concat(m),c=[1].concat(c),s=[1].concat(s);let d=gd({...r,pads:y,strides:m,dilations:c,kernelShape:s},u);e.compute(oo(u,d,w=>t?[w[0],w[2],w[3]]:[w[0],w[1],w[3]]))},bd=(e,r)=>{Ng(e.inputs,r),e.inputs[0].dims.length===3?Hg(e,r):Gg(e,e.inputs,r)}});var Lg,wd,_d,$d=ae(()=>{\"use strict\";$e();ke();nt();Ae();Lg=(e,r,t,u)=>{let s=Z.size(r),c=r.length,m=X(\"input\",e,c),y=ie(\"output\",e,c),d=t.dataType===6?t.getInt32Array()[0]:Number(t.getBigInt64Array()[0]),w=Z.normalizeAxis(d,c),C=$=>{let T=` i32(${m.indicesGet(\"inputIndices\",\"uniforms.axis\")}) `,O=we(\"uniforms.input_shape\",\"uniforms.axis\",c),A=u.reverse?T+(u.exclusive?\" + 1\":\"\"):\"0\",P=u.reverse?O:T+(u.exclusive?\"\":\" + 1\");return`\\n ${$.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axis\",\"u32\").declareVariables(m,y)}\\n ${$.mainStart()}\\n ${$.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n var inputIndices = ${y.offsetToIndices(\"global_idx\")};\\n var sum = ${y.type.value}(0);\\n let first : i32 = ${A};\\n let last : i32 = ${P};\\n for (var i : i32 = first; i < last; i++) {\\n ${m.indicesSet(\"inputIndices\",\"uniforms.axis\",\"u32(i)\")};\\n sum = sum + ${m.getByIndices(\"inputIndices\")};\\n }\\n ${y.setByOffset(\"global_idx\",\"sum\")};\\n }`};return{name:\"CumSum\",shaderCache:{hint:u.cacheKey,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:r,dataType:e}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:[{type:12,data:s},{type:6,data:w},...se(r,r)]}),getShaderSource:C}},wd=(e,r)=>{let t=e.inputs[0].dims,u=e.inputs[0].dataType,s=e.inputs[1];e.compute(Lg(u,t,s,r),{inputs:[0]})},_d=e=>{let r=e.exclusive===1,t=e.reverse===1;return Oe({exclusive:r,reverse:t})}});var ao,mi,Cd,Fg,qg,so,uo,Sd,Kg,xd,Id,Ad=ae(()=>{\"use strict\";$e();ke();nt();Ae();ao=\"[a-zA-Z]|\\\\\\\\.\\\\\\\\.\\\\\\\\.\",mi=\"(\"+ao+\")+\",Cd=\"^\"+mi+\"$\",Fg=\"(\"+mi+\",)*\"+mi,qg=\"^\"+Fg+\"$\",so=class{constructor(r=-1){this.symbolToIndices=new Map,this.inputIndex=r}addSymbol(r,t){let u=this.symbolToIndices.get(r);u===void 0?u=[t]:u.push(t),this.symbolToIndices.set(r,u)}},uo=class{constructor(r,t){this.equation=t;this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=new Array,this.outputDims=[];let[u,s]=t.includes(\"->\")?t.split(\"->\",2):[t,\"\"];if(!u.match(RegExp(qg)))throw new Error(\"Invalid LHS term\");if(u.split(\",\").forEach((y,d)=>{let w=r[d].dims.slice();if(!y.match(RegExp(Cd)))throw new Error(\"Invalid LHS term\");let C=this.processTerm(y,!0,w,d);this.lhs.push(C)}),s===\"\")s+=[...this.symbolToInfo.entries()].filter(([y,d])=>d.count===1||y===\"...\").map(([y])=>y).join(\"\");else if(!s.match(RegExp(mi)))throw new Error(\"Invalid RHS\");s.match(RegExp(ao,\"g\"))?.forEach(y=>{if(y===\"...\")this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let d=this.symbolToInfo.get(y);if(d===void 0)throw new Error(\"Invalid RHS symbol\");this.outputDims.push(d.dimValue)}}),this.rhs=this.processTerm(s,!1,this.outputDims)}addSymbol(r,t,u){let s=this.symbolToInfo.get(r);if(s!==void 0){if(s.dimValue!==t&&s.count!==1)throw new Error(\"Dimension mismatch\");s.count++,s.inputIndices.push(u)}else s={count:1,dimValue:t,inputIndices:[u]};this.symbolToInfo.set(r,s)}processTerm(r,t,u,s=-1){let c=u.length,m=!1,y=[],d=0;if(!r.match(RegExp(Cd))&&!t&&r!==\"\")throw new Error(\"Invalid LHS term\");let w=r.match(RegExp(ao,\"g\")),C=new so(s);return w?.forEach(($,T)=>{if($===\"...\"){if(m)throw new Error(\"Only one ellipsis is allowed per input term\");m=!0;let O=c-w.length+1;if(O<0)throw new Error(\"Ellipsis out of bounds\");if(y=u.slice(d,d+O),this.hasEllipsis){if(this.ellipsisDims.length!==y.length||this.ellipsisDims.toString()!==y.toString())throw new Error(\"Ellipsis dimensions mismatch\")}else if(t)this.hasEllipsis=!0,this.ellipsisDims=y;else throw new Error(\"Ellipsis must be specified in the LHS\");for(let A=0;Ae+\"_max\",Kg=(e,r,t,u)=>{let c=e.map(C=>C.length).map((C,$)=>X(`input${$}`,r,C)),m=Z.size(u),y=ie(\"output\",r,u.length),d=[...t.symbolToInfo.keys()].filter(C=>!t.rhs.symbolToIndices.has(C)),w=C=>{let $=[],T=\"var prod = 1.0;\",O=\"var sum = 0.0;\",A=\"sum += prod;\",P=[],z=[],D=[],k=[],G=t.symbolToInfo.size===t.rhs.symbolToIndices.size;t.symbolToInfo.forEach((q,Y)=>{if(t.rhs.symbolToIndices.has(Y)){let J=t.rhs.symbolToIndices.get(Y)?.[0];J!==void 0&&t.lhs.forEach((oe,ge)=>{if(q.inputIndices.includes(ge)){let L=oe.symbolToIndices.get(Y);if(L===void 0)throw new Error(\"Invalid symbol error\");L.forEach(le=>{$.push(`${c[ge].indicesSet(`input${ge}Indices`,le,y.indicesGet(\"outputIndices\",J))}`)})}})}else t.lhs.forEach((J,oe)=>{if(q.inputIndices.includes(oe)){let ge=J.symbolToIndices.get(Y);if(ge===void 0)throw new Error(\"Invalid symbol error\");ge.forEach(L=>{P.push(`${c[oe].indicesSet(`input${oe}Indices`,L,`${Y}`)}`)}),k.push(`prod *= ${c[oe].getByIndices(`input${oe}Indices`)};`)}}),z.push(`for(var ${Y}: u32 = 0; ${Y} < uniforms.${Sd(Y)}; ${Y}++) {`),D.push(\"}\")});let W=G?[...$,`let sum = ${c.map((q,Y)=>q.getByIndices(`input${Y}Indices`)).join(\" * \")};`]:[...$,O,...z,...P,T,...k,A,...D];return`\\n ${C.registerUniforms(d.map(q=>({name:`${Sd(q)}`,type:\"u32\"}))).registerUniform(\"outputSize\",\"u32\").declareVariables(...c,y)}\\n\\n ${C.mainStart()}\\n ${C.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n var outputIndices = ${y.offsetToIndices(\"global_idx\")};\\n ${c.map((q,Y)=>`var input${Y}Indices: ${c[Y].type.indices};`).join(`\\n`)}\\n ${W.join(`\\n`)};\\n ${y.setByOffset(\"global_idx\",\"sum\")};\\n }`};return{name:\"Einsum\",shaderCache:{hint:t.equation,inputDependencies:e.map(()=>\"rank\")},getRunData:()=>{let C=d.filter(T=>t.symbolToInfo.has(T)).map(T=>({type:12,data:t.symbolToInfo.get(T)?.dimValue||0}));C.push({type:12,data:m});let $=e.map((T,O)=>[...se(T)]).reduce((T,O)=>T.concat(O),C);return $.push(...se(u)),{outputs:[{dims:u,dataType:r}],dispatchGroup:{x:Math.ceil(m/64)},programUniforms:$}},getShaderSource:w}},xd=(e,r)=>{let t=new uo(e.inputs,r.equation),u=t.outputDims,s=e.inputs.map((c,m)=>c.dims);e.compute(Kg(s,e.inputs[0].dataType,t,u))},Id=e=>{let r=e.equation.replace(/\\\\s+/g,\"\");return Oe({equation:r})}});var Yg,Td,Zg,Qg,Ed,Pd=ae(()=>{\"use strict\";$e();ke();Ae();Yg=e=>{if(!e||e.length!==2)throw new Error(\"Expand requires 2 input.\");let r=e[0].dims,t=Array.from(e[1].getBigInt64Array(),Number),u=t.length{let t=e.length-r.length,u=[];for(let s=0;se.length>r.length?Td(e,r):Td(r,e),Qg=e=>{let r=e[0].dims,t=Array.from(e[1].getBigInt64Array(),Number),u=Zg(r,t),s=e[0].dataType,c=s===9?4:1,m=Math.ceil(Z.size(u)/c),y=w=>{let C=X(\"input\",s,r.length,c),$=ie(\"output\",s,u.length,c),T;if(s===9){let O=(A,P,z=\"\")=>`\\n let outputIndices${P} = ${$.offsetToIndices(`outputOffset + ${P}u`)};\\n let offset${P} = ${C.broadcastedIndicesToOffset(`outputIndices${P}`,$)};\\n let index${P} = offset${P} / 4u;\\n let component${P} = offset${P} % 4u;\\n ${A}[${P}] = ${z}(${C.getByOffset(`index${P}`)}[component${P}]);\\n `;T=`\\n let outputOffset = global_idx * ${c};\\n var data = vec4(0);\\n ${O(\"data\",0,\"u32\")}\\n ${O(\"data\",1,\"u32\")}\\n ${O(\"data\",2,\"u32\")}\\n ${O(\"data\",3,\"u32\")}\\n ${$.setByOffset(\"global_idx\",\"data\")}\\n }`}else T=`\\n let outputIndices = ${$.offsetToIndices(\"global_idx\")};\\n let inputOffset = ${C.broadcastedIndicesToOffset(\"outputIndices\",$)};\\n ${$.setByOffset(\"global_idx\",C.getByOffset(\"inputOffset\"))}\\n }`;return`\\n ${w.registerUniform(\"vec_size\",\"u32\").declareVariables(C,$)}\\n ${w.mainStart()}\\n ${w.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\\n ${T}`},d=[{type:12,data:m},...se(r,u)];return{name:\"Expand\",shaderCache:{hint:`${u.length}`,inputDependencies:[\"rank\"]},getShaderSource:y,getRunData:()=>({outputs:[{dims:u,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(m/64)},programUniforms:d})}},Ed=e=>{Yg(e.inputs),e.compute(Qg(e.inputs),{inputs:[0]})}});var Xg,Od,kd=ae(()=>{\"use strict\";$e();ke();Ae();ui();Xg=e=>{let r=e[0].dataType,t=Z.size(e[0].dims),u=Z.size(e[1].dims),s=u%4===0,c=m=>{let y=X(\"x\",r,[1],4),d=X(\"bias\",r,[1],4),w=ie(\"y\",r,[1],4),C=[{name:\"output_vec_size\",type:\"u32\"},{name:\"bias_size\",type:\"u32\"}],$=O=>`\\n let bias${O}_offset: u32 = (global_idx * 4 + ${O}) % uniforms.bias_size;\\n let bias${O} = ${d.getByOffset(`bias${O}_offset / 4`)}[bias${O}_offset % 4];`,T=s?`\\n let bias = ${d.getByOffset(\"global_idx % (uniforms.bias_size / 4)\")};`:`${$(0)}${$(1)}${$(2)}${$(3)}\\n let bias = ${y.type.value}(bias0, bias1, bias2, bias3);`;return`${m.registerUniforms(C).declareVariables(y,d,w)}\\n\\n ${Yi(ft(r))}\\n\\n ${m.mainStart(ti)}\\n ${m.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_vec_size\")}\\n\\n let x = ${y.getByOffset(\"global_idx\")};\\n ${T}\\n let x_in = x + bias;\\n ${w.setByOffset(\"global_idx\",Zi(\"x_in\"))}\\n }`};return{name:\"FastGeluWithBias\",shaderCache:{hint:`${s}`,inputDependencies:[\"type\",\"type\"]},getShaderSource:c,getRunData:m=>({outputs:[{dims:m[0].dims,dataType:m[0].dataType}],programUniforms:[{type:12,data:Math.ceil(t/4)},{type:12,data:u}],dispatchGroup:{x:Math.ceil(t/ti/4)}})}},Od=e=>{e.inputs.length<2||Z.size(e.inputs[1].dims)===0?Vl(e):e.compute(Xg(e.inputs))}});var Jg,ey,Rd,Dd,Bd=ae(()=>{\"use strict\";$e();ke();nt();Ae();Jg=e=>{if(!e||e.length!==2)throw new Error(\"Gather requires 2 inputs.\")},ey=(e,r)=>{let t=e[0].dims,u=e[1].dims,s=t.length,c=Z.normalizeAxis(r.axis,s),m=t.slice(0);m.splice(c,1,...u);let y=t[c],d=e[0].dataType===9?4:1,w=Math.ceil(Z.size(m)/d),C=[{type:12,data:w},{type:6,data:y},{type:12,data:c},...se(e[0].dims,e[1].dims,m)],$=T=>{let O=X(\"data\",e[0].dataType,e[0].dims.length,d),A=X(\"inputIndices\",e[1].dataType,e[1].dims.length),P=ie(\"output\",e[0].dataType,m.length,d),z=k=>{let G=u.length,W=`var indicesIndices${k} = ${A.type.indices}(0);`;for(let q=0;q1?`indicesIndices${k}[${q}]`:`indicesIndices${k}`} = ${m.length>1?`outputIndices${k}[uniforms.axis + ${q}]`:`outputIndices${k}`};`;W+=`\\n var idx${k} = ${A.getByIndices(`indicesIndices${k}`)};\\n if (idx${k} < 0) {\\n idx${k} = idx${k} + uniforms.axisDimLimit;\\n }\\n var dataIndices${k} : ${O.type.indices};\\n `;for(let q=0,Y=0;q1?`dataIndices${k}[${q}]`:`dataIndices${k}`} = u32(idx${k});`,Y+=G):(W+=`${s>1?`dataIndices${k}[${q}]`:`dataIndices${k}`} = ${m.length>1?`outputIndices${k}[${Y}]`:`outputIndices${k}`};`,Y++);return W},D;if(e[0].dataType===9){let k=(G,W,q=\"\")=>`\\n let outputIndices${W} = ${P.offsetToIndices(`outputOffset + ${W}u`)};\\n ${z(W)};\\n let offset${W} = ${O.indicesToOffset(`dataIndices${W}`)};\\n let index${W} = offset${W} / 4u;\\n let component${W} = offset${W} % 4u;\\n ${G}[${W}] = ${q}(${O.getByOffset(`index${W}`)}[component${W}]);\\n `;D=`\\n let outputOffset = global_idx * ${d};\\n var value = vec4(0);\\n ${k(\"value\",0,\"u32\")}\\n ${k(\"value\",1,\"u32\")}\\n ${k(\"value\",2,\"u32\")}\\n ${k(\"value\",3,\"u32\")}\\n ${P.setByOffset(\"global_idx\",\"value\")}\\n `}else D=`\\n let outputIndices = ${P.offsetToIndices(\"global_idx\")};\\n ${z(\"\")};\\n let value = ${O.getByIndices(\"dataIndices\")};\\n ${P.setByOffset(\"global_idx\",\"value\")};\\n `;return`\\n ${T.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axisDimLimit\",\"i32\").registerUniform(\"axis\",\"u32\").declareVariables(O,A,P)}\\n ${T.mainStart()}\\n ${T.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n ${D}\\n }`};return{name:\"Gather\",shaderCache:{hint:r.cacheKey,inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:m,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(w/64)},programUniforms:C}),getShaderSource:$}},Rd=e=>Oe({axis:e.axis}),Dd=(e,r)=>{let t=e.inputs;Jg(t),e.compute(ey(e.inputs,r))}});var ty,ry,Md,zd,Ud=ae(()=>{\"use strict\";$e();ke();nt();Ae();ty=e=>{if(!e||e.length!==2)throw new Error(\"GatherElements requires 2 inputs.\");if(e[0].dims.length<1)throw new Error(\"GatherElements requires that the data input be rank >= 1.\");if(e[0].dims.length!==e[1].dims.length)throw new Error(`GatherElements requires that the data input and\\n indices input tensors be of same rank.`)},ry=(e,r)=>{let t=e[0].dims,u=e[0].dataType,s=t.length,c=e[1].dims,m=e[1].dataType,y=Z.normalizeAxis(r.axis,s),d=t[y],w=c.slice(0),C=Z.size(w),$=X(\"input\",u,s),T=X(\"indicesInput\",m,c.length),O=ie(\"output\",u,w.length),A=[{type:12,data:C},{type:6,data:d},{type:12,data:y}];return A.push(...se(t,c,w)),{name:\"GatherElements\",shaderCache:{inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:w,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(C/64)},programUniforms:A}),getShaderSource:D=>`\\n ${D.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axisDimLimit\",\"i32\").registerUniform(\"axis\",\"u32\").declareVariables($,T,O)}\\n ${D.mainStart()}\\n ${D.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n\\n let outputIndices = ${O.offsetToIndices(\"global_idx\")};\\n\\n var idx = ${T.getByOffset(\"global_idx\")};\\n if (idx < 0) {\\n idx = idx + uniforms.axisDimLimit;\\n }\\n var inputIndices = ${$.type.indices}(outputIndices);\\n ${$.indicesSet(\"inputIndices\",\"uniforms.axis\",\"u32(idx)\")};\\n let value = ${$.getByIndices(\"inputIndices\")};\\n\\n ${O.setByOffset(\"global_idx\",\"value\")};\\n }`}},Md=e=>Oe({axis:e.axis}),zd=(e,r)=>{let t=e.inputs;ty(t),e.compute(ry(e.inputs,r))}});var ny,iy,jd,Vd,Nd=ae(()=>{\"use strict\";$e();ke();Ae();ny=e=>{if(!e)throw new Error(\"Input is missing\");if(e.length<2||e.length>3)throw new Error(\"Invaid input number.\");if(e.length===3&&e[2].dims.length>2)throw new Error(\"Invalid input shape of C\");if(e[0].dataType!==e[1].dataType||e.length===3&&e[0].dataType!==e[2].dataType)throw new Error(\"Input types are mismatched\")},iy=(e,r)=>{let t=e[0].dims.slice(),u=e[1].dims.slice(),[s,c,m]=Xn.getShapeOfGemmResult(t,r.transA,u,r.transB,e.length===3?e[2].dims:void 0),y=[s,c];if(!y)throw new Error(\"Can\\'t use gemm on the given tensors\");let d=Z.size(y),w=[{type:12,data:d},{type:12,data:s},{type:12,data:c},{type:12,data:m},{type:1,data:r.alpha},{type:1,data:r.beta}],C=[\"type\",\"type\"];e.length===3&&(w.push(...se(e[2].dims)),C.push(\"rank\")),w.push(...se(y));let $=T=>{let O=\"\";r.transA&&r.transB?O=\"value += a[k * uniforms.M + m] * b[n * uniforms.K + k];\":r.transA&&!r.transB?O=\"value += a[k * uniforms.M + m] * b[k * uniforms.N + n];\":!r.transA&&r.transB?O=\"value += a[m * uniforms.K + k] * b[n * uniforms.K + k];\":!r.transA&&!r.transB&&(O=\"value += a[m * uniforms.K + k] * b[k * uniforms.N + n];\");let A=r.alpha===1?\"\":\"value *= uniforms.alpha;\",P=X(\"a\",e[0].dataType,e[0].dims),z=X(\"b\",e[1].dataType,e[1].dims),D=P.type.value,k=null,G=[P,z];e.length===3&&(k=X(\"c\",e[2].dataType,e[2].dims.length),G.push(k));let W=ie(\"output\",e[0].dataType,y.length);G.push(W);let q=[{name:\"output_size\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}];return`\\n ${T.registerUniforms(q).declareVariables(...G)}\\n\\n ${T.mainStart()}\\n ${T.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n\\n let m = global_idx / uniforms.N;\\n let n = global_idx % uniforms.N;\\n\\n var value = ${D}(0);\\n for (var k: u32 = 0u; k < uniforms.K; k++) {\\n ${O}\\n }\\n\\n ${A}\\n ${(()=>k!=null?`let cOffset = ${k.broadcastedIndicesToOffset(\"vec2(m, n)\",W)}; value += ${D}(uniforms.beta) * ${k.getByOffset(\"cOffset\")};`:\"\")()}\\n output[global_idx] = value;\\n }`};return{name:\"Gemm\",shaderCache:{hint:`${r.cacheKey}`,inputDependencies:C},getRunData:()=>({outputs:[{dims:y,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(d/64)},programUniforms:w}),getShaderSource:$}},jd=e=>{let r=e.transA,t=e.transB,u=e.alpha,s=e.beta;return{transA:r,transB:t,alpha:u,beta:s,cacheKey:`${e.transA};${e.transB};${e.alpha===1}`}},Vd=(e,r)=>{ny(e.inputs),e.compute(iy(e.inputs,r))}});var oy,ay,sy,Wd,Gd=ae(()=>{\"use strict\";$e();ke();Ae();oy=(e,r)=>{let t=e[0].dims,u=t,s=2,c=Z.sizeToDimension(t,s),m=Z.sizeFromDimension(t,s),y=Je(m),d=m/y,w=[t[0],t[1],d],C=[\"rank\",\"type\",\"type\"],$=[{type:12,data:m},{type:12,data:d}];$.push(...se(w,w));let T=O=>{let A=X(\"x\",e[0].dataType,w.length,y),P=X(\"scale\",e[1].dataType,e[1].dims),z=X(\"bias\",e[2].dataType,e[2].dims),D=ie(\"output\",e[0].dataType,w.length,y),k=[A,P,z,D],G=A.type.value,W=y===1?\"f32\":`vec${y}`,q=64,Y=[{name:\"normSize\",type:\"u32\"},{name:\"normPackedSize\",type:\"u32\"}];return`\\n var meanShared : f32;\\n var squaredNormShared : f32;\\n var workgroupShared : array<${W}, ${q}>;\\n const workgroupSize = ${q}u;\\n ${O.registerUniforms(Y).declareVariables(...k)}\\n ${O.mainStart(q)}\\n let norm = global_idx / workgroupSize;\\n let batch = norm / uniforms.x_shape[1];\\n let channel = norm % uniforms.x_shape[1];\\n let localIndex = local_id.x;\\n\\n // initialize workgroup memory\\n var initial = ${W}(0);\\n for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\\n initial = initial + ${W}(${A.get(\"batch\",\"channel\",\"h\")});\\n }\\n workgroupShared[localIndex] = initial;\\n workgroupBarrier();\\n\\n // Calculate the mean of current channel data.\\n for (var currSize = workgroupSize >> 1; currSize > 0; currSize = currSize >> 1) {\\n if (localIndex < currSize) {\\n workgroupShared[localIndex] = workgroupShared[localIndex] + workgroupShared[localIndex + currSize];\\n }\\n workgroupBarrier();\\n }\\n if (localIndex == 0) {\\n meanShared = ${pt(\"workgroupShared[0]\",y)} / f32(uniforms.normSize);\\n }\\n workgroupBarrier();\\n\\n // reinitialize workgroup memory.\\n initial = ${W}(0);\\n for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\\n let deviation = ${W}(${A.get(\"batch\",\"channel\",\"h\")}) - ${W}(meanShared);\\n initial = initial + deviation * deviation;\\n }\\n workgroupShared[localIndex] = initial;\\n workgroupBarrier();\\n\\n // Calculate the sum of square of deviation of current channel data.\\n for (var currSize = workgroupSize >> 1; currSize > 0; currSize = currSize >> 1) {\\n if (localIndex < currSize) {\\n workgroupShared[localIndex] = workgroupShared[localIndex] + workgroupShared[localIndex + currSize];\\n }\\n workgroupBarrier();\\n }\\n if (localIndex == 0) {\\n squaredNormShared = ${pt(\"workgroupShared[0]\",y)};\\n }\\n workgroupBarrier();\\n\\n let invStdDev = inverseSqrt(squaredNormShared / f32(uniforms.normSize) + f32(${r.epsilon}));\\n let channelScale = invStdDev * f32(${P.getByOffset(\"channel\")});\\n let channelShift = f32(${z.getByOffset(\"channel\")}) - meanShared * channelScale;\\n for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\\n let value = ${A.get(\"batch\",\"channel\",\"h\")} * ${G}(${W}(channelScale)) + ${G}(${W}(channelShift));\\n ${D.set(\"batch\",\"channel\",\"h\",\"value\")};\\n }\\n }`};return{name:\"InstanceNormalization\",shaderCache:{hint:`${r.epsilon};${y}`,inputDependencies:C},getRunData:()=>({outputs:[{dims:u,dataType:e[0].dataType}],dispatchGroup:{x:c},programUniforms:$}),getShaderSource:T}},ay=(e,r,t,u,s,c,m,y)=>{let d=Je(m),w=64,C=d===1?\"vec2f\":`mat2x${d}f`,$=d===1?\"f32\":`vec${d}f`,T=(Y,J)=>`${C}(${Y}, ${J})`,O=s*m/d,A=Math.ceil(c/w),P=[\"type\"],z=[{type:12,data:A},{type:12,data:c},{type:12,data:Math.floor(m/d)},{type:12,data:Math.floor(c*m/d)}],D=Y=>{let J=X(\"input\",r.dataType,r.dims,d);return`\\n ${Y.declareVariables(J)}\\n @group(0) @binding(1) var output : array<${C}>;\\n struct Uniforms {wg_size:u32, H:u32, C:u32, image_size:u32};\\n @group(0) @binding(2) var uniforms: Uniforms;\\n\\n ${Y.mainStart(w)}\\n let currentImageNumber = global_idx / ${w} / uniforms.C;\\n let currentChannelNumber = (global_idx / ${w}) % uniforms.C;\\n let wgId = global_idx % ${w};\\n let wgOffset = wgId * uniforms.wg_size;\\n if (wgOffset >= uniforms.H) {\\n return;\\n }\\n let wgMax = min(wgOffset + uniforms.wg_size, uniforms.H);\\n\\n let offset = currentImageNumber * uniforms.image_size + currentChannelNumber;\\n var sum = ${at(\"f32\",d)};\\n var squaredSum = ${at(\"f32\",d)};\\n for (var i: u32 = wgOffset; i < wgMax; i++) {\\n let value = ${$}(input[offset + i * uniforms.C]);\\n sum += value;\\n squaredSum += value * value;\\n }\\n output[global_idx] = ${T(\"sum\",\"squaredSum\")};\\n }`},k=e.compute({name:\"InstanceNormComputeMean\",shaderCache:{hint:`${d}`,inputDependencies:P},getRunData:()=>({outputs:[{dims:[s,m,w,2],dataType:1}],dispatchGroup:{x:s*m/d},programUniforms:z}),getShaderSource:D},{inputs:[r],outputs:[-1]})[0],G=[{type:12,data:O},{type:12,data:c},{type:12,data:Math.floor(m/d)},{type:12,data:Math.floor(w*m/d)}],W=[\"type\",\"type\",\"type\"],q=Y=>{let J=X(\"scale\",t.dataType,t.dims,d),oe=X(\"bias\",u.dataType,u.dims,d);return`\\n @group(0) @binding(0) var input : array<${C}>;\\n @group(0) @binding(1) var scale : array<${J.type.storage}>;\\n @group(0) @binding(2) var bias : array<${oe.type.storage}>;\\n @group(0) @binding(3) var output : array<${C}>;\\n struct Uniforms {units_of_work : u32, H: u32, C : u32, image_size : u32};\\n @group(0) @binding(4) var uniforms: Uniforms;\\n\\n ${Y.mainStart()}\\n ${Y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.units_of_work\")}\\n let currentImageNumber = global_idx / uniforms.C;\\n let currentChannelNumber = global_idx % uniforms.C;\\n\\n let offset = currentImageNumber * uniforms.image_size;\\n var sum = ${at(\"f32\",d)};\\n var squaredSum = ${at(\"f32\",d)};\\n for (var i: u32 = 0; i < ${w}; i++) {\\n let value = input[offset + i + currentChannelNumber * ${w}];\\n sum += value[0];\\n squaredSum += value[1];\\n }\\n sum = sum / f32(uniforms.H);\\n squaredSum = squaredSum / f32(uniforms.H);\\n let invStdDev = inverseSqrt(squaredSum - sum * sum + f32(${y}));\\n let channelScale = invStdDev * ${$}(scale[currentChannelNumber]);\\n let channelShift = ${$}(bias[currentChannelNumber]) - sum * channelScale;\\n\\n output[global_idx] = ${T(\"channelScale\",\"channelShift\")};\\n }`};return e.compute({name:\"InstanceNormComputeChannelScaleShift\",shaderCache:{hint:`${d};${y}`,inputDependencies:W},getRunData:()=>({outputs:[{dims:[s,m,2],dataType:1}],dispatchGroup:{x:Math.ceil(O/64)},programUniforms:G}),getShaderSource:q},{inputs:[k,t,u],outputs:[-1]})[0]},sy=(e,r,t)=>{let u=r[0].dims,s=u,c=u[0],m=u[u.length-1],y=Z.sizeFromDimension(u,1)/m,d=Je(m),w=Z.size(s)/d,C=[{type:12,data:y},{type:12,data:Math.floor(m/d)}],$=[\"type\",\"type\"],T=ay(e,r[0],r[1],r[2],c,y,m,t.epsilon),O=A=>{let P=Ve(r[0].dataType),z=d===1?\"vec2f\":`mat2x${d}f`,D=d===1?P:`vec${d}<${P}>`,k=X(\"input\",r[0].dataType,r[0].dims,d),G=ie(\"output\",r[0].dataType,s,d);return`\\n @group(0) @binding(0) var input : array<${k.type.storage}>;\\n @group(0) @binding(1) var scaleInput : array<${z}>;\\n @group(0) @binding(2) var output : array<${G.type.storage}>;\\n struct Uniforms {H: u32, C : u32};\\n @group(0) @binding(3) var uniforms: Uniforms;\\n\\n ${A.mainStart()}\\n let currentImageNumber = global_idx / (uniforms.C * uniforms.H);\\n let currentChannelNumber = global_idx % uniforms.C;\\n\\n let scaleOffset = currentImageNumber * uniforms.C + currentChannelNumber;\\n let scale = scaleInput[scaleOffset];\\n output[global_idx] = fma(input[global_idx], ${D}(scale[0]), ${D}(scale[1]));\\n }`};e.compute({name:\"InstanceNormalizationNHWC\",shaderCache:{hint:`${d}`,inputDependencies:$},getRunData:()=>({outputs:[{dims:s,dataType:r[0].dataType}],dispatchGroup:{x:Math.ceil(w/64)},programUniforms:C}),getShaderSource:O},{inputs:[r[0],T]})},Wd=(e,r)=>{r.format===\"NHWC\"?sy(e,e.inputs,r):e.compute(oy(e.inputs,r))}});var uy,ly,Hd,Ld=ae(()=>{\"use strict\";$e();ke();Ae();uy=e=>{if(!e||e.length<2)throw new Error(\"layerNorm requires at least 2 inputs.\")},ly=(e,r,t)=>{let u=e[0].dims,s=e[1],c=e[2],m=u,y=Z.normalizeAxis(r.axis,u.length),d=Z.sizeToDimension(u,y),w=Z.sizeFromDimension(u,y),C=Z.size(s.dims),$=c?Z.size(c.dims):0;if(C!==w||c&&$!==w)throw new Error(`Size of X.shape()[axis:] == ${w}.\\n Size of scale and bias (if provided) must match this.\\n Got scale size of ${C} and bias size of ${$}`);let T=[];for(let W=0;W1,D=t>2,k=W=>{let q=Ve(e[0].dataType),Y=[X(\"x\",e[0].dataType,e[0].dims,O),X(\"scale\",s.dataType,s.dims,O)];c&&Y.push(X(\"bias\",c.dataType,c.dims,O)),Y.push(ie(\"output\",e[0].dataType,m,O)),z&&Y.push(ie(\"mean_data_output\",1,T)),D&&Y.push(ie(\"inv_std_output\",1,T));let J=[{name:\"norm_count\",type:\"u32\"},{name:\"norm_size\",type:\"f32\"},{name:\"norm_size_vectorized\",type:\"u32\"},{name:\"epsilon\",type:\"f32\"}];return`\\n ${W.registerUniforms(J).declareVariables(...Y)}\\n ${W.mainStart()}\\n ${W.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.norm_count\")}\\n let offset = global_idx * uniforms.norm_size_vectorized;\\n var mean_vector = ${at(\"f32\",O)};\\n var mean_square_vector = ${at(\"f32\",O)};\\n\\n for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {\\n let value = ${It(q,O,\"x[h + offset]\")};\\n mean_vector += value;\\n mean_square_vector += value * value;\\n }\\n let mean = ${pt(\"mean_vector\",O)} / uniforms.norm_size;\\n let inv_std_dev = inverseSqrt(${pt(\"mean_square_vector\",O)} / uniforms.norm_size - mean * mean + uniforms.epsilon);\\n\\n for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {\\n let f32input = ${It(q,O,\"x[j + offset]\")};\\n let f32scale = ${It(q,O,\"scale[j]\")};\\n output[j + offset] = ${Y[0].type.value}((f32input - mean) * inv_std_dev * f32scale\\n ${c?`+ ${It(q,O,\"bias[j]\")}`:\"\"}\\n );\\n }\\n\\n ${z?\"mean_data_output[global_idx] = mean\":\"\"};\\n ${D?\"inv_std_output[global_idx] = inv_std_dev\":\"\"};\\n }`},G=[{dims:m,dataType:e[0].dataType}];return z&&G.push({dims:T,dataType:1}),D&&G.push({dims:T,dataType:1}),{name:\"LayerNormalization\",shaderCache:{hint:`${O};${t}`,inputDependencies:A},getRunData:()=>({outputs:G,dispatchGroup:{x:Math.ceil(d/64)},programUniforms:P}),getShaderSource:k}},Hd=(e,r)=>{uy(e.inputs),e.compute(ly(e.inputs,r,e.outputCount))}});var dy,cy,Fd,qd,Kd=ae(()=>{\"use strict\";$e();ke();nt();Ae();dy=(e,r)=>{if(e.length<3||e.length>4)throw new Error(\"MatMulNBits requires 3 or 4 inputs\");let t=e[0],u=t.dims.length;if(t.dims[u-1]!==r.k)throw new Error(\"The last dim of input shape does not match the k value\");let s=Math.floor((r.k+r.blockSize-1)/r.blockSize),c=r.blockSize/8*r.bits,m=e[1];if(!Z.areEqual(m.dims,[r.n,s,c]))throw new Error(\"The second inputs must be 3D tensor with shape N X nBlocksPerCol X blobSize\");let d=e[2].dims;if(Z.size(d)!==r.n*s)throw new Error(\"scales input size error.\");if(e.length===4){let C=e[3].dims,$=r.bits>4?r.n*s:r.n*Math.floor((s+1)/2);if(Z.size(C)!==$)throw new Error(\"zeroPoints input size error.\")}},cy=(e,r)=>{let t=e[0],u=e[1],s=e[2],c=t.dims.length,m=t.dims.slice(0,c-1).concat(r.n),y=Z.size(m),d=[{type:12,data:y},{type:12,data:r.k},{type:12,data:r.n},{type:12,data:r.accuracyLevel},{type:12,data:r.bits},{type:12,data:r.blockSize}];d.push(...se(t.dims)),d.push(...se(Z.convertShape(u.dims))),d.push(...se(s.dims)),e.length===4&&d.push(...se(Z.convertShape(e[3].dims))),d.push(...se(m));let w=C=>{let $=X(\"a\",e[0].dataType,e[0].dims.length),T=X(\"b\",12,e[1].dims.length),O=X(\"scales\",e[2].dataType,e[2].dims.length),A=[$,T,O],P=e.length===4?X(\"zero_points\",12,e[3].dims.length):void 0;P&&A.push(P);let z=ie(\"output\",e[0].dataType,m.length),D=[{name:\"output_size\",type:\"u32\"},{name:\"k\",type:\"u32\"},{name:\"n\",type:\"u32\"},{name:\"accuracy_level\",type:\"u32\"},{name:\"bits\",type:\"u32\"},{name:\"block_size\",type:\"u32\"}],k=Math.floor((r.k+r.blockSize-1)/r.blockSize),W=r.blockSize/8*r.bits/4,q=Ve(e[0].dataType);return`\\n fn ortUnpack8x4snorm(value: u32) -> array<${q}, 8>{\\n var result = array<${q}, 8>();\\n var offset: u32 = 0;\\n let count: u32 = 4;\\n for (var i: u32 = 0; i < 8u; i++) {\\n result[i] = ${q}(extractBits(value, offset, count));\\n offset += count;\\n }\\n return result;\\n }\\n ${C.registerUniforms(D).declareVariables(...A,z)}\\n ${C.mainStart()}\\n ${C.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n var value: ${q} = 0.0;\\n let output_indices = ${z.offsetToIndices(\"global_idx\")};\\n var a_indices: ${$.type.indices} = output_indices;\\n var n = ${z.indicesGet(\"output_indices\",c-1)};\\n // Two zero points are packed into one byte because uniforms.bits <= 4.\\n // zero_point_offset is either 0 or 4. It is bit offset within one byte.\\n // TODO support zero_point_offset for bits > 4\\n ${P?`\\n var zero_point_index: u32 = n * ((${k} + 1) / 2) / 4;\\n var zero_point_word: u32 = ${P.getByOffset(\"zero_point_index\")};\\n var zero_point_offset: u32 = 0;`:\"\"}\\n var scale_idex = n * ${k};\\n var b_indices: ${T.type.indices};\\n ${T.indicesSet(\"b_indices\",\"0\",\"n\")};\\n var block_offset: u32 = 0;\\n for (var block: u32 = 0; block < ${k}; block++) {\\n // The scale and zero points are computed per block.\\n let scale = ${O.getByOffset(\"scale_idex\")};\\n // The default zero point is 8 for unsigned 4-bit quantization.\\n let zero_point: ${q} = ${P?`${q}(extractBits(zero_point_word, zero_point_offset, 4))`:8};\\n ${T.indicesSet(\"b_indices\",\"1\",\"block\")};\\n var word_offset: u32 = block_offset;\\n for (var word: u32 = 0; word < ${W}; word++) {\\n ${T.indicesSet(\"b_indices\",\"2\",\"word\")};\\n let b_value = ${T.getByIndices(\"b_indices\")};\\n let b_quantized_values: array<${q}, 8> = ortUnpack8x4snorm(b_value);\\n // Number of B elements per 32-bit word is 32/bits = 32/4 = 8\\n var offset: u32 = word_offset;\\n for (var i: u32 = 0; i < 8; i++) {\\n ${$.indicesSet(\"a_indices\",c-1,\"offset\")};\\n let a_value = ${$.getByIndices(\"a_indices\")};\\n let b_quantized_value = b_quantized_values[i];\\n let b_dequantized_value = (b_quantized_value - zero_point) * scale;\\n value += a_value * b_dequantized_value;\\n offset++;\\n }\\n word_offset += 8;\\n }\\n scale_idex++;\\n ${P?`\\n if (zero_point_offset == 28) {\\n zero_point_offset = 0;\\n zero_point_index++;\\n zero_point_word = ${P.getByOffset(\"zero_point_index\")};\\n } else {\\n zero_point_offset += 4;\\n }`:\"\"}\\n block_offset += uniforms.block_size;\\n }\\n ${z.setByOffset(\"global_idx\",\"value\")};\\n }\\n `};return{name:\"MatMulNBits\",shaderCache:{hint:`${r.cacheKey};${e.length}`,inputDependencies:Array(e.length).fill(\"rank\")},getRunData:()=>({outputs:[{dims:m,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(y/64)},programUniforms:d}),getShaderSource:w}},Fd=(e,r)=>{dy(e.inputs,r),e.compute(cy(e.inputs,r))},qd=e=>Oe(e)});var fy,Zd,Yd,py,lo,Qd,Xd=ae(()=>{\"use strict\";$e();ke();nt();Zn();Ki();Ae();Ar();fy=(e,r)=>{let t=e[0],u=e[1],s=e[2],c=e[3],m=e[4],y=e[5],d=e[6],w=e[7];if(t.dims.length!==3&&t.dims.length!==5)throw new Error(\"Input query is expected to have 3 or 5 dimensions\");let C=!1,$=t.dims[0],T=t.dims[1],O=t.dims.length===3?C?t.dims[2]/3:t.dims[2]:r.numHeads*t.dims[4],A=T,P=0,z=0,D=Math.floor(O/r.numHeads);if(d&&w){if(d.dims.length!==4)throw new Error(\\'Input \"past_key\" is expected to have 4 dimensions\\');if(w.dims.length!==4)throw new Error(\\'Input \"past_value\" is expected to have 4 dimensions\\');P=d.dims[2],z=d.dims[2]}else if(d||w)throw new Error(\\'Input \"past_key\" and \"past_value\" shall be both present or both absent\\');let k;if(u){if(t.dims.length!==3)throw new Error(\\'Input \"query\" is expected to have 3 dimensions when key is given\\');if(u.dims.length<3||u.dims.length>5)throw new Error(\\'Input \"key\" is expected to have 3, 4, or 5 dimensions\\');if(t.dims[0]!==u.dims[0])throw new Error(\\'Input \"query\" and \"key\" shall have same dim 0 (batch size)\\');if(u.dims.length===3){if(u.dims[2]!==t.dims[2])throw new Error(\\'Input \"query\" and \"key\" shall have same dim 2 (hidden_size)\\');k=2,A=u.dims[1]}else if(u.dims.length===5){if(u.dims[2]!==r.numHeads||u.dims[3]!==2||u.dims[4]!==D)throw new Error(\\'Expect \"key\" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv\\');if(s)throw new Error(\\'Expect \"value\" be none when \"key\" has packed kv format.\\');k=5,A=u.dims[1]}else{if(u.dims[1]!==r.numHeads||u.dims[3]!==D)throw new Error(\\'Expect \"key\" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key\\');k=0,A=u.dims[2]}}else{if(t.dims.length!==3&&t.dims.length!==5)throw new Error(\\'Input \"query\" is expected to have 3 or 5 dimensions when key is empty\\');if(t.dims.length===5&&(t.dims[2]!==r.numHeads||t.dims[3]!==3))throw new Error(\\'Expect \"query\" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv\\');k=3}if(c){if(c.dims.length!==1)throw new Error(\\'Input \"bias\" is expected to have 1 dimension\\');if(s&&t.dims.length===5&&t.dims[3]===2)throw new Error(\"bias is not allowed for packed kv.\")}let G=0;if(m){G=8;let oe=m.dims;throw oe.length===1?oe[0]===$?G=1:oe[0]===3*$+2&&(G=3):oe.length===2&&oe[0]===$&&oe[1]===A&&(G=5),G===8?new Error(\\'Input \"key_padding_mask\" shape shall be (batch_size) or (batch_size, kv_sequence_length)\\'):new Error(\"Mask not supported\")}let W=!1,q=O;if(s){if(s.dims.length!==3&&s.dims.length!==4)throw new Error(\\'Input \"value\" is expected to have 3 or 4 dimensions\\');if(t.dims[0]!==s.dims[0])throw new Error(\\'Input \"query\" and \"value\" shall have same dim 0 (batch_size)\\');if(s.dims.length===3){if(A!==s.dims[1])throw new Error(\\'Input \"key\" and \"value\" shall have the same dim 1 (kv_sequence_length)\\');q=s.dims[2]}else{if(A!==s.dims[2])throw new Error(\\'Input \"past_key\" and \"past_value\" shall have the same dim 2 (kv_sequence_length)\\');q=s.dims[1]*s.dims[3],W=!0}}let Y=P+A,J=!1;if(m)throw new Error(\"Key padding mask is not supported\");if(y)throw new Error(\"extraAddQk is not supported\");if(d)throw new Error(\"pastKey is not supported\");if(w)throw new Error(\"pastValue is not supported\");return{batchSize:$,sequenceLength:T,pastSequenceLength:P,kvSequenceLength:A,totalSequenceLength:Y,maxSequenceLength:z,inputHiddenSize:0,hiddenSize:O,vHiddenSize:q,headSize:D,vHeadSize:Math.floor(q/r.numHeads),numHeads:r.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:r.maskFilterValue,maskType:G,scale:r.scale,broadcastResPosBias:J,passPastInKv:W,qkvFormat:k}},Zd=e=>Oe({...e}),Yd=Oe({perm:[0,2,1,3]}),py=(e,r,t,u,s,c,m)=>{let y=[u,s,c],d=Z.size(y),w=[{type:12,data:d},{type:12,data:m},{type:12,data:c}],C=$=>{let T=ie(\"qkv_with_bias\",r.dataType,y),O=X(\"qkv\",r.dataType,y),A=X(\"bias\",t.dataType,y),P=[{name:\"output_size\",type:\"u32\"},{name:\"bias_offset\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"}];return`\\n ${$.registerUniforms(P).declareVariables(O,A,T)}\\n ${$.mainStart()}\\n ${$.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;\\n\\n qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];\\n }`};return e.compute({name:\"MultiHeadAttentionAddBias\",shaderCache:{inputDependencies:[\"type\",\"type\"]},getRunData:()=>({outputs:[{dims:y,dataType:r.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(d/64)},programUniforms:w}),getShaderSource:C},{inputs:[r,t],outputs:[-1]})[0]},lo=(e,r,t,u,s,c,m,y)=>{let d=c;if(m){if(u===1)throw new Error(\"AddBiasReshape is not implemented. Please export your model with packed QKV or KV\");return d=py(e,c,m,r,u,t*s,y),d=d.reshape([r,u,t,s]),e.compute(At(d,Yd.perm),{inputs:[d],outputs:[-1]})[0]}else return c.dims.length===3&&(d=c.reshape([r,u,t,s])),e.compute(At(d,Yd.perm),{inputs:[d],outputs:[-1]})[0]},Qd=(e,r)=>{let t=fy(e.inputs,r);if(e.inputs[0].dims.length===5)throw new Error(\"Packed QKV is not implemented\");if(e.inputs[1]?.dims.length===5)throw new Error(\"Packed KV is not implemented\");let u=e.inputs[1]&&e.inputs[2]&&e.inputs[1].dims.length===4&&e.inputs[2].dims.length===4,s=lo(e,t.batchSize,t.numHeads,t.sequenceLength,t.headSize,e.inputs[0],e.inputs[3],0);if(u)return oi(e,s,e.inputs[1],e.inputs[2],e.inputs[4],void 0,void 0,void 0,e.inputs[5],t,r);let c=lo(e,t.batchSize,t.numHeads,t.kvSequenceLength,t.headSize,e.inputs[1],e.inputs[3],t.hiddenSize),m=lo(e,t.batchSize,t.numHeads,t.kvSequenceLength,t.vHeadSize,e.inputs[2],e.inputs[3],2*t.hiddenSize);oi(e,s,c,m,e.inputs[4],void 0,e.inputs[6],e.inputs[7],e.inputs[5],t,r)}});var my,hy,gy,yy,by,vy,wy,_y,Jd,ec=ae(()=>{\"use strict\";$e();ke();Ae();my=e=>{if(!e||e.length<1)throw new Error(\"Too few inputs\");if(e[0].dataType!==1&&e[0].dataType!==10)throw new Error(\"Input type must be float or float16.\");if(e.length>=2){let r=e[0].dims.length*2===e[1].dims[0];if(e.length===4&&(r=e[3].dims[0]*2===e[1].dims[0]),!r)throw new Error(\"The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].\")}},hy=(e,r,t)=>{let u=\"\";for(let s=r-1;s>=0;--s)u+=`\\n k = i32(${e.indicesGet(\"indices\",s)}) - ${we(\"uniforms.pads\",s,t)};\\n if (k < 0) {\\n break;\\n }\\n if (k >= i32(${we(\"uniforms.x_shape\",s,r)})) {\\n break;\\n }\\n offset += k * i32(${we(\"uniforms.x_strides\",s,r)});\\n `;return`\\n value = ${e.type.value}(uniforms.constant_value);\\n for (var i = 0; i < 1; i++) {\\n var offset = 0;\\n var k = 0;\\n ${u}\\n value = x[offset];\\n }\\n `},gy=(e,r,t)=>{let u=\"\";for(let s=r-1;s>=0;--s)u+=`\\n k = i32(${e.indicesGet(\"indices\",s)}) - ${we(\"uniforms.pads\",s,t)};\\n if (k < 0) {\\n k = -k;\\n }\\n {\\n let _2n_1 = 2 * (i32(${we(\"uniforms.x_shape\",s,r)}) - 1);\\n k = k % _2n_1;\\n if(k >= i32(${we(\"uniforms.x_shape\",s,r)})) {\\n k = _2n_1 - k;\\n }\\n }\\n offset += k * i32(${we(\"uniforms.x_strides\",s,r)});\\n `;return`\\n var offset = 0;\\n var k = 0;\\n ${u}\\n value = x[offset];\\n `},yy=(e,r,t)=>{let u=\"\";for(let s=r-1;s>=0;--s)u+=`\\n k = i32(${e.indicesGet(\"indices\",s)}) - ${we(\"uniforms.pads\",s,t)};\\n if (k < 0) {\\n k = 0;\\n }\\n if (k >= i32(${we(\"uniforms.x_shape\",s,r)})) {\\n k = i32(${we(\"uniforms.x_shape\",s,r)}) - 1;\\n }\\n offset += k * i32(${we(\"uniforms.x_strides\",s,r)});\\n `;return`\\n var offset = 0;\\n var k = 0;\\n ${u}\\n value = x[offset];\\n `},by=(e,r,t)=>{let u=\"\";for(let s=r-1;s>=0;--s)u+=`\\n k = i32(${e.indicesGet(\"indices\",s)}) - ${we(\"uniforms.pads\",s,t)};\\n if (k < 0) {\\n k += i32(${we(\"uniforms.x_shape\",s,r)}]);\\n }\\n if (k >= i32(${we(\"uniforms.x_shape\",s,r)})) {\\n k -= i32(${we(\"uniforms.x_shape\",s,r)});\\n }\\n offset += k * i32(${we(\"uniforms.x_strides\",s,r)});\\n `;return`\\n var offset = 0;\\n var k = 0;\\n ${u}\\n value = x[offset];\\n `},vy=(e,r,t)=>{switch(t.mode){case 0:return hy(e,r,t.pads.length);case 1:return gy(e,r,t.pads.length);case 2:return yy(e,r,t.pads.length);case 3:return by(e,r,t.pads.length);default:throw new Error(\"Invalid mode\")}},wy=(e,r)=>{let t=Z.padShape(e[0].dims.slice(),r.pads),u=e[0].dims,s=Z.size(t),c=[{type:12,data:s},{type:12,data:r.pads}];r.mode===0&&c.push({type:e[0].dataType,data:r.value}),c.push(...se(e[0].dims,t));let m=[\"rank\"],y=d=>{let w=ie(\"output\",e[0].dataType,t.length),C=X(\"x\",e[0].dataType,u.length),$=C.type.value,T=vy(w,u.length,r),O=[{name:\"output_size\",type:\"u32\"},{name:\"pads\",type:\"i32\",length:r.pads.length}];return r.mode===0&&O.push({name:\"constant_value\",type:$}),`\\n ${d.registerUniforms(O).declareVariables(C,w)}\\n ${d.mainStart()}\\n ${d.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n\\n let indices = ${w.offsetToIndices(\"global_idx\")};\\n\\n var value = ${$}(0);\\n ${T}\\n output[global_idx] = value;\\n }`};return{name:\"Pad\",shaderCache:{hint:`${r.mode}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(Z.size(t)/64)},programUniforms:c}),getShaderSource:y}},_y=(e,r)=>{if(e.length>1){let t=e[1].getBigInt64Array(),u=e.length>=3&&e[2].data?e[2].getFloat32Array()[0]:0,s=e[0].dims.length,c=new Int32Array(2*s).fill(0);if(e.length>=4){let y=e[3].getBigInt64Array();for(let d=0;dc[Number(d)]=Number(y));let m=[];return c.forEach(y=>m.push(y)),{mode:r.mode,value:u,pads:m}}else return r},Jd=(e,r)=>{my(e.inputs);let t=_y(e.inputs,r);e.compute(wy(e.inputs,t),{inputs:[0]})}});var hi,tc,rc,nc,ic,$y,Cy,oc,ac,sc,uc,lc,dc,cc,fc,pc,mc,hc,gc,yc=ae(()=>{\"use strict\";xr();$e();ke();Ae();hi=e=>{if(Sr.webgpu.validateInputContent&&(!e||e.length!==1))throw new Error(\"Pool ops requires 1 input.\")},tc=(e,r,t)=>{let u=r.format===\"NHWC\",s=e.dims.slice();u&&s.splice(1,0,s.pop());let c=Object.hasOwnProperty.call(r,\"dilations\"),m=r.kernelShape.slice(),y=r.strides.slice(),d=c?r.dilations.slice():[],w=r.pads.slice();sr.adjustPoolAttributes(t,s,m,y,d,w);let C=sr.computePoolOutputShape(t,s,y,d,m,w,r.autoPad),$=Object.assign({},r);c?Object.assign($,{kernelShape:m,strides:y,pads:w,dilations:d,cacheKey:r.cacheKey}):Object.assign($,{kernelShape:m,strides:y,pads:w,cacheKey:r.cacheKey});let T=C.slice();return T.push(T.splice(1,1)[0]),[$,u?T:C]},rc=(e,r)=>{let t=r.format===\"NHWC\",u=Z.size(e),s=Z.size(r.kernelShape),c=[{type:12,data:u},{type:12,data:s}],m=[{name:\"outputSize\",type:\"u32\"},{name:\"kernelSize\",type:\"u32\"}];if(r.kernelShape.length<=2){let y=r.kernelShape[r.kernelShape.length-1],d=r.strides[r.strides.length-1],w=r.pads[r.pads.length/2-1],C=r.pads[r.pads.length-1],$=!!(w+C);c.push({type:12,data:y},{type:12,data:d},{type:12,data:w},{type:12,data:C}),m.push({name:\"kw\",type:\"u32\"},{name:\"sw\",type:\"u32\"},{name:\"pwStart\",type:\"u32\"},{name:\"pwEnd\",type:\"u32\"});let T=!1;if(r.kernelShape.length===2){let O=r.kernelShape[r.kernelShape.length-2],A=r.strides[r.strides.length-2],P=r.pads[r.pads.length/2-2],z=r.pads[r.pads.length-2];T=!!(P+z),c.push({type:12,data:O},{type:12,data:A},{type:12,data:P},{type:12,data:z}),m.push({name:\"kh\",type:\"u32\"},{name:\"sh\",type:\"u32\"},{name:\"phStart\",type:\"u32\"},{name:\"phEnd\",type:\"u32\"})}return[c,m,!0,$,T]}else{if(t)throw new Error(\"Pooling with kernelShape.length > 2 is not supported for NHWC format.\");let y=Z.computeStrides(r.kernelShape);c.push({type:12,data:y},{type:12,data:r.pads},{type:12,data:r.strides}),m.push({name:\"kernelStrides\",type:\"u32\",length:y.length},{name:\"pads\",type:\"u32\",length:r.pads.length},{name:\"strides\",type:\"u32\",length:r.strides.length});let d=r.pads.reduce((w,C)=>w+C);return[c,m,!!d,!1,!1]}},nc=(e,r,t,u,s,c,m,y,d,w,C,$)=>{let T=s.format===\"NHWC\",O=r.type.value,A=ie(\"output\",r.type.tensor,u);if(s.kernelShape.length<=2){let P=\"\",z=\"\",D=\"\",k=t-(T?2:1);if(C?P=`\\n for (var i: u32 = 0u; i < uniforms.kw; i++) {\\n xIndices[${k}] = indices[${k}] * uniforms.sw - uniforms.pwStart + i;\\n if (xIndices[${k}] < 0 || xIndices[${k}]\\n >= uniforms.x_shape[${k}]) {\\n pad++;\\n continue;\\n }\\n let x_val = x[${r.indicesToOffset(\"xIndices\")}];\\n ${c}\\n }`:P=`\\n for (var i: u32 = 0u; i < uniforms.kw; i++) {\\n xIndices[${k}] = indices[${k}] * uniforms.sw - uniforms.pwStart + i;\\n let x_val = x[${r.indicesToOffset(\"xIndices\")}];\\n ${c}\\n }`,s.kernelShape.length===2){let W=t-(T?3:2);$?z=`\\n for (var j: u32 = 0u; j < uniforms.kh; j++) {\\n xIndices[${W}] = indices[${W}] * uniforms.sh - uniforms.phStart + j;\\n if (xIndices[${W}] < 0 || xIndices[${W}] >= uniforms.x_shape[${W}]) {\\n pad += i32(uniforms.kw);\\n continue;\\n }\\n `:z=`\\n for (var j: u32 = 0u; j < uniforms.kh; j++) {\\n xIndices[${W}] = indices[${W}] * uniforms.sh - uniforms.phStart + j;\\n `,D=`\\n }\\n `}return`\\n ${e.registerUniforms(d).declareVariables(r,A)}\\n\\n ${e.mainStart()}\\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n\\n let indices = ${A.offsetToIndices(\"global_idx\")};\\n var xIndices = ${A.offsetToIndices(\"global_idx\")};\\n\\n var value = ${O}(${y});\\n var pad = 0;\\n ${z}\\n ${P}\\n ${D}\\n ${m}\\n\\n output[global_idx] = value;\\n }`}else{if(T)throw new Error(\"Pooling with kernelShape.length > 2 is not supported for NHWC format.\");let P=s.kernelShape.length,z=s.pads.length,D=\"\";return w?D=`\\n if (xIndices[j] >= uniforms.x_shape[j]) {\\n pad++;\\n isPad = true;\\n break;\\n }\\n }\\n if (!isPad) {\\n let x_val = x[${r.indicesToOffset(\"xIndices\")}];\\n ${c}\\n }`:D=`\\n }\\n let x_val = x[${r.indicesToOffset(\"xIndices\")}];\\n ${c}\\n `,`\\n ${e.registerUniforms(d).declareVariables(r,A)}\\n\\n ${e.mainStart()}\\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n let indices = ${A.offsetToIndices(\"global_idx\")};\\n var xIndices = ${A.offsetToIndices(\"global_idx\")};\\n\\n var offsets: array;\\n\\n var value = ${O}(${y});\\n var pad = 0;\\n var isPad = false;\\n\\n for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {\\n var offset = i;\\n for (var j = 0u; j < ${P-1}u; j++) {\\n offsets[j] = offset / ${we(\"uniforms.kernelStrides\",\"j\",P)};\\n offset -= offsets[j] * ${we(\"uniforms.kernelStrides\",\"j\",P)};\\n }\\n offsets[${P-1}] = offset;\\n\\n isPad = false;\\n for (var j = ${t-P}u; j < ${t}u; j++) {\\n xIndices[j] = indices[j] * ${we(\"uniforms.strides\",`j - ${t-P}u`,P)}\\n + offsets[j - ${t-P}u] - ${we(\"uniforms.pads\",\"j - 2u\",z)};\\n ${D}\\n }\\n ${m}\\n\\n output[global_idx] = value;\\n }`}},ic=e=>`${e.format};${e.ceilMode};${e.autoPad};${e.kernelShape.length}`,$y=e=>`${ic(e)};${e.countIncludePad}`,Cy=e=>`${ic(e)};${e.storageOrder};${e.dilations}`,oc=e=>({format:e.format,autoPad:[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][e.auto_pad],ceilMode:e.ceil_mode,kernelShape:e.kernel_shape,strides:e.strides,pads:e.pads}),ac=(e,r,t,u)=>{let[s,c]=tc(r,u,t),m=X(\"x\",r.dataType,r.dims.length),y=m.type.value,d=\"value += x_val;\",w=\"\";s.countIncludePad?w+=`value /= ${y}(uniforms.kernelSize);`:w+=`value /= ${y}(i32(uniforms.kernelSize) - pad);`;let[C,$,T,O,A]=rc(c,s);C.push(...se(r.dims,c));let P=[\"rank\"];return{name:e,shaderCache:{hint:`${u.cacheKey};${T};${O};${A}`,inputDependencies:P},getRunData:()=>({outputs:[{dims:c,dataType:r.dataType}],dispatchGroup:{x:Math.ceil(Z.size(c)/64)},programUniforms:C}),getShaderSource:z=>nc(z,m,r.dims.length,c.length,s,d,w,0,$,T,O,A)}},sc=e=>{let r=e.count_include_pad!==0,t=oc(e);if(t.ceilMode!==0)throw new Error(\"using ceil() in shape computation is not yet supported for AveragePool\");let u={countIncludePad:r,...t,cacheKey:\"\"};return{...u,cacheKey:$y(u)}},uc=(e,r)=>{hi(e.inputs),e.compute(ac(\"AveragePool\",e.inputs[0],!1,r))},lc={autoPad:\"\",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},dc=e=>{let r=e.format;return{format:r,...lc,cacheKey:r}},cc=(e,r)=>{hi(e.inputs),e.compute(ac(\"GlobalAveragePool\",e.inputs[0],!0,r))},fc=(e,r,t,u)=>{let[s,c]=tc(r,u,t),m=`\\n value = max(x_val, value);\\n `,y=\"\",d=X(\"x\",r.dataType,r.dims.length),w=[\"rank\"],[C,$,T,O,A]=rc(c,s);return C.push(...se(r.dims,c)),{name:e,shaderCache:{hint:`${u.cacheKey};${T};${O};${A}`,inputDependencies:w},getRunData:()=>({outputs:[{dims:c,dataType:r.dataType}],dispatchGroup:{x:Math.ceil(Z.size(c)/64)},programUniforms:C}),getShaderSource:P=>nc(P,d,r.dims.length,c.length,s,m,y,-1e5,$,T,O,A)}},pc=(e,r)=>{hi(e.inputs),e.compute(fc(\"MaxPool\",e.inputs[0],!1,r))},mc=e=>{let r=e.storage_order,t=e.dilations,u=oc(e);if(r!==0)throw new Error(\"column major storage order is not yet supported for MaxPool\");if(u.ceilMode!==0)throw new Error(\"using ceil() in shape computation is not yet supported for MaxPool\");let s={storageOrder:r,dilations:t,...u,cacheKey:\"\"};return{...s,cacheKey:Cy(s)}},hc=e=>{let r=e.format;return{format:r,...lc,cacheKey:r}},gc=(e,r)=>{hi(e.inputs),e.compute(fc(\"GlobalMaxPool\",e.inputs[0],!0,r))}});var xy,Iy,bc,vc=ae(()=>{\"use strict\";xr();$e();Ae();xy=(e,r,t)=>{let u=e===r,s=er&&t>0;if(u||s||c)throw new Error(\"Range these inputs\\' contents are invalid.\")},Iy=(e,r,t,u)=>{let s=Math.abs(Math.ceil((r-e)/t)),c=[s],m=s,y=[{type:12,data:m},{type:u,data:e},{type:u,data:t},...se(c)],d=w=>{let C=ie(\"output\",u,c.length),$=C.type.value,T=[{name:\"outputSize\",type:\"u32\"},{name:\"start\",type:$},{name:\"delta\",type:$}];return`\\n ${w.registerUniforms(T).declareVariables(C)}\\n ${w.mainStart()}\\n ${w.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n output[global_idx] = uniforms.start + ${$}(global_idx) * uniforms.delta;\\n }`};return{name:\"Range\",shaderCache:{hint:`${u}`},getShaderSource:d,getRunData:()=>({outputs:[{dims:c,dataType:u}],dispatchGroup:{x:Math.ceil(m/64)},programUniforms:y})}},bc=e=>{let r=0,t=0,u=0;e.inputs[0].dataType===6?(r=e.inputs[0].getInt32Array()[0],t=e.inputs[1].getInt32Array()[0],u=e.inputs[2].getInt32Array()[0]):e.inputs[0].dataType===1&&(r=e.inputs[0].getFloat32Array()[0],t=e.inputs[1].getFloat32Array()[0],u=e.inputs[2].getFloat32Array()[0]),Sr.webgpu.validateInputContent&&xy(r,t,u),e.compute(Iy(r,t,u,e.inputs[0].dataType),{inputs:[]})}});var Ay,Ty,Ey,Py,Oy,ky,Ry,Dy,By,My,zy,wc,Uy,jy,Vy,Ny,Wy,_c,$c,Cc=ae(()=>{\"use strict\";$e();ke();nt();Ae();Ay=(e,r)=>{if(e.every(t=>t>0||(()=>{throw new Error(\"Resize requires scales input values to be positive\")})),e.length>0){if(r.mode===\"linear\"){if(!(e.length===2||e.length===3||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1||e.length===5&&e[0]===1&&e[1]===1))throw new Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and\\n one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if(r.mode===\"cubic\"&&!(e.length===2||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1))throw new Error(\"Resize requires scales input size to be 2 or 4 for cubic mode\")}},Ty=(e,r,t)=>{r.every(s=>s>=0&&s{throw new Error(\"Resize requires axes input values to be positive and less than rank\")}));let u=new Array(t).fill(1);return r.forEach((s,c)=>u[s]=e[c]),u},Ey=(e,r,t,u,s,c)=>{let[m,y,d]=t>10?[1,2,3]:[-1,e.length>1?1:-1,-1],w=e[0].dims.length;if(m>0&&e.length>m&&e[m].dims.length>0)e[m].getFloat32Array().forEach(C=>c.push(C));else if(r.coordinateTransformMode===\"tf_crop_and_resize\")throw new Error(\"Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize\");if(y>0&&e.length>y&&e[y].dims.length>0){if(e[y].getFloat32Array().forEach(C=>u.push(C)),u.length!==0&&u.length!==w&&t>=18&&u.length!==r.axes.length)throw new Error(\"Resize requires scales input size to be same as input rank or axes size for opset 18 and up\");Ay(u,r),r.axes.length>0&&Ty(u,r.axes,w).forEach((C,$)=>u[$]=C)}if(d>0&&e.length>d&&(e[d].getBigInt64Array().forEach(C=>s.push(Number(C))),s.length!==w||t>=18&&s.length===r.axes.length))throw new Error(\"Resize requires sizes input size to be same as input rank or axes size for opset 18 and up\");if(r.axes.length>0){if(u.length!==r.axes.length)throw new Error(\\'Resize requires \"scales\" input size to be of axes rank when axes attributes is specified\\');if(s.length!==r.axes.length)throw new Error(\\'Resize requires \"sizes\" input size to be of rank axes rank when axes attributes is specified\\')}if(typeof u<\"u\"&&typeof s<\"u\"&&u.length>0&&s.length>w)throw new Error(\"Resize requires only of scales or sizes to be specified\")},Py=(e,r)=>`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,\\n lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${r} { `+(()=>{switch(e){case\"asymmetric\":return`return ${r}(xResized) / ${r}(xScale);`;case\"pytorch_half_pixel\":return`if (lengthResized > 1) {\\n return (${r}(xResized) + 0.5) / ${r}(xScale) - 0.5;\\n } else {\\n return 0.0;\\n }`;case\"tf_half_pixel_for_nn\":return`return (${r}(xResized) + 0.5) / ${r}(xScale);`;case\"align_corners\":return`if (lengthResized == 1) {\\n return 0.0;\\n } else {\\n // The whole part and the fractional part are calculated separately due to inaccuracy of floating\\n // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an\\n // offset-by-one error later in floor().\\n let whole = ${r}(xResized * (lengthOriginal - 1) / (lengthResized - 1));\\n let fract =\\n ${r}(xResized * (lengthOriginal - 1) % (lengthResized - 1)) / ${r}(lengthResized - 1);\\n return whole + fract;\\n }`;case\"tf_crop_and_resize\":return`if (lengthResized > 1) {\\n return ${r}(roiStart) * ${r}(lengthOriginal - 1) +\\n (${r}(xResized) * ${r}(roiEnd - roiStart) * ${r}(lengthOriginal - 1)) /\\n ${r}(lengthResized - 1);\\n } else {\\n return 0.5 * ${r}(roiStart + roiEnd) * ${r}(lengthOriginal - 1);\\n }`;case\"half_pixel_symmetric\":return`const outputWidth = ${r}xScale * ${r}(lengthResized);\\n const adjustment = ${r}(lengthResized) / outputWidth;\\n const center = ${r}(lengthOriginal) / 2;\\n const offset = center * (1 - adjustment);\\n return offset + ((${r}(xResized) + 0.5) / ${r}(xScale)) - 0.5;`;case\"half_pixel\":return`return ((${r}(xResized) + 0.5) / ${r}(xScale)) - 0.5;`;default:throw new Error(`Coordinate transform mode ${e} is not supported`)}})()+\"}\",Oy=(e,r,t)=>`fn getNearestPixelFromOriginal(xOriginal: ${t}, isDownSample: bool) -> ${t} {`+(()=>{switch(e){case\"round_prefer_ceil\":return\"if (fract(xOriginal) == 0.5) { return ceil(xOriginal); } else { return round(xOriginal); }\";case\"floor\":return\"return floor(xOriginal);\";case\"ceil\":return\"return ceil(xOriginal);\";case\"round_prefer_floor\":return\"if (fract(xOriginal) == 0.5) { return floor(xOriginal); } else { return round(xOriginal); }\";case\"simple\":default:if(r<11)return\"if (isDownSample) { return ceil(xOriginal); } else { return xOriginal; }\";throw new Error(`Nearest mode ${e} is not supported`)}})()+\"}\",ky=(e,r,t)=>{let u=new Array(t).fill(0).concat(new Array(t).fill(1)),s=e.length===0?u:e.slice();return r.length>0?(r.forEach((c,m)=>{u[c]=s[m],u[m+t]=s[r.length+m]}),u):s},Ry=(e,r,t,u)=>{let s=[];if(t.length>0)if(u.length>0){if(e.forEach(c=>s.push(c)),Math.max(...u)>e.length)throw new Error(\"axes is out of bound\");u.forEach((c,m)=>s[c]=t[m])}else t.forEach(c=>s.push(c));else{if(r.length===0)throw new Error(\"Resize requires either scales or sizes.\");s=e.map((c,m)=>Math.round(c*r[m]))}return s},Dy=(e,r,t)=>{let u=(()=>{switch(t.keepAspectRatioPolicy){case\"not_larger\":return t.axes.length>0?Math.min(...t.axes.map(c=>r[c]),Number.MAX_VALUE):Math.min(...r,Number.MAX_VALUE);case\"not_smaller\":return t.axes.length>0?Math.max(...t.axes.map(c=>r[c]),Number.MIN_VALUE):Math.max(...r,Number.MIN_VALUE);default:throw new Error(`Keep aspect ratio policy ${t.keepAspectRatioPolicy} is not supported`)}})();r.fill(1,0,r.length);let s=e.slice();return t.axes.length>0?(t.axes.forEach(c=>r[c]=u),t.axes.forEach(c=>s[c]=Math.round(e[c]*r[c]))):(r.fill(u,0,r.length),s.forEach((c,m)=>s[m]=Math.round(c*r[m]))),s},By=(e,r,t,u,s)=>`\\n fn calculateOriginalIndicesFromOutputIndices(output_indices: ${e.type.indices}) -> array<${e.type.value}, ${t.length}> {\\n var original_indices: array<${e.type.value}, ${t.length}>;\\n for (var i:u32 = 0; i < ${t.length}; i++) {\\n var output_index = ${e.indicesGet(\"output_indices\",\"i\")};\\n var scale = ${we(\"uniforms.scales\",\"i\",u)};\\n var roi_low = ${we(\"uniforms.roi\",\"i\",s)};\\n var roi_hi = ${we(\"uniforms.roi\",`i + ${r.length}`,s)};\\n if (scale == 1.0) {\\n original_indices[i] = ${e.type.value}(output_index);\\n } else {\\n var input_shape_i = ${we(\"uniforms.input_shape\",\"i\",r.length)};\\n var output_shape_i = ${we(\"uniforms.output_shape\",\"i\",t.length)};\\n original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\\n input_shape_i, roi_low, roi_hi);\\n }\\n }\\n return original_indices;\\n }`,My=(e,r,t,u,s,c,m)=>`\\n fn calculateInputIndicesFromOutputIndices(output_indices: ${r.type.indices}) -> ${e.type.indices} {\\n var input_indices: ${e.type.indices};\\n for (var i:u32 = 0; i < ${u.length}; i++) {\\n var output_index = ${r.indicesGet(\"output_indices\",\"i\")};\\n var input_index: u32;\\n var scale = ${we(\"uniforms.scales\",\"i\",s)};\\n if (scale == 1.0) {\\n input_index = output_index;\\n } else {\\n var roi_low = ${we(\"uniforms.roi\",\"i\",c)};\\n var roi_hi = ${we(\"uniforms.roi\",`i + ${t.length}`,c)};\\n var input_shape_i = ${we(\"uniforms.input_shape\",\"i\",t.length)};\\n var output_shape_i = ${we(\"uniforms.output_shape\",\"i\",u.length)};\\n var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\\n input_shape_i, roi_low, roi_hi);\\n if (!${m} || (original_idx >= 0 && original_idx < ${r.type.value}(input_shape_i))) {\\n if (original_idx < 0) {\\n input_index = 0;\\n } else if (original_idx > ${r.type.value}(input_shape_i - 1)) {\\n input_index = input_shape_i - 1;\\n } else {\\n input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));\\n }\\n } else {\\n input_index = u32(original_idx);\\n }\\n }\\n ${e.indicesSet(\"input_indices\",\"i\",\" input_index\")}\\n }\\n return input_indices;\\n }`,zy=(e,r)=>`\\n fn checkInputIndices(input_indices: ${e.type.indices}) -> bool {\\n for (var i:u32 = 0; i < ${r.length}; i++) {\\n var input_index = ${e.indicesGet(\"input_indices\",\"i\")};\\n if (input_index < 0 || input_index >= ${we(\"uniforms.input_shape\",\"i\",r.length)}) {\\n return false;\\n }\\n }\\n return true;\\n }`,wc=(e,r,t,u)=>e.rank>u?`\\n ${e.indicesSet(\"input_indices\",r,\"channel\")};\\n ${e.indicesSet(\"input_indices\",t,\"batch\")};\\n`:\"\",Uy=(e,r,t,u,s)=>{let[m,y,d,w]=t.length===2?[-1,0,1,-1]:[0,2,3,1],C=e.type.value;return`\\n fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${C} {\\n var input_indices: ${e.type.indices};\\n ${e.indicesSet(\"input_indices\",y,`max(0, min(row, ${t[y]} - 1))`)};\\n ${e.indicesSet(\"input_indices\",d,`max(0, min(col, ${t[d]} - 1))`)};\\n ${wc(e,w,m,2)}\\n return ${e.getByIndices(\"input_indices\")};\\n }\\n\\n fn bilinearInterpolation(output_indices: ${r.type.indices}) -> ${C} {\\n var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\\n var row:${C} = originalIndices[${y}];\\n var col:${C} = originalIndices[${d}];\\n ${u?`if (row < 0 || row > (${t[y]} - 1) || col < 0 || col > (${t[d]} - 1)) {\\n return ${s};\\n }`:\"\"};\\n row = max(0, min(row, ${t[y]} - 1));\\n col = max(0, min(col, ${t[d]} - 1));\\n var row1: u32 = u32(row);\\n var col1: u32 = u32(col);\\n var row2: u32 = u32(row + 1);\\n var col2: u32 = u32(col + 1);\\n var channel: u32 = ${t.length>2?`u32(originalIndices[${w}])`:\"0\"};\\n var batch: u32 = ${t.length>2?`u32(originalIndices[${m}])`:\"0\"};\\n var x11: ${C} = getInputValue(batch, channel, row1, col1);\\n var x12: ${C} = getInputValue(batch, channel, row1, col2);\\n var x21: ${C} = getInputValue(batch, channel, row2, col1);\\n var x22: ${C} = getInputValue(batch, channel, row2, col2);\\n var dx1: ${C} = abs(row - ${C}(row1));\\n var dx2: ${C} = abs(${C}(row2) - row);\\n var dy1: ${C} = abs(col - ${C}(col1));\\n var dy2: ${C} = abs(${C}(col2) - col);\\n if (row1 == row2) {\\n dx1 = 0.5;\\n dx2 = 0.5;\\n }\\n if (col1 == col2) {\\n dy1 = 0.5;\\n dy2 = 0.5;\\n }\\n return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);\\n }`},jy=(e,r,t,u,s,c,m,y,d,w)=>{let C=t.length===2,$=!0,[T,O]=C?[0,1]:$?[2,3]:[1,2],A=e.type.value,P=z=>{let D=z===T?\"row\":\"col\";return`\\n fn ${D}CubicInterpolation(input_indices: ${e.type.indices}, output_indices: ${r.type.indices}) -> ${A} {\\n var output_index = ${r.indicesGet(\"output_indices\",z)};\\n var originalIdx: ${A} = getOriginalCoordinateFromResizedCoordinate(output_index, ${s[z]},\\n ${u[z]}, ${t[z]}, ${c[z]}, ${c[z]} + ${t.length});\\n var fractOriginalIdx: ${A} = originalIdx - floor(originalIdx);\\n var coefs = getCubicInterpolationCoefs(fractOriginalIdx);\\n\\n if (${y} && (originalIdx < 0 || originalIdx > (${t[z]} - 1))) {\\n return ${d};\\n }\\n var data: array<${A}, 4> = array<${A}, 4>(0.0, 0.0, 0.0, 0.0);\\n for (var i: i32 = -1; i < 3; i++) {\\n var ${D}: ${A} = originalIdx + ${A}(i);\\n if (${D} < 0 || ${D} >= ${t[z]}) {\\n ${(()=>w?`coefs[i + 1] = 0.0;\\n continue;`:y?`return ${d};`:`${D} = max(0, min(${D}, ${t[z]} - 1));`)()};\\n }\\n var input_indices_copy: ${e.type.indices} = input_indices;\\n ${e.indicesSet(\"input_indices_copy\",z,`u32(${D})`)};\\n data[i + 1] = ${z===T?e.getByIndices(\"input_indices_copy\"):\"rowCubicInterpolation(input_indices_copy, output_indices)\"};\\n }\\n return cubicInterpolation1D(data, coefs);\\n }`};return`\\n ${P(T)};\\n ${P(O)};\\n fn getCubicInterpolationCoefs(s: ${A}) -> array<${A}, 4> {\\n var absS = abs(s);\\n var coeffs: array<${A}, 4> = array<${A}, 4>(0.0, 0.0, 0.0, 0.0);\\n var oneMinusAbsS: ${A} = 1.0 - absS;\\n var twoMinusAbsS: ${A} = 2.0 - absS;\\n var onePlusAbsS: ${A} = 1.0 + absS;\\n coeffs[0] = ((${m} * onePlusAbsS - 5 * ${m}) * onePlusAbsS + 8 * ${m}) * onePlusAbsS - 4 * ${m};\\n coeffs[1] = ((${m} + 2) * absS - (${m} + 3)) * absS * absS + 1;\\n coeffs[2] = ((${m} + 2) * oneMinusAbsS - (${m} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;\\n coeffs[3] = ((${m} * twoMinusAbsS - 5 * ${m}) * twoMinusAbsS + 8 * ${m}) * twoMinusAbsS - 4 * ${m};\\n return coeffs;\\n }\\n\\n fn cubicInterpolation1D(x: array<${A}, 4>, coefs: array<${A}, 4>) -> ${A} {\\n var coefsSum: ${A} = coefs[0] + coefs[1] + coefs[2] + coefs[3];\\n return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;\\n }\\n\\n fn bicubicInterpolation(output_indices: ${r.type.indices}) -> ${A} {\\n var input_indices: ${e.type.indices} = output_indices;\\n return colCubicInterpolation(input_indices, output_indices);\\n }\\n `},Vy=(e,r,t,u,s)=>{let[m,y,d,w,C]=t.length===3?[-1,0,1,2,-1]:[0,2,3,4,1],$=e.type.value;return`\\n fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${$} {\\n var input_indices: ${e.type.indices};\\n ${e.indicesSet(\"input_indices\",y,`max(0, min(depth, ${t[y]} - 1))`)};\\n ${e.indicesSet(\"input_indices\",d,`max(0, min(height, ${t[d]} - 1))`)};\\n ${e.indicesSet(\"input_indices\",w,`max(0, min(width, ${t[w]} - 1))`)};\\n ${wc(e,C,m,3)}\\n return ${e.getByIndices(\"input_indices\")};\\n }\\n\\n fn trilinearInterpolation(output_indices: ${r.type.indices}) -> ${$} {\\n var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\\n var depth:${$} = originalIndices[${y}];\\n var height:${$} = originalIndices[${d}];\\n var width:${$} = originalIndices[${w}];\\n ${u?`if (depth < 0 || depth > (${t[y]} - 1) || height < 0 || height > (${t[d]} - 1) || width < 0 || (width > ${t[w]} - 1)) {\\n return ${s};\\n }`:\"\"};\\n\\n depth = max(0, min(depth, ${t[y]} - 1));\\n height = max(0, min(height, ${t[d]} - 1));\\n width = max(0, min(width, ${t[w]} - 1));\\n var depth1: u32 = u32(depth);\\n var height1: u32 = u32(height);\\n var width1: u32 = u32(width);\\n var depth2: u32 = u32(depth + 1);\\n var height2: u32 = u32(height + 1);\\n var width2: u32 = u32(width + 1);\\n var channel: u32 = ${t.length>3?`u32(originalIndices[${C}])`:\"0\"};\\n var batch: u32 = ${t.length>3?`u32(originalIndices[${m}])`:\"0\"};\\n\\n var x111: ${$} = getInputValue(batch, channel, depth1, height1, width1);\\n var x112: ${$} = getInputValue(batch, channel, depth1, height1, width2);\\n var x121: ${$} = getInputValue(batch, channel, depth1, height2, width1);\\n var x122: ${$} = getInputValue(batch, channel, depth1, height2, width2);\\n var x211: ${$} = getInputValue(batch, channel, depth2, height1, width1);\\n var x212: ${$} = getInputValue(batch, channel, depth2, height1, width2);\\n var x221: ${$} = getInputValue(batch, channel, depth2, height2, width1);\\n var x222: ${$} = getInputValue(batch, channel, depth2, height2, width2);\\n var dx1: ${$} = abs(depth - ${$}(depth1));\\n var dx2: ${$} = abs(${$}(depth2) - depth);\\n var dy1: ${$} = abs(height - ${$}(height1));\\n var dy2: ${$} = abs(${$}(height2) - height);\\n var dz1: ${$} = abs(width - ${$}(width1));\\n var dz2: ${$} = abs(${$}(width2) - width);\\n if (depth1 == depth2) {\\n dx1 = 0.5;\\n dx2 = 0.5;\\n }\\n if (height1 == height2) {\\n dy1 = 0.5;\\n dy2 = 0.5;\\n }\\n if (width1 == width2) {\\n dz1 = 0.5;\\n dz2 = 0.5;\\n }\\n return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +\\n x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);\\n }`},Ny=(e,r,t,u,s,c)=>{let m=e.dims,y=ky(c,r.axes,m.length),d=Ry(m,u,s,r.axes),w=u.slice();u.length===0&&(w=m.map((k,G)=>k===0?1:d[G]/k),r.keepAspectRatioPolicy!==\"stretch\"&&(d=Dy(m,w,r)));let C=ie(\"output\",e.dataType,d.length),$=X(\"input\",e.dataType,m.length),T=Z.size(d),O=m.length===d.length&&m.every((k,G)=>k===d[G]),A=r.coordinateTransformMode===\"tf_crop_and_resize\",P=r.extrapolationValue,z=$.type.value,D=k=>`\\n ${O?\"\":`\\n ${Py(r.coordinateTransformMode,z)};\\n ${(()=>{switch(r.mode){case\"nearest\":return`\\n ${zy($,m)};\\n ${Oy(r.nearestMode,t,z)};\\n ${My($,C,m,d,w.length,y.length,A)};\\n `;case\"linear\":return`\\n ${By(C,m,d,w.length,y.length)};\\n ${(()=>{if(m.length===2||m.length===4)return`${Uy($,C,m,A,P)}`;if(m.length===3||m.length===5)return`${Vy($,C,m,A,P)}`;throw Error(\"Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.\")})()};\\n `;case\"cubic\":return`\\n ${(()=>{if(m.length===2||m.length===4)return`${jy($,C,m,d,w,y,r.cubicCoeffA,A,r.extrapolationValue,r.excludeOutside)}`;throw Error(\"Cubic mode only supports input dims 2 and 4 are supported in linear mode.\")})()};\\n `;default:throw Error(\"Invalid resize mode\")}})()};\\n `}\\n ${k.registerUniform(\"output_size\",\"u32\").registerUniform(\"scales\",\"f32\",w.length).registerUniform(\"roi\",\"f32\",y.length).declareVariables($,C)}\\n ${k.mainStart()}\\n ${k.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n ${O?\"output[global_idx] = input[global_idx];\":`\\n let output_indices = ${C.offsetToIndices(\"global_idx\")};\\n var input_indices: ${$.type.indices};\\n ${(()=>{switch(r.mode){case\"nearest\":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);\\n if (checkInputIndices(input_indices)) {\\n output[global_idx] = ${$.getByIndices(\"input_indices\")};\\n } else {\\n output[global_idx] = ${r.extrapolationValue};\\n }`;case\"linear\":return`output[global_idx] = ${m.length===2||m.length===4?\"bilinearInterpolation\":\"trilinearInterpolation\"}(output_indices);`;case\"cubic\":return\"output[global_idx] = bicubicInterpolation(output_indices);\";default:throw Error(`Unsupported resize mode: ${r.mode}`)}})()};\\n`}\\n }`;return{name:\"Resize\",shaderCache:{hint:`${r.cacheKey}|${t}|${w.length>0?w:\"\"}|${s.length>0?s:\"\"}|${y.length>0?y:\"\"}|${O}|${m}`,inputDependencies:[\"rank\"]},getShaderSource:D,getRunData:()=>({outputs:[{dims:d,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(T/64)},programUniforms:[{type:12,data:T},{type:1,data:w},{type:1,data:y},...se(m,d)]})}},Wy=e=>{let r=e.customDataBuffer;return new Uint32Array(r,r.byteOffset,1)[0]},_c=(e,r)=>{let t=[],u=[],s=[],c=Wy(e);if(r.antialias!==0)throw Error(\"Only default value (0) for Antialias attribute is supported\");Ey(e.inputs,r,c,t,u,s),e.compute(Ny(e.inputs[0],r,c,t,u,s),{inputs:[0]})},$c=e=>{let r=e.antialias,t=e.axes,u=e.coordinateTransformMode,s=e.cubicCoeffA,c=e.excludeOutside!==0,m=e.extrapolationValue,y=e.keepAspectRatioPolicy,d=e.mode,w=e.nearestMode===\"\"?\"simple\":e.nearestMode;return Oe({antialias:r,axes:t,coordinateTransformMode:u,cubicCoeffA:s,excludeOutside:c,extrapolationValue:m,keepAspectRatioPolicy:y,mode:d,nearestMode:w})}});var Gy,Hy,Sc,xc=ae(()=>{\"use strict\";$e();ke();Ae();Gy=e=>{if(!e||e.length<3)throw new Error(\"layerNorm requires at least 3 inputs.\");let r=e[0],t=e[1],u=e[2];if(r.dataType!==t.dataType||r.dataType!==u.dataType)throw new Error(\"All inputs must have the same data type\");if(r.dims.length!==3&&r.dims.length!==2)throw new Error(\"Input must be 2D or 3D\");if(t.dims.length!==3&&t.dims.length!==2)throw new Error(\"Skip must be 2D or 3D\");let s=r.dims[r.dims.length-1],c=r.dims[r.dims.length-2];if(t.dims[t.dims.length-1]!==s)throw new Error(\"Skip must have the same hidden size as input\");if(t.dims[t.dims.length-2]!==c)throw new Error(\"Skip must have the same sequence length as input\");if(u.dims.length!==1)throw new Error(\"Gamma must be 1D\");if(u.dims[u.dims.length-1]!==s)throw new Error(\"Gamma must have the same hidden size as input\");if(e.length>3){let m=e[3];if(m.dims.length!==1)throw new Error(\"Beta must be 1D\");if(m.dims[m.dims.length-1]!==s)throw new Error(\"Beta must have the same hidden size as input\")}if(e.length>4){let m=e[4];if(m.dims.length!==1)throw new Error(\"Bias must be 1D\");if(m.dims[m.dims.length-1]!==s)throw new Error(\"Bias must have the same hidden size as input\")}},Hy=(e,r,t,u)=>{let s=e[0].dims,c=Z.size(s),m=s,y=c,d=s.slice(-1)[0],w=u?s.slice(0,-1).concat(1):[],C=e.length>3,$=e.length>4,T=u&&t>1,O=u&&t>2,A=t>3,P=Je(d),z=[{type:12,data:y},{type:12,data:P},{type:12,data:d},{type:1,data:r.epsilon}],D=G=>{let W=[{name:\"output_size\",type:\"u32\"},{name:\"components\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"},{name:\"epsilon\",type:\"f32\"}],q=[X(\"x\",e[0].dataType,e[0].dims,P),X(\"skip\",e[1].dataType,e[1].dims,P),X(\"gamma\",e[2].dataType,e[2].dims,P)];C&&q.push(X(\"beta\",e[3].dataType,e[3].dims,P)),$&&q.push(X(\"bias\",e[4].dataType,e[4].dims,P)),q.push(ie(\"output\",e[0].dataType,m,P)),T&&q.push(ie(\"mean_output\",1,w)),O&&q.push(ie(\"inv_std_output\",1,w)),A&&q.push(ie(\"input_skip_bias_sum\",e[0].dataType,m,P));let Y=Ve(e[0].dataType);return`\\n\\n ${G.registerUniforms(W).declareVariables(...q)}\\n\\n ${G.mainStart()}\\n ${G.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size / uniforms.hidden_size\")}\\n let hidden_size_vectorized: u32 = uniforms.hidden_size / uniforms.components;\\n let offset = global_idx * hidden_size_vectorized;\\n var sum = ${at(\"f32\",P)};\\n var squareSum = ${at(\"f32\",P)};\\n for (var i: u32 = 0; i < hidden_size_vectorized; i++) {\\n let skip_value = skip[offset + i];\\n let bias_value = ${$?\"bias[i]\":\"0.0\"};\\n let input_value = x[offset + i];\\n let value = input_value + skip_value + bias_value;\\n ${A?\"input_skip_bias_sum[offset + i] = value;\":\"\"}\\n output[offset + i] = value;\\n let f32_value = ${It(Y,P,\"value\")};\\n sum += f32_value;\\n squareSum += f32_value * f32_value;\\n }\\n let mean = ${pt(\"sum\",P)} / f32(uniforms.hidden_size);\\n let inv_std_dev = inverseSqrt(${pt(\"squareSum\",P)} / f32(uniforms.hidden_size) - mean * mean + uniforms.epsilon);\\n ${T?\"mean_output[global_idx] = mean;\":\"\"}\\n ${O?\"inv_std_output[global_idx] = inv_std_dev;\":\"\"}\\n for (var i: u32 = 0; i < hidden_size_vectorized; i++) {\\n output[offset + i] = (output[offset + i] - ${Y}(mean)) * ${Y}(inv_std_dev) * gamma[i] + ${C?\"beta[i]\":\"0.0\"};\\n }\\n }`},k=[{dims:m,dataType:e[0].dataType}];return t>1&&k.push({dims:w,dataType:1}),t>2&&k.push({dims:w,dataType:1}),t>3&&k.push({dims:s,dataType:e[0].dataType}),{name:\"SkipLayerNormalization\",shaderCache:{hint:`${P};${T};${O};${A}`,inputDependencies:e.map((G,W)=>\"type\")},getShaderSource:D,getRunData:()=>({outputs:k,dispatchGroup:{x:Math.ceil(y/d/64)},programUniforms:z})}},Sc=(e,r)=>{Gy(e.inputs);let u=[0];e.outputCount>1&&u.push(-3),e.outputCount>2&&u.push(-3),e.outputCount>3&&u.push(3),e.compute(Hy(e.inputs,r,e.outputCount,!1),{outputs:u})}});var Ly,gi,Fy,Ic,qy,Ky,Ac,Tc,Ec=ae(()=>{\"use strict\";$e();ke();nt();Ae();Ly=(e,r)=>{if(!e||e.length<1)throw new Error(\"too few inputs\");if(r.axes.length!==0){if(r.axes.length!==r.starts.length||r.axes.length!==r.ends.length)throw new Error(\"axes, starts and ends must have the same length\")}else if(r.starts.length!==r.ends.length)throw new Error(\"starts and ends must have the same length\");e.slice(1).forEach((t,u)=>{if(e[u+1].dataType!==6&&e[u+1].dataType!==7)throw new Error(`Input ${u} must be an array of int32 or int64`)})},gi=(e,r)=>{let t=[];if(e.length>r)if(e[r].dataType===7)e[r].getBigInt64Array().forEach(u=>t.push(Number(u)));else if(e[r].dataType===6)e[r].getInt32Array().forEach(u=>t.push(Number(u)));else throw new Error(`Input ${r} must be an array of int32 or int64`);return t},Fy=(e,r)=>{if(e.length>1){let t=gi(e,1),u=gi(e,2),s=gi(e,3);return s.length===0&&(s=[...Array(e[0].dims.length).keys()]),Oe({starts:t,ends:u,axes:s})}else return r},Ic=(e,r,t,u,s)=>{let c=e;return e<0&&(c+=t[u[r]]),s[r]<0?Math.max(0,Math.min(c,t[u[r]]-1)):Math.max(0,Math.min(c,t[u[r]]))},qy=(e,r,t)=>`fn calculateInputIndices(output_indices: ${r.type.indices}) -> ${e.type.indices} {\\n var input_indices: ${e.type.indices};\\n var carry = 0u;\\n for (var i = ${t.length}; i >= 0; i--) {\\n let input_shape_i = ${we(\"uniforms.input_shape\",\"i\",t.length)};\\n let steps_i = ${we(\"uniforms.steps\",\"i\",t.length)};\\n let signs_i = ${we(\"uniforms.signs\",\"i\",t.length)};\\n let starts_i = ${we(\"uniforms.starts\",\"i\",t.length)};\\n var output_index = ${r.indicesGet(\"output_indices\",\"i\")};\\n var input_index = output_index * steps_i + starts_i + carry;\\n carry = input_index / input_shape_i;\\n input_index = input_index % input_shape_i;\\n if (signs_i < 0) {\\n input_index = input_shape_i - input_index - 1u + starts_i;\\n }\\n ${e.indicesSet(\"input_indices\",\"i\",\"input_index\")};\\n }\\n return input_indices;\\n }`,Ky=(e,r)=>{let t=e[0].dims,u=Z.size(t),s=r.axes.length>0?Z.normalizeAxes(r.axes,t.length):[...Array(t.length).keys()],c=gi(e,4);c.forEach(D=>D!==0||(()=>{throw new Error(\"step cannot be 0\")})),c.length===0&&(c=Array(s.length).fill(1));let m=r.starts.map((D,k)=>Ic(D,k,t,s,c)),y=r.ends.map((D,k)=>Ic(D,k,t,s,c));if(s.length!==m.length||s.length!==y.length)throw new Error(\"start, ends and axes should have the same number of elements\");if(s.length!==t.length)for(let D=0;DMath.sign(D));c.forEach((D,k,G)=>{if(D<0){let W=(y[k]-m[k])/D,q=m[k],Y=q+W*c[k];m[k]=Y,y[k]=q,G[k]=-D}});let w=t.slice(0);s.forEach((D,k)=>{w[D]=Math.ceil((y[D]-m[D])/c[D])});let C={dims:w,dataType:e[0].dataType},$=ie(\"output\",e[0].dataType,w.length),T=X(\"input\",e[0].dataType,e[0].dims.length),O=Z.size(w),A=[{name:\"outputSize\",type:\"u32\"},{name:\"starts\",type:\"u32\",length:m.length},{name:\"signs\",type:\"i32\",length:d.length},{name:\"steps\",type:\"u32\",length:c.length}],P=[{type:12,data:O},{type:12,data:m},{type:6,data:d},{type:12,data:c},...se(e[0].dims,w)],z=D=>`\\n ${D.registerUniforms(A).declareVariables(T,$)}\\n ${qy(T,$,t)}\\n ${D.mainStart()}\\n ${D.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\\n let output_indices = ${$.offsetToIndices(\"global_idx\")};\\n let input_indices = calculateInputIndices(output_indices);\\n ${$.setByOffset(\"global_idx\",T.getByIndices(\"input_indices\"))}\\n }`;return{name:\"Slice\",shaderCache:{hint:`${d.length}_${m.length}_${c.length}`,inputDependencies:[\"rank\"]},getShaderSource:z,getRunData:()=>({outputs:[C],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:P})}},Ac=(e,r)=>{Ly(e.inputs,r);let t=Fy(e.inputs,r);e.compute(Ky(e.inputs,t),{inputs:[0]})},Tc=e=>{let r=e.starts,t=e.ends,u=e.axes;return Oe({starts:r,ends:t,axes:u})}});var Yy,Zy,Pc,Oc,kc=ae(()=>{\"use strict\";$e();ke();nt();Ae();Yy=e=>{if(!e||e.length!==1)throw new Error(\"Softmax op requires 1 input.\")},Zy=(e,r)=>{let t=e.dims,u=Z.size(t),s=64,c=r.axis;if(c<0&&(c=t.length+c),cD===4?`max(max(${z}.x, ${z}.y), max(${z}.z, ${z}.w))`:D===2?`max(${z}.x, ${z}.y)`:D===3?`max(max(${z}.x, ${z}.y), ${z}.z)`:z,$=X(\"x\",e.dataType,e.dims,d),T=ie(\"result\",e.dataType,e.dims,d),O=$.type.value,A=Ve(e.dataType)===\"f32\"?`var threadMax = ${O}(-3.402823e+38f);`:`var threadMax = ${O}(-65504.0h);`,P=z=>`\\n var rowMaxShared : ${O};\\n var rowSumShared : ${O};\\n var threadShared : array<${O}, ${s}>;\\n\\n fn getValue(row: i32, col: i32, row_stride: i32) -> ${O} {\\n let index = row * row_stride + col;\\n return x[index];\\n }\\n\\n fn setValue(row: i32, col: i32, row_stride: i32, value: ${O}) {\\n let index = row * row_stride + col;\\n result[index] = value;\\n }\\n ${z.registerUniform(\"packedCols\",\"i32\").declareVariables($,T)}\\n ${z.mainStart()}\\n let gindex = i32(global_idx);\\n let lindex = i32(local_idx);\\n const wg = ${s};\\n let row = gindex / wg;\\n let cols = uniforms.packedCols;\\n let row_stride : i32 = uniforms.packedCols;\\n\\n // find the rows max\\n ${A}\\n for (var col = lindex; col < cols; col += wg) {\\n let value = getValue(row, col, row_stride);\\n threadMax = max(threadMax, value);\\n }\\n if (lindex < cols) {\\n threadShared[lindex] = threadMax;\\n }\\n workgroupBarrier();\\n\\n var reduceSize = min(cols, wg);\\n for (var currSize = reduceSize >> 1; currSize > 0; currSize = reduceSize >> 1) {\\n reduceSize = currSize + (reduceSize & 1);\\n if (lindex < currSize) {\\n threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);\\n }\\n workgroupBarrier();\\n }\\n if (lindex == 0) {\\n rowMaxShared = ${O}(${C(\"threadShared[0]\",d)});\\n }\\n workgroupBarrier();\\n\\n // find the rows sum\\n var threadSum = ${O}(0.0);\\n for (var col = lindex; col < cols; col += wg) {\\n let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);\\n threadSum += subExp;\\n }\\n threadShared[lindex] = threadSum;\\n workgroupBarrier();\\n\\n for (var currSize = wg >> 1; currSize > 0; currSize = currSize >> 1) {\\n if (lindex < currSize) {\\n threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];\\n }\\n workgroupBarrier();\\n }\\n if (lindex == 0) {\\n rowSumShared = ${O}(${pt(\"threadShared[0]\",d)});\\n }\\n workgroupBarrier();\\n\\n // calculate final value for each element in the row\\n for (var col = lindex; col < cols; col += wg) {\\n let value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;\\n setValue(row, col, row_stride, value);\\n }\\n }`;return{name:\"Softmax\",shaderCache:{hint:`${d}`,inputDependencies:[\"type\"]},getRunData:()=>({outputs:[{dims:t,dataType:e.dataType}],dispatchGroup:{x:y},programUniforms:[{type:12,data:w}]}),getShaderSource:P}},Pc=(e,r)=>{Yy(e.inputs),e.compute(Zy(e.inputs[0],r))},Oc=e=>Oe({axis:e.axis})});var Qy,Xy,Jy,e0,t0,Rc,Dc,Bc=ae(()=>{\"use strict\";$e();ke();nt();Ae();Qy=e=>{if(!e||e.length<1)throw new Error(\"too few inputs\")},Xy=(e,r)=>{let t=[],u=r.numOutputs;return e[1].dims[0]>0&&(e[1].getBigInt64Array().forEach(s=>t.push(Number(s))),u=t.length),Oe({numOutputs:u,axis:r.axis,splitSizes:t})},Jy=e=>`\\nfn calculateOutputIndex(index: u32) -> u32 {\\n for (var i: u32 = 0u; i < ${e}u; i += 1u ) {\\n if (index < ${we(\"uniforms.size_in_split_axis\",\"i\",e)}) {\\n return i;\\n }\\n }\\n return ${e}u;\\n}`,e0=e=>{let r=e.length,t=[];for(let u=0;u{let t=e[0].dims,u=Z.size(t),s=e[0].dataType,c=Z.normalizeAxis(r.axis,t.length),m=new Array(r.numOutputs),y=X(\"input\",s,t.length),d=new Array(r.numOutputs),w=[],C=[],$=0,T=[{type:12,data:u}];for(let A=0;A`\\n ${A.registerUniform(\"input_size\",\"u32\").registerUniform(\"size_in_split_axis\",\"u32\",d.length).declareVariables(y,...m)}\\n ${Jy(d.length)}\\n ${e0(m)}\\n\\n ${A.mainStart()}\\n ${A.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.input_size\")}\\n\\n var indices = ${y.offsetToIndices(\"global_idx\")};\\n var index = ${y.indicesGet(\"indices\",c)};\\n let output_number = calculateOutputIndex(index);\\n if (output_number != 0) {\\n index -= ${we(\"uniforms.size_in_split_axis\",\"output_number - 1u\",d.length)};\\n ${y.indicesSet(\"indices\",c,\"index\")};\\n }\\n writeBufferData(output_number, indices, global_idx);\\n }`;return{name:\"Split\",shaderCache:{hint:r.cacheKey,inputDependencies:[\"rank\"]},getShaderSource:O,getRunData:()=>({outputs:w,dispatchGroup:{x:Math.ceil(u/64)},programUniforms:T})}},Rc=(e,r)=>{Qy(e.inputs);let t=e.inputs.length===1?r:Xy(e.inputs,r);e.compute(t0(e.inputs,t),{inputs:[0]})},Dc=e=>{let r=e.axis,t=e.splitSizes,u=e.numOutputs<0?t.length:e.numOutputs;if(u!==t.length)throw new Error(\"numOutputs and splitSizes lengh must be equal\");return Oe({axis:r,numOutputs:u,splitSizes:t})}});var Mc,r0,n0,i0,zc,Uc=ae(()=>{\"use strict\";$e();ke();Ae();Mc=e=>Array.from(e.getBigInt64Array(),Number),r0=e=>{if(!e||e.length!==2)throw new Error(\"Tile requires 2 inputs.\");if(e[0].dataType!==1&&e[0].dataType!==6&&e[0].dataType!==12)throw new Error(\"Tile only support float, int32, and uint32 data types\");if(e[1].dataType!==7)throw new Error(\"Tile `repeats` input should be of int64 data type\");if(e[1].dims.length!==1)throw new Error(\"Tile `repeats` input should be 1-D\");if(Mc(e[1]).length!==e[0].dims.length)throw new Error(\"Tile `repeats` input should have same number of elements as rank of input data tensor\")},n0=(e,r)=>{let t=[];for(let u=0;u{let r=e[0].dims,t=Mc(e[1]),u=n0(r,t),s=Z.size(u),c=e[0].dataType,m=X(\"input\",c,r.length),y=ie(\"output\",c,u.length),d=w=>`\\n const inputShape = ${m.indices(...r)};\\n ${w.registerUniform(\"output_size\",\"u32\").declareVariables(m,y)}\\n ${w.mainStart()}\\n ${w.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\\n let output_indices = ${y.offsetToIndices(\"global_idx\")};\\n var input_indices: ${m.type.indices};\\n for (var i = 0; i < ${r.length}; i++) {\\n let input_dim_i = ${m.indicesGet(\"uniforms.input_shape\",\"i\")};\\n let input_dim_value = ${y.indicesGet(\"output_indices\",\"i\")} % input_dim_i;\\n\\n ${m.indicesSet(\"input_indices\",\"i\",\"input_dim_value\")}\\n }\\n ${y.setByOffset(\"global_idx\",m.getByIndices(\"input_indices\"))}\\n }`;return{name:\"Tile\",shaderCache:{hint:`${t}`,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:u,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:[{type:12,data:s},...se(e[0].dims,u)]}),getShaderSource:d}},zc=e=>{r0(e.inputs),e.compute(i0(e.inputs),{inputs:[0]})}});var o0,a0,jc,Vc=ae(()=>{\"use strict\";$e();ke();Ae();o0=(e,r,t,u,s)=>{let c=ie(\"output_data\",s,t.length,4),m=X(\"a_data\",r[1].dataType,r[1].dims.length,4),y=X(\"b_data\",r[2].dataType,r[2].dims.length,4),d=X(\"c_data\",r[0].dataType,r[0].dims.length,4),w,C=($,T,O)=>`select(${T}, ${$}, ${O})`;if(!u)w=c.setByOffset(\"global_idx\",C(m.getByOffset(\"global_idx\"),y.getByOffset(\"global_idx\"),d.getByOffset(\"global_idx\")));else{let $=(T,O,A=\"\")=>{let P=`a_data[index_a${O}][component_a${O}]`,z=`b_data[index_b${O}][component_b${O}]`,D=`bool(c_data[index_c${O}] & (0xffu << (component_c${O} * 8)))`;return`\\n let output_indices${O} = ${c.offsetToIndices(`global_idx * 4u + ${O}u`)};\\n let offset_a${O} = ${m.broadcastedIndicesToOffset(`output_indices${O}`,c)};\\n let offset_b${O} = ${y.broadcastedIndicesToOffset(`output_indices${O}`,c)};\\n let offset_c${O} = ${d.broadcastedIndicesToOffset(`output_indices${O}`,c)};\\n let index_a${O} = offset_a${O} / 4u;\\n let index_b${O} = offset_b${O} / 4u;\\n let index_c${O} = offset_c${O} / 4u;\\n let component_a${O} = offset_a${O} % 4u;\\n let component_b${O} = offset_b${O} % 4u;\\n let component_c${O} = offset_c${O} % 4u;\\n ${T}[${O}] = ${A}(${C(P,z,D)});\\n `};s===9?w=`\\n var data = vec4(0);\\n ${$(\"data\",0,\"u32\")}\\n ${$(\"data\",1,\"u32\")}\\n ${$(\"data\",2,\"u32\")}\\n ${$(\"data\",3,\"u32\")}\\n output_data[global_idx] = dot(vec4(0x1, 0x100, 0x10000, 0x1000000), vec4(data));`:w=`\\n ${$(\"output_data[global_idx]\",0)}\\n ${$(\"output_data[global_idx]\",1)}\\n ${$(\"output_data[global_idx]\",2)}\\n ${$(\"output_data[global_idx]\",3)}\\n `}return`\\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(d,m,y,c)}\\n ${e.mainStart()}\\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\\n ${w}\\n }`},a0=e=>{let r=e[1].dims,t=e[2].dims,u=e[0].dims,s=e[1].dataType,c=!(Z.areEqual(r,t)&&Z.areEqual(t,u)),m=r,y=Z.size(r);if(c){let w=Pt.calcShape(Pt.calcShape(r,t,!1),u,!1);if(!w)throw new Error(\"Can\\'t perform where op on the given tensors\");m=w,y=Z.size(m)}let d=Math.ceil(y/4);return{name:\"Where\",shaderCache:{inputDependencies:[\"rank\",\"rank\",\"rank\"]},getShaderSource:w=>o0(w,e,m,c,s),getRunData:()=>({outputs:[{dims:m,dataType:s}],dispatchGroup:{x:Math.ceil(y/64/4)},programUniforms:[{type:12,data:d},...se(u,r,t,m)]})}},jc=e=>{e.compute(a0(e.inputs))}});var Nc,Wc=ae(()=>{\"use strict\";rl();Ki();ol();sl();Ll();rd();od();eo();vd();$d();Ad();Pd();kd();Bd();Ud();Nd();Gd();Ld();ro();Kd();Xd();ec();yc();vc();ni();Cc();xc();Ec();kc();Bc();Uc();Ar();ui();Vc();Nc=new Map([[\"Abs\",[ul]],[\"Acos\",[ll]],[\"Acosh\",[dl]],[\"Add\",[Fl]],[\"ArgMax\",[tl,qi]],[\"ArgMin\",[el,qi]],[\"Asin\",[cl]],[\"Asinh\",[fl]],[\"Atan\",[pl]],[\"Atanh\",[ml]],[\"Attention\",[nl]],[\"AveragePool\",[uc,sc]],[\"BatchNormalization\",[il]],[\"BiasAdd\",[al]],[\"BiasSplitGelu\",[Hl]],[\"Cast\",[gl,hl]],[\"Ceil\",[bl]],[\"Clip\",[yl]],[\"Concat\",[nd,id]],[\"Conv\",[io,no]],[\"ConvTranspose\",[bd,yd]],[\"Cos\",[vl]],[\"Cosh\",[wl]],[\"CumSum\",[wd,_d]],[\"Div\",[ql]],[\"Einsum\",[xd,Id]],[\"Elu\",[_l,ai]],[\"Equal\",[Kl]],[\"Erf\",[$l]],[\"Exp\",[Cl]],[\"Expand\",[Ed]],[\"FastGelu\",[Od]],[\"Floor\",[Sl]],[\"FusedConv\",[io,no]],[\"Gather\",[Dd,Rd]],[\"GatherElements\",[zd,Md]],[\"Gelu\",[xl]],[\"Gemm\",[Vd,jd]],[\"GlobalAveragePool\",[cc,dc]],[\"GlobalMaxPool\",[gc,hc]],[\"Greater\",[Xl]],[\"GreaterOrEqual\",[ed]],[\"HardSigmoid\",[Rl,kl]],[\"InstanceNormalization\",[Wd]],[\"LayerNormalization\",[Hd]],[\"LeakyRelu\",[Il,ai]],[\"Less\",[Jl]],[\"LessOrEqual\",[td]],[\"Log\",[Wl]],[\"MatMul\",[dd]],[\"MatMulNBits\",[Fd,qd]],[\"MaxPool\",[pc,mc]],[\"Mul\",[Yl]],[\"MultiHeadAttention\",[Qd,Zd]],[\"Neg\",[Tl]],[\"Not\",[Al]],[\"Pad\",[Jd]],[\"Pow\",[Zl]],[\"Range\",[bc]],[\"Reciprocal\",[El]],[\"ReduceMin\",[Ku]],[\"ReduceMean\",[Gu]],[\"ReduceMax\",[qu]],[\"ReduceSum\",[Zu]],[\"ReduceProd\",[Yu]],[\"ReduceL1\",[Hu]],[\"ReduceL2\",[Lu]],[\"ReduceLogSum\",[Xu]],[\"ReduceLogSumExp\",[Fu]],[\"ReduceSumSquare\",[Qu]],[\"Relu\",[Pl]],[\"Resize\",[_c,$c]],[\"Sigmoid\",[Ol]],[\"Sin\",[Dl]],[\"Sinh\",[Bl]],[\"Slice\",[Ac,Tc]],[\"SkipLayerNormalization\",[Sc]],[\"Split\",[Rc,Dc]],[\"Sqrt\",[Ml]],[\"Softmax\",[Pc,Oc]],[\"Sub\",[Ql]],[\"Tan\",[zl]],[\"Tanh\",[jl]],[\"ThresholdedRelu\",[Nl,ai]],[\"Tile\",[zc]],[\"Transpose\",[Pu,Ou]],[\"Where\",[jc]]])});var yi,Gc=ae(()=>{\"use strict\";xr();Kt();Ae();yi=class{constructor(r){this.backend=r;this.repo=new Map,this.attributesBound=!1}getArtifact(r){return this.repo.get(r)}setArtifact(r,t){this.repo.set(r,t)}run(r,t,u,s,c){ar(r.programInfo.name);let m=this.backend.device,y=this.backend.getComputePassEncoder();this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2);let d=[];for(let C of t)d.push({binding:d.length,resource:{buffer:C.buffer}});for(let C of u)d.push({binding:d.length,resource:{buffer:C.buffer}});c&&d.push({binding:d.length,resource:c});let w=m.createBindGroup({layout:r.computePipeline.getBindGroupLayout(0),entries:d,label:r.programInfo.name});if(this.backend.sessionStatus===\"capturing\"){let C={kernelId:this.backend.currentKernelId,computePipeline:r.computePipeline,bindGroup:w,dispatchGroup:s};this.backend.capturedCommandList.get(this.backend.currentSessionId).push(C)}y.setPipeline(r.computePipeline),y.setBindGroup(0,w),y.dispatchWorkgroups(...s),this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||this.backend.queryType===\"at-passes\")&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),qt(r.programInfo.name)}dispose(){}build(r,t){ar(r.name);let u=this.backend.device,s=[];u.features.has(\"shader-f16\")&&s.push(\"enable f16;\");let c=Tu(t),m=r.getShaderSource(c),y=`${s.join(`\\n`)}\\n${c.additionalImplementations}\\n${m}`,d=u.createShaderModule({code:y,label:r.name});Le(\"verbose\",()=>`[WebGPU] ${r.name} shader code: ${y}`);let w=u.createComputePipeline({compute:{module:d,entryPoint:\"main\"},layout:\"auto\",label:r.name});return qt(r.name),{programInfo:r,computePipeline:w}}normalizeDispatchGroupSize(r){let t=typeof r==\"number\"?r:r.x,u=typeof r==\"number\"?1:r.y||1,s=typeof r==\"number\"?1:r.z||1,c=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(t<=c&&u<=c&&s<=c)return[t,u,s];let m=t*u*s,y=Math.ceil(Math.sqrt(m));if(y>c){if(y=Math.ceil(Math.cbrt(m)),y>c)throw new Error(\"Total dispatch size exceeds WebGPU maximum.\");return[y,y,y]}else return[y,y,1]}}});var s0,u0,bi,Hc=ae(()=>{\"use strict\";xr();$e();Kt();Cu();Au();Wc();Gc();s0=(e,r)=>{if(r.length!==e.length)throw new Error(`inputDependencies length ${r.length} is not equal to inputTensors length ${e.length}.`);let t=[];for(let u=0;u{let u=e.name;return e.shaderCache?.hint&&(u+=\"[\"+e.shaderCache.hint+\"]\"),u+=\":\"+t+`:${s0(r,e.shaderCache?.inputDependencies??new Array(r.length).fill(\"dims\"))}`,u},bi=class{constructor(){this.currentSessionId=null;this.currentKernelId=null;this.commandEncoder=null;this.computePassEncoder=null;this.maxDispatchNumber=16;this.pendingDispatchNumber=0;this.pendingKernels=[];this.pendingQueries=new Map;this.sessionStatus=\"default\";this.capturedCommandList=new Map;this.capturedPendingKernels=new Map;this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(this.currentKernelId===null)throw new Error(\"currentKernelCustomData(): currentKernelId is null. (should not happen)\");let r=this.kernelCustomData.get(this.currentKernelId);return r||(r={},this.kernelCustomData.set(this.currentKernelId,r)),r}async initialize(r,t){this.env=r;let u=[],s={requiredLimits:{maxComputeWorkgroupStorageSize:t.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:t.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:t.limits.maxStorageBufferBindingSize,maxBufferSize:t.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:t.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:t.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:t.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:t.limits.maxComputeWorkgroupSizeZ},requiredFeatures:u};t.features.has(\"chromium-experimental-timestamp-query-inside-passes\")?u.push(\"chromium-experimental-timestamp-query-inside-passes\"):t.features.has(\"timestamp-query\")&&u.push(\"timestamp-query\"),t.features.has(\"shader-f16\")&&u.push(\"shader-f16\"),this.device=await t.requestDevice(s),this.gpuDataManager=Iu(this),this.programManager=new yi(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,_u(r.logLevel,!!r.debug),this.device.onuncapturederror=c=>{c.error instanceof GPUValidationError&&console.error(`An uncaught WebGPU validation error was raised: ${c.error.message}`)},Object.defineProperty(this.env.webgpu,\"device\",{value:this.device}),this.setQueryType()}dispose(){typeof this.querySet<\"u\"&&this.querySet.destroy(),this.gpuDataManager.dispose()}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder()),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let r=this.getCommandEncoder(),t={};this.queryType===\"at-passes\"&&(t.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:this.pendingDispatchNumber*2,endOfPassWriteIndex:this.pendingDispatchNumber*2+1}),this.computePassEncoder=r.beginComputePass(t)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){if(!this.commandEncoder)return;ar(),this.endComputePass();let r;this.queryType!==\"none\"&&(this.commandEncoder.resolveQuerySet(this.querySet,0,this.pendingDispatchNumber*2,this.queryResolveBuffer,0),r=this.device.createBuffer({size:this.pendingDispatchNumber*2*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(r,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,r,0,this.pendingDispatchNumber*2*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,this.queryType!==\"none\"&&r.mapAsync(GPUMapMode.READ).then(()=>{let t=new BigUint64Array(r.getMappedRange()),u=this.pendingQueries.get(r);for(let s=0;s\"u\"&&(this.queryTimeBase=O);let P=Number(O-this.queryTimeBase),z=Number(A-this.queryTimeBase);if(!Number.isSafeInteger(P)||!Number.isSafeInteger(z))throw new RangeError(\"incorrect timestamp range\");if(this.env.webgpu.profiling?.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:$.map(D=>({dims:D.dims,dataType:Ft(D.dataType)})),outputsMetadata:T.map(D=>({dims:D.dims,dataType:Ft(D.dataType)})),kernelId:m,kernelType:d,kernelName:w,programName:C,startTime:P,endTime:z});else{let D=\"\";$.forEach((G,W)=>{D+=`input[${W}]: [${G.dims}] | ${Ft(G.dataType)}, `});let k=\"\";T.forEach((G,W)=>{k+=`output[${W}]: [${G.dims}] | ${Ft(G.dataType)}, `}),console.log(`[profiling] kernel \"${m}|${d}|${w}|${C}\" ${D}${k}execution time: ${z-P} ns`)}zi(\"GPU\",`${C}::${O}::${A}`)}r.unmap(),this.pendingQueries.delete(r)}),qt()}run(r,t,u,s,c){ar(r.name);let m=[];for(let k=0;kG):u;if(C.length!==y.length)throw new Error(`Output size ${C.length} must be equal to ${y.length}.`);let $=[],T=[];for(let k=0;k=y.length)throw new Error(`Invalid output index: ${C[k]}`);if(C[k]===-3)continue;let G=C[k]===-1,W=C[k]===-2,q=G||W?c(y[k].dataType,y[k].dims):s(C[k],y[k].dataType,y[k].dims);if($.push(q),q.data===0)continue;let Y=this.gpuDataManager.get(q.data);if(!Y)throw new Error(`no GPU data for output: ${q.data}`);if(G&&this.temporaryData.push(Y),W){let J=this.kernelPersistentData.get(this.currentKernelId);J||(J=[],this.kernelPersistentData.set(this.currentKernelId,J)),J.push(Y)}T.push(Y)}if(m.length!==t.length||T.length!==$.length){if(T.length===0)return qt(r.name),$;throw new Error(`Program ${r.name} has zero-sized tensor(s) in inputs or outputs. This is not supported now.`)}let O;if(w){let k=0,G=[];w.forEach(J=>{let oe=typeof J.data==\"number\"?[J.data]:J.data;if(oe.length===0)return;let ge=J.type===10?2:4,L,le;J.type===10?(le=oe.length>4?16:oe.length>2?8:oe.length*ge,L=oe.length>4?16:ge*oe.length):(le=oe.length<=2?oe.length*ge:16,L=16),k=Math.ceil(k/le)*le,G.push(k);let Te=J.type===10?8:4;k+=oe.length>4?Math.ceil(oe.length/Te)*L:oe.length*ge});let W=16;k=Math.ceil(k/W)*W;let q=new ArrayBuffer(k);w.forEach((J,oe)=>{let ge=G[oe],L=typeof J.data==\"number\"?[J.data]:J.data;if(J.type===6)new Int32Array(q,ge,L.length).set(L);else if(J.type===12)new Uint32Array(q,ge,L.length).set(L);else if(J.type===10)new Uint16Array(q,ge,L.length).set(L);else if(J.type===1)new Float32Array(q,ge,L.length).set(L);else throw new Error(`Unsupported uniform type: ${Ft(J.type)}`)});let Y=this.gpuDataManager.create(k,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.device.queue.writeBuffer(Y.buffer,0,q,0,k),this.gpuDataManager.release(Y.id),O={offset:0,size:k,buffer:Y.buffer}}let A=this.programManager.normalizeDispatchGroupSize(d),P=A[1]===1&&A[2]===1,z=u0(r,t,P),D=this.programManager.getArtifact(z);if(D||(D=this.programManager.build(r,A),this.programManager.setArtifact(z,D),Le(\"info\",()=>`[artifact] key: ${z}, programName: ${r.name}`)),Le(\"info\",()=>`[ProgramManager] run \"${r.name}\" (key=${z}) with ${A[0]}x${A[1]}x${A[2]}`),this.queryType!==\"none\"||this.sessionStatus===\"capturing\"){let k={kernelId:this.currentKernelId,programName:D.programInfo.name,inputTensorViews:t,outputTensorViews:$};this.pendingKernels.push(k),this.sessionStatus===\"capturing\"&&this.capturedPendingKernels.get(this.currentSessionId).push(k)}return this.programManager.run(D,m,T,A,O),qt(r.name),$}upload(r,t){this.gpuDataManager.upload(r,t)}memcpy(r,t){this.gpuDataManager.memcpy(r,t)}async download(r,t){await this.gpuDataManager.download(r,t)}alloc(r){return this.gpuDataManager.create(r).id}free(r){return this.gpuDataManager.release(r)}createKernel(r,t,u,s){let c=Nc.get(r);if(!c)throw new Error(`kernel not implemented: ${r}`);let m={kernelType:r,kernelName:s,kernelEntry:c[0],attributes:[c[1],u]};this.kernels.set(t,m)}releaseKernel(r){let t=this.kernelPersistentData.get(r);if(t){for(let u of t)this.gpuDataManager.release(u.id);this.kernelPersistentData.delete(r)}this.kernelCustomData.delete(r),this.kernels.delete(r)}computeKernel(r,t,u){let s=this.kernels.get(r);if(!s)throw new Error(`kernel not created: ${r}`);let c=s.kernelType,m=s.kernelName,y=s.kernelEntry,d=s.attributes;if(this.currentKernelId!==null)throw new Error(`kernel \"[${c}] ${m}\" is not allowed to be called recursively`);this.currentKernelId=r,d[0]&&(d[1]=d[0](d[1]),d[0]=void 0),Le(\"info\",()=>`[WebGPU] Start to run kernel \"[${c}] ${m}\"...`);let w=this.env.debug;this.temporaryData=[];try{return w&&this.device.pushErrorScope(\"validation\"),y(t,d[1]),0}catch(C){return u.push(Promise.resolve(`[WebGPU] Kernel \"[${c}] ${m}\" failed. ${C}`)),1}finally{w&&u.push(this.device.popErrorScope().then(C=>C?`GPU validation error for kernel \"[${c}] ${m}\": ${C.message}`:null));for(let C of this.temporaryData)this.gpuDataManager.release(C.id);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(r,t,u,s){let c=this.sessionExternalDataMapping.get(r);c||(c=new Map,this.sessionExternalDataMapping.set(r,c));let m=c.get(t),y=this.gpuDataManager.registerExternalBuffer(u,s,m?.[1]);return c.set(t,[y,u]),y}unregisterBuffers(r){let t=this.sessionExternalDataMapping.get(r);t&&(t.forEach(u=>this.gpuDataManager.unregisterExternalBuffer(u[1])),this.sessionExternalDataMapping.delete(r))}getBuffer(r){let t=this.gpuDataManager.get(r);if(!t)throw new Error(`no GPU data for buffer: ${r}`);return t.buffer}createDownloader(r,t,u){return async()=>{let s=await Vi(this,r,t);return $u(s.buffer,u)}}writeTimestamp(r){this.queryType===\"inside-passes\"&&this.computePassEncoder.writeTimestamp(this.querySet,r)}setQueryType(){this.queryType=\"none\",(this.env.webgpu.profiling?.mode===\"default\"||(typeof this.env.trace>\"u\"?this.env.wasm.trace:this.env.trace))&&(this.device.features.has(\"chromium-experimental-timestamp-query-inside-passes\")?this.queryType=\"inside-passes\":this.device.features.has(\"timestamp-query\")&&(this.queryType=\"at-passes\"),this.queryType!==\"none\"&&typeof this.querySet>\"u\"&&(this.querySet=this.device.createQuerySet({type:\"timestamp\",count:this.maxDispatchNumber*2}),this.queryResolveBuffer=this.device.createBuffer({size:this.maxDispatchNumber*2*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE})))}captureBegin(){Le(\"info\",\"captureBegin\"),this.capturedCommandList.get(this.currentSessionId)||this.capturedCommandList.set(this.currentSessionId,[]),this.capturedPendingKernels.get(this.currentSessionId)||this.capturedPendingKernels.set(this.currentSessionId,[]),this.flush(),this.sessionStatus=\"capturing\"}captureEnd(){Le(\"info\",\"captureEnd\"),this.flush(),this.sessionStatus=\"default\"}replay(){Le(\"info\",\"replay\"),this.sessionStatus=\"replaying\";let r=this.capturedCommandList.get(this.currentSessionId),t=this.capturedPendingKernels.get(this.currentSessionId),u=r.length;this.pendingKernels=[];for(let s=0;s=this.maxDispatchNumber||this.queryType===\"at-passes\")&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus=\"default\"}onReleaseSession(r){this.unregisterBuffers(r),this.capturedCommandList.has(r)&&this.capturedCommandList.delete(r),this.capturedPendingKernels.has(r)&&this.capturedPendingKernels.delete(r),this.gpuDataManager.onReleaseSession(r)}onRunStart(r){this.currentSessionId=r,this.setQueryType()}}});var Lc={};Wn(Lc,{init:()=>l0});var hn,co,l0,Fc=ae(()=>{\"use strict\";$e();Hc();Kt();ke();hn=class e{constructor(r,t,u,s){this.module=r;this.dataType=t;this.data=u;this.dims=s}getFloat32Array(){if(this.dataType!==1)throw new Error(\"Invalid data type\");let r=Z.size(this.dims);return r===0?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,r)}getBigInt64Array(){if(this.dataType!==7)throw new Error(\"Invalid data type\");let r=Z.size(this.dims);return r===0?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,r)}getInt32Array(){if(this.dataType!==6)throw new Error(\"Invalid data type\");let r=Z.size(this.dims);return r===0?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,r)}reshape(r){if(Z.size(r)!==Z.size(this.dims))throw new Error(\"Invalid new shape\");return new e(this.module,this.dataType,this.data,r)}},co=class{constructor(r,t,u){this.module=r;this.backend=t;this.customDataOffset=0;this.customDataSize=0;let s=r.HEAPU32,c=u>>>2;this.opKernelContext=s[c++];let m=s[c++];this.outputCount=s[c++],this.customDataOffset=s[c++],this.customDataSize=s[c++];let y=[];for(let d=0;dtypeof y==\"number\"?this.inputs[y]:y)??this.inputs,s=t?.outputs??[],c=(y,d,w)=>new hn(this.module,d,this.output(y,w),w),m=(y,d)=>{let w=dn(y);if(!w)throw new Error(`Unsupported data type: ${y}`);let C=w*Z.size(d),$=C>0?this.backend.gpuDataManager.create(C).id:0;return new hn(this.module,y,$,d)};return this.backend.run(r,u,s,c,m)}output(r,t){let u=this.module.stackSave();try{let s=this.module.stackAlloc((1+t.length)*4),c=s>>2;this.module.HEAPU32[c++]=t.length;for(let m=0;m{let u=e.jsepInit;if(!u)throw new Error(\"Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.\");let s=new bi;await s.initialize(r,t),u(s,c=>s.alloc(c),c=>s.free(c),(c,m,y,d=!1)=>{if(d)Le(\"verbose\",()=>`[WebGPU] jsepCopyGpuToGpu: src=${c}, dst=${m}, size=${y}`),s.memcpy(c,m);else{Le(\"verbose\",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${c}, gpuDataId=${m}, size=${y}`);let w=e.HEAPU8.subarray(c>>>0,(c>>>0)+y);s.upload(m,w)}},async(c,m,y)=>{Le(\"verbose\",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${c}, dataOffset=${m}, size=${y}`),await s.download(c,()=>e.HEAPU8.subarray(m>>>0,(m>>>0)+y))},(c,m,y)=>s.createKernel(c,m,y,e.UTF8ToString(e._JsepGetNodeName(m))),c=>s.releaseKernel(c),(c,m,y,d)=>{Le(\"verbose\",()=>`[WebGPU] jsepRun: sessionHandle=${y}, kernel=${c}, contextDataOffset=${m}`);let w=new co(e,s,m);return s.computeKernel(c,w,d)},()=>s.captureBegin(),()=>s.captureEnd(),()=>s.replay())}});var Qs;Qs=Ns();var wh=Ks(),ki,Ri=!1,Ln=!1,Zs=!1,_h=e=>{if(e===1)return!1;if(typeof SharedArrayBuffer>\"u\")return typeof self<\"u\"&&!self.crossOriginIsolated&&console.warn(\"env.wasm.numThreads is set to \"+e+\", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.\"),!1;typeof process<\"u\"&&process.versions&&process.versions.node&&console.warn(\"env.wasm.numThreads is set to \"+e+\", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.\");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}},$h=()=>{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}},Ch=(e,r)=>e?r?\"ort-wasm-simd-threaded.wasm\":\"ort-wasm-simd.wasm\":r?\"ort-wasm-threaded.wasm\":\"ort-wasm.wasm\",Xs=async e=>{if(Ri)return Promise.resolve();if(Ln)throw new Error(\"multiple calls to \\'initializeWebAssembly()\\' detected.\");if(Zs)throw new Error(\"previous call to \\'initializeWebAssembly()\\' failed.\");Ln=!0;let r=e.initTimeout,t=e.numThreads,u=e.simd,s=_h(t),c=u&&$h(),m=e.wasmPaths,y=typeof m==\"string\"?m:void 0,d=Ch(c,s),w=typeof m==\"object\"?m[d]:void 0,C=!1,$=[];if(r>0&&$.push(new Promise(T=>{setTimeout(()=>{C=!0,T()},r)})),$.push(new Promise((T,O)=>{let A=s?wh:Qs,P={locateFile:(z,D)=>{if(s&&z.endsWith(\".worker.js\")&&typeof Blob<\"u\")return URL.createObjectURL(new Blob([Ys()],{type:\"text/javascript\"}));if(z.endsWith(\".wasm\")){if(w)return w;let k=y??D;return d===\"ort-wasm-simd.wasm\"?k+\"ort-wasm-simd.jsep.wasm\":d===\"ort-wasm-simd-threaded.wasm\"?k+\"ort-wasm-simd-threaded.jsep.wasm\":k+d}return D+z}};if(s)if(P.numThreads=t,typeof Blob>\"u\")P.mainScriptUrlOrBlob=(void 0)(__dirname,\"ort-wasm-threaded.js\");else{let z=`var ortWasmThreaded=${A.toString()};`;P.mainScriptUrlOrBlob=new Blob([z],{type:\"text/javascript\"})}A(P).then(z=>{Ln=!1,Ri=!0,ki=z,T()},z=>{Ln=!1,Zs=!0,O(z)})})),await Promise.race($),C)throw new Error(`WebAssembly backend initializing failed due to timeout: ${r}ms`)},Ye=()=>{if(Ri&&ki)return ki;throw new Error(\"WebAssembly is not initialized yet.\")};var qe=(e,r)=>{let t=Ye(),u=t.lengthBytesUTF8(e)+1,s=t._malloc(u);return t.stringToUTF8(e,s,u),r.push(s),s},ln=(e,r,t,u)=>{if(typeof e==\"object\"&&e!==null){if(t.has(e))throw new Error(\"Circular reference in options\");t.add(e)}Object.entries(e).forEach(([s,c])=>{let m=r?r+s:s;if(typeof c==\"object\")ln(c,m+\".\",t,u);else if(typeof c==\"string\"||typeof c==\"number\")u(m,c.toString());else if(typeof c==\"boolean\")u(m,c?\"1\":\"0\");else throw new Error(`Can\\'t handle extra config type: ${typeof c}`)})},He=e=>{let r=Ye(),t=r.stackSave();try{let u=r.stackAlloc(8);r._OrtGetLastError(u,u+4);let s=r.HEAP32[u/4],c=r.HEAPU32[u/4+1],m=c?r.UTF8ToString(c):\"\";throw new Error(`${e} ERROR_CODE: ${s}, ERROR_MESSAGE: ${m}`)}finally{r.stackRestore(t)}};var Js=e=>{let r=Ye(),t=0,u=[],s=e||{};try{if(e?.logSeverityLevel===void 0)s.logSeverityLevel=2;else if(typeof e.logSeverityLevel!=\"number\"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)s.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!=\"number\"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(s.terminate=!1);let c=0;return e?.tag!==void 0&&(c=qe(e.tag,u)),t=r._OrtCreateRunOptions(s.logSeverityLevel,s.logVerbosityLevel,!!s.terminate,c),t===0&&He(\"Can\\'t create run options.\"),e?.extra!==void 0&&ln(e.extra,\"\",new WeakSet,(m,y)=>{let d=qe(m,u),w=qe(y,u);r._OrtAddRunConfigEntry(t,d,w)!==0&&He(`Can\\'t set a run config entry: ${m} - ${y}.`)}),[t,u]}catch(c){throw t!==0&&r._OrtReleaseRunOptions(t),u.forEach(m=>r._free(m)),c}};var Sh=e=>{switch(e){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},xh=e=>{switch(e){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Ih=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let r=e.extra.session;r.use_ort_model_bytes_directly||(r.use_ort_model_bytes_directly=\"1\"),e.executionProviders&&e.executionProviders.some(t=>(typeof t==\"string\"?t:t.name)===\"webgpu\")&&(e.enableMemPattern=!1)},Ah=(e,r,t)=>{for(let u of r){let s=typeof u==\"string\"?u:u.name;switch(s){case\"webnn\":if(s=\"WEBNN\",typeof u!=\"string\"){let m=u;if(m?.deviceType){let y=qe(\"deviceType\",t),d=qe(m.deviceType,t);Ye()._OrtAddSessionConfigEntry(e,y,d)!==0&&He(`Can\\'t set a session config entry: \\'deviceType\\' - ${m.deviceType}.`)}if(m?.numThreads){let y=m.numThreads;(typeof y!=\"number\"||!Number.isInteger(y)||y<0)&&(y=0);let d=qe(\"numThreads\",t),w=qe(y.toString(),t);Ye()._OrtAddSessionConfigEntry(e,d,w)!==0&&He(`Can\\'t set a session config entry: \\'numThreads\\' - ${m.numThreads}.`)}if(m?.powerPreference){let y=qe(\"powerPreference\",t),d=qe(m.powerPreference,t);Ye()._OrtAddSessionConfigEntry(e,y,d)!==0&&He(`Can\\'t set a session config entry: \\'powerPreference\\' - ${m.powerPreference}.`)}}break;case\"webgpu\":if(s=\"JS\",typeof u!=\"string\"){let m=u;if(m?.preferredLayout){if(m.preferredLayout!==\"NCHW\"&&m.preferredLayout!==\"NHWC\")throw new Error(`preferredLayout must be either \\'NCHW\\' or \\'NHWC\\': ${m.preferredLayout}`);let y=qe(\"preferredLayout\",t),d=qe(m.preferredLayout,t);Ye()._OrtAddSessionConfigEntry(e,y,d)!==0&&He(`Can\\'t set a session config entry: \\'preferredLayout\\' - ${m.preferredLayout}.`)}}break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported execution provider: ${s}`)}let c=qe(s,t);Ye()._OrtAppendExecutionProvider(e,c)!==0&&He(`Can\\'t append execution provider: ${s}.`)}},eu=e=>{let r=Ye(),t=0,u=[],s=e||{};Ih(s);try{let c=Sh(s.graphOptimizationLevel??\"all\"),m=xh(s.executionMode??\"sequential\"),y=typeof s.logId==\"string\"?qe(s.logId,u):0,d=s.logSeverityLevel??2;if(!Number.isInteger(d)||d<0||d>4)throw new Error(`log serverity level is not valid: ${d}`);let w=s.logVerbosityLevel??0;if(!Number.isInteger(w)||w<0||w>4)throw new Error(`log verbosity level is not valid: ${w}`);let C=typeof s.optimizedModelFilePath==\"string\"?qe(s.optimizedModelFilePath,u):0;if(t=r._OrtCreateSessionOptions(c,!!s.enableCpuMemArena,!!s.enableMemPattern,m,!!s.enableProfiling,0,y,d,w,C),t===0&&He(\"Can\\'t create session options.\"),s.executionProviders&&Ah(t,s.executionProviders,u),s.enableGraphCapture!==void 0){if(typeof s.enableGraphCapture!=\"boolean\")throw new Error(`enableGraphCapture must be a boolean value: ${s.enableGraphCapture}`);let $=qe(\"enableGraphCapture\",u),T=qe(s.enableGraphCapture.toString(),u);r._OrtAddSessionConfigEntry(t,$,T)!==0&&He(`Can\\'t set a session config entry: \\'enableGraphCapture\\' - ${s.enableGraphCapture}.`)}if(s.freeDimensionOverrides)for(let[$,T]of Object.entries(s.freeDimensionOverrides)){if(typeof $!=\"string\")throw new Error(`free dimension override name must be a string: ${$}`);if(typeof T!=\"number\"||!Number.isInteger(T)||T<0)throw new Error(`free dimension override value must be a non-negative integer: ${T}`);let O=qe($,u);r._OrtAddFreeDimensionOverride(t,O,T)!==0&&He(`Can\\'t set a free dimension override: ${$} - ${T}.`)}return s.extra!==void 0&&ln(s.extra,\"\",new WeakSet,($,T)=>{let O=qe($,u),A=qe(T,u);r._OrtAddSessionConfigEntry(t,O,A)!==0&&He(`Can\\'t set a session config entry: ${$} - ${T}.`)}),[t,u]}catch(c){throw t!==0&&r._OrtReleaseSessionOptions(t),u.forEach(m=>r._free(m)),c}};$e();var ru=async e=>{if(typeof e==\"string\")if(typeof process<\"u\"&&process.versions&&process.versions.node)try{return new Uint8Array(await(void 0)(e))}catch(r){if(r.code===\"ERR_FS_FILE_TOO_LARGE\"){let t=(void 0)(e),u=[];for await(let s of t)u.push(s);return new Uint8Array(Buffer.concat(u))}throw r}else{let r=await fetch(e);if(!r.ok)throw new Error(`failed to load external data file: ${e}`);let t=r.headers.get(\"Content-Length\"),u=t?parseInt(t,10):0;if(u<1073741824)return new Uint8Array(await r.arrayBuffer());{if(!r.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let s=r.body.getReader(),c;try{c=new ArrayBuffer(u)}catch(y){if(y instanceof RangeError){let d=Math.ceil(u/65536);c=new WebAssembly.Memory({initial:d,maximum:d}).buffer}else throw y}let m=0;for(;;){let{done:y,value:d}=await s.read();if(y)break;let w=d.byteLength;new Uint8Array(c,m,w).set(d),m+=w}return new Uint8Array(c,0,u)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)};var d0=(e,r)=>{Ye()._OrtInit(e,r)!==0&&He(\"Can\\'t initialize onnxruntime.\")},Kc=async e=>{d0(e.wasm.numThreads,cn(e.logLevel))},Yc=async(e,r)=>{if(r===\"webgpu\"||r===\"webnn\"){if(typeof navigator>\"u\"||!navigator.gpu)throw new Error(\"WebGPU is not supported in current environment\");let t=await navigator.gpu.requestAdapter();if(!t)throw new Error(\\'Failed to get GPU adapter. You may need to enable flag \"--enable-unsafe-webgpu\" if you are using Chrome.\\');if(!e.wasm.simd)throw new Error(\"Not supported for WebGPU=ON and SIMD=OFF. Please set `env.wasm.simd` to true when using `webgpu` EP\");let u=(Fc(),or(Lc)).init;await u(Ye(),e,t)}},ur=new Map,c0=e=>{let r=Ye(),t=r.stackSave();try{let u=r.stackAlloc(8);return r._OrtGetInputOutputCount(e,u,u+4)!==0&&He(\"Can\\'t get session input/output count.\"),[r.HEAP32[u/4],r.HEAP32[u/4+1]]}finally{r.stackRestore(t)}},fo=e=>{let r=Ye(),t=r._malloc(e.byteLength);if(t===0)throw new Error(`Can\\'t create a session. failed to allocate a buffer of size ${e.byteLength}.`);return r.HEAPU8.set(e,t),[t,e.byteLength]},Zc=async(e,r)=>{let t,u,s=Ye();Array.isArray(e)?[t,u]=e:e.buffer===s.HEAPU8.buffer?[t,u]=[e.byteOffset,e.byteLength]:[t,u]=fo(e);let c=0,m=0,y=0,d=[],w=[],C=[];try{if([m,d]=eu(r),r?.externalData&&s.mountExternalData){let k=[];for(let G of r.externalData){let W=typeof G==\"string\"?G:G.path;k.push(ru(typeof G==\"string\"?G:G.data).then(q=>{s.mountExternalData(W,q)}))}await Promise.all(k)}c=await s._OrtCreateSession(t,u,m),c===0&&He(\"Can\\'t create a session.\");let[$,T]=c0(c),O=!!r?.enableGraphCapture,A=[],P=[],z=[];for(let k=0;k<$;k++){let G=s._OrtGetInputName(c,k);G===0&&He(\"Can\\'t get an input name.\"),w.push(G),A.push(s.UTF8ToString(G))}for(let k=0;kk===\"gpu-buffer\")&&(y=s._OrtCreateBinding(c),y===0&&He(\"Can\\'t create IO binding.\"),D={handle:y,outputPreferredLocations:z,outputPreferredLocationsEncoded:z.map(k=>Bi(k))}),ur.set(c,[c,w,C,D,O,!1]),[c,A,P]}catch($){throw w.forEach(T=>s._OrtFree(T)),C.forEach(T=>s._OrtFree(T)),y!==0&&s._OrtReleaseBinding(y),c!==0&&s._OrtReleaseSession(c),$}finally{s._free(t),m!==0&&s._OrtReleaseSessionOptions(m),d.forEach($=>s._free($)),s.unmountExternalData?.()}},Qc=e=>{let r=Ye(),t=ur.get(e);if(!t)throw new Error(`cannot release session. invalid session id: ${e}`);let[u,s,c,m,y]=t;m&&(y&&r._OrtClearBoundOutputs(m.handle),r._OrtReleaseBinding(m.handle)),r.jsepOnReleaseSession?.(e),s.forEach(d=>r._OrtFree(d)),c.forEach(d=>r._OrtFree(d)),r._OrtReleaseSession(u),ur.delete(e)},qc=(e,r,t,u,s,c=!1)=>{if(!e){r.push(0);return}let m=Ye(),y=e[0],d=e[1],w=e[3],C,$;if(y===\"string\"&&w===\"gpu-buffer\")throw new Error(\"String tensor is not supported on GPU.\");if(c&&w!==\"gpu-buffer\")throw new Error(`External buffer must be provided for input/output index ${s} when enableGraphCapture is true.`);if(w===\"gpu-buffer\"){let A=e[2].gpuBuffer,P=dn(Di(y));$=d.reduce((z,D)=>z*D,1)*P,C=m.jsepRegisterBuffer(u,s,A,$)}else{let A=e[2];if(Array.isArray(A)){$=4*A.length,C=m._malloc($),t.push(C);let P=C/4;for(let z=0;zm.HEAP32[A++]=z);let P=m._OrtCreateTensor(Di(y),C,$,O,d.length,Bi(w));P===0&&He(`Can\\'t create tensor for input/output. session=${u}, index=${s}.`),r.push(P)}finally{m.stackRestore(T)}},Xc=async(e,r,t,u,s,c)=>{let m=Ye(),y=ur.get(e);if(!y)throw new Error(`cannot run inference. invalid session id: ${e}`);let d=y[0],w=y[1],C=y[2],$=y[3],T=y[4],O=y[5],A=r.length,P=u.length,z=0,D=[],k=[],G=[],W=[],q=m.stackSave(),Y=m.stackAlloc(A*4),J=m.stackAlloc(A*4),oe=m.stackAlloc(P*4),ge=m.stackAlloc(P*4);try{[z,D]=Js(c);for(let ee=0;eeQe*Ze,1);xe=Ft(fe);let Wt=$?.outputPreferredLocations[u[ee]];if(xe===\"string\"){if(Wt===\"gpu-buffer\")throw new Error(\"String tensor is not supported on GPU.\");let Qe=[],Ze=Me/4;for(let ut=0;ut0){let Qe=m.jsepGetBuffer(Me),Ze=dn(fe);if(Ze===void 0||!tu(xe))throw new Error(`Unsupported data type: ${xe}`);ve=!0,Ee.push([xe,tt,{gpuBuffer:Qe,download:m.jsepCreateDownloader(Qe,mt*Ze,xe),dispose:()=>{m._OrtReleaseTensor(Ne)}},\"gpu-buffer\"])}else{let Qe=Fn(xe),Ze=new Qe(mt);new Uint8Array(Ze.buffer,Ze.byteOffset,Ze.byteLength).set(m.HEAPU8.subarray(Me,Me+Ze.byteLength)),Ee.push([xe,tt,Ze,\"cpu\"])}}finally{m.stackRestore(Se),xe===\"string\"&&Me&&m._free(Me),ve||m._OrtReleaseTensor(Ne)}}return $&&!T&&(m._OrtClearBoundOutputs($.handle),ur.set(e,[d,w,C,$,T,!1])),Ee}finally{m.stackRestore(q),k.forEach(L=>m._OrtReleaseTensor(L)),G.forEach(L=>m._OrtReleaseTensor(L)),W.forEach(L=>m._free(L)),z!==0&&m._OrtReleaseRunOptions(z),D.forEach(L=>m._free(L))}},Jc=e=>{let r=Ye(),t=ur.get(e);if(!t)throw new Error(\"invalid session id\");let u=t[0],s=r._OrtEndProfiling(u);s===0&&He(\"Can\\'t get an profile file name.\"),r._OrtFree(s)},ef=e=>{let r=[];for(let t of e){let u=t[2];!Array.isArray(u)&&\"buffer\"in u&&r.push(u.buffer)}return r};self.onmessage=e=>{let{type:r,in:t}=e.data;try{switch(r){case\"init-wasm\":Xs(t.wasm).then(()=>{Kc(t).then(()=>{postMessage({type:r})},u=>{postMessage({type:r,err:u})})},u=>{postMessage({type:r,err:u})});break;case\"init-ep\":{let{epName:u,env:s}=t;Yc(s,u).then(()=>{postMessage({type:r})},c=>{postMessage({type:r,err:c})});break}case\"copy-from\":{let{buffer:u}=t,s=fo(u);postMessage({type:r,out:s});break}case\"create\":{let{model:u,options:s}=t;Zc(u,s).then(c=>{postMessage({type:r,out:c})},c=>{postMessage({type:r,err:c})});break}case\"release\":Qc(t),postMessage({type:r});break;case\"run\":{let{sessionId:u,inputIndices:s,inputs:c,outputIndices:m,options:y}=t;Xc(u,s,c,m,new Array(m.length).fill(null),y).then(d=>{d.some(w=>w[3]!==\"cpu\")?postMessage({type:r,err:\"Proxy does not support non-cpu tensor location.\"}):postMessage({type:r,out:d},ef(d))},d=>{postMessage({type:r,err:d})});break}case\"end-profiling\":Jc(t),postMessage({type:r});break;default:}}catch(u){postMessage({type:r,err:u})}};})();\\n/**\\n * @license\\n * Copyright 2021 Google LLC. All Rights Reserved.\\n * Licensed under the Apache License, Version 2.0 (the \"License\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \"AS IS\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n * =============================================================================\\n */\\n/**\\n * @license\\n * Copyright 2020 Google LLC. All Rights Reserved.\\n * Licensed under the Apache License, Version 2.0 (the \"License\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \"AS IS\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n * =============================================================================\\n */\\n/**\\n * @license\\n * Copyright 2019 Google LLC. All Rights Reserved.\\n * Licensed under the Apache License, Version 2.0 (the \"License\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \"AS IS\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n * =============================================================================\\n */\\n'});var yr,Tt,Ai,Wn,Nn,Ua,Wa,jr,Ur,hv,Un,Gp,Lp,Hp,Fp,qp,Kp,Yp,Na=ne(()=>{\"use strict\";It();Np();zr();yr=()=>!!Me.wasm.proxy&&typeof document<\"u\",Ai=!1,Wn=!1,Nn=!1,Wa=new Map,jr=(e,t)=>{let r=Wa.get(e);r?r.push(t):Wa.set(e,[t])},Ur=()=>{if(Ai||!Wn||Nn||!Tt)throw new Error(\"worker not ready\")},hv=e=>{switch(e.data.type){case\"init-wasm\":Ai=!1,e.data.err?(Nn=!0,Ua[1](e.data.err)):(Wn=!0,Ua[0]());break;case\"init-ep\":case\"copy-from\":case\"create\":case\"release\":case\"run\":case\"end-profiling\":{let t=Wa.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},Un=typeof document<\"u\"?document?.currentScript?.src:void 0,Gp=async()=>{if(!Wn){if(Ai)throw new Error(\"multiple calls to 'initWasm()' detected.\");if(Nn)throw new Error(\"previous call to 'initWasm()' failed.\");if(Ai=!0,yr())return Me.wasm.wasmPaths===void 0&&Un&&Un.indexOf(\"blob:\")!==0&&(Me.wasm.wasmPaths=Un.substr(0,+Un.lastIndexOf(\"/\")+1)),new Promise((e,t)=>{Tt?.terminate();let r=URL.createObjectURL(new Blob([Vp()],{type:\"text/javascript\"}));Tt=new Worker(r,{name:\"ort-wasm-proxy-worker\"}),Tt.onerror=o=>t(o),Tt.onmessage=hv,URL.revokeObjectURL(r),Ua=[e,t];let u={type:\"init-wasm\",in:Me};Tt.postMessage(u)});try{await el(Me.wasm),await Bp(Me),Wn=!0}catch(e){throw Nn=!0,e}finally{Ai=!1}}},Lp=async e=>{if(yr())return Ur(),new Promise((t,r)=>{jr(\"init-ep\",[t,r]);let u={type:\"init-ep\",in:{epName:e,env:Me}};Tt.postMessage(u)});await zp(Me,e)},Hp=async e=>yr()?(Ur(),new Promise((t,r)=>{jr(\"copy-from\",[t,r]);let u={type:\"copy-from\",in:{buffer:e}};Tt.postMessage(u,[e.buffer])})):ja(e),Fp=async(e,t)=>{if(yr()){if(t?.preferredOutputLocation)throw new Error('session option \"preferredOutputLocation\" is not supported for proxy.');return Ur(),new Promise((r,u)=>{jr(\"create\",[r,u]);let o={type:\"create\",in:{model:e,options:t}},c=[];e instanceof Uint8Array&&c.push(e.buffer),Tt.postMessage(o,c)})}else return Dp(e,t)},qp=async e=>{if(yr())return Ur(),new Promise((t,r)=>{jr(\"release\",[t,r]);let u={type:\"release\",in:e};Tt.postMessage(u)});Mp(e)},Kp=async(e,t,r,u,o,c)=>{if(yr()){if(r.some(p=>p[3]!==\"cpu\"))throw new Error(\"input tensor on GPU is not supported for proxy.\");if(o.some(p=>p))throw new Error(\"pre-allocated output tensor is not supported for proxy.\");return Ur(),new Promise((p,h)=>{jr(\"run\",[p,h]);let l=r,v={type:\"run\",in:{sessionId:e,inputIndices:t,inputs:l,outputIndices:u,options:c}};Tt.postMessage(v,Wp(l))})}else return jp(e,t,r,u,o,c)},Yp=async e=>{if(yr())return Ur(),new Promise((t,r)=>{jr(\"end-profiling\",[t,r]);let u={type:\"end-profiling\",in:e};Tt.postMessage(u)});Up(e)}});var Qp,gv,Vn,Zp=ne(()=>{\"use strict\";It();Na();$e();ca();Qp=(e,t)=>{switch(e.location){case\"cpu\":return[e.type,e.dims,e.data,\"cpu\"];case\"gpu-buffer\":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},\"gpu-buffer\"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},gv=e=>{switch(e[3]){case\"cpu\":return new st(e[0],e[2],e[1]);case\"gpu-buffer\":{let t=e[0];if(!hn(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:r,download:u,dispose:o}=e[2];return st.fromGpuBuffer(r,{dataType:t,dims:e[1],download:u,dispose:o})}default:throw new Error(`invalid data location: ${e[3]}`)}},Vn=class{async fetchModelAndCopyToWasmMemory(t){return Hp(await Ci(t))}async loadModel(t,r){Ct();let u;typeof t==\"string\"?typeof process<\"u\"&&process.versions&&process.versions.node?u=await Ci(t):u=await this.fetchModelAndCopyToWasmMemory(t):u=t,[this.sessionId,this.inputNames,this.outputNames]=await Fp(u,r),ht()}async dispose(){return qp(this.sessionId)}async run(t,r,u){Ct();let o=[],c=[];Object.entries(t).forEach(x=>{let A=x[0],S=x[1],k=this.inputNames.indexOf(A);if(k===-1)throw new Error(`invalid input '${A}'`);o.push(S),c.push(k)});let p=[],h=[];Object.entries(r).forEach(x=>{let A=x[0],S=x[1],k=this.outputNames.indexOf(A);if(k===-1)throw new Error(`invalid output '${A}'`);p.push(S),h.push(k)});let l=o.map((x,A)=>Qp(x,()=>`input \"${this.inputNames[c[A]]}\"`)),v=p.map((x,A)=>x?Qp(x,()=>`output \"${this.outputNames[h[A]]}\"`):null),$=await Kp(this.sessionId,c,l,h,v,u),_={};for(let x=0;x<$.length;x++)_[this.outputNames[h[x]]]=p[x]??gv($[x]);return ht(),_}startProfiling(){}endProfiling(){Yp(this.sessionId)}}});var yv,Gn,Xp=ne(()=>{\"use strict\";It();Na();Zp();yv=()=>{if((typeof Me.wasm.initTimeout!=\"number\"||Me.wasm.initTimeout<0)&&(Me.wasm.initTimeout=0),typeof Me.wasm.simd!=\"boolean\"&&(Me.wasm.simd=!0),typeof Me.wasm.proxy!=\"boolean\"&&(Me.wasm.proxy=!1),typeof Me.wasm.trace!=\"boolean\"&&(Me.wasm.trace=!1),typeof Me.wasm.numThreads!=\"number\"||!Number.isInteger(Me.wasm.numThreads)||Me.wasm.numThreads<=0){(typeof self<\"u\"&&!self.crossOriginIsolated||typeof process<\"u\"&&process.versions&&process.versions.node)&&(Me.wasm.numThreads=1);let e=typeof navigator>\"u\"?(void 0)().length:navigator.hardwareConcurrency;Me.wasm.numThreads=Math.min(4,Math.ceil((e||1)/2))}},Gn=class{async init(t){yv(),await Gp(),await Lp(t)}async createInferenceSessionHandler(t,r){let u=new Vn;return await u.loadModel(t,r),Promise.resolve(u)}}});var Jp={};Br(Jp,{wasmBackend:()=>vv});var vv,ef=ne(()=>{\"use strict\";Xp();vv=new Gn});It();It();It();var Uu=\"1.18.0\";var Qx=ra;{let e=(ef(),Jt(Jp)).wasmBackend;fr(\"webgpu\",e,5),fr(\"webnn\",e,5),fr(\"cpu\",e,10),fr(\"wasm\",e,10)}Object.defineProperty(Me.versions,\"web\",{value:Uu,enumerable:!0});export{hg as InferenceSession,sn as TRACE,Ct as TRACE_FUNC_BEGIN,ht as TRACE_FUNC_END,st as Tensor,yg as TrainingSession,Qx as default,Me as env,fr as registerBackend};\n/**\n * @license\n * Copyright 2021 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n//# sourceMappingURL=ort.webgpu.min.js.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import * as ort from './dist/esm/ort.webgpu.min.js';\n\n// https://upload.wikimedia.org/wikipedia/commons/a/a4/BBH_gravitational_lensing_of_gw150914.webm\n\nort.env.wasm.numThreads = 1;\nort.env.wasm.simd = true;\nort.env.wasm.wasmPaths = 'dist/';\n\nconst video = document.getElementById('video');\nconst canvas = document.getElementById('canvas');\nconst ctx = canvas.getContext('2d');\n\nconst model_path = 'Xenova/yolov9-c';\n\nconst colorMap = [\n \"green\", \"blue\", \"red\", \"yellow\"\n]\n\nlet labels;\nlet insession = false;\nlet processed = 0;\nlet frames = 0;\nlet latencies = 0;\n\nvideo.src = 'traffic-480.mp4';\n\nfunction log(i) {\n console.log(i);\n // document.getElementById('status').innerText += `\\n${i}`;\n}\n\nfunction getConfig() {\n const query = window.location.search.substring(1);\n var config = {\n model: \"https://huggingface.co/Xenova/yolov9-c/resolve/main\",\n provider: \"webgpu\",\n device: \"gpu\",\n threads: \"1\",\n };\n let vars = query.split(\"&\");\n for (var i = 0; i < vars.length; i++) {\n let pair = vars[i].split(\"=\");\n if (pair[0] in config) {\n config[pair[0]] = decodeURIComponent(pair[1]);\n } else if (pair[0].length > 0) {\n throw new Error(\"unknown argument: \" + pair[0]);\n }\n }\n config.threads = parseInt(config.threads);\n config.local = parseInt(config.local);\n return config;\n}\n\nconst config = getConfig();\n\n\nfunction renderBox([xmin, ymin, xmax, ymax, score, id]) {\n const color = colorMap[id % colorMap.length];\n const label = labels[id];\n ctx.beginPath();\n ctx.lineWidth = 1;\n ctx.strokeStyle = color;\n ctx.rect(xmin, ymin, xmax - xmin, ymax - ymin);\n ctx.stroke();\n ctx.font = \"14px Comic Sans MS\";\n ctx.fillStyle = color;\n ctx.textAlign = \"left\";\n ctx.fillText(label, xmin, ymin);\n}\n\nasync function fetchAndCache(url, name) {\n const fullurl = `${url}/${name}`;\n try {\n const cache = await caches.open(\"onnx\");\n let cachedResponse = await cache.match(fullurl);\n if (cachedResponse == undefined) {\n await cache.add(fullurl);\n cachedResponse = await cache.match(fullurl);\n log(`${name} (network)`);\n } else {\n log(`${name} (cached)`);\n }\n const data = await cachedResponse.arrayBuffer();\n return data;\n } catch (error) {\n log(`${name} (network)`);\n return await fetch(fullurl).then(response => response.arrayBuffer());\n }\n}\n\nasync function main() {\n const video = document.getElementById('video');\n\n const json_bytes = await fetchAndCache(config.model, \"config.json\");\n const model_bytes = await fetchAndCache(config.model, \"onnx/model.onnx\");\n const opt = {};\n switch (config.provider) {\n case \"wasm\":\n break;\n case \"webnn\":\n opt.executionProviders = [{\n name: \"webnn\",\n deviceType: config.device,\n powerPreference: 'default',\n numThreads: config.threads,\n }];\n opt.freeDimensionOverrides = {\n batch: 1, height: 360, width: 640\n }\n break;\n case \"webgpu\":\n opt.executionProviders = [{\n name: \"webgpu\",\n }];\n break;\n }\n\n const sess = await ort.InferenceSession.create(model_bytes, opt);\n let textDecoder = new TextDecoder();\n const json_config = JSON.parse(textDecoder.decode(json_bytes));\n labels = json_config.id2label;\n\n // video upload\n document.getElementById(\"file-in\").onchange = function (evt) {\n let target = evt.target || window.event.src, files = target.files;\n if (FileReader && files && files.length) {\n let fileReader = new FileReader();\n fileReader.onload = () => {\n video.src = fileReader.result;\n }\n fileReader.readAsDataURL(files[0]);\n }\n };\n\n log(\"ready.\")\n\n\n video.addEventListener('loadedmetadata', function () {\n console.log(\"loadedmetadata\");\n });\n\n video.addEventListener(\"play\", () => {\n let w = video.videoWidth;\n let h = video.videoHeight;\n canvas.width = w;\n canvas.height = h;\n processed = 0;\n frames = 0;\n latencies = 0;\n\n document.getElementById('resolution').innerText = `${w}x${h}`;\n\n const frameCallback = (now, metadata) => {\n const data = ctx.getImageData(0, 0, w, h);\n frames = metadata.presentedFrames;\n if (!insession) {\n insession = true;\n ort.Tensor.fromImage(data).then((pixel_values) => {\n const start = performance.now();\n sess.run({ images: pixel_values }).then((outputs) => {\n const end = performance.now();\n latencies += end - start;\n processed++;\n if (processed % 10 == 0) {\n document.getElementById('latency').innerText = (latencies / processed).toFixed(2) + \"ms\";\n document.getElementById('dropped').innerText = (100 * (frames - processed) / frames).toFixed(1) + \"%\";\n }\n ctx.drawImage(video, 0, 0);\n const t = outputs.outputs;\n for (let i = 0; i < t.dims[0]; i++) {\n renderBox(t.data.slice(i * t.dims[1], i * t.dims[1] + t.dims[0]));\n }\n insession = false;\n video.requestVideoFrameCallback(frameCallback);\n });\n });\n } else {\n video.requestVideoFrameCallback(frameCallback);\n }\n };\n\n // Request the first frame\n video.requestVideoFrameCallback(frameCallback);\n });\n\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n main();\n});\n"],"names":["tn","pr","fr","rn","hu","yu","$t","Me","bu","wu","ea","$u","Cu","xu","Su","mr","bi","Tu","Au","ku","Ou","ft","st","sn","Ru","Ct","ht","un","hg","ln","yg","Xn","Object","defineProperty","cg","getOwnPropertyDescriptor","pg","getOwnPropertyNames","fg","prototype","hasOwnProperty","ne","e","t","Rr","exports","Br","r","get","enumerable","Jt","u","o","call","mg","value","nn","Map","init","createInferenceSessionHandler","TypeError","set","backend","priority","Error","indexOf","splice","c","length","push","async","initialized","aborted","initPromise","p","name","err","map","join","mu","gu","Jn","wasm","webgl","webgpu","versions","common","logLevel","vu","_u","document","createElement","OffscreenCanvas","width","dims","height","getContext","tensorLayout","l","v","format","h","norm","mean","bias","$","_","x","A","S","k","M","R","data","P","W","U","fillStyle","fillRect","toDataURL","createImageData","q","Iu","an","tensorFormat","Float32Array","HTMLImageElement","ImageData","ImageBitmap","HTMLCanvasElement","resizedHeight","resizedWidth","drawImage","getImageData","Promise","Image","crossOrigin","src","onload","putImageData","download","dispose","location","type","texture","dataType","gpuBuffer","Eu","Uint8Array","Int8Array","Uint16Array","Int16Array","Int32Array","Float64Array","Uint32Array","BigInt64Array","from","BigUint64Array","Float16Array","Pu","Number","isSafeInteger","RangeError","constructor","this","dataLocation","cpuData","gpuTextureData","downloader","disposer","gpuBufferData","Array","isArray","BigInt","size","fromImage","fromTexture","fromGpuBuffer","fromPinnedBuffer","toImageData","ensureValid","getData","isDownloading","reshape","on","ta","trace","console","timeStamp","stack","split","includes","trim","Bu","handler","run","outputNames","inputNames","release","create","ArrayBuffer","SharedArrayBuffer","byteLength","executionProviders","startProfiling","endProfiling","zu","Du","Mu","hasOptimizerModel","hasEvalModel","trainingInputNames","trainingOutputNames","evalInputNames","evalOutputNames","evalModel","optimizerModel","createTrainingSessionHandler","checkpointState","trainModel","typeNarrowingForRunStep","convertHandlerReturnTypeToMapOfTensors","lazyResetGrad","runTrainStep","runOptimizerStep","runEvalStep","getParametersSize","loadParametersBuffer","getContiguousParameters","ju","ra","InferenceSession","TRACE","TRACE_FUNC_BEGIN","TRACE_FUNC_END","Tensor","TrainingSession","env","registerBackend","It","dn","createReadStream","Wu","readFile","vg","readFileSync","bg","cn","ia","wg","na","Gu","Vu","aa","Nu","currentScript","__filename","ready","i","n","mountExternalData","Nh","unmountExternalData","jsepInit","a","s","d","f","g","y","b","C","T","ui","gi","ki","Th","ji","he","li","ni","hi","ii","mi","O","B","E","j","K","wt","ie","ue","_r","resolve","reject","Kh","oi","errors","flush","all","filter","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput","jsepRegisterBuffer","registerBuffer","jsepGetBuffer","getBuffer","jsepCreateDownloader","createDownloader","jsepOnReleaseSession","onReleaseSession","jsepOnRunStart","onRunStart","assign","window","importScripts","process","node","dirname","__dirname","pe","URL","normalize","buffer","thisProgram","argv","replace","slice","exitCode","inspect","self","href","substr","lastIndexOf","XMLHttpRequest","open","send","responseText","responseType","response","status","onerror","log","bind","error","WebAssembly","Ye","Y","J","oe","ge","H","le","Ae","Ue","We","Ee","ee","HEAP8","HEAP16","HEAPU8","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAPF64","HEAP64","HEAPU64","Ve","xe","Ce","be","Se","De","RuntimeError","_e","re","startsWith","at","locateFile","rt","Yt","fetch","credentials","then","ok","arrayBuffer","catch","vt","instantiate","Ze","Je","substring","subarray","writeFileSync","File","createObjectURL","alpha","beta","min","max","to","keepDims","noopWithEmptyAxes","axes","perm","autoPad","dilations","group","kernel_shape","pads","strides","wIsConst","outputPadding","outputShape","activation","kernelShape","auto_pad","ceil_mode","count_include_pad","storage_order","transA","transB","selectLastIndex","axis","numOutputs","splitSizes","antialias","coordinateTransformMode","cubicCoeffA","excludeOutside","extrapolationValue","keepAspectRatioPolicy","mode","nearestMode","starts","ends","epsilon","equation","momentum","spatial","trainingMode","exclusive","reverse","numHeads","isUnidirectional","maskFilterValue","scale","doRotary","qkvHiddenSizes","pastPresentShareBuffer","w_is_const","activation_params","accuracyLevel","bits","blockSize","dt","message","At","xt","Et","vr","Jh","Dh","Lh","ai","Vh","Yh","Wh","di","$h","Mh","Xh","Zh","Qi","qt","kt","bt","ur","Yi","Wr","TextDecoder","Ft","decode","String","fromCharCode","br","charCodeAt","ir","Ei","toString","ct","Qt","nr","St","ei","forEach","Oi","it","Nr","Fh","Sh","ot","ye","Uh","tt","mt","Pi","fromWireType","Ri","Ln","Vr","Bi","zi","Di","Gr","Mi","wr","pt","Lr","toWireType","ar","Ot","Hr","or","Fr","qr","Wi","Kr","Ni","cu","Browser","Qh","ci","resume","z","Xt","Zt","pause","lu","pu","onExit","Yr","ti","sr","Vi","Cr","xr","globalThis","Function","Ge","zt","Zr","Sr","Xr","Ir","Jr","Tr","USER","LOGNAME","PATH","PWD","HOME","LANG","navigator","languages","Li","ri","Hi","getFullYear","getMonth","getDate","getDay","Date","Gh","Hh","getTime","setDate","setMonth","setFullYear","si","Oh","Rh","Ph","Eh","vi","pi","RegExp","Math","floor","abs","Fn","Kt","BindingError","super","InternalError","has","pop","count_emval_handles","qn","ad","Ki","V","qi","m","zb","eb","Ab","Xc","Ic","Kc","Bc","Vc","Qc","Uc","Vb","Jc","Gc","Wc","Hc","Yb","argPackAdvance","readValueFromPointer","Ih","_c","Zc","Xb","za","Zb","Uint8ClampedArray","Cb","$c","fi","Yc","jd","zd","rd","fa","Ac","od","wd","Hn","shift","deleteObject","apply","Qr","Gi","vd","kc","fd","Wa","td","qd","yb","Nc","NaN","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCMonth","getUTCFullYear","getUTCDay","UTC","Oc","getSeconds","getMinutes","getHours","getTimezoneOffset","Pc","setTime","getYear","isNaN","_t","Lc","Mc","Dc","toTimeString","match","jb","_b","Wb","now","Ec","ha","performance","Cc","grow","Sc","Tc","Bb","Ub","Rc","Tb","wb","N","La","G","bd","Ha","la","ps","Z","Xs","ka","Js","To","Va","cd","Ga","ob","cs","au","cr","Ar","Sb","xa","lr","Eb","Ys","Xi","Us","dd","Is","Er","ke","Re","qa","Ba","As","oa","D","Pb","wo","me","bb","ze","Le","$o","qe","Ib","Es","mb","gs","hc","Ns","wc","F","ec","Hs","fc","Gs","$b","te","Fo","xb","Dt","Aa","js","Db","ru","da","qo","gc","Vs","Sa","xo","kr","uo","Gb","Ws","id","Ls","sa","os","fo","X","lo","Io","Fb","Ks","dc","Fs","Rs","Hb","zs","hd","qs","Ta","wa","Xo","ic","Ds","ac","Mb","ou","w","I","Ji","eo","Za","uu","po","$a","mo","Xa","Qs","va","ls","vb","Qa","Zi","xc","Ya","ca","ds","fb","yo","Ca","Go","lb","ys","hb","uc","ro","md","ks","oc","ns","Or","sc","ho","vc","rc","go","pd","bs","dr","Po","tb","Oo","Pa","Ro","Kb","fs","Be","yi","L","_a","Ja","nc","as","gb","vo","ya","So","ja","Q","_o","cb","ve","Ka","su","kb","Cs","Fa","xs","lc","_s","$s","vs","Pt","ed","io","ud","bo","us","nd","Ts","rs","ss","Rb","qc","Ko","Ia","Kn","Yn","Qn","dg","ms","Zn","Ma","ts","pb","Ho","ma","Jo","Da","Ao","jc","Bs","pc","Qo","Jb","Ss","Ea","Ps","oo","xd","iu","ld","Os","Yo","db","fe","Ms","cc","eu","ib","Pr","Ua","kd","nu","ba","Eo","nb","hs","pa","Zo","bc","tu","zc","de","ce","no","sd","is","Nb","Uo","mc","ws","yd","Ob","jo","Lb","Lo","ab","Co","yc","Qb","so","Na","es","Wo","tc","ao","co","gd","Zs","ub","ua","Vo","No","rb","Do","Oa","zo","Ra","ko","qb","Mo","sb","Bo","Fc","ga","entries","arguments","du","Fibers","wi","Ui","lg","Ad","unshift","Bd","clearInterval","instantiateWasm","instantiateStreaming","Xe","instance","_OrtInit","Cd","_OrtGetLastError","Dd","_OrtCreateSessionOptions","Ed","_OrtAppendExecutionProvider","Fd","_OrtAddFreeDimensionOverride","Gd","_OrtAddSessionConfigEntry","Hd","_OrtReleaseSessionOptions","Id","Jd","_OrtReleaseSession","Kd","_OrtGetInputOutputCount","Ld","_OrtGetInputName","Md","_OrtGetOutputName","Nd","_OrtFree","Od","_OrtCreateTensor","Pd","_OrtGetTensorData","Qd","_OrtReleaseTensor","Rd","_OrtCreateRunOptions","Sd","_OrtAddRunConfigEntry","Td","_OrtReleaseRunOptions","Ud","_OrtCreateBinding","Vd","Wd","_OrtBindOutput","Xd","_OrtClearBoundOutputs","Yd","_OrtReleaseBinding","Zd","_d","$d","_OrtEndProfiling","ae","_JsepOutput","_JsepGetNodeName","en","_malloc","_free","je","Fi","dynCall_vii","dynCall_iiii","se","dynCall_iii","dynCall_ii","dynCall_iiiiiii","dynCall_vi","we","dynCall_v","dynCall_iiiiii","dynCall_iiij","dynCall_iiiii","dynCall_viii","dynCall_viiiii","dynCall_viiii","dynCall_viiiiii","dynCall_viiji","Fe","dynCall_viiiiiiiiiii","dynCall_viiijjjii","He","dynCall_iij","Ie","dynCall_iif","dynCall_iid","Ke","dynCall_jii","dynCall_i","dynCall_viiiiiiii","Ne","dynCall_viiiiij","Oe","dynCall_ji","Pe","dynCall_viij","Qe","dynCall_iiiiiiiiiiii","dynCall_viiiiiiiii","dynCall_ij","Te","dynCall_iiiiij","dynCall_j","dynCall_vij","dynCall_viijjjiiiiii","dynCall_viiijiiiiiii","dynCall_iiiiiiii","dynCall_viiiiiii","dynCall_iiiiiiiij","$e","dynCall_viiiiiiiiiiiii","af","dynCall_iiiiiiiii","bf","dynCall_iiiiijiiiii","cf","dynCall_vijjjiiij","df","dynCall_fi","ef","dynCall_fii","ff","dynCall_di","gf","dynCall_dii","hf","dynCall_vijj","jf","dynCall_iiiiiiiiii","kf","dynCall_viijiii","lf","dynCall_viid","mf","dynCall_viffiii","nf","dynCall_viifiii","of","dynCall_viiiiidiidi","pf","dynCall_viiiiiiiiidi","qf","dynCall_jiii","rf","dynCall_vjiiiiii","sf","dynCall_viiid","tf","dynCall_viiiiiiiiiji","uf","dynCall_viji","vf","dynCall_vijjjjjjjjjjjjji","wf","dynCall_viiiji","xf","dynCall_vijjjiiji","yf","dynCall_iiiji","zf","dynCall_iiijiiiiiiiiii","Af","dynCall_vj","Bf","dynCall_jjj","Cf","dynCall_iiijiiiiii","Df","dynCall_vfiii","Ef","dynCall_viiiiff","Ff","dynCall_viiiiiff","Gf","dynCall_viiff","Hf","dynCall_viiiiiiiiifiii","If","dynCall_viiiiiiiijj","Jf","dynCall_iiiiiiiiiiiiiifii","Kf","dynCall_viiiiiiiiiiii","Lf","dynCall_iiiiiiiiiiiiiiiiifii","Mf","dynCall_vijjiiiiii","Nf","dynCall_iiiijjj","Of","dynCall_viiiiiiiiii","Pf","dynCall_iiijjj","Qf","dynCall_fffffff","Rf","dynCall_viiiij","Sf","dynCall_viijj","Tf","dynCall_vjjjjjjffiifiiiiii","Uf","dynCall_viiiiiiffiifiiiii","Vf","dynCall_viiiiiiffifiiiii","Wf","dynCall_viiiiiiffiiiiii","Xf","dynCall_vjjjjjjjjfffiifiiiiii","Yf","dynCall_vjjjjjjfffifiiiiiii","Zf","dynCall_vjjjjjjfffifiiiii","_f","dynCall_vjjjjjjjjfffiifiiiii","$f","dynCall_vijjfffiii","ag","dynCall_vijiiiiiiii","dynCall_vijjjjjjifiiiii","dynCall_vjjjjjiiii","dynCall_vjjjjfiii","eg","dynCall_viifi","dynCall_vijjii","gg","dynCall_viiiiijjiiiii","dynCall_iiiiiji","ig","dynCall_iiiiji","jg","dynCall_viiiiijiiiiii","kg","dynCall_viiijiiiiii","dynCall_viiiijii","dynCall_viijjiii","ng","dynCall_ijii","og","dynCall_viiiiijjji","dynCall_vijjjjiij","qg","dynCall_viiiiijij","rg","dynCall_viiiiiijij","sg","dynCall_vijiii","tg","dynCall_viiifii","ug","dynCall_viiiiiiiiifi","dynCall_iiijiiii","dynCall_viiiiiijjiiiii","xg","dynCall_viiiiiiijiiiiii","dynCall_vif","zg","dynCall_viif","Ag","dynCall_fiii","Bg","dynCall_diii","Cg","dynCall_viiiiiifii","Dg","dynCall_viiiiijiiiiiiiiiiiiiiiiiii","Eg","dynCall_viijji","Fg","dynCall_iiiiiiiiiiiji","Gg","dynCall_viifiifijjjii","Hg","dynCall_viiiiiiiiiiiiiiiiiiii","Ig","dynCall_viiiiifiiiiii","Jg","dynCall_vijiiiiiiijjii","Kg","dynCall_viiiiiiiiiiiiiiiiii","Lg","dynCall_viiiiiiiiiiiiiiiiiii","Mg","dynCall_viiiiiiiiiiiiiii","Ng","dynCall_viiiiiiiiiiiiiiii","Og","dynCall_viiiijjj","Pg","dynCall_iiiiid","Qg","dynCall_viiiiiiijjj","Rg","dynCall_iiiiiiiiiii","Sg","dynCall_iiiiiiiiiiiiiiiiiifi","Tg","dynCall_viiif","Ug","dynCall_viiijiiiii","Vg","dynCall_viiij","Wg","dynCall_iijjj","Xg","dynCall_viiiiji","Yg","dynCall_iijjji","Zg","dynCall_ijijji","_g","dynCall_viiijjiii","$g","dynCall_iiiiijji","ah","dynCall_iiiifi","bh","dynCall_iiijii","ch","dynCall_iiiiiiiiijii","dh","dynCall_iiiijjii","eh","dynCall_iiiiiijjjii","fh","dynCall_iiijiii","gh","dynCall_iiiiiiiijjjfi","hh","dynCall_iijiiii","ih","dynCall_iijjjii","jh","dynCall_iiji","kh","dynCall_iiif","lh","dynCall_vidi","mh","dynCall_vjiii","nh","dynCall_diiii","oh","dynCall_diiiii","ph","dynCall_viiijjiiiiii","qh","dynCall_viijjijjjjiii","rh","dynCall_iiiij","sh","dynCall_viiijii","th","dynCall_viijiiiiiiiii","uh","dynCall_fiiii","vh","dynCall_jfi","wh","dynCall_viiiiiiiiiiiiii","xh","dynCall_jiij","yh","zh","Ah","Bh","Ch","fu","preRun","calledRun","___start_em_js","___stop_em_js","stackAlloc","stackSave","stackRestore","UTF8ToString","stringToUTF8","lengthBytesUTF8","define","amd","Lu","Hu","Fu","cpus","Ju","pn","Xu","el","tl","il","er","_i","mn","$i","hn","Ci","al","ol","sl","ul","yn","dl","pl","Mt","hr","vn","bn","wn","_n","gt","et","ut","Rt","yt","$n","ml","Dr","hl","Bt","gl","yl","jt","vl","bl","wl","_l","$l","Cl","xl","Sl","Il","Tl","Ut","xn","Wt","ey","ty","ry","iy","ny","Nt","El","kl","Ol","Pl","Rl","Bl","zl","Dl","Ml","jl","Ul","Wl","Nl","ay","oy","sy","uy","Sn","ly","Gl","dy","cy","py","Ll","fy","my","Fl","hy","Kl","Yl","Ql","Zl","Xl","Jl","gy","In","Tn","yy","vy","by","wy","Vt","$y","Cy","xy","Sy","Iy","Ty","Gt","Lt","Ht","En","lt","kn","Pn","Ay","Ey","xi","ky","Si","Oy","Rn","Py","Ry","By","zy","Dy","My","jy","Uy","Wy","Ny","Vy","Gy","Ly","Hy","Fy","Bn","Ky","Yy","Qy","Zy","Xy","Jy","e0","t0","r0","i0","n0","a0","o0","s0","u0","l0","d0","c0","p0","f0","m0","h0","g0","y0","v0","b0","w0","_0","$0","zn","C0","x0","ep","tp","rp","I0","T0","np","A0","E0","k0","O0","P0","R0","B0","z0","D0","M0","j0","op","U0","W0","N0","V0","G0","sp","up","L0","H0","dp","F0","Dn","q0","pp","K0","Y0","fp","mp","Q0","Z0","gp","yp","X0","J0","ev","tv","rv","bp","wp","$p","iv","nv","av","Cp","ov","sv","Sp","Tp","Mn","uv","lv","jn","qu","Qu","Yu","Ku","jsepUnregisterBuffers","unregisterBuffers","ENVIRONMENT_IS_PTHREAD","global","Worker","writeSync","print","printErr","quit","wasmBinary","noExitRuntime","INITIAL_MEMORY","wasmMemory","Memory","initial","maximum","shared","monitorRunDependencies","onAbort","terminate","onmessage","cmd","start_routine","arg","pthread_ptr","unref","postMessage","receiveObjectTransfer","threadInitTLS","setExitStatus","targetThread","transferList","$r","thread","loaded","alert","threadId","text","target","args","filename","lineno","handlers","urlOrBlob","mainScriptUrlOrBlob","wasmModule","PThread","establishStackSpace","invokeEntryPoint","Atomics","store","__emscripten_thread_mailbox_await","checkMailbox","setTimeout","ref","ceil","timeOrigin","hardwareConcurrency","__errno_location","pthread_self","malloc","module","_pthread_self","__emscripten_tls_init","__emscripten_thread_init","__emscripten_thread_crashed","__emscripten_thread_exit","__emscripten_check_mailbox","onRuntimeInitialized","postRun","startWorker","setStatus","keepRuntimeAlive","ExitStatus","preInit","Zu","zr","crossOriginIsolated","warn","MessageChannel","port1","validate","initTimeout","numThreads","simd","wasmPaths","endsWith","Blob","race","fn","add","rl","logSeverityLevel","isInteger","logVerbosityLevel","tag","extra","WeakSet","nl","session","use_ort_model_bytes_directly","some","enableMemPattern","deviceType","powerPreference","preferredLayout","graphOptimizationLevel","executionMode","logId","optimizedModelFilePath","enableCpuMemArena","enableProfiling","enableGraphCapture","freeDimensionOverrides","headers","parseInt","body","getReader","done","read","code","Buffer","concat","tr","toISOString","ll","gn","fl","device","createBuffer","usage","GPUBufferUsage","COPY_DST","MAP_READ","getCommandEncoder","endComputePass","copyBufferToBuffer","mapAsync","GPUMapMode","READ","getMappedRange","destroy","storageCache","freeBuffers","freeUniformBuffers","buffersForUploadingPending","buffersPending","externalBuffers","capturedPendingBuffers","upload","byteOffset","originalSize","mappedAtCreation","MAP_WRITE","COPY_SRC","unmap","gpuData","memcpy","registerExternalBuffer","capturedCommandList","currentSessionId","delete","unregisterExternalBuffer","STORAGE","UNIFORM","refreshPendingBuffers","sessionStatus","nt","cacheKey","key","sort","calcMatMulShape","calcShape","isValidBroadcast","getSizeFromDimensionRange","convertShape","sizeFromDimension","sizeToDimension","computeStrides","normalizeAxis","normalizeAxes","sortBasedOnPerm","padShape","areEqual","every","adjustPoolAttributes","adjustPadsBasedOnAutoPad","adjustPadAndReturnShape","computePoolOutputShape","computeShapeHelper","computeConvOutputShape","getShapeOfGemmResult","keys","indices","storage","tensor","offsetToIndices","indicesToOffset","broadcastedIndicesToOffset","setByIndices","getByIndices","impl","values","indicesGet","rank","indicesSet","setByOffset","getByOffset","shape","normalizedDispatchGroup","internalVariables","variables","uniforms","variableIndex","guardAgainstOutOfBoundsWorkgroupSizes","mainStart","appendVariableUniforms","declareVariable","declareVariables","registerInternalVariable","registerInternalVariables","registerUniform","registerUniforms","uniformDeclaration","additionalImplementations","Mr","shaderCache","hint","inputDependencies","getRunData","outputs","dispatchGroup","programUniforms","getShaderSource","inputs","compute","Al","Cn","sum","prod","sumSquare","logSumExp","l1","l2","logSum","getBigInt64Array","Vl","batchSize","sequenceLength","pastSequenceLength","kvSequenceLength","totalSequenceLength","maxSequenceLength","inputHiddenSize","hiddenSize","vHiddenSize","headSize","vHeadSize","maskType","broadcastResPosBias","passPastInKv","qkvFormat","sqrt","gpuDataType","Hl","outputCount","validateInputContent","ql","An","getFloat32Array","scalar","vector","output","rr","clipMax","clipMin","On","Ii","kernelCustomData","wT","reduce","fill","getInt32Array","symbolToIndices","inputIndex","addSymbol","hasEllipsis","symbolToInfo","lhs","outputDims","processTerm","count","ellipsisDims","dimValue","rhs","inputIndices","ip","ceilMode","countIncludePad","storageOrder","ap","lp","round","MAX_VALUE","MIN_VALUE","customDataBuffer","cp","hp","sign","vp","_p","xp","Ip","Ap","Ep","repo","attributesBound","getArtifact","setArtifact","programInfo","getComputePassEncoder","writeTimestamp","pendingDispatchNumber","binding","resource","createBindGroup","layout","computePipeline","getBindGroupLayout","label","kernelId","currentKernelId","bindGroup","setPipeline","setBindGroup","dispatchWorkgroups","maxDispatchNumber","queryType","build","features","createShaderModule","createComputePipeline","entryPoint","normalizeDispatchGroupSize","limits","maxComputeWorkgroupsPerDimension","cbrt","kp","commandEncoder","computePassEncoder","pendingKernels","pendingQueries","capturedPendingKernels","sessionExternalDataMapping","currentKernelCustomData","initialize","requiredLimits","maxComputeWorkgroupStorageSize","maxStorageBufferBindingSize","maxBufferSize","maxComputeInvocationsPerWorkgroup","maxComputeWorkgroupSizeX","maxComputeWorkgroupSizeY","maxComputeWorkgroupSizeZ","requiredFeatures","requestDevice","gpuDataManager","programManager","kernels","kernelPersistentData","debug","onuncapturederror","GPUValidationError","setQueryType","querySet","createCommandEncoder","timestampWrites","beginningOfPassWriteIndex","endOfPassWriteIndex","beginComputePass","end","resolveQuerySet","queryResolveBuffer","queue","submit","finish","kernelType","kernelName","programName","inputTensorViews","outputTensorViews","queryTimeBase","profiling","ondata","version","inputsMetadata","outputsMetadata","startTime","endTime","temporaryData","writeBuffer","offset","alloc","free","createKernel","kernelEntry","attributes","releaseKernel","computeKernel","pushErrorScope","popErrorScope","createQuerySet","QUERY_RESOLVE","captureBegin","captureEnd","replay","Op","dv","Ti","cv","Bp","zp","gr","pv","Dp","Mp","Rp","jp","Up","Wp","yr","Tt","Ai","Wn","Nn","jr","Ur","hv","Un","Gp","Lp","Hp","Fp","qp","Kp","Yp","Qp","gv","Vn","yv","Gn","Pp","customDataOffset","customDataSize","opKernelContext","Np","gpu","requestAdapter","externalData","path","preferredOutputLocation","handle","outputPreferredLocations","outputPreferredLocationsEncoded","Vp","Ax","mv","proxy","out","revokeObjectURL","in","epName","model","options","sessionId","outputIndices","Zp","fetchModelAndCopyToWasmMemory","loadModel","Xp","Jp","wasmBackend","vv","Qx","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","obj","prop","Symbol","toStringTag","video","getElementById","canvas","ctx","colorMap","labels","insession","processed","frames","latencies","config","provider","threads","vars","search","pair","decodeURIComponent","local","getConfig","renderBox","xmin","ymin","xmax","ymax","score","color","beginPath","lineWidth","strokeStyle","rect","stroke","font","textAlign","fillText","fetchAndCache","url","fullurl","cache","caches","cachedResponse","addEventListener","json_bytes","model_bytes","opt","batch","sess","textDecoder","json_config","JSON","parse","id2label","onchange","evt","files","event","FileReader","fileReader","result","readAsDataURL","videoWidth","videoHeight","innerText","frameCallback","metadata","presentedFrames","requestVideoFrameCallback","pixel_values","start","images","toFixed","main"],"sourceRoot":""} \ No newline at end of file