@needle-tools/engine
Version:
Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.
2 lines • 7.45 MB
JavaScript
import{Texture as WI,WebGLRenderTarget as Ai,RepeatWrapping as Gg,LinearFilter as GB,LinearMipMapLinearFilter as DB,FloatType as Ii,RGBAFormat as gi,PlaneGeometry as YB,OrthographicCamera as Bi,ShaderMaterial as wB,Scene as Qi,Mesh as Dg,EquirectangularReflectionMapping as Ci,Vector3 as nA,Quaternion as Ei,Color as ii,Uniform$1 as Gi,LinearSRGBColorSpace as Di,Cache as sA,MirroredRepeatWrapping as Yi,ClampToEdgeWrapping as wi,NearestMipMapNearestFilter as Ni,NearestFilter as li,MeshBasicMaterial as oi,PMREMGenerator$1 as Ji,cloneUniforms as Ri,cloneUniformsGroups as Zi,GLSL3 as bi,Matrix4 as HI,UniformsLib as hi,Matrix3 as ci,MeshStandardMaterial as XI,DoubleSide as Fi,FrontSide as Ui}from"./three.min.js";var kI=function(){var F=typeof document<"u"?document.currentScript?.src:void 0;return typeof __filename<"u"&&(F=F||__filename),function(w){w=w||{};var R,G=w,c,M,b=new Promise((A,I)=>{c=A,M=I}),d=typeof window=="object",U=typeof WorkerGlobalScope<"u",X=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";G.expectedDataFileDownloads??=0,G.expectedDataFileDownloads++,(()=>{var A=typeof ENVIRONMENT_IS_PTHREAD<"u"&&ENVIRONMENT_IS_PTHREAD,I=typeof ENVIRONMENT_IS_WASM_WORKER<"u"&&ENVIRONMENT_IS_WASM_WORKER;if(A||I)return;var g=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";function B(Q){typeof window=="object"?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):typeof process>"u"&&typeof location<"u"&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var E="bin/JsMaterialXGenShader.data",i="JsMaterialXGenShader.data",D=G.locateFile?G.locateFile(i,""):i,Y=Q.remote_package_size;function N(o,s,x,K){if(g){require("fs").readFile(o,(V,q)=>{V?K(V):x(q.buffer)});return}G.dataFileDownloads??={},fetch(o).catch(V=>Promise.reject(new Error(`Network Error: ${o}`,{cause:V}))).then(V=>{if(!V.ok)return Promise.reject(new Error(`${V.status}: ${V.url}`));if(!V.body&&V.arrayBuffer)return V.arrayBuffer().then(x);const q=V.body.getReader(),BA=()=>q.read().then(S).catch(W=>Promise.reject(new Error(`Unexpected error while handling : ${V.url} ${W}`,{cause:W}))),r=[],oA=V.headers,y=Number(oA.get("Content-Length")??s);let a=0;const S=({done:W,value:L})=>{if(W){const $=new Uint8Array(r.map(u=>u.length).reduce((u,hA)=>u+hA,0));let EA=0;for(const u of r)$.set(u,EA),EA+=u.length;x($.buffer)}else{r.push(L),a+=L.length,G.dataFileDownloads[o]={loaded:a,total:y};let $=0,EA=0;for(const u of Object.values(G.dataFileDownloads))$+=u.loaded,EA+=u.total;return G.setStatus?.(`Downloading data... (${$}/${EA})`),BA()}};return G.setStatus?.("Downloading data..."),BA()})}function l(o){console.error("package error:",o)}var J=null,Z=G.getPreloadedPackage?G.getPreloadedPackage(D,Y):null;Z||N(D,Y,o=>{J?(J(o),J=null):Z=o},l);function h(o){function s(BA,r){if(!BA)throw r+new Error().stack}o.FS_createPath("/","libraries",!0,!0),o.FS_createPath("/libraries","bxdf",!0,!0),o.FS_createPath("/libraries/bxdf","genglsl",!0,!0),o.FS_createPath("/libraries/bxdf","genmdl",!0,!0),o.FS_createPath("/libraries/bxdf","lama",!0,!0),o.FS_createPath("/libraries/bxdf","translation",!0,!0),o.FS_createPath("/libraries","cmlib",!0,!0),o.FS_createPath("/libraries","lights",!0,!0),o.FS_createPath("/libraries/lights","genglsl",!0,!0),o.FS_createPath("/libraries/lights","genmsl",!0,!0),o.FS_createPath("/libraries","nprlib",!0,!0),o.FS_createPath("/libraries/nprlib","genglsl",!0,!0),o.FS_createPath("/libraries/nprlib","genmdl",!0,!0),o.FS_createPath("/libraries/nprlib","genmsl",!0,!0),o.FS_createPath("/libraries/nprlib","genosl",!0,!0),o.FS_createPath("/libraries","pbrlib",!0,!0),o.FS_createPath("/libraries/pbrlib","genglsl",!0,!0),o.FS_createPath("/libraries/pbrlib/genglsl","lib",!0,!0),o.FS_createPath("/libraries/pbrlib","genmdl",!0,!0),o.FS_createPath("/libraries/pbrlib","genmsl",!0,!0),o.FS_createPath("/libraries/pbrlib","genosl",!0,!0),o.FS_createPath("/libraries/pbrlib/genosl","lib",!0,!0),o.FS_createPath("/libraries","stdlib",!0,!0),o.FS_createPath("/libraries/stdlib","genglsl",!0,!0),o.FS_createPath("/libraries/stdlib/genglsl","lib",!0,!0),o.FS_createPath("/libraries/stdlib","genmdl",!0,!0),o.FS_createPath("/libraries/stdlib","genmsl",!0,!0),o.FS_createPath("/libraries/stdlib/genmsl","lib",!0,!0),o.FS_createPath("/libraries/stdlib","genosl",!0,!0),o.FS_createPath("/libraries/stdlib/genosl","include",!0,!0),o.FS_createPath("/libraries/stdlib/genosl","lib",!0,!0),o.FS_createPath("/libraries","targets",!0,!0);function x(BA,r,oA){this.start=BA,this.end=r,this.audio=oA}x.prototype={requests:{},open:function(BA,r){this.name=r,this.requests[r]=this,o.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var BA=this.byteArray.subarray(this.start,this.end);this.finish(BA)},finish:function(BA){var r=this;o.FS_createDataFile(this.name,null,BA,!0,!0,!0),o.removeRunDependency(`fp ${r.name}`),this.requests[this.name]=null}};for(var K=Q.files,V=0;V<K.length;++V)new x(K[V].start,K[V].end,K[V].audio||0).open("GET",K[V].filename);function q(BA){s(BA,"Loading data file failed."),s(BA.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var r=new Uint8Array(BA);x.prototype.byteArray=r;for(var oA=Q.files,y=0;y<oA.length;++y)x.prototype.requests[oA[y].filename].onload();o.removeRunDependency("datafile_bin/JsMaterialXGenShader.data")}o.addRunDependency("datafile_bin/JsMaterialXGenShader.data"),o.preloadResults??={},o.preloadResults[E]={fromCache:!1},Z?(q(Z),Z=null):J=q}G.calledRun?h(G):(G.preRun??=[]).push(h)}B({files:[{filename:"/libraries/CMakeLists.txt",start:0,end:1923},{filename:"/libraries/README.md",start:1923,end:6916},{filename:"/libraries/bxdf/disney_principled.mtlx",start:6916,end:14224},{filename:"/libraries/bxdf/genglsl/gltf_pbr.mtlx",start:14224,end:29039},{filename:"/libraries/bxdf/genglsl/open_pbr_surface.mtlx",start:29039,end:60246},{filename:"/libraries/bxdf/genglsl/standard_surface.mtlx",start:60246,end:78019},{filename:"/libraries/bxdf/genmdl/open_pbr_surface.mtlx",start:78019,end:109045},{filename:"/libraries/bxdf/gltf_pbr.mtlx",start:109045,end:153938},{filename:"/libraries/bxdf/lama/lama_add.mtlx",start:153938,end:156592},{filename:"/libraries/bxdf/lama/lama_conductor.mtlx",start:156592,end:164592},{filename:"/libraries/bxdf/lama/lama_dielectric.mtlx",start:164592,end:175511},{filename:"/libraries/bxdf/lama/lama_diffuse.mtlx",start:175511,end:178457},{filename:"/libraries/bxdf/lama/lama_emission.mtlx",start:178457,end:179206},{filename:"/libraries/bxdf/lama/lama_generalized_schlick.mtlx",start:179206,end:191060},{filename:"/libraries/bxdf/lama/lama_iridescence.mtlx",start:191060,end:197023},{filename:"/libraries/bxdf/lama/lama_layer.mtlx",start:197023,end:198767},{filename:"/libraries/bxdf/lama/lama_mix.mtlx",start:198767,end:200854},{filename:"/libraries/bxdf/lama/lama_sheen.mtlx",start:200854,end:202977},{filename:"/libraries/bxdf/lama/lama_sss.mtlx",start:202977,end:209752},{filename:"/libraries/bxdf/lama/lama_surface.mtlx",start:209752,end:211420},{filename:"/libraries/bxdf/lama/lama_translucent.mtlx",start:211420,end:213057},{filename:"/libraries/bxdf/open_pbr_surface.mtlx",start:213057,end:254343},{filename:"/libraries/bxdf/standard_surface.mtlx",start:254343,end:282426},{filename:"/libraries/bxdf/translation/open_pbr_to_standard_surface.mtlx",start:282426,end:299893},{filename:"/libraries/bxdf/translation/standard_surface_to_gltf_pbr.mtlx",start:299893,end:310073},{filename:"/libraries/bxdf/translation/standard_surface_to_open_pbr.mtlx",start:310073,end:325182},{filename:"/libraries/bxdf/translation/standard_surface_to_usd.mtlx",start:325182,end:331063},{filename:"/libraries/bxdf/usd_preview_surface.mtlx",start:331063,end:354055},{filename:"/libraries/cmlib/cmlib_defs.mtlx",start:354055,end:358901},{filename:"/libraries/cmlib/cmlib_ng.mtlx",start:358901,end:376376},{filename:"/libraries/lights/genglsl/lights_genglsl_impl.mtlx",start:376376,end:376980},{filename:"/libraries/lights/genglsl/mx_directional_light.glsl",start:376980,end:377161},{filename:"/libraries/lights/genglsl/mx_point_light.glsl",start:377161,end:377531},{filename:"/libraries/lights/genglsl/mx_spot_light.glsl",start:377531,end:378155},{filename:"/libraries/lights/genmsl/lights_genmsl_impl.mtlx",start:378155,end:378756},{filename:"/libraries/lights/genmsl/mx_directional_light.metal",start:378756,end:378943},{filename:"/libraries/lights/genmsl/mx_point_light.metal",start:378943,end:379319},{filename:"/libraries/lights/genmsl/mx_spot_light.metal",start:379319,end:379949},{filename:"/libraries/lights/lights_defs.mtlx",start:379949,end:382361},{filename:"/libraries/nprlib/genglsl/nprlib_genglsl_impl.mtlx",start:382361,end:383025},{filename:"/libraries/nprlib/genmdl/nprlib_genmdl_impl.mtlx",start:383025,end:383787},{filename:"/libraries/nprlib/genmsl/nprlib_genmsl_impl.mtlx",start:383787,end:384448},{filename:"/libraries/nprlib/genosl/nprlib_genosl_impl.mtlx",start:384448,end:385146},{filename:"/libraries/nprlib/nprlib_defs.mtlx",start:385146,end:387781},{filename:"/libraries/nprlib/nprlib_ng.mtlx",start:387781,end:392630},{filename:"/libraries/pbrlib/genglsl/lib/mx_closure_type.glsl",start:392630,end:393047},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_fis.glsl",start:393047,end:395841},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_none.glsl",start:395841,end:396076},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_prefilter.glsl",start:396076,end:397162},{filename:"/libraries/pbrlib/genglsl/lib/mx_generate_albedo_table.glsl",start:397162,end:397534},{filename:"/libraries/pbrlib/genglsl/lib/mx_generate_prefilter_env.glsl",start:397534,end:399881},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet.glsl",start:399881,end:402873},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_diffuse.glsl",start:402873,end:410337},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_sheen.glsl",start:410337,end:417090},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_specular.glsl",start:417090,end:433540},{filename:"/libraries/pbrlib/genglsl/lib/mx_shadow.glsl",start:433540,end:434296},{filename:"/libraries/pbrlib/genglsl/lib/mx_transmission_opacity.glsl",start:434296,end:434467},{filename:"/libraries/pbrlib/genglsl/lib/mx_transmission_refract.glsl",start:434467,end:434978},{filename:"/libraries/pbrlib/genglsl/mx_add_bsdf.glsl",start:434978,end:435560},{filename:"/libraries/pbrlib/genglsl/mx_add_edf.glsl",start:435560,end:435700},{filename:"/libraries/pbrlib/genglsl/mx_anisotropic_vdf.glsl",start:435700,end:435928},{filename:"/libraries/pbrlib/genglsl/mx_artistic_ior.glsl",start:435928,end:436501},{filename:"/libraries/pbrlib/genglsl/mx_blackbody.glsl",start:436501,end:438237},{filename:"/libraries/pbrlib/genglsl/mx_burley_diffuse_bsdf.glsl",start:438237,end:439284},{filename:"/libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl",start:439284,end:448292},{filename:"/libraries/pbrlib/genglsl/mx_conductor_bsdf.glsl",start:448292,end:450049},{filename:"/libraries/pbrlib/genglsl/mx_dielectric_bsdf.glsl",start:450049,end:452691},{filename:"/libraries/pbrlib/genglsl/mx_displacement_float.glsl",start:452691,end:452836},{filename:"/libraries/pbrlib/genglsl/mx_displacement_vector3.glsl",start:452836,end:452976},{filename:"/libraries/pbrlib/genglsl/mx_generalized_schlick_bsdf.glsl",start:452976,end:456145},{filename:"/libraries/pbrlib/genglsl/mx_generalized_schlick_edf.glsl",start:456145,end:456657},{filename:"/libraries/pbrlib/genglsl/mx_layer_bsdf.glsl",start:456657,end:456907},{filename:"/libraries/pbrlib/genglsl/mx_layer_vdf.glsl",start:456907,end:457139},{filename:"/libraries/pbrlib/genglsl/mx_mix_bsdf.glsl",start:457139,end:457405},{filename:"/libraries/pbrlib/genglsl/mx_mix_edf.glsl",start:457405,end:457571},{filename:"/libraries/pbrlib/genglsl/mx_multiply_bsdf_color3.glsl",start:457571,end:457824},{filename:"/libraries/pbrlib/genglsl/mx_multiply_bsdf_float.glsl",start:457824,end:458082},{filename:"/libraries/pbrlib/genglsl/mx_multiply_edf_color3.glsl",start:458082,end:458235},{filename:"/libraries/pbrlib/genglsl/mx_multiply_edf_float.glsl",start:458235,end:458388},{filename:"/libraries/pbrlib/genglsl/mx_oren_nayar_diffuse_bsdf.glsl",start:458388,end:459763},{filename:"/libraries/pbrlib/genglsl/mx_roughness_anisotropy.glsl",start:459763,end:460208},{filename:"/libraries/pbrlib/genglsl/mx_roughness_dual.glsl",start:460208,end:460476},{filename:"/libraries/pbrlib/genglsl/mx_sheen_bsdf.glsl",start:460476,end:462562},{filename:"/libraries/pbrlib/genglsl/mx_subsurface_bsdf.glsl",start:462562,end:463615},{filename:"/libraries/pbrlib/genglsl/mx_translucent_bsdf.glsl",start:463615,end:464341},{filename:"/libraries/pbrlib/genglsl/mx_uniform_edf.glsl",start:464341,end:464549},{filename:"/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx",start:464549,end:470654},{filename:"/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx",start:470654,end:482039},{filename:"/libraries/pbrlib/genmsl/pbrlib_genmsl_impl.mtlx",start:482039,end:482306},{filename:"/libraries/pbrlib/genosl/lib/mx_microfacet.osl",start:482306,end:484038},{filename:"/libraries/pbrlib/genosl/mx_anisotropic_vdf.osl",start:484038,end:484409},{filename:"/libraries/pbrlib/genosl/mx_artistic_ior.osl",start:484409,end:485001},{filename:"/libraries/pbrlib/genosl/mx_blackbody.osl",start:485001,end:486773},{filename:"/libraries/pbrlib/genosl/mx_chiang_hair_bsdf.osl",start:486773,end:487465},{filename:"/libraries/pbrlib/genosl/mx_chiang_hair_roughness.osl",start:487465,end:487822},{filename:"/libraries/pbrlib/genosl/mx_dielectric_bsdf.osl",start:487822,end:488372},{filename:"/libraries/pbrlib/genosl/mx_generalized_schlick_bsdf.osl",start:488372,end:489011},{filename:"/libraries/pbrlib/genosl/mx_generalized_schlick_edf.osl",start:489011,end:489281},{filename:"/libraries/pbrlib/genosl/mx_roughness_anisotropy.osl",start:489281,end:489732},{filename:"/libraries/pbrlib/genosl/mx_roughness_dual.osl",start:489732,end:490028},{filename:"/libraries/pbrlib/genosl/mx_subsurface_bsdf.osl",start:490028,end:490356},{filename:"/libraries/pbrlib/genosl/mx_surface.osl",start:490356,end:490557},{filename:"/libraries/pbrlib/genosl/pbrlib_genosl_impl.mtlx",start:490557,end:496402},{filename:"/libraries/pbrlib/pbrlib_defs.mtlx",start:496402,end:520720},{filename:"/libraries/pbrlib/pbrlib_ng.mtlx",start:520720,end:521514},{filename:"/libraries/stdlib/genglsl/lib/mx_geometry.glsl",start:521514,end:522875},{filename:"/libraries/stdlib/genglsl/lib/mx_hextile.glsl",start:522875,end:527376},{filename:"/libraries/stdlib/genglsl/lib/mx_hsv.glsl",start:527376,end:530855},{filename:"/libraries/stdlib/genglsl/lib/mx_math.glsl",start:530855,end:531490},{filename:"/libraries/stdlib/genglsl/lib/mx_noise.glsl",start:531490,end:554429},{filename:"/libraries/stdlib/genglsl/lib/mx_transform_uv.glsl",start:554429,end:554545},{filename:"/libraries/stdlib/genglsl/lib/mx_transform_uv_vflip.glsl",start:554545,end:554681},{filename:"/libraries/stdlib/genglsl/mx_aastep.glsl",start:554681,end:554881},{filename:"/libraries/stdlib/genglsl/mx_burn_color3.glsl",start:554881,end:555166},{filename:"/libraries/stdlib/genglsl/mx_burn_color4.glsl",start:555166,end:555507},{filename:"/libraries/stdlib/genglsl/mx_burn_float.glsl",start:555507,end:555730},{filename:"/libraries/stdlib/genglsl/mx_cellnoise2d_float.glsl",start:555730,end:555867},{filename:"/libraries/stdlib/genglsl/mx_cellnoise3d_float.glsl",start:555867,end:556004},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix33.glsl",start:556004,end:556211},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix44.glsl",start:556211,end:556487},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector4_matrix44.glsl",start:556487,end:556771},{filename:"/libraries/stdlib/genglsl/mx_disjointover_color4.glsl",start:556771,end:557365},{filename:"/libraries/stdlib/genglsl/mx_dodge_color3.glsl",start:557365,end:557655},{filename:"/libraries/stdlib/genglsl/mx_dodge_color4.glsl",start:557655,end:558004},{filename:"/libraries/stdlib/genglsl/mx_dodge_float.glsl",start:558004,end:558226},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_float.glsl",start:558226,end:558498},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector2.glsl",start:558498,end:558768},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector3.glsl",start:558768,end:559038},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector4.glsl",start:559038,end:559308},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_float.glsl",start:559308,end:559580},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector2.glsl",start:559580,end:559850},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector3.glsl",start:559850,end:560120},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector4.glsl",start:560120,end:560390},{filename:"/libraries/stdlib/genglsl/mx_heighttonormal_vector3.glsl",start:560390,end:561343},{filename:"/libraries/stdlib/genglsl/mx_hextiledimage.glsl",start:561343,end:564493},{filename:"/libraries/stdlib/genglsl/mx_hextilednormalmap.glsl",start:564493,end:566999},{filename:"/libraries/stdlib/genglsl/mx_hsvtorgb_color3.glsl",start:566999,end:567113},{filename:"/libraries/stdlib/genglsl/mx_hsvtorgb_color4.glsl",start:567113,end:567242},{filename:"/libraries/stdlib/genglsl/mx_image_color3.glsl",start:567242,end:567632},{filename:"/libraries/stdlib/genglsl/mx_image_color4.glsl",start:567632,end:568018},{filename:"/libraries/stdlib/genglsl/mx_image_float.glsl",start:568018,end:568407},{filename:"/libraries/stdlib/genglsl/mx_image_vector2.glsl",start:568407,end:568797},{filename:"/libraries/stdlib/genglsl/mx_image_vector3.glsl",start:568797,end:569188},{filename:"/libraries/stdlib/genglsl/mx_image_vector4.glsl",start:569188,end:569575},{filename:"/libraries/stdlib/genglsl/mx_luminance_color3.glsl",start:569575,end:569689},{filename:"/libraries/stdlib/genglsl/mx_luminance_color4.glsl",start:569689,end:569820},{filename:"/libraries/stdlib/genglsl/mx_mix_surfaceshader.glsl",start:569820,end:570054},{filename:"/libraries/stdlib/genglsl/mx_noise2d_float.glsl",start:570054,end:570264},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector2.glsl",start:570264,end:570475},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector3.glsl",start:570475,end:570683},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector4.glsl",start:570683,end:570958},{filename:"/libraries/stdlib/genglsl/mx_noise3d_float.glsl",start:570958,end:571168},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector2.glsl",start:571168,end:571379},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector3.glsl",start:571379,end:571587},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector4.glsl",start:571587,end:571866},{filename:"/libraries/stdlib/genglsl/mx_normalmap.glsl",start:571866,end:572364},{filename:"/libraries/stdlib/genglsl/mx_premult_color4.glsl",start:572364,end:572461},{filename:"/libraries/stdlib/genglsl/mx_ramplr_float.glsl",start:572461,end:572612},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector2.glsl",start:572612,end:572762},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector3.glsl",start:572762,end:572912},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector4.glsl",start:572912,end:573062},{filename:"/libraries/stdlib/genglsl/mx_ramptb_float.glsl",start:573062,end:573213},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector2.glsl",start:573213,end:573363},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector3.glsl",start:573363,end:573513},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector4.glsl",start:573513,end:573663},{filename:"/libraries/stdlib/genglsl/mx_rgbtohsv_color3.glsl",start:573663,end:573777},{filename:"/libraries/stdlib/genglsl/mx_rgbtohsv_color4.glsl",start:573777,end:573906},{filename:"/libraries/stdlib/genglsl/mx_rotate_vector2.glsl",start:573906,end:574164},{filename:"/libraries/stdlib/genglsl/mx_rotate_vector3.glsl",start:574164,end:575065},{filename:"/libraries/stdlib/genglsl/mx_smoothstep_float.glsl",start:575065,end:575290},{filename:"/libraries/stdlib/genglsl/mx_splitlr_float.glsl",start:575290,end:575483},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector2.glsl",start:575483,end:575675},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector3.glsl",start:575675,end:575867},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector4.glsl",start:575867,end:576059},{filename:"/libraries/stdlib/genglsl/mx_splittb_float.glsl",start:576059,end:576252},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector2.glsl",start:576252,end:576444},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector3.glsl",start:576444,end:576636},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector4.glsl",start:576636,end:576828},{filename:"/libraries/stdlib/genglsl/mx_surface_unlit.glsl",start:576828,end:577120},{filename:"/libraries/stdlib/genglsl/mx_transformmatrix_vector2M3.glsl",start:577120,end:577261},{filename:"/libraries/stdlib/genglsl/mx_transformmatrix_vector3M4.glsl",start:577261,end:577403},{filename:"/libraries/stdlib/genglsl/mx_unpremult_color4.glsl",start:577403,end:577502},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_float.glsl",start:577502,end:577686},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_vector2.glsl",start:577686,end:577870},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_vector3.glsl",start:577870,end:578054},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_float.glsl",start:578054,end:578238},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_vector2.glsl",start:578238,end:578422},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_vector3.glsl",start:578422,end:578606},{filename:"/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx",start:578606,end:655400},{filename:"/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx",start:655400,end:749690},{filename:"/libraries/stdlib/genmsl/lib/mx_math.metal",start:749690,end:753979},{filename:"/libraries/stdlib/genmsl/lib/mx_matscalaroperators.metal",start:753979,end:754988},{filename:"/libraries/stdlib/genmsl/lib/mx_texture.metal",start:754988,end:755726},{filename:"/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx",start:755726,end:765452},{filename:"/libraries/stdlib/genosl/include/color4.h",start:765452,end:771290},{filename:"/libraries/stdlib/genosl/include/matrix33.h",start:771290,end:773910},{filename:"/libraries/stdlib/genosl/include/mx_funcs.h",start:773910,end:795701},{filename:"/libraries/stdlib/genosl/include/vector2.h",start:795701,end:801367},{filename:"/libraries/stdlib/genosl/include/vector4.h",start:801367,end:810365},{filename:"/libraries/stdlib/genosl/lib/mx_transform_uv.osl",start:810365,end:810432},{filename:"/libraries/stdlib/genosl/lib/mx_transform_uv_vflip.osl",start:810432,end:810528},{filename:"/libraries/stdlib/genosl/lib/vector4_extra_ops.osl",start:810528,end:811402},{filename:"/libraries/stdlib/genosl/mx_burn_color3.osl",start:811402,end:811655},{filename:"/libraries/stdlib/genosl/mx_burn_color4.osl",start:811655,end:811993},{filename:"/libraries/stdlib/genosl/mx_burn_float.osl",start:811993,end:812210},{filename:"/libraries/stdlib/genosl/mx_cellnoise2d_float.osl",start:812210,end:812327},{filename:"/libraries/stdlib/genosl/mx_cellnoise3d_float.osl",start:812327,end:812429},{filename:"/libraries/stdlib/genosl/mx_creatematrix.osl",start:812429,end:813334},{filename:"/libraries/stdlib/genosl/mx_disjointover_color4.osl",start:813334,end:813912},{filename:"/libraries/stdlib/genosl/mx_dodge_color3.osl",start:813912,end:814170},{filename:"/libraries/stdlib/genosl/mx_dodge_color4.osl",start:814170,end:814517},{filename:"/libraries/stdlib/genosl/mx_dodge_float.osl",start:814517,end:814724},{filename:"/libraries/stdlib/genosl/mx_fractal2d_float.osl",start:814724,end:814970},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector2.osl",start:814970,end:815224},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector3.osl",start:815224,end:815475},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector4.osl",start:815475,end:815729},{filename:"/libraries/stdlib/genosl/mx_fractal3d_float.osl",start:815729,end:815960},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector2.osl",start:815960,end:816199},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector3.osl",start:816199,end:816435},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector4.osl",start:816435,end:816674},{filename:"/libraries/stdlib/genosl/mx_frame_float.osl",start:816674,end:816843},{filename:"/libraries/stdlib/genosl/mx_geomcolor_color3.osl",start:816843,end:816939},{filename:"/libraries/stdlib/genosl/mx_geomcolor_color4.osl",start:816939,end:817170},{filename:"/libraries/stdlib/genosl/mx_geomcolor_float.osl",start:817170,end:817265},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_boolean.osl",start:817265,end:817416},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_color3.osl",start:817416,end:817569},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_color4.osl",start:817569,end:817937},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_float.osl",start:817937,end:818111},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_integer.osl",start:818111,end:818262},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_string.osl",start:818262,end:818418},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector2.osl",start:818418,end:818684},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector3.osl",start:818684,end:818840},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector4.osl",start:818840,end:819158},{filename:"/libraries/stdlib/genosl/mx_heighttonormal_vector3.osl",start:819158,end:820132},{filename:"/libraries/stdlib/genosl/mx_hsvtorgb_color3.osl",start:820132,end:820237},{filename:"/libraries/stdlib/genosl/mx_hsvtorgb_color4.osl",start:820237,end:820359},{filename:"/libraries/stdlib/genosl/mx_image_color3.osl",start:820359,end:821304},{filename:"/libraries/stdlib/genosl/mx_image_color4.osl",start:821304,end:822427},{filename:"/libraries/stdlib/genosl/mx_image_float.osl",start:822427,end:823290},{filename:"/libraries/stdlib/genosl/mx_image_vector2.osl",start:823290,end:824205},{filename:"/libraries/stdlib/genosl/mx_image_vector3.osl",start:824205,end:825023},{filename:"/libraries/stdlib/genosl/mx_image_vector4.osl",start:825023,end:826066},{filename:"/libraries/stdlib/genosl/mx_luminance_color3.osl",start:826066,end:826178},{filename:"/libraries/stdlib/genosl/mx_luminance_color4.osl",start:826178,end:826310},{filename:"/libraries/stdlib/genosl/mx_mix_surfaceshader.osl",start:826310,end:826552},{filename:"/libraries/stdlib/genosl/mx_noise2d_float.osl",start:826552,end:826746},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector2.osl",start:826746,end:826951},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector3.osl",start:826951,end:827150},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector4.osl",start:827150,end:827355},{filename:"/libraries/stdlib/genosl/mx_noise3d_float.osl",start:827355,end:827534},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector2.osl",start:827534,end:827724},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector3.osl",start:827724,end:827908},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector4.osl",start:827908,end:828098},{filename:"/libraries/stdlib/genosl/mx_normalmap.osl",start:828098,end:829010},{filename:"/libraries/stdlib/genosl/mx_premult_color4.osl",start:829010,end:829112},{filename:"/libraries/stdlib/genosl/mx_rgbtohsv_color3.osl",start:829112,end:829217},{filename:"/libraries/stdlib/genosl/mx_rgbtohsv_color4.osl",start:829217,end:829339},{filename:"/libraries/stdlib/genosl/mx_rotate_vector2.osl",start:829339,end:829600},{filename:"/libraries/stdlib/genosl/mx_rotate_vector3.osl",start:829600,end:830670},{filename:"/libraries/stdlib/genosl/mx_surface_unlit.osl",start:830670,end:831084},{filename:"/libraries/stdlib/genosl/mx_surfacematerial.osl",start:831084,end:831367},{filename:"/libraries/stdlib/genosl/mx_time_float.osl",start:831367,end:831545},{filename:"/libraries/stdlib/genosl/mx_transformmatrix_vector2M3.osl",start:831545,end:831731},{filename:"/libraries/stdlib/genosl/mx_unpremult_color4.osl",start:831731,end:831835},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_float.osl",start:831835,end:831995},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_vector2.osl",start:831995,end:832161},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_vector3.osl",start:832161,end:832326},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_float.osl",start:832326,end:832485},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_vector2.osl",start:832485,end:832650},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_vector3.osl",start:832650,end:832814},{filename:"/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx",start:832814,end:909860},{filename:"/libraries/stdlib/stdlib_defs.mtlx",start:909860,end:1187069},{filename:"/libraries/stdlib/stdlib_ng.mtlx",start:1187069,end:1509715},{filename:"/libraries/targets/essl.mtlx",start:1509715,end:1510177},{filename:"/libraries/targets/genglsl.mtlx",start:1510177,end:1510630},{filename:"/libraries/targets/genmdl.mtlx",start:1510630,end:1511082},{filename:"/libraries/targets/genmsl.mtlx",start:1511082,end:1511552},{filename:"/libraries/targets/genosl.mtlx",start:1511552,end:1512004}],remote_package_size:1512004})})();var H=Object.assign({},G),O="./this.program",gA=(A,I)=>{throw I},_="";function AA(A){return G.locateFile?G.locateFile(A,_):_+A}var QA,DA;if(X){var CA=require("fs");require("path"),_=__dirname+"/",DA=A=>{A=DI(A)?new URL(A):A;var I=CA.readFileSync(A);return I},QA=async(A,I=!0)=>{A=DI(A)?new URL(A):A;var g=CA.readFileSync(A,I?void 0:"utf8");return g},!G.thisProgram&&process.argv.length>1&&(O=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),gA=(A,I)=>{throw process.exitCode=A,I}}else(d||U)&&(U?_=self.location.href:typeof document<"u"&&document.currentScript&&(_=document.currentScript.src),F&&(_=F),_.startsWith("blob:")?_="":_=_.substr(0,_.replace(/[?#].*/,"").lastIndexOf("/")+1),U&&(DA=A=>{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}),QA=async A=>{if(DI(A))return new Promise((g,B)=>{var Q=new XMLHttpRequest;Q.open("GET",A,!0),Q.responseType="arraybuffer",Q.onload=()=>{if(Q.status==200||Q.status==0&&Q.response){g(Q.response);return}B(Q.status)},Q.onerror=B,Q.send(null)});var I=await fetch(A,{credentials:"same-origin"});if(I.ok)return I.arrayBuffer();throw new Error(I.status+" : "+I.url)});var RA=G.print||console.log.bind(console),JA=G.printErr||console.error.bind(console);Object.assign(G,H),H=null,G.arguments&&G.arguments,G.thisProgram&&(O=G.thisProgram);var e=G.wasmBinary,CI,EI=!1,iI,lA,bA,FA,qA,j,n,Ng,xI;function lg(){var A=CI.buffer;G.HEAP8=lA=new Int8Array(A),G.HEAP16=FA=new Int16Array(A),G.HEAPU8=bA=new Uint8Array(A),G.HEAPU16=qA=new Uint16Array(A),G.HEAP32=j=new Int32Array(A),G.HEAPU32=n=new Uint32Array(A),G.HEAPF32=Ng=new Float32Array(A),G.HEAPF64=xI=new Float64Array(A)}var og=[],Jg=[],Rg=[];function kB(){if(G.preRun)for(typeof G.preRun=="function"&&(G.preRun=[G.preRun]);G.preRun.length;)KB(G.preRun.shift());uI(og)}function dB(){!G.noFSInit&&!C.initialized&&C.init(),C.ignorePermissions=!1,uI(Jg)}function sB(){if(G.postRun)for(typeof G.postRun=="function"&&(G.postRun=[G.postRun]);G.postRun.length;)VB(G.postRun.shift());uI(Rg)}function KB(A){og.unshift(A)}function mB(A){Jg.unshift(A)}function VB(A){Rg.unshift(A)}var KA=0,zA=null;function TI(A){KA++,G.monitorRunDependencies?.(KA)}function GI(A){if(KA--,G.monitorRunDependencies?.(KA),KA==0&&zA){var I=zA;zA=null,I()}}function LA(A){G.onAbort?.(A),A="Aborted("+A+")",JA(A),EI=!0,A+=". Build with -sASSERTIONS for more info.";var I=new WebAssembly.RuntimeError(A);throw M(I),I}var LB="data:application/octet-stream;base64,",Zg=A=>A.startsWith(LB),DI=A=>A.startsWith("file://");function jB(){var A="JsMaterialXGenShader.wasm";return Zg(A)?A:AA(A)}var PI;function xB(A){if(A==PI&&e)return new Uint8Array(e);if(DA)return DA(A);throw"both async and sync fetching of the wasm failed"}async function TB(A){if(!e)try{var I=await QA(A);return new Uint8Array(I)}catch{}return xB(A)}async function PB(A,I){try{var g=await TB(A),B=await WebAssembly.instantiate(g,I);return B}catch(Q){JA(`failed to asynchronously prepare wasm: ${Q}`),LA(Q)}}async function uB(A,I,g){if(!A&&typeof WebAssembly.instantiateStreaming=="function"&&!Zg(I)&&!DI(I)&&!X&&typeof fetch=="function")try{var B=fetch(I,{credentials:"same-origin"}),Q=await WebAssembly.instantiateStreaming(B,g);return Q}catch(E){JA(`wasm streaming compile failed: ${E}`),JA("falling back to ArrayBuffer instantiation")}return PB(I,g)}function vB(){return{a:wE}}async function fB(){function A(Q,E){return GA=Q.exports,CI=GA._a,lg(),Kg=GA.cb,mB(GA.$a),GI(),GA}TI();function I(Q){A(Q.instance)}var g=vB();if(G.instantiateWasm)try{return G.instantiateWasm(g,A)}catch(Q){JA(`Module.instantiateWasm callback failed with error: ${Q}`),M(Q)}PI??=jB();try{var B=await uB(e,PI,g);return I(B),B}catch(Q){M(Q);return}}var k,iA,tB={189824:()=>{G.TreeIterator.prototype[Symbol.iterator]=function(){return this}},189908:()=>{G.GraphIterator.prototype[Symbol.iterator]=function(){return this}},189993:()=>{G.InheritanceIterator.prototype[Symbol.iterator]=function(){return this}}};class bg{name="ExitStatus";constructor(I){this.message=`Program terminated with exit(${I})`,this.status=I}}var uI=A=>{for(;A.length>0;)A.shift()(G)},hg=G.noExitRuntime||!0,v=A=>eg(A),f=()=>rg(),cg=typeof TextDecoder<"u"?new TextDecoder:void 0,jA=(A,I=0,g=NaN)=>{for(var B=I+g,Q=I;A[Q]&&!(Q>=B);)++Q;if(Q-I>16&&A.buffer&&cg)return cg.decode(A.subarray(I,Q));for(var E="";I<Q;){var i=A[I++];if(!(i&128)){E+=String.fromCharCode(i);continue}var D=A[I++]&63;if((i&224)==192){E+=String.fromCharCode((i&31)<<6|D);continue}var Y=A[I++]&63;if((i&240)==224?i=(i&15)<<12|D<<6|Y:i=(i&7)<<18|D<<12|Y<<6|A[I++]&63,i<65536)E+=String.fromCharCode(i);else{var N=i-65536;E+=String.fromCharCode(55296|N>>10,56320|N&1023)}}return E},eA=(A,I)=>A?jA(bA,A,I):"",pB=(A,I,g,B)=>LA(`Assertion failed: ${eA(A)}, at: `+[I?eA(I):"unknown filename",g,B?eA(B):"unknown function"]),YI=[],wI=0,nB=A=>{var I=new vI(A);return I.get_caught()||(I.set_caught(!0),wI--),I.set_rethrown(!1),YI.push(I),_g(A),AB(A)},SA=0,qB=()=>{T(0,0);var A=YI.pop();Og(A.excPtr),SA=0};class vI{constructor(I){this.excPtr=I,this.ptr=I-24}set_type(I){n[this.ptr+4>>2]=I}get_type(){return n[this.ptr+4>>2]}set_destructor(I){n[this.ptr+8>>2]=I}get_destructor(){return n[this.ptr+8>>2]}set_caught(I){I=I?1:0,lA[this.ptr+12]=I}get_caught(){return lA[this.ptr+12]!=0}set_rethrown(I){I=I?1:0,lA[this.ptr+13]=I}get_rethrown(){return lA[this.ptr+13]!=0}init(I,g){this.set_adjusted_ptr(0),this.set_type(I),this.set_destructor(g)}set_adjusted_ptr(I){n[this.ptr+16>>2]=I}get_adjusted_ptr(){return n[this.ptr+16>>2]}}var zB=A=>{throw SA||(SA=A),SA},NI=A=>zg(A),fI=A=>{var I=SA;if(!I)return NI(0),0;var g=new vI(I);g.set_adjusted_ptr(I);var B=g.get_type();if(!B)return NI(0),I;for(var Q of A){if(Q===0||Q===B)break;var E=g.ptr+16;if($g(Q,B,E))return NI(Q),I}return NI(B),I},eB=()=>fI([]),rB=A=>fI([A]),OB=(A,I)=>fI([A,I]),_B=()=>{var A=YI.pop();A||LA("no exception to throw");var I=A.excPtr;throw A.get_rethrown()||(YI.push(A),A.set_rethrown(!0),A.set_caught(!1),wI++),SA=I,SA},$B=(A,I,g)=>{var B=new vI(A);throw B.init(I,g),SA=A,wI++,SA},AQ=()=>wI,lI=()=>{var A=j[+ZA.varargs>>2];return ZA.varargs+=4,A},xA=lI,IA={isAbs:A=>A.charAt(0)==="/",splitPath:A=>{var I=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return I.exec(A).slice(1)},normalizeArray:(A,I)=>{for(var g=0,B=A.length-1;B>=0;B--){var Q=A[B];Q==="."?A.splice(B,1):Q===".."?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:A=>{var I=IA.isAbs(A),g=A.substr(-1)==="/";return A=IA.normalizeArray(A.split("/").filter(B=>!!B),!I).join("/"),!A&&!I&&(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:A=>{var I=IA.splitPath(A),g=I[0],B=I[1];return!g&&!B?".":(B&&(B=B.substr(0,B.length-1)),g+B)},basename:A=>{if(A==="/")return"/";A=IA.normalize(A),A=A.replace(/\/$/,"");var I=A.lastIndexOf("/");return I===-1?A:A.substr(I+1)},join:(...A)=>IA.normalize(A.join("/")),join2:(A,I)=>IA.normalize(A+"/"+I)},IQ=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return B=>crypto.getRandomValues(B);if(X)try{var A=require("crypto"),I=A.randomFillSync;if(I)return B=>A.randomFillSync(B);var g=A.randomBytes;return B=>(B.set(g(B.byteLength)),B)}catch{}LA("initRandomDevice")},Fg=A=>(Fg=IQ())(A),TA={resolve:(...A)=>{for(var I="",g=!1,B=A.length-1;B>=-1&&!g;B--){var Q=B>=0?A[B]:C.cwd();if(typeof Q!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!Q)return"";I=Q+"/"+I,g=IA.isAbs(Q)}return I=IA.normalizeArray(I.split("/").filter(E=>!!E),!g).join("/"),(g?"/":"")+I||"."},relative:(A,I)=>{A=TA.resolve(A).substr(1),I=TA.resolve(I).substr(1);function g(N){for(var l=0;l<N.length&&N[l]==="";l++);for(var J=N.length-1;J>=0&&N[J]==="";J--);return l>J?[]:N.slice(l,J-l+1)}for(var B=g(A.split("/")),Q=g(I.split("/")),E=Math.min(B.length,Q.length),i=E,D=0;D<E;D++)if(B[D]!==Q[D]){i=D;break}for(var Y=[],D=i;D<B.length;D++)Y.push("..");return Y=Y.concat(Q.slice(i)),Y.join("/")}},tI=[],pI=A=>{for(var I=0,g=0;g<A.length;++g){var B=A.charCodeAt(g);B<=127?I++:B<=2047?I+=2:B>=55296&&B<=57343?(I+=4,++g):I+=3}return I},nI=(A,I,g,B)=>{if(!(B>0))return 0;for(var Q=g,E=g+B-1,i=0;i<A.length;++i){var D=A.charCodeAt(i);if(D>=55296&&D<=57343){var Y=A.charCodeAt(++i);D=65536+((D&1023)<<10)|Y&1023}if(D<=127){if(g>=E)break;I[g++]=D}else if(D<=2047){if(g+1>=E)break;I[g++]=192|D>>6,I[g++]=128|D&63}else if(D<=65535){if(g+2>=E)break;I[g++]=224|D>>12,I[g++]=128|D>>6&63,I[g++]=128|D&63}else{if(g+3>=E)break;I[g++]=240|D>>18,I[g++]=128|D>>12&63,I[g++]=128|D>>6&63,I[g++]=128|D&63}}return I[g]=0,g-Q};function Ug(A,I,g){var B=pI(A)+1,Q=new Array(B),E=nI(A,Q,0,Q.length);return Q.length=E,Q}var gQ=()=>{if(!tI.length){var A=null;if(X){var I=256,g=Buffer.alloc(I),B=0,Q=process.stdin.fd;try{B=CA.readSync(Q,g,0,I)}catch(E){if(E.toString().includes("EOF"))B=0;else throw E}B>0&&(A=g.slice(0,B).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(A=window.prompt("Input: "),A!==null&&(A+=`
`));if(!A)return null;tI=Ug(A)}return tI.shift()},mA={ttys:[],init(){},shutdown(){},register(A,I){mA.ttys[A]={input:[],output:[],ops:I},C.registerDevice(A,mA.stream_ops)},stream_ops:{open(A){var I=mA.ttys[A.node.rdev];if(!I)throw new C.ErrnoError(43);A.tty=I,A.seekable=!1},close(A){A.tty.ops.fsync(A.tty)},fsync(A){A.tty.ops.fsync(A.tty)},read(A,I,g,B,Q){if(!A.tty||!A.tty.ops.get_char)throw new C.ErrnoError(60);for(var E=0,i=0;i<B;i++){var D;try{D=A.tty.ops.get_char(A.tty)}catch{throw new C.ErrnoError(29)}if(D===void 0&&E===0)throw new C.ErrnoError(6);if(D==null)break;E++,I[g+i]=D}return E&&(A.node.atime=Date.now()),E},write(A,I,g,B,Q){if(!A.tty||!A.tty.ops.put_char)throw new C.ErrnoError(60);try{for(var E=0;E<B;E++)A.tty.ops.put_char(A.tty,I[g+E])}catch{throw new C.ErrnoError(29)}return B&&(A.node.mtime=A.node.ctime=Date.now()),E}},default_tty_ops:{get_char(A){return gQ()},put_char(A,I){I===null||I===10?(RA(jA(A.output)),A.output=[]):I!=0&&A.output.push(I)},fsync(A){A.output&&A.output.length>0&&(RA(jA(A.output)),A.output=[])},ioctl_tcgets(A){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(A,I,g){return 0},ioctl_tiocgwinsz(A){return[24,80]}},default_tty1_ops:{put_char(A,I){I===null||I===10?(JA(jA(A.output)),A.output=[]):I!=0&&A.output.push(I)},fsync(A){A.output&&A.output.length>0&&(JA(jA(A.output)),A.output=[])}}},BQ=(A,I)=>Math.ceil(A/I)*I,Mg=A=>{LA()},m={ops_table:null,mount(A){return m.createNode(null,"/",16895,0)},createNode(A,I,g,B){if(C.isBlkdev(g)||C.isFIFO(g))throw new C.ErrnoError(63);m.ops_table||={dir:{node:{getattr:m.node_ops.getattr,setattr:m.node_ops.setattr,lookup:m.node_ops.lookup,mknod:m.node_ops.mknod,rename:m.node_ops.rename,unlink:m.node_ops.unlink,rmdir:m.node_ops.rmdir,readdir:m.node_ops.readdir,symlink:m.node_ops.symlink},stream:{llseek:m.stream_ops.llseek}},file:{node:{getattr:m.node_ops.getattr,setattr:m.node_ops.setattr},stream:{llseek:m.stream_ops.llseek,read:m.stream_ops.read,write:m.stream_ops.write,allocate:m.stream_ops.allocate,mmap:m.stream_ops.mmap,msync:m.stream_ops.msync}},link:{node:{getattr:m.node_ops.getattr,setattr:m.node_ops.setattr,readlink:m.node_ops.readlink},stream:{}},chrdev:{node:{getattr:m.node_ops.getattr,setattr:m.node_ops.setattr},stream:C.chrdev_stream_ops}};var Q=C.createNode(A,I,g,B);return C.isDir(Q.mode)?(Q.node_ops=m.ops_table.dir.node,Q.stream_ops=m.ops_table.dir.stream,Q.contents={}):C.isFile(Q.mode)?(Q.node_ops=m.ops_table.file.node,Q.stream_ops=m.ops_table.file.stream,Q.usedBytes=0,Q.contents=null):C.isLink(Q.mode)?(Q.node_ops=m.ops_table.link.node,Q.stream_ops=m.ops_table.link.stream):C.isChrdev(Q.mode)&&(Q.node_ops=m.ops_table.chrdev.node,Q.stream_ops=m.ops_table.chrdev.stream),Q.atime=Q.mtime=Q.ctime=Date.now(),A&&(A.contents[I]=Q,A.atime=A.mtime=A.ctime=Q.atime),Q},getFileDataAsTypedArray(A){return A.contents?A.contents.subarray?A.contents.subarray(0,A.usedBytes):new Uint8Array(A.contents):new Uint8Array(0)},expandFileStorage(A,I){var g=A.contents?A.contents.length:0;if(!(g>=I)){var B=1048576;I=Math.max(I,g*(g<B?2:1.125)>>>0),g!=0&&(I=Math.max(I,256));var Q=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(Q.subarray(0,A.usedBytes),0)}},resizeFileStorage(A,I){if(A.usedBytes!=I)if(I==0)A.contents=null,A.usedBytes=0;else{var g=A.contents;A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),A.usedBytes=I}},node_ops:{getattr(A){var I={};return I.dev=C.isChrdev(A.mode)?A.id:1,I.ino=A.id,I.mode=A.mode,I.nlink=1,I.uid=0,I.gid=0,I.rdev=A.rdev,C.isDir(A.mode)?I.size=4096:C.isFile(A.mode)?I.size=A.usedBytes:C.isLink(A.mode)?I.size=A.link.length:I.size=0,I.atime=new Date(A.atime),I.mtime=new Date(A.mtime),I.ctime=new Date(A.ctime),I.blksize=4096,I.blocks=Math.ceil(I.size/I.blksize),I},setattr(A,I){for(const g of["mode","atime","mtime","ctime"])I[g]&&(A[g]=I[g]);I.size!==void 0&&m.resizeFileStorage(A,I.size)},lookup(A,I){throw m.doesNotExistError},mknod(A,I,g,B){return m.createNode(A,I,g,B)},rename(A,I,g){var B;try{B=C.lookupNode(I,g)}catch{}if(B){if(C.isDir(A.mode))for(var Q in B.contents)throw new C.ErrnoError(55);C.hashRemoveNode(B)}delete A.parent.contents[A.name],I.contents[g]=A,A.name=g,I.ctime=I.mtime=A.parent.ctime=A.parent.mtime=Date.now()},unlink(A,I){delete A.contents[I],A.ctime=A.mtime=Date.now()},rmdir(A,I){var g=C.lookupNode(A,I);for(var B in g.contents)throw new C.ErrnoError(55);delete A.contents[I],A.ctime=A.mtime=Date.now()},readdir(A){return[".","..",...Object.keys(A.contents)]},symlink(A,I,g){var B=m.createNode(A,I,41471,0);return B.link=g,B},readlink(A){if(!C.isLink(A.mode))throw new C.ErrnoError(28);return A.link}},stream_ops:{read(A,I,g,B,Q){var E=A.node.contents;if(Q>=A.node.usedBytes)return 0;var i=Math.min(A.node.usedBytes-Q,B);if(i>8&&E.subarray)I.set(E.subarray(Q,Q+i),g);else for(var D=0;D<i;D++)I[g+D]=E[Q+D];return i},write(A,I,g,B,Q,E){if(I.buffer===lA.buffer&&(E=!1),!B)return 0;var i=A.node;if(i.mtime=i.ctime=Date.now(),I.subarray&&(!i.contents||i.contents.subarray)){if(E)return i.contents=I.subarray(g,g+B),i.usedBytes=B,B;if(i.usedBytes===0&&Q===0)return i.contents=I.slice(g,g+B),i.usedBytes=B,B;if(Q+B<=i.usedBytes)return i.contents.set(I.subarray(g,g+B),Q),B}if(m.expandFileStorage(i,Q+B),i.contents.subarray&&I.subarray)i.contents.set(I.subarray(g,g+B),Q);else for(var D=0;D<B;D++)i.contents[Q+D]=I[g+D];return i.usedBytes=Math.max(i.usedBytes,Q+B),B},llseek(A,I,g){var B=I;if(g===1?B+=A.position:g===2&&C.isFile(A.node.mode)&&(B+=A.node.usedBytes),B<0)throw new C.ErrnoError(28);return B},allocate(A,I,g){m.expandFileStorage(A.node,I+g),A.node.usedBytes=Math.max(A.node.usedBytes,I+g)},mmap(A,I,g,B,Q){if(!C.isFile(A.node.mode))throw new C.ErrnoError(43);var E,i,D=A.node.contents;if(!(Q&2)&&D&&D.buffer===lA.buffer)i=!1,E=D.byteOffset;else{if(i=!0,E=Mg(),!E)throw new C.ErrnoError(48);D&&((g>0||g+I<D.length)&&(D.subarray?D=D.subarray(g,g+I):D=Array.prototype.slice.call(D,g,g+I)),lA.set(D,E))}return{ptr:E,allocated:i}},msync(A,I,g,B,Q){return m.stream_ops.write(A,I,0,B,g,!1),0}}},QQ=async A=>{var I=await QA(A);return new Uint8Array(I)},yg=(A,I,g,B,Q,E)=>{C.createDataFile(A,I,g,B,Q,E)},CQ=G.preloadPlugins||[],EQ=(A,I,g,B)=>{typeof Browser<"u"&&Browser.init();var Q=!1;return CQ.forEach(E=>{Q||E.canHandle(I)&&(E.handle(A,I,g,B),Q=!0)}),Q},ag=(A,I,g,B,Q,E,i,D,Y,N)=>{var l=I?TA.resolve(IA.join2(A,I)):A;function J(Z){function h(o){N?.(),D||yg(A,I,o,B,Q,Y),E?.(),GI()}EQ(Z,l,h,()=>{i?.(),GI()})||h(Z)}TI(),typeof g=="string"?QQ(g).then(J,i):J(g)},iQ=A=>{var I={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},g=I[A];if(typeof g>"u")throw new Error(`Unknown file open mode: ${A}`);return g},qI=(A,I)=>{var g=0;return A&&(g|=365),I&&(g|=146),g},C={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{name="ErrnoError";constructor(A){this.errno=A}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{shared={};get object(){return this.node}set object(A){this.node=A}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(A){this.shared.flags=A}get position(){return this.shared.position}set position(A){this.shared.position=A}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.id=C.nextInode++,this.name=I,this.mode=g,this.rdev=B,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(A){A?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(A){A?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return C.isDir(this.mode)}get isDevice(){return C.isChrdev(this.mode)}},lookupPath(A,I={}){if(!A)return{path:"",node:null};I.follow_mount??=!0,IA.isAbs(A)||(A=C.cwd()+"/"+A);A:for(var g=0;g<40;g++){for(var B=A.split("/").filter(N=>!!N&&N!=="."),Q=C.root,E="/",i=0;i<B.length;i++){var D=i===B.length-1;if(D&&I.parent)break;if(B[i]===".."){E=IA.dirname(E),Q=Q.parent;continue}E=IA.join2(E,B[i]);try{Q=C.lookupNode(Q,B[i])}catch(N){if(N?.errno===44&&D&&I.noent_okay)return{path:E};throw N}if(C.isMountpoint(Q)&&(!D||I.follow_mount)&&(Q=Q.mounted.root),C.isLink(Q.mode)&&(!D||I.follow)){if(!Q.node_ops.readlink)throw new C.ErrnoError(52);var Y=Q.node_ops.readlink(Q);IA.isAbs(Y)||(Y=IA.dirname(E)+"/"+Y),A=Y+"/"+B.slice(i+1).join("/");continue A}}return{path:E,node:Q}}throw new C.ErrnoError(32)},getPath(A){for(var I;;){if(C.isRoot(A)){var g=A.mount.mountpoint;return I?g[g.length-1]!=="/"?`${g}/${I}`:g+I:g}I=I?`${A.name}/${I}`:A.name,A=A.parent}},hashName(A,I){for(var g=0,B=0;B<I.length;B++)g=(g<<5)-g+I.charCodeAt(B)|0;return(A+g>>>0)%C.nameTable.length},hashAddNode(A){var I=C.hashName(A.parent.id,A.name);A.name_next=C.nameTable[I],C.nameTable[I]=A},hashRemoveNode(A){var I=C.hashName(A.parent.id,A.name);if(C.nameTable[I]===A)C.nameTable[I]=A.name_next;else for(var g=C.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode(A,I){var g=C.mayLookup(A);if(g)throw new C.ErrnoError(g);for(var B=C.hashName(A.id,I),Q=C.nameTable[B];Q;Q=Q.name_next){var E=Q.name;if(Q.parent.id===A.id&&E===I)return Q}return C.lookup(A,I)},createNode(A,I,g,B){var Q=new C.FSNode(A,I,g,B);return C.hashAddNode(Q),Q},destroyNode(A){C.hashRemoveNode(A)},isRoot(A){return A===A.parent},isMountpoint(A){return!!A.mounted},isFile(A){return(A&61440)===32768},isDir(A){return(A&61440)===16384},isLink(A){return(A&61440)===40960},isChrdev(A){return(A&61440)===8192},isBlkdev(A){return(A&61440)===24576},isFIFO(A){return(A&61440)===4096},isSocket(A){return(A&49152)===49152},flagsToPermissionString(A){var I=["r","w","rw"][A&3];return A&512&&(I+="w"),I},nodePermissions(A,I){return C.ignorePermissions?0:I.includes("r")&&!(A.mode&292)||I.includes("w")&&!(A.mode&146)||I.includes("x")&&!(A.mode&73)?2:0},mayLookup(A){if(!C.isDir(A.mode))return 54;var I=C.nodePermissions(A,"x");return I||(A.node_ops.lookup?0:2)},mayCreate(A,I){if(!C.isDir(A.mode))return 54;try{var g=C.lookupNode(A,I);return 20}catch{}return C.nodePermissions(A,"wx")},mayDelete(A,I,g){var B;try{B=C.lookupNode(A,I)}catch(E){return E.errno}var Q=C.nodePermissions(A,"wx");if(Q)return Q;if(g){if(!C.isDir(B.mode))return 54;if(C.isRoot(B)||C.getPath(B)===C.cwd())return 10}else if(C.isDir(B.mode))return 31;return 0},mayOpen(A,I){return A?C.isLink(A.mode)?32:C.isDir(A.mode)&&(C.flagsToPermissionString(I)!=="r"||I&512)?31:C.nodePermissions(A,C.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd(){for(var A=0;A<=C.MAX_OPEN_FDS;A++)if(!C.streams[A])return A;throw new C.ErrnoError(33)},getStreamChecked(A){var I=C.getStream(A);if(!I)throw new C.ErrnoError(8);return I},getStream:A=>C.streams[A],createStream(A,I=-1){return A=Object.assign(new C.FSStream,A),I==-1&&(I=C.nextfd()),A.fd=I,C.streams[I]=A,A},closeStream(A){C.streams[A]=null},dupStream(A,I=-1){var g=C.createStream(A,I);return g.stream_ops?.dup?.(g),g},chrdev_stream_ops:{open(A){var I=C.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open?.(A)},llseek(){throw new C.ErrnoError(70)}},major:A=>A>>8,minor:A=>A&255,makedev:(A,I)=>A<<8|I,registerDevice(A,I){C.devices[A]={stream_ops:I}},getDevice:A=>C.devices[A],getMounts(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push(...B.mounts)}return I},syncfs(A,I){typeof A=="function"&&(I=A,A=!1),C.syncFSRequests++,C.syncFSRequests>1&&JA(`warning: ${C.syncFSRequests