dicomweb-proxy
Version:
A proxy to translate between dicomweb and dimse
2 lines • 622 kB
JavaScript
/*! For license information please see ort.webgpu.min.js.LICENSE.txt */
"use strict";var ort=(()=>{var e,t,n,r,a,i,s,o,u,l,d,p,c,h,f,m,g,y,w,$,v,b,_,x,S,E,I,C,T,k,O,A=Object.defineProperty,R=Object.getOwnPropertyDescriptor,z=Object.getOwnPropertyNames,B=Object.prototype.hasOwnProperty,D=(e,t)=>()=>(e&&(t=e(e=0)),t),M=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),P=(e,t)=>{for(var n in t)A(e,n,{get:t[n],enumerable:!0})},N=e=>((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of z(t))!B.call(e,a)&&a!==n&&A(e,a,{get:()=>t[a],enumerable:!(r=R(t,a))||r.enumerable});return e})(A({},"__esModule",{value:!0}),e),W=D((()=>{e=new Map,t=[],n=(n,r,a)=>{if(!r||"function"!=typeof r.init||"function"!=typeof r.createInferenceSessionHandler)throw new TypeError("not a valid backend");{let i=e.get(n);if(void 0===i)e.set(n,{backend:r,priority:a});else{if(i.priority>a)return;if(i.priority===a&&i.backend!==r)throw new Error(`cannot register backend "${n}" using priority ${a}`)}if(a>=0){let r=t.indexOf(n);-1!==r&&t.splice(r,1);for(let r=0;r<t.length;r++)if(e.get(t[r]).priority<=a)return void t.splice(r,0,n);t.push(n)}}},r=async n=>{let r=0===n.length?t:n,a=[];for(let t of r){let n=e.get(t);if(n){if(n.initialized)return n.backend;if(n.aborted)continue;let e=!!n.initPromise;try{return e||(n.initPromise=n.backend.init(t)),await n.initPromise,n.initialized=!0,n.backend}catch(r){e||a.push({name:t,err:r}),n.aborted=!0}finally{delete n.initPromise}}}throw new Error(`no available backend found. ERR: ${a.map((e=>`[${e.name}] ${e.err}`)).join(", ")}`)}})),U=D((()=>{W()})),V=D((()=>{a="1.17.1"})),H=D((()=>{V(),i="warning",s={wasm:{},webgl:{},webgpu:{},versions:{common:a},set logLevel(e){if(void 0!==e){if("string"!=typeof e||-1===["verbose","info","warning","error","fatal"].indexOf(e))throw new Error(`Unsupported logging level: ${e}`);i=e}},get logLevel(){return i}},Object.defineProperty(s,"logLevel",{enumerable:!0})})),L=D((()=>{H(),o=s})),G=D((()=>{u=(e,t)=>{let n=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext("2d");if(null!=r){let a,i;void 0!==t?.tensorLayout&&"NHWC"===t.tensorLayout?(a=e.dims[2],i=e.dims[3]):(a=e.dims[3],i=e.dims[2]);let s,o,u=void 0!==t?.format?t.format:"RGB",l=t?.norm;void 0===l||void 0===l.mean?s=[255,255,255,255]:"number"==typeof l.mean?s=[l.mean,l.mean,l.mean,l.mean]:(s=[l.mean[0],l.mean[1],l.mean[2],0],void 0!==l.mean[3]&&(s[3]=l.mean[3])),void 0===l||void 0===l.bias?o=[0,0,0,0]:"number"==typeof l.bias?o=[l.bias,l.bias,l.bias,l.bias]:(o=[l.bias[0],l.bias[1],l.bias[2],0],void 0!==l.bias[3]&&(o[3]=l.bias[3]));let d=i*a,p=0,c=d,h=2*d,f=-1;"RGBA"===u?(p=0,c=d,h=2*d,f=3*d):"RGB"===u?(p=0,c=d,h=2*d):"RBG"===u&&(p=0,h=d,c=2*d);for(let t=0;t<i;t++)for(let n=0;n<a;n++){let a=(e.data[p++]-o[0])*s[0],i=(e.data[c++]-o[1])*s[1],u=(e.data[h++]-o[2])*s[2],l=-1===f?255:(e.data[f++]-o[3])*s[3];r.fillStyle="rgba("+a+","+i+","+u+","+l+")",r.fillRect(n,t,1,1)}if("toDataURL"in n)return n.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},l=(e,t)=>{let n,r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");if(null==r)throw new Error("Can not access image data");{let a,i,s;void 0!==t?.tensorLayout&&"NHWC"===t.tensorLayout?(a=e.dims[2],i=e.dims[1],s=e.dims[3]):(a=e.dims[3],i=e.dims[2],s=e.dims[1]);let o,u,l=void 0!==t&&void 0!==t.format?t.format:"RGB",d=t?.norm;void 0===d||void 0===d.mean?o=[255,255,255,255]:"number"==typeof d.mean?o=[d.mean,d.mean,d.mean,d.mean]:(o=[d.mean[0],d.mean[1],d.mean[2],255],void 0!==d.mean[3]&&(o[3]=d.mean[3])),void 0===d||void 0===d.bias?u=[0,0,0,0]:"number"==typeof d.bias?u=[d.bias,d.bias,d.bias,d.bias]:(u=[d.bias[0],d.bias[1],d.bias[2],0],void 0!==d.bias[3]&&(u[3]=d.bias[3]));let p=i*a;if(void 0!==t&&(void 0!==t.format&&4===s&&"RGBA"!==t.format||3===s&&"RGB"!==t.format&&"BGR"!==t.format))throw new Error("Tensor format doesn't match input tensor dims");let c=4,h=0,f=1,m=2,g=3,y=0,w=p,$=2*p,v=-1;"RGBA"===l?(y=0,w=p,$=2*p,v=3*p):"RGB"===l?(y=0,w=p,$=2*p):"RBG"===l&&(y=0,$=p,w=2*p),n=r.createImageData(a,i);for(let t=0;t<i*a;h+=c,f+=c,m+=c,g+=c,t++)n.data[h]=(e.data[y++]-u[0])*o[0],n.data[f]=(e.data[w++]-u[1])*o[1],n.data[m]=(e.data[$++]-u[2])*o[2],n.data[g]=-1===v?255:(e.data[v++]-u[3])*o[3]}return n}})),F=D((()=>{K(),d=(e,t)=>{if(void 0===e)throw new Error("Image buffer must be defined");if(void 0===t.height||void 0===t.width)throw new Error("Image height and width must be defined");if("NHWC"===t.tensorLayout)throw new Error("NHWC Tensor layout is not supported yet");let n,r,{height:a,width:i}=t,s=t.norm??{mean:255,bias:0};n="number"==typeof s.mean?[s.mean,s.mean,s.mean,s.mean]:[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],r="number"==typeof s.bias?[s.bias,s.bias,s.bias,s.bias]:[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let o=void 0!==t.format?t.format:"RGBA",u=void 0!==t.tensorFormat&&void 0!==t.tensorFormat?t.tensorFormat:"RGB",l=a*i,d="RGBA"===u?new Float32Array(4*l):new Float32Array(3*l),p=4,c=0,h=1,f=2,m=3,g=0,y=l,w=2*l,$=-1;"RGB"===o&&(p=3,c=0,h=1,f=2,m=-1),"RGBA"===u?$=3*l:"RBG"===u?(g=0,w=l,y=2*l):"BGR"===u&&(w=0,y=l,g=2*l);for(let t=0;t<l;t++,c+=p,f+=p,h+=p,m+=p)d[g++]=(e[c]+r[0])/n[0],d[y++]=(e[h]+r[1])/n[1],d[w++]=(e[f]+r[2])/n[2],-1!==$&&-1!==m&&(d[$++]=(e[m]+r[3])/n[3]);return new b("float32",d,"RGBA"===u?[1,4,a,i]:[1,3,a,i])},p=async(e,t)=>{let n,r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,a=typeof ImageData<"u"&&e instanceof ImageData,i=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,s="string"==typeof e,o=t??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},l=e=>e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext("2d"):null;if(r){let r=u();r.width=e.width,r.height=e.height;let a=l(r);if(null==a)throw new Error("Can not access image data");{let r=e.height,i=e.width;if(void 0!==t&&void 0!==t.resizedHeight&&void 0!==t.resizedWidth&&(r=t.resizedHeight,i=t.resizedWidth),void 0!==t){if(o=t,void 0!==t.tensorFormat)throw new Error("Image input config format must be RGBA for HTMLImageElement");o.tensorFormat="RGBA",o.height=r,o.width=i}else o.tensorFormat="RGBA",o.height=r,o.width=i;a.drawImage(e,0,0),n=a.getImageData(0,0,i,r).data}}else{if(!a){if(i){if(void 0===t)throw new Error("Please provide image config with format for Imagebitmap");let r=u();r.width=e.width,r.height=e.height;let a=l(r);if(null!=a){let t=e.height,r=e.width;return a.drawImage(e,0,0,r,t),n=a.getImageData(0,0,r,t).data,o.height=t,o.width=r,d(n,o)}throw new Error("Can not access image data")}if(s)return new Promise(((t,n)=>{let r=u(),a=l(r);if(!e||!a)return n();let i=new Image;i.crossOrigin="Anonymous",i.src=e,i.onload=()=>{r.width=i.width,r.height=i.height,a.drawImage(i,0,0,r.width,r.height);let e=a.getImageData(0,0,r.width,r.height);o.height=r.height,o.width=r.width,t(d(e.data,o))}}));throw new Error("Input data provided is not supported - aborted tensor creation")}{let r,a;if(void 0!==t&&void 0!==t.resizedWidth&&void 0!==t.resizedHeight?(r=t.resizedHeight,a=t.resizedWidth):(r=e.height,a=e.width),void 0!==t&&(o=t),o.format="RGBA",o.height=r,o.width=a,void 0!==t){let t=u();t.width=a,t.height=r;let i=l(t);if(null==i)throw new Error("Can not access image data");i.putImageData(e,0,0),n=i.getImageData(0,0,a,r).data}else n=e.data}}if(void 0!==n)return d(n,o);throw new Error("Input data provided is not supported - aborted tensor creation")},c=(e,t)=>{let{width:n,height:r,download:a,dispose:i}=t;return new b({location:"texture",type:"float32",texture:e,dims:[1,r,n,4],download:a,dispose:i})},h=(e,t)=>{let{dataType:n,dims:r,download:a,dispose:i}=t;return new b({location:"gpu-buffer",type:n??"float32",gpuBuffer:e,dims:r,download:a,dispose:i})},f=(e,t,n)=>new b({location:"cpu-pinned",type:e,data:t,dims:n??[t.length]})})),q=D((()=>{m=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["float16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array]]),g=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),y=!1,w=()=>{if(!y){y=!0;let e=typeof BigInt64Array<"u"&&"function"==typeof BigInt64Array.from,t=typeof BigUint64Array<"u"&&"function"==typeof BigUint64Array.from;e&&(m.set("int64",BigInt64Array),g.set(BigInt64Array,"int64")),t&&(m.set("uint64",BigUint64Array),g.set(BigUint64Array,"uint64"))}}})),j=D((()=>{K(),$=e=>{let t=1;for(let n=0;n<e.length;n++){let r=e[n];if("number"!=typeof r||!Number.isSafeInteger(r))throw new TypeError(`dims[${n}] must be an integer, got: ${r}`);if(r<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${r}`);t*=r}return t},v=(e,t)=>{switch(e.location){case"cpu":return new b(e.type,e.data,t);case"cpu-pinned":return new b({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new b({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new b({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}})),K=D((()=>{G(),F(),q(),j(),b=class{constructor(e,t,n){let r,a;if(w(),"object"==typeof e&&"location"in e)switch(this.dataLocation=e.location,r=e.type,a=e.dims,e.location){case"cpu-pinned":{let t=m.get(r);if(!t)throw new TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(e.data instanceof t))throw new TypeError(`buffer should be of type ${t.name}`);this.cpuData=e.data;break}case"texture":if("float32"!==r)throw new TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case"gpu-buffer":if("float32"!==r&&"float16"!==r&&"int32"!==r&&"int64"!==r&&"uint32"!==r&&"bool"!==r)throw new TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let i,s;if("string"==typeof e)if(r=e,s=n,"string"===e){if(!Array.isArray(t))throw new TypeError("A string tensor's data must be a string array.");i=t}else{let n=m.get(e);if(void 0===n)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if("float16"===e)throw new TypeError("Creating a float16 tensor from number array is not supported. Please use Uint16Array as data.");i="uint64"===e||"int64"===e?n.from(t,BigInt):n.from(t)}else{if(!(t instanceof n))throw new TypeError(`A ${r} tensor's data must be type of ${n}`);i=t}}else if(s=t,Array.isArray(e)){if(0===e.length)throw new TypeError("Tensor type cannot be inferred from an empty array.");let t=typeof e[0];if("string"===t)r="string",i=e;else{if("boolean"!==t)throw new TypeError(`Invalid element type of data array: ${t}.`);r="bool",i=Uint8Array.from(e)}}else{let t=g.get(e.constructor);if(void 0===t)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);r=t,i=e}if(void 0===s)s=[i.length];else if(!Array.isArray(s))throw new TypeError("A tensor's dims must be a number array");a=s,this.cpuData=i,this.dataLocation="cpu"}let i=$(a);if(this.cpuData&&i!==this.cpuData.length)throw new Error(`Tensor's size(${i}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=a,this.size=i}static async fromImage(e,t){return p(e,t)}static fromTexture(e,t){return c(e,t)}static fromGpuBuffer(e,t){return h(e,t)}static fromPinnedBuffer(e,t,n){return f(e,t,n)}toDataURL(e){return u(this,e)}toImageData(e){return l(this,e)}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(e){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 t=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}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("none"===this.dataLocation)throw new Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return v(this,e)}}})),Y=D((()=>{K(),_=b})),Z=D((()=>{H(),x=(e,t)=>{s.wasm.trace&&console.timeStamp(`${e}::ORT::${t}`)},S=(e,t)=>{let n=(new Error).stack?.split(/\r\n|\r|\n/g)||[],r=!1;for(let a=0;a<n.length;a++){if(r&&!n[a].includes("TRACE_FUNC")){let r=`FUNC_${e}::${n[a].trim().split(" ")[1]}`;return t&&(r+=`::${t}`),void x("CPU",r)}n[a].includes("TRACE_FUNC")&&(r=!0)}},E=e=>{s.wasm.trace&&S("BEGIN",e)},I=e=>{s.wasm.trace&&S("END",e)}})),Q=D((()=>{W(),Y(),Z(),C=class e{constructor(e){this.handler=e}async run(e,t,n){E();let r={},a={};if("object"!=typeof e||null===e||e instanceof _||Array.isArray(e))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let i=!0;if("object"==typeof t){if(null===t)throw new TypeError("Unexpected argument[1]: cannot be null.");if(t instanceof _)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(t)){if(0===t.length)throw new TypeError("'fetches' cannot be an empty array.");i=!1;for(let e of t){if("string"!=typeof e)throw new TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(e))throw new RangeError(`'fetches' contains invalid output name: ${e}.`);r[e]=null}if("object"==typeof n&&null!==n)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else{let e=!1,s=Object.getOwnPropertyNames(t);for(let n of this.outputNames)if(-1!==s.indexOf(n)){let a=t[n];(null===a||a instanceof _)&&(e=!0,i=!1,r[n]=a)}if(e){if("object"==typeof n&&null!==n)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else a=t}}else if(typeof t<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let t of this.inputNames)if(typeof e[t]>"u")throw new Error(`input '${t}' is missing in 'feeds'.`);if(i)for(let e of this.outputNames)r[e]=null;let s=await this.handler.run(e,r,a),o={};for(let e in s)if(Object.hasOwnProperty.call(s,e)){let t=s[e];o[e]=t instanceof _?t:new _(t.type,t.data,t.dims)}return I(),o}async release(){return this.handler.dispose()}static async create(t,n,a,i){E();let s,o={};if("string"==typeof t){if(s=t,"object"==typeof n&&null!==n)o=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(s=t,"object"==typeof n&&null!==n)o=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else{if(!(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{let e=t,r=0,u=t.byteLength;if("object"==typeof n&&null!==n)o=n;else if("number"==typeof n){if(r=n,!Number.isSafeInteger(r))throw new RangeError("'byteOffset' must be an integer.");if(r<0||r>=e.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${e.byteLength}).`);if(u=t.byteLength-r,"number"==typeof a){if(u=a,!Number.isSafeInteger(u))throw new RangeError("'byteLength' must be an integer.");if(u<=0||r+u>e.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${e.byteLength-r}].`);if("object"==typeof i&&null!==i)o=i;else if(typeof i<"u")throw new TypeError("'options' must be an object.")}else if(typeof a<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof n<"u")throw new TypeError("'options' must be an object.");s=new Uint8Array(e,r,u)}}let u=(o.executionProviders||[]).map((e=>"string"==typeof e?e:e.name)),l=await(await r(u)).createInferenceSessionHandler(s,o);return I(),new e(l)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}})),X=D((()=>{Q(),T=C})),J=D((()=>{})),ee=D((()=>{W(),Y(),k=class e{constructor(e,t,n){this.handler=e,this.hasOptimizerModel=t,this.hasEvalModel=n}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,n){let a=t.evalModel||"",i=t.optimizerModel||"",s=n||{},o=(s.executionProviders||[]).map((e=>"string"==typeof e?e:e.name)),u=await r(o);if(u.createTrainingSessionHandler){let n=await u.createTrainingSessionHandler(t.checkpointState,t.trainModel,a,i,s);return new e(n,!!t.optimizerModel,!!t.evalModel)}throw new Error("Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.")}typeNarrowingForRunStep(e,t,n,r,a){let i={},s={};if("object"!=typeof n||null===n||n instanceof _||Array.isArray(n))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let o=!0;if("object"==typeof r){if(null===r)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof _)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(0===r.length)throw new TypeError("'fetches' cannot be an empty array.");o=!1;for(let e of r){if("string"!=typeof e)throw new TypeError("'fetches' must be a string array or an object.");if(-1===t.indexOf(e))throw new RangeError(`'fetches' contains invalid output name: ${e}.`);i[e]=null}if("object"==typeof a&&null!==a)s=a;else if(typeof a<"u")throw new TypeError("'options' must be an object.")}else{let e=!1,n=Object.getOwnPropertyNames(r);for(let a of t)if(-1!==n.indexOf(a)){let t=r[a];(null===t||t instanceof _)&&(e=!0,o=!1,i[a]=t)}if(e){if("object"==typeof a&&null!==a)s=a;else if(typeof a<"u")throw new TypeError("'options' must be an object.")}else s=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let t of e)if(typeof n[t]>"u")throw new Error(`input '${t}' is missing in 'feeds'.`);if(o)for(let e of t)i[e]=null;return[i,s]}convertHandlerReturnTypeToMapOfTensors(e){let t={};for(let n in e)if(Object.hasOwnProperty.call(e,n)){let r=e[n];t[n]=r instanceof _?r:new _(r.type,r.data,r.dims)}return t}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(e,t,n){let[r,a]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,e,t,n),i=await this.handler.runTrainStep(e,r,a);return this.convertHandlerReturnTypeToMapOfTensors(i)}async runOptimizerStep(e){if(!this.hasOptimizerModel)throw new Error("This TrainingSession has no OptimizerModel loaded.");await this.handler.runOptimizerStep(e||{})}async runEvalStep(e,t,n){if(this.hasEvalModel){let[r,a]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,e,t,n),i=await this.handler.runEvalStep(e,r,a);return this.convertHandlerReturnTypeToMapOfTensors(i)}throw new Error("This TrainingSession has no EvalModel loaded.")}async getParametersSize(e=!0){return this.handler.getParametersSize(e)}async loadParametersBuffer(e,t=!0){let n=await this.getParametersSize(t);if(e.length!==4*n)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(e,t)}async getContiguousParameters(e=!0){return this.handler.getContiguousParameters(e)}async release(){return this.handler.dispose()}}})),te=D((()=>{ee(),O=k})),ne={};P(ne,{InferenceSession:()=>T,TRACE:()=>x,TRACE_FUNC_BEGIN:()=>E,TRACE_FUNC_END:()=>I,Tensor:()=>_,TrainingSession:()=>O,env:()=>o,registerBackend:()=>n});var re=D((()=>{U(),L(),X(),Y(),Z(),J(),te()})),ae={};P(ae,{createReadStream:()=>oe,readFile:()=>ie,readFileSync:()=>se});var ie,se,oe,ue=D((()=>{ie=void 0,se=void 0,oe=void 0})),le={};P(le,{join:()=>de});var de,pe=D((()=>{de=void 0})),ce=M(((e,t)=>{var n,r=(n=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,typeof __filename<"u"&&(n=n||__filename),function(e={}){var t,r,a=e;a.ready=new Promise(((e,n)=>{t=e,r=n})),a.mountExternalData=(e,t)=>{(a.Fa||(a.Fa=new Map)).set(e,t)},a.unmountExternalData=()=>{delete a.Fa},a.jsepInit=(e,t,n,r,i,s,o,u)=>{a.ab=e,a.Qa=t,a.Sa=n,a.La=r,a.Ra=i,a.sa=s,a.Ta=o,a.Ua=u,t=(e,t,n)=>(...r)=>{let a=ye,i=t?.();r=e(...r);let s=t?.();return i!==s&&(e=s,n(i),t=n=null),ye!=a?new Promise(((e,t)=>{xe={resolve:e,reject:t}})):r},n=t=>async(...n)=>{try{if(a.Ea)throw Error("Session already started");let r=a.Ea={Va:n[0],errors:[]},i=await t(...n);if(a.Ea!==r)throw Error("Session mismatch");e.flush();let s=r.errors;if(0<s.length){let e=await Promise.all(s);if(e=e.filter((e=>e)),0<e.length)throw Error(e.join("\n"))}return i}finally{a.Ea=null}},a._OrtRun=n(t(a._OrtRun,(()=>a._OrtRun),(e=>a._OrtRun=e))),a._OrtRunWithBinding=n(t(a._OrtRunWithBinding,(()=>a._OrtRunWithBinding),(e=>a._OrtRunWithBinding=e))),a._OrtBindInput=t(a._OrtBindInput,(()=>a._OrtBindInput),(e=>a._OrtBindInput=e)),a.jsepRegisterBuffer=(t,n,r,a)=>e.registerBuffer(t,n,r,a),a.jsepUnregisterBuffers=t=>{e.unregisterBuffers(t)},a.jsepGetBuffer=t=>e.getBuffer(t),a.jsepCreateDownloader=(t,n,r)=>e.createDownloader(t,n,r)};var i,s,o,u=Object.assign({},a),l="./this.program",d=(e,t)=>{throw t},p="object"==typeof window,c="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";if(h){var m=(ue(),N(ae)),g=(pe(),N(le));f=c?g.dirname(f)+"/":__dirname+"/",i=(e,t)=>(e=W(e)?new URL(e):g.normalize(e),m.readFileSync(e,t?void 0:"utf8")),o=e=>((e=i(e,!0)).buffer||(e=new Uint8Array(e)),e),s=(e,t,n,r=!0)=>{e=W(e)?new URL(e):g.normalize(e),m.readFile(e,r?void 0:"utf8",((e,a)=>{e?n(e):t(r?a.buffer:a)}))},!a.thisProgram&&1<process.argv.length&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),d=(e,t)=>{throw process.exitCode=e,t},a.inspect=()=>"[Emscripten Module object]"}else(p||c)&&(c?f=self.location.href:typeof document<"u"&&document.currentScript&&(f=document.currentScript.src),n&&(f=n),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},c&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),s=(e,t,n)=>{var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)});var y=console.log.bind(console),w=console.error.bind(console);Object.assign(a,u),u=null,"object"!=typeof WebAssembly&&D("no native wasm support detected");var $,v,b,_,x,S,E,I,C=!1;function T(){var e=$.buffer;a.HEAP8=b=new Int8Array(e),a.HEAP16=new Int16Array(e),a.HEAPU8=_=new Uint8Array(e),a.HEAPU16=new Uint16Array(e),a.HEAP32=x=new Int32Array(e),a.HEAPU32=S=new Uint32Array(e),a.HEAPF32=E=new Float32Array(e),a.HEAPF64=I=new Float64Array(e)}var k=[],O=[],A=[],R=0,z=null,B=null;function D(e){throw w(e="Aborted("+e+")"),C=!0,v=1,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),r(e),e}var M,P=e=>e.startsWith("data:application/octet-stream;base64,"),W=e=>e.startsWith("file://");if(!P(M="ort-wasm-simd.wasm")){var U=M;M=a.locateFile?a.locateFile(U,f):f+U}function V(e){if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function H(e,t,n){return function(e){if(p||c){if("function"==typeof fetch&&!W(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>V(e)));if(s)return new Promise(((t,n)=>{s(e,(e=>t(new Uint8Array(e))),n)}))}return Promise.resolve().then((()=>V(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(n,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),D(e)}))}var L,G={931056:(e,t,n,r)=>{if(typeof a>"u"||!a.Fa)return 1;if((e=Z(e>>>0)).startsWith("./")&&(e=e.substring(2)),!(e=a.Fa.get(e)))return 2;if((t>>>=0)+(n>>>=0)>e.byteLength)return 3;try{return _.set(e.subarray(t,t+n),r>>>0>>>0),0}catch{return 4}},931557:e=>a.Qa(e),931590:e=>a.Sa(e),931622:(e,t,n)=>{a.La(e,t,n,!0)},931661:(e,t,n)=>{a.La(e,t,n)},931694:e=>{a.sa("Abs",e,void 0)},931745:e=>{a.sa("Neg",e,void 0)},931796:e=>{a.sa("Floor",e,void 0)},931849:e=>{a.sa("Ceil",e,void 0)},931901:e=>{a.sa("Reciprocal",e,void 0)},931959:e=>{a.sa("Sqrt",e,void 0)},932011:e=>{a.sa("Exp",e,void 0)},932062:e=>{a.sa("Erf",e,void 0)},932113:e=>{a.sa("Sigmoid",e,void 0)},932168:e=>{a.sa("Log",e,void 0)},932219:e=>{a.sa("Sin",e,void 0)},932270:e=>{a.sa("Cos",e,void 0)},932321:e=>{a.sa("Tan",e,void 0)},932372:e=>{a.sa("Asin",e,void 0)},932424:e=>{a.sa("Acos",e,void 0)},932476:e=>{a.sa("Atan",e,void 0)},932528:e=>{a.sa("Sinh",e,void 0)},932580:e=>{a.sa("Cosh",e,void 0)},932632:e=>{a.sa("Asinh",e,void 0)},932685:e=>{a.sa("Acosh",e,void 0)},932738:e=>{a.sa("Atanh",e,void 0)},932791:e=>{a.sa("Tanh",e,void 0)},932843:e=>{a.sa("Not",e,void 0)},932894:(e,t,n)=>{a.sa("Clip",e,{min:t,max:n})},932963:e=>{a.sa("Clip",e,void 0)},933015:(e,t)=>{a.sa("Elu",e,{alpha:t})},933073:e=>{a.sa("Relu",e,void 0)},933125:(e,t)=>{a.sa("LeakyRelu",e,{alpha:t})},933189:(e,t)=>{a.sa("ThresholdedRelu",e,{alpha:t})},933259:(e,t)=>{a.sa("Cast",e,{to:t})},933317:e=>{a.sa("Add",e,void 0)},933368:e=>{a.sa("Sub",e,void 0)},933419:e=>{a.sa("Mul",e,void 0)},933470:e=>{a.sa("Div",e,void 0)},933521:e=>{a.sa("Pow",e,void 0)},933572:e=>{a.sa("Equal",e,void 0)},933625:e=>{a.sa("Greater",e,void 0)},933680:e=>{a.sa("GreaterOrEqual",e,void 0)},933742:e=>{a.sa("Less",e,void 0)},933794:e=>{a.sa("LessOrEqual",e,void 0)},933853:(e,t,n,r,i)=>{a.sa("ReduceMean",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},934012:(e,t,n,r,i)=>{a.sa("ReduceMax",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},934170:(e,t,n,r,i)=>{a.sa("ReduceMin",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},934328:(e,t,n,r,i)=>{a.sa("ReduceProd",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},934487:(e,t,n,r,i)=>{a.sa("ReduceSum",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},934645:(e,t,n,r,i)=>{a.sa("ReduceL1",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},934802:(e,t,n,r,i)=>{a.sa("ReduceL2",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},934959:(e,t,n,r,i)=>{a.sa("ReduceLogSum",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},935120:(e,t,n,r,i)=>{a.sa("ReduceSumSquare",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},935284:(e,t,n,r,i)=>{a.sa("ReduceLogSumExp",e,{keepDims:!!t,noopWithEmptyAxes:!!n,axes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},935448:e=>{a.sa("Where",e,void 0)},935501:(e,t,n)=>{a.sa("Transpose",e,{perm:t?Array.from(x.subarray(t>>>0,n>>>0)):[]})},935609:(e,t,n,r,i,s,o,u,l,d,p,c,h,f,m)=>{a.sa("ConvTranspose",e,{format:l?"NHWC":"NCHW",autoPad:t,dilations:[n],group:r,kernel_shape:[i],pads:[s,o],strides:[u],wIsConst:()=>!!b[d>>>0],outputPadding:p?Array.from(x.subarray(p>>>0,c>>>0)):[],outputShape:h?Array.from(x.subarray(h>>>0,f>>>0)):[],activation:Z(m)})},936011:(e,t,n,r,i,s,o,u,l,d,p,c,h,f)=>{a.sa("ConvTranspose",e,{format:u?"NHWC":"NCHW",autoPad:t,dilations:Array.from(x.subarray(n>>>0,2+(n>>>0)>>>0)),group:r,kernelShape:Array.from(x.subarray(i>>>0,2+(i>>>0)>>>0)),pads:Array.from(x.subarray(s>>>0,4+(s>>>0)>>>0)),strides:Array.from(x.subarray(o>>>0,2+(o>>>0)>>>0)),wIsConst:()=>!!b[l>>>0],outputPadding:d?Array.from(x.subarray(d>>>0,p>>>0)):[],outputShape:c?Array.from(x.subarray(c>>>0,h>>>0)):[],activation:Z(f)})},936576:(e,t,n,r,i,s,o,u,l,d,p,c,h,f,m)=>{a.sa("ConvTranspose",e,{format:l?"NHWC":"NCHW",autoPad:t,dilations:[n],group:r,kernel_shape:[i],pads:[s,o],strides:[u],wIsConst:()=>!!b[d>>>0],outputPadding:p?Array.from(x.subarray(p>>>0,c>>>0)):[],outputShape:h?Array.from(x.subarray(h>>>0,f>>>0)):[],activation:Z(m)})},936978:(e,t,n,r,i,s,o,u,l,d,p,c,h,f)=>{a.sa("ConvTranspose",e,{format:u?"NHWC":"NCHW",autoPad:t,dilations:Array.from(x.subarray(n>>>0,2+(n>>>0)>>>0)),group:r,kernelShape:Array.from(x.subarray(i>>>0,2+(i>>>0)>>>0)),pads:Array.from(x.subarray(s>>>0,4+(s>>>0)>>>0)),strides:Array.from(x.subarray(o>>>0,2+(o>>>0)>>>0)),wIsConst:()=>!!b[l>>>0],outputPadding:d?Array.from(x.subarray(d>>>0,p>>>0)):[],outputShape:c?Array.from(x.subarray(c>>>0,h>>>0)):[],activation:Z(f)})},937543:(e,t)=>{a.sa("GlobalAveragePool",e,{format:t?"NHWC":"NCHW"})},937634:(e,t,n,r,i,s,o,u,l,d,p,c,h,f,m,g)=>{a.sa("AveragePool",e,{format:g?"NHWC":"NCHW",auto_pad:t,ceil_mode:n,count_include_pad:r,storage_order:i,dilations:[s,o],kernel_shape:[u,l],pads:[d,p,c,h],strides:[f,m]})},937918:(e,t)=>{a.sa("GlobalAveragePool",e,{format:t?"NHWC":"NCHW"})},938009:(e,t,n,r,i,s,o,u,l,d,p,c,h,f,m,g)=>{a.sa("AveragePool",e,{format:g?"NHWC":"NCHW",auto_pad:t,ceil_mode:n,count_include_pad:r,storage_order:i,dilations:[s,o],kernel_shape:[u,l],pads:[d,p,c,h],strides:[f,m]})},938293:(e,t)=>{a.sa("GlobalMaxPool",e,{format:t?"NHWC":"NCHW"})},938380:(e,t,n,r,i,s,o,u,l,d,p,c,h,f,m,g)=>{a.sa("MaxPool",e,{format:g?"NHWC":"NCHW",auto_pad:t,ceil_mode:n,count_include_pad:r,storage_order:i,dilations:[s,o],kernel_shape:[u,l],pads:[d,p,c,h],strides:[f,m]})},938660:(e,t)=>{a.sa("GlobalMaxPool",e,{format:t?"NHWC":"NCHW"})},938747:(e,t,n,r,i,s,o,u,l,d,p,c,h,f,m,g)=>{a.sa("MaxPool",e,{format:g?"NHWC":"NCHW",auto_pad:t,ceil_mode:n,count_include_pad:r,storage_order:i,dilations:[s,o],kernel_shape:[u,l],pads:[d,p,c,h],strides:[f,m]})},939027:(e,t,n,r,i)=>{a.sa("Gemm",e,{alpha:t,beta:n,transA:r,transB:i})},939131:e=>{a.sa("MatMul",e,void 0)},939185:(e,t,n,r)=>{a.sa("ArgMax",e,{keepDims:!!t,selectLastIndex:!!n,axis:r})},939293:(e,t,n,r)=>{a.sa("ArgMin",e,{keepDims:!!t,selectLastIndex:!!n,axis:r})},939401:(e,t)=>{a.sa("Softmax",e,{axis:t})},939464:(e,t)=>{a.sa("Concat",e,{axis:t})},939524:(e,t,n,r,i)=>{a.sa("Split",e,{axis:t,numOutputs:n,splitSizes:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},939664:e=>{a.sa("Expand",e,void 0)},939718:(e,t)=>{a.sa("Gather",e,{axis:Number(t)})},939789:(e,t)=>{a.sa("GatherElements",e,{axis:Number(t)})},939868:(e,t,n,r,i,s,o,u,l,d,p)=>{a.sa("Resize",e,{antialias:t,axes:n?Array.from(x.subarray(n>>>0,r>>>0)):[],coordinateTransformMode:Z(i),cubicCoeffA:s,excludeOutside:o,extrapolationValue:u,keepAspectRatioPolicy:Z(l),mode:Z(d),nearestMode:Z(p)})},940214:(e,t,n,r,i,s,o)=>{a.sa("Slice",e,{starts:t?Array.from(x.subarray(t>>>0,n>>>0)):[],ends:r?Array.from(x.subarray(r>>>0,i>>>0)):[],axes:s?Array.from(x.subarray(s>>>0,o>>>0)):[]})},940430:e=>{a.sa("Tile",e,void 0)},940482:(e,t,n)=>{a.sa("LayerNormalization",e,{axis:Number(t),epsilon:Number(n)})},940589:(e,t,n)=>{a.sa("InstanceNormalization",e,{epsilon:t,format:n?"NHWC":"NCHW"})},940703:(e,t,n)=>{a.sa("InstanceNormalization",e,{epsilon:t,format:n?"NHWC":"NCHW"})},940817:e=>{a.sa("Range",e,void 0)},940870:(e,t)=>{a.sa("Einsum",e,{equation:Z(t)})},940951:(e,t,n,r,i)=>{a.sa("Pad",e,{mode:t,value:n,pads:r?Array.from(x.subarray(r>>>0,i>>>0)):[]})},941078:(e,t,n,r,i,s)=>{a.sa("BatchNormalization",e,{epsilon:t,momentum:n,spatial:!!i,trainingMode:!!r,format:s?"NHWC":"NCHW"})},941247:(e,t,n,r,i,s)=>{a.sa("BatchNormalization",e,{epsilon:t,momentum:n,spatial:!!i,trainingMode:!!r,format:s?"NHWC":"NCHW"})},941416:(e,t,n)=>{a.sa("CumSum",e,{exclusive:Number(t),reverse:Number(n)})},941513:(e,t,n,r,i,s,o,u,l)=>{a.sa("Attention",e,{numHeads:t,isUnidirectional:n,maskFilterValue:r,scale:i,doRotary:s,qkvHiddenSizes:o?Array.from(x.subarray(Number(u)>>>0,Number(u)+o>>>0)):[],pastPresentShareBuffer:!!l})},941785:e=>{a.sa("Gelu",e,void 0)},941837:(e,t,n,r,i,s)=>{a.sa("MultiHeadAttention",e,{numHeads:t,isUnidirectional:n,maskFilterValue:r,scale:i,doRotary:s})},941996:e=>{a.sa("BiasAdd",e,void 0)},942051:e=>{a.sa("BiasSplitGelu",e,void 0)},942112:(e,t)=>{a.sa("SkipLayerNormalization",e,{epsilon:t})},942193:(e,t,n,r,i,s,o,u,l,d,p,c,h)=>{a.sa("Conv",e,{format:l?"NHWC":"NCHW",auto_pad:t,dilations:[n],group:r,kernel_shape:[i],pads:s?Array.from(x.subarray(s>>>0,o>>>0)):[],strides:[u],w_is_const:()=>!!b[d>>>0],activation:Z(p),activation_params:c?Array.from(E.subarray(c>>>0,h>>>0)):[]})},942563:(e,t,n,r,i,s,o,u,l,d,p,c,h,f,m,g)=>{a.sa("Conv",e,{format:c?"NHWC":"NCHW",auto_pad:t,dilations:[n,r],group:i,kernel_shape:[s,o],pads:u?Array.from(x.subarray(u>>>0,l>>>0)):[],strides:[d,p],w_is_const:()=>!!b[h>>>0],activation:Z(f),activation_params:m?Array.from(E.subarray(m>>>0,g>>>0)):[]})},942954:e=>{a.Ta(e)},942988:(e,t)=>a.Ua(e,t,a.Ea.Va,a.Ea.errors)};function F(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}function q(e){this.Ja=e-24,this.Oa=function(e){S[this.Ja+4>>>2>>>0]=e},this.Na=function(e){S[this.Ja+8>>>2>>>0]=e},this.$a=function(e,t){this.Ma(),this.Oa(e),this.Na(t)},this.Ma=function(){S[this.Ja+16>>>2>>>0]=0}}var j,K=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Y=(e,t,n)=>{var r=(t>>>=0)+n;for(n=t;e[n]&&!(n>=r);)++n;if(16<n-t&&e.buffer&&K)return K.decode(e.subarray(t,n));for(r="";t<n;){var a=e[t++];if(128&a){var i=63&e[t++];if(192==(224&a))r+=String.fromCharCode((31&a)<<6|i);else{var s=63&e[t++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|s:(7&a)<<18|i<<12|s<<6|63&e[t++])?r+=String.fromCharCode(a):(a-=65536,r+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else r+=String.fromCharCode(a)}return r},Z=(e,t)=>(e>>>=0)?Y(_,e,t):"",Q=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t},X=(e,t,n,r)=>{if(!(0<r))return 0;var a=n>>>=0;r=n+r-1;for(var i=0;i<e.length;++i){var s=e.charCodeAt(i);if(55296<=s&&57343>=s&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),127>=s){if(n>=r)break;t[n++>>>0]=s}else{if(2047>=s){if(n+1>=r)break;t[n++>>>0]=192|s>>6}else{if(65535>=s){if(n+2>=r)break;t[n++>>>0]=224|s>>12}else{if(n+3>=r)break;t[n++>>>0]=240|s>>18,t[n++>>>0]=128|s>>12&63}t[n++>>>0]=128|s>>6&63}t[n++>>>0]=128|63&s}}return t[n>>>0]=0,n-a},J=e=>e%4==0&&(e%100!=0||e%400==0),ee=[0,31,60,91,121,152,182,213,244,274,305,335],te=[0,31,59,90,120,151,181,212,243,273,304,334],ne=e=>{var t=Q(e)+1,n=Oe(t);return n&&X(e,_,n,t),n},re=[],ie=(e,t)=>{re.length=0;for(var n;n=_[e++>>>0];){var r=105!=n;t+=(r&=112!=n)&&t%8?4:0,re.push(112==n?S[t>>>2>>>0]:105==n?x[t>>>2>>>0]:I[t>>>3>>>0]),t+=r?8:4}return re},se={},oe=()=>{if(!j){var e,t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:l||"./this.program"};for(e in se)void 0===se[e]?delete t[e]:t[e]=se[e];var n=[];for(e in t)n.push(`${e}=${t[e]}`);j=n}return j},de=[null,[],[]],ce=[31,29,31,30,31,30,31,31,30,31,30,31],he=[31,28,31,30,31,30,31,31,30,31,30,31];function fe(e,t,n,r){function a(e,t,n){for(e="number"==typeof e?e.toString():e||"";e.length<t;)e=n[0]+e;return e}function i(e,t){return a(e,t,"0")}function s(e,t){function n(e){return 0>e?-1:0<e?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function o(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function u(e){var t=e.Ca;for(e=new Date(new Date(e.Da+1900,0,1).getTime());0<t;){var n=e.getMonth(),r=(J(e.getFullYear())?ce:he)[n];if(!(t>r-e.getDate())){e.setDate(e.getDate()+t);break}t-=r-e.getDate()+1,e.setDate(1),11>n?e.setMonth(n+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return n=new Date(e.getFullYear()+1,0,4),t=o(new Date(e.getFullYear(),0,4)),n=o(n),0>=s(t,e)?0>=s(n,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}e>>>=0,t>>>=0,n>>>=0;var l=S[40+(r>>>=0)>>>2>>>0];for(var d in r={Ya:x[r>>>2>>>0],Xa:x[r+4>>>2>>>0],Ga:x[r+8>>>2>>>0],Ka:x[r+12>>>2>>>0],Ha:x[r+16>>>2>>>0],Da:x[r+20>>>2>>>0],xa:x[r+24>>>2>>>0],Ca:x[r+28>>>2>>>0],bb:x[r+32>>>2>>>0],Wa:x[r+36>>>2>>>0],Za:l?Z(l):""},n=Z(n),l={"%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"})n=n.replace(new RegExp(d,"g"),l[d]);var p="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),c="January February March April May June July August September October November December".split(" ");for(d in l={"%a":e=>p[e.xa].substring(0,3),"%A":e=>p[e.xa],"%b":e=>c[e.Ha].substring(0,3),"%B":e=>c[e.Ha],"%C":e=>i((e.Da+1900)/100|0,2),"%d":e=>i(e.Ka,2),"%e":e=>a(e.Ka,2," "),"%g":e=>u(e).toString().substring(2),"%G":e=>u(e),"%H":e=>i(e.Ga,2),"%I":e=>(0==(e=e.Ga)?e=12:12<e&&(e-=12),i(e,2)),"%j":e=>{for(var t=0,n=0;n<=e.Ha-1;t+=(J(e.Da+1900)?ce:he)[n++]);return i(e.Ka+t,3)},"%m":e=>i(e.Ha+1,2),"%M":e=>i(e.Xa,2),"%n":()=>"\n","%p":e=>0<=e.Ga&&12>e.Ga?"AM":"PM","%S":e=>i(e.Ya,2),"%t":()=>"\t","%u":e=>e.xa||7,"%U":e=>i(Math.floor((e.Ca+7-e.xa)/7),2),"%V":e=>{var t=Math.floor((e.Ca+7-(e.xa+6)%7)/7);if(2>=(e.xa+371-e.Ca-2)%7&&t++,t)53==t&&(4==(n=(e.xa+371-e.Ca)%7)||3==n&&J(e.Da)||(t=1));else{t=52;var n=(e.xa+7-e.Ca-1)%7;(4==n||5==n&&J(e.Da%400-1))&&t++}return i(t,2)},"%w":e=>e.xa,"%W":e=>i(Math.floor((e.Ca+7-(e.xa+6)%7)/7),2),"%y":e=>(e.Da+1900).toString().substring(2),"%Y":e=>e.Da+1900,"%z":e=>(0<=(e=e.Wa)?"+":"-")+("0000"+((e=Math.abs(e)/60)/60*100+e%60)).slice(-4),"%Z":e=>e.Za,"%%":()=>"%"},n=n.replace(/%%/g,"\0\0"),l)n.includes(d)&&(n=n.replace(new RegExp(d,"g"),l[d](r)));return d=function(e){var t=Array(Q(e)+1);return X(e,t,0,t.length),t}(n=n.replace(/\0\0/g,"%")),d.length>t?0:(b.set(d,e>>>0),d.length-1)}var me=e=>{try{e()}catch(e){D(e)}},ge=0,ye=null,we=0,$e=[],ve={},be={},_e=0,xe=null,Se=[];function Ee(e){if(!C){if(0===ge){var t=!1,n=!1;e(((e=0)=>{if(!C&&(we=e,t=!0,n)){ge=2,me((()=>Ne(ye))),typeof Browser<"u"&&Browser.Ia.Pa&&Browser.Ia.resume(),e=!1;try{var r=(0,Ce[be[x[ye+8>>>2>>>0]]])()}catch(t){r=t,e=!0}var a=!1;if(!ye){var i=xe;i&&(xe=null,(e?i.reject:i.resolve)(r),a=!0)}if(e&&!a)throw r}})),n=!0,t||(ge=1,ye=function(){var e=Oe(65548),t=e+12;S[e>>>2>>>0]=t,S[e+4>>>2>>>0]=t+65536,t=$e[0];var n=ve[t];return void 0===n&&(n=_e++,ve[t]=n,be[n]=t),x[e+8>>>2>>>0]=n,e}(),typeof Browser<"u"&&Browser.Ia.Pa&&Browser.Ia.pause(),me((()=>Me(ye))))}else 2===ge?(ge=0,me(We),Ae(ye),ye=null,Se.forEach((e=>{if(!C)try{e();try{v=v=e=v,a.onExit?.(e),C=!0,d(e,new F(e))}catch(e){e instanceof F||"unwind"==e||d(1,e)}}catch(e){e instanceof F||"unwind"==e||d(1,e)}}))):D(`invalid state: ${ge}`);return we}}var Ie={n:function(e,t,n){return function(e){return Ee((t=>{e().then(t)}))}((async()=>{await a.Ra(e,t,n)}))},a:function(e,t,n){throw new q(e>>>=0).$a(t>>>0,n>>>0),e},g:function(){return 0},J:function(){},A:function(){},C:function(){},L:function(){return 0},H:function(){},D:function(){},G:function(){},l:function(){},B:function(){},y:function(){},I:function(){},z:function(){},m:()=>1,q:function(e,t,n){e=t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,n>>>=0,e=new Date(1e3*e),x[n>>>2>>>0]=e.getUTCSeconds(),x[n+4>>>2>>>0]=e.getUTCMinutes(),x[n+8>>>2>>>0]=e.getUTCHours(),x[n+12>>>2>>>0]=e.getUTCDate(),x[n+16>>>2>>>0]=e.getUTCMonth(),x[n+20>>>2>>>0]=e.getUTCFullYear()-1900,x[n+24>>>2>>>0]=e.getUTCDay(),x[n+28>>>2>>>0]=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},r:function(e,t,n){e=t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,n>>>=0,e=new Date(1e3*e),x[n>>>2>>>0]=e.getSeconds(),x[n+4>>>2>>>0]=e.getMinutes(),x[n+8>>>2>>>0]=e.getHours(),x[n+12>>>2>>>0]=e.getDate(),x[n+16>>>2>>>0]=e.getMonth(),x[n+20>>>2>>>0]=e.getFullYear()-1900,x[n+24>>>2>>>0]=e.getDay(),x[n+28>>>2>>>0]=(J(e.getFullYear())?ee:te)[e.getMonth()]+e.getDate()-1|0,x[n+36>>>2>>>0]=-60*e.getTimezoneOffset(),t=new Date(e.getFullYear(),6,1).getTimezoneOffset();var r=new Date(e.getFullYear(),0,1).getTimezoneOffset();x[n+32>>>2>>>0]=0|(t!=r&&e.getTimezoneOffset()==Math.min(r,t))},s:function(e){e>>>=0;var t=new Date(x[e+20>>>2>>>0]+1900,x[e+16>>>2>>>0],x[e+12>>>2>>>0],x[e+8>>>2>>>0],x[e+4>>>2>>>0],x[e>>>2>>>0],0),n=x[e+32>>>2>>>0],r=t.getTimezoneOffset(),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=new Date(t.getFullYear(),0,1).getTimezoneOffset(),s=Math.min(i,a);return 0>n?x[e+32>>>2>>>0]=+(a!=i&&s==r):0<n!=(s==r)&&(a=Math.max(i,a),t.setTime(t.getTime()+6e4*((0<n?s:a)-r))),x[e+24>>>2>>>0]=t.getDay(),x[e+28>>>2>>>0]=(J(t.getFullYear())?ee:te)[t.getMonth()]+t.getDate()-1|0,x[e>>>2>>>0]=t.getSeconds(),x[e+4>>>2>>>0]=t.getMinutes(),x[e+8>>>2>>>0]=t.getHours(),x[e+12>>>2>>>0]=t.getDate(),x[e+16>>>2>>>0]=t.getMonth(),x[e+20>>>2>>>0]=t.getYear(),e=t.getTime(),isNaN(e)?(x[ke()>>>2>>>0]=61,e=-1):e/=1e3,Re((L=e,1<=+Math.abs(L)?0<L?+Math.floor(L/4294967296)>>>0:~~+Math.ceil((L-+(~~L>>>0))/4294967296)>>>0:0)),e>>>0},o:function(){return-52},p:function(){},w:function(e,t,n){function r(e){return(e=e.toTimeString().match(/\(([A-Za-z ]+)\)$/))?e[1]:"GMT"}n>>>=0;var a=(new Date).getFullYear(),i=new Date(a,0,1),s=new Date(a,6,1);a=i.getTimezoneOffset();var o=s.getTimezoneOffset();S[e>>>0>>>2>>>0]=60*Math.max(a,o),x[t>>>0>>>2>>>0]=+(a!=o),e=r(i),t=r(s),e=ne(e),t=ne(t),o<a?(S[n>>>2>>>0]=e,S[n+4>>>2>>>0]=t):(S[n>>>2>>>0]=t,S[n+4>>>2>>>0]=e)},e:()=>{D("")},b:function(e,t,n){return e>>>=0,t=ie(t>>>0,n>>>0),G[e].apply(null,t)},i:function(e,t,n){return e>>>=0,t=ie(t>>>0,n>>>0),G[e].apply(null,t)},h:()=>Date.now(),x:function(){return 4294901760},c:()=>performance.now(),K:function(e,t,n){return t>>>=0,_.copyWithin(e>>>0>>>0,t>>>0,t+(n>>>0)>>>0)},u:function(e){e>>>=0;var t=_.length;if(4294901760<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);var a=Math;r=Math.max(e,r);e:{a=(a.min.call(a,4294901760,r+(65536-r%65536)%65536)-$.buffer.byteLength+65535)/65536;try{$.grow(a),T();var i=1;break e}catch{}i=void 0}if(i)return!0}return!1},E:function(e,t){e>>>=0,t>>>=0;var n=0;return oe().forEach(((r,a)=>{var i=t+n;for(a=S[e+4*a>>>2>>>0]=i,i=0;i<r.length;++i)b[a++>>>0>>>0]=r.charCodeAt(i);b[a>>>0>>>0]=0,n+=r.length+1})),0},F:function(e,t){e>>>=0,t>>>=0;var n=oe();S[e>>>2>>>0]=n.length;var r=0;return n.forEach((e=>r+=e.length+1)),S[t>>>2>>>0]=r,0},f:()=>52,k:function(){return 52},t:function(){return 70},j:function(e,t,n,r){t>>>=0,n>>>=0,r>>>=0;for(var a=0,i=0;i<n;i++){var s=S[t>>>2>>>0],o=S[t+4>>>2>>>0];t+=8;for(var u=0;u<o;u++){var l=_[s+u>>>0],d=de[e];0===l||10===l?((1===e?y:w)(Y(d,0)),d.length=0):d.push(l)}a+=o}return S[r>>>2>>>0]=a,0},v:fe,d:function(e,t,n,r){return fe(e>>>0,t>>>0,n>>>0,r>>>0)}},Ce=function(){function e(e){return Ce=e.exports,Ce=function(){var e=Ce,t={};for(let[n,r]of Object.entries(e))t[n]="function"==typeof r?function(){$e.push(n);try{return r.apply(null,arguments)}finally{C||($e.pop(),ye&&1===ge&&0===$e.length&&(ge=0,me(Pe),typeof Fibers<"u"&&Fibers.cb()))}}:r;return t}(),Ce=function(){var e=Ce;e=Object.assign({},e);var t=e=>()=>e()>>>0,n=e=>t=>e(t)>>>0;return e.pa=t(e.pa),e.qa=n(e.qa),e.ua=t(e.ua),e.wa=n(e.wa),e}(),$=Ce.M,T(),O.unshift(Ce.N),0==--R&&(null!==z&&(clearInterval(z),z=null),B&&(e=B,B=null,e())),Ce}var t={a:Ie};if(R++,a.instantiateWasm)try{return a.instantiateWasm(t,e)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),r(e)}return function(e,t){var n=M;return"function"!=typeof WebAssembly.instantiateStreaming||P(n)||W(n)||h||"function"!=typeof fetch?H(n,e,t):fetch(n,{credentials:"same-origin"}).then((r=>WebAssembly.instantiateStreaming(r,e).then(t,(function(r){return w(`wasm streaming compile failed: ${r}`),w("falling back to ArrayBuffer instantiation"),H(n,e,t)}))))}(t,(function(t){e(t.instance)})).catch(r),{}}();a._OrtInit=(e,t)=>(a._OrtInit=Ce.O)(e,t),a._OrtGetLastError=(e,t)=>(a._OrtGetLastError=Ce.P)(e,t),a._OrtCreateSessionOptions=(e,t,n,r,i,s,o,u,l,d)=>(a._OrtCreateSessionOptions=Ce.Q)(e,t,n,r,i,s,o,u,l,d),a._OrtAppendExecutionProvider=(e,t)=>(a._OrtAppendExecutionProvider=Ce.R)(e,t),a._OrtAddFreeDimensionOverride=(e,t,n)=>(a._OrtAddFreeDimensionOverride=Ce.S)(e,t,n),a._OrtAddSessionConfigEntry=(e,t,n)=>(a._OrtAddSessionConfigEntry=Ce.T)(e,t,n),a._OrtReleaseSessionOptions=e=>(a._OrtReleaseSessionOptions=Ce.U)(e),a._OrtCreateSession=(e,t,n)=>(a._OrtCreateSession=Ce.V)(e,t,n),a._OrtReleaseSession=e=>(a._OrtReleaseSession=Ce.W)(e),a._OrtGetInputOutputCount=(e,t,n)=>(a._OrtGetInputOutputCount=Ce.X)(e,t,n),a._OrtGetInputName=(e,t)=>(a._OrtGetInputName=Ce.Y)(e,t),a._OrtGetOutputName=(e,t)=>(a._OrtGetOutputName=Ce.Z)(e,t),a._OrtFree=e=>(a._OrtFree=Ce._)(e),a._OrtCreateTensor=(e,t,n,r,i,s)=>(a._OrtCreateTensor=Ce.$)(e,t,n,r,i,s),a._OrtGetTensorData=(e,t,n,r,i)=>(a._OrtGetTensorData=Ce.aa)(e,t,n,r,i),a._OrtReleaseTensor=e=>(a._OrtReleaseTensor=Ce.ba)(e),a._OrtCreateRunOptions=(e,t,n,r)=>(a._OrtCreateRunOptions=Ce.ca)(e,t,n,r),a._OrtAddRunConfigEntry=(e,t,n)=>(a._OrtAddRunConfigEntry=Ce.da)(e,t,n),a._OrtReleaseRunOptions=e=>(a._OrtReleaseRunOptions=Ce.ea)(e),a._OrtCreateBinding=e=>(a._OrtCreateBinding=Ce.fa)(e),a._OrtBindInput=(e,t,n)=>(a._OrtBindInput=Ce.ga)(e,t,n),a._OrtBindOutput=(e,t,n,r)=>(a._OrtBindOutput=Ce.ha)(e,t,n,r),a._OrtClearBoundOutputs=e=>(a._OrtClearBoundOutputs=Ce.ia)(e),a._OrtReleaseBinding=e=>(a._OrtReleaseBinding=Ce.ja)(e),a._OrtRunWithBinding=(e,t,n,r,i)=>(a._OrtRunWithBinding=Ce.ka)(e,t,n,r,i),a._OrtRun=(e,t,n,r,i,s,o,u)=>(a._OrtRun=Ce.la)(e,t,n,r,i,s,o,u),a._OrtEndProfiling=e=>(a._OrtEndProfiling=Ce.ma)(e),a._JsepOutput=(e,t,n)=>(a._JsepOutput=Ce.na)(e,t,n),a._JsepGetNodeName=e=>(a._JsepGetNodeName=Ce.oa)(e);var Te,ke=()=>(ke=Ce.pa)(),Oe=a._malloc=e=>(Oe=a._malloc=Ce.qa)(e),Ae=a._free=e=>(Ae=a._free=Ce.ra)(e),Re=e=>(Re=Ce.ta)(e),ze=()=>(ze=Ce.ua)(),Be=e=>(Be=Ce.va)(e),De=e=>(De=Ce.wa)(e),Me=e=>(Me=Ce.ya)(e),Pe=()=>(Pe=Ce.za)(),Ne=e=>(Ne=Ce.Aa)(e),We=()=>(We=Ce.Ba)();function Ue(){if(!(0<R)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;){var e=a.preRun.shift();k.unshift(e)}for(;0<k.length;)k.shift()(a);if(!(0<R||Te||(Te=!0,a.calledRun=!0,C))){for(;0<O.length;)O.shift()(a);for(t(a);0<A.length;)A.shift()(a)}}}return a.___start_em_js=943100,a.___stop_em_js=943261,a.stackAlloc=De,a.stackSave=ze,a.stackRestore=Be,a.UTF8ToString=Z,a.stringToUTF8=(e,t,n)=>X(e,_,t,n),a.lengthBytesUTF8=Q,B=function e(){Te||Ue(),Te||(B=e)},Ue(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=r:"function"==typeof define&&define.amd&&define([],(()=>r))})),he=M((()=>{})),fe=M((()=>{})),me={};P(me,{cpus:()=>ge});var ge,ye,we,$e,ve,be,_e,xe,Se,Ee,Ie,Ce,Te,ke,Oe,Ae,Re,ze,Be,De,Me,Pe,Ne,We,Ue,Ve,He,Le,Ge,Fe,qe,je,Ke,Ye,Ze,Qe,Xe,Je,et,tt,nt,rt,at,it,st,ot,ut,lt,dt,pt,ct,ht,ft,mt,gt,yt,wt,$t,vt,bt,_t,xt,St,Et,It,Ct,Tt,kt,Ot,At,Rt,zt,Bt,Dt,Mt,Pt,Nt,Wt,Ut,Vt,Ht,Lt,Gt,Ft,qt,jt,Kt,Yt,Zt,Qt,Xt,Jt,en,tn,nn,rn,an,sn,on,un,ln,dn,pn,cn,hn,fn,mn,gn,yn,wn,$n,vn,bn,_n,xn,Sn,En,In,Cn,Tn,kn,On,An,Rn,zn,Bn,Dn,Mn,Pn,Nn,Wn,Un,Vn,Hn,Ln,Gn,Fn,qn,jn,Kn,Yn,Zn,Qn,Xn,Jn,er,tr,nr,rr,ar,ir,sr,or,ur,lr,dr,pr,cr,hr,fr,mr,gr,yr,wr,$r,vr,br,_r,xr,Sr,Er,Ir,Cr,Tr,kr,Or,Ar,Rr,zr,Br,Dr,Mr,Pr,Nr,Wr,Ur,Vr,Hr,Lr,Gr,Fr,qr,jr,Kr,Yr,Zr,Qr,Xr,Jr,ea,ta,na,ra,aa,ia,sa,oa,ua,la,da,pa,ca,ha,fa,ma,ga,ya,wa,$a,va,ba,_a,xa,Sa,Ea,Ia,Ca,Ta,ka,Oa,Aa,Ra,za,Ba,Da,Ma,Pa,Na,Wa,Ua,Va,Ha,La,Ga,Fa,qa,ja,Ka,Ya,Za,Qa,Xa,Ja,ei,ti,ni,ri,ai,ii,si,oi,ui,li,di,pi,ci,hi,fi,mi,gi,yi,wi,$i,vi,bi,_i,xi,Si,Ei,Ii,Ci,Ti,ki,Oi,Ai,Ri,zi,Bi,Di,Mi,Pi,Ni,Wi,Ui,Vi,Hi,Li,Gi,Fi,qi,ji,Ki,Yi,Zi,Qi,Xi,Ji,es,ts,ns,rs,as,is,ss,os,us,ls,ds,ps,cs,hs,fs,ms,gs,ys,ws,$s,vs,bs,_s,xs,Ss,Es,Is,Cs,Ts,ks,Os,As,Rs,zs,Bs,Ds,Ms,Ps,Ns,Ws,Us,Vs,Hs,Ls,Gs,Fs,qs,js,Ks,Ys,Zs,Qs,Xs,Js,eo,to,no,ro,ao,io,so,oo,uo=D((()=>{ge=void 0})),lo=M(((e,t)=>{var n,r=(n=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,typeof __filename<"u"&&(n=n||__filename),function(e={}){function t(){return k.buffer!=R.buffer&&U(),R}function r(){return k.buffer!=R.buffer&&U(),z}function a(){return k.buffer!=R.buffer&&U(),B}function i(){return k.buffer!=R.buffer&&U(),D}function s(){return k.buffer!=R.buffer&&U(),M}functi