@markii/host 0.17.0-next.2 → 0.17.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +10 -2
  2. package/dist/browser-worker.classic.js +640 -0
  3. package/dist/browser-worker.js +40 -40
  4. package/dist/browser.d.ts +7 -3
  5. package/dist/browser.js +16 -4
  6. package/dist/conformance/host/05-export-html-pack-directive/expected.json +2 -0
  7. package/dist/conformance/host/06-install-pack-then-render/expected.json +6 -1
  8. package/dist/conformance/host/README.md +4 -2
  9. package/dist/export/note-export.d.ts +1 -1
  10. package/dist/host/adapter.d.ts +22 -25
  11. package/dist/host/conformance-runner.d.ts +1 -1
  12. package/dist/host/conformance-runner.js +21 -11
  13. package/dist/host/create-host.d.ts +29 -11
  14. package/dist/host/create-host.js +34 -23
  15. package/dist/host/editor-behavior.d.ts +2 -6
  16. package/dist/host/editor-behavior.js +5 -9
  17. package/dist/host/export-behavior.d.ts +6 -7
  18. package/dist/host/export-behavior.js +1 -1
  19. package/dist/host/labels.d.ts +5 -15
  20. package/dist/host/labels.js +8 -22
  21. package/dist/host/pack-archive.d.ts +4 -10
  22. package/dist/host/pack-archive.js +12 -21
  23. package/dist/host/pack-install.d.ts +11 -23
  24. package/dist/host/pack-install.js +26 -23
  25. package/dist/host/pack-load.d.ts +1 -2
  26. package/dist/host/pack-trust-behavior.js +1 -1
  27. package/dist/host/refresh-interval.d.ts +1 -3
  28. package/dist/host/refresh-interval.js +1 -3
  29. package/dist/host/run-behavior.d.ts +3 -4
  30. package/dist/host/run-behavior.js +23 -2
  31. package/dist/host/script-execution.d.ts +1 -1
  32. package/dist/html-engine.js +4 -4
  33. package/dist/index.d.ts +15 -80
  34. package/dist/index.js +18 -63
  35. package/dist/internal.d.ts +30 -0
  36. package/dist/internal.js +31 -0
  37. package/dist/node-fs.d.ts +0 -3
  38. package/dist/node-fs.js +1 -21
  39. package/dist/node-worker.d.ts +8 -0
  40. package/dist/node-worker.js +20678 -0
  41. package/dist/node.d.ts +3 -3
  42. package/dist/node.js +5 -4
  43. package/dist/packs/discover.d.ts +2 -0
  44. package/dist/packs/discover.js +2 -1
  45. package/dist/packs/pack-diagnostics.d.ts +6 -8
  46. package/dist/packs/pack-diagnostics.js +6 -8
  47. package/dist/packs/pack-paths.js +1 -2
  48. package/dist/packs/pack-render-registry.d.ts +9 -10
  49. package/dist/run/browser-isolate.d.ts +5 -5
  50. package/dist/run/browser-isolate.js +5 -1
  51. package/dist/run/isolate.d.ts +3 -1
  52. package/dist/run/net-bridge.d.ts +5 -5
  53. package/dist/run/net-bridge.js +7 -5
  54. package/dist/run/net-pinning.d.ts +2 -0
  55. package/dist/run/net-pinning.js +17 -3
  56. package/dist/run/net-provider.d.ts +3 -1
  57. package/dist/run/net-provider.js +40 -15
  58. package/dist/run/net-refusal.d.ts +4 -0
  59. package/dist/run/net-refusal.js +24 -0
  60. package/dist/run/node-isolate.d.ts +13 -21
  61. package/dist/run/node-isolate.js +31 -80
  62. package/dist/run/run-flow.d.ts +1 -2
  63. package/dist/run/run-host.d.ts +3 -3
  64. package/dist/run/worker-entry-browser.d.ts +24 -4
  65. package/dist/run/worker-entry-browser.js +99 -4
  66. package/dist/run/worker-entry.js +2 -0
  67. package/package.json +31 -12
@@ -0,0 +1,640 @@
1
+ var process = undefined, Buffer = undefined; var require = (m) => { throw new Error('markii: the Lua runtime took its Node code path inside a Web Worker (tried to require ' + m + ')'); };
2
+ "use strict";(()=>{var Ml=Object.create;var ni=Object.defineProperty;var Nl=Object.getOwnPropertyDescriptor;var Ol=Object.getOwnPropertyNames;var Bl=Object.getPrototypeOf,zl=Object.prototype.hasOwnProperty;var Lr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var ii=(e,r)=>()=>{try{return r||e((r={exports:{}}).exports,r),r.exports}catch(t){throw r=0,t}},Ul=(e,r)=>{for(var t in r)ni(e,t,{get:r[t],enumerable:!0})},Vl=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Ol(r))!zl.call(e,o)&&o!==t&&ni(e,o,{get:()=>r[o],enumerable:!(i=Nl(r,o))||i.enumerable});return e};var zt=(e,r,t)=>(t=e!=null?Ml(Bl(e)):{},Vl(r||!e||!e.__esModule?ni(t,"default",{value:e,enumerable:!0}):t,e));var ns=ii((Rm,rs)=>{"use strict";var Qr=Object.prototype.hasOwnProperty,ts=Object.prototype.toString,Ja=Object.defineProperty,Ka=Object.getOwnPropertyDescriptor,Xa=function(r){return typeof Array.isArray=="function"?Array.isArray(r):ts.call(r)==="[object Array]"},Za=function(r){if(!r||ts.call(r)!=="[object Object]")return!1;var t=Qr.call(r,"constructor"),i=r.constructor&&r.constructor.prototype&&Qr.call(r.constructor.prototype,"isPrototypeOf");if(r.constructor&&!t&&!i)return!1;var o;for(o in r);return typeof o>"u"||Qr.call(r,o)},Qa=function(r,t){Ja&&t.name==="__proto__"?Ja(r,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):r[t.name]=t.newValue},es=function(r,t){if(t==="__proto__")if(Qr.call(r,t)){if(Ka)return Ka(r,t).value}else return;return r[t]};rs.exports=function e(){var r,t,i,o,a,u,c=arguments[0],f=1,p=arguments.length,h=!1;for(typeof c=="boolean"&&(h=c,c=arguments[1]||{},f=2),(c==null||typeof c!="object"&&typeof c!="function")&&(c={});f<p;++f)if(r=arguments[f],r!=null)for(t in r)i=es(c,t),o=es(r,t),c!==o&&(h&&o&&(Za(o)||(a=Xa(o)))?(a?(a=!1,u=i&&Xa(i)?i:[]):u=i&&Za(i)?i:{},Qa(c,{name:t,newValue:e(h,u,o)})):typeof o<"u"&&Qa(c,{name:t,newValue:o}));return c}});var Ks=ii(($y,Wi)=>{(function(){var e;typeof Wi<"u"?e=Wi.exports=i:e=(function(){return this||(0,eval)("this")})(),e.format=i,e.vsprintf=t,typeof console<"u"&&typeof console.log=="function"&&(e.printf=r);function r(){console.log(i.apply(null,arguments))}function t(o,a){return i.apply(null,[o].concat(a))}function i(o){for(var a=1,u=[].slice.call(arguments),c=0,f=o.length,p="",h,g=!1,y,_,x=!1,A,R=function(){return u[a++]},E=function(){for(var N="";/\d/.test(o[c]);)N+=o[c++],h=o[c];return N.length>0?parseInt(N):null};c<f;++c)if(h=o[c],g)switch(g=!1,h=="."?(x=!1,h=o[++c]):h=="0"&&o[c+1]=="."?(x=!0,c+=2,h=o[c]):x=!0,A=E(),h){case"b":p+=parseInt(R(),10).toString(2);break;case"c":y=R(),typeof y=="string"||y instanceof String?p+=y:p+=String.fromCharCode(parseInt(y,10));break;case"d":p+=parseInt(R(),10);break;case"f":_=String(parseFloat(R()).toFixed(A||6)),p+=x?_:_.replace(/^0/,"");break;case"j":p+=JSON.stringify(R());break;case"o":p+="0"+parseInt(R(),10).toString(8);break;case"s":p+=R();break;case"x":p+="0x"+parseInt(R(),10).toString(16);break;case"X":p+="0x"+parseInt(R(),10).toString(16).toUpperCase();break;default:p+=h;break}else h==="%"?g=!0:p+=h;return p}})()});var Vr=ii((Rn,rl)=>{(function(e,r){typeof Rn=="object"&&typeof rl<"u"?r(Rn):typeof define=="function"&&define.amd?define(["exports"],r):(e=typeof globalThis<"u"?globalThis:e||self,r(e.wasmoon={}))})(Rn,(function(e){"use strict";var r=typeof document<"u"?document.currentScript:null;e.LuaReturn=void 0,(function(U){U[U.Ok=0]="Ok",U[U.Yield=1]="Yield",U[U.ErrorRun=2]="ErrorRun",U[U.ErrorSyntax=3]="ErrorSyntax",U[U.ErrorMem=4]="ErrorMem",U[U.ErrorErr=5]="ErrorErr",U[U.ErrorFile=6]="ErrorFile"})(e.LuaReturn||(e.LuaReturn={}));let t=4,i=-1,o=1e6,a=-o-1e3;e.LuaType=void 0,(function(U){U[U.None=-1]="None",U[U.Nil=0]="Nil",U[U.Boolean=1]="Boolean",U[U.LightUserdata=2]="LightUserdata",U[U.Number=3]="Number",U[U.String=4]="String",U[U.Table=5]="Table",U[U.Function=6]="Function",U[U.Userdata=7]="Userdata",U[U.Thread=8]="Thread"})(e.LuaType||(e.LuaType={})),e.LuaEventCodes=void 0,(function(U){U[U.Call=0]="Call",U[U.Ret=1]="Ret",U[U.Line=2]="Line",U[U.Count=3]="Count",U[U.TailCall=4]="TailCall"})(e.LuaEventCodes||(e.LuaEventCodes={})),e.LuaEventMasks=void 0,(function(U){U[U.Call=1]="Call",U[U.Ret=2]="Ret",U[U.Line=4]="Line",U[U.Count=8]="Count"})(e.LuaEventMasks||(e.LuaEventMasks={})),e.LuaLibraries=void 0,(function(U){U.Base="_G",U.Coroutine="coroutine",U.Table="table",U.IO="io",U.OS="os",U.String="string",U.UTF8="utf8",U.Math="math",U.Debug="debug",U.Package="package"})(e.LuaLibraries||(e.LuaLibraries={}));class u extends Error{}class c{constructor(l,m){this.target=l,this.options=m}}function f(U,l){return new c(U,l)}class p extends Number{}class h extends Array{}let g=1e3;class y{constructor(l,m,S,L){this.closed=!1,this.lua=l,this.typeExtensions=m,this.address=S,this.parent=L}newThread(){let l=this.lua.lua_newthread(this.address);if(!l)throw new Error("lua_newthread returned a null pointer");return new y(this.lua,this.typeExtensions,l,this.parent||this)}resetThread(){this.assertOk(this.lua.lua_resetthread(this.address))}loadString(l,m){let S=this.lua.module.lengthBytesUTF8(l),L=S+1,V=this.lua.module._malloc(L);try{this.lua.module.stringToUTF8(l,V,L),this.assertOk(this.lua.luaL_loadbufferx(this.address,V,S,m??V,null))}finally{this.lua.module._free(V)}}loadFile(l){this.assertOk(this.lua.luaL_loadfilex(this.address,l,null))}resume(l=0){let m=this.lua.module._malloc(t);try{return this.lua.module.setValue(m,0,"i32"),{result:this.lua.lua_resume(this.address,null,l,m),resultCount:this.lua.module.getValue(m,"i32")}}finally{this.lua.module._free(m)}}getTop(){return this.lua.lua_gettop(this.address)}setTop(l){this.lua.lua_settop(this.address,l)}remove(l){return this.lua.lua_remove(this.address,l)}setField(l,m,S){l=this.lua.lua_absindex(this.address,l),this.pushValue(S),this.lua.lua_setfield(this.address,l,m)}async run(l=0,m){let S=this.timeout;try{m?.timeout!==void 0&&this.setTimeout(Date.now()+m.timeout);let L=this.resume(l);for(;L.result===e.LuaReturn.Yield;){if(this.timeout&&Date.now()>this.timeout)throw L.resultCount>0&&this.pop(L.resultCount),new u("thread timeout exceeded");if(L.resultCount>0){let V=this.getValue(-1);this.pop(L.resultCount),V===Promise.resolve(V)?await V:await new Promise(Y=>setImmediate(Y))}else await new Promise(V=>setImmediate(V));L=this.resume(0)}return this.assertOk(L.result),this.getStackValues()}finally{m?.timeout!==void 0&&this.setTimeout(S)}}runSync(l=0){let m=this.getTop()-l-1;return this.assertOk(this.lua.lua_pcallk(this.address,l,i,0,0,null)),this.getStackValues(m)}pop(l=1){this.lua.lua_pop(this.address,l)}call(l,...m){let S=this.lua.lua_getglobal(this.address,l);if(S!==e.LuaType.Function)throw new Error(`A function of type '${S}' was pushed, expected is ${e.LuaType.Function}`);for(let V of m)this.pushValue(V);let L=this.getTop()-m.length-1;return this.lua.lua_callk(this.address,m.length,i,0,null),this.getStackValues(L)}getStackValues(l=0){let m=this.getTop()-l,S=new h(m);for(let L=0;L<m;L++)S[L]=this.getValue(l+L+1);return S}stateToThread(l){var m;return l===((m=this.parent)===null||m===void 0?void 0:m.address)?this.parent:new y(this.lua,this.typeExtensions,l,this.parent||this)}pushValue(l,m){let S=this.getValueDecorations(l),L=S.target;if(L instanceof y){this.lua.lua_pushthread(L.address)===1||this.lua.lua_xmove(L.address,this.address,1);return}let V=this.getTop();switch(typeof L){case"undefined":this.lua.lua_pushnil(this.address);break;case"number":Number.isInteger(L)?this.lua.lua_pushinteger(this.address,BigInt(L)):this.lua.lua_pushnumber(this.address,L);break;case"string":this.lua.lua_pushstring(this.address,L);break;case"boolean":this.lua.lua_pushboolean(this.address,L?1:0);break;default:if(!this.typeExtensions.find(Y=>Y.extension.pushValue(this,S,m)))throw new Error(`The type '${typeof L}' is not supported by Lua`)}if(S.options.metatable&&this.setMetatable(-1,S.options.metatable),this.getTop()!==V+1)throw new Error(`pushValue expected stack size ${V+1}, got ${this.getTop()}`)}setMetatable(l,m){if(l=this.lua.lua_absindex(this.address,l),this.lua.lua_getmetatable(this.address,l)){this.pop(1);let S=this.getMetatableName(l);throw new Error(`data already has associated metatable: ${S||"unknown name"}`)}this.pushValue(m),this.lua.lua_setmetatable(this.address,l)}getMetatableName(l){let m=this.lua.luaL_getmetafield(this.address,l,"__name");if(m===e.LuaType.Nil)return;if(m!==e.LuaType.String){this.pop(1);return}let S=this.lua.lua_tolstring(this.address,-1,null);return this.pop(1),S}getValue(l,m,S){l=this.lua.lua_absindex(this.address,l);let L=m??this.lua.lua_type(this.address,l);switch(L){case e.LuaType.None:return;case e.LuaType.Nil:return null;case e.LuaType.Number:return this.lua.lua_tonumberx(this.address,l,null);case e.LuaType.String:return this.lua.lua_tolstring(this.address,l,null);case e.LuaType.Boolean:return!!this.lua.lua_toboolean(this.address,l);case e.LuaType.Thread:return this.stateToThread(this.lua.lua_tothread(this.address,l));default:{let V;(L===e.LuaType.Table||L===e.LuaType.Userdata)&&(V=this.getMetatableName(l));let Y=this.typeExtensions.find(oe=>oe.extension.isType(this,l,L,V));return Y?Y.extension.getValue(this,l,S):(console.warn(`The type '${this.lua.lua_typename(this.address,L)}' returned is not supported on JS`),new p(this.lua.lua_topointer(this.address,l)))}}}close(){this.isClosed()||(this.hookFunctionPointer&&this.lua.module.removeFunction(this.hookFunctionPointer),this.closed=!0)}setTimeout(l){l&&l>0?(this.hookFunctionPointer||(this.hookFunctionPointer=this.lua.module.addFunction(()=>{Date.now()>l&&(this.pushValue(new u("thread timeout exceeded")),this.lua.lua_error(this.address))},"vii")),this.lua.lua_sethook(this.address,this.hookFunctionPointer,e.LuaEventMasks.Count,g),this.timeout=l):this.hookFunctionPointer&&(this.hookFunctionPointer=void 0,this.timeout=void 0,this.lua.lua_sethook(this.address,null,0,0))}getTimeout(){return this.timeout}getPointer(l){return new p(this.lua.lua_topointer(this.address,l))}isClosed(){var l;return!this.address||this.closed||!!(!((l=this.parent)===null||l===void 0)&&l.isClosed())}indexToString(l){let m=this.lua.luaL_tolstring(this.address,l,null);return this.pop(),m}dumpStack(l=console.log){let m=this.getTop();for(let S=1;S<=m;S++){let L=this.lua.lua_type(this.address,S),V=this.lua.lua_typename(this.address,L),Y=this.getPointer(S),oe=this.indexToString(S),X=this.getValue(S,L);l(S,V,Y,oe,X)}}assertOk(l){if(l!==e.LuaReturn.Ok&&l!==e.LuaReturn.Yield){let m=e.LuaReturn[l],S=new Error(`Lua Error(${m}/${l})`);if(this.getTop()>0)if(l===e.LuaReturn.ErrorMem)S.message=this.lua.lua_tolstring(this.address,-1,null);else{let L=this.getValue(-1);L instanceof Error&&(S.stack=L.stack),S.message=this.indexToString(-1)}if(l!==e.LuaReturn.ErrorMem)try{this.lua.luaL_traceback(this.address,this.address,null,1);let L=this.lua.lua_tolstring(this.address,-1,null);L.trim()!=="stack traceback:"&&(S.message=`${S.message}
3
+ ${L}`),this.pop(1)}catch(L){console.warn("Failed to generate stack trace",L)}throw S}}getValueDecorations(l){return l instanceof c?l:new c(l,{})}}class _ extends y{constructor(l,m){if(m){let S={memoryUsed:0},L=l.module.addFunction((Y,oe,X,de)=>{if(de===0)return oe&&(S.memoryUsed-=X,l.module._free(oe)),0;let pe=oe?de-X:de,_e=S.memoryUsed+pe;if(de>X&&S.memoryMax&&_e>S.memoryMax)return 0;let Ee=l.module._realloc(oe,de);return Ee&&(S.memoryUsed=_e),Ee},"iiiii"),V=l.lua_newstate(L,null);if(!V)throw l.module.removeFunction(L),new Error("lua_newstate returned a null pointer");super(l,[],V),this.memoryStats=S,this.allocatorFunctionPointer=L}else super(l,[],l.luaL_newstate());if(this.isClosed())throw new Error("Global state could not be created (probably due to lack of memory)")}close(){if(!this.isClosed()){super.close(),this.lua.lua_close(this.address),this.allocatorFunctionPointer&&this.lua.module.removeFunction(this.allocatorFunctionPointer);for(let l of this.typeExtensions)l.extension.close()}}registerTypeExtension(l,m){this.typeExtensions.push({extension:m,priority:l}),this.typeExtensions.sort((S,L)=>L.priority-S.priority)}loadLibrary(l){switch(l){case e.LuaLibraries.Base:this.lua.luaopen_base(this.address);break;case e.LuaLibraries.Coroutine:this.lua.luaopen_coroutine(this.address);break;case e.LuaLibraries.Table:this.lua.luaopen_table(this.address);break;case e.LuaLibraries.IO:this.lua.luaopen_io(this.address);break;case e.LuaLibraries.OS:this.lua.luaopen_os(this.address);break;case e.LuaLibraries.String:this.lua.luaopen_string(this.address);break;case e.LuaLibraries.UTF8:this.lua.luaopen_string(this.address);break;case e.LuaLibraries.Math:this.lua.luaopen_math(this.address);break;case e.LuaLibraries.Debug:this.lua.luaopen_debug(this.address);break;case e.LuaLibraries.Package:this.lua.luaopen_package(this.address);break}this.lua.lua_setglobal(this.address,l)}get(l){let m=this.lua.lua_getglobal(this.address,l),S=this.getValue(-1,m);return this.pop(),S}set(l,m){this.pushValue(m),this.lua.lua_setglobal(this.address,l)}getTable(l,m){let S=this.getTop(),L=this.lua.lua_getglobal(this.address,l);try{if(L!==e.LuaType.Table)throw new TypeError(`Unexpected type in ${l}. Expected ${e.LuaType[e.LuaType.Table]}. Got ${e.LuaType[L]}.`);m(S+1)}finally{this.getTop()!==S+1&&console.warn(`getTable: expected stack size ${S} got ${this.getTop()}`),this.setTop(S)}}getMemoryUsed(){return this.getMemoryStatsRef().memoryUsed}getMemoryMax(){return this.getMemoryStatsRef().memoryMax}setMemoryMax(l){this.getMemoryStatsRef().memoryMax=l}getMemoryStatsRef(){if(!this.memoryStats)throw new Error("Memory allocations is not being traced, please build engine with { traceAllocations: true }");return this.memoryStats}}class x{constructor(l,m){this.thread=l,this.name=m}isType(l,m,S,L){return S===e.LuaType.Userdata&&L===this.name}getValue(l,m,S){let L=l.lua.luaL_testudata(l.address,m,this.name);if(!L)throw new Error(`data does not have the expected metatable: ${this.name}`);let V=l.lua.module.getValue(L,"*");return l.lua.getRef(V)}pushValue(l,m,S){let{target:L}=m,V=l.lua.ref(L),Y=l.lua.lua_newuserdatauv(l.address,t,0);if(l.lua.module.setValue(Y,V,"*"),e.LuaType.Nil===l.lua.luaL_getmetatable(l.address,this.name))throw l.pop(2),new Error(`metatable not found: ${this.name}`);return l.lua.lua_setmetatable(l.address,-2),!0}}class A extends x{constructor(l,m){if(super(l,"js_error"),this.gcPointer=l.lua.module.addFunction(S=>{let L=l.lua.luaL_checkudata(S,1,this.name),V=l.lua.module.getValue(L,"*");return l.lua.unref(V),e.LuaReturn.Ok},"ii"),l.lua.luaL_newmetatable(l.address,this.name)){let S=l.lua.lua_gettop(l.address);l.lua.lua_pushstring(l.address,"protected metatable"),l.lua.lua_setfield(l.address,S,"__metatable"),l.lua.lua_pushcclosure(l.address,this.gcPointer,0),l.lua.lua_setfield(l.address,S,"__gc"),l.pushValue((L,V)=>V==="message"?L.message:null),l.lua.lua_setfield(l.address,S,"__index"),l.pushValue(L=>L.message),l.lua.lua_setfield(l.address,S,"__tostring")}l.lua.lua_pop(l.address,1),m&&l.set("Error",{create:S=>{if(S&&typeof S!="string")throw new Error("message must be a string");return new Error(S)}})}pushValue(l,m){return m.target instanceof Error?super.pushValue(l,m):!1}close(){this.thread.lua.module.removeFunction(this.gcPointer)}}function R(U,l){return new A(U,l)}class E{constructor(l){this.count=l}}function N(U,l){return new c(U,l)}class I extends x{constructor(l,m){super(l,"js_function"),this.functionRegistry=typeof FinalizationRegistry<"u"?new FinalizationRegistry(S=>{this.thread.isClosed()||this.thread.lua.luaL_unref(this.thread.address,a,S)}):void 0,this.options=m,this.callbackContext=l.newThread(),this.callbackContextIndex=this.thread.lua.luaL_ref(l.address,a),this.functionRegistry||console.warn("FunctionTypeExtension: FinalizationRegistry not found. Memory leaks likely."),this.gcPointer=l.lua.module.addFunction(S=>{l.lua.luaL_checkudata(S,1,this.name);let L=l.lua.luaL_checkudata(S,1,this.name),V=l.lua.module.getValue(L,"*");return l.lua.unref(V),e.LuaReturn.Ok},"ii"),l.lua.luaL_newmetatable(l.address,this.name)&&(l.lua.lua_pushstring(l.address,"__gc"),l.lua.lua_pushcclosure(l.address,this.gcPointer,0),l.lua.lua_settable(l.address,-3),l.lua.lua_pushstring(l.address,"__metatable"),l.lua.lua_pushstring(l.address,"protected metatable"),l.lua.lua_settable(l.address,-3)),l.lua.lua_pop(l.address,1),this.functionWrapper=l.lua.module.addFunction(S=>{let L=l.stateToThread(S),V=l.lua.luaL_checkudata(S,l.lua.lua_upvalueindex(1),this.name),Y=l.lua.module.getValue(V,"*"),{target:oe,options:X}=l.lua.getRef(Y),de=L.getTop(),pe=[];if(X.receiveThread&&pe.push(L),X.receiveArgsQuantity)pe.push(de);else for(let _e=1;_e<=de;_e++){let Ee=L.getValue(_e);(_e!==1||!X?.self||Ee!==X.self)&&pe.push(Ee)}try{let _e=oe.apply(X?.self,pe);if(_e===void 0)return 0;if(_e instanceof E)return _e.count;if(_e instanceof h){for(let Ee of _e)L.pushValue(Ee);return _e.length}else return L.pushValue(_e),1}catch(_e){if(_e===1/0)throw _e;return L.pushValue(_e),L.lua.lua_error(L.address)}},"ii")}close(){this.thread.lua.module.removeFunction(this.gcPointer),this.thread.lua.module.removeFunction(this.functionWrapper),this.callbackContext.close(),this.callbackContext.lua.luaL_unref(this.callbackContext.address,a,this.callbackContextIndex)}isType(l,m,S){return S===e.LuaType.Function}pushValue(l,m){if(typeof m.target!="function")return!1;let S=l.lua.ref(m),L=l.lua.lua_newuserdatauv(l.address,t,0);if(l.lua.module.setValue(L,S,"*"),e.LuaType.Nil===l.lua.luaL_getmetatable(l.address,this.name))throw l.pop(1),l.lua.unref(S),new Error(`metatable not found: ${this.name}`);return l.lua.lua_setmetatable(l.address,-2),l.lua.lua_pushcclosure(l.address,this.functionWrapper,1),!0}getValue(l,m){var S;l.lua.lua_pushvalue(l.address,m);let L=l.lua.luaL_ref(l.address,a),V=(...Y)=>{var oe;if(this.callbackContext.isClosed()){console.warn("Tried to call a function after closing lua state");return}let X=this.callbackContext.newThread();try{let de=X.lua.lua_rawgeti(X.address,a,BigInt(L));if(de!==e.LuaType.Function){let _e=X.lua.luaL_getmetafield(X.address,-1,"__call");if(X.pop(),_e!==e.LuaType.Function)throw new Error(`A value of type '${de}' was pushed but it is not callable`)}for(let _e of Y)X.pushValue(_e);!((oe=this.options)===null||oe===void 0)&&oe.functionTimeout&&X.setTimeout(Date.now()+this.options.functionTimeout);let pe=X.lua.lua_pcallk(X.address,Y.length,1,0,0,null);if(pe===e.LuaReturn.Yield)throw new Error("cannot yield in callbacks from javascript");return X.assertOk(pe),X.getTop()>0?X.getValue(-1):void 0}finally{X.close(),this.callbackContext.pop()}};return(S=this.functionRegistry)===null||S===void 0||S.register(V,L),V}}function $(U,l){return new I(U,l)}class W extends x{constructor(l){if(super(l,"js_null"),this.gcPointer=l.lua.module.addFunction(m=>{let S=l.lua.luaL_checkudata(m,1,this.name),L=l.lua.module.getValue(S,"*");return l.lua.unref(L),e.LuaReturn.Ok},"ii"),l.lua.luaL_newmetatable(l.address,this.name)){let m=l.lua.lua_gettop(l.address);l.lua.lua_pushstring(l.address,"protected metatable"),l.lua.lua_setfield(l.address,m,"__metatable"),l.lua.lua_pushcclosure(l.address,this.gcPointer,0),l.lua.lua_setfield(l.address,m,"__gc"),l.pushValue(()=>null),l.lua.lua_setfield(l.address,m,"__index"),l.pushValue(()=>"null"),l.lua.lua_setfield(l.address,m,"__tostring"),l.pushValue((S,L)=>S===L),l.lua.lua_setfield(l.address,m,"__eq")}l.lua.lua_pop(l.address,1),super.pushValue(l,new c({},{})),l.lua.lua_setglobal(l.address,"null")}getValue(l,m){if(!l.lua.luaL_testudata(l.address,m,this.name))throw new Error(`data does not have the expected metatable: ${this.name}`);return null}pushValue(l,m){return m?.target!==null?!1:(l.lua.lua_getglobal(l.address,"null"),!0)}close(){this.thread.lua.module.removeFunction(this.gcPointer)}}function P(U){return new W(U)}class G extends x{constructor(l,m){if(super(l,"js_promise"),this.gcPointer=l.lua.module.addFunction(S=>{let L=l.lua.luaL_checkudata(S,1,this.name),V=l.lua.module.getValue(L,"*");return l.lua.unref(V),e.LuaReturn.Ok},"ii"),l.lua.luaL_newmetatable(l.address,this.name)){let S=l.lua.lua_gettop(l.address);l.lua.lua_pushstring(l.address,"protected metatable"),l.lua.lua_setfield(l.address,S,"__metatable"),l.lua.lua_pushcclosure(l.address,this.gcPointer,0),l.lua.lua_setfield(l.address,S,"__gc");let L=V=>{if(Promise.resolve(V)!==V&&typeof V.then!="function")throw new Error("promise method called without self instance");return!0};l.pushValue({next:(V,...Y)=>L(V)&&V.then(...Y),catch:(V,...Y)=>L(V)&&V.catch(...Y),finally:(V,...Y)=>L(V)&&V.finally(...Y),await:N((V,Y)=>{if(L(Y),V.address===l.address)throw new Error("cannot await in the main thread");let oe,X=Y.then(pe=>{oe={status:"fulfilled",value:pe}}).catch(pe=>{oe={status:"rejected",value:pe}}),de=this.thread.lua.module.addFunction(pe=>{if(!oe)return l.lua.lua_yieldk(V.address,0,0,de);this.thread.lua.module.removeFunction(de);let _e=l.stateToThread(pe);if(oe.status==="rejected")return _e.pushValue(oe.value||new Error("promise rejected with no error")),this.thread.lua.lua_error(pe);if(oe.value instanceof E)return oe.value.count;if(oe.value instanceof h){for(let Ee of oe.value)_e.pushValue(Ee);return oe.value.length}else return _e.pushValue(oe.value),1},"iiii");return V.pushValue(X),new E(l.lua.lua_yieldk(V.address,1,0,de))},{receiveThread:!0})}),l.lua.lua_setfield(l.address,S,"__index"),l.pushValue((V,Y)=>V===Y),l.lua.lua_setfield(l.address,S,"__eq")}l.lua.lua_pop(l.address,1),m&&l.set("Promise",{create:S=>new Promise(S),all:S=>{if(!Array.isArray(S))throw new Error("argument must be an array of promises");return Promise.all(S.map(L=>Promise.resolve(L)))},resolve:S=>Promise.resolve(S)})}close(){this.thread.lua.module.removeFunction(this.gcPointer)}pushValue(l,m){return Promise.resolve(m.target)!==m.target&&typeof m.target.then!="function"?!1:super.pushValue(l,m)}}function ae(U,l){return new G(U,l)}function j(U,l){return new c(U,l||{})}class F extends x{constructor(l){if(super(l,"js_proxy"),this.gcPointer=l.lua.module.addFunction(m=>{let S=l.lua.luaL_checkudata(m,1,this.name),L=l.lua.module.getValue(S,"*");return l.lua.unref(L),e.LuaReturn.Ok},"ii"),l.lua.luaL_newmetatable(l.address,this.name)){let m=l.lua.lua_gettop(l.address);l.lua.lua_pushstring(l.address,"protected metatable"),l.lua.lua_setfield(l.address,m,"__metatable"),l.lua.lua_pushcclosure(l.address,this.gcPointer,0),l.lua.lua_setfield(l.address,m,"__gc"),l.pushValue((S,L)=>{switch(typeof L){case"number":L=L-1;case"string":break;default:throw new Error("Only strings or numbers can index js objects")}let V=S[L];return typeof V=="function"?N(V,{self:S}):V}),l.lua.lua_setfield(l.address,m,"__index"),l.pushValue((S,L,V)=>{switch(typeof L){case"number":L=L-1;case"string":break;default:throw new Error("Only strings or numbers can index js objects")}S[L]=V}),l.lua.lua_setfield(l.address,m,"__newindex"),l.pushValue(S=>{var L,V;return(V=(L=S.toString)===null||L===void 0?void 0:L.call(S))!==null&&V!==void 0?V:typeof S}),l.lua.lua_setfield(l.address,m,"__tostring"),l.pushValue(S=>S.length||0),l.lua.lua_setfield(l.address,m,"__len"),l.pushValue(S=>{let L=Object.getOwnPropertyNames(S),V=0;return h.of(()=>{let Y=h.of(L[V],S[L[V]]);return V++,Y},S,null)}),l.lua.lua_setfield(l.address,m,"__pairs"),l.pushValue((S,L)=>S===L),l.lua.lua_setfield(l.address,m,"__eq"),l.pushValue((S,...L)=>(L[0]===S&&L.shift(),S(...L))),l.lua.lua_setfield(l.address,m,"__call")}l.lua.lua_pop(l.address,1)}isType(l,m,S,L){return S===e.LuaType.Userdata&&L===this.name}getValue(l,m){let S=l.lua.lua_touserdata(l.address,m),L=l.lua.module.getValue(S,"*");return l.lua.getRef(L)}pushValue(l,m){var S;let{target:L,options:V}=m;if(V.proxy===void 0){if(L==null||typeof L!="object"&&!(typeof L=="function"&&((S=L.prototype)===null||S===void 0?void 0:S.constructor)===L&&L.toString().startsWith("class "))||Promise.resolve(L)===L||typeof L.then=="function")return!1}else if(V.proxy===!1)return!1;return V.metatable&&!(V.metatable instanceof c)?(m.options.metatable=j(V.metatable,{proxy:!1}),!1):super.pushValue(l,m)}close(){this.thread.lua.module.removeFunction(this.gcPointer)}}function ye(U){return new F(U)}class se extends x{constructor(l){super(l,"js_table")}close(){}isType(l,m,S){return S===e.LuaType.Table}getValue(l,m,S){let L=S||new Map,V=l.lua.lua_topointer(l.address,m),Y=L.get(V);if(!Y){let oe=this.readTableKeys(l,m);Y=oe.length>0&&oe.every((de,pe)=>de===String(pe+1))?[]:{},L.set(V,Y),this.readTableValues(l,m,L,Y)}return Y}pushValue(l,{target:m},S){if(typeof m!="object"||m===null)return!1;let L=S||new Map,V=L.get(m);if(V!==void 0)return l.lua.lua_rawgeti(l.address,a,BigInt(V)),!0;try{let Y=l.getTop()+1,oe=(X,de)=>{l.lua.lua_createtable(l.address,X,de);let pe=l.lua.luaL_ref(l.address,a);L.set(m,pe),l.lua.lua_rawgeti(l.address,a,BigInt(pe))};if(Array.isArray(m)){oe(m.length,0);for(let X=0;X<m.length;X++)l.pushValue(X+1,L),l.pushValue(m[X],L),l.lua.lua_settable(l.address,Y)}else{oe(0,Object.getOwnPropertyNames(m).length);for(let X in m)l.pushValue(X,L),l.pushValue(m[X],L),l.lua.lua_settable(l.address,Y)}}finally{if(S===void 0)for(let Y of L.values())l.lua.luaL_unref(l.address,a,Y)}return!0}readTableKeys(l,m){let S=[];for(l.lua.lua_pushnil(l.address);l.lua.lua_next(l.address,m);){let L=l.indexToString(-2);S.push(L),l.pop()}return S}readTableValues(l,m,S,L){let V=Array.isArray(L);for(l.lua.lua_pushnil(l.address);l.lua.lua_next(l.address,m);){let Y=l.indexToString(-2),oe=l.getValue(-1,void 0,S);V?L.push(oe):L[Y]=oe,l.pop()}}}function H(U){return new se(U)}function ne(U){return new c(U,{reference:!0})}class T extends x{constructor(l){if(super(l,"js_userdata"),this.gcPointer=l.lua.module.addFunction(m=>{let S=l.lua.luaL_checkudata(m,1,this.name),L=l.lua.module.getValue(S,"*");return l.lua.unref(L),e.LuaReturn.Ok},"ii"),l.lua.luaL_newmetatable(l.address,this.name)){let m=l.lua.lua_gettop(l.address);l.lua.lua_pushstring(l.address,"protected metatable"),l.lua.lua_setfield(l.address,m,"__metatable"),l.lua.lua_pushcclosure(l.address,this.gcPointer,0),l.lua.lua_setfield(l.address,m,"__gc")}l.lua.lua_pop(l.address,1)}isType(l,m,S,L){return S===e.LuaType.Userdata&&L===this.name}getValue(l,m){let S=l.lua.lua_touserdata(l.address,m),L=l.lua.module.getValue(S,"*");return l.lua.getRef(L)}pushValue(l,m){return m.options.reference?super.pushValue(l,m):!1}close(){this.thread.lua.module.removeFunction(this.gcPointer)}}function fe(U){return new T(U)}class Te{constructor(l,{openStandardLibs:m=!0,injectObjects:S=!1,enableProxy:L=!0,traceAllocations:V=!1,functionTimeout:Y=void 0}={}){this.cmodule=l,this.global=new _(this.cmodule,V),this.global.registerTypeExtension(0,H(this.global)),this.global.registerTypeExtension(0,$(this.global,{functionTimeout:Y})),this.global.registerTypeExtension(1,ae(this.global,S)),S&&this.global.registerTypeExtension(5,P(this.global)),L?this.global.registerTypeExtension(3,ye(this.global)):this.global.registerTypeExtension(1,R(this.global,S)),this.global.registerTypeExtension(4,fe(this.global)),m&&this.cmodule.luaL_openlibs(this.global.address)}doString(l){return this.callByteCode(m=>m.loadString(l))}doFile(l){return this.callByteCode(m=>m.loadFile(l))}doStringSync(l){return this.global.loadString(l),this.global.runSync()[0]}doFileSync(l){return this.global.loadFile(l),this.global.runSync()[0]}async callByteCode(l){let m=this.global.newThread(),S=this.global.getTop();try{l(m);let L=await m.run(0);return L.length>0?(this.cmodule.lua_xmove(m.address,this.global.address,L.length),this.global.getValue(this.global.getTop()-L.length+1)):void 0}finally{this.global.remove(S)}}}var He=(()=>{var U=typeof document>"u"&&typeof location>"u"?Lr("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:r&&r.src||new URL("index.js",document.baseURI).href;return(async function(l={}){var m=l,S,L;m.ready=new Promise((n,s)=>{S=n,L=s}),"_malloc _free _realloc _luaL_checkversion_ _luaL_getmetafield _luaL_callmeta _luaL_tolstring _luaL_argerror _luaL_typeerror _luaL_checklstring _luaL_optlstring _luaL_checknumber _luaL_optnumber _luaL_checkinteger _luaL_optinteger _luaL_checkstack _luaL_checktype _luaL_checkany _luaL_newmetatable _luaL_setmetatable _luaL_testudata _luaL_checkudata _luaL_where _luaL_fileresult _luaL_execresult _luaL_ref _luaL_unref _luaL_loadfilex _luaL_loadbufferx _luaL_loadstring _luaL_newstate _luaL_len _luaL_addgsub _luaL_gsub _luaL_setfuncs _luaL_getsubtable _luaL_traceback _luaL_requiref _luaL_buffinit _luaL_prepbuffsize _luaL_addlstring _luaL_addstring _luaL_addvalue _luaL_pushresult _luaL_pushresultsize _luaL_buffinitsize _lua_newstate _lua_close _lua_newthread _lua_resetthread _lua_atpanic _lua_version _lua_absindex _lua_gettop _lua_settop _lua_pushvalue _lua_rotate _lua_copy _lua_checkstack _lua_xmove _lua_isnumber _lua_isstring _lua_iscfunction _lua_isinteger _lua_isuserdata _lua_type _lua_typename _lua_tonumberx _lua_tointegerx _lua_toboolean _lua_tolstring _lua_rawlen _lua_tocfunction _lua_touserdata _lua_tothread _lua_topointer _lua_arith _lua_rawequal _lua_compare _lua_pushnil _lua_pushnumber _lua_pushinteger _lua_pushlstring _lua_pushstring _lua_pushcclosure _lua_pushboolean _lua_pushlightuserdata _lua_pushthread _lua_getglobal _lua_gettable _lua_getfield _lua_geti _lua_rawget _lua_rawgeti _lua_rawgetp _lua_createtable _lua_newuserdatauv _lua_getmetatable _lua_getiuservalue _lua_setglobal _lua_settable _lua_setfield _lua_seti _lua_rawset _lua_rawseti _lua_rawsetp _lua_setmetatable _lua_setiuservalue _lua_callk _lua_pcallk _lua_load _lua_dump _lua_yieldk _lua_resume _lua_status _lua_isyieldable _lua_setwarnf _lua_warning _lua_error _lua_next _lua_concat _lua_len _lua_stringtonumber _lua_getallocf _lua_setallocf _lua_toclose _lua_closeslot _lua_getstack _lua_getinfo _lua_getlocal _lua_setlocal _lua_getupvalue _lua_setupvalue _lua_upvalueid _lua_upvaluejoin _lua_sethook _lua_gethook _lua_gethookmask _lua_gethookcount _lua_setcstacklimit _luaopen_base _luaopen_coroutine _luaopen_table _luaopen_io _luaopen_os _luaopen_string _luaopen_utf8 _luaopen_math _luaopen_debug _luaopen_package _luaL_openlibs _memory ___indirect_function_table _fflush onRuntimeInitialized".split(" ").forEach(n=>{Object.getOwnPropertyDescriptor(m.ready,n)||Object.defineProperty(m.ready,n,{get:()=>Le("You are getting "+n+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>Le("You are setting "+n+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})});var V=Object.assign({},m),Y="./this.program",oe=(n,s)=>{throw s},X=typeof window=="object",de=typeof importScripts=="function",pe=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",_e=!X&&!pe&&!de;if(m.ENVIRONMENT)throw Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var Ee="",at,st,ut;if(pe){if(typeof process>"u"||!process.release||process.release.name!=="node")throw Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var Hr=process.versions.node,_t=Hr.split(".").slice(0,3);if(_t=1e4*_t[0]+100*_t[1]+1*_t[2].split("-")[0],16e4>_t)throw Error("This emscripten-generated code requires node v16.0.0 (detected v"+Hr+")");let{createRequire:n}=await import("module");var lt=n(typeof document>"u"&&typeof location>"u"?Lr("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:r&&r.src||new URL("index.js",document.baseURI).href),yr=lt("fs"),wr=lt("path");de?Ee=wr.dirname(Ee)+"/":Ee=lt("url").fileURLToPath(new URL("./",typeof document>"u"&&typeof location>"u"?Lr("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:r&&r.src||new URL("index.js",document.baseURI).href)),at=(s,d)=>(s=vr(s)?new URL(s):wr.normalize(s),yr.readFileSync(s,d?void 0:"utf8")),ut=s=>(s=at(s,!0),s.buffer||(s=new Uint8Array(s)),M(s.buffer),s),st=(s,d,b,k=!0)=>{s=vr(s)?new URL(s):wr.normalize(s),yr.readFile(s,k?void 0:"utf8",(C,z)=>{C?b(C):d(k?z.buffer:z)})},!m.thisProgram&&1<process.argv.length&&(Y=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),oe=(s,d)=>{throw process.exitCode=s,d},m.inspect=()=>"[Emscripten Module object]"}else if(_e){if(typeof process=="object"&&typeof lt=="function"||typeof window=="object"||typeof importScripts=="function")throw Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");typeof read<"u"&&(at=read),ut=n=>typeof readbuffer=="function"?new Uint8Array(readbuffer(n)):(n=read(n,"binary"),M(typeof n=="object"),n),st=(n,s)=>{setTimeout(()=>s(ut(n)))},typeof clearTimeout>"u"&&(globalThis.clearTimeout=()=>{}),typeof setTimeout>"u"&&(globalThis.setTimeout=n=>typeof n=="function"?n():Le()),typeof quit=="function"&&(oe=(n,s)=>{throw setTimeout(()=>{if(!(s instanceof ka)){let d=s;s&&typeof s=="object"&&s.stack&&(d=[s,s.stack]),Se(`exiting due to exception: ${d}`)}quit(n)}),s}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print)}else if(X||de){if(de?Ee=self.location.href:typeof document<"u"&&document.currentScript&&(Ee=document.currentScript.src),U&&(Ee=U),Ee.indexOf("blob:")!==0?Ee=Ee.substr(0,Ee.replace(/[?#].*/,"").lastIndexOf("/")+1):Ee="",typeof window!="object"&&typeof importScripts!="function")throw Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");at=n=>{var s=new XMLHttpRequest;return s.open("GET",n,!1),s.send(null),s.responseText},de&&(ut=n=>{var s=new XMLHttpRequest;return s.open("GET",n,!1),s.responseType="arraybuffer",s.send(null),new Uint8Array(s.response)}),st=(n,s,d)=>{var b=new XMLHttpRequest;b.open("GET",n,!0),b.responseType="arraybuffer",b.onload=()=>{b.status==200||b.status==0&&b.response?s(b.response):d()},b.onerror=d,b.send(null)}}else throw Error("environment detection error");var yt=console.log.bind(console),Se=console.error.bind(console);Object.assign(m,V),V=null,ie("ENVIRONMENT"),ie("GL_MAX_TEXTURE_IMAGE_UNITS"),ie("SDL_canPlayWithWebAudio"),ie("SDL_numSimultaneouslyQueuedBuffers"),ie("INITIAL_MEMORY"),ie("wasmMemory"),ie("arguments"),ie("buffer"),ie("canvas"),ie("doNotCaptureKeyboard"),ie("dynamicLibraries"),ie("elementPointerLock"),ie("extraStackTrace"),ie("forcedAspectRatio"),ie("instantiateWasm"),ie("keyboardListeningElement"),ie("freePreloadedMediaOnUse"),ie("loadSplitModule"),ie("logReadFiles"),ie("mainScriptUrlOrBlob"),ie("mem"),ie("monitorRunDependencies"),ie("noExitRuntime"),ie("noInitialRun"),ie("onAbort"),ie("onCustomMessage"),ie("onExit"),ie("onFree"),ie("onFullScreen"),ie("onMalloc"),ie("onRealloc"),ie("onRuntimeInitialized"),ie("postMainLoop"),ie("postRun"),ie("preInit"),ie("preMainLoop"),ie("preinitializedWebGLContext"),ie("memoryInitializerRequest"),ie("preloadPlugins"),ie("print"),ie("printErr"),ie("quit"),ie("setStatus"),ie("statusMessage"),ie("stderr"),ie("stdin"),ie("stdout"),ie("thisProgram"),ie("wasm"),ie("wasmBinary"),ie("websocket"),ie("fetchSettings"),ft("arguments","arguments_"),ft("thisProgram","thisProgram"),ft("quit","quit_"),M(typeof m.memoryInitializerPrefixURL>"u","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),M(typeof m.pthreadMainPrefixURL>"u","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),M(typeof m.cdInitializerPrefixURL>"u","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),M(typeof m.filePackagePrefixURL>"u","Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),M(typeof m.read>"u","Module.read option was removed (modify read_ in JS)"),M(typeof m.readAsync>"u","Module.readAsync option was removed (modify readAsync in JS)"),M(typeof m.readBinary>"u","Module.readBinary option was removed (modify readBinary in JS)"),M(typeof m.setWindowTitle>"u","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),M(typeof m.TOTAL_MEMORY>"u","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),ft("asm","wasmExports"),ft("read","read_"),ft("readAsync","readAsync"),ft("readBinary","readBinary"),ft("setWindowTitle","setWindowTitle"),M(!_e,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."),ft("wasmBinary","wasmBinary"),typeof WebAssembly!="object"&&Le("no native wasm support detected");var Ct,B=!1;function M(n,s){n||Le("Assertion failed"+(s?": "+s:""))}var Z,he,ke,J,xe,Ge,tt,ct;function Pe(){var n=Ct.buffer;m.HEAP8=Z=new Int8Array(n),m.HEAP16=ke=new Int16Array(n),m.HEAPU8=he=new Uint8Array(n),m.HEAPU16=new Uint16Array(n),m.HEAP32=J=new Int32Array(n),m.HEAPU32=xe=new Uint32Array(n),m.HEAPF32=Ge=new Float32Array(n),m.HEAPF64=ct=new Float64Array(n),m.HEAP64=tt=new BigInt64Array(n),m.HEAPU64=new BigUint64Array(n)}M(!m.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),M(typeof Int32Array<"u"&&typeof Float64Array<"u"&&Int32Array.prototype.subarray!=null&&Int32Array.prototype.set!=null,"JS engine does not provide full typed array support"),M(!m.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),M(!m.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function rt(){if(!B){var n=ti();n==0&&(n+=4);var s=xe[n>>2],d=xe[n+4>>2];s==34821223&&d==2310721022||Le(`Stack overflow! Stack cookie has been overwritten at ${Er(n)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${Er(d)} ${Er(s)}`),xe[0]!=1668509029&&Le("Runtime error: The application has corrupted its heap memory area (address zero)!")}}var Je=new Int16Array(1),fa=new Int8Array(Je.buffer);if(Je[0]=25459,fa[0]!==115||fa[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)";var Mn=[],Nn=[],da=[],On=!1;M(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var kr=0,It=null,xr=null,Qt={};function pa(n){for(var s=n;;){if(!Qt[n])return n;n=s+Math.random()}}function Bn(n){kr++,n?(M(!Qt[n]),Qt[n]=1,It===null&&typeof setInterval<"u"&&(It=setInterval(()=>{if(B)clearInterval(It),It=null;else{var s=!1,d;for(d in Qt)s||(s=!0,Se("still waiting on run dependencies:")),Se(`dependency: ${d}`);s&&Se("(end of list)")}},1e4))):Se("warning: run dependency added without ID")}function Gr(n){kr--,n?(M(Qt[n]),delete Qt[n]):Se("warning: run dependency removed without ID"),kr==0&&(It!==null&&(clearInterval(It),It=null),xr&&(n=xr,xr=null,n()))}function Le(n){throw n="Aborted("+n+")",Se(n),B=!0,n=new WebAssembly.RuntimeError(n),L(n),n}var ma=n=>n.startsWith("data:application/octet-stream;base64,"),vr=n=>n.startsWith("file://");function D(n){return function(){M(On,`native function \`${n}\` called before runtime initialization`);var s=Bt[n];return M(s,`exported native function \`${n}\` not found`),s.apply(null,arguments)}}var wt;if(m.locateFile){if(wt="glue.wasm",!ma(wt)){var ha=wt;wt=m.locateFile?m.locateFile(ha,Ee):Ee+ha}}else wt=new URL("glue.wasm",typeof document>"u"&&typeof location>"u"?Lr("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:r&&r.src||new URL("index.js",document.baseURI).href).href;function ga(n){if(ut)return ut(n);throw"both async and sync fetching of the wasm failed"}function gl(n){if(X||de){if(typeof fetch=="function"&&!vr(n))return fetch(n,{credentials:"same-origin"}).then(s=>{if(!s.ok)throw"failed to load wasm binary file at '"+n+"'";return s.arrayBuffer()}).catch(()=>ga(n));if(st)return new Promise((s,d)=>{st(n,b=>s(new Uint8Array(b)),d)})}return Promise.resolve().then(()=>ga(n))}function ba(n,s,d){return gl(n).then(b=>WebAssembly.instantiate(b,s)).then(b=>b).then(d,b=>{Se(`failed to asynchronously prepare wasm: ${b}`),vr(wt)&&Se(`warning: Loading from a file URI (${wt}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),Le(b)})}function bl(n,s){var d=wt;return typeof WebAssembly.instantiateStreaming!="function"||ma(d)||vr(d)||pe||typeof fetch!="function"?ba(d,n,s):fetch(d,{credentials:"same-origin"}).then(b=>WebAssembly.instantiateStreaming(b,n).then(s,function(k){return Se(`wasm streaming compile failed: ${k}`),Se("falling back to ArrayBuffer instantiation"),ba(d,n,s)}))}function ft(n,s){Object.getOwnPropertyDescriptor(m,n)||Object.defineProperty(m,n,{configurable:!0,get(){Le(`\`Module.${n}\` has been replaced by \`${s}\` (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)`)}})}function ie(n){Object.getOwnPropertyDescriptor(m,n)&&Le(`\`Module.${n}\` was supplied but \`${n}\` not included in INCOMING_MODULE_JS_API`)}function _a(n){return n==="FS_createPath"||n==="FS_createDataFile"||n==="FS_createPreloadedFile"||n==="FS_unlink"||n==="addRunDependency"||n==="FS_createLazyFile"||n==="FS_createDevice"||n==="removeRunDependency"}function ya(n,s){typeof globalThis<"u"&&Object.defineProperty(globalThis,n,{configurable:!0,get(){er(`\`${n}\` is not longer defined by emscripten. ${s}`)}})}ya("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),ya("asm","Please use wasmExports instead");function wa(n){Object.getOwnPropertyDescriptor(m,n)||Object.defineProperty(m,n,{configurable:!0,get(){var s=`'${n}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;_a(n)&&(s+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),Le(s)}})}function ka(n){this.name="ExitStatus",this.message=`Program terminated with exit(${n})`,this.status=n}var Er=n=>(M(typeof n=="number"),"0x"+(n>>>0).toString(16).padStart(8,"0")),er=n=>{zn||={},zn[n]||(zn[n]=1,pe&&(n="warning: "+n),Se(n))},zn,xa=(n,s)=>{for(var d=0,b=n.length-1;0<=b;b--){var k=n[b];k==="."?n.splice(b,1):k===".."?(n.splice(b,1),d++):d&&(n.splice(b,1),d--)}if(s)for(;d;d--)n.unshift("..");return n},dt=n=>{var s=n.charAt(0)==="/",d=n.substr(-1)==="/";return(n=xa(n.split("/").filter(b=>!!b),!s).join("/"))||s||(n="."),n&&d&&(n+="/"),(s?"/":"")+n},Un=n=>{var s=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(n).slice(1);return n=s[0],s=s[1],!n&&!s?".":(s&&=s.substr(0,s.length-1),n+s)},Dt=n=>{if(n==="/")return"/";n=dt(n),n=n.replace(/\/$/,"");var s=n.lastIndexOf("/");return s===-1?n:n.substr(s+1)},_l=(n,s)=>dt(n+"/"+s),yl=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return d=>crypto.getRandomValues(d);if(pe)try{var n=lt("crypto");if(n.randomFillSync)return d=>n.randomFillSync(d);var s=n.randomBytes;return d=>(d.set(s(d.byteLength)),d)}catch{}Le("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")},va=n=>(va=yl())(n);function Ft(){for(var n="",s=!1,d=arguments.length-1;-1<=d&&!s;d--){if(s=0<=d?arguments[d]:w.cwd(),typeof s!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!s)return"";n=s+"/"+n,s=s.charAt(0)==="/"}return n=xa(n.split("/").filter(b=>!!b),!s).join("/"),(s?"/":"")+n||"."}var Ea=(n,s)=>{function d(z){for(var Q=0;Q<z.length&&z[Q]==="";Q++);for(var ge=z.length-1;0<=ge&&z[ge]==="";ge--);return Q>ge?[]:z.slice(Q,ge-Q+1)}n=Ft(n).substr(1),s=Ft(s).substr(1),n=d(n.split("/")),s=d(s.split("/"));for(var b=Math.min(n.length,s.length),k=b,C=0;C<b;C++)if(n[C]!==s[C]){k=C;break}for(b=[],C=k;C<n.length;C++)b.push("..");return b=b.concat(s.slice(k)),b.join("/")},Sa=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,tr=(n,s)=>{for(var d=s+NaN,b=s;n[b]&&!(b>=d);)++b;if(16<b-s&&n.buffer&&Sa)return Sa.decode(n.subarray(s,b));for(d="";s<b;){var k=n[s++];if(k&128){var C=n[s++]&63;if((k&224)==192)d+=String.fromCharCode((k&31)<<6|C);else{var z=n[s++]&63;(k&240)==224?k=(k&15)<<12|C<<6|z:((k&248)!=240&&er("Invalid UTF-8 leading byte "+Er(k)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),k=(k&7)<<18|C<<12|z<<6|n[s++]&63),65536>k?d+=String.fromCharCode(k):(k-=65536,d+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else d+=String.fromCharCode(k)}return d},Vn=[],rr=n=>{for(var s=0,d=0;d<n.length;++d){var b=n.charCodeAt(d);127>=b?s++:2047>=b?s+=2:55296<=b&&57343>=b?(s+=4,++d):s+=3}return s},jn=(n,s,d,b)=>{if(M(typeof n=="string",`stringToUTF8Array expects a string (got ${typeof n})`),!(0<b))return 0;var k=d;b=d+b-1;for(var C=0;C<n.length;++C){var z=n.charCodeAt(C);if(55296<=z&&57343>=z){var Q=n.charCodeAt(++C);z=65536+((z&1023)<<10)|Q&1023}if(127>=z){if(d>=b)break;s[d++]=z}else{if(2047>=z){if(d+1>=b)break;s[d++]=192|z>>6}else{if(65535>=z){if(d+2>=b)break;s[d++]=224|z>>12}else{if(d+3>=b)break;1114111<z&&er("Invalid Unicode code point "+Er(z)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),s[d++]=240|z>>18,s[d++]=128|z>>12&63}s[d++]=128|z>>6&63}s[d++]=128|z&63}}return s[d]=0,d-k};function $r(n,s){var d=Array(rr(n)+1);return n=jn(n,d,0,d.length),s&&(d.length=n),d}var qn=[];function La(n,s){qn[n]={input:[],output:[],K:s},Gn(n,wl)}var wl={open(n){var s=qn[n.node.rdev];if(!s)throw new w.g(43);n.tty=s,n.seekable=!1},close(n){n.tty.K.fsync(n.tty)},fsync(n){n.tty.K.fsync(n.tty)},read(n,s,d,b){if(!n.tty||!n.tty.K.ra)throw new w.g(60);for(var k=0,C=0;C<b;C++){try{var z=n.tty.K.ra(n.tty)}catch{throw new w.g(29)}if(z===void 0&&k===0)throw new w.g(6);if(z==null)break;k++,s[d+C]=z}return k&&(n.node.timestamp=Date.now()),k},write(n,s,d,b){if(!n.tty||!n.tty.K.ia)throw new w.g(60);try{for(var k=0;k<b;k++)n.tty.K.ia(n.tty,s[d+k])}catch{throw new w.g(29)}return b&&(n.node.timestamp=Date.now()),k}},kl={ra(){e:{if(!Vn.length){var n=null;if(pe){var s=Buffer.alloc(256),d=0,b=process.stdin.fd;try{d=yr.readSync(b,s)}catch(k){if(k.toString().includes("EOF"))d=0;else throw k}0<d?n=s.slice(0,d).toString("utf-8"):n=null}else typeof window<"u"&&typeof window.prompt=="function"?(n=window.prompt("Input: "),n!==null&&(n+=`
4
+ `)):typeof readline=="function"&&(n=readline(),n!==null&&(n+=`
5
+ `));if(!n){n=null;break e}Vn=$r(n,!0)}n=Vn.shift()}return n},ia(n,s){s===null||s===10?(yt(tr(n.output,0)),n.output=[]):s!=0&&n.output.push(s)},fsync(n){n.output&&0<n.output.length&&(yt(tr(n.output,0)),n.output=[])},Ia(){return{ab:25856,cb:5,$a:191,bb:35387,Za:[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]}},Ja(){return 0},Ka(){return[24,80]}},xl={ia(n,s){s===null||s===10?(Se(tr(n.output,0)),n.output=[]):s!=0&&n.output.push(s)},fsync(n){n.output&&0<n.output.length&&(Se(tr(n.output,0)),n.output=[])}},Ta=()=>{Le("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")};function Aa(n,s){var d=n.m?n.m.length:0;d>=s||(s=Math.max(s,d*(1048576>d?2:1.125)>>>0),d!=0&&(s=Math.max(s,256)),d=n.m,n.m=new Uint8Array(s),0<n.o&&n.m.set(d.subarray(0,n.o),0))}var be={G:null,s(){return be.createNode(null,"/",16895,0)},createNode(n,s,d,b){if((d&61440)===24576||w.isFIFO(d))throw new w.g(63);return be.G||(be.G={dir:{node:{C:be.h.C,v:be.h.v,lookup:be.h.lookup,J:be.h.J,rename:be.h.rename,unlink:be.h.unlink,rmdir:be.h.rmdir,readdir:be.h.readdir,symlink:be.h.symlink},stream:{D:be.l.D}},file:{node:{C:be.h.C,v:be.h.v},stream:{D:be.l.D,read:be.l.read,write:be.l.write,T:be.l.T,S:be.l.S,V:be.l.V}},link:{node:{C:be.h.C,v:be.h.v,readlink:be.h.readlink},stream:{}},na:{node:{C:be.h.C,v:be.h.v},stream:w.Da}}),d=w.createNode(n,s,d,b),Ue(d.mode)?(d.h=be.G.dir.node,d.l=be.G.dir.stream,d.m={}):w.isFile(d.mode)?(d.h=be.G.file.node,d.l=be.G.file.stream,d.o=0,d.m=null):(d.mode&61440)===40960?(d.h=be.G.link.node,d.l=be.G.link.stream):(d.mode&61440)===8192&&(d.h=be.G.na.node,d.l=be.G.na.stream),d.timestamp=Date.now(),n&&(n.m[s]=d,n.timestamp=d.timestamp),d},lb(n){return n.m?n.m.subarray?n.m.subarray(0,n.o):new Uint8Array(n.m):new Uint8Array(0)},h:{C(n){var s={};return s.dev=(n.mode&61440)===8192?n.id:1,s.ino=n.id,s.mode=n.mode,s.nlink=1,s.uid=0,s.gid=0,s.rdev=n.rdev,Ue(n.mode)?s.size=4096:w.isFile(n.mode)?s.size=n.o:(n.mode&61440)===40960?s.size=n.link.length:s.size=0,s.atime=new Date(n.timestamp),s.mtime=new Date(n.timestamp),s.ctime=new Date(n.timestamp),s.Ba=4096,s.blocks=Math.ceil(s.size/s.Ba),s},v(n,s){if(s.mode!==void 0&&(n.mode=s.mode),s.timestamp!==void 0&&(n.timestamp=s.timestamp),s.size!==void 0&&(s=s.size,n.o!=s))if(s==0)n.m=null,n.o=0;else{var d=n.m;n.m=new Uint8Array(s),d&&n.m.set(d.subarray(0,Math.min(s,n.o))),n.o=s}},lookup(){throw w.da[44]},J(n,s,d,b){return be.createNode(n,s,d,b)},rename(n,s,d){if(Ue(n.mode)){try{var b=pt(s,d)}catch{}if(b)for(var k in b.m)throw new w.g(55)}delete n.parent.m[n.name],n.parent.timestamp=Date.now(),n.name=d,s.m[d]=n,s.timestamp=n.parent.timestamp,n.parent=s},unlink(n,s){delete n.m[s],n.timestamp=Date.now()},rmdir(n,s){var d=pt(n,s),b;for(b in d.m)throw new w.g(55);delete n.m[s],n.timestamp=Date.now()},readdir(n){var s=[".",".."],d;for(d in n.m)n.m.hasOwnProperty(d)&&s.push(d);return s},symlink(n,s,d){return n=be.createNode(n,s,41471,0),n.link=d,n},readlink(n){if((n.mode&61440)!==40960)throw new w.g(28);return n.link}},l:{read(n,s,d,b,k){var C=n.node.m;if(k>=n.node.o)return 0;if(n=Math.min(n.node.o-k,b),M(0<=n),8<n&&C.subarray)s.set(C.subarray(k,k+n),d);else for(b=0;b<n;b++)s[d+b]=C[k+b];return n},write(n,s,d,b,k,C){if(M(!(s instanceof ArrayBuffer)),s.buffer===Z.buffer&&(C=!1),!b)return 0;if(n=n.node,n.timestamp=Date.now(),s.subarray&&(!n.m||n.m.subarray)){if(C)return M(k===0,"canOwn must imply no weird position inside the file"),n.m=s.subarray(d,d+b),n.o=b;if(n.o===0&&k===0)return n.m=s.slice(d,d+b),n.o=b;if(k+b<=n.o)return n.m.set(s.subarray(d,d+b),k),b}if(Aa(n,k+b),n.m.subarray&&s.subarray)n.m.set(s.subarray(d,d+b),k);else for(C=0;C<b;C++)n.m[k+C]=s[d+C];return n.o=Math.max(n.o,k+b),b},D(n,s,d){if(d===1?s+=n.position:d===2&&w.isFile(n.node.mode)&&(s+=n.node.o),0>s)throw new w.g(28);return s},T(n,s,d){Aa(n.node,s+d),n.node.o=Math.max(n.node.o,s+d)},S(n,s,d,b,k){if(!w.isFile(n.node.mode))throw new w.g(43);if(n=n.node.m,k&2||n.buffer!==Z.buffer){if((0<d||d+s<n.length)&&(n.subarray?n=n.subarray(d,d+s):n=Array.prototype.slice.call(n,d,d+s)),d=!0,s=Ta(),!s)throw new w.g(48);Z.set(n,s)}else d=!1,s=n.byteOffset;return{Ra:s,Aa:d}},V(n,s,d,b){return be.l.write(n,s,0,b,d,!1),0}}},vl=(n,s,d)=>{var b=pa(`al ${n}`);st(n,k=>{M(k,`Loading data file "${n}" failed (no arrayBuffer).`),s(new Uint8Array(k)),b&&Gr(b)},()=>{if(d)d();else throw`Loading data file "${n}" failed.`}),b&&Bn(b)},El=[],Sl=(n,s,d,b)=>{typeof Browser<"u"&&Browser.R();var k=!1;return El.forEach(C=>{!k&&C.canHandle(s)&&(C.handle(n,s,d,b),k=!0)}),k},Hn=(n,s)=>{var d=0;return n&&(d|=365),s&&(d|=146),d},Ll={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},Ra={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},Tl=n=>n.replace(/\b_Z[\w\d_]+/g,function(s){return er("warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling"),s===s?s:s+" ["+s+"]"});function Gn(n,s){w.pa[n]={l:s}}function Ue(n){return(n&61440)===16384}function pt(n,s){var d;if(d=(d=Mt(n,"x"))?d:n.h.lookup?0:2)throw new w.g(d,n);for(d=w.F[$n(n.id,s)];d;d=d.N){var b=d.name;if(d.parent.id===n.id&&b===s)return d}return w.lookup(n,s)}function Ae(n,s={}){if(n=Ft(n),!n)return{path:"",node:null};if(s=Object.assign({ba:!0,ka:0},s),8<s.ka)throw new w.g(32);n=n.split("/").filter(z=>!!z);for(var d=w.root,b="/",k=0;k<n.length;k++){var C=k===n.length-1;if(C&&s.parent)break;if(d=pt(d,n[k]),b=dt(b+"/"+n[k]),d.A&&(!C||C&&s.ba)&&(d=d.A.root),!C||s.B){for(C=0;(d.mode&61440)===40960;)if(d=w.readlink(b),b=Ft(Un(b),d),d=Ae(b,{ka:s.ka+1}).node,40<C++)throw new w.g(32)}}return{path:b,node:d}}function Pt(n){for(var s;;){if(w.Z(n))return n=n.s.ua,s?n[n.length-1]!=="/"?`${n}/${s}`:n+s:n;s=s?`${n.name}/${s}`:n.name,n=n.parent}}function $n(n,s){for(var d=0,b=0;b<s.length;b++)d=(d<<5)-d+s.charCodeAt(b)|0;return(n+d>>>0)%w.F.length}function Ca(n){var s=$n(n.parent.id,n.name);n.N=w.F[s],w.F[s]=n}function Wr(n){var s=$n(n.parent.id,n.name);if(w.F[s]===n)w.F[s]=n.N;else for(s=w.F[s];s;){if(s.N===n){s.N=n.N;break}s=s.N}}function Ia(n){var s=["r","w","rw"][n&3];return n&512&&(s+="w"),s}function Mt(n,s){if(w.ta)return 0;if(!s.includes("r")||n.mode&292){if(s.includes("w")&&!(n.mode&146)||s.includes("x")&&!(n.mode&73))return 2}else return 2;return 0}function Wn(n,s){try{return pt(n,s),20}catch{}return Mt(n,"wx")}function Yr(n,s,d){try{var b=pt(n,s)}catch(k){return k.u}if(n=Mt(n,"wx"))return n;if(d){if(!Ue(b.mode))return 54;if(w.Z(b)||Pt(b)===w.cwd())return 10}else if(Ue(b.mode))return 31;return 0}function Al(){for(var n=0;n<=w.xa;n++)if(!w.streams[n])return n;throw new w.g(33)}function Ke(n){if(n=w.qa(n),!n)throw new w.g(8);return n}function Yn(n,s=-1){return w.X||(w.X=function(){this.I={}},w.X.prototype={},Object.defineProperties(w.X.prototype,{object:{get(){return this.node},set(d){this.node=d}},flags:{get(){return this.I.flags},set(d){this.I.flags=d}},position:{get(){return this.I.position},set(d){this.I.position=d}}})),n=Object.assign(new w.X,n),s==-1&&(s=Al()),n.fd=s,w.streams[s]=n}function Da(n){var s=[];for(n=[n];n.length;){var d=n.pop();s.push(d),n.push.apply(n,d.U)}return s}function Jr(n,s,d){return typeof d>"u"&&(d=s,s=438),w.J(n,s|8192,d)}function Fa(){w.g||(w.g=function(n,s){this.name="ErrnoError",this.node=s,this.Sa=function(d){this.u=d;for(var b in Ra)if(Ra[b]===d){this.code=b;break}},this.Sa(n),this.message=Ll[n],this.stack&&(Object.defineProperty(this,"stack",{value:Error().stack,writable:!0}),this.stack=Tl(this.stack))},w.g.prototype=Error(),w.g.prototype.constructor=w.g,[44].forEach(n=>{w.da[n]=new w.g(n),w.da[n].stack="<generic error, no stack>"}))}function Pa(n,s){try{var d=Ae(n,{B:!s});n=d.path}catch{}var b={Z:!1,exists:!1,error:0,name:null,path:null,object:null,Oa:!1,Qa:null,Pa:null};try{d=Ae(n,{parent:!0}),b.Oa=!0,b.Qa=d.path,b.Pa=d.node,b.name=Dt(n),d=Ae(n,{B:!s}),b.exists=!0,b.path=d.path,b.object=d.node,b.name=d.node.name,b.Z=d.path==="/"}catch(k){b.error=k.u}return b}function Rl(n,s,d,b){return n=typeof n=="string"?n:Pt(n),s=dt(n+"/"+s),w.create(s,Hn(d,b))}function Jn(n){if(!(n.La||n.Ma||n.link||n.m)){if(typeof XMLHttpRequest<"u")throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(at)try{n.m=$r(at(n.url),!0),n.o=n.m.length}catch{throw new w.g(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")}}var w={root:null,U:[],pa:{},streams:[],Na:1,F:null,oa:"/",Y:!1,ta:!0,g:null,da:{},Fa:null,W:0,createNode(n,s,d,b){return M(typeof n=="object"),n=new w.wa(n,s,d,b),Ca(n),n},Z(n){return n===n.parent},isFile(n){return(n&61440)===32768},isFIFO(n){return(n&61440)===4096},isSocket(n){return(n&49152)===49152},xa:4096,qa:n=>w.streams[n],Da:{open(n){n.l=w.Ga(n.node.rdev).l,n.l.open&&n.l.open(n)},D(){throw new w.g(70)}},ha:n=>n>>8,nb:n=>n&255,M:(n,s)=>n<<8|s,Ga:n=>w.pa[n],va(n,s){function d(z){return M(0<w.W),w.W--,s(z)}function b(z){if(z){if(!b.Ea)return b.Ea=!0,d(z)}else++C>=k.length&&d(null)}typeof n=="function"&&(s=n,n=!1),w.W++,1<w.W&&Se(`warning: ${w.W} FS.syncfs operations in flight at once, probably just doing extra work`);var k=Da(w.root.s),C=0;k.forEach(z=>{if(!z.type.va)return b(null);z.type.va(z,n,b)})},s(n,s,d){if(typeof n=="string")throw n;var b=d==="/",k=!d;if(b&&w.root)throw new w.g(10);if(!b&&!k){var C=Ae(d,{ba:!1});if(d=C.path,C=C.node,C.A)throw new w.g(10);if(!Ue(C.mode))throw new w.g(54)}return s={type:n,rb:s,ua:d,U:[]},n=n.s(s),n.s=s,s.root=n,b?w.root=n:C&&(C.A=s,C.s&&C.s.U.push(s)),n},xb(n){if(n=Ae(n,{ba:!1}),!n.node.A)throw new w.g(28);n=n.node;var s=n.A,d=Da(s);Object.keys(w.F).forEach(b=>{for(b=w.F[b];b;){var k=b.N;d.includes(b.s)&&Wr(b),b=k}}),n.A=null,s=n.s.U.indexOf(s),M(s!==-1),n.s.U.splice(s,1)},lookup(n,s){return n.h.lookup(n,s)},J(n,s,d){var b=Ae(n,{parent:!0}).node;if(n=Dt(n),!n||n==="."||n==="..")throw new w.g(28);var k=Wn(b,n);if(k)throw new w.g(k);if(!b.h.J)throw new w.g(63);return b.h.J(b,n,s,d)},create(n,s){return w.J(n,(s!==void 0?s:438)&4095|32768,0)},mkdir(n,s){return w.J(n,(s!==void 0?s:511)&1023|16384,0)},ob(n,s){n=n.split("/");for(var d="",b=0;b<n.length;++b)if(n[b]){d+="/"+n[b];try{w.mkdir(d,s)}catch(k){if(k.u!=20)throw k}}},symlink(n,s){if(!Ft(n))throw new w.g(44);var d=Ae(s,{parent:!0}).node;if(!d)throw new w.g(44);s=Dt(s);var b=Wn(d,s);if(b)throw new w.g(b);if(!d.h.symlink)throw new w.g(63);return d.h.symlink(d,s,n)},rename(n,s){var d=Un(n),b=Un(s),k=Dt(n),C=Dt(s),z=Ae(n,{parent:!0}),Q=z.node;if(z=Ae(s,{parent:!0}),z=z.node,!Q||!z)throw new w.g(44);if(Q.s!==z.s)throw new w.g(75);var ge=pt(Q,k);if(n=Ea(n,b),n.charAt(0)!==".")throw new w.g(28);if(n=Ea(s,d),n.charAt(0)!==".")throw new w.g(55);try{var te=pt(z,C)}catch{}if(ge!==te){if(s=Ue(ge.mode),k=Yr(Q,k,s))throw new w.g(k);if(k=te?Yr(z,C,s):Wn(z,C))throw new w.g(k);if(!Q.h.rename)throw new w.g(63);if(ge.A||te&&te.A)throw new w.g(10);if(z!==Q&&(k=Mt(Q,"w")))throw new w.g(k);Wr(ge);try{Q.h.rename(ge,z,C)}catch(me){throw me}finally{Ca(ge)}}},rmdir(n){var s=Ae(n,{parent:!0}).node;n=Dt(n);var d=pt(s,n),b=Yr(s,n,!0);if(b)throw new w.g(b);if(!s.h.rmdir)throw new w.g(63);if(d.A)throw new w.g(10);s.h.rmdir(s,n),Wr(d)},readdir(n){if(n=Ae(n,{B:!0}).node,!n.h.readdir)throw new w.g(54);return n.h.readdir(n)},unlink(n){var s=Ae(n,{parent:!0}).node;if(!s)throw new w.g(44);n=Dt(n);var d=pt(s,n),b=Yr(s,n,!1);if(b)throw new w.g(b);if(!s.h.unlink)throw new w.g(63);if(d.A)throw new w.g(10);s.h.unlink(s,n),Wr(d)},readlink(n){if(n=Ae(n).node,!n)throw new w.g(44);if(!n.h.readlink)throw new w.g(28);return Ft(Pt(n.parent),n.h.readlink(n))},stat(n,s){if(n=Ae(n,{B:!s}).node,!n)throw new w.g(44);if(!n.h.C)throw new w.g(63);return n.h.C(n)},lstat(n){return w.stat(n,!0)},chmod(n,s,d){if(n=typeof n=="string"?Ae(n,{B:!d}).node:n,!n.h.v)throw new w.g(63);n.h.v(n,{mode:s&4095|n.mode&-4096,timestamp:Date.now()})},lchmod(n,s){w.chmod(n,s,!0)},fchmod(n,s){n=Ke(n),w.chmod(n.node,s)},chown(n,s,d,b){if(n=typeof n=="string"?Ae(n,{B:!b}).node:n,!n.h.v)throw new w.g(63);n.h.v(n,{timestamp:Date.now()})},lchown(n,s,d){w.chown(n,s,d,!0)},fchown(n,s,d){n=Ke(n),w.chown(n.node,s,d)},truncate(n,s){if(0>s)throw new w.g(28);if(n=typeof n=="string"?Ae(n,{B:!0}).node:n,!n.h.v)throw new w.g(63);if(Ue(n.mode))throw new w.g(31);if(!w.isFile(n.mode))throw new w.g(28);var d=Mt(n,"w");if(d)throw new w.g(d);n.h.v(n,{size:s,timestamp:Date.now()})},kb(n,s){if(n=Ke(n),(n.flags&2097155)===0)throw new w.g(28);w.truncate(n.node,s)},yb(n,s,d){n=Ae(n,{B:!0}).node,n.h.v(n,{timestamp:Math.max(s,d)})},open(n,s,d){if(n==="")throw new w.g(44);if(typeof s=="string"){var b={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[s];if(typeof b>"u")throw Error(`Unknown file open mode: ${s}`);s=b}if(d=s&64?(typeof d>"u"?438:d)&4095|32768:0,typeof n=="object")var k=n;else{n=dt(n);try{k=Ae(n,{B:!(s&131072)}).node}catch{}}if(b=!1,s&64)if(k){if(s&128)throw new w.g(20)}else k=w.J(n,d,0),b=!0;if(!k)throw new w.g(44);if((k.mode&61440)===8192&&(s&=-513),s&65536&&!Ue(k.mode))throw new w.g(54);if(!b&&(d=k?(k.mode&61440)===40960?32:Ue(k.mode)&&(Ia(s)!=="r"||s&512)?31:Mt(k,Ia(s)):44))throw new w.g(d);return s&512&&!b&&w.truncate(k,0),s&=-131713,k=Yn({node:k,path:Pt(k),flags:s,seekable:!0,position:0,l:k.l,Xa:[],error:!1}),k.l.open&&k.l.open(k),!m.logReadFiles||s&1||(w.ja||(w.ja={}),n in w.ja||(w.ja[n]=1)),k},close(n){if(n.fd===null)throw new w.g(8);n.ea&&(n.ea=null);try{n.l.close&&n.l.close(n)}catch(s){throw s}finally{w.streams[n.fd]=null}n.fd=null},D(n,s,d){if(n.fd===null)throw new w.g(8);if(!n.seekable||!n.l.D)throw new w.g(70);if(d!=0&&d!=1&&d!=2)throw new w.g(28);return n.position=n.l.D(n,s,d),n.Xa=[],n.position},read(n,s,d,b,k){if(M(0<=d),0>b||0>k)throw new w.g(28);if(n.fd===null)throw new w.g(8);if((n.flags&2097155)===1)throw new w.g(8);if(Ue(n.node.mode))throw new w.g(31);if(!n.l.read)throw new w.g(28);var C=typeof k<"u";if(!C)k=n.position;else if(!n.seekable)throw new w.g(70);return s=n.l.read(n,s,d,b,k),C||(n.position+=s),s},write(n,s,d,b,k,C){if(M(0<=d),0>b||0>k)throw new w.g(28);if(n.fd===null)throw new w.g(8);if((n.flags&2097155)===0)throw new w.g(8);if(Ue(n.node.mode))throw new w.g(31);if(!n.l.write)throw new w.g(28);n.seekable&&n.flags&1024&&w.D(n,0,2);var z=typeof k<"u";if(!z)k=n.position;else if(!n.seekable)throw new w.g(70);return s=n.l.write(n,s,d,b,k,C),z||(n.position+=s),s},T(n,s,d){if(n.fd===null)throw new w.g(8);if(0>s||0>=d)throw new w.g(28);if((n.flags&2097155)===0)throw new w.g(8);if(!w.isFile(n.node.mode)&&!Ue(n.node.mode))throw new w.g(43);if(!n.l.T)throw new w.g(138);n.l.T(n,s,d)},S(n,s,d,b,k){if((b&2)!==0&&(k&2)===0&&(n.flags&2097155)!==2)throw new w.g(2);if((n.flags&2097155)===1)throw new w.g(2);if(!n.l.S)throw new w.g(43);return n.l.S(n,s,d,b,k)},V(n,s,d,b,k){return M(0<=d),n.l.V?n.l.V(n,s,d,b,k):0},qb:()=>0,fa(n,s,d){if(!n.l.fa)throw new w.g(59);return n.l.fa(n,s,d)},readFile(n,s={}){if(s.flags=s.flags||0,s.encoding=s.encoding||"binary",s.encoding!=="utf8"&&s.encoding!=="binary")throw Error(`Invalid encoding type "${s.encoding}"`);var d,b=w.open(n,s.flags);n=w.stat(n).size;var k=new Uint8Array(n);return w.read(b,k,0,n,0),s.encoding==="utf8"?d=tr(k,0):s.encoding==="binary"&&(d=k),w.close(b),d},writeFile(n,s,d={}){if(d.flags=d.flags||577,n=w.open(n,d.flags,d.mode),typeof s=="string"){var b=new Uint8Array(rr(s)+1);s=jn(s,b,0,b.length),w.write(n,b,0,s,void 0,d.Ca)}else if(ArrayBuffer.isView(s))w.write(n,s,0,s.byteLength,void 0,d.Ca);else throw Error("Unsupported data type");w.close(n)},cwd:()=>w.oa,chdir(n){if(n=Ae(n,{B:!0}),n.node===null)throw new w.g(44);if(!Ue(n.node.mode))throw new w.g(54);var s=Mt(n.node,"x");if(s)throw new w.g(s);w.oa=n.path},R(n,s,d){M(!w.R.Y,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),w.R.Y=!0,Fa(),m.stdin=n||m.stdin,m.stdout=s||m.stdout,m.stderr=d||m.stderr,m.stdin?w.L("/dev","stdin",m.stdin):w.symlink("/dev/tty","/dev/stdin"),m.stdout?w.L("/dev","stdout",null,m.stdout):w.symlink("/dev/tty","/dev/stdout"),m.stderr?w.L("/dev","stderr",null,m.stderr):w.symlink("/dev/tty1","/dev/stderr"),n=w.open("/dev/stdin",0),s=w.open("/dev/stdout",1),d=w.open("/dev/stderr",1),M(n.fd===0,`invalid handle for stdin (${n.fd})`),M(s.fd===1,`invalid handle for stdout (${s.fd})`),M(d.fd===2,`invalid handle for stderr (${d.fd})`)},sb(){w.R.Y=!1,qa(0);for(var n=0;n<w.streams.length;n++){var s=w.streams[n];s&&w.close(s)}},jb(n,s){return n=Pa(n,s),n.exists?n.object:null},hb(n,s){for(n=typeof n=="string"?n:Pt(n),s=s.split("/").reverse();s.length;){var d=s.pop();if(d){var b=dt(n+"/"+d);try{w.mkdir(b)}catch{}n=b}}return b},L(n,s,d,b){n=_l(typeof n=="string"?n:Pt(n),s),s=Hn(!!d,!!b),w.L.ha||(w.L.ha=64);var k=w.M(w.L.ha++,0);return Gn(k,{open(C){C.seekable=!1},close(){b&&b.buffer&&b.buffer.length&&b(10)},read(C,z,Q,ge){for(var te=0,me=0;me<ge;me++){try{var re=d()}catch{throw new w.g(29)}if(re===void 0&&te===0)throw new w.g(6);if(re==null)break;te++,z[Q+me]=re}return te&&(C.node.timestamp=Date.now()),te},write(C,z,Q,ge){for(var te=0;te<ge;te++)try{b(z[Q+te])}catch{throw new w.g(29)}return ge&&(C.node.timestamp=Date.now()),te}}),Jr(n,s,k)},fb(n,s,d,b,k){function C(){this.ga=!1,this.I=[]}function z(re,ve,O,ce,ue){if(re=re.node.m,ue>=re.length)return 0;if(ce=Math.min(re.length-ue,ce),M(0<=ce),re.slice)for(var we=0;we<ce;we++)ve[O+we]=re[ue+we];else for(we=0;we<ce;we++)ve[O+we]=re.get(ue+we);return ce}if(C.prototype.get=function(re){if(!(re>this.length-1||0>re)){var ve=re%this.chunkSize;return this.sa(re/this.chunkSize|0)[ve]}},C.prototype.Ha=function(re){this.sa=re},C.prototype.ma=function(){var re=new XMLHttpRequest;if(re.open("HEAD",d,!1),re.send(null),!(200<=re.status&&300>re.status||re.status===304))throw Error("Couldn't load "+d+". Status: "+re.status);var ve=Number(re.getResponseHeader("Content-length")),O,ce=(O=re.getResponseHeader("Accept-Ranges"))&&O==="bytes";re=(O=re.getResponseHeader("Content-Encoding"))&&O==="gzip";var ue=1048576;ce||(ue=ve);var we=this;we.Ha(Me=>{var Ze=Me*ue,Qe=(Me+1)*ue-1;if(Qe=Math.min(Qe,ve-1),typeof we.I[Me]>"u"){var ri=we.I;if(Ze>Qe)throw Error("invalid range ("+Ze+", "+Qe+") or no bytes requested!");if(Qe>ve-1)throw Error("only "+ve+" bytes available! programmer error!");var We=new XMLHttpRequest;if(We.open("GET",d,!1),ve!==ue&&We.setRequestHeader("Range","bytes="+Ze+"-"+Qe),We.responseType="arraybuffer",We.overrideMimeType&&We.overrideMimeType("text/plain; charset=x-user-defined"),We.send(null),!(200<=We.status&&300>We.status||We.status===304))throw Error("Couldn't load "+d+". Status: "+We.status);Ze=We.response!==void 0?new Uint8Array(We.response||[]):$r(We.responseText||"",!0),ri[Me]=Ze}if(typeof we.I[Me]>"u")throw Error("doXHR failed!");return we.I[Me]}),(re||!ve)&&(ue=ve=1,ue=ve=this.sa(0).length,yt("LazyFiles on gzip forces download of the whole file when length is accessed")),this.za=ve,this.ya=ue,this.ga=!0},typeof XMLHttpRequest<"u"){if(!de)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var Q=new C;Object.defineProperties(Q,{length:{get:function(){return this.ga||this.ma(),this.za}},chunkSize:{get:function(){return this.ga||this.ma(),this.ya}}});var ge=void 0}else ge=d,Q=void 0;var te=Rl(n,s,b,k);Q?te.m=Q:ge&&(te.m=null,te.url=ge),Object.defineProperties(te,{o:{get:function(){return this.m.length}}});var me={};return Object.keys(te.l).forEach(re=>{var ve=te.l[re];me[re]=function(){return Jn(te),ve.apply(null,arguments)}}),me.read=(re,ve,O,ce,ue)=>(Jn(te),z(re,ve,O,ce,ue)),me.S=(re,ve,O)=>{Jn(te);var ce=Ta();if(!ce)throw new w.g(48);return z(re,Z,ce,ve,O),{Ra:ce,Aa:!0}},te.l=me,te},Ya(){Le("FS.absolutePath has been removed; use PATH_FS.resolve instead")},eb(){Le("FS.createFolder has been removed; use FS.mkdir instead")},gb(){Le("FS.createLink has been removed; use FS.symlink instead")},mb(){Le("FS.joinPath has been removed; use PATH.join instead")},pb(){Le("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},vb(){Le("FS.standardizePath has been removed; use PATH.normalize instead")}},nt=n=>(M(typeof n=="number",`UTF8ToString expects a number (got ${typeof n})`),n?tr(he,n):"");function Sr(n,s){if(s.charAt(0)==="/")return s;if(n=n===-100?w.cwd():Ke(n).path,s.length==0)throw new w.g(44);return dt(n+"/"+s)}var nr=void 0;function mt(){M(nr!=null);var n=J[+nr>>2];return nr+=4,n}var Kr=(n,s,d)=>(M(typeof d=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),jn(n,he,s,d)),ir=n=>n%4===0&&(n%100!==0||n%400===0),Ma=[0,31,60,91,121,152,182,213,244,274,305,335],Na=[0,31,59,90,120,151,181,212,243,273,304,334],Kn=n=>{var s=rr(n)+1,d=Il(s);return d&&Kr(n,d,s),d},Xr={},Oa=()=>{if(!Xn){var n={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Y||"./this.program"},s;for(s in Xr)Xr[s]===void 0?delete n[s]:n[s]=Xr[s];var d=[];for(s in n)d.push(`${s}=${n[s]}`);Xn=d}return Xn},Xn,Ba=[31,29,31,30,31,30,31,31,30,31,30,31],za=[31,28,31,30,31,30,31,31,30,31,30,31],Ua=(n,s)=>{M(0<=n.length,"writeArrayToMemory array must have a length (should be an array or typed array)"),Z.set(n,s)},Nt=[],$e,Zn=n=>{var s=Nt[n];return s||(n>=Nt.length&&(Nt.length=n+1),Nt[n]=s=$e.get(n)),M($e.get(n)==s,"JavaScript-side Wasm function table mirror is out of date!"),s},Cl=n=>{var s=m["_"+n];return M(s,"Cannot call unknown function "+n+", make sure it is exported"),s},Ot,Qn=[];function Va(n,s,d,b){n||=this,this.parent=n,this.s=n.s,this.A=null,this.id=w.Na++,this.name=s,this.mode=d,this.h={},this.l={},this.rdev=b}Object.defineProperties(Va.prototype,{read:{get:function(){return(this.mode&365)===365},set:function(n){n?this.mode|=365:this.mode&=-366}},write:{get:function(){return(this.mode&146)===146},set:function(n){n?this.mode|=146:this.mode&=-147}},Ma:{get:function(){return Ue(this.mode)}},La:{get:function(){return(this.mode&61440)===8192}}}),w.wa=Va,w.ib=(n,s,d,b,k,C,z,Q,ge,te)=>{function me(O){function ce(ue){if(te&&te(),!Q){var we=n,Me=s;if(we&&(we=typeof we=="string"?we:Pt(we),Me=s?dt(we+"/"+s):we),we=Hn(b,k),Me=w.create(Me,we),ue){if(typeof ue=="string"){for(var Ze=Array(ue.length),Qe=0,ri=ue.length;Qe<ri;++Qe)Ze[Qe]=ue.charCodeAt(Qe);ue=Ze}w.chmod(Me,we|146),Ze=w.open(Me,577),w.write(Ze,ue,0,ue.length,0,ge),w.close(Ze),w.chmod(Me,we)}}C&&C(),Gr(ve)}Sl(O,re,ce,()=>{z&&z(),Gr(ve)})||ce(O)}var re=s?Ft(dt(n+"/"+s)):n,ve=pa(`cp ${re}`);Bn(ve),typeof d=="string"?vl(d,O=>me(O),z):me(d)},Fa(),w.F=Array(4096),w.s(be,{},"/"),w.mkdir("/tmp"),w.mkdir("/home"),w.mkdir("/home/web_user"),(function(){w.mkdir("/dev"),Gn(w.M(1,3),{read:()=>0,write:(b,k,C,z)=>z}),Jr("/dev/null",w.M(1,3)),La(w.M(5,0),kl),La(w.M(6,0),xl),Jr("/dev/tty",w.M(5,0)),Jr("/dev/tty1",w.M(6,0));var n=new Uint8Array(1024),s=0,d=()=>(s===0&&(s=va(n).byteLength),n[--s]);w.L("/dev","random",d),w.L("/dev","urandom",d),w.mkdir("/dev/shm"),w.mkdir("/dev/shm/tmp")})(),(function(){w.mkdir("/proc");var n=w.mkdir("/proc/self");w.mkdir("/proc/self/fd"),w.s({s(){var s=w.createNode(n,"fd",16895,73);return s.h={lookup(d,b){var k=Ke(+b);return d={parent:null,s:{ua:"fake"},h:{readlink:()=>k.path}},d.parent=d}},s}},{},"/proc/self/fd")})(),w.Fa={MEMFS:be};var ja={__syscall_dup3:function(n,s,d){try{var b=Ke(n);if(M(!d),b.fd===s)return-28;var k=w.qa(s);return k&&w.close(k),Yn(b,s).fd}catch(C){if(typeof w>"u"||C.name!=="ErrnoError")throw C;return-C.u}},__syscall_fcntl64:function(n,s,d){nr=d;try{var b=Ke(n);switch(s){case 0:var k=mt();if(0>k)return-28;for(;w.streams[k];)k++;return Yn(b,k).fd;case 1:case 2:return 0;case 3:return b.flags;case 4:return k=mt(),b.flags|=k,0;case 5:return k=mt(),ke[k+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return J[ei()>>2]=28,-1;default:return-28}}catch(C){if(typeof w>"u"||C.name!=="ErrnoError")throw C;return-C.u}},__syscall_ioctl:function(n,s,d){nr=d;try{var b=Ke(n);switch(s){case 21509:return b.tty?0:-59;case 21505:if(!b.tty)return-59;if(b.tty.K.Ia){n=[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];var k=mt();J[k>>2]=25856,J[k+4>>2]=5,J[k+8>>2]=191,J[k+12>>2]=35387;for(var C=0;32>C;C++)Z[k+C+17>>0]=n[C]||0}return 0;case 21510:case 21511:case 21512:return b.tty?0:-59;case 21506:case 21507:case 21508:if(!b.tty)return-59;if(b.tty.K.Ja)for(k=mt(),n=[],C=0;32>C;C++)n.push(Z[k+C+17>>0]);return 0;case 21519:return b.tty?(k=mt(),J[k>>2]=0):-59;case 21520:return b.tty?-28:-59;case 21531:return k=mt(),w.fa(b,s,k);case 21523:return b.tty?(b.tty.K.Ka&&(C=[24,80],k=mt(),ke[k>>1]=C[0],ke[k+2>>1]=C[1]),0):-59;case 21524:return b.tty?0:-59;case 21515:return b.tty?0:-59;default:return-28}}catch(z){if(typeof w>"u"||z.name!=="ErrnoError")throw z;return-z.u}},__syscall_openat:function(n,s,d,b){nr=b;try{s=nt(s),s=Sr(n,s);var k=b?mt():0;return w.open(s,d,k).fd}catch(C){if(typeof w>"u"||C.name!=="ErrnoError")throw C;return-C.u}},__syscall_readlinkat:function(n,s,d,b){try{if(s=nt(s),s=Sr(n,s),0>=b)return-28;var k=w.readlink(s),C=Math.min(b,rr(k)),z=Z[d+C];return Kr(k,d,b+1),Z[d+C]=z,C}catch(Q){if(typeof w>"u"||Q.name!=="ErrnoError")throw Q;return-Q.u}},__syscall_renameat:function(n,s,d,b){try{return s=nt(s),b=nt(b),s=Sr(n,s),b=Sr(d,b),w.rename(s,b),0}catch(k){if(typeof w>"u"||k.name!=="ErrnoError")throw k;return-k.u}},__syscall_rmdir:function(n){try{return n=nt(n),w.rmdir(n),0}catch(s){if(typeof w>"u"||s.name!=="ErrnoError")throw s;return-s.u}},__syscall_unlinkat:function(n,s,d){try{return s=nt(s),s=Sr(n,s),d===0?w.unlink(s):d===512?w.rmdir(s):Le("Invalid flags passed to unlinkat"),0}catch(b){if(typeof w>"u"||b.name!=="ErrnoError")throw b;return-b.u}},_emscripten_get_now_is_monotonic:()=>1,_emscripten_throw_longjmp:()=>{throw 1/0},_gmtime_js:function(n,s){n=-9007199254740992>n||9007199254740992<n?NaN:Number(n),n=new Date(1e3*n),J[s>>2]=n.getUTCSeconds(),J[s+4>>2]=n.getUTCMinutes(),J[s+8>>2]=n.getUTCHours(),J[s+12>>2]=n.getUTCDate(),J[s+16>>2]=n.getUTCMonth(),J[s+20>>2]=n.getUTCFullYear()-1900,J[s+24>>2]=n.getUTCDay(),J[s+28>>2]=(n.getTime()-Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},_localtime_js:function(n,s){n=-9007199254740992>n||9007199254740992<n?NaN:Number(n),n=new Date(1e3*n),J[s>>2]=n.getSeconds(),J[s+4>>2]=n.getMinutes(),J[s+8>>2]=n.getHours(),J[s+12>>2]=n.getDate(),J[s+16>>2]=n.getMonth(),J[s+20>>2]=n.getFullYear()-1900,J[s+24>>2]=n.getDay(),J[s+28>>2]=(ir(n.getFullYear())?Ma:Na)[n.getMonth()]+n.getDate()-1|0,J[s+36>>2]=-(60*n.getTimezoneOffset());var d=new Date(n.getFullYear(),6,1).getTimezoneOffset(),b=new Date(n.getFullYear(),0,1).getTimezoneOffset();J[s+32>>2]=(d!=b&&n.getTimezoneOffset()==Math.min(b,d))|0},_mktime_js:function(n){var s=new Date(J[n+20>>2]+1900,J[n+16>>2],J[n+12>>2],J[n+8>>2],J[n+4>>2],J[n>>2],0),d=J[n+32>>2],b=s.getTimezoneOffset(),k=new Date(s.getFullYear(),6,1).getTimezoneOffset(),C=new Date(s.getFullYear(),0,1).getTimezoneOffset(),z=Math.min(C,k);return 0>d?J[n+32>>2]=+(k!=C&&z==b):0<d!=(z==b)&&(k=Math.max(C,k),s.setTime(s.getTime()+6e4*((0<d?z:k)-b))),J[n+24>>2]=s.getDay(),J[n+28>>2]=(ir(s.getFullYear())?Ma:Na)[s.getMonth()]+s.getDate()-1|0,J[n>>2]=s.getSeconds(),J[n+4>>2]=s.getMinutes(),J[n+8>>2]=s.getHours(),J[n+12>>2]=s.getDate(),J[n+16>>2]=s.getMonth(),J[n+20>>2]=s.getYear(),n=s.getTime(),isNaN(n)?(J[ei()>>2]=61,n=-1):n/=1e3,BigInt(n)},_tzset_js:(n,s,d)=>{function b(ge){return(ge=ge.toTimeString().match(/\(([A-Za-z ]+)\)$/))?ge[1]:"GMT"}var k=new Date().getFullYear(),C=new Date(k,0,1),z=new Date(k,6,1);k=C.getTimezoneOffset();var Q=z.getTimezoneOffset();xe[n>>2]=60*Math.max(k,Q),J[s>>2]=+(k!=Q),n=b(C),s=b(z),n=Kn(n),s=Kn(s),Q<k?(xe[d>>2]=n,xe[d+4>>2]=s):(xe[d>>2]=s,xe[d+4>>2]=n)},abort:()=>{Le("native code called abort()")},emscripten_date_now:()=>Date.now(),emscripten_get_now:()=>performance.now(),emscripten_resize_heap:n=>{var s=he.length;if(n>>>=0,M(n>s),2147483648<n)return Se(`Cannot enlarge memory, requested ${n} bytes, but the limit is ${2147483648} bytes!`),!1;for(var d=1;4>=d;d*=2){var b=s*(1+.2/d);b=Math.min(b,n+100663296);var k=Math;b=Math.max(n,b),k=k.min.call(k,2147483648,b+(65536-b%65536)%65536);e:{b=k;var C=Ct.buffer,z=(b-C.byteLength+65535)/65536;try{Ct.grow(z),Pe();var Q=1;break e}catch(ge){Se(`growMemory: Attempted to grow heap from ${C.byteLength} bytes to ${b} bytes, but got error: ${ge}`)}Q=void 0}if(Q)return!0}return Se(`Failed to grow the heap from ${s} bytes to ${k} bytes, not enough memory!`),!1},environ_get:(n,s)=>{var d=0;return Oa().forEach((b,k)=>{var C=s+d;for(k=xe[n+4*k>>2]=C,C=0;C<b.length;++C)M(b.charCodeAt(C)===(b.charCodeAt(C)&255)),Z[k++>>0]=b.charCodeAt(C);Z[k>>0]=0,d+=b.length+1}),0},environ_sizes_get:(n,s)=>{var d=Oa();xe[n>>2]=d.length;var b=0;return d.forEach(k=>b+=k.length+1),xe[s>>2]=b,0},exit:n=>{Pl(),B=!0,oe(n,new ka(n))},fd_close:function(n){try{var s=Ke(n);return w.close(s),0}catch(d){if(typeof w>"u"||d.name!=="ErrnoError")throw d;return d.u}},fd_read:function(n,s,d,b){try{e:{var k=Ke(n);n=s;for(var C,z=s=0;z<d;z++){var Q=xe[n>>2],ge=xe[n+4>>2];n+=8;var te=w.read(k,Z,Q,ge,C);if(0>te){var me=-1;break e}if(s+=te,te<ge)break;typeof C<"u"&&(C+=te)}me=s}return xe[b>>2]=me,0}catch(re){if(typeof w>"u"||re.name!=="ErrnoError")throw re;return re.u}},fd_seek:function(n,s,d,b){s=-9007199254740992>s||9007199254740992<s?NaN:Number(s);try{if(isNaN(s))return 61;var k=Ke(n);return w.D(k,s,d),tt[b>>3]=BigInt(k.position),k.ea&&s===0&&d===0&&(k.ea=null),0}catch(C){if(typeof w>"u"||C.name!=="ErrnoError")throw C;return C.u}},fd_write:function(n,s,d,b){try{e:{var k=Ke(n);n=s;for(var C,z=s=0;z<d;z++){var Q=xe[n>>2],ge=xe[n+4>>2];n+=8;var te=w.write(k,Z,Q,ge,C);if(0>te){var me=-1;break e}s+=te,typeof C<"u"&&(C+=te)}me=s}return xe[b>>2]=me,0}catch(re){if(typeof w>"u"||re.name!=="ErrnoError")throw re;return re.u}},invoke_vii:Fl,strftime:(n,s,d,b)=>{function k(O,ce,ue){for(O=typeof O=="number"?O.toString():O||"";O.length<ce;)O=ue[0]+O;return O}function C(O,ce){return k(O,ce,"0")}function z(O,ce){function ue(Me){return 0>Me?-1:0<Me?1:0}var we;return(we=ue(O.getFullYear()-ce.getFullYear()))===0&&(we=ue(O.getMonth()-ce.getMonth()))===0&&(we=ue(O.getDate()-ce.getDate())),we}function Q(O){switch(O.getDay()){case 0:return new Date(O.getFullYear()-1,11,29);case 1:return O;case 2:return new Date(O.getFullYear(),0,3);case 3:return new Date(O.getFullYear(),0,2);case 4:return new Date(O.getFullYear(),0,1);case 5:return new Date(O.getFullYear()-1,11,31);case 6:return new Date(O.getFullYear()-1,11,30)}}function ge(O){var ce=O.O;for(O=new Date(new Date(O.P+1900,0,1).getTime());0<ce;){var ue=O.getMonth(),we=(ir(O.getFullYear())?Ba:za)[ue];if(ce>we-O.getDate())ce-=we-O.getDate()+1,O.setDate(1),11>ue?O.setMonth(ue+1):(O.setMonth(0),O.setFullYear(O.getFullYear()+1));else{O.setDate(O.getDate()+ce);break}}return ue=new Date(O.getFullYear()+1,0,4),ce=Q(new Date(O.getFullYear(),0,4)),ue=Q(ue),0>=z(ce,O)?0>=z(ue,O)?O.getFullYear()+1:O.getFullYear():O.getFullYear()-1}var te=xe[b+40>>2];b={Va:J[b>>2],Ua:J[b+4>>2],$:J[b+8>>2],la:J[b+12>>2],aa:J[b+16>>2],P:J[b+20>>2],H:J[b+24>>2],O:J[b+28>>2],wb:J[b+32>>2],Ta:J[b+36>>2],Wa:te?nt(te):""},d=nt(d),te={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var me in te)d=d.replace(new RegExp(me,"g"),te[me]);var re="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ve="January February March April May June July August September October November December".split(" ");te={"%a":O=>re[O.H].substring(0,3),"%A":O=>re[O.H],"%b":O=>ve[O.aa].substring(0,3),"%B":O=>ve[O.aa],"%C":O=>C((O.P+1900)/100|0,2),"%d":O=>C(O.la,2),"%e":O=>k(O.la,2," "),"%g":O=>ge(O).toString().substring(2),"%G":O=>ge(O),"%H":O=>C(O.$,2),"%I":O=>(O=O.$,O==0?O=12:12<O&&(O-=12),C(O,2)),"%j":O=>{for(var ce=0,ue=0;ue<=O.aa-1;ce+=(ir(O.P+1900)?Ba:za)[ue++]);return C(O.la+ce,3)},"%m":O=>C(O.aa+1,2),"%M":O=>C(O.Ua,2),"%n":()=>`
6
+ `,"%p":O=>0<=O.$&&12>O.$?"AM":"PM","%S":O=>C(O.Va,2),"%t":()=>" ","%u":O=>O.H||7,"%U":O=>C(Math.floor((O.O+7-O.H)/7),2),"%V":O=>{var ce=Math.floor((O.O+7-(O.H+6)%7)/7);if(2>=(O.H+371-O.O-2)%7&&ce++,ce)ce==53&&(ue=(O.H+371-O.O)%7,ue==4||ue==3&&ir(O.P)||(ce=1));else{ce=52;var ue=(O.H+7-O.O-1)%7;(ue==4||ue==5&&ir(O.P%400-1))&&ce++}return C(ce,2)},"%w":O=>O.H,"%W":O=>C(Math.floor((O.O+7-(O.H+6)%7)/7),2),"%y":O=>(O.P+1900).toString().substring(2),"%Y":O=>O.P+1900,"%z":O=>{O=O.Ta;var ce=0<=O;return O=Math.abs(O)/60,(ce?"+":"-")+("0000"+(O/60*100+O%60)).slice(-4)},"%Z":O=>O.Wa,"%%":()=>"%"},d=d.replace(/%%/g,"\0\0");for(me in te)d.includes(me)&&(d=d.replace(new RegExp(me,"g"),te[me](b)));return d=d.replace(/\0\0/g,"%"),me=$r(d,!1),me.length>s?0:(Ua(me,n),me.length-1)},system:n=>{if(pe){if(!n)return 1;if(n=nt(n),!n.length)return 0;n=lt("child_process").ub(n,[],{tb:!0,stdio:"inherit"});var s=(d,b)=>d<<8|b;return n.status===null?s(0,(d=>{switch(d){case"SIGHUP":return 1;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15}return 2})(n.signal)):n.status<<8|0}return n?(J[ei()>>2]=52,-1):0}},Bt=(function(){var n={env:ja,wasi_snapshot_preview1:ja};Bn("wasm-instantiate");var s=m;return bl(n,function(d){M(m===s,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),s=null,Bt=d.instance.exports,Ct=Bt.memory,M(Ct,"memory not found in wasm exports"),Pe(),$e=Bt.__indirect_function_table,M($e,"table not found in wasm exports"),Nn.unshift(Bt.__wasm_call_ctors),Gr("wasm-instantiate")}).catch(L),{}})();m._lua_checkstack=D("lua_checkstack"),m._lua_xmove=D("lua_xmove"),m._lua_atpanic=D("lua_atpanic"),m._lua_version=D("lua_version"),m._lua_absindex=D("lua_absindex"),m._lua_gettop=D("lua_gettop"),m._lua_settop=D("lua_settop"),m._lua_closeslot=D("lua_closeslot"),m._lua_rotate=D("lua_rotate"),m._lua_copy=D("lua_copy"),m._lua_pushvalue=D("lua_pushvalue"),m._lua_type=D("lua_type"),m._lua_typename=D("lua_typename"),m._lua_iscfunction=D("lua_iscfunction"),m._lua_isinteger=D("lua_isinteger"),m._lua_isnumber=D("lua_isnumber"),m._lua_isstring=D("lua_isstring"),m._lua_isuserdata=D("lua_isuserdata"),m._lua_rawequal=D("lua_rawequal"),m._lua_arith=D("lua_arith"),m._lua_compare=D("lua_compare"),m._lua_stringtonumber=D("lua_stringtonumber"),m._lua_tonumberx=D("lua_tonumberx"),m._lua_tointegerx=D("lua_tointegerx"),m._lua_toboolean=D("lua_toboolean"),m._lua_tolstring=D("lua_tolstring"),m._lua_rawlen=D("lua_rawlen"),m._lua_tocfunction=D("lua_tocfunction"),m._lua_touserdata=D("lua_touserdata"),m._lua_tothread=D("lua_tothread"),m._lua_topointer=D("lua_topointer"),m._lua_pushnil=D("lua_pushnil"),m._lua_pushnumber=D("lua_pushnumber"),m._lua_pushinteger=D("lua_pushinteger"),m._lua_pushlstring=D("lua_pushlstring"),m._lua_pushstring=D("lua_pushstring"),m._lua_pushcclosure=D("lua_pushcclosure"),m._lua_pushboolean=D("lua_pushboolean"),m._lua_pushlightuserdata=D("lua_pushlightuserdata"),m._lua_pushthread=D("lua_pushthread"),m._lua_getglobal=D("lua_getglobal"),m._lua_gettable=D("lua_gettable"),m._lua_getfield=D("lua_getfield"),m._lua_geti=D("lua_geti"),m._lua_rawget=D("lua_rawget"),m._lua_rawgeti=D("lua_rawgeti"),m._lua_rawgetp=D("lua_rawgetp"),m._lua_createtable=D("lua_createtable"),m._lua_getmetatable=D("lua_getmetatable"),m._lua_getiuservalue=D("lua_getiuservalue"),m._lua_setglobal=D("lua_setglobal"),m._lua_settable=D("lua_settable"),m._lua_setfield=D("lua_setfield"),m._lua_seti=D("lua_seti"),m._lua_rawset=D("lua_rawset"),m._lua_rawsetp=D("lua_rawsetp"),m._lua_rawseti=D("lua_rawseti"),m._lua_setmetatable=D("lua_setmetatable"),m._lua_setiuservalue=D("lua_setiuservalue"),m._lua_callk=D("lua_callk"),m._lua_pcallk=D("lua_pcallk"),m._lua_load=D("lua_load"),m._lua_dump=D("lua_dump"),m._lua_status=D("lua_status"),m._lua_error=D("lua_error"),m._lua_next=D("lua_next"),m._lua_toclose=D("lua_toclose"),m._lua_concat=D("lua_concat"),m._lua_len=D("lua_len"),m._lua_getallocf=D("lua_getallocf"),m._lua_setallocf=D("lua_setallocf"),m._lua_setwarnf=D("lua_setwarnf"),m._lua_warning=D("lua_warning"),m._lua_newuserdatauv=D("lua_newuserdatauv"),m._lua_getupvalue=D("lua_getupvalue"),m._lua_setupvalue=D("lua_setupvalue"),m._lua_upvalueid=D("lua_upvalueid"),m._lua_upvaluejoin=D("lua_upvaluejoin"),m._luaL_traceback=D("luaL_traceback"),m._lua_getstack=D("lua_getstack"),m._lua_getinfo=D("lua_getinfo"),m._luaL_buffinit=D("luaL_buffinit"),m._luaL_addstring=D("luaL_addstring"),m._luaL_prepbuffsize=D("luaL_prepbuffsize"),m._luaL_addvalue=D("luaL_addvalue"),m._luaL_pushresult=D("luaL_pushresult"),m._luaL_argerror=D("luaL_argerror"),m._luaL_typeerror=D("luaL_typeerror"),m._luaL_getmetafield=D("luaL_getmetafield"),m._luaL_where=D("luaL_where"),m._luaL_fileresult=D("luaL_fileresult");var ei=D("__errno_location");m._luaL_execresult=D("luaL_execresult"),m._luaL_newmetatable=D("luaL_newmetatable"),m._luaL_setmetatable=D("luaL_setmetatable"),m._luaL_testudata=D("luaL_testudata"),m._luaL_checkudata=D("luaL_checkudata"),m._luaL_optlstring=D("luaL_optlstring"),m._luaL_checklstring=D("luaL_checklstring"),m._luaL_checkstack=D("luaL_checkstack"),m._luaL_checktype=D("luaL_checktype"),m._luaL_checkany=D("luaL_checkany"),m._luaL_checknumber=D("luaL_checknumber"),m._luaL_optnumber=D("luaL_optnumber"),m._luaL_checkinteger=D("luaL_checkinteger"),m._luaL_optinteger=D("luaL_optinteger"),m._luaL_setfuncs=D("luaL_setfuncs"),m._luaL_addlstring=D("luaL_addlstring"),m._luaL_pushresultsize=D("luaL_pushresultsize"),m._luaL_buffinitsize=D("luaL_buffinitsize"),m._luaL_ref=D("luaL_ref"),m._luaL_unref=D("luaL_unref"),m._luaL_loadfilex=D("luaL_loadfilex"),m._luaL_loadbufferx=D("luaL_loadbufferx"),m._luaL_loadstring=D("luaL_loadstring"),m._luaL_callmeta=D("luaL_callmeta"),m._luaL_len=D("luaL_len"),m._luaL_tolstring=D("luaL_tolstring"),m._luaL_getsubtable=D("luaL_getsubtable"),m._luaL_requiref=D("luaL_requiref"),m._luaL_addgsub=D("luaL_addgsub"),m._luaL_gsub=D("luaL_gsub"),m._luaL_newstate=D("luaL_newstate"),m._lua_newstate=D("lua_newstate"),m._free=D("free"),m._realloc=D("realloc");var qa=m._fflush=D("fflush");m._luaL_checkversion_=D("luaL_checkversion_"),m._luaopen_base=D("luaopen_base"),m._luaopen_coroutine=D("luaopen_coroutine"),m._lua_newthread=D("lua_newthread"),m._lua_yieldk=D("lua_yieldk"),m._lua_isyieldable=D("lua_isyieldable"),m._lua_resetthread=D("lua_resetthread"),m._lua_resume=D("lua_resume"),m._luaopen_debug=D("luaopen_debug"),m._lua_gethookmask=D("lua_gethookmask"),m._lua_gethook=D("lua_gethook"),m._lua_gethookcount=D("lua_gethookcount"),m._lua_getlocal=D("lua_getlocal"),m._lua_sethook=D("lua_sethook"),m._lua_setlocal=D("lua_setlocal"),m._lua_setcstacklimit=D("lua_setcstacklimit");var Il=m._malloc=D("malloc");m._luaL_openlibs=D("luaL_openlibs"),m._luaopen_package=D("luaopen_package"),m._luaopen_table=D("luaopen_table"),m._luaopen_io=D("luaopen_io"),m._luaopen_os=D("luaopen_os"),m._luaopen_string=D("luaopen_string"),m._luaopen_math=D("luaopen_math"),m._luaopen_utf8=D("luaopen_utf8"),m._lua_close=D("lua_close");var Dl=D("setThrew"),Ha=()=>(Ha=Bt.emscripten_stack_init)(),ti=()=>(ti=Bt.emscripten_stack_get_end)(),Ga=D("stackSave"),$a=D("stackRestore"),Wa=D("stackAlloc");function Fl(n,s,d){var b=Ga();try{Zn(n)(s,d)}catch(k){if($a(b),k!==k+0)throw k;Dl(1,0)}}m.ENV=Xr,m.ccall=(n,s,d,b)=>{var k={string:te=>{var me=0;if(te!=null&&te!==0){me=rr(te)+1;var re=Wa(me);Kr(te,re,me),me=re}return me},array:te=>{var me=Wa(te.length);return Ua(te,me),me}};n=Cl(n);var C=[],z=0;if(M(s!=="array",'Return type should not be "array".'),b)for(var Q=0;Q<b.length;Q++){var ge=k[d[Q]];ge?(z===0&&(z=Ga()),C[Q]=ge(b[Q])):C[Q]=b[Q]}return d=n.apply(null,C),d=(function(te){return z!==0&&$a(z),s==="string"?nt(te):s==="boolean"?!!te:te})(d)},m.addFunction=(n,s)=>{if(M(typeof n<"u"),!Ot){Ot=new WeakMap;var d=$e.length;if(Ot)for(var b=0;b<0+d;b++){var k=Zn(b);k&&Ot.set(k,b)}}if(d=Ot.get(n)||0)return d;if(Qn.length)d=Qn.pop();else{try{$e.grow(1)}catch(Q){throw Q instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":Q}d=$e.length-1}try{b=d,$e.set(b,n),Nt[b]=$e.get(b)}catch(Q){if(!(Q instanceof TypeError))throw Q;if(M(typeof s<"u","Missing signature argument to addFunction: "+n),typeof WebAssembly.Function=="function"){b=WebAssembly.Function,k={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var C={parameters:[],results:s[0]=="v"?[]:[k[s[0]]]},z=1;z<s.length;++z)M(s[z]in k,"invalid signature char: "+s[z]),C.parameters.push(k[s[z]]);s=new b(C,n)}else{for(b=[1],k=s.slice(0,1),s=s.slice(1),C={i:127,p:127,j:126,f:125,d:124,e:111},b.push(96),z=s.length,M(16384>z),128>z?b.push(z):b.push(z%128|128,z>>7),z=0;z<s.length;++z)M(s[z]in C,"invalid signature char: "+s[z]),b.push(C[s[z]]);k=="v"?b.push(0):b.push(1,C[k]),s=[0,97,115,109,1,0,0,0,1],k=b.length,M(16384>k),128>k?s.push(k):s.push(k%128|128,k>>7),s.push.apply(s,b),s.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),s=new WebAssembly.Module(new Uint8Array(s)),s=new WebAssembly.Instance(s,{e:{f:n}}).exports.f}b=d,$e.set(b,s),Nt[b]=$e.get(b)}return Ot.set(n,d),d},m.removeFunction=n=>{Ot.delete(Zn(n)),$e.set(n,null),Nt[n]=$e.get(n),Qn.push(n)},m.setValue=function(n,s,d="i8"){switch(d.endsWith("*")&&(d="*"),d){case"i1":Z[n>>0]=s;break;case"i8":Z[n>>0]=s;break;case"i16":ke[n>>1]=s;break;case"i32":J[n>>2]=s;break;case"i64":tt[n>>3]=BigInt(s);break;case"float":Ge[n>>2]=s;break;case"double":ct[n>>3]=s;break;case"*":xe[n>>2]=s;break;default:Le(`invalid type for setValue: ${d}`)}},m.getValue=function(n,s="i8"){switch(s.endsWith("*")&&(s="*"),s){case"i1":return Z[n>>0];case"i8":return Z[n>>0];case"i16":return ke[n>>1];case"i32":return J[n>>2];case"i64":return tt[n>>3];case"float":return Ge[n>>2];case"double":return ct[n>>3];case"*":return xe[n>>2];default:Le(`invalid type for getValue: ${s}`)}},m.stringToUTF8=Kr,m.lengthBytesUTF8=rr,m.stringToNewUTF8=Kn,m.FS=w,"writeI53ToI64 writeI53ToI64Clamped writeI53ToI64Signaling writeI53ToU64Clamped writeI53ToU64Signaling readI53FromI64 readI53FromU64 convertI32PairToI53 convertI32PairToI53Checked convertU32PairToI53 inetPton4 inetNtop4 inetPton6 inetNtop6 readSockaddr writeSockaddr getHostByName getCallstack emscriptenLog convertPCtoSourceLocation readEmAsmArgs jstoi_q jstoi_s listenOnce autoResumeAudioContext getDynCaller dynCall handleException runtimeKeepalivePush runtimeKeepalivePop callUserCallback maybeExit asmjsMangle handleAllocatorInit HandleAllocator getNativeTypeSize STACK_SIZE STACK_ALIGN POINTER_SIZE ASSERTIONS cwrap reallyNegative unSign strLen reSign formatString intArrayToString AsciiToString UTF16ToString stringToUTF16 lengthBytesUTF16 UTF32ToString stringToUTF32 lengthBytesUTF32 registerKeyEventCallback maybeCStringToJsString findEventTarget findCanvasEventTarget getBoundingClientRect fillMouseEventData registerMouseEventCallback registerWheelEventCallback registerUiEventCallback registerFocusEventCallback fillDeviceOrientationEventData registerDeviceOrientationEventCallback fillDeviceMotionEventData registerDeviceMotionEventCallback screenOrientation fillOrientationChangeEventData registerOrientationChangeEventCallback fillFullscreenChangeEventData registerFullscreenChangeEventCallback JSEvents_requestFullscreen JSEvents_resizeCanvasForFullscreen registerRestoreOldStyle hideEverythingExceptGivenElement restoreHiddenElements setLetterbox softFullscreenResizeWebGLRenderTarget doRequestFullscreen fillPointerlockChangeEventData registerPointerlockChangeEventCallback registerPointerlockErrorEventCallback requestPointerLock fillVisibilityChangeEventData registerVisibilityChangeEventCallback registerTouchEventCallback fillGamepadEventData registerGamepadEventCallback registerBeforeUnloadEventCallback fillBatteryEventData battery registerBatteryEventCallback setCanvasElementSize getCanvasElementSize jsStackTrace stackTrace checkWasiClock wasiRightsToMuslOFlags wasiOFlagsToMuslOFlags createDyncallWrapper safeSetTimeout setImmediateWrapped clearImmediateWrapped polyfillSetImmediate getPromise makePromise idsToPromises makePromiseCallback setMainLoop getSocketFromFD getSocketAddress FS_unlink FS_mkdirTree _setNetworkCallback".split(" ").forEach(function(n){typeof globalThis>"u"||Object.getOwnPropertyDescriptor(globalThis,n)||Object.defineProperty(globalThis,n,{configurable:!0,get(){var s=`\`${n}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,d=n;d.startsWith("_")||(d="$"+n),s+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${d}')`,_a(n)&&(s+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),er(s)}}),wa(n)}),"run addOnPreRun addOnInit addOnPreMain addOnExit addOnPostRun addRunDependency removeRunDependency FS_createFolder FS_createPath FS_createLazyFile FS_createLink FS_createDevice FS_readFile out err callMain abort wasmMemory wasmExports stackAlloc stackSave stackRestore getTempRet0 setTempRet0 writeStackCookie checkStackCookie MAX_INT53 MIN_INT53 bigintToI53Checked ptrToString zeroMemory exitJS getHeapMax growMemory MONTH_DAYS_REGULAR MONTH_DAYS_LEAP MONTH_DAYS_REGULAR_CUMULATIVE MONTH_DAYS_LEAP_CUMULATIVE isLeapYear ydayFromDate arraySum addDays ERRNO_CODES ERRNO_MESSAGES setErrNo DNS Protocols Sockets initRandomFill randomFill timers warnOnce UNWIND_CACHE readEmAsmArgsArray getExecutableName keepRuntimeAlive asyncLoad alignMemory mmapAlloc wasmTable noExitRuntime getCFunc uleb128Encode sigToWasmTypes generateFuncType convertJsFunctionToWasm freeTableIndexes functionsInTableMap getEmptyTableSlot updateTableMap getFunctionAddress PATH PATH_FS UTF8Decoder UTF8ArrayToString UTF8ToString stringToUTF8Array intArrayFromString stringToAscii UTF16Decoder stringToUTF8OnStack writeArrayToMemory JSEvents specialHTMLTargets currentFullscreenStrategy restoreOldWindowedStyle demangle demangleAll ExitStatus getEnvStrings doReadv doWritev promiseMap Browser wget SYSCALLS preloadPlugins FS_createPreloadedFile FS_modeStringToFlags FS_getMode FS_stdin_getChar_buffer FS_stdin_getChar FS_createDataFile MEMFS TTY PIPEFS SOCKFS".split(" ").forEach(wa);var Zr;xr=function n(){Zr||Ya(),Zr||(xr=n)};function Ya(){if(!(0<kr)){Ha();var n=ti();if(M((n&3)==0),n==0&&(n+=4),xe[n>>2]=34821223,xe[n+4>>2]=2310721022,xe[0]=1668509029,m.preRun)for(typeof m.preRun=="function"&&(m.preRun=[m.preRun]);m.preRun.length;)n=m.preRun.shift(),Mn.unshift(n);for(;0<Mn.length;)Mn.shift()(m);if(!(0<kr)){if(!Zr&&(Zr=!0,m.calledRun=!0,!B)){for(M(!On),On=!0,rt(),m.noFSInit||w.R.Y||w.R(),w.ta=!1;0<Nn.length;)Nn.shift()(m);for(S(m),M(!m._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),rt();0<da.length;)da.shift()(m)}rt()}}}function Pl(){var n=yt,s=Se,d=!1;yt=Se=()=>{d=!0};try{qa(0),["stdout","stderr"].forEach(function(b){(b=Pa("/dev/"+b))&&(b=qn[b.object.rdev])&&b.output&&b.output.length&&(d=!0)})}catch{}yt=n,Se=s,d&&er("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}return Ya(),l.ready})})();class ze{static async initialize(l,m){let S=await He({locateFile:(L,V)=>l||V+L,preRun:L=>{typeof m=="object"&&Object.entries(m).forEach(([V,Y])=>L.ENV[V]=Y)}});return new ze(S)}constructor(l){this.referenceTracker=new WeakMap,this.referenceMap=new Map,this.availableReferences=[],this.module=l,this.luaL_checkversion_=this.cwrap("luaL_checkversion_",null,["number","number","number"]),this.luaL_getmetafield=this.cwrap("luaL_getmetafield","number",["number","number","string"]),this.luaL_callmeta=this.cwrap("luaL_callmeta","number",["number","number","string"]),this.luaL_tolstring=this.cwrap("luaL_tolstring","string",["number","number","number"]),this.luaL_argerror=this.cwrap("luaL_argerror","number",["number","number","string"]),this.luaL_typeerror=this.cwrap("luaL_typeerror","number",["number","number","string"]),this.luaL_checklstring=this.cwrap("luaL_checklstring","string",["number","number","number"]),this.luaL_optlstring=this.cwrap("luaL_optlstring","string",["number","number","string","number"]),this.luaL_checknumber=this.cwrap("luaL_checknumber","number",["number","number"]),this.luaL_optnumber=this.cwrap("luaL_optnumber","number",["number","number","number"]),this.luaL_checkinteger=this.cwrap("luaL_checkinteger","number",["number","number"]),this.luaL_optinteger=this.cwrap("luaL_optinteger","number",["number","number","number"]),this.luaL_checkstack=this.cwrap("luaL_checkstack",null,["number","number","string"]),this.luaL_checktype=this.cwrap("luaL_checktype",null,["number","number","number"]),this.luaL_checkany=this.cwrap("luaL_checkany",null,["number","number"]),this.luaL_newmetatable=this.cwrap("luaL_newmetatable","number",["number","string"]),this.luaL_setmetatable=this.cwrap("luaL_setmetatable",null,["number","string"]),this.luaL_testudata=this.cwrap("luaL_testudata","number",["number","number","string"]),this.luaL_checkudata=this.cwrap("luaL_checkudata","number",["number","number","string"]),this.luaL_where=this.cwrap("luaL_where",null,["number","number"]),this.luaL_fileresult=this.cwrap("luaL_fileresult","number",["number","number","string"]),this.luaL_execresult=this.cwrap("luaL_execresult","number",["number","number"]),this.luaL_ref=this.cwrap("luaL_ref","number",["number","number"]),this.luaL_unref=this.cwrap("luaL_unref",null,["number","number","number"]),this.luaL_loadfilex=this.cwrap("luaL_loadfilex","number",["number","string","string"]),this.luaL_loadbufferx=this.cwrap("luaL_loadbufferx","number",["number","string|number","number","string|number","string"]),this.luaL_loadstring=this.cwrap("luaL_loadstring","number",["number","string"]),this.luaL_newstate=this.cwrap("luaL_newstate","number",[]),this.luaL_len=this.cwrap("luaL_len","number",["number","number"]),this.luaL_addgsub=this.cwrap("luaL_addgsub",null,["number","string","string","string"]),this.luaL_gsub=this.cwrap("luaL_gsub","string",["number","string","string","string"]),this.luaL_setfuncs=this.cwrap("luaL_setfuncs",null,["number","number","number"]),this.luaL_getsubtable=this.cwrap("luaL_getsubtable","number",["number","number","string"]),this.luaL_traceback=this.cwrap("luaL_traceback",null,["number","number","string","number"]),this.luaL_requiref=this.cwrap("luaL_requiref",null,["number","string","number","number"]),this.luaL_buffinit=this.cwrap("luaL_buffinit",null,["number","number"]),this.luaL_prepbuffsize=this.cwrap("luaL_prepbuffsize","string",["number","number"]),this.luaL_addlstring=this.cwrap("luaL_addlstring",null,["number","string","number"]),this.luaL_addstring=this.cwrap("luaL_addstring",null,["number","string"]),this.luaL_addvalue=this.cwrap("luaL_addvalue",null,["number"]),this.luaL_pushresult=this.cwrap("luaL_pushresult",null,["number"]),this.luaL_pushresultsize=this.cwrap("luaL_pushresultsize",null,["number","number"]),this.luaL_buffinitsize=this.cwrap("luaL_buffinitsize","string",["number","number","number"]),this.lua_newstate=this.cwrap("lua_newstate","number",["number","number"]),this.lua_close=this.cwrap("lua_close",null,["number"]),this.lua_newthread=this.cwrap("lua_newthread","number",["number"]),this.lua_resetthread=this.cwrap("lua_resetthread","number",["number"]),this.lua_atpanic=this.cwrap("lua_atpanic","number",["number","number"]),this.lua_version=this.cwrap("lua_version","number",["number"]),this.lua_absindex=this.cwrap("lua_absindex","number",["number","number"]),this.lua_gettop=this.cwrap("lua_gettop","number",["number"]),this.lua_settop=this.cwrap("lua_settop",null,["number","number"]),this.lua_pushvalue=this.cwrap("lua_pushvalue",null,["number","number"]),this.lua_rotate=this.cwrap("lua_rotate",null,["number","number","number"]),this.lua_copy=this.cwrap("lua_copy",null,["number","number","number"]),this.lua_checkstack=this.cwrap("lua_checkstack","number",["number","number"]),this.lua_xmove=this.cwrap("lua_xmove",null,["number","number","number"]),this.lua_isnumber=this.cwrap("lua_isnumber","number",["number","number"]),this.lua_isstring=this.cwrap("lua_isstring","number",["number","number"]),this.lua_iscfunction=this.cwrap("lua_iscfunction","number",["number","number"]),this.lua_isinteger=this.cwrap("lua_isinteger","number",["number","number"]),this.lua_isuserdata=this.cwrap("lua_isuserdata","number",["number","number"]),this.lua_type=this.cwrap("lua_type","number",["number","number"]),this.lua_typename=this.cwrap("lua_typename","string",["number","number"]),this.lua_tonumberx=this.cwrap("lua_tonumberx","number",["number","number","number"]),this.lua_tointegerx=this.cwrap("lua_tointegerx","number",["number","number","number"]),this.lua_toboolean=this.cwrap("lua_toboolean","number",["number","number"]),this.lua_tolstring=this.cwrap("lua_tolstring","string",["number","number","number"]),this.lua_rawlen=this.cwrap("lua_rawlen","number",["number","number"]),this.lua_tocfunction=this.cwrap("lua_tocfunction","number",["number","number"]),this.lua_touserdata=this.cwrap("lua_touserdata","number",["number","number"]),this.lua_tothread=this.cwrap("lua_tothread","number",["number","number"]),this.lua_topointer=this.cwrap("lua_topointer","number",["number","number"]),this.lua_arith=this.cwrap("lua_arith",null,["number","number"]),this.lua_rawequal=this.cwrap("lua_rawequal","number",["number","number","number"]),this.lua_compare=this.cwrap("lua_compare","number",["number","number","number","number"]),this.lua_pushnil=this.cwrap("lua_pushnil",null,["number"]),this.lua_pushnumber=this.cwrap("lua_pushnumber",null,["number","number"]),this.lua_pushinteger=this.cwrap("lua_pushinteger",null,["number","number"]),this.lua_pushlstring=this.cwrap("lua_pushlstring","string",["number","string|number","number"]),this.lua_pushstring=this.cwrap("lua_pushstring","string",["number","string|number"]),this.lua_pushcclosure=this.cwrap("lua_pushcclosure",null,["number","number","number"]),this.lua_pushboolean=this.cwrap("lua_pushboolean",null,["number","number"]),this.lua_pushlightuserdata=this.cwrap("lua_pushlightuserdata",null,["number","number"]),this.lua_pushthread=this.cwrap("lua_pushthread","number",["number"]),this.lua_getglobal=this.cwrap("lua_getglobal","number",["number","string"]),this.lua_gettable=this.cwrap("lua_gettable","number",["number","number"]),this.lua_getfield=this.cwrap("lua_getfield","number",["number","number","string"]),this.lua_geti=this.cwrap("lua_geti","number",["number","number","number"]),this.lua_rawget=this.cwrap("lua_rawget","number",["number","number"]),this.lua_rawgeti=this.cwrap("lua_rawgeti","number",["number","number","number"]),this.lua_rawgetp=this.cwrap("lua_rawgetp","number",["number","number","number"]),this.lua_createtable=this.cwrap("lua_createtable",null,["number","number","number"]),this.lua_newuserdatauv=this.cwrap("lua_newuserdatauv","number",["number","number","number"]),this.lua_getmetatable=this.cwrap("lua_getmetatable","number",["number","number"]),this.lua_getiuservalue=this.cwrap("lua_getiuservalue","number",["number","number","number"]),this.lua_setglobal=this.cwrap("lua_setglobal",null,["number","string"]),this.lua_settable=this.cwrap("lua_settable",null,["number","number"]),this.lua_setfield=this.cwrap("lua_setfield",null,["number","number","string"]),this.lua_seti=this.cwrap("lua_seti",null,["number","number","number"]),this.lua_rawset=this.cwrap("lua_rawset",null,["number","number"]),this.lua_rawseti=this.cwrap("lua_rawseti",null,["number","number","number"]),this.lua_rawsetp=this.cwrap("lua_rawsetp",null,["number","number","number"]),this.lua_setmetatable=this.cwrap("lua_setmetatable","number",["number","number"]),this.lua_setiuservalue=this.cwrap("lua_setiuservalue","number",["number","number","number"]),this.lua_callk=this.cwrap("lua_callk",null,["number","number","number","number","number"]),this.lua_pcallk=this.cwrap("lua_pcallk","number",["number","number","number","number","number","number"]),this.lua_load=this.cwrap("lua_load","number",["number","number","number","string","string"]),this.lua_dump=this.cwrap("lua_dump","number",["number","number","number","number"]),this.lua_yieldk=this.cwrap("lua_yieldk","number",["number","number","number","number"]),this.lua_resume=this.cwrap("lua_resume","number",["number","number","number","number"]),this.lua_status=this.cwrap("lua_status","number",["number"]),this.lua_isyieldable=this.cwrap("lua_isyieldable","number",["number"]),this.lua_setwarnf=this.cwrap("lua_setwarnf",null,["number","number","number"]),this.lua_warning=this.cwrap("lua_warning",null,["number","string","number"]),this.lua_error=this.cwrap("lua_error","number",["number"]),this.lua_next=this.cwrap("lua_next","number",["number","number"]),this.lua_concat=this.cwrap("lua_concat",null,["number","number"]),this.lua_len=this.cwrap("lua_len",null,["number","number"]),this.lua_stringtonumber=this.cwrap("lua_stringtonumber","number",["number","string"]),this.lua_getallocf=this.cwrap("lua_getallocf","number",["number","number"]),this.lua_setallocf=this.cwrap("lua_setallocf",null,["number","number","number"]),this.lua_toclose=this.cwrap("lua_toclose",null,["number","number"]),this.lua_closeslot=this.cwrap("lua_closeslot",null,["number","number"]),this.lua_getstack=this.cwrap("lua_getstack","number",["number","number","number"]),this.lua_getinfo=this.cwrap("lua_getinfo","number",["number","string","number"]),this.lua_getlocal=this.cwrap("lua_getlocal","string",["number","number","number"]),this.lua_setlocal=this.cwrap("lua_setlocal","string",["number","number","number"]),this.lua_getupvalue=this.cwrap("lua_getupvalue","string",["number","number","number"]),this.lua_setupvalue=this.cwrap("lua_setupvalue","string",["number","number","number"]),this.lua_upvalueid=this.cwrap("lua_upvalueid","number",["number","number","number"]),this.lua_upvaluejoin=this.cwrap("lua_upvaluejoin",null,["number","number","number","number","number"]),this.lua_sethook=this.cwrap("lua_sethook",null,["number","number","number","number"]),this.lua_gethook=this.cwrap("lua_gethook","number",["number"]),this.lua_gethookmask=this.cwrap("lua_gethookmask","number",["number"]),this.lua_gethookcount=this.cwrap("lua_gethookcount","number",["number"]),this.lua_setcstacklimit=this.cwrap("lua_setcstacklimit","number",["number","number"]),this.luaopen_base=this.cwrap("luaopen_base","number",["number"]),this.luaopen_coroutine=this.cwrap("luaopen_coroutine","number",["number"]),this.luaopen_table=this.cwrap("luaopen_table","number",["number"]),this.luaopen_io=this.cwrap("luaopen_io","number",["number"]),this.luaopen_os=this.cwrap("luaopen_os","number",["number"]),this.luaopen_string=this.cwrap("luaopen_string","number",["number"]),this.luaopen_utf8=this.cwrap("luaopen_utf8","number",["number"]),this.luaopen_math=this.cwrap("luaopen_math","number",["number"]),this.luaopen_debug=this.cwrap("luaopen_debug","number",["number"]),this.luaopen_package=this.cwrap("luaopen_package","number",["number"]),this.luaL_openlibs=this.cwrap("luaL_openlibs",null,["number"])}lua_remove(l,m){this.lua_rotate(l,m,-1),this.lua_pop(l,1)}lua_pop(l,m){this.lua_settop(l,-m-1)}luaL_getmetatable(l,m){return this.lua_getfield(l,a,m)}lua_yield(l,m){return this.lua_yieldk(l,m,0,null)}lua_upvalueindex(l){return a-l}ref(l){let m=this.referenceTracker.get(l);if(m)return m.refCount++,m.index;let S=this.availableReferences.pop(),L=S===void 0?this.referenceMap.size+1:S;return this.referenceMap.set(L,l),this.referenceTracker.set(l,{refCount:1,index:L}),this.lastRefIndex=L,L}unref(l){let m=this.referenceMap.get(l);if(m===void 0)return;let S=this.referenceTracker.get(m);if(S===void 0){this.referenceTracker.delete(m),this.availableReferences.push(l);return}S.refCount--,S.refCount<=0&&(this.referenceTracker.delete(m),this.referenceMap.delete(l),this.availableReferences.push(l))}getRef(l){return this.referenceMap.get(l)}getLastRefIndex(){return this.lastRefIndex}printRefs(){for(let[l,m]of this.referenceMap.entries())console.log(l,m)}cwrap(l,m,S){return S.some(V=>V==="string|number")?(...V)=>{let Y=[],oe=S.map((X,de)=>{var pe;if(X==="string|number"){if(typeof V[de]=="number")return"number";if(((pe=V[de])===null||pe===void 0?void 0:pe.length)>1024){let _e=this.module.stringToNewUTF8(V[de]);return V[de]=_e,Y.push(_e),"number"}else return"string"}return X});try{return this.module.ccall(l,m,oe,V)}finally{for(let X of Y)this.module._free(X)}}:(...V)=>this.module.ccall(l,m,S,V)}}var v="1.16.0";class qe{constructor(l,m){var S;l===void 0&&(typeof window=="object"&&typeof window.document<"u"||typeof self=="object"&&((S=self?.constructor)===null||S===void 0?void 0:S.name)==="DedicatedWorkerGlobalScope")&&(l=`https://unpkg.com/wasmoon@${v}/dist/glue.wasm`),this.luaWasmPromise=ze.initialize(l,m)}async mountFile(l,m){this.mountFileSync(await this.getLuaModule(),l,m)}mountFileSync(l,m,S){let L=m.lastIndexOf("/"),V=m.substring(L+1),Y=m.substring(0,m.length-V.length-1);if(Y.length>0){let oe=Y.split("/").reverse(),X="";for(;oe.length;){let de=oe.pop();if(!de)continue;let pe=`${X}/${de}`;try{l.module.FS.mkdir(pe)}catch{}X=pe}}l.module.FS.writeFile(m,S)}async createEngine(l={}){return new Te(await this.getLuaModule(),l)}async getLuaModule(){return this.luaWasmPromise}}e.Decoration=c,e.LUAI_MAXSTACK=o,e.LUA_MULTRET=i,e.LUA_REGISTRYINDEX=a,e.LuaEngine=Te,e.LuaFactory=qe,e.LuaGlobal=_,e.LuaMultiReturn=h,e.LuaRawResult=E,e.LuaThread=y,e.LuaTimeoutError=u,e.LuaTypeExtension=x,e.LuaWasm=ze,e.PointerSize=t,e.decorate=f,e.decorateFunction=N,e.decorateProxy=j,e.decorateUserdata=ne}))});function oi(e){if(e)throw e}var tn=zt(ns(),1);function Tr(e){if(typeof e!="object"||e===null)return!1;let r=Object.getPrototypeOf(e);return(r===null||r===Object.prototype||Object.getPrototypeOf(r)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function ai(){let e=[],r={run:t,use:i};return r;function t(...o){let a=-1,u=o.pop();if(typeof u!="function")throw new TypeError("Expected function as last argument, not "+u);c(null,...o);function c(f,...p){let h=e[++a],g=-1;if(f){u(f);return}for(;++g<o.length;)(p[g]===null||p[g]===void 0)&&(p[g]=o[g]);o=p,h?is(h,c)(...p):u(null,...p)}}function i(o){if(typeof o!="function")throw new TypeError("Expected `middelware` to be a function, not "+o);return e.push(o),r}}function is(e,r){let t;return i;function i(...u){let c=e.length>u.length,f;c&&u.push(o);try{f=e.apply(this,u)}catch(p){let h=p;if(c&&t)throw h;return o(h)}c||(f&&f.then&&typeof f.then=="function"?f.then(a,o):f instanceof Error?o(f):a(f))}function o(u,...c){t||(t=!0,r(u,...c))}function a(u){o(null,u)}}function kt(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?os(e.position):"start"in e||"end"in e?os(e):"line"in e||"column"in e?si(e):""}function si(e){return as(e&&e.line)+":"+as(e&&e.column)}function os(e){return si(e&&e.start)+"-"+si(e&&e.end)}function as(e){return e&&typeof e=="number"?e:1}var De=class extends Error{constructor(r,t,i){super(),typeof t=="string"&&(i=t,t=void 0);let o="",a={},u=!1;if(t&&("line"in t&&"column"in t?a={place:t}:"start"in t&&"end"in t?a={place:t}:"type"in t?a={ancestors:[t],place:t.position}:a={...t}),typeof r=="string"?o=r:!a.cause&&r&&(u=!0,o=r.message,a.cause=r),!a.ruleId&&!a.source&&typeof i=="string"){let f=i.indexOf(":");f===-1?a.ruleId=i:(a.source=i.slice(0,f),a.ruleId=i.slice(f+1))}if(!a.place&&a.ancestors&&a.ancestors){let f=a.ancestors[a.ancestors.length-1];f&&(a.place=f.position)}let c=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=c?c.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=c?c.line:void 0,this.name=kt(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=u&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};De.prototype.file="";De.prototype.name="";De.prototype.reason="";De.prototype.message="";De.prototype.stack="";De.prototype.column=void 0;De.prototype.line=void 0;De.prototype.ancestors=void 0;De.prototype.cause=void 0;De.prototype.fatal=void 0;De.prototype.place=void 0;De.prototype.ruleId=void 0;De.prototype.source=void 0;var et={basename:jl,dirname:ql,extname:Hl,join:Gl,sep:"/"};function jl(e,r){if(r!==void 0&&typeof r!="string")throw new TypeError('"ext" argument must be a string');Ar(e);let t=0,i=-1,o=e.length,a;if(r===void 0||r.length===0||r.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(a){t=o+1;break}}else i<0&&(a=!0,i=o+1);return i<0?"":e.slice(t,i)}if(r===e)return"";let u=-1,c=r.length-1;for(;o--;)if(e.codePointAt(o)===47){if(a){t=o+1;break}}else u<0&&(a=!0,u=o+1),c>-1&&(e.codePointAt(o)===r.codePointAt(c--)?c<0&&(i=o):(c=-1,i=u));return t===i?i=u:i<0&&(i=e.length),e.slice(t,i)}function ql(e){if(Ar(e),e.length===0)return".";let r=-1,t=e.length,i;for(;--t;)if(e.codePointAt(t)===47){if(i){r=t;break}}else i||(i=!0);return r<0?e.codePointAt(0)===47?"/":".":r===1&&e.codePointAt(0)===47?"//":e.slice(0,r)}function Hl(e){Ar(e);let r=e.length,t=-1,i=0,o=-1,a=0,u;for(;r--;){let c=e.codePointAt(r);if(c===47){if(u){i=r+1;break}continue}t<0&&(u=!0,t=r+1),c===46?o<0?o=r:a!==1&&(a=1):o>-1&&(a=-1)}return o<0||t<0||a===0||a===1&&o===t-1&&o===i+1?"":e.slice(o,t)}function Gl(...e){let r=-1,t;for(;++r<e.length;)Ar(e[r]),e[r]&&(t=t===void 0?e[r]:t+"/"+e[r]);return t===void 0?".":$l(t)}function $l(e){Ar(e);let r=e.codePointAt(0)===47,t=Wl(e,!r);return t.length===0&&!r&&(t="."),t.length>0&&e.codePointAt(e.length-1)===47&&(t+="/"),r?"/"+t:t}function Wl(e,r){let t="",i=0,o=-1,a=0,u=-1,c,f;for(;++u<=e.length;){if(u<e.length)c=e.codePointAt(u);else{if(c===47)break;c=47}if(c===47){if(!(o===u-1||a===1))if(o!==u-1&&a===2){if(t.length<2||i!==2||t.codePointAt(t.length-1)!==46||t.codePointAt(t.length-2)!==46){if(t.length>2){if(f=t.lastIndexOf("/"),f!==t.length-1){f<0?(t="",i=0):(t=t.slice(0,f),i=t.length-1-t.lastIndexOf("/")),o=u,a=0;continue}}else if(t.length>0){t="",i=0,o=u,a=0;continue}}r&&(t=t.length>0?t+"/..":"..",i=2)}else t.length>0?t+="/"+e.slice(o+1,u):t=e.slice(o+1,u),i=u-o-1;o=u,a=0}else c===46&&a>-1?a++:a=-1}return t}function Ar(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var ss={cwd:Yl};function Yl(){return"/"}function or(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function us(e){if(typeof e=="string")e=new URL(e);else if(!or(e)){let r=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw r.code="ERR_INVALID_ARG_TYPE",r}if(e.protocol!=="file:"){let r=new TypeError("The URL must be of scheme file");throw r.code="ERR_INVALID_URL_SCHEME",r}return Jl(e)}function Jl(e){if(e.hostname!==""){let i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}let r=e.pathname,t=-1;for(;++t<r.length;)if(r.codePointAt(t)===37&&r.codePointAt(t+1)===50){let i=r.codePointAt(t+2);if(i===70||i===102){let o=new TypeError("File URL path must not include encoded / characters");throw o.code="ERR_INVALID_FILE_URL_PATH",o}}return decodeURIComponent(r)}var ui=["history","path","basename","stem","extname","dirname"],Rr=class{constructor(r){let t;r?or(r)?t={path:r}:typeof r=="string"||Kl(r)?t={value:r}:t=r:t={},this.cwd="cwd"in t?"":ss.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let i=-1;for(;++i<ui.length;){let a=ui[i];a in t&&t[a]!==void 0&&t[a]!==null&&(this[a]=a==="history"?[...t[a]]:t[a])}let o;for(o in t)ui.includes(o)||(this[o]=t[o])}get basename(){return typeof this.path=="string"?et.basename(this.path):void 0}set basename(r){ci(r,"basename"),li(r,"basename"),this.path=et.join(this.dirname||"",r)}get dirname(){return typeof this.path=="string"?et.dirname(this.path):void 0}set dirname(r){ls(this.basename,"dirname"),this.path=et.join(r||"",this.basename)}get extname(){return typeof this.path=="string"?et.extname(this.path):void 0}set extname(r){if(li(r,"extname"),ls(this.dirname,"extname"),r){if(r.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(r.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=et.join(this.dirname,this.stem+(r||""))}get path(){return this.history[this.history.length-1]}set path(r){or(r)&&(r=us(r)),ci(r,"path"),this.path!==r&&this.history.push(r)}get stem(){return typeof this.path=="string"?et.basename(this.path,this.extname):void 0}set stem(r){ci(r,"stem"),li(r,"stem"),this.path=et.join(this.dirname||"",r+(this.extname||""))}fail(r,t,i){let o=this.message(r,t,i);throw o.fatal=!0,o}info(r,t,i){let o=this.message(r,t,i);return o.fatal=void 0,o}message(r,t,i){let o=new De(r,t,i);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(r){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(r||void 0).decode(this.value)}};function li(e,r){if(e&&e.includes(et.sep))throw new Error("`"+r+"` cannot be a path: did not expect `"+et.sep+"`")}function ci(e,r){if(!e)throw new Error("`"+r+"` cannot be empty")}function ls(e,r){if(!e)throw new Error("Setting `"+r+"` requires `path` to be set too")}function Kl(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var cs=(function(e){let i=this.constructor.prototype,o=i[e],a=function(){return o.apply(a,arguments)};return Object.setPrototypeOf(a,i),a});var Xl={}.hasOwnProperty,mi=class e extends cs{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=ai()}copy(){let r=new e,t=-1;for(;++t<this.attachers.length;){let i=this.attachers[t];r.use(...i)}return r.data((0,tn.default)(!0,{},this.namespace)),r}data(r,t){return typeof r=="string"?arguments.length===2?(pi("data",this.frozen),this.namespace[r]=t,this):Xl.call(this.namespace,r)&&this.namespace[r]||void 0:r?(pi("data",this.frozen),this.namespace=r,this):this.namespace}freeze(){if(this.frozen)return this;let r=this;for(;++this.freezeIndex<this.attachers.length;){let[t,...i]=this.attachers[this.freezeIndex];if(i[0]===!1)continue;i[0]===!0&&(i[0]=void 0);let o=t.call(r,...i);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(r){this.freeze();let t=en(r),i=this.parser||this.Parser;return fi("parse",i),i(String(t),t)}process(r,t){let i=this;return this.freeze(),fi("process",this.parser||this.Parser),di("process",this.compiler||this.Compiler),t?o(void 0,t):new Promise(o);function o(a,u){let c=en(r),f=i.parse(c);i.run(f,c,function(h,g,y){if(h||!g||!y)return p(h);let _=g,x=i.stringify(_,y);Ql(x)?y.value=x:y.result=x,p(h,y)});function p(h,g){h||!g?u(h):a?a(g):t(void 0,g)}}}processSync(r){let t=!1,i;return this.freeze(),fi("processSync",this.parser||this.Parser),di("processSync",this.compiler||this.Compiler),this.process(r,o),ds("processSync","process",t),i;function o(a,u){t=!0,oi(a),i=u}}run(r,t,i){fs(r),this.freeze();let o=this.transformers;return!i&&typeof t=="function"&&(i=t,t=void 0),i?a(void 0,i):new Promise(a);function a(u,c){let f=en(t);o.run(r,f,p);function p(h,g,y){let _=g||r;h?c(h):u?u(_):i(void 0,_,y)}}}runSync(r,t){let i=!1,o;return this.run(r,t,a),ds("runSync","run",i),o;function a(u,c){oi(u),o=c,i=!0}}stringify(r,t){this.freeze();let i=en(t),o=this.compiler||this.Compiler;return di("stringify",o),fs(r),o(r,i)}use(r,...t){let i=this.attachers,o=this.namespace;if(pi("use",this.frozen),r!=null)if(typeof r=="function")f(r,t);else if(typeof r=="object")Array.isArray(r)?c(r):u(r);else throw new TypeError("Expected usable value, not `"+r+"`");return this;function a(p){if(typeof p=="function")f(p,[]);else if(typeof p=="object")if(Array.isArray(p)){let[h,...g]=p;f(h,g)}else u(p);else throw new TypeError("Expected usable value, not `"+p+"`")}function u(p){if(!("plugins"in p)&&!("settings"in p))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");c(p.plugins),p.settings&&(o.settings=(0,tn.default)(!0,o.settings,p.settings))}function c(p){let h=-1;if(p!=null)if(Array.isArray(p))for(;++h<p.length;){let g=p[h];a(g)}else throw new TypeError("Expected a list of plugins, not `"+p+"`")}function f(p,h){let g=-1,y=-1;for(;++g<i.length;)if(i[g][0]===p){y=g;break}if(y===-1)i.push([p,...h]);else if(h.length>0){let[_,...x]=h,A=i[y][1];Tr(A)&&Tr(_)&&(_=(0,tn.default)(!0,A,_)),i[y]=[p,_,...x]}}}},hi=new mi().freeze();function fi(e,r){if(typeof r!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function di(e,r){if(typeof r!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function pi(e,r){if(r)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function fs(e){if(!Tr(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function ds(e,r,t){if(!t)throw new Error("`"+e+"` finished async. Use `"+r+"` instead")}function en(e){return Zl(e)?e:new Rr(e)}function Zl(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function Ql(e){return typeof e=="string"||ec(e)}function ec(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var tc={};function Ut(e,r){let t=r||tc,i=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,o=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return ms(e,i,o)}function ms(e,r,t){if(rc(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(r&&"alt"in e&&e.alt)return e.alt;if("children"in e)return ps(e.children,r,t)}return Array.isArray(e)?ps(e,r,t):""}function ps(e,r,t){let i=[],o=-1;for(;++o<e.length;)i[o]=ms(e[o],r,t);return i.join("")}function rc(e){return!!(e&&typeof e=="object")}var gi={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:`
7
+ `,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"};var nc={}.hasOwnProperty;function ht(e){return nc.call(gi,e)?gi[e]:!1}function Re(e,r,t,i){let o=e.length,a=0,u;if(r<0?r=-r>o?0:o+r:r=r>o?o:r,t=t>0?t:0,i.length<1e4)u=Array.from(i),u.unshift(r,t),e.splice(...u);else for(t&&e.splice(r,t);a<i.length;)u=i.slice(a,a+1e4),u.unshift(r,0),e.splice(...u),a+=1e4,r+=1e4}function Ve(e,r){return e.length>0?(Re(e,e.length,0,r),e):r}var hs={}.hasOwnProperty;function rn(e){let r={},t=-1;for(;++t<e.length;)ic(r,e[t]);return r}function ic(e,r){let t;for(t in r){let o=(hs.call(e,t)?e[t]:void 0)||(e[t]={}),a=r[t],u;if(a)for(u in a){hs.call(o,u)||(o[u]=[]);let c=a[u];oc(o[u],Array.isArray(c)?c:c?[c]:[])}}}function oc(e,r){let t=-1,i=[];for(;++t<r.length;)(r[t].add==="after"?e:i).push(r[t]);Re(e,0,0,i)}function nn(e,r){let t=Number.parseInt(e,r);return t<9||t===11||t>13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"\uFFFD":String.fromCodePoint(t)}function Ne(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var Ce=xt(/[A-Za-z]/),Ie=xt(/[\dA-Za-z]/),gs=xt(/[#-'*+\--9=?A-Z^-~]/);function Vt(e){return e!==null&&(e<32||e===127)}var Cr=xt(/\d/),bs=xt(/[\dA-Fa-f]/),_s=xt(/[!-/:-@[-`{-~]/);function q(e){return e!==null&&e<-2}function le(e){return e!==null&&(e<0||e===32)}function ee(e){return e===-2||e===-1||e===32}var Ye=xt(/\p{P}|\p{S}/u),Oe=xt(/\s/);function xt(e){return r;function r(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function K(e,r,t,i){let o=i?i-1:Number.POSITIVE_INFINITY,a=0;return u;function u(f){return ee(f)?(e.enter(t),c(f)):r(f)}function c(f){return ee(f)&&a++<o?(e.consume(f),c):(e.exit(t),r(f))}}var ys={tokenize:ac};function ac(e){let r=e.attempt(this.parser.constructs.contentInitial,i,o),t;return r;function i(c){if(c===null){e.consume(c);return}return e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),K(e,r,"linePrefix")}function o(c){return e.enter("paragraph"),a(c)}function a(c){let f=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=f),t=f,u(c)}function u(c){if(c===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(c);return}return q(c)?(e.consume(c),e.exit("chunkText"),a):(e.consume(c),u)}}var ks={tokenize:sc},ws={tokenize:uc};function sc(e){let r=this,t=[],i=0,o,a,u;return c;function c(I){if(i<t.length){let $=t[i];return r.containerState=$[1],e.attempt($[0].continuation,f,p)(I)}return p(I)}function f(I){if(i++,r.containerState._closeFlow){r.containerState._closeFlow=void 0,o&&N();let $=r.events.length,W=$,P;for(;W--;)if(r.events[W][0]==="exit"&&r.events[W][1].type==="chunkFlow"){P=r.events[W][1].end;break}E(i);let G=$;for(;G<r.events.length;)r.events[G][1].end={...P},G++;return Re(r.events,W+1,0,r.events.slice($)),r.events.length=G,p(I)}return c(I)}function p(I){if(i===t.length){if(!o)return y(I);if(o.currentConstruct&&o.currentConstruct.concrete)return x(I);r.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return r.containerState={},e.check(ws,h,g)(I)}function h(I){return o&&N(),E(i),y(I)}function g(I){return r.parser.lazy[r.now().line]=i!==t.length,u=r.now().offset,x(I)}function y(I){return r.containerState={},e.attempt(ws,_,x)(I)}function _(I){return i++,t.push([r.currentConstruct,r.containerState]),y(I)}function x(I){if(I===null){o&&N(),E(0),e.consume(I);return}return o=o||r.parser.flow(r.now()),e.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:a}),A(I)}function A(I){if(I===null){R(e.exit("chunkFlow"),!0),E(0),e.consume(I);return}return q(I)?(e.consume(I),R(e.exit("chunkFlow")),i=0,r.interrupt=void 0,c):(e.consume(I),A)}function R(I,$){let W=r.sliceStream(I);if($&&W.push(null),I.previous=a,a&&(a.next=I),a=I,o.defineSkip(I.start),o.write(W),r.parser.lazy[I.start.line]){let P=o.events.length;for(;P--;)if(o.events[P][1].start.offset<u&&(!o.events[P][1].end||o.events[P][1].end.offset>u))return;let G=r.events.length,ae=G,j,F;for(;ae--;)if(r.events[ae][0]==="exit"&&r.events[ae][1].type==="chunkFlow"){if(j){F=r.events[ae][1].end;break}j=!0}for(E(i),P=G;P<r.events.length;)r.events[P][1].end={...F},P++;Re(r.events,ae+1,0,r.events.slice(G)),r.events.length=P}}function E(I){let $=t.length;for(;$-- >I;){let W=t[$];r.containerState=W[1],W[0].exit.call(r,e)}t.length=I}function N(){o.write([null]),a=void 0,o=void 0,r.containerState._closeFlow=void 0}}function uc(e,r,t){return K(e,e.attempt(this.parser.constructs.document,r,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function gt(e){if(e===null||le(e)||Oe(e))return 1;if(Ye(e))return 2}function vt(e,r,t){let i=[],o=-1;for(;++o<e.length;){let a=e[o].resolveAll;a&&!i.includes(a)&&(r=a(r,t),i.push(a))}return r}var Ir={name:"attention",resolveAll:lc,tokenize:cc};function lc(e,r){let t=-1,i,o,a,u,c,f,p,h;for(;++t<e.length;)if(e[t][0]==="enter"&&e[t][1].type==="attentionSequence"&&e[t][1]._close){for(i=t;i--;)if(e[i][0]==="exit"&&e[i][1].type==="attentionSequence"&&e[i][1]._open&&r.sliceSerialize(e[i][1]).charCodeAt(0)===r.sliceSerialize(e[t][1]).charCodeAt(0)){if((e[i][1]._close||e[t][1]._open)&&(e[t][1].end.offset-e[t][1].start.offset)%3&&!((e[i][1].end.offset-e[i][1].start.offset+e[t][1].end.offset-e[t][1].start.offset)%3))continue;f=e[i][1].end.offset-e[i][1].start.offset>1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;let g={...e[i][1].end},y={...e[t][1].start};xs(g,-f),xs(y,f),u={type:f>1?"strongSequence":"emphasisSequence",start:g,end:{...e[i][1].end}},c={type:f>1?"strongSequence":"emphasisSequence",start:{...e[t][1].start},end:y},a={type:f>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[t][1].start}},o={type:f>1?"strong":"emphasis",start:{...u.start},end:{...c.end}},e[i][1].end={...u.start},e[t][1].start={...c.end},p=[],e[i][1].end.offset-e[i][1].start.offset&&(p=Ve(p,[["enter",e[i][1],r],["exit",e[i][1],r]])),p=Ve(p,[["enter",o,r],["enter",u,r],["exit",u,r],["enter",a,r]]),p=Ve(p,vt(r.parser.constructs.insideSpan.null,e.slice(i+1,t),r)),p=Ve(p,[["exit",a,r],["enter",c,r],["exit",c,r],["exit",o,r]]),e[t][1].end.offset-e[t][1].start.offset?(h=2,p=Ve(p,[["enter",e[t][1],r],["exit",e[t][1],r]])):h=0,Re(e,i-1,t-i+3,p),t=i+p.length-h-2;break}}for(t=-1;++t<e.length;)e[t][1].type==="attentionSequence"&&(e[t][1].type="data");return e}function cc(e,r){let t=this.parser.constructs.attentionMarkers.null,i=this.previous,o=gt(i),a;return u;function u(f){return a=f,e.enter("attentionSequence"),c(f)}function c(f){if(f===a)return e.consume(f),c;let p=e.exit("attentionSequence"),h=gt(f),g=!h||h===2&&o||t.includes(f),y=!o||o===2&&h||t.includes(i);return p._open=!!(a===42?g:g&&(o||!y)),p._close=!!(a===42?y:y&&(h||!g)),r(f)}}function xs(e,r){e.column+=r,e.offset+=r,e._bufferIndex+=r}var bi={name:"autolink",tokenize:fc};function fc(e,r,t){let i=0;return o;function o(_){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(_),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(_){return Ce(_)?(e.consume(_),u):_===64?t(_):p(_)}function u(_){return _===43||_===45||_===46||Ie(_)?(i=1,c(_)):p(_)}function c(_){return _===58?(e.consume(_),i=0,f):(_===43||_===45||_===46||Ie(_))&&i++<32?(e.consume(_),c):(i=0,p(_))}function f(_){return _===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(_),e.exit("autolinkMarker"),e.exit("autolink"),r):_===null||_===32||_===60||Vt(_)?t(_):(e.consume(_),f)}function p(_){return _===64?(e.consume(_),h):gs(_)?(e.consume(_),p):t(_)}function h(_){return Ie(_)?g(_):t(_)}function g(_){return _===46?(e.consume(_),i=0,h):_===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(_),e.exit("autolinkMarker"),e.exit("autolink"),r):y(_)}function y(_){if((_===45||Ie(_))&&i++<63){let x=_===45?y:g;return e.consume(_),x}return t(_)}}var it={partial:!0,tokenize:dc};function dc(e,r,t){return i;function i(a){return ee(a)?K(e,o,"linePrefix")(a):o(a)}function o(a){return a===null||q(a)?r(a):t(a)}}var on={continuation:{tokenize:mc},exit:hc,name:"blockQuote",tokenize:pc};function pc(e,r,t){let i=this;return o;function o(u){if(u===62){let c=i.containerState;return c.open||(e.enter("blockQuote",{_container:!0}),c.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(u),e.exit("blockQuoteMarker"),a}return t(u)}function a(u){return ee(u)?(e.enter("blockQuotePrefixWhitespace"),e.consume(u),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),r):(e.exit("blockQuotePrefix"),r(u))}}function mc(e,r,t){let i=this;return o;function o(u){return ee(u)?K(e,a,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u):a(u)}function a(u){return e.attempt(on,r,t)(u)}}function hc(e){e.exit("blockQuote")}var an={name:"characterEscape",tokenize:gc};function gc(e,r,t){return i;function i(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),o}function o(a){return _s(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),r):t(a)}}var sn={name:"characterReference",tokenize:bc};function bc(e,r,t){let i=this,o=0,a,u;return c;function c(g){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(g),e.exit("characterReferenceMarker"),f}function f(g){return g===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(g),e.exit("characterReferenceMarkerNumeric"),p):(e.enter("characterReferenceValue"),a=31,u=Ie,h(g))}function p(g){return g===88||g===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(g),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,u=bs,h):(e.enter("characterReferenceValue"),a=7,u=Cr,h(g))}function h(g){if(g===59&&o){let y=e.exit("characterReferenceValue");return u===Ie&&!ht(i.sliceSerialize(y))?t(g):(e.enter("characterReferenceMarker"),e.consume(g),e.exit("characterReferenceMarker"),e.exit("characterReference"),r)}return u(g)&&o++<a?(e.consume(g),h):t(g)}}var vs={partial:!0,tokenize:yc},un={concrete:!0,name:"codeFenced",tokenize:_c};function _c(e,r,t){let i=this,o={partial:!0,tokenize:W},a=0,u=0,c;return f;function f(P){return p(P)}function p(P){let G=i.events[i.events.length-1];return a=G&&G[1].type==="linePrefix"?G[2].sliceSerialize(G[1],!0).length:0,c=P,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),h(P)}function h(P){return P===c?(u++,e.consume(P),h):u<3?t(P):(e.exit("codeFencedFenceSequence"),ee(P)?K(e,g,"whitespace")(P):g(P))}function g(P){return P===null||q(P)?(e.exit("codeFencedFence"),i.interrupt?r(P):e.check(vs,A,$)(P)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),y(P))}function y(P){return P===null||q(P)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),g(P)):ee(P)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),K(e,_,"whitespace")(P)):P===96&&P===c?t(P):(e.consume(P),y)}function _(P){return P===null||q(P)?g(P):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),x(P))}function x(P){return P===null||q(P)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),g(P)):P===96&&P===c?t(P):(e.consume(P),x)}function A(P){return e.attempt(o,$,R)(P)}function R(P){return e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),E}function E(P){return a>0&&ee(P)?K(e,N,"linePrefix",a+1)(P):N(P)}function N(P){return P===null||q(P)?e.check(vs,A,$)(P):(e.enter("codeFlowValue"),I(P))}function I(P){return P===null||q(P)?(e.exit("codeFlowValue"),N(P)):(e.consume(P),I)}function $(P){return e.exit("codeFenced"),r(P)}function W(P,G,ae){let j=0;return F;function F(T){return P.enter("lineEnding"),P.consume(T),P.exit("lineEnding"),ye}function ye(T){return P.enter("codeFencedFence"),ee(T)?K(P,se,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):se(T)}function se(T){return T===c?(P.enter("codeFencedFenceSequence"),H(T)):ae(T)}function H(T){return T===c?(j++,P.consume(T),H):j>=u?(P.exit("codeFencedFenceSequence"),ee(T)?K(P,ne,"whitespace")(T):ne(T)):ae(T)}function ne(T){return T===null||q(T)?(P.exit("codeFencedFence"),G(T)):ae(T)}}}function yc(e,r,t){let i=this;return o;function o(u){return u===null?t(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),a)}function a(u){return i.parser.lazy[i.now().line]?t(u):r(u)}}var Dr={name:"codeIndented",tokenize:kc},wc={partial:!0,tokenize:xc};function kc(e,r,t){let i=this;return o;function o(p){return e.enter("codeIndented"),K(e,a,"linePrefix",5)(p)}function a(p){let h=i.events[i.events.length-1];return h&&h[1].type==="linePrefix"&&h[2].sliceSerialize(h[1],!0).length>=4?u(p):t(p)}function u(p){return p===null?f(p):q(p)?e.attempt(wc,u,f)(p):(e.enter("codeFlowValue"),c(p))}function c(p){return p===null||q(p)?(e.exit("codeFlowValue"),u(p)):(e.consume(p),c)}function f(p){return e.exit("codeIndented"),r(p)}}function xc(e,r,t){let i=this;return o;function o(u){return i.parser.lazy[i.now().line]?t(u):q(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):K(e,a,"linePrefix",5)(u)}function a(u){let c=i.events[i.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?r(u):q(u)?o(u):t(u)}}var _i={name:"codeText",previous:Ec,resolve:vc,tokenize:Sc};function vc(e){let r=e.length-4,t=3,i,o;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[r][1].type==="lineEnding"||e[r][1].type==="space")){for(i=t;++i<r;)if(e[i][1].type==="codeTextData"){e[t][1].type="codeTextPadding",e[r][1].type="codeTextPadding",t+=2,r-=2;break}}for(i=t-1,r++;++i<=r;)o===void 0?i!==r&&e[i][1].type!=="lineEnding"&&(o=i):(i===r||e[i][1].type==="lineEnding")&&(e[o][1].type="codeTextData",i!==o+2&&(e[o][1].end=e[i-1][1].end,e.splice(o+2,i-o-2),r-=i-o-2,i=o+2),o=void 0);return e}function Ec(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Sc(e,r,t){let i=this,o=0,a,u;return c;function c(y){return e.enter("codeText"),e.enter("codeTextSequence"),f(y)}function f(y){return y===96?(e.consume(y),o++,f):(e.exit("codeTextSequence"),p(y))}function p(y){return y===null?t(y):y===32?(e.enter("space"),e.consume(y),e.exit("space"),p):y===96?(u=e.enter("codeTextSequence"),a=0,g(y)):q(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),p):(e.enter("codeTextData"),h(y))}function h(y){return y===null||y===32||y===96||q(y)?(e.exit("codeTextData"),p(y)):(e.consume(y),h)}function g(y){return y===96?(e.consume(y),a++,g):a===o?(e.exit("codeTextSequence"),e.exit("codeText"),r(y)):(u.type="codeTextData",h(y))}}var ln=class{constructor(r){this.left=r?[...r]:[],this.right=[]}get(r){if(r<0||r>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+r+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return r<this.left.length?this.left[r]:this.right[this.right.length-r+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(r,t){let i=t??Number.POSITIVE_INFINITY;return i<this.left.length?this.left.slice(r,i):r>this.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-r+this.left.length).reverse():this.left.slice(r).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(r,t,i){let o=t||0;this.setCursor(Math.trunc(r));let a=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return i&&Fr(this.left,i),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(r){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(r)}pushMany(r){this.setCursor(Number.POSITIVE_INFINITY),Fr(this.left,r)}unshift(r){this.setCursor(0),this.right.push(r)}unshiftMany(r){this.setCursor(0),Fr(this.right,r.reverse())}setCursor(r){if(!(r===this.left.length||r>this.left.length&&this.right.length===0||r<0&&this.left.length===0))if(r<this.left.length){let t=this.left.splice(r,Number.POSITIVE_INFINITY);Fr(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-r,Number.POSITIVE_INFINITY);Fr(this.left,t.reverse())}}};function Fr(e,r){let t=0;if(r.length<1e4)e.push(...r);else for(;t<r.length;)e.push(...r.slice(t,t+1e4)),t+=1e4}function cn(e){let r={},t=-1,i,o,a,u,c,f,p,h=new ln(e);for(;++t<h.length;){for(;t in r;)t=r[t];if(i=h.get(t),t&&i[1].type==="chunkFlow"&&h.get(t-1)[1].type==="listItemPrefix"&&(f=i[1]._tokenizer.events,a=0,a<f.length&&f[a][1].type==="lineEndingBlank"&&(a+=2),a<f.length&&f[a][1].type==="content"))for(;++a<f.length&&f[a][1].type!=="content";)f[a][1].type==="chunkText"&&(f[a][1]._isInFirstContentOfListItem=!0,a++);if(i[0]==="enter")i[1].contentType&&(Object.assign(r,Lc(h,t)),t=r[t],p=!0);else if(i[1]._container){for(a=t,o=void 0;a--;)if(u=h.get(a),u[1].type==="lineEnding"||u[1].type==="lineEndingBlank")u[0]==="enter"&&(o&&(h.get(o)[1].type="lineEndingBlank"),u[1].type="lineEnding",o=a);else if(!(u[1].type==="linePrefix"||u[1].type==="listItemIndent"))break;o&&(i[1].end={...h.get(o)[1].start},c=h.slice(o,t),c.unshift(i),h.splice(o,t-o+1,c))}}return Re(e,0,Number.POSITIVE_INFINITY,h.slice(0)),!p}function Lc(e,r){let t=e.get(r)[1],i=e.get(r)[2],o=r-1,a=[],u=t._tokenizer;u||(u=i.parser[t.contentType](t.start),t._contentTypeTextTrailing&&(u._contentTypeTextTrailing=!0));let c=u.events,f=[],p={},h,g,y=-1,_=t,x=0,A=0,R=[A];for(;_;){for(;e.get(++o)[1]!==_;);a.push(o),_._tokenizer||(h=i.sliceStream(_),_.next||h.push(null),g&&u.defineSkip(_.start),_._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=!0),u.write(h),_._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=void 0)),g=_,_=_.next}for(_=t;++y<c.length;)c[y][0]==="exit"&&c[y-1][0]==="enter"&&c[y][1].type===c[y-1][1].type&&c[y][1].start.line!==c[y][1].end.line&&(A=y+1,R.push(A),_._tokenizer=void 0,_.previous=void 0,_=_.next);for(u.events=[],_?(_._tokenizer=void 0,_.previous=void 0):R.pop(),y=R.length;y--;){let E=c.slice(R[y],R[y+1]),N=a.pop();f.push([N,N+E.length-1]),e.splice(N,2,E)}for(f.reverse(),y=-1;++y<f.length;)p[x+f[y][0]]=x+f[y][1],x+=f[y][1]-f[y][0]-1;return p}var yi={resolve:Ac,tokenize:Rc},Tc={partial:!0,tokenize:Cc};function Ac(e){return cn(e),e}function Rc(e,r){let t;return i;function i(c){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),o(c)}function o(c){return c===null?a(c):q(c)?e.check(Tc,u,a)(c):(e.consume(c),o)}function a(c){return e.exit("chunkContent"),e.exit("content"),r(c)}function u(c){return e.consume(c),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,o}}function Cc(e,r,t){let i=this;return o;function o(u){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),K(e,a,"linePrefix")}function a(u){if(u===null||q(u))return t(u);let c=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?r(u):e.interrupt(i.parser.constructs.flow,t,r)(u)}}function fn(e,r,t,i,o,a,u,c,f){let p=f||Number.POSITIVE_INFINITY,h=0;return g;function g(E){return E===60?(e.enter(i),e.enter(o),e.enter(a),e.consume(E),e.exit(a),y):E===null||E===32||E===41||Vt(E)?t(E):(e.enter(i),e.enter(u),e.enter(c),e.enter("chunkString",{contentType:"string"}),A(E))}function y(E){return E===62?(e.enter(a),e.consume(E),e.exit(a),e.exit(o),e.exit(i),r):(e.enter(c),e.enter("chunkString",{contentType:"string"}),_(E))}function _(E){return E===62?(e.exit("chunkString"),e.exit(c),y(E)):E===null||E===60||q(E)?t(E):(e.consume(E),E===92?x:_)}function x(E){return E===60||E===62||E===92?(e.consume(E),_):_(E)}function A(E){return!h&&(E===null||E===41||le(E))?(e.exit("chunkString"),e.exit(c),e.exit(u),e.exit(i),r(E)):h<p&&E===40?(e.consume(E),h++,A):E===41?(e.consume(E),h--,A):E===null||E===32||E===40||Vt(E)?t(E):(e.consume(E),E===92?R:A)}function R(E){return E===40||E===41||E===92?(e.consume(E),A):A(E)}}function dn(e,r,t,i,o,a){let u=this,c=0,f;return p;function p(_){return e.enter(i),e.enter(o),e.consume(_),e.exit(o),e.enter(a),h}function h(_){return c>999||_===null||_===91||_===93&&!f||_===94&&!c&&"_hiddenFootnoteSupport"in u.parser.constructs?t(_):_===93?(e.exit(a),e.enter(o),e.consume(_),e.exit(o),e.exit(i),r):q(_)?(e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),h):(e.enter("chunkString",{contentType:"string"}),g(_))}function g(_){return _===null||_===91||_===93||q(_)||c++>999?(e.exit("chunkString"),h(_)):(e.consume(_),f||(f=!ee(_)),_===92?y:g)}function y(_){return _===91||_===92||_===93?(e.consume(_),c++,g):g(_)}}function pn(e,r,t,i,o,a){let u;return c;function c(y){return y===34||y===39||y===40?(e.enter(i),e.enter(o),e.consume(y),e.exit(o),u=y===40?41:y,f):t(y)}function f(y){return y===u?(e.enter(o),e.consume(y),e.exit(o),e.exit(i),r):(e.enter(a),p(y))}function p(y){return y===u?(e.exit(a),f(u)):y===null?t(y):q(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),K(e,p,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),h(y))}function h(y){return y===u||y===null||q(y)?(e.exit("chunkString"),p(y)):(e.consume(y),y===92?g:h)}function g(y){return y===u||y===92?(e.consume(y),h):h(y)}}function Xe(e,r){let t;return i;function i(o){return q(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t=!0,i):ee(o)?K(e,i,t?"linePrefix":"lineSuffix")(o):r(o)}}var wi={name:"definition",tokenize:Dc},Ic={partial:!0,tokenize:Fc};function Dc(e,r,t){let i=this,o;return a;function a(_){return e.enter("definition"),u(_)}function u(_){return dn.call(i,e,c,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(_)}function c(_){return o=Ne(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),_===58?(e.enter("definitionMarker"),e.consume(_),e.exit("definitionMarker"),f):t(_)}function f(_){return le(_)?Xe(e,p)(_):p(_)}function p(_){return fn(e,h,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(_)}function h(_){return e.attempt(Ic,g,g)(_)}function g(_){return ee(_)?K(e,y,"whitespace")(_):y(_)}function y(_){return _===null||q(_)?(e.exit("definition"),i.parser.defined.push(o),r(_)):t(_)}}function Fc(e,r,t){return i;function i(c){return le(c)?Xe(e,o)(c):t(c)}function o(c){return pn(e,a,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function a(c){return ee(c)?K(e,u,"whitespace")(c):u(c)}function u(c){return c===null||q(c)?r(c):t(c)}}var ki={name:"hardBreakEscape",tokenize:Pc};function Pc(e,r,t){return i;function i(a){return e.enter("hardBreakEscape"),e.consume(a),o}function o(a){return q(a)?(e.exit("hardBreakEscape"),r(a)):t(a)}}var xi={name:"headingAtx",resolve:Mc,tokenize:Nc};function Mc(e,r){let t=e.length-2,i=3,o,a;return e[i][1].type==="whitespace"&&(i+=2),t-2>i&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(i===t-1||t-4>i&&e[t-2][1].type==="whitespace")&&(t-=i+1===t?2:4),t>i&&(o={type:"atxHeadingText",start:e[i][1].start,end:e[t][1].end},a={type:"chunkText",start:e[i][1].start,end:e[t][1].end,contentType:"text"},Re(e,i,t-i+1,[["enter",o,r],["enter",a,r],["exit",a,r],["exit",o,r]])),e}function Nc(e,r,t){let i=0;return o;function o(h){return e.enter("atxHeading"),a(h)}function a(h){return e.enter("atxHeadingSequence"),u(h)}function u(h){return h===35&&i++<6?(e.consume(h),u):h===null||le(h)?(e.exit("atxHeadingSequence"),c(h)):t(h)}function c(h){return h===35?(e.enter("atxHeadingSequence"),f(h)):h===null||q(h)?(e.exit("atxHeading"),r(h)):ee(h)?K(e,c,"whitespace")(h):(e.enter("atxHeadingText"),p(h))}function f(h){return h===35?(e.consume(h),f):(e.exit("atxHeadingSequence"),c(h))}function p(h){return h===null||h===35||le(h)?(e.exit("atxHeadingText"),c(h)):(e.consume(h),p)}}var Es=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],vi=["pre","script","style","textarea"];var Ei={concrete:!0,name:"htmlFlow",resolveTo:zc,tokenize:Uc},Oc={partial:!0,tokenize:jc},Bc={partial:!0,tokenize:Vc};function zc(e){let r=e.length;for(;r--&&!(e[r][0]==="enter"&&e[r][1].type==="htmlFlow"););return r>1&&e[r-2][1].type==="linePrefix"&&(e[r][1].start=e[r-2][1].start,e[r+1][1].start=e[r-2][1].start,e.splice(r-2,2)),e}function Uc(e,r,t){let i=this,o,a,u,c,f;return p;function p(l){return h(l)}function h(l){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(l),g}function g(l){return l===33?(e.consume(l),y):l===47?(e.consume(l),a=!0,A):l===63?(e.consume(l),o=3,i.interrupt?r:v):Ce(l)?(e.consume(l),u=String.fromCharCode(l),R):t(l)}function y(l){return l===45?(e.consume(l),o=2,_):l===91?(e.consume(l),o=5,c=0,x):Ce(l)?(e.consume(l),o=4,i.interrupt?r:v):t(l)}function _(l){return l===45?(e.consume(l),i.interrupt?r:v):t(l)}function x(l){let m="CDATA[";return l===m.charCodeAt(c++)?(e.consume(l),c===m.length?i.interrupt?r:se:x):t(l)}function A(l){return Ce(l)?(e.consume(l),u=String.fromCharCode(l),R):t(l)}function R(l){if(l===null||l===47||l===62||le(l)){let m=l===47,S=u.toLowerCase();return!m&&!a&&vi.includes(S)?(o=1,i.interrupt?r(l):se(l)):Es.includes(u.toLowerCase())?(o=6,m?(e.consume(l),E):i.interrupt?r(l):se(l)):(o=7,i.interrupt&&!i.parser.lazy[i.now().line]?t(l):a?N(l):I(l))}return l===45||Ie(l)?(e.consume(l),u+=String.fromCharCode(l),R):t(l)}function E(l){return l===62?(e.consume(l),i.interrupt?r:se):t(l)}function N(l){return ee(l)?(e.consume(l),N):F(l)}function I(l){return l===47?(e.consume(l),F):l===58||l===95||Ce(l)?(e.consume(l),$):ee(l)?(e.consume(l),I):F(l)}function $(l){return l===45||l===46||l===58||l===95||Ie(l)?(e.consume(l),$):W(l)}function W(l){return l===61?(e.consume(l),P):ee(l)?(e.consume(l),W):I(l)}function P(l){return l===null||l===60||l===61||l===62||l===96?t(l):l===34||l===39?(e.consume(l),f=l,G):ee(l)?(e.consume(l),P):ae(l)}function G(l){return l===f?(e.consume(l),f=null,j):l===null||q(l)?t(l):(e.consume(l),G)}function ae(l){return l===null||l===34||l===39||l===47||l===60||l===61||l===62||l===96||le(l)?W(l):(e.consume(l),ae)}function j(l){return l===47||l===62||ee(l)?I(l):t(l)}function F(l){return l===62?(e.consume(l),ye):t(l)}function ye(l){return l===null||q(l)?se(l):ee(l)?(e.consume(l),ye):t(l)}function se(l){return l===45&&o===2?(e.consume(l),fe):l===60&&o===1?(e.consume(l),Te):l===62&&o===4?(e.consume(l),qe):l===63&&o===3?(e.consume(l),v):l===93&&o===5?(e.consume(l),ze):q(l)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(Oc,U,H)(l)):l===null||q(l)?(e.exit("htmlFlowData"),H(l)):(e.consume(l),se)}function H(l){return e.check(Bc,ne,U)(l)}function ne(l){return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),T}function T(l){return l===null||q(l)?H(l):(e.enter("htmlFlowData"),se(l))}function fe(l){return l===45?(e.consume(l),v):se(l)}function Te(l){return l===47?(e.consume(l),u="",He):se(l)}function He(l){if(l===62){let m=u.toLowerCase();return vi.includes(m)?(e.consume(l),qe):se(l)}return Ce(l)&&u.length<8?(e.consume(l),u+=String.fromCharCode(l),He):se(l)}function ze(l){return l===93?(e.consume(l),v):se(l)}function v(l){return l===62?(e.consume(l),qe):l===45&&o===2?(e.consume(l),v):se(l)}function qe(l){return l===null||q(l)?(e.exit("htmlFlowData"),U(l)):(e.consume(l),qe)}function U(l){return e.exit("htmlFlow"),r(l)}}function Vc(e,r,t){let i=this;return o;function o(u){return q(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),a):t(u)}function a(u){return i.parser.lazy[i.now().line]?t(u):r(u)}}function jc(e,r,t){return i;function i(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(it,r,t)}}var Si={name:"htmlText",tokenize:qc};function qc(e,r,t){let i=this,o,a,u;return c;function c(v){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(v),f}function f(v){return v===33?(e.consume(v),p):v===47?(e.consume(v),W):v===63?(e.consume(v),I):Ce(v)?(e.consume(v),ae):t(v)}function p(v){return v===45?(e.consume(v),h):v===91?(e.consume(v),a=0,x):Ce(v)?(e.consume(v),N):t(v)}function h(v){return v===45?(e.consume(v),_):t(v)}function g(v){return v===null?t(v):v===45?(e.consume(v),y):q(v)?(u=g,Te(v)):(e.consume(v),g)}function y(v){return v===45?(e.consume(v),_):g(v)}function _(v){return v===62?fe(v):v===45?y(v):g(v)}function x(v){let qe="CDATA[";return v===qe.charCodeAt(a++)?(e.consume(v),a===qe.length?A:x):t(v)}function A(v){return v===null?t(v):v===93?(e.consume(v),R):q(v)?(u=A,Te(v)):(e.consume(v),A)}function R(v){return v===93?(e.consume(v),E):A(v)}function E(v){return v===62?fe(v):v===93?(e.consume(v),E):A(v)}function N(v){return v===null||v===62?fe(v):q(v)?(u=N,Te(v)):(e.consume(v),N)}function I(v){return v===null?t(v):v===63?(e.consume(v),$):q(v)?(u=I,Te(v)):(e.consume(v),I)}function $(v){return v===62?fe(v):I(v)}function W(v){return Ce(v)?(e.consume(v),P):t(v)}function P(v){return v===45||Ie(v)?(e.consume(v),P):G(v)}function G(v){return q(v)?(u=G,Te(v)):ee(v)?(e.consume(v),G):fe(v)}function ae(v){return v===45||Ie(v)?(e.consume(v),ae):v===47||v===62||le(v)?j(v):t(v)}function j(v){return v===47?(e.consume(v),fe):v===58||v===95||Ce(v)?(e.consume(v),F):q(v)?(u=j,Te(v)):ee(v)?(e.consume(v),j):fe(v)}function F(v){return v===45||v===46||v===58||v===95||Ie(v)?(e.consume(v),F):ye(v)}function ye(v){return v===61?(e.consume(v),se):q(v)?(u=ye,Te(v)):ee(v)?(e.consume(v),ye):j(v)}function se(v){return v===null||v===60||v===61||v===62||v===96?t(v):v===34||v===39?(e.consume(v),o=v,H):q(v)?(u=se,Te(v)):ee(v)?(e.consume(v),se):(e.consume(v),ne)}function H(v){return v===o?(e.consume(v),o=void 0,T):v===null?t(v):q(v)?(u=H,Te(v)):(e.consume(v),H)}function ne(v){return v===null||v===34||v===39||v===60||v===61||v===96?t(v):v===47||v===62||le(v)?j(v):(e.consume(v),ne)}function T(v){return v===47||v===62||le(v)?j(v):t(v)}function fe(v){return v===62?(e.consume(v),e.exit("htmlTextData"),e.exit("htmlText"),r):t(v)}function Te(v){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),He}function He(v){return ee(v)?K(e,ze,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(v):ze(v)}function ze(v){return e.enter("htmlTextData"),u(v)}}var jt={name:"labelEnd",resolveAll:Wc,resolveTo:Yc,tokenize:Jc},Hc={tokenize:Kc},Gc={tokenize:Xc},$c={tokenize:Zc};function Wc(e){let r=-1,t=[];for(;++r<e.length;){let i=e[r][1];if(t.push(e[r]),i.type==="labelImage"||i.type==="labelLink"||i.type==="labelEnd"){let o=i.type==="labelImage"?4:2;i.type="data",r+=o}}return e.length!==t.length&&Re(e,0,e.length,t),e}function Yc(e,r){let t=e.length,i=0,o,a,u,c;for(;t--;)if(o=e[t][1],a){if(o.type==="link"||o.type==="labelLink"&&o._inactive)break;e[t][0]==="enter"&&o.type==="labelLink"&&(o._inactive=!0)}else if(u){if(e[t][0]==="enter"&&(o.type==="labelImage"||o.type==="labelLink")&&!o._balanced&&(a=t,o.type!=="labelLink")){i=2;break}}else o.type==="labelEnd"&&(u=t);let f={type:e[a][1].type==="labelLink"?"link":"image",start:{...e[a][1].start},end:{...e[e.length-1][1].end}},p={type:"label",start:{...e[a][1].start},end:{...e[u][1].end}},h={type:"labelText",start:{...e[a+i+2][1].end},end:{...e[u-2][1].start}};return c=[["enter",f,r],["enter",p,r]],c=Ve(c,e.slice(a+1,a+i+3)),c=Ve(c,[["enter",h,r]]),c=Ve(c,vt(r.parser.constructs.insideSpan.null,e.slice(a+i+4,u-3),r)),c=Ve(c,[["exit",h,r],e[u-2],e[u-1],["exit",p,r]]),c=Ve(c,e.slice(u+1)),c=Ve(c,[["exit",f,r]]),Re(e,a,e.length,c),e}function Jc(e,r,t){let i=this,o=i.events.length,a,u;for(;o--;)if((i.events[o][1].type==="labelImage"||i.events[o][1].type==="labelLink")&&!i.events[o][1]._balanced){a=i.events[o][1];break}return c;function c(y){return a?a._inactive?g(y):(u=i.parser.defined.includes(Ne(i.sliceSerialize({start:a.end,end:i.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(y),e.exit("labelMarker"),e.exit("labelEnd"),f):t(y)}function f(y){return y===40?e.attempt(Hc,h,u?h:g)(y):y===91?e.attempt(Gc,h,u?p:g)(y):u?h(y):g(y)}function p(y){return e.attempt($c,h,g)(y)}function h(y){return r(y)}function g(y){return a._balanced=!0,t(y)}}function Kc(e,r,t){return i;function i(g){return e.enter("resource"),e.enter("resourceMarker"),e.consume(g),e.exit("resourceMarker"),o}function o(g){return le(g)?Xe(e,a)(g):a(g)}function a(g){return g===41?h(g):fn(e,u,c,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(g)}function u(g){return le(g)?Xe(e,f)(g):h(g)}function c(g){return t(g)}function f(g){return g===34||g===39||g===40?pn(e,p,t,"resourceTitle","resourceTitleMarker","resourceTitleString")(g):h(g)}function p(g){return le(g)?Xe(e,h)(g):h(g)}function h(g){return g===41?(e.enter("resourceMarker"),e.consume(g),e.exit("resourceMarker"),e.exit("resource"),r):t(g)}}function Xc(e,r,t){let i=this;return o;function o(c){return dn.call(i,e,a,u,"reference","referenceMarker","referenceString")(c)}function a(c){return i.parser.defined.includes(Ne(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)))?r(c):t(c)}function u(c){return t(c)}}function Zc(e,r,t){return i;function i(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),o}function o(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),r):t(a)}}var Li={name:"labelStartImage",resolveAll:jt.resolveAll,tokenize:Qc};function Qc(e,r,t){let i=this;return o;function o(c){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(c),e.exit("labelImageMarker"),a}function a(c){return c===91?(e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),e.exit("labelImage"),u):t(c)}function u(c){return c===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(c):r(c)}}var Ti={name:"labelStartLink",resolveAll:jt.resolveAll,tokenize:ef};function ef(e,r,t){let i=this;return o;function o(u){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(u),e.exit("labelMarker"),e.exit("labelLink"),a}function a(u){return u===94&&"_hiddenFootnoteSupport"in i.parser.constructs?t(u):r(u)}}var Pr={name:"lineEnding",tokenize:tf};function tf(e,r){return t;function t(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),K(e,r,"linePrefix")}}var qt={name:"thematicBreak",tokenize:rf};function rf(e,r,t){let i=0,o;return a;function a(p){return e.enter("thematicBreak"),u(p)}function u(p){return o=p,c(p)}function c(p){return p===o?(e.enter("thematicBreakSequence"),f(p)):i>=3&&(p===null||q(p))?(e.exit("thematicBreak"),r(p)):t(p)}function f(p){return p===o?(e.consume(p),i++,f):(e.exit("thematicBreakSequence"),ee(p)?K(e,c,"whitespace")(p):c(p))}}var Be={continuation:{tokenize:sf},exit:lf,name:"list",tokenize:af},nf={partial:!0,tokenize:cf},of={partial:!0,tokenize:uf};function af(e,r,t){let i=this,o=i.events[i.events.length-1],a=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return c;function c(_){let x=i.containerState.type||(_===42||_===43||_===45?"listUnordered":"listOrdered");if(x==="listUnordered"?!i.containerState.marker||_===i.containerState.marker:Cr(_)){if(i.containerState.type||(i.containerState.type=x,e.enter(x,{_container:!0})),x==="listUnordered")return e.enter("listItemPrefix"),_===42||_===45?e.check(qt,t,p)(_):p(_);if(!i.interrupt||_===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),f(_)}return t(_)}function f(_){return Cr(_)&&++u<10?(e.consume(_),f):(!i.interrupt||u<2)&&(i.containerState.marker?_===i.containerState.marker:_===41||_===46)?(e.exit("listItemValue"),p(_)):t(_)}function p(_){return e.enter("listItemMarker"),e.consume(_),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||_,e.check(it,i.interrupt?t:h,e.attempt(nf,y,g))}function h(_){return i.containerState.initialBlankLine=!0,a++,y(_)}function g(_){return ee(_)?(e.enter("listItemPrefixWhitespace"),e.consume(_),e.exit("listItemPrefixWhitespace"),y):t(_)}function y(_){return i.containerState.size=a+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,r(_)}}function sf(e,r,t){let i=this;return i.containerState._closeFlow=void 0,e.check(it,o,a);function o(c){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,K(e,r,"listItemIndent",i.containerState.size+1)(c)}function a(c){return i.containerState.furtherBlankLines||!ee(c)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,u(c)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(of,r,u)(c))}function u(c){return i.containerState._closeFlow=!0,i.interrupt=void 0,K(e,e.attempt(Be,r,t),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function uf(e,r,t){let i=this;return K(e,o,"listItemIndent",i.containerState.size+1);function o(a){let u=i.events[i.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===i.containerState.size?r(a):t(a)}}function lf(e){e.exit(this.containerState.type)}function cf(e,r,t){let i=this;return K(e,o,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(a){let u=i.events[i.events.length-1];return!ee(a)&&u&&u[1].type==="listItemPrefixWhitespace"?r(a):t(a)}}var mn={name:"setextUnderline",resolveTo:ff,tokenize:df};function ff(e,r){let t=e.length,i,o,a;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){i=t;break}e[t][1].type==="paragraph"&&(o=t)}else e[t][1].type==="content"&&e.splice(t,1),!a&&e[t][1].type==="definition"&&(a=t);let u={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",a?(e.splice(o,0,["enter",u,r]),e.splice(a+1,0,["exit",e[i][1],r]),e[i][1].end={...e[a][1].end}):e[i][1]=u,e.push(["exit",u,r]),e}function df(e,r,t){let i=this,o;return a;function a(p){let h=i.events.length,g;for(;h--;)if(i.events[h][1].type!=="lineEnding"&&i.events[h][1].type!=="linePrefix"&&i.events[h][1].type!=="content"){g=i.events[h][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||g)?(e.enter("setextHeadingLine"),o=p,u(p)):t(p)}function u(p){return e.enter("setextHeadingLineSequence"),c(p)}function c(p){return p===o?(e.consume(p),c):(e.exit("setextHeadingLineSequence"),ee(p)?K(e,f,"lineSuffix")(p):f(p))}function f(p){return p===null||q(p)?(e.exit("setextHeadingLine"),r(p)):t(p)}}var Ss={tokenize:pf};function pf(e){let r=this,t=e.attempt(it,i,e.attempt(this.parser.constructs.flowInitial,o,K(e,e.attempt(this.parser.constructs.flow,o,e.attempt(yi,o)),"linePrefix")));return t;function i(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),r.currentConstruct=void 0,t}function o(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r.currentConstruct=void 0,t}}var Ls={resolveAll:Cs()},Ts=Rs("string"),As=Rs("text");function Rs(e){return{resolveAll:Cs(e==="text"?mf:void 0),tokenize:r};function r(t){let i=this,o=this.parser.constructs[e],a=t.attempt(o,u,c);return u;function u(h){return p(h)?a(h):c(h)}function c(h){if(h===null){t.consume(h);return}return t.enter("data"),t.consume(h),f}function f(h){return p(h)?(t.exit("data"),a(h)):(t.consume(h),f)}function p(h){if(h===null)return!0;let g=o[h],y=-1;if(g)for(;++y<g.length;){let _=g[y];if(!_.previous||_.previous.call(i,i.previous))return!0}return!1}}}function Cs(e){return r;function r(t,i){let o=-1,a;for(;++o<=t.length;)a===void 0?t[o]&&t[o][1].type==="data"&&(a=o,o++):(!t[o]||t[o][1].type!=="data")&&(o!==a+2&&(t[a][1].end=t[o-1][1].end,t.splice(a+2,o-a-2),o=a+2),a=void 0);return e?e(t,i):t}}function mf(e,r){let t=0;for(;++t<=e.length;)if((t===e.length||e[t][1].type==="lineEnding")&&e[t-1][1].type==="data"){let i=e[t-1][1],o=r.sliceStream(i),a=o.length,u=-1,c=0,f;for(;a--;){let p=o[a];if(typeof p=="string"){for(u=p.length;p.charCodeAt(u-1)===32;)c++,u--;if(u)break;u=-1}else if(p===-2)f=!0,c++;else if(p!==-1){a++;break}}if(r._contentTypeTextTrailing&&t===e.length&&(c=0),c){let p={type:t===e.length||f||c<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:a?u:i.start._bufferIndex+u,_index:i.start._index+a,line:i.end.line,column:i.end.column-c,offset:i.end.offset-c},end:{...i.end}};i.end={...p.start},i.start.offset===i.end.offset?Object.assign(i,p):(e.splice(t,0,["enter",p,r],["exit",p,r]),t+=2)}t++}return e}var Ai={};Ul(Ai,{attentionMarkers:()=>xf,contentInitial:()=>gf,disable:()=>vf,document:()=>hf,flow:()=>_f,flowInitial:()=>bf,insideSpan:()=>kf,string:()=>yf,text:()=>wf});var hf={42:Be,43:Be,45:Be,48:Be,49:Be,50:Be,51:Be,52:Be,53:Be,54:Be,55:Be,56:Be,57:Be,62:on},gf={91:wi},bf={[-2]:Dr,[-1]:Dr,32:Dr},_f={35:xi,42:qt,45:[mn,qt],60:Ei,61:mn,95:qt,96:un,126:un},yf={38:sn,92:an},wf={[-5]:Pr,[-4]:Pr,[-3]:Pr,33:Li,38:sn,42:Ir,60:[bi,Si],91:Ti,92:[ki,an],93:jt,95:Ir,96:_i},kf={null:[Ir,Ls]},xf={null:[42,95]},vf={null:[]};function Is(e,r,t){let i={_bufferIndex:-1,_index:0,line:t&&t.line||1,column:t&&t.column||1,offset:t&&t.offset||0},o={},a=[],u=[],c=[],f=!0,p={attempt:j(G),check:j(ae),consume:$,enter:W,exit:P,interrupt:j(ae,{interrupt:!0})},h={code:null,containerState:{},defineSkip:E,events:[],now:R,parser:e,previous:null,sliceSerialize:x,sliceStream:A,write:_},g=r.tokenize.call(h,p),y;return r.resolveAll&&a.push(r),h;function _(H){return u=Ve(u,H),N(),u[u.length-1]!==null?[]:(F(r,0),h.events=vt(a,h.events,h),h.events)}function x(H,ne){return Sf(A(H),ne)}function A(H){return Ef(u,H)}function R(){let{_bufferIndex:H,_index:ne,line:T,column:fe,offset:Te}=i;return{_bufferIndex:H,_index:ne,line:T,column:fe,offset:Te}}function E(H){o[H.line]=H.column,se()}function N(){let H;for(;i._index<u.length;){let ne=u[i._index];if(typeof ne=="string")for(H=i._index,i._bufferIndex<0&&(i._bufferIndex=0);i._index===H&&i._bufferIndex<ne.length;)I(ne.charCodeAt(i._bufferIndex));else I(ne)}}function I(H){f=void 0,y=H,g=g(H)}function $(H){q(H)?(i.line++,i.column=1,i.offset+=H===-3?2:1,se()):H!==-1&&(i.column++,i.offset++),i._bufferIndex<0?i._index++:(i._bufferIndex++,i._bufferIndex===u[i._index].length&&(i._bufferIndex=-1,i._index++)),h.previous=H,f=!0}function W(H,ne){let T=ne||{};return T.type=H,T.start=R(),h.events.push(["enter",T,h]),c.push(T),T}function P(H){let ne=c.pop();return ne.end=R(),h.events.push(["exit",ne,h]),ne}function G(H,ne){F(H,ne.from)}function ae(H,ne){ne.restore()}function j(H,ne){return T;function T(fe,Te,He){let ze,v,qe,U;return Array.isArray(fe)?m(fe):"tokenize"in fe?m([fe]):l(fe);function l(Y){return oe;function oe(X){let de=X!==null&&Y[X],pe=X!==null&&Y.null,_e=[...Array.isArray(de)?de:de?[de]:[],...Array.isArray(pe)?pe:pe?[pe]:[]];return m(_e)(X)}}function m(Y){return ze=Y,v=0,Y.length===0?He:S(Y[v])}function S(Y){return oe;function oe(X){return U=ye(),qe=Y,Y.partial||(h.currentConstruct=Y),Y.name&&h.parser.constructs.disable.null.includes(Y.name)?V(X):Y.tokenize.call(ne?Object.assign(Object.create(h),ne):h,p,L,V)(X)}}function L(Y){return f=!0,H(qe,U),Te}function V(Y){return f=!0,U.restore(),++v<ze.length?S(ze[v]):He}}}function F(H,ne){H.resolveAll&&!a.includes(H)&&a.push(H),H.resolve&&Re(h.events,ne,h.events.length-ne,H.resolve(h.events.slice(ne),h)),H.resolveTo&&(h.events=H.resolveTo(h.events,h))}function ye(){let H=R(),ne=h.previous,T=h.currentConstruct,fe=h.events.length,Te=Array.from(c);return{from:fe,restore:He};function He(){i=H,h.previous=ne,h.currentConstruct=T,h.events.length=fe,c=Te,se()}}function se(){i.line in o&&i.column<2&&(i.column=o[i.line],i.offset+=o[i.line]-1)}}function Ef(e,r){let t=r.start._index,i=r.start._bufferIndex,o=r.end._index,a=r.end._bufferIndex,u;if(t===o)u=[e[t].slice(i,a)];else{if(u=e.slice(t,o),i>-1){let c=u[0];typeof c=="string"?u[0]=c.slice(i):u.shift()}a>0&&u.push(e[o].slice(0,a))}return u}function Sf(e,r){let t=-1,i=[],o;for(;++t<e.length;){let a=e[t],u;if(typeof a=="string")u=a;else switch(a){case-5:{u="\r";break}case-4:{u=`
8
+ `;break}case-3:{u=`\r
9
+ `;break}case-2:{u=r?" ":" ";break}case-1:{if(!r&&o)continue;u=" ";break}default:u=String.fromCharCode(a)}o=a===-2,i.push(u)}return i.join("")}function Ri(e){let i={constructs:rn([Ai,...(e||{}).extensions||[]]),content:o(ys),defined:[],document:o(ks),flow:o(Ss),lazy:{},string:o(Ts),text:o(As)};return i;function o(a){return u;function u(c){return Is(i,a,c)}}}function Ci(e){for(;!cn(e););return e}var Ds=/[\0\t\n\r]/g;function Ii(){let e=1,r="",t=!0,i;return o;function o(a,u,c){let f=[],p,h,g,y,_;for(a=r+(typeof a=="string"?a.toString():new TextDecoder(u||void 0).decode(a)),g=0,r="",t&&(a.charCodeAt(0)===65279&&g++,t=void 0);g<a.length;){if(Ds.lastIndex=g,p=Ds.exec(a),y=p&&p.index!==void 0?p.index:a.length,_=a.charCodeAt(y),!p){r=a.slice(g);break}if(_===10&&g===y&&i)f.push(-3),i=void 0;else switch(i&&(f.push(-5),i=void 0),g<y&&(f.push(a.slice(g,y)),e+=y-g),_){case 0:{f.push(65533),e++;break}case 9:{for(h=Math.ceil(e/4)*4,f.push(-2);e++<h;)f.push(-1);break}case 10:{f.push(-4),e=1;break}default:i=!0,e=1}g=y+1}return c&&(i&&f.push(-5),r&&f.push(r),f.push(null)),f}}var Lf=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Fs(e){return e.replace(Lf,Tf)}function Tf(e,r,t){if(r)return r;if(t.charCodeAt(0)===35){let o=t.charCodeAt(1),a=o===120||o===88;return nn(t.slice(a?2:1),a?16:10)}return ht(t)||e}var Ms={}.hasOwnProperty;function Di(e,r,t){return r&&typeof r=="object"&&(t=r,r=void 0),Af(t)(Ci(Ri(t).document().write(Ii()(e,r,!0))))}function Af(e){let r={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(_t),autolinkProtocol:j,autolinkEmail:j,atxHeading:a(at),blockQuote:a(X),characterEscape:j,characterReference:j,codeFenced:a(de),codeFencedFenceInfo:u,codeFencedFenceMeta:u,codeIndented:a(de,u),codeText:a(pe,u),codeTextData:j,data:j,codeFlowValue:j,definition:a(_e),definitionDestinationString:u,definitionLabelString:u,definitionTitleString:u,emphasis:a(Ee),hardBreakEscape:a(st),hardBreakTrailing:a(st),htmlFlow:a(ut,u),htmlFlowData:j,htmlText:a(ut,u),htmlTextData:j,image:a(Hr),label:u,link:a(_t),listItem:a(yr),listItemValue:y,listOrdered:a(lt,g),listUnordered:a(lt),paragraph:a(wr),reference:l,referenceString:u,resourceDestinationString:u,resourceTitleString:u,setextHeading:a(at),strong:a(yt),thematicBreak:a(Ct)},exit:{atxHeading:f(),atxHeadingSequence:W,autolink:f(),autolinkEmail:oe,autolinkProtocol:Y,blockQuote:f(),characterEscapeValue:F,characterReferenceMarkerHexadecimal:S,characterReferenceMarkerNumeric:S,characterReferenceValue:L,characterReference:V,codeFenced:f(R),codeFencedFence:A,codeFencedFenceInfo:_,codeFencedFenceMeta:x,codeFlowValue:F,codeIndented:f(E),codeText:f(T),codeTextData:F,data:F,definition:f(),definitionDestinationString:$,definitionLabelString:N,definitionTitleString:I,emphasis:f(),hardBreakEscape:f(se),hardBreakTrailing:f(se),htmlFlow:f(H),htmlFlowData:F,htmlText:f(ne),htmlTextData:F,image:f(Te),label:ze,labelText:He,lineEnding:ye,link:f(fe),listItem:f(),listOrdered:f(),listUnordered:f(),paragraph:f(),referenceString:m,resourceDestinationString:v,resourceTitleString:qe,resource:U,setextHeading:f(ae),setextHeadingLineSequence:G,setextHeadingText:P,strong:f(),thematicBreak:f()}};Ns(r,(e||{}).mdastExtensions||[]);let t={};return i;function i(B){let M={type:"root",children:[]},Z={stack:[M],tokenStack:[],config:r,enter:c,exit:p,buffer:u,resume:h,data:t},he=[],ke=-1;for(;++ke<B.length;)if(B[ke][1].type==="listOrdered"||B[ke][1].type==="listUnordered")if(B[ke][0]==="enter")he.push(ke);else{let J=he.pop();ke=o(B,J,ke)}for(ke=-1;++ke<B.length;){let J=r[B[ke][0]];Ms.call(J,B[ke][1].type)&&J[B[ke][1].type].call(Object.assign({sliceSerialize:B[ke][2].sliceSerialize},Z),B[ke][1])}if(Z.tokenStack.length>0){let J=Z.tokenStack[Z.tokenStack.length-1];(J[1]||Ps).call(Z,void 0,J[0])}for(M.position={start:Et(B.length>0?B[0][1].start:{line:1,column:1,offset:0}),end:Et(B.length>0?B[B.length-2][1].end:{line:1,column:1,offset:0})},ke=-1;++ke<r.transforms.length;)M=r.transforms[ke](M)||M;return M}function o(B,M,Z){let he=M-1,ke=-1,J=!1,xe,Ge,tt,ct;for(;++he<=Z;){let Pe=B[he];switch(Pe[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Pe[0]==="enter"?ke++:ke--,ct=void 0;break}case"lineEndingBlank":{Pe[0]==="enter"&&(xe&&!ct&&!ke&&!tt&&(tt=he),ct=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:ct=void 0}if(!ke&&Pe[0]==="enter"&&Pe[1].type==="listItemPrefix"||ke===-1&&Pe[0]==="exit"&&(Pe[1].type==="listUnordered"||Pe[1].type==="listOrdered")){if(xe){let rt=he;for(Ge=void 0;rt--;){let Je=B[rt];if(Je[1].type==="lineEnding"||Je[1].type==="lineEndingBlank"){if(Je[0]==="exit")continue;Ge&&(B[Ge][1].type="lineEndingBlank",J=!0),Je[1].type="lineEnding",Ge=rt}else if(!(Je[1].type==="linePrefix"||Je[1].type==="blockQuotePrefix"||Je[1].type==="blockQuotePrefixWhitespace"||Je[1].type==="blockQuoteMarker"||Je[1].type==="listItemIndent"))break}tt&&(!Ge||tt<Ge)&&(xe._spread=!0),xe.end=Object.assign({},Ge?B[Ge][1].start:Pe[1].end),B.splice(Ge||he,0,["exit",xe,Pe[2]]),he++,Z++}if(Pe[1].type==="listItemPrefix"){let rt={type:"listItem",_spread:!1,start:Object.assign({},Pe[1].start),end:void 0};xe=rt,B.splice(he,0,["enter",rt,Pe[2]]),he++,Z++,tt=void 0,ct=!0}}}return B[M][1]._spread=J,Z}function a(B,M){return Z;function Z(he){c.call(this,B(he),he),M&&M.call(this,he)}}function u(){this.stack.push({type:"fragment",children:[]})}function c(B,M,Z){this.stack[this.stack.length-1].children.push(B),this.stack.push(B),this.tokenStack.push([M,Z||void 0]),B.position={start:Et(M.start),end:void 0}}function f(B){return M;function M(Z){B&&B.call(this,Z),p.call(this,Z)}}function p(B,M){let Z=this.stack.pop(),he=this.tokenStack.pop();if(he)he[0].type!==B.type&&(M?M.call(this,B,he[0]):(he[1]||Ps).call(this,B,he[0]));else throw new Error("Cannot close `"+B.type+"` ("+kt({start:B.start,end:B.end})+"): it\u2019s not open");Z.position.end=Et(B.end)}function h(){return Ut(this.stack.pop())}function g(){this.data.expectingFirstListItemValue=!0}function y(B){if(this.data.expectingFirstListItemValue){let M=this.stack[this.stack.length-2];M.start=Number.parseInt(this.sliceSerialize(B),10),this.data.expectingFirstListItemValue=void 0}}function _(){let B=this.resume(),M=this.stack[this.stack.length-1];M.lang=B}function x(){let B=this.resume(),M=this.stack[this.stack.length-1];M.meta=B}function A(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function R(){let B=this.resume(),M=this.stack[this.stack.length-1];M.value=B.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function E(){let B=this.resume(),M=this.stack[this.stack.length-1];M.value=B.replace(/(\r?\n|\r)$/g,"")}function N(B){let M=this.resume(),Z=this.stack[this.stack.length-1];Z.label=M,Z.identifier=Ne(this.sliceSerialize(B)).toLowerCase()}function I(){let B=this.resume(),M=this.stack[this.stack.length-1];M.title=B}function $(){let B=this.resume(),M=this.stack[this.stack.length-1];M.url=B}function W(B){let M=this.stack[this.stack.length-1];if(!M.depth){let Z=this.sliceSerialize(B).length;M.depth=Z}}function P(){this.data.setextHeadingSlurpLineEnding=!0}function G(B){let M=this.stack[this.stack.length-1];M.depth=this.sliceSerialize(B).codePointAt(0)===61?1:2}function ae(){this.data.setextHeadingSlurpLineEnding=void 0}function j(B){let Z=this.stack[this.stack.length-1].children,he=Z[Z.length-1];(!he||he.type!=="text")&&(he=Se(),he.position={start:Et(B.start),end:void 0},Z.push(he)),this.stack.push(he)}function F(B){let M=this.stack.pop();M.value+=this.sliceSerialize(B),M.position.end=Et(B.end)}function ye(B){let M=this.stack[this.stack.length-1];if(this.data.atHardBreak){let Z=M.children[M.children.length-1];Z.position.end=Et(B.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&r.canContainEols.includes(M.type)&&(j.call(this,B),F.call(this,B))}function se(){this.data.atHardBreak=!0}function H(){let B=this.resume(),M=this.stack[this.stack.length-1];M.value=B}function ne(){let B=this.resume(),M=this.stack[this.stack.length-1];M.value=B}function T(){let B=this.resume(),M=this.stack[this.stack.length-1];M.value=B}function fe(){let B=this.stack[this.stack.length-1];if(this.data.inReference){let M=this.data.referenceType||"shortcut";B.type+="Reference",B.referenceType=M,delete B.url,delete B.title}else delete B.identifier,delete B.label;this.data.referenceType=void 0}function Te(){let B=this.stack[this.stack.length-1];if(this.data.inReference){let M=this.data.referenceType||"shortcut";B.type+="Reference",B.referenceType=M,delete B.url,delete B.title}else delete B.identifier,delete B.label;this.data.referenceType=void 0}function He(B){let M=this.sliceSerialize(B),Z=this.stack[this.stack.length-2];Z.label=Fs(M),Z.identifier=Ne(M).toLowerCase()}function ze(){let B=this.stack[this.stack.length-1],M=this.resume(),Z=this.stack[this.stack.length-1];if(this.data.inReference=!0,Z.type==="link"){let he=B.children;Z.children=he}else Z.alt=M}function v(){let B=this.resume(),M=this.stack[this.stack.length-1];M.url=B}function qe(){let B=this.resume(),M=this.stack[this.stack.length-1];M.title=B}function U(){this.data.inReference=void 0}function l(){this.data.referenceType="collapsed"}function m(B){let M=this.resume(),Z=this.stack[this.stack.length-1];Z.label=M,Z.identifier=Ne(this.sliceSerialize(B)).toLowerCase(),this.data.referenceType="full"}function S(B){this.data.characterReferenceType=B.type}function L(B){let M=this.sliceSerialize(B),Z=this.data.characterReferenceType,he;Z?(he=nn(M,Z==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):he=ht(M);let ke=this.stack[this.stack.length-1];ke.value+=he}function V(B){let M=this.stack.pop();M.position.end=Et(B.end)}function Y(B){F.call(this,B);let M=this.stack[this.stack.length-1];M.url=this.sliceSerialize(B)}function oe(B){F.call(this,B);let M=this.stack[this.stack.length-1];M.url="mailto:"+this.sliceSerialize(B)}function X(){return{type:"blockquote",children:[]}}function de(){return{type:"code",lang:null,meta:null,value:""}}function pe(){return{type:"inlineCode",value:""}}function _e(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Ee(){return{type:"emphasis",children:[]}}function at(){return{type:"heading",depth:0,children:[]}}function st(){return{type:"break"}}function ut(){return{type:"html",value:""}}function Hr(){return{type:"image",title:null,url:"",alt:null}}function _t(){return{type:"link",title:null,url:"",children:[]}}function lt(B){return{type:"list",ordered:B.type==="listOrdered",start:null,spread:B._spread,children:[]}}function yr(B){return{type:"listItem",spread:B._spread,checked:null,children:[]}}function wr(){return{type:"paragraph",children:[]}}function yt(){return{type:"strong",children:[]}}function Se(){return{type:"text",value:""}}function Ct(){return{type:"thematicBreak"}}}function Et(e){return{line:e.line,column:e.column,offset:e.offset}}function Ns(e,r){let t=-1;for(;++t<r.length;){let i=r[t];Array.isArray(i)?Ns(e,i):Rf(e,i)}}function Rf(e,r){let t;for(t in r)if(Ms.call(r,t))switch(t){case"canContainEols":{let i=r[t];i&&e[t].push(...i);break}case"transforms":{let i=r[t];i&&e[t].push(...i);break}case"enter":case"exit":{let i=r[t];i&&Object.assign(e[t],i);break}}}function Ps(e,r){throw e?new Error("Cannot close `"+e.type+"` ("+kt({start:e.start,end:e.end})+"): a different token (`"+r.type+"`, "+kt({start:r.start,end:r.end})+") is open"):new Error("Cannot close document, a token (`"+r.type+"`, "+kt({start:r.start,end:r.end})+") is still open")}function hn(e){let r=this;r.parser=t;function t(i){return Di(i,{...r.data("settings"),...e,extensions:r.data("micromarkExtensions")||[],mdastExtensions:r.data("fromMarkdownExtensions")||[]})}}function ar(e,r){let t=String(e);if(typeof r!="string")throw new TypeError("Expected character");let i=0,o=t.indexOf(r);for(;o!==-1;)i++,o=t.indexOf(r,o+r.length);return i}var Os=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var Fi={0:"\uFFFD",128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};function gn(e){let r=typeof e=="string"?e.charCodeAt(0):e;return r>=48&&r<=57}function Bs(e){let r=typeof e=="string"?e.charCodeAt(0):e;return r>=97&&r<=102||r>=65&&r<=70||r>=48&&r<=57}function zs(e){let r=typeof e=="string"?e.charCodeAt(0):e;return r>=97&&r<=122||r>=65&&r<=90}function Pi(e){return zs(e)||gn(e)}var Cf=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function Mr(e,r){let t=r||{},i=typeof t.additional=="string"?t.additional.charCodeAt(0):t.additional,o=[],a=0,u=-1,c="",f,p;t.position&&("start"in t.position||"indent"in t.position?(p=t.position.indent,f=t.position.start):f=t.position);let h=(f?f.line:0)||1,g=(f?f.column:0)||1,y=x(),_;for(a--;++a<=e.length;)if(_===10&&(g=(p?p[u]:0)||1),_=e.charCodeAt(a),_===38){let E=e.charCodeAt(a+1);if(E===9||E===10||E===12||E===32||E===38||E===60||Number.isNaN(E)||i&&E===i){c+=String.fromCharCode(_),g++;continue}let N=a+1,I=N,$=N,W;if(E===35){$=++I;let H=e.charCodeAt($);H===88||H===120?(W="hexadecimal",$=++I):W="decimal"}else W="named";let P="",G="",ae="",j=W==="named"?Pi:W==="decimal"?gn:Bs;for($--;++$<=e.length;){let H=e.charCodeAt($);if(!j(H))break;ae+=String.fromCharCode(H),W==="named"&&Os.includes(ae)&&(P=ae,G=ht(ae))}let F=e.charCodeAt($)===59;if(F){$++;let H=W==="named"?ht(ae):!1;H&&(P=ae,G=H)}let ye=1+$-N,se="";if(!(!F&&t.nonTerminated===!1))if(!ae)W!=="named"&&A(4,ye);else if(W==="named"){if(F&&!G)A(5,1);else if(P!==ae&&($=I+P.length,ye=1+$-I,F=!1),!F){let H=P?1:3;if(t.attribute){let ne=e.charCodeAt($);ne===61?(A(H,ye),G=""):Pi(ne)?G="":A(H,ye)}else A(H,ye)}se=G}else{F||A(2,ye);let H=Number.parseInt(ae,W==="hexadecimal"?16:10);if(If(H))A(7,ye),se="\uFFFD";else if(H in Fi)A(6,ye),se=Fi[H];else{let ne="";Df(H)&&A(6,ye),H>65535&&(H-=65536,ne+=String.fromCharCode(H>>>10|55296),H=56320|H&1023),se=ne+String.fromCharCode(H)}}if(se){R(),y=x(),a=$-1,g+=$-N+1,o.push(se);let H=x();H.offset++,t.reference&&t.reference.call(t.referenceContext||void 0,se,{start:y,end:H},e.slice(N-1,$)),y=H}else ae=e.slice(N-1,$),c+=ae,g+=ae.length,a=$-1}else _===10&&(h++,u++,g=0),Number.isNaN(_)?R():(c+=String.fromCharCode(_),g++);return o.join("");function x(){return{line:h,column:g,offset:a+((f?f.offset:0)||0)}}function A(E,N){let I;t.warning&&(I=x(),I.column+=N,I.offset+=N,t.warning.call(t.warningContext||void 0,Cf[E],I,E))}function R(){c&&(o.push(c),t.text&&t.text.call(t.textContext||void 0,c,{start:y,end:x()}),c="")}}function If(e){return e>=55296&&e<=57343||e>1114111}function Df(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}var Ff=/["&'<>`]/g,Pf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Mf=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Nf=/[|\\{}()[\]^$+*?.]/g,Us=new WeakMap;function Vs(e,r){if(e=e.replace(r.subset?Of(r.subset):Ff,i),r.subset||r.escapeOnly)return e;return e.replace(Pf,t).replace(Mf,i);function t(o,a,u){return r.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,u.charCodeAt(a+2),r)}function i(o,a,u){return r.format(o.charCodeAt(0),u.charCodeAt(a+1),r)}}function Of(e){let r=Us.get(e);return r||(r=Bf(e),Us.set(e,r)),r}function Bf(e){let r=[],t=-1;for(;++t<e.length;)r.push(e[t].replace(Nf,"\\$&"));return new RegExp("(?:"+r.join("|")+")","g")}function js(e){return"&#x"+e.toString(16).toUpperCase()+";"}function qs(e,r){return Vs(e,Object.assign({format:js},r))}var St=(function(e){if(e==null)return jf;if(typeof e=="function")return bn(e);if(typeof e=="object")return Array.isArray(e)?zf(e):Uf(e);if(typeof e=="string")return Vf(e);throw new Error("Expected function, string, or object as test")});function zf(e){let r=[],t=-1;for(;++t<e.length;)r[t]=St(e[t]);return bn(i);function i(...o){let a=-1;for(;++a<r.length;)if(r[a].apply(this,o))return!0;return!1}}function Uf(e){let r=e;return bn(t);function t(i){let o=i,a;for(a in e)if(o[a]!==r[a])return!1;return!0}}function Vf(e){return bn(r);function r(t){return t&&t.type===e}}function bn(e){return r;function r(t,i,o){return!!(qf(t)&&e.call(this,t,typeof i=="number"?i:void 0,o||void 0))}}function jf(){return!0}function qf(e){return e!==null&&typeof e=="object"&&"type"in e}var Hs=[],_n=!0,Ht=!1,yn="skip";function Gt(e,r,t,i){let o;typeof r=="function"&&typeof t!="function"?(i=t,t=r):o=r;let a=St(o),u=i?-1:1;c(e,void 0,[])();function c(f,p,h){let g=f&&typeof f=="object"?f:{};if(typeof g.type=="string"){let _=typeof g.tagName=="string"?g.tagName:typeof g.name=="string"?g.name:void 0;Object.defineProperty(y,"name",{value:"node ("+(f.type+(_?"<"+_+">":""))+")"})}return y;function y(){let _=Hs,x,A,R;if((!r||a(f,p,h[h.length-1]||void 0))&&(_=Hf(t(f,h)),_[0]===Ht))return _;if("children"in f&&f.children){let E=f;if(E.children&&_[0]!==yn)for(A=(i?E.children.length:-1)+u,R=h.concat(E);A>-1&&A<E.children.length;){let N=E.children[A];if(x=c(N,A,R)(),x[0]===Ht)return x;A=typeof x[1]=="number"?x[1]:A+u}}return _}}}function Hf(e){return Array.isArray(e)?e:typeof e=="number"?[_n,e]:e==null?Hs:[e]}var Gf={}.hasOwnProperty,$f={},Gs=/^[^\t\n\r "#'.<=>`}]+$/,Wf=/^[^\t\n\r "'<=>`}]+$/;function qi(){return{canContainEols:["textDirective"],enter:{directiveContainer:Yf,directiveContainerAttributes:Ni,directiveContainerLabel:Xf,directiveLeaf:Jf,directiveLeafAttributes:Ni,directiveText:Kf,directiveTextAttributes:Ni},exit:{directiveContainer:ji,directiveContainerAttributeClassValue:Bi,directiveContainerAttributeIdValue:Oi,directiveContainerAttributeName:Ui,directiveContainerAttributeValue:zi,directiveContainerAttributes:Vi,directiveContainerLabel:Zf,directiveContainerName:Mi,directiveLeaf:ji,directiveLeafAttributeClassValue:Bi,directiveLeafAttributeIdValue:Oi,directiveLeafAttributeName:Ui,directiveLeafAttributeValue:zi,directiveLeafAttributes:Vi,directiveLeafName:Mi,directiveText:ji,directiveTextAttributeClassValue:Bi,directiveTextAttributeIdValue:Oi,directiveTextAttributeName:Ui,directiveTextAttributeValue:zi,directiveTextAttributes:Vi,directiveTextName:Mi}}}function Hi(e){let r=e||$f;if(r.quote!=='"'&&r.quote!=="'"&&r.quote!==null&&r.quote!==void 0)throw new Error("Invalid quote `"+r.quote+"`, expected `'` or `\"`");return t.peek=Qf,{handlers:{containerDirective:t,leafDirective:t,textDirective:t},unsafe:[{character:"\r",inConstruct:["leafDirectiveLabel","containerDirectiveLabel"]},{character:`
10
+ `,inConstruct:["leafDirectiveLabel","containerDirectiveLabel"]},{before:"[^:]",character:":",after:"[A-Za-z]",inConstruct:["phrasing"]},{atBreak:!0,character:":",after:":"}]};function t(a,u,c,f){let p=c.createTracker(f),h=ed(a),g=c.enter(a.type),y=p.move(h+(a.name||"")),_;if(a.type==="containerDirective"){let x=(a.children||[])[0];_=$s(x)?x:void 0}else _=a;if(_&&_.children&&_.children.length>0){let x=c.enter("label"),A=`${a.type}Label`,R=c.enter(A);y+=p.move("["),y+=p.move(c.containerPhrasing(_,{...p.current(),before:y,after:"]"})),y+=p.move("]"),R(),x()}if(y+=p.move(i(a,c)),a.type==="containerDirective"){let x=(a.children||[])[0],A=a;$s(x)&&(A=Object.assign({},a,{children:a.children.slice(1)})),A&&A.children&&A.children.length>0&&(y+=p.move(`
11
+ `),y+=p.move(c.containerFlow(A,p.current()))),y+=p.move(`
12
+ `+h)}return g(),y}function i(a,u){let c=a.attributes||{},f=[],p,h,g,y;for(y in c)if(Gf.call(c,y)&&c[y]!==void 0&&c[y]!==null){let _=String(c[y]);if(y==="id")g=r.preferShortcut!==!1&&Gs.test(_)?"#"+_:o("id",_,a,u);else if(y==="class"){let x=_.split(/[\t\n\r ]+/g),A=[],R=[],E=-1;for(;++E<x.length;)(r.preferShortcut!==!1&&Gs.test(x[E])?R:A).push(x[E]);p=A.length>0?o("class",A.join(" "),a,u):"",h=R.length>0?"."+R.join("."):""}else f.push(o(y,_,a,u))}return p&&f.unshift(p),h&&f.unshift(h),g&&f.unshift(g),f.length>0?"{"+f.join(" ")+"}":""}function o(a,u,c,f){if(r.collapseEmptyAttributes!==!1&&!u)return a;if(r.preferUnquoted&&Wf.test(u))return a+"="+u;let p=r.quote||f.options.quote||'"',h=p==='"'?"'":'"',g=r.quoteSmart&&ar(u,p)>ar(u,h)?h:p,y=c.type==="textDirective"?[g]:[g,`
13
+ `,"\r"];return a+"="+g+qs(u,{subset:y})+g}}function Yf(e){Gi.call(this,"containerDirective",e)}function Jf(e){Gi.call(this,"leafDirective",e)}function Kf(e){Gi.call(this,"textDirective",e)}function Gi(e,r){this.enter({type:e,name:"",attributes:{},children:[]},r)}function Mi(e){let r=this.stack[this.stack.length-1];r.type==="containerDirective"||r.type==="leafDirective"||r.type,r.name=this.sliceSerialize(e)}function Xf(e){this.enter({type:"paragraph",data:{directiveLabel:!0},children:[]},e)}function Zf(e){this.exit(e)}function Ni(){this.data.directiveAttributes=[],this.buffer()}function Oi(e){let r=this.data.directiveAttributes;r.push(["id",Mr(this.sliceSerialize(e),{attribute:!0})])}function Bi(e){let r=this.data.directiveAttributes;r.push(["class",Mr(this.sliceSerialize(e),{attribute:!0})])}function zi(e){let r=this.data.directiveAttributes;r[r.length-1][1]=Mr(this.sliceSerialize(e),{attribute:!0})}function Ui(e){let r=this.data.directiveAttributes;r.push([this.sliceSerialize(e),""])}function Vi(){let e=this.data.directiveAttributes;let r={},t=-1;for(;++t<e.length;){let o=e[t];o[0]==="class"&&r.class?r.class+=" "+o[1]:r[o[0]]=o[1]}this.data.directiveAttributes=void 0,this.resume();let i=this.stack[this.stack.length-1];i.type==="containerDirective"||i.type==="leafDirective"||i.type,i.attributes=r}function ji(e){this.exit(e)}function Qf(){return":"}function $s(e){return!!(e&&e.type==="paragraph"&&e.data&&e.data.directiveLabel)}function ed(e){let r=0;return e.type==="containerDirective"?(Gt(e,function(t,i){if(t.type==="containerDirective"){let o=i.length,a=0;for(;o--;)i[o].type==="containerDirective"&&a++;a>r&&(r=a)}}),r+=3):e.type==="leafDirective"?r=2:r=1,":".repeat(r)}function sr(e,r,t,i,o,a,u,c,f,p,h,g,y,_,x){let A,R;return E;function E(T){return e.enter(i),e.enter(o),e.consume(T),e.exit(o),N}function N(T){return T===35?(A=u,I(T)):T===46?(A=c,I(T)):x&&ee(T)?K(e,N,"whitespace")(T):!x&&le(T)?Xe(e,N)(T):T===null||q(T)||Oe(T)||Ye(T)&&T!==45&&T!==95?ne(T):(e.enter(a),e.enter(f),e.consume(T),P)}function I(T){let fe=A+"Marker";return e.enter(a),e.enter(A),e.enter(fe),e.consume(T),e.exit(fe),$}function $(T){if(T===null||T===34||T===35||T===39||T===46||T===60||T===61||T===62||T===96||T===125||le(T))return t(T);let fe=A+"Value";return e.enter(fe),e.consume(T),W}function W(T){if(T===null||T===34||T===39||T===60||T===61||T===62||T===96)return t(T);if(T===35||T===46||T===125||le(T)){let fe=A+"Value";return e.exit(fe),e.exit(A),e.exit(a),N(T)}return e.consume(T),W}function P(T){return T===null||q(T)||Oe(T)||Ye(T)&&T!==45&&T!==46&&T!==58&&T!==95?(e.exit(f),x&&ee(T)?K(e,G,"whitespace")(T):!x&&le(T)?Xe(e,G)(T):G(T)):(e.consume(T),P)}function G(T){return T===61?(e.enter(p),e.consume(T),e.exit(p),ae):(e.exit(a),N(T))}function ae(T){return T===null||T===60||T===61||T===62||T===96||T===125||x&&q(T)?t(T):T===34||T===39?(e.enter(h),e.enter(y),e.consume(T),e.exit(y),R=T,F):x&&ee(T)?K(e,ae,"whitespace")(T):!x&&le(T)?Xe(e,ae)(T):(e.enter(g),e.enter(_),e.consume(T),R=void 0,j)}function j(T){return T===null||T===34||T===39||T===60||T===61||T===62||T===96?t(T):T===125||le(T)?(e.exit(_),e.exit(g),e.exit(a),N(T)):(e.consume(T),j)}function F(T){return T===R?(e.enter(y),e.consume(T),e.exit(y),e.exit(h),e.exit(a),H):(e.enter(g),ye(T))}function ye(T){return T===R?(e.exit(g),F(T)):T===null?t(T):q(T)?x?t(T):Xe(e,ye)(T):(e.enter(_),e.consume(T),se)}function se(T){return T===R||T===null||q(T)?(e.exit(_),ye(T)):(e.consume(T),se)}function H(T){return T===125||le(T)?N(T):ne(T)}function ne(T){return T===125?(e.enter(o),e.consume(T),e.exit(o),e.exit(i),r):t(T)}}function ur(e,r,t,i,o,a,u){let c=0,f=0,p;return h;function h(R){return e.enter(i),e.enter(o),e.consume(R),e.exit(o),g}function g(R){return R===93?(e.enter(o),e.consume(R),e.exit(o),e.exit(i),r):(e.enter(a),y(R))}function y(R){if(R===93&&!f)return A(R);let E=e.enter("chunkText",{_contentTypeTextTrailing:!0,contentType:"text",previous:p});return p&&(p.next=E),p=E,_(R)}function _(R){return R===null||c>999||R===91&&++f>32?t(R):R===93&&!f--?(e.exit("chunkText"),A(R)):q(R)?u?t(R):(e.consume(R),e.exit("chunkText"),y):(e.consume(R),R===92?x:_)}function x(R){return R===91||R===92||R===93?(e.consume(R),c++,_):_(R)}function A(R){return e.exit(a),e.enter(o),e.consume(R),e.exit(o),e.exit(i),r}}function lr(e,r,t,i){let o=this;return a;function a(c){return c===null||q(c)||Ye(c)||Oe(c)?t(c):(e.enter(i),e.consume(c),u)}function u(c){return c===null||q(c)||Oe(c)||Ye(c)&&c!==45&&c!==95?(e.exit(i),o.previous===45||o.previous===95?t(c):r(c)):(e.consume(c),u)}}var Ws={tokenize:nd,concrete:!0},td={tokenize:id,partial:!0},rd={tokenize:od,partial:!0},wn={tokenize:ad,partial:!0};function nd(e,r,t){let i=this,o=i.events[i.events.length-1],a=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0,c;return f;function f(j){return e.enter("directiveContainer"),e.enter("directiveContainerFence"),e.enter("directiveContainerSequence"),p(j)}function p(j){return j===58?(e.consume(j),u++,p):u<3?t(j):(e.exit("directiveContainerSequence"),lr.call(i,e,h,t,"directiveContainerName")(j))}function h(j){return j===91?e.attempt(td,g,g)(j):g(j)}function g(j){return j===123?e.attempt(rd,y,y)(j):y(j)}function y(j){return K(e,_,"whitespace")(j)}function _(j){return e.exit("directiveContainerFence"),j===null?G(j):q(j)?i.interrupt?r(j):e.attempt(wn,x,G)(j):t(j)}function x(j){return j===null?G(j):q(j)?e.check(wn,I,G)(j):(e.enter("directiveContainerContent"),A(j))}function A(j){return e.attempt({tokenize:ae,partial:!0},P,a?K(e,R,"linePrefix",a+1):R)(j)}function R(j){return j===null?P(j):q(j)?e.check(wn,N,P)(j):N(j)}function E(j){if(j===null){let F=e.exit("chunkDocument");return i.parser.lazy[F.start.line]=!1,P(j)}return q(j)?e.check(wn,$,W)(j):(e.consume(j),E)}function N(j){let F=e.enter("chunkDocument",{contentType:"document",previous:c});return c&&(c.next=F),c=F,E(j)}function I(j){return e.enter("directiveContainerContent"),A(j)}function $(j){e.consume(j);let F=e.exit("chunkDocument");return i.parser.lazy[F.start.line]=!1,A}function W(j){let F=e.exit("chunkDocument");return i.parser.lazy[F.start.line]=!1,P(j)}function P(j){return e.exit("directiveContainerContent"),G(j)}function G(j){return e.exit("directiveContainer"),r(j)}function ae(j,F,ye){let se=0;return K(j,H,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function H(fe){return j.enter("directiveContainerFence"),j.enter("directiveContainerSequence"),ne(fe)}function ne(fe){return fe===58?(j.consume(fe),se++,ne):se<u?ye(fe):(j.exit("directiveContainerSequence"),K(j,T,"whitespace")(fe))}function T(fe){return fe===null||q(fe)?(j.exit("directiveContainerFence"),F(fe)):ye(fe)}}}function id(e,r,t){return ur(e,r,t,"directiveContainerLabel","directiveContainerLabelMarker","directiveContainerLabelString",!0)}function od(e,r,t){return sr(e,r,t,"directiveContainerAttributes","directiveContainerAttributesMarker","directiveContainerAttribute","directiveContainerAttributeId","directiveContainerAttributeClass","directiveContainerAttributeName","directiveContainerAttributeInitializerMarker","directiveContainerAttributeValueLiteral","directiveContainerAttributeValue","directiveContainerAttributeValueMarker","directiveContainerAttributeValueData",!0)}function ad(e,r,t){let i=this;return o;function o(u){return e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),a}function a(u){return i.parser.lazy[i.now().line]?t(u):r(u)}}var Ys={tokenize:ld},sd={tokenize:cd,partial:!0},ud={tokenize:fd,partial:!0};function ld(e,r,t){let i=this;return o;function o(h){return e.enter("directiveLeaf"),e.enter("directiveLeafSequence"),e.consume(h),a}function a(h){return h===58?(e.consume(h),e.exit("directiveLeafSequence"),lr.call(i,e,u,t,"directiveLeafName")):t(h)}function u(h){return h===91?e.attempt(sd,c,c)(h):c(h)}function c(h){return h===123?e.attempt(ud,f,f)(h):f(h)}function f(h){return K(e,p,"whitespace")(h)}function p(h){return h===null||q(h)?(e.exit("directiveLeaf"),r(h)):t(h)}}function cd(e,r,t){return ur(e,r,t,"directiveLeafLabel","directiveLeafLabelMarker","directiveLeafLabelString",!0)}function fd(e,r,t){return sr(e,r,t,"directiveLeafAttributes","directiveLeafAttributesMarker","directiveLeafAttribute","directiveLeafAttributeId","directiveLeafAttributeClass","directiveLeafAttributeName","directiveLeafAttributeInitializerMarker","directiveLeafAttributeValueLiteral","directiveLeafAttributeValue","directiveLeafAttributeValueMarker","directiveLeafAttributeValueData",!0)}var Js={tokenize:hd,previous:md},dd={tokenize:gd,partial:!0},pd={tokenize:bd,partial:!0};function md(e){return e!==58||this.events[this.events.length-1][1].type==="characterEscape"}function hd(e,r,t){let i=this;return o;function o(f){return e.enter("directiveText"),e.enter("directiveTextMarker"),e.consume(f),e.exit("directiveTextMarker"),lr.call(i,e,a,t,"directiveTextName")}function a(f){return f===58?t(f):f===91?e.attempt(dd,u,u)(f):u(f)}function u(f){return f===123?e.attempt(pd,c,c)(f):c(f)}function c(f){return e.exit("directiveText"),r(f)}}function gd(e,r,t){return ur(e,r,t,"directiveTextLabel","directiveTextLabelMarker","directiveTextLabelString")}function bd(e,r,t){return sr(e,r,t,"directiveTextAttributes","directiveTextAttributesMarker","directiveTextAttribute","directiveTextAttributeId","directiveTextAttributeClass","directiveTextAttributeName","directiveTextAttributeInitializerMarker","directiveTextAttributeValueLiteral","directiveTextAttributeValue","directiveTextAttributeValueMarker","directiveTextAttributeValueData")}function $i(){return{text:{58:Js},flow:{58:[Ws,Ys]}}}function kn(){let r=this.data(),t=r.micromarkExtensions||(r.micromarkExtensions=[]),i=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);t.push($i()),i.push(qi()),o.push(Hi())}var Xs=zt(Ks(),1),Nr=Object.assign($t(Error),{eval:$t(EvalError),range:$t(RangeError),reference:$t(ReferenceError),syntax:$t(SyntaxError),type:$t(TypeError),uri:$t(URIError)});function $t(e){return r.displayName=e.displayName||e.name,r;function r(t,...i){let o=t&&(0,Xs.default)(t,...i);return new e(o)}}var xn={}.hasOwnProperty,Zs={yaml:"-",toml:"+"};function cr(e){let r=[],t=-1,i=Array.isArray(e)?e:e?[e]:["yaml"];for(;++t<i.length;)r[t]=_d(i[t]);return r}function _d(e){let r=e;if(typeof r=="string"){if(!xn.call(Zs,r))throw Nr("Missing matter definition for `%s`",r);r={type:r,marker:Zs[r]}}else if(typeof r!="object")throw Nr("Expected matter to be an object, not `%j`",r);if(!xn.call(r,"type"))throw Nr("Missing `type` in matter `%j`",r);if(!xn.call(r,"fence")&&!xn.call(r,"marker"))throw Nr("Missing `marker` or `fence` in matter `%j`",r);return r}function Ji(e){let r=cr(e),t={},i=-1;for(;++i<r.length;){let o=r[i],a=Yi(o,"open").charCodeAt(0),u=yd(o),c=t[a];Array.isArray(c)?c.push(u):t[a]=[u]}return{flow:t}}function yd(e){let r=e.anywhere,t=e.type,i=t+"Fence",o=i+"Sequence",a=t+"Value",u={tokenize:h,partial:!0},c,f=0;return{tokenize:p,concrete:!0};function p(g,y,_){let x=this;return A;function A(G){let ae=x.now();return ae.column===1&&(ae.line===1||r)&&(c=Yi(e,"open"),f=0,G===c.charCodeAt(f))?(g.enter(t),g.enter(i),g.enter(o),R(G)):_(G)}function R(G){return f===c.length?(g.exit(o),ee(G)?(g.enter("whitespace"),E(G)):N(G)):G===c.charCodeAt(f++)?(g.consume(G),R):_(G)}function E(G){return ee(G)?(g.consume(G),E):(g.exit("whitespace"),N(G))}function N(G){return q(G)?(g.exit(i),g.enter("lineEnding"),g.consume(G),g.exit("lineEnding"),c=Yi(e,"close"),f=0,g.attempt(u,P,I)):_(G)}function I(G){return G===null||q(G)?W(G):(g.enter(a),$(G))}function $(G){return G===null||q(G)?(g.exit(a),W(G)):(g.consume(G),$)}function W(G){return G===null?_(G):(g.enter("lineEnding"),g.consume(G),g.exit("lineEnding"),g.attempt(u,P,I))}function P(G){return g.exit(t),y(G)}}function h(g,y,_){let x=0;return A;function A(I){return I===c.charCodeAt(x)?(g.enter(i),g.enter(o),R(I)):_(I)}function R(I){return x===c.length?(g.exit(o),ee(I)?(g.enter("whitespace"),E(I)):N(I)):I===c.charCodeAt(x++)?(g.consume(I),R):_(I)}function E(I){return ee(I)?(g.consume(I),E):(g.exit("whitespace"),N(I))}function N(I){return I===null||q(I)?(g.exit(i),y(I)):_(I)}}}function Yi(e,r){return e.marker?Qs(e.marker,r).repeat(3):Qs(e.fence,r)}function Qs(e,r){return typeof e=="string"?e:e[r]}function Ki(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Zi(e){let r=cr(e),t={},i={},o=-1;for(;++o<r.length;){let a=r[o];t[a.type]=wd(a),i[a.type]=kd,i[a.type+"Value"]=xd}return{enter:t,exit:i}}function wd(e){return r;function r(t){this.enter({type:e.type,value:""},t),this.buffer()}}function kd(e){let r=this.resume(),t=this.stack[this.stack.length-1];"value"in t,this.exit(e),t.value=r.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,"")}function xd(e){this.config.enter.data.call(this,e),this.config.exit.data.call(this,e)}function Qi(e){let r=[],t={},i=cr(e),o=-1;for(;++o<i.length;){let a=i[o];t[a.type]=vd(a);let u=Xi(a,"open");r.push({atBreak:!0,character:u.charAt(0),after:Ki(u.charAt(1))})}return{unsafe:r,handlers:t}}function vd(e){let r=Xi(e,"open"),t=Xi(e,"close");return i;function i(o){return r+(o.value?`
14
+ `+o.value:"")+`
15
+ `+t}}function Xi(e,r){return e.marker?eu(e.marker,r).repeat(3):eu(e.fence,r)}function eu(e,r){return typeof e=="string"?e:e[r]}var Ed="yaml";function vn(e){let r=this,t=e||Ed,i=r.data(),o=i.micromarkExtensions||(i.micromarkExtensions=[]),a=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),u=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);o.push(Ji(t)),a.push(Zi(t)),u.push(Qi(t))}function eo(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function to(e,r,t){let o=St((t||{}).ignore||[]),a=Sd(r),u=-1;for(;++u<a.length;)Gt(e,"text",c);function c(p,h){let g=-1,y;for(;++g<h.length;){let _=h[g],x=y?y.children:void 0;if(o(_,x?x.indexOf(_):void 0,y))return;y=_}if(y)return f(p,h)}function f(p,h){let g=h[h.length-1],y=a[u][0],_=a[u][1],x=0,R=g.children.indexOf(p),E=!1,N=[];y.lastIndex=0;let I=y.exec(p.value);for(;I;){let $=I.index,W={index:I.index,input:I.input,stack:[...h,p]},P=_(...I,W);if(typeof P=="string"&&(P=P.length>0?{type:"text",value:P}:void 0),P===!1?y.lastIndex=$+1:(x!==$&&N.push({type:"text",value:p.value.slice(x,$)}),Array.isArray(P)?N.push(...P):P&&N.push(P),x=$+I[0].length,E=!0),!y.global)break;I=y.exec(p.value)}return E?(x<p.value.length&&N.push({type:"text",value:p.value.slice(x)}),g.children.splice(R,1,...N)):N=[p],R+N.length}}function Sd(e){let r=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");let t=!e[0]||Array.isArray(e[0])?e:[e],i=-1;for(;++i<t.length;){let o=t[i];r.push([Ld(o[0]),Td(o[1])])}return r}function Ld(e){return typeof e=="string"?new RegExp(eo(e),"g"):e}function Td(e){return typeof e=="function"?e:function(){return e}}var ro="phrasing",no=["autolink","link","image","label"];function oo(){return{transforms:[Fd],enter:{literalAutolink:Ad,literalAutolinkEmail:io,literalAutolinkHttp:io,literalAutolinkWww:io},exit:{literalAutolink:Dd,literalAutolinkEmail:Id,literalAutolinkHttp:Rd,literalAutolinkWww:Cd}}}function ao(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:ro,notInConstruct:no},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:ro,notInConstruct:no},{character:":",before:"[ps]",after:"\\/",inConstruct:ro,notInConstruct:no}]}}function Ad(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function io(e){this.config.enter.autolinkProtocol.call(this,e)}function Rd(e){this.config.exit.autolinkProtocol.call(this,e)}function Cd(e){this.config.exit.data.call(this,e);let r=this.stack[this.stack.length-1];r.type,r.url="http://"+this.sliceSerialize(e)}function Id(e){this.config.exit.autolinkEmail.call(this,e)}function Dd(e){this.exit(e)}function Fd(e){to(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Pd],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,Md]],{ignore:["link","linkReference"]})}function Pd(e,r,t,i,o){let a="";if(!tu(o)||(/^w/i.test(r)&&(t=r+t,r="",a="http://"),!Nd(t)))return!1;let u=Od(t+i);if(!u[0])return!1;let c={type:"link",title:null,url:a+r+u[0],children:[{type:"text",value:r+u[0]}]};return u[1]?[c,{type:"text",value:u[1]}]:c}function Md(e,r,t,i){return!tu(i,!0)||/[-\d_]$/.test(t)?!1:{type:"link",title:null,url:"mailto:"+r+"@"+t,children:[{type:"text",value:r+"@"+t}]}}function Nd(e){let r=e.split(".");return!(r.length<2||r[r.length-1]&&(/_/.test(r[r.length-1])||!/[a-zA-Z\d]/.test(r[r.length-1]))||r[r.length-2]&&(/_/.test(r[r.length-2])||!/[a-zA-Z\d]/.test(r[r.length-2])))}function Od(e){let r=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!r)return[e,void 0];e=e.slice(0,r.index);let t=r[0],i=t.indexOf(")"),o=ar(e,"("),a=ar(e,")");for(;i!==-1&&o>a;)e+=t.slice(0,i+1),t=t.slice(i+1),i=t.indexOf(")"),a++;return[e,t]}function tu(e,r){let t=e.input.charCodeAt(e.index-1);return(e.index===0||Oe(t)||Ye(t))&&(!r||t!==47)}ru.peek=$d;function Bd(){this.buffer()}function zd(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Ud(){this.buffer()}function Vd(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function jd(e){let r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=Ne(this.sliceSerialize(e)).toLowerCase(),t.label=r}function qd(e){this.exit(e)}function Hd(e){let r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=Ne(this.sliceSerialize(e)).toLowerCase(),t.label=r}function Gd(e){this.exit(e)}function $d(){return"["}function ru(e,r,t,i){let o=t.createTracker(i),a=o.move("[^"),u=t.enter("footnoteReference"),c=t.enter("reference");return a+=o.move(t.safe(t.associationId(e),{after:"]",before:a})),c(),u(),a+=o.move("]"),a}function so(){return{enter:{gfmFootnoteCallString:Bd,gfmFootnoteCall:zd,gfmFootnoteDefinitionLabelString:Ud,gfmFootnoteDefinition:Vd},exit:{gfmFootnoteCallString:jd,gfmFootnoteCall:qd,gfmFootnoteDefinitionLabelString:Hd,gfmFootnoteDefinition:Gd}}}function uo(e){let r=!1;return e&&e.firstLineBlank&&(r=!0),{handlers:{footnoteDefinition:t,footnoteReference:ru},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function t(i,o,a,u){let c=a.createTracker(u),f=c.move("[^"),p=a.enter("footnoteDefinition"),h=a.enter("label");return f+=c.move(a.safe(a.associationId(i),{before:f,after:"]"})),h(),f+=c.move("]:"),i.children&&i.children.length>0&&(c.shift(4),f+=c.move((r?`
16
+ `:" ")+a.indentLines(a.containerFlow(i,c.current()),r?nu:Wd))),p(),f}}function Wd(e,r,t){return r===0?e:nu(e,r,t)}function nu(e,r,t){return(t?"":" ")+e}var Yd=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];iu.peek=Xd;function lo(){return{canContainEols:["delete"],enter:{strikethrough:Jd},exit:{strikethrough:Kd}}}function co(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Yd}],handlers:{delete:iu}}}function Jd(e){this.enter({type:"delete",children:[]},e)}function Kd(e){this.exit(e)}function iu(e,r,t,i){let o=t.createTracker(i),a=t.enter("strikethrough"),u=o.move("~~");return u+=t.containerPhrasing(e,{...o.current(),before:u,after:"~"}),u+=o.move("~~"),a(),u}function Xd(){return"~"}function Zd(e){return e.length}function au(e,r){let t=r||{},i=(t.align||[]).concat(),o=t.stringLength||Zd,a=[],u=[],c=[],f=[],p=0,h=-1;for(;++h<e.length;){let A=[],R=[],E=-1;for(e[h].length>p&&(p=e[h].length);++E<e[h].length;){let N=Qd(e[h][E]);if(t.alignDelimiters!==!1){let I=o(N);R[E]=I,(f[E]===void 0||I>f[E])&&(f[E]=I)}A.push(N)}u[h]=A,c[h]=R}let g=-1;if(typeof i=="object"&&"length"in i)for(;++g<p;)a[g]=ou(i[g]);else{let A=ou(i);for(;++g<p;)a[g]=A}g=-1;let y=[],_=[];for(;++g<p;){let A=a[g],R="",E="";A===99?(R=":",E=":"):A===108?R=":":A===114&&(E=":");let N=t.alignDelimiters===!1?1:Math.max(1,f[g]-R.length-E.length),I=R+"-".repeat(N)+E;t.alignDelimiters!==!1&&(N=R.length+N+E.length,N>f[g]&&(f[g]=N),_[g]=N),y[g]=I}u.splice(1,0,y),c.splice(1,0,_),h=-1;let x=[];for(;++h<u.length;){let A=u[h],R=c[h];g=-1;let E=[];for(;++g<p;){let N=A[g]||"",I="",$="";if(t.alignDelimiters!==!1){let W=f[g]-(R[g]||0),P=a[g];P===114?I=" ".repeat(W):P===99?W%2?(I=" ".repeat(W/2+.5),$=" ".repeat(W/2-.5)):(I=" ".repeat(W/2),$=I):$=" ".repeat(W)}t.delimiterStart!==!1&&!g&&E.push("|"),t.padding!==!1&&!(t.alignDelimiters===!1&&N==="")&&(t.delimiterStart!==!1||g)&&E.push(" "),t.alignDelimiters!==!1&&E.push(I),E.push(N),t.alignDelimiters!==!1&&E.push($),t.padding!==!1&&E.push(" "),(t.delimiterEnd!==!1||g!==p-1)&&E.push("|")}x.push(t.delimiterEnd===!1?E.join("").replace(/ +$/,""):E.join(""))}return x.join(`
17
+ `)}function Qd(e){return e==null?"":String(e)}function ou(e){let r=typeof e=="string"?e.codePointAt(0):0;return r===67||r===99?99:r===76||r===108?108:r===82||r===114?114:0}function su(e,r,t,i){let o=t.enter("blockquote"),a=t.createTracker(i);a.move("> "),a.shift(2);let u=t.indentLines(t.containerFlow(e,a.current()),ep);return o(),u}function ep(e,r,t){return">"+(t?"":" ")+e}function lu(e,r){return uu(e,r.inConstruct,!0)&&!uu(e,r.notInConstruct,!1)}function uu(e,r,t){if(typeof r=="string"&&(r=[r]),!r||r.length===0)return t;let i=-1;for(;++i<r.length;)if(e.includes(r[i]))return!0;return!1}function fo(e,r,t,i){let o=-1;for(;++o<t.unsafe.length;)if(t.unsafe[o].character===`
18
+ `&&lu(t.stack,t.unsafe[o]))return/[ \t]/.test(i.before)?"":" ";return`\\
19
+ `}function cu(e,r){let t=String(e),i=t.indexOf(r),o=i,a=0,u=0;if(typeof r!="string")throw new TypeError("Expected substring");for(;i!==-1;)i===o?++a>u&&(u=a):a=1,o=i+r.length,i=t.indexOf(r,o);return u}function fu(e,r){return!!(r.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function du(e){let r=e.options.fence||"`";if(r!=="`"&&r!=="~")throw new Error("Cannot serialize code with `"+r+"` for `options.fence`, expected `` ` `` or `~`");return r}function pu(e,r,t,i){let o=du(t),a=e.value||"",u=o==="`"?"GraveAccent":"Tilde";if(fu(e,t)){let g=t.enter("codeIndented"),y=t.indentLines(a,tp);return g(),y}let c=t.createTracker(i),f=o.repeat(Math.max(cu(a,o)+1,3)),p=t.enter("codeFenced"),h=c.move(f);if(e.lang){let g=t.enter(`codeFencedLang${u}`);h+=c.move(t.safe(e.lang,{before:h,after:" ",encode:["`"],...c.current()})),g()}if(e.lang&&e.meta){let g=t.enter(`codeFencedMeta${u}`);h+=c.move(" "),h+=c.move(t.safe(e.meta,{before:h,after:`
20
+ `,encode:["`"],...c.current()})),g()}return h+=c.move(`
21
+ `),a&&(h+=c.move(a+`
22
+ `)),h+=c.move(f),p(),h}function tp(e,r,t){return(t?"":" ")+e}function fr(e){let r=e.options.quote||'"';if(r!=='"'&&r!=="'")throw new Error("Cannot serialize title with `"+r+"` for `options.quote`, expected `\"`, or `'`");return r}function mu(e,r,t,i){let o=fr(t),a=o==='"'?"Quote":"Apostrophe",u=t.enter("definition"),c=t.enter("label"),f=t.createTracker(i),p=f.move("[");return p+=f.move(t.safe(t.associationId(e),{before:p,after:"]",...f.current()})),p+=f.move("]: "),c(),!e.url||/[\0- \u007F]/.test(e.url)?(c=t.enter("destinationLiteral"),p+=f.move("<"),p+=f.move(t.safe(e.url,{before:p,after:">",...f.current()})),p+=f.move(">")):(c=t.enter("destinationRaw"),p+=f.move(t.safe(e.url,{before:p,after:e.title?" ":`
23
+ `,...f.current()}))),c(),e.title&&(c=t.enter(`title${a}`),p+=f.move(" "+o),p+=f.move(t.safe(e.title,{before:p,after:o,...f.current()})),p+=f.move(o),c()),u(),p}function hu(e){let r=e.options.emphasis||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize emphasis with `"+r+"` for `options.emphasis`, expected `*`, or `_`");return r}function Lt(e){return"&#x"+e.toString(16).toUpperCase()+";"}function dr(e,r,t){let i=gt(e),o=gt(r);return i===void 0?o===void 0?t==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:i===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}po.peek=rp;function po(e,r,t,i){let o=hu(t),a=t.enter("emphasis"),u=t.createTracker(i),c=u.move(o),f=u.move(t.containerPhrasing(e,{after:o,before:c,...u.current()})),p=f.charCodeAt(0),h=dr(i.before.charCodeAt(i.before.length-1),p,o);h.inside&&(f=Lt(p)+f.slice(1));let g=f.charCodeAt(f.length-1),y=dr(i.after.charCodeAt(0),g,o);y.inside&&(f=f.slice(0,-1)+Lt(g));let _=u.move(o);return a(),t.attentionEncodeSurroundingInfo={after:y.outside,before:h.outside},c+f+_}function rp(e,r,t){return t.options.emphasis||"*"}function Wt(e,r,t,i){let o,a,u;typeof r=="function"&&typeof t!="function"?(a=void 0,u=r,o=t):(a=r,u=t,o=i),Gt(e,a,c,o);function c(f,p){let h=p[p.length-1],g=h?h.children.indexOf(f):void 0;return u(f,g,h)}}function gu(e,r){let t=!1;return Wt(e,function(i){if("value"in i&&/\r?\n|\r/.test(i.value)||i.type==="break")return t=!0,Ht}),!!((!e.depth||e.depth<3)&&Ut(e)&&(r.options.setext||t))}function bu(e,r,t,i){let o=Math.max(Math.min(6,e.depth||1),1),a=t.createTracker(i);if(gu(e,t)){let h=t.enter("headingSetext"),g=t.enter("phrasing"),y=t.containerPhrasing(e,{...a.current(),before:`
24
+ `,after:`
25
+ `});return g(),h(),y+`
26
+ `+(o===1?"=":"-").repeat(y.length-(Math.max(y.lastIndexOf("\r"),y.lastIndexOf(`
27
+ `))+1))}let u="#".repeat(o),c=t.enter("headingAtx"),f=t.enter("phrasing");a.move(u+" ");let p=t.containerPhrasing(e,{before:"# ",after:`
28
+ `,...a.current()});return/^[\t ]/.test(p)&&(p=Lt(p.charCodeAt(0))+p.slice(1)),p=p?u+" "+p:u,t.options.closeAtx&&(p+=" "+u),f(),c(),p}mo.peek=np;function mo(e){return e.value||""}function np(){return"<"}ho.peek=ip;function ho(e,r,t,i){let o=fr(t),a=o==='"'?"Quote":"Apostrophe",u=t.enter("image"),c=t.enter("label"),f=t.createTracker(i),p=f.move("![");return p+=f.move(t.safe(e.alt,{before:p,after:"]",...f.current()})),p+=f.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=t.enter("destinationLiteral"),p+=f.move("<"),p+=f.move(t.safe(e.url,{before:p,after:">",...f.current()})),p+=f.move(">")):(c=t.enter("destinationRaw"),p+=f.move(t.safe(e.url,{before:p,after:e.title?" ":")",...f.current()}))),c(),e.title&&(c=t.enter(`title${a}`),p+=f.move(" "+o),p+=f.move(t.safe(e.title,{before:p,after:o,...f.current()})),p+=f.move(o),c()),p+=f.move(")"),u(),p}function ip(){return"!"}go.peek=op;function go(e,r,t,i){let o=e.referenceType,a=t.enter("imageReference"),u=t.enter("label"),c=t.createTracker(i),f=c.move("!["),p=t.safe(e.alt,{before:f,after:"]",...c.current()});f+=c.move(p+"]["),u();let h=t.stack;t.stack=[],u=t.enter("reference");let g=t.safe(t.associationId(e),{before:f,after:"]",...c.current()});return u(),t.stack=h,a(),o==="full"||!p||p!==g?f+=c.move(g+"]"):o==="shortcut"?f=f.slice(0,-1):f+=c.move("]"),f}function op(){return"!"}bo.peek=ap;function bo(e,r,t){let i=e.value||"",o="`",a=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(i);)o+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++a<t.unsafe.length;){let u=t.unsafe[a],c=t.compilePattern(u),f;if(u.atBreak)for(;f=c.exec(i);){let p=f.index;i.charCodeAt(p)===10&&i.charCodeAt(p-1)===13&&p--,i=i.slice(0,p)+" "+i.slice(f.index+1)}}return o+i+o}function ap(){return"`"}function _o(e,r){let t=Ut(e);return!!(!r.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(t===e.url||"mailto:"+t===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}yo.peek=sp;function yo(e,r,t,i){let o=fr(t),a=o==='"'?"Quote":"Apostrophe",u=t.createTracker(i),c,f;if(_o(e,t)){let h=t.stack;t.stack=[],c=t.enter("autolink");let g=u.move("<");return g+=u.move(t.containerPhrasing(e,{before:g,after:">",...u.current()})),g+=u.move(">"),c(),t.stack=h,g}c=t.enter("link"),f=t.enter("label");let p=u.move("[");return p+=u.move(t.containerPhrasing(e,{before:p,after:"](",...u.current()})),p+=u.move("]("),f(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(f=t.enter("destinationLiteral"),p+=u.move("<"),p+=u.move(t.safe(e.url,{before:p,after:">",...u.current()})),p+=u.move(">")):(f=t.enter("destinationRaw"),p+=u.move(t.safe(e.url,{before:p,after:e.title?" ":")",...u.current()}))),f(),e.title&&(f=t.enter(`title${a}`),p+=u.move(" "+o),p+=u.move(t.safe(e.title,{before:p,after:o,...u.current()})),p+=u.move(o),f()),p+=u.move(")"),c(),p}function sp(e,r,t){return _o(e,t)?"<":"["}wo.peek=up;function wo(e,r,t,i){let o=e.referenceType,a=t.enter("linkReference"),u=t.enter("label"),c=t.createTracker(i),f=c.move("["),p=t.containerPhrasing(e,{before:f,after:"]",...c.current()});f+=c.move(p+"]["),u();let h=t.stack;t.stack=[],u=t.enter("reference");let g=t.safe(t.associationId(e),{before:f,after:"]",...c.current()});return u(),t.stack=h,a(),o==="full"||!p||p!==g?f+=c.move(g+"]"):o==="shortcut"?f=f.slice(0,-1):f+=c.move("]"),f}function up(){return"["}function pr(e){let r=e.options.bullet||"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bullet`, expected `*`, `+`, or `-`");return r}function _u(e){let r=pr(e),t=e.options.bulletOther;if(!t)return r==="*"?"-":"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(t===r)throw new Error("Expected `bullet` (`"+r+"`) and `bulletOther` (`"+t+"`) to be different");return t}function yu(e){let r=e.options.bulletOrdered||".";if(r!=="."&&r!==")")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOrdered`, expected `.` or `)`");return r}function En(e){let r=e.options.rule||"*";if(r!=="*"&&r!=="-"&&r!=="_")throw new Error("Cannot serialize rules with `"+r+"` for `options.rule`, expected `*`, `-`, or `_`");return r}function wu(e,r,t,i){let o=t.enter("list"),a=t.bulletCurrent,u=e.ordered?yu(t):pr(t),c=e.ordered?u==="."?")":".":_u(t),f=r&&t.bulletLastUsed?u===t.bulletLastUsed:!1;if(!e.ordered){let h=e.children?e.children[0]:void 0;if((u==="*"||u==="-")&&h&&(!h.children||!h.children[0])&&t.stack[t.stack.length-1]==="list"&&t.stack[t.stack.length-2]==="listItem"&&t.stack[t.stack.length-3]==="list"&&t.stack[t.stack.length-4]==="listItem"&&t.indexStack[t.indexStack.length-1]===0&&t.indexStack[t.indexStack.length-2]===0&&t.indexStack[t.indexStack.length-3]===0&&(f=!0),En(t)===u&&h){let g=-1;for(;++g<e.children.length;){let y=e.children[g];if(y&&y.type==="listItem"&&y.children&&y.children[0]&&y.children[0].type==="thematicBreak"){f=!0;break}}}}f&&(u=c),t.bulletCurrent=u;let p=t.containerFlow(e,i);return t.bulletLastUsed=u,t.bulletCurrent=a,o(),p}function ku(e){let r=e.options.listItemIndent||"one";if(r!=="tab"&&r!=="one"&&r!=="mixed")throw new Error("Cannot serialize items with `"+r+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return r}function xu(e,r,t,i){let o=ku(t),a=t.bulletCurrent||pr(t);r&&r.type==="list"&&r.ordered&&(a=(typeof r.start=="number"&&r.start>-1?r.start:1)+(t.options.incrementListMarker===!1?0:r.children.indexOf(e))+a);let u=a.length+1;(o==="tab"||o==="mixed"&&(r&&r.type==="list"&&r.spread||e.spread))&&(u=Math.ceil(u/4)*4);let c=t.createTracker(i);c.move(a+" ".repeat(u-a.length)),c.shift(u);let f=t.enter("listItem"),p=t.indentLines(t.containerFlow(e,c.current()),h);return f(),p;function h(g,y,_){return y?(_?"":" ".repeat(u))+g:(_?a:a+" ".repeat(u-a.length))+g}}function vu(e,r,t,i){let o=t.enter("paragraph"),a=t.enter("phrasing"),u=t.containerPhrasing(e,i);return a(),o(),u}var ko=St(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Eu(e,r,t,i){return(e.children.some(function(u){return ko(u)})?t.containerPhrasing:t.containerFlow).call(t,e,i)}function Su(e){let r=e.options.strong||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize strong with `"+r+"` for `options.strong`, expected `*`, or `_`");return r}xo.peek=lp;function xo(e,r,t,i){let o=Su(t),a=t.enter("strong"),u=t.createTracker(i),c=u.move(o+o),f=u.move(t.containerPhrasing(e,{after:o,before:c,...u.current()})),p=f.charCodeAt(0),h=dr(i.before.charCodeAt(i.before.length-1),p,o);h.inside&&(f=Lt(p)+f.slice(1));let g=f.charCodeAt(f.length-1),y=dr(i.after.charCodeAt(0),g,o);y.inside&&(f=f.slice(0,-1)+Lt(g));let _=u.move(o+o);return a(),t.attentionEncodeSurroundingInfo={after:y.outside,before:h.outside},c+f+_}function lp(e,r,t){return t.options.strong||"*"}function Lu(e,r,t,i){return t.safe(e.value,i)}function Tu(e){let r=e.options.ruleRepetition||3;if(r<3)throw new Error("Cannot serialize rules with repetition `"+r+"` for `options.ruleRepetition`, expected `3` or more");return r}function Au(e,r,t){let i=(En(t)+(t.options.ruleSpaces?" ":"")).repeat(Tu(t));return t.options.ruleSpaces?i.slice(0,-1):i}var Or={blockquote:su,break:fo,code:pu,definition:mu,emphasis:po,hardBreak:fo,heading:bu,html:mo,image:ho,imageReference:go,inlineCode:bo,link:yo,linkReference:wo,list:wu,listItem:xu,paragraph:vu,root:Eu,strong:xo,text:Lu,thematicBreak:Au};function Eo(){return{enter:{table:cp,tableData:Ru,tableHeader:Ru,tableRow:dp},exit:{codeText:pp,table:fp,tableData:vo,tableHeader:vo,tableRow:vo}}}function cp(e){let r=e._align;this.enter({type:"table",align:r.map(function(t){return t==="none"?null:t}),children:[]},e),this.data.inTable=!0}function fp(e){this.exit(e),this.data.inTable=void 0}function dp(e){this.enter({type:"tableRow",children:[]},e)}function vo(e){this.exit(e)}function Ru(e){this.enter({type:"tableCell",children:[]},e)}function pp(e){let r=this.resume();this.data.inTable&&(r=r.replace(/\\([\\|])/g,mp));let t=this.stack[this.stack.length-1];t.type,t.value=r,this.exit(e)}function mp(e,r){return r==="|"?r:e}function So(e){let r=e||{},t=r.tableCellPadding,i=r.tablePipeAlign,o=r.stringLength,a=t?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
29
+ `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:y,table:u,tableCell:f,tableRow:c}};function u(_,x,A,R){return p(h(_,A,R),_.align)}function c(_,x,A,R){let E=g(_,A,R),N=p([E]);return N.slice(0,N.indexOf(`
30
+ `))}function f(_,x,A,R){let E=A.enter("tableCell"),N=A.enter("phrasing"),I=A.containerPhrasing(_,{...R,before:a,after:a});return N(),E(),I}function p(_,x){return au(_,{align:x,alignDelimiters:i,padding:t,stringLength:o})}function h(_,x,A){let R=_.children,E=-1,N=[],I=x.enter("table");for(;++E<R.length;)N[E]=g(R[E],x,A);return I(),N}function g(_,x,A){let R=_.children,E=-1,N=[],I=x.enter("tableRow");for(;++E<R.length;)N[E]=f(R[E],_,x,A);return I(),N}function y(_,x,A){let R=Or.inlineCode(_,x,A);return A.stack.includes("tableCell")&&(R=R.replace(/\|/g,"\\$&")),R}}function Lo(){return{exit:{taskListCheckValueChecked:Cu,taskListCheckValueUnchecked:Cu,paragraph:hp}}}function To(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:gp}}}function Cu(e){let r=this.stack[this.stack.length-2];r.type,r.checked=e.type==="taskListCheckValueChecked"}function hp(e){let r=this.stack[this.stack.length-2];if(r&&r.type==="listItem"&&typeof r.checked=="boolean"){let t=this.stack[this.stack.length-1];t.type;let i=t.children[0];if(i&&i.type==="text"){let o=r.children,a=-1,u;for(;++a<o.length;){let c=o[a];if(c.type==="paragraph"){u=c;break}}u===t&&(i.value=i.value.slice(1),i.value.length===0?t.children.shift():t.position&&i.position&&typeof i.position.start.offset=="number"&&(i.position.start.column++,i.position.start.offset++,t.position.start=Object.assign({},i.position.start)))}}this.exit(e)}function gp(e,r,t,i){let o=e.children[0],a=typeof e.checked=="boolean"&&o&&o.type==="paragraph",u="["+(e.checked?"x":" ")+"] ",c=t.createTracker(i);a&&c.move(u);let f=Or.listItem(e,r,t,{...i,...c.current()});return a&&(f=f.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,p)),f;function p(h){return h+u}}function Ao(){return[oo(),so(),lo(),Eo(),Lo()]}function Ro(e){return{extensions:[ao(),uo(e),co(),So(e),To()]}}var bp={tokenize:xp,partial:!0},Iu={tokenize:vp,partial:!0},Du={tokenize:Ep,partial:!0},Fu={tokenize:Sp,partial:!0},_p={tokenize:Lp,partial:!0},Pu={name:"wwwAutolink",tokenize:wp,previous:Nu},Mu={name:"protocolAutolink",tokenize:kp,previous:Ou},bt={name:"emailAutolink",tokenize:yp,previous:Bu},ot={};function Io(){return{text:ot}}var Yt=48;for(;Yt<123;)ot[Yt]=bt,Yt++,Yt===58?Yt=65:Yt===91&&(Yt=97);ot[43]=bt;ot[45]=bt;ot[46]=bt;ot[95]=bt;ot[72]=[bt,Mu];ot[104]=[bt,Mu];ot[87]=[bt,Pu];ot[119]=[bt,Pu];function yp(e,r,t){let i=this,o,a;return u;function u(g){return!Co(g)||!Bu.call(i,i.previous)||Do(i.events)?t(g):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(g))}function c(g){return Co(g)?(e.consume(g),c):g===64?(e.consume(g),f):t(g)}function f(g){return g===46?e.check(_p,h,p)(g):g===45||g===95||Ie(g)?(a=!0,e.consume(g),f):h(g)}function p(g){return e.consume(g),o=!0,f}function h(g){return a&&o&&Ce(i.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),r(g)):t(g)}}function wp(e,r,t){let i=this;return o;function o(u){return u!==87&&u!==119||!Nu.call(i,i.previous)||Do(i.events)?t(u):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(bp,e.attempt(Iu,e.attempt(Du,a),t),t)(u))}function a(u){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),r(u)}}function kp(e,r,t){let i=this,o="",a=!1;return u;function u(g){return(g===72||g===104)&&Ou.call(i,i.previous)&&!Do(i.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(g),e.consume(g),c):t(g)}function c(g){if(Ce(g)&&o.length<5)return o+=String.fromCodePoint(g),e.consume(g),c;if(g===58){let y=o.toLowerCase();if(y==="http"||y==="https")return e.consume(g),f}return t(g)}function f(g){return g===47?(e.consume(g),a?p:(a=!0,f)):t(g)}function p(g){return g===null||Vt(g)||le(g)||Oe(g)||Ye(g)?t(g):e.attempt(Iu,e.attempt(Du,h),t)(g)}function h(g){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),r(g)}}function xp(e,r,t){let i=0;return o;function o(u){return(u===87||u===119)&&i<3?(i++,e.consume(u),o):u===46&&i===3?(e.consume(u),a):t(u)}function a(u){return u===null?t(u):r(u)}}function vp(e,r,t){let i,o,a;return u;function u(p){return p===46||p===95?e.check(Fu,f,c)(p):p===null||le(p)||Oe(p)||p!==45&&Ye(p)?f(p):(a=!0,e.consume(p),u)}function c(p){return p===95?i=!0:(o=i,i=void 0),e.consume(p),u}function f(p){return o||i||!a?t(p):r(p)}}function Ep(e,r){let t=0,i=0;return o;function o(u){return u===40?(t++,e.consume(u),o):u===41&&i<t?a(u):u===33||u===34||u===38||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===60||u===63||u===93||u===95||u===126?e.check(Fu,r,a)(u):u===null||le(u)||Oe(u)?r(u):(e.consume(u),o)}function a(u){return u===41&&i++,e.consume(u),o}}function Sp(e,r,t){return i;function i(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(e.consume(c),i):c===38?(e.consume(c),a):c===93?(e.consume(c),o):c===60||c===null||le(c)||Oe(c)?r(c):t(c)}function o(c){return c===null||c===40||c===91||le(c)||Oe(c)?r(c):i(c)}function a(c){return Ce(c)?u(c):t(c)}function u(c){return c===59?(e.consume(c),i):Ce(c)?(e.consume(c),u):t(c)}}function Lp(e,r,t){return i;function i(a){return e.consume(a),o}function o(a){return Ie(a)?t(a):r(a)}}function Nu(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||le(e)}function Ou(e){return!Ce(e)}function Bu(e){return!(e===47||Co(e))}function Co(e){return e===43||e===45||e===46||e===95||Ie(e)}function Do(e){let r=e.length,t=!1;for(;r--;){let i=e[r][1];if((i.type==="labelLink"||i.type==="labelImage")&&!i._balanced){t=!0;break}if(i._gfmAutolinkLiteralWalkedInto){t=!1;break}}return e.length>0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}var Tp={tokenize:Pp,partial:!0};function Fo(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Ip,continuation:{tokenize:Dp},exit:Fp}},text:{91:{name:"gfmFootnoteCall",tokenize:Cp},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Ap,resolveTo:Rp}}}}function Ap(e,r,t){let i=this,o=i.events.length,a=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),u;for(;o--;){let f=i.events[o][1];if(f.type==="labelImage"){u=f;break}if(f.type==="gfmFootnoteCall"||f.type==="labelLink"||f.type==="label"||f.type==="image"||f.type==="link")break}return c;function c(f){if(!u||!u._balanced)return t(f);let p=Ne(i.sliceSerialize({start:u.end,end:i.now()}));return p.codePointAt(0)!==94||!a.includes(p.slice(1))?t(f):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),r(f))}}function Rp(e,r){let t=e.length,i;for(;t--;)if(e[t][1].type==="labelImage"&&e[t][0]==="enter"){i=e[t][1];break}e[t+1][1].type="data",e[t+3][1].type="gfmFootnoteCallLabelMarker";let o={type:"gfmFootnoteCall",start:Object.assign({},e[t+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[t+3][1].end),end:Object.assign({},e[t+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;let u={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},u.start),end:Object.assign({},u.end)},f=[e[t+1],e[t+2],["enter",o,r],e[t+3],e[t+4],["enter",a,r],["exit",a,r],["enter",u,r],["enter",c,r],["exit",c,r],["exit",u,r],e[e.length-2],e[e.length-1],["exit",o,r]];return e.splice(t,e.length-t+1,...f),e}function Cp(e,r,t){let i=this,o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),a=0,u;return c;function c(g){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),f}function f(g){return g!==94?t(g):(e.enter("gfmFootnoteCallMarker"),e.consume(g),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",p)}function p(g){if(a>999||g===93&&!u||g===null||g===91||le(g))return t(g);if(g===93){e.exit("chunkString");let y=e.exit("gfmFootnoteCallString");return o.includes(Ne(i.sliceSerialize(y)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),r):t(g)}return le(g)||(u=!0),a++,e.consume(g),g===92?h:p}function h(g){return g===91||g===92||g===93?(e.consume(g),a++,p):p(g)}}function Ip(e,r,t){let i=this,o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),a,u=0,c;return f;function f(x){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(x),e.exit("gfmFootnoteDefinitionLabelMarker"),p}function p(x){return x===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(x),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",h):t(x)}function h(x){if(u>999||x===93&&!c||x===null||x===91||le(x))return t(x);if(x===93){e.exit("chunkString");let A=e.exit("gfmFootnoteDefinitionLabelString");return a=Ne(i.sliceSerialize(A)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(x),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),y}return le(x)||(c=!0),u++,e.consume(x),x===92?g:h}function g(x){return x===91||x===92||x===93?(e.consume(x),u++,h):h(x)}function y(x){return x===58?(e.enter("definitionMarker"),e.consume(x),e.exit("definitionMarker"),o.includes(a)||o.push(a),K(e,_,"gfmFootnoteDefinitionWhitespace")):t(x)}function _(x){return r(x)}}function Dp(e,r,t){return e.check(it,r,e.attempt(Tp,r,t))}function Fp(e){e.exit("gfmFootnoteDefinition")}function Pp(e,r,t){let i=this;return K(e,o,"gfmFootnoteDefinitionIndent",5);function o(a){let u=i.events[i.events.length-1];return u&&u[1].type==="gfmFootnoteDefinitionIndent"&&u[2].sliceSerialize(u[1],!0).length===4?r(a):t(a)}}function Po(e){let t=(e||{}).singleTilde,i={name:"strikethrough",tokenize:a,resolveAll:o};return t==null&&(t=!0),{text:{126:i},insideSpan:{null:[i]},attentionMarkers:{null:[126]}};function o(u,c){let f=-1;for(;++f<u.length;)if(u[f][0]==="enter"&&u[f][1].type==="strikethroughSequenceTemporary"&&u[f][1]._close){let p=f;for(;p--;)if(u[p][0]==="exit"&&u[p][1].type==="strikethroughSequenceTemporary"&&u[p][1]._open&&u[f][1].end.offset-u[f][1].start.offset===u[p][1].end.offset-u[p][1].start.offset){u[f][1].type="strikethroughSequence",u[p][1].type="strikethroughSequence";let h={type:"strikethrough",start:Object.assign({},u[p][1].start),end:Object.assign({},u[f][1].end)},g={type:"strikethroughText",start:Object.assign({},u[p][1].end),end:Object.assign({},u[f][1].start)},y=[["enter",h,c],["enter",u[p][1],c],["exit",u[p][1],c],["enter",g,c]],_=c.parser.constructs.insideSpan.null;_&&Re(y,y.length,0,vt(_,u.slice(p+1,f),c)),Re(y,y.length,0,[["exit",g,c],["enter",u[f][1],c],["exit",u[f][1],c],["exit",h,c]]),Re(u,p-1,f-p+3,y),f=p+y.length-2;break}}for(f=-1;++f<u.length;)u[f][1].type==="strikethroughSequenceTemporary"&&(u[f][1].type="data");return u}function a(u,c,f){let p=this.previous,h=this.events,g=0;return y;function y(x){return p===126&&h[h.length-1][1].type!=="characterEscape"?f(x):(u.enter("strikethroughSequenceTemporary"),_(x))}function _(x){let A=gt(p);if(x===126)return g>1?f(x):(u.consume(x),g++,_);if(g<2&&!t)return f(x);let R=u.exit("strikethroughSequenceTemporary"),E=gt(x);return R._open=!E||E===2&&!!A,R._close=!A||A===2&&!!E,c(x)}}}var Sn=class{constructor(){this.map=[]}add(r,t,i){Mp(this,r,t,i)}consume(r){if(this.map.sort(function(a,u){return a[0]-u[0]}),this.map.length===0)return;let t=this.map.length,i=[];for(;t>0;)t-=1,i.push(r.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),r.length=this.map[t][0];i.push(r.slice()),r.length=0;let o=i.pop();for(;o;){for(let a of o)r.push(a);o=i.pop()}this.map.length=0}};function Mp(e,r,t,i){let o=0;if(!(t===0&&i.length===0)){for(;o<e.map.length;){if(e.map[o][0]===r){e.map[o][1]+=t,e.map[o][2].push(...i);return}o+=1}e.map.push([r,t,i])}}function zu(e,r){let t=!1,i=[];for(;r<e.length;){let o=e[r];if(t){if(o[0]==="enter")o[1].type==="tableContent"&&i.push(e[r+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[r-1][1].type==="tableDelimiterMarker"){let a=i.length-1;i[a]=i[a]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(t=!0);r+=1}return i}function Mo(){return{flow:{null:{name:"table",tokenize:Np,resolveAll:Op}}}}function Np(e,r,t){let i=this,o=0,a=0,u;return c;function c(F){let ye=i.events.length-1;for(;ye>-1;){let ne=i.events[ye][1].type;if(ne==="lineEnding"||ne==="linePrefix")ye--;else break}let se=ye>-1?i.events[ye][1].type:null,H=se==="tableHead"||se==="tableRow"?P:f;return H===P&&i.parser.lazy[i.now().line]?t(F):H(F)}function f(F){return e.enter("tableHead"),e.enter("tableRow"),p(F)}function p(F){return F===124||(u=!0,a+=1),h(F)}function h(F){return F===null?t(F):q(F)?a>1?(a=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(F),e.exit("lineEnding"),_):t(F):ee(F)?K(e,h,"whitespace")(F):(a+=1,u&&(u=!1,o+=1),F===124?(e.enter("tableCellDivider"),e.consume(F),e.exit("tableCellDivider"),u=!0,h):(e.enter("data"),g(F)))}function g(F){return F===null||F===124||le(F)?(e.exit("data"),h(F)):(e.consume(F),F===92?y:g)}function y(F){return F===92||F===124?(e.consume(F),g):g(F)}function _(F){return i.interrupt=!1,i.parser.lazy[i.now().line]?t(F):(e.enter("tableDelimiterRow"),u=!1,ee(F)?K(e,x,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(F):x(F))}function x(F){return F===45||F===58?R(F):F===124?(u=!0,e.enter("tableCellDivider"),e.consume(F),e.exit("tableCellDivider"),A):W(F)}function A(F){return ee(F)?K(e,R,"whitespace")(F):R(F)}function R(F){return F===58?(a+=1,u=!0,e.enter("tableDelimiterMarker"),e.consume(F),e.exit("tableDelimiterMarker"),E):F===45?(a+=1,E(F)):F===null||q(F)?$(F):W(F)}function E(F){return F===45?(e.enter("tableDelimiterFiller"),N(F)):W(F)}function N(F){return F===45?(e.consume(F),N):F===58?(u=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(F),e.exit("tableDelimiterMarker"),I):(e.exit("tableDelimiterFiller"),I(F))}function I(F){return ee(F)?K(e,$,"whitespace")(F):$(F)}function $(F){return F===124?x(F):F===null||q(F)?!u||o!==a?W(F):(e.exit("tableDelimiterRow"),e.exit("tableHead"),r(F)):W(F)}function W(F){return t(F)}function P(F){return e.enter("tableRow"),G(F)}function G(F){return F===124?(e.enter("tableCellDivider"),e.consume(F),e.exit("tableCellDivider"),G):F===null||q(F)?(e.exit("tableRow"),r(F)):ee(F)?K(e,G,"whitespace")(F):(e.enter("data"),ae(F))}function ae(F){return F===null||F===124||le(F)?(e.exit("data"),G(F)):(e.consume(F),F===92?j:ae)}function j(F){return F===92||F===124?(e.consume(F),ae):ae(F)}}function Op(e,r){let t=-1,i=!0,o=0,a=[0,0,0,0],u=[0,0,0,0],c=!1,f=0,p,h,g,y=new Sn;for(;++t<e.length;){let _=e[t],x=_[1];_[0]==="enter"?x.type==="tableHead"?(c=!1,f!==0&&(Uu(y,r,f,p,h),h=void 0,f=0),p={type:"table",start:Object.assign({},x.start),end:Object.assign({},x.end)},y.add(t,0,[["enter",p,r]])):x.type==="tableRow"||x.type==="tableDelimiterRow"?(i=!0,g=void 0,a=[0,0,0,0],u=[0,t+1,0,0],c&&(c=!1,h={type:"tableBody",start:Object.assign({},x.start),end:Object.assign({},x.end)},y.add(t,0,[["enter",h,r]])),o=x.type==="tableDelimiterRow"?2:h?3:1):o&&(x.type==="data"||x.type==="tableDelimiterMarker"||x.type==="tableDelimiterFiller")?(i=!1,u[2]===0&&(a[1]!==0&&(u[0]=u[1],g=Ln(y,r,a,o,void 0,g),a=[0,0,0,0]),u[2]=t)):x.type==="tableCellDivider"&&(i?i=!1:(a[1]!==0&&(u[0]=u[1],g=Ln(y,r,a,o,void 0,g)),a=u,u=[a[1],t,0,0])):x.type==="tableHead"?(c=!0,f=t):x.type==="tableRow"||x.type==="tableDelimiterRow"?(f=t,a[1]!==0?(u[0]=u[1],g=Ln(y,r,a,o,t,g)):u[1]!==0&&(g=Ln(y,r,u,o,t,g)),o=0):o&&(x.type==="data"||x.type==="tableDelimiterMarker"||x.type==="tableDelimiterFiller")&&(u[3]=t)}for(f!==0&&Uu(y,r,f,p,h),y.consume(r.events),t=-1;++t<r.events.length;){let _=r.events[t];_[0]==="enter"&&_[1].type==="table"&&(_[1]._align=zu(r.events,t))}return e}function Ln(e,r,t,i,o,a){let u=i===1?"tableHeader":i===2?"tableDelimiter":"tableData",c="tableContent";t[0]!==0&&(a.end=Object.assign({},mr(r.events,t[0])),e.add(t[0],0,[["exit",a,r]]));let f=mr(r.events,t[1]);if(a={type:u,start:Object.assign({},f),end:Object.assign({},f)},e.add(t[1],0,[["enter",a,r]]),t[2]!==0){let p=mr(r.events,t[2]),h=mr(r.events,t[3]),g={type:c,start:Object.assign({},p),end:Object.assign({},h)};if(e.add(t[2],0,[["enter",g,r]]),i!==2){let y=r.events[t[2]],_=r.events[t[3]];if(y[1].end=Object.assign({},_[1].end),y[1].type="chunkText",y[1].contentType="text",t[3]>t[2]+1){let x=t[2]+1,A=t[3]-t[2]-1;e.add(x,A,[])}}e.add(t[3]+1,0,[["exit",g,r]])}return o!==void 0&&(a.end=Object.assign({},mr(r.events,o)),e.add(o,0,[["exit",a,r]]),a=void 0),a}function Uu(e,r,t,i,o){let a=[],u=mr(r.events,t);o&&(o.end=Object.assign({},u),a.push(["exit",o,r])),i.end=Object.assign({},u),a.push(["exit",i,r]),e.add(t+1,0,a)}function mr(e,r){let t=e[r],i=t[0]==="enter"?"start":"end";return t[1][i]}var Bp={name:"tasklistCheck",tokenize:zp};function No(){return{text:{91:Bp}}}function zp(e,r,t){let i=this;return o;function o(f){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?t(f):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),a)}function a(f){return le(f)?(e.enter("taskListCheckValueUnchecked"),e.consume(f),e.exit("taskListCheckValueUnchecked"),u):f===88||f===120?(e.enter("taskListCheckValueChecked"),e.consume(f),e.exit("taskListCheckValueChecked"),u):t(f)}function u(f){return f===93?(e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):t(f)}function c(f){return q(f)?r(f):ee(f)?e.check({tokenize:Up},r,t)(f):t(f)}}function Up(e,r,t){return K(e,i,"whitespace");function i(o){return o===null?t(o):r(o)}}function Vu(e){return rn([Io(),Fo(),Po(e),Mo(),No()])}var Vp={};function Tn(e){let r=this,t=e||Vp,i=r.data(),o=i.micromarkExtensions||(i.micromarkExtensions=[]),a=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),u=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);o.push(Vu(t)),a.push(Ao()),u.push(Ro(t))}function Br(e){let t=hi().use(hn).use(vn).use(kn).use(Tn).parse(e);return jp(t,e),t}function jp(e,r){Wt(e,"textDirective",(t,i,o)=>{if(o===void 0||i===void 0)return;let a=t,u=a.position;if(u===void 0||u.start.offset===void 0||u.end.offset===void 0||ju(a.name,u.start.offset,r))return;let c={type:"text",value:r.slice(u.start.offset,u.end.offset),position:u};o.children[i]=c}),qu(e)}var qp=/^[A-Za-z]/,Hp=/[A-Za-z0-9]/;function ju(e,r,t){if(!qp.test(e))return!1;if(r===0)return!0;let i=t[r-1];return i===void 0||!Hp.test(i)}function qu(e){if(!Gp(e))return;let r=e.children,t=[];for(let i of r){let o=t[t.length-1];o!==void 0&&o.type==="text"&&i.type==="text"?(o.value+=i.value,o.position!==void 0&&i.position!==void 0&&(o.position={start:o.position.start,end:i.position.end})):t.push(i)}e.children=t;for(let i of t)qu(i)}function Gp(e){return Array.isArray(e.children)}var G1=Object.assign(Object.create(null),{a:"href",img:"src"});function Hu(e){let r=e.indexOf("{");if(r===-1)return;let t;for(let i=r+1;i<e.length;i++){let o=e[i];if(t){o===t&&(t=void 0);continue}if(o==='"'||o==="'"){t=o;continue}if(o==="}")return e.slice(r+1,i)}}var An=/([A-Za-z_][\w-]*)(?:=(?:"([^"]*)"|'([^']*)'|(\S+)))?/g,$p=/^[A-Za-z_][A-Za-z0-9_-]*$/;function Gu(e){return $p.test(e)}function $u(e){let r=Object.create(null);if(!e)return r;let t=Hu(e);if(t===void 0)return r;An.lastIndex=0;let i;for(;(i=An.exec(t))!==null;){let o=i[1];o&&(r[o]=i[2]??i[3]??i[4]??"")}return r}function Wu(e,r){if(!e)return!1;let t=Hu(e);if(t===void 0)return!1;An.lastIndex=0;let i,o=!1;for(;(i=An.exec(t))!==null;)i[1]===r&&(o=i[2]===void 0&&i[3]===void 0&&i[4]===void 0);return o}function Wp(e){if(!e)return;let r=e.split(",").map(t=>t.trim().toLowerCase()).filter(t=>t.length>0);return r.length>0?r:void 0}function Oo(e){let r=[];return Wt(e,"code",t=>{let i=$u(t.meta),o=i.name;if(!o||!Gu(o))return;let a={name:o,lang:t.lang??"",code:t.value};i.src&&(a.src=i.src);let u=Wp(i.permissions);u&&(a.permissions=u),Wu(t.meta,"publish")&&(a.publish=!0),t.position&&(a.position=t.position),r.push(a)}),r}function Bo(e={}){let r=Object.create(null);for(let[t,i]of Object.entries(e))r[t]=i;return{get(t){return Object.hasOwn(r,t)?r[t]:void 0},has(t){return Object.hasOwn(r,t)},set(t,i){r[t]=i},snapshot(){return{...r}}}}var Yu=["script-error","capability-denied","tier-blocked","limit"];function zo(e){return typeof e=="string"&&Yu.includes(e)?e:"script-error"}var s0=new TextEncoder;var Ju={maxTotalBytes:524288,maxDirectives:2e3,maxTextBytes:8192,maxAttributes:32,maxAttributeNameBytes:128,maxAttributeValueBytes:1024,maxDepth:200},Uo=Object.freeze({directives:Object.freeze([]),truncated:!1}),Yp=new Map([["leafDirective","leaf"],["containerDirective","container"],["textDirective","inline"]]),Jp=new Set(["paragraph","heading","blockquote","list","listItem","code","table","tableRow","thematicBreak","definition","footnoteDefinition","html","yaml","toml","leafDirective","containerDirective"]),Kp=new Set(["text","inlineCode","code"]);function Tt(e){let r=0;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);if(i<128)r+=1;else if(i<2048)r+=2;else if(i>=55296&&i<=56319){let o=e.charCodeAt(t+1);o>=56320&&o<=57343?(r+=4,t++):r+=3}else r+=3}return r}function zr(e){let r="";for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);if(i>=55296&&i<=56319){let o=e.charCodeAt(t+1);o>=56320&&o<=57343?(r+=e[t]+e[t+1],t++):r+="\uFFFD";continue}if(i>=56320&&i<=57343){r+="\uFFFD";continue}if(i===9||i===10){r+=e[t];continue}i<32||i===127||(r+=e[t])}return r}function Ku(e,r){if(Tt(e)<=r)return{text:e,truncated:!1};let t=0,i=0;for(let o of e){let a=Tt(o);if(t+a>r)break;t+=a,i+=o.length}return{text:e.slice(0,i),truncated:!0}}function Xu(e){return typeof e=="object"&&e!==null&&typeof e.type=="string"}function Zu(e){let r=e.children;return Array.isArray(r)?r.filter(Xu):[]}function Qu(e,r,t){if(r>t)return"";if(Kp.has(e.type)&&typeof e.value=="string")return e.value;if(e.type==="break")return`
31
+ `;let i="";for(let o of Zu(e)){let a=Qu(o,r+1,t);a!==""&&(i!==""&&Jp.has(o.type)&&(i+=`
32
+ `),i+=a)}return i}function Xp(e,r){let t=Object.create(null),i=e.attributes;if(typeof i!="object"||i===null||Array.isArray(i))return{attributes:t,truncated:!1};let o=i,a=!1,u=0;for(let c of Object.keys(o)){if(u>=r.maxAttributes){a=!0;break}let f=zr(c);if(f===""||Tt(f)>r.maxAttributeNameBytes){a=!0;continue}let p=o[c],h=typeof p=="string"?zr(p):"",g=Ku(h,r.maxAttributeValueBytes);g.truncated&&(a=!0),t[f]=g.text,u++}return{attributes:t,truncated:a}}function Vo(e,r={}){let t={...Ju,...r},i=[],o=!1,a=0;if(!Xu(e))return{directives:i,truncated:o};let u=(c,f)=>{if(f>t.maxDepth){o=!0;return}let p=Yp.get(c.type);if(p!==void 0){let h=typeof c.name=="string"?zr(c.name):"";if(h!=="")if(i.length>=t.maxDirectives)o=!0;else{let g=Xp(c,t);g.truncated&&(o=!0);let y=zr(Qu(c,0,t.maxDepth)),_=Ku(y,t.maxTextBytes);_.truncated&&(o=!0);let x={name:h,form:p,attributes:g.attributes,text:_.text},A=Zp(x);a+A>t.maxTotalBytes?o=!0:(a+=A,i.push(x))}}for(let h of Zu(c))u(h,f+1)};return u(e,0),{directives:i,truncated:o}}function Zp(e){let r=Tt(e.name)+Tt(e.text)+32;for(let[t,i]of Object.entries(e.attributes))r+=Tt(t)+Tt(i)+8;return r}function el(e){return`reads "${e}", which runs later in the note`}function jo(e){let{directives:r,scriptNames:t}=e,i=new Map,o=new Map;return t.forEach((a,u)=>{o.set(a,u)}),{viewFor(a){return{directives:r,value(u){if(typeof u!="string")return{ok:!0,value:void 0};if(i.has(u))return{ok:!0,value:i.get(u)};let c=o.get(u);return c!==void 0&&c>=a?{ok:!1,message:el(u)}:{ok:!0,value:void 0}}}},recordCompleted(a,u){i.set(a,u)}}}var Qp={manual:"manual",auto:"auto",scheduled:"auto"};function tl(e){return Qp[e]}function qo(e){return e instanceof Error?e.message:String(e)}async function em(e,r,t,i,o){let a;try{if(e.src!==void 0){if(!i)throw new Error(`script "${e.name}" references src "${e.src}" but no loadSource was provided`);a=await i(e.src)}else a=e.code}catch(h){let g=qo(h),y=Date.now();return{entry:{name:e.name,status:"error",error:g,failureKind:"script-error"},storedValue:{value:void 0,status:"error",error:g,failureKind:"script-error",ranAt:y}}}let u;try{u=await r({code:a,tier:t,doc:o})}catch(h){let g=qo(h),y=Date.now();return{entry:{name:e.name,status:"error",error:g,failureKind:"script-error"},storedValue:{value:void 0,status:"error",error:g,failureKind:"script-error",ranAt:y}}}let c=Date.now();if(u.ok)return{entry:{name:e.name,status:"fresh"},storedValue:{value:u.value,status:"fresh",ranAt:c}};let f=zo(u.error.kind),p=u.error.message;return{entry:{name:e.name,status:"error",error:p,failureKind:f},storedValue:{value:void 0,status:"error",error:p,failureKind:f,ranAt:c}}}async function Ho(e){let{scripts:r,executor:t,trigger:i,store:o,loadSource:a,vault:u,onValue:c}=e,f=tl(i),p=jo({directives:e.doc?.directives??Uo,scriptNames:r.map(R=>R.name)}),h=[],g=new Set,y=new Set;for(let[R,E]of r.entries()){g.has(E.name)&&y.add(E.name),g.add(E.name);let N=await em(E,t,f,a,p.viewFor(R));if(o.set(E.name,N.storedValue),c)try{c(E.name,N.storedValue,{...N.entry})}catch{}if(p.recordCompleted(E.name,N.storedValue.value),E.publish===!0&&N.entry.status==="fresh")if(!u)N.entry.publish="not-granted";else{let I;try{I=await u.publish(E.name,N.storedValue)}catch($){I={ok:!1,error:{kind:"error",message:qo($)}}}I.ok?N.entry.publish="published":(N.entry.publish="rejected",N.entry.publishError=I.error.message)}h.push(N.entry)}let _=0,x=0,A=0;for(let R of h)R.status==="fresh"?_++:x++,R.publish==="published"&&A++;return{trigger:i,tier:f,results:h,freshCount:_,errorCount:x,duplicateNames:[...y],publishedCount:A}}var Ur="MARK_CAPABILITY",Fe="MARK_MARSHAL",Go="MARK_FETCH_DECODE",hr=class extends Error{limitKind;constructor(r,t){super(t),this.name="ScriptLimitError",this.limitKind=r}};var Jt=zt(Vr(),1),tm=[Jt.LuaLibraries.Base,Jt.LuaLibraries.String,Jt.LuaLibraries.Table,Jt.LuaLibraries.Math],rm=`
33
+ do
34
+ local _pcall = pcall
35
+ xpcall = function(f, msgh, ...)
36
+ local r = table.pack(_pcall(f, ...))
37
+ if r[1] then return table.unpack(r, 1, r.n) end
38
+ return false, msgh(r[2])
39
+ end
40
+ end
41
+ `,nm=`
42
+ __smd_load_raw = load
43
+ load = nil
44
+ loadstring = nil
45
+ loadfile = nil
46
+ dofile = nil
47
+ collectgarbage = nil
48
+ rawget = nil
49
+ rawset = nil
50
+ rawequal = nil
51
+ rawlen = nil
52
+ getmetatable = nil
53
+ setmetatable = nil
54
+ print = nil
55
+ warn = nil
56
+ _G = nil
57
+ _VERSION = nil
58
+ string.dump = nil
59
+ ${rm}
60
+ `;var In="the Lua engine needs its WebAssembly file but this host did not pass `wasmUri`; the host must pass `wasmUri` (a URL to wasmoon glue.wasm) when running outside Node",Cn=class extends Error{constructor(){super(In),this.name="MissingWasmUriError"}};function nl(){try{return typeof globalThis.process?.versions?.node=="string"}catch{return!1}}function $o(e){return e?.wasmUri!==void 0?!1:!(e?.isNode??nl())}async function Wo(e){if($o(e))throw new Cn;let t=await new Jt.LuaFactory(e?.wasmUri).createEngine({openStandardLibs:!1,traceAllocations:!0});for(let i of tm)t.global.loadLibrary(i);return await t.doString(nm),t}var Yo=zt(Vr(),1),Jo={maxInstructions:1e8,wallClockMs:5e3,maxMemoryBytes:32*1024*1024,hookIntervalInstructions:1e4};function Ko(e,r){let t=!1,i,o=0,a=r.hookIntervalInstructions,u=Date.now()+r.wallClockMs,c=e.lua.module.addFunction(()=>{o+=a,t||(o>=r.maxInstructions?(t=!0,i="instructions"):Date.now()>=u&&(t=!0,i="timeout"),t&&(a=1,e.lua.lua_sethook(e.address,c,Yo.LuaEventMasks.Count,1))),t&&(e.pushValue(`MARK_LIMIT: ${i??"instructions"} limit exceeded`),e.lua.lua_error(e.address))},"vii");e.lua.lua_sethook(e.address,c,Yo.LuaEventMasks.Count,r.hookIntervalInstructions);let f=!1;return{isBreached:()=>t,breachKind:()=>i,dispose:()=>{f||(f=!0,e.isClosed()||e.lua.lua_sethook(e.address,null,0,0),e.lua.module.removeFunction(c))}}}var Dn=zt(Vr(),1);var Kt={maxDepth:32,maxNodes:2e4};function qr(e){return`
61
+ -- Captured into locals AT PRELUDE-DEFINITION TIME (this chunk is doString'd
62
+ -- once per engine, before any untrusted user code runs), so the walk below
63
+ -- closes over these as upvalues fixed to the genuine primitives -- immune to
64
+ -- a later script doing e.g. \`error = function() end\` in the shared globals
65
+ -- table before this walk runs. Resolving error/type/pairs/math.floor as
66
+ -- DYNAMIC GLOBAL lookups would let a script rebind them to neuter its own
67
+ -- caps.
68
+ local error, type, pairs, floor, sfind = error, type, pairs, math.floor, string.find
69
+
70
+ local function __smd_marshal(value, seen, depth, budget)
71
+ local t = type(value)
72
+ if t == "nil" or t == "boolean" or t == "string" or t == "number" then
73
+ if t == "string" and sfind(value, "\\0", 1, true) then
74
+ error("${Fe}:nul-byte")
75
+ end
76
+ budget.n = budget.n + 1
77
+ if budget.n > budget.maxNodes then error("${Fe}:nodes") end
78
+ return value
79
+ elseif t == "table" then
80
+ if depth >= budget.maxDepth then error("${Fe}:depth") end
81
+ if seen[value] then error("${Fe}:cycle") end
82
+ seen[value] = true
83
+ budget.n = budget.n + 1
84
+ if budget.n > budget.maxNodes then error("${Fe}:nodes") end
85
+ local count = 0
86
+ local isArray = true
87
+ for k, _ in pairs(value) do
88
+ count = count + 1
89
+ if type(k) ~= "number" or k < 1 or floor(k) ~= k then
90
+ isArray = false
91
+ end
92
+ end
93
+ local out = {}
94
+ if isArray and count == #value then
95
+ for i = 1, count do
96
+ out[i] = __smd_marshal(value[i], seen, depth + 1, budget)
97
+ end
98
+ else
99
+ isArray = false
100
+ for k, v in pairs(value) do
101
+ if type(k) ~= "string" then
102
+ error("${Fe}:key-type")
103
+ end
104
+ out[k] = __smd_marshal(v, seen, depth + 1, budget)
105
+ end
106
+ end
107
+ seen[value] = nil
108
+ if isArray then
109
+ out.__smd_is_array = true
110
+ end
111
+ return out
112
+ else
113
+ error("${Fe}:type:" .. t)
114
+ end
115
+ end
116
+
117
+ -- Deliberately NOT "local": this prelude and the wrapped user code (see
118
+ -- \`wrapUserCode\` below) are compiled as SEPARATE chunks via separate
119
+ -- \`loadString\` calls, and a Lua \`local\` never survives past the chunk
120
+ -- that declared it. \`__smd_marshal_root\` must be a global so the
121
+ -- wrapper chunk can call it. \`__smd_marshal\` itself stays local -- it is
122
+ -- only ever called from within THIS chunk (from \`__smd_marshal_root\`,
123
+ -- which closes over it as an upvalue regardless of who calls
124
+ -- \`__smd_marshal_root\` later), so it never needs to be reachable by name
125
+ -- from anywhere else.
126
+ function __smd_marshal_root(value)
127
+ local budget = { n = 0, maxNodes = ${e.maxNodes}, maxDepth = ${e.maxDepth} }
128
+ return __smd_marshal(value, {}, 0, budget)
129
+ end
130
+ `}function Xo(e){return`local function __smd_user_chunk()
131
+ ${e}
132
+ end
133
+ return __smd_marshal_root(__smd_user_chunk())`}function At(e,r){let t=0;function i(o,a){if(t++,t>r.maxNodes)return{ok:!1,reason:"nodes",message:`exceeds the ${r.maxNodes}-node limit`};if(o!==null&&typeof o=="object"){if(a>=r.maxDepth)return{ok:!1,reason:"depth",message:`exceeds the ${r.maxDepth}-level depth limit`};if(Array.isArray(o))for(let u of o){let c=i(u,a+1);if(!c.ok)return c}else for(let u of Object.values(o)){let c=i(u,a+1);if(!c.ok)return c}}return{ok:!0}}return i(e,0)}var jr="__smd_is_array";function Xt(e){let r=new Set;function t(i){if(i==null)return{ok:!0,value:null};let o=typeof i;if(o==="string"||o==="boolean")return{ok:!0,value:i};if(o==="number")return Number.isFinite(i)?{ok:!0,value:i}:{ok:!1,reason:"non-finite-number",message:`script returned a non-finite number (${String(i)})`};if(Array.isArray(i)){if(r.has(i))return{ok:!1,reason:"cycle",message:"script return value contains a cycle"};r.add(i);let a=[];for(let u of i){let c=t(u);if(!c.ok)return c;a.push(c.value)}return r.delete(i),{ok:!0,value:a}}if(o==="object"){let a=i;if(r.has(a))return{ok:!1,reason:"cycle",message:"script return value contains a cycle"};if(r.add(a),a[jr]===!0){let f=Object.keys(a).filter(h=>h!==jr).sort((h,g)=>Number(h)-Number(g)),p=[];for(let h of f){let g=t(a[h]);if(!g.ok)return g;p.push(g.value)}return r.delete(a),{ok:!0,value:p}}let c={};for(let[f,p]of Object.entries(a)){let h=t(p);if(!h.ok)return h;c[f]=h.value}return r.delete(a),{ok:!0,value:c}}return{ok:!1,reason:"type",message:`script return value contained an unsupported JS type: ${o}`}}return t(e)}function gr(e){return`
134
+ local __smd_jd_error, __smd_jd_tonumber, __smd_jd_floor =
135
+ error, tonumber, math.floor
136
+ local __smd_jd_sbyte, __smd_jd_ssub, __smd_jd_sfind, __smd_jd_schar =
137
+ string.byte, string.sub, string.find, string.char
138
+ local __smd_jd_tconcat = table.concat
139
+
140
+ function __smd_json_decode(__smd_json_text)
141
+ local error, tonumber, floor = __smd_jd_error, __smd_jd_tonumber, __smd_jd_floor
142
+ local sbyte, ssub, sfind, schar = __smd_jd_sbyte, __smd_jd_ssub, __smd_jd_sfind, __smd_jd_schar
143
+ local tconcat = __smd_jd_tconcat
144
+
145
+ local text = __smd_json_text
146
+ local len = #text
147
+ local pos = 1
148
+ local maxDepth = ${e.maxDepth}
149
+
150
+ local function fail(reason)
151
+ error("${Go}:" .. reason)
152
+ end
153
+
154
+ local function skip_ws()
155
+ while pos <= len do
156
+ local c = sbyte(text, pos)
157
+ if c == 32 or c == 9 or c == 10 or c == 13 then
158
+ pos = pos + 1
159
+ else
160
+ return
161
+ end
162
+ end
163
+ end
164
+
165
+ -- Encodes one Unicode code point as UTF-8 bytes, for \\uXXXX escapes
166
+ -- inside JSON strings. No \`utf8\` library is loaded in this sandbox (see
167
+ -- \`./globals\`), so this is a small hand-rolled encoder covering the full
168
+ -- Unicode range JSON can express (a lone \\uXXXX escape, or a surrogate
169
+ -- pair for a codepoint above the Basic Multilingual Plane).
170
+ local function utf8_encode(cp)
171
+ if cp <= 0x7F then
172
+ return schar(cp)
173
+ elseif cp <= 0x7FF then
174
+ return schar(0xC0 + floor(cp / 0x40), 0x80 + (cp % 0x40))
175
+ elseif cp <= 0xFFFF then
176
+ return schar(
177
+ 0xE0 + floor(cp / 0x1000),
178
+ 0x80 + (floor(cp / 0x40) % 0x40),
179
+ 0x80 + (cp % 0x40)
180
+ )
181
+ else
182
+ return schar(
183
+ 0xF0 + floor(cp / 0x40000),
184
+ 0x80 + (floor(cp / 0x1000) % 0x40),
185
+ 0x80 + (floor(cp / 0x40) % 0x40),
186
+ 0x80 + (cp % 0x40)
187
+ )
188
+ end
189
+ end
190
+
191
+ local decode_value
192
+
193
+ local function decode_string()
194
+ -- text:sub(pos, pos) == '"' on entry
195
+ pos = pos + 1
196
+ local parts = {}
197
+ local start = pos
198
+ while true do
199
+ if pos > len then fail("malformed") end
200
+ local c = sbyte(text, pos)
201
+ if c == 34 then -- '"'
202
+ parts[#parts + 1] = ssub(text, start, pos - 1)
203
+ pos = pos + 1
204
+ return tconcat(parts)
205
+ elseif c == 92 then -- '\\\\'
206
+ parts[#parts + 1] = ssub(text, start, pos - 1)
207
+ local e = ssub(text, pos + 1, pos + 1)
208
+ if e == '"' or e == '\\\\' or e == '/' then
209
+ parts[#parts + 1] = e
210
+ pos = pos + 2
211
+ elseif e == 'b' then
212
+ parts[#parts + 1] = schar(8)
213
+ pos = pos + 2
214
+ elseif e == 'f' then
215
+ parts[#parts + 1] = schar(12)
216
+ pos = pos + 2
217
+ elseif e == 'n' then
218
+ parts[#parts + 1] = schar(10)
219
+ pos = pos + 2
220
+ elseif e == 'r' then
221
+ parts[#parts + 1] = schar(13)
222
+ pos = pos + 2
223
+ elseif e == 't' then
224
+ parts[#parts + 1] = schar(9)
225
+ pos = pos + 2
226
+ elseif e == 'u' then
227
+ local hex = ssub(text, pos + 2, pos + 5)
228
+ local code = tonumber(hex, 16)
229
+ if not code then fail("malformed") end
230
+ pos = pos + 6
231
+ if code >= 0xD800 and code <= 0xDBFF
232
+ and ssub(text, pos, pos + 1) == "\\\\u" then
233
+ local hex2 = ssub(text, pos + 2, pos + 5)
234
+ local low = tonumber(hex2, 16)
235
+ if low and low >= 0xDC00 and low <= 0xDFFF then
236
+ code = 0x10000 + (code - 0xD800) * 0x400 + (low - 0xDC00)
237
+ pos = pos + 6
238
+ end
239
+ end
240
+ parts[#parts + 1] = utf8_encode(code)
241
+ else
242
+ fail("malformed")
243
+ end
244
+ start = pos
245
+ else
246
+ pos = pos + 1
247
+ end
248
+ end
249
+ end
250
+
251
+ local function decode_number()
252
+ local s, e = sfind(text, "^-?%d+%.?%d*[eE]?[%+%-]?%d*", pos)
253
+ if not s then fail("malformed") end
254
+ local numText = ssub(text, s, e)
255
+ pos = e + 1
256
+ local n = tonumber(numText)
257
+ if not n then fail("malformed") end
258
+ return n
259
+ end
260
+
261
+ local function decode_object(depth)
262
+ if depth >= maxDepth then fail("depth") end
263
+ pos = pos + 1 -- skip '{'
264
+ local out = {}
265
+ skip_ws()
266
+ if pos <= len and sbyte(text, pos) == 125 then -- '}'
267
+ pos = pos + 1
268
+ return out
269
+ end
270
+ while true do
271
+ skip_ws()
272
+ if sbyte(text, pos) ~= 34 then fail("malformed") end
273
+ local key = decode_string()
274
+ skip_ws()
275
+ if sbyte(text, pos) ~= 58 then fail("malformed") end -- ':'
276
+ pos = pos + 1
277
+ local value = decode_value(depth + 1)
278
+ -- JSON null becomes an ABSENT key, not an assigned nil -- reading it
279
+ -- back from Lua is then an ordinary, un-raising nil (issue #6, trap 3).
280
+ --
281
+ -- A key EXACTLY equal to the trusted marshal walk's array marker
282
+ -- (\`./marshal\`'s \`ARRAY_MARKER\`) is dropped, never stored -- this is
283
+ -- attacker-controlled JSON (a remote fetch body, or a host-stored
284
+ -- cache value), and \`finalizeMarshaledValue\` (\`./marshal\`) treats
285
+ -- that exact key as a trusted signal that ITS OWN marshal walk
286
+ -- produced this table and it should be reshaped into a JS array.
287
+ -- Without dropping it here, a response body such as
288
+ -- \`{"${jr}":true,"1":"a","2":"b","x":"kept"}\` would decode
289
+ -- to a Lua table carrying that same key, and later marshal to the
290
+ -- host as a JS ARRAY -- silently reshaping attacker-controlled data
291
+ -- and dropping its real keys (see marshal.ts). Dropping
292
+ -- (rather than rejecting the whole response) keeps an otherwise
293
+ -- ordinary API response usable even if it happens to use this exact
294
+ -- field name for something unrelated.
295
+ if value ~= nil and key ~= "${jr}" then
296
+ out[key] = value
297
+ end
298
+ skip_ws()
299
+ local c = sbyte(text, pos)
300
+ if c == 44 then -- ','
301
+ pos = pos + 1
302
+ elseif c == 125 then -- '}'
303
+ pos = pos + 1
304
+ break
305
+ else
306
+ fail("malformed")
307
+ end
308
+ end
309
+ return out
310
+ end
311
+
312
+ local function decode_array(depth)
313
+ if depth >= maxDepth then fail("depth") end
314
+ pos = pos + 1 -- skip '['
315
+ local out = {}
316
+ local n = 0
317
+ skip_ws()
318
+ if pos <= len and sbyte(text, pos) == 93 then -- ']'
319
+ pos = pos + 1
320
+ return out
321
+ end
322
+ while true do
323
+ local value = decode_value(depth + 1)
324
+ n = n + 1
325
+ -- A JSON null ARRAY ELEMENT decodes to Lua \`false\`, not an absent
326
+ -- slot (by design): an absent
327
+ -- slot would leave a hole (\`#\`/\`ipairs\` stop early, and returning
328
+ -- the table to the host fails \`MARK_MARSHAL:key-type\` since the walk
329
+ -- no longer sees sequential \`1..n\` keys) -- reproducing issue #6's
330
+ -- headline crash for any API that puts \`null\` inside an array. \`nil\`
331
+ -- stays the right encoding for a JSON null OBJECT VALUE (an absent
332
+ -- key, see \`decode_object\` above) because a Lua table simply has no
333
+ -- way to represent "key present, value nil" at all; an array
334
+ -- POSITION has no such ambiguity to preserve, so \`false\` -- itself a
335
+ -- valid, falsy, round-trippable Lua/JSON value -- is used instead.
336
+ if value == nil then
337
+ out[n] = false
338
+ else
339
+ out[n] = value
340
+ end
341
+ skip_ws()
342
+ local c = sbyte(text, pos)
343
+ if c == 44 then
344
+ pos = pos + 1
345
+ elseif c == 93 then
346
+ pos = pos + 1
347
+ break
348
+ else
349
+ fail("malformed")
350
+ end
351
+ end
352
+ return out
353
+ end
354
+
355
+ decode_value = function(depth)
356
+ skip_ws()
357
+ if pos > len then fail("malformed") end
358
+ local c = sbyte(text, pos)
359
+ if c == 34 then
360
+ return decode_string()
361
+ elseif c == 123 then
362
+ return decode_object(depth)
363
+ elseif c == 91 then
364
+ return decode_array(depth)
365
+ elseif c == 116 then -- 't'rue
366
+ if ssub(text, pos, pos + 3) == "true" then
367
+ pos = pos + 4
368
+ return true
369
+ end
370
+ fail("malformed")
371
+ elseif c == 102 then -- 'f'alse
372
+ if ssub(text, pos, pos + 4) == "false" then
373
+ pos = pos + 5
374
+ return false
375
+ end
376
+ fail("malformed")
377
+ elseif c == 110 then -- 'n'ull
378
+ if ssub(text, pos, pos + 3) == "null" then
379
+ pos = pos + 4
380
+ return nil
381
+ end
382
+ fail("malformed")
383
+ elseif c == 45 or (c >= 48 and c <= 57) then
384
+ return decode_number()
385
+ else
386
+ fail("malformed")
387
+ end
388
+ end
389
+
390
+ local result = decode_value(0)
391
+ skip_ws()
392
+ if pos <= len then fail("malformed") end
393
+ return result
394
+ end
395
+ `}var br=2e6;function je(e){return new Error(`${Ur}: ${e}`)}var il=Symbol("markii.net.provider-denial");function ea(e){return Object.assign(new Error(e),{[il]:!0})}function ol(e){return e instanceof Error&&e[il]===!0}function Zo(e){return e instanceof Error?e.message:String(e)}function Qo(e){try{return new URL(e).hostname.toLowerCase()}catch{return}}function Fn(e){let r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e[t]??0);return r}function al(e){let r=new Uint8Array(e.length);for(let t=0;t<e.length;t++)r[t]=e.charCodeAt(t)&255;return r}function ta(e){let r=e.maxFetchBytes??br,t=e.marshalLimits??Kt,i={},o=[],a=!1;function u(){a||(a=!0,o.push(gr(t)))}let c=!1;function f(){c||(c=!0,o.push(qr(t)))}let p;function h(x,A){p={reason:x,message:A}}let g={last:()=>p};async function y(x){try{return await x()}catch(A){throw ol(A)?(h("denied",A.message),je(A.message)):A}}let _=e.netGrants??{get:[],post:[]};if(o.push(`net = net or {}
396
+ `),i.__smd_net_get_raw=(async x=>{let A=Qo(x);if(!e.net||!A||!_.get.includes(A)){let I=`net access to host "${A??x}" not granted for GET`;throw h("denied",I),je(I)}let R=await y(()=>e.net.get(x));if(R.body.length>r){let I=`fetch response for "${x}" exceeds the ${r}-byte cap`;throw h("denied",I),je(I)}let E;try{E=JSON.parse(R.body)}catch{let I=`fetch response for "${x}" was not valid JSON`;throw h("denied",I),je(I)}let N=At(E,t);if(!N.ok){let I=`fetch response for "${x}" ${N.message}`;throw h("denied",I),je(I)}return R.body}),u(),o.push(`
397
+ local __smd_net_get = __smd_net_get_raw
398
+ -- Captured into a local HERE, at prelude-definition time (this whole
399
+ -- prelude runs once, before any untrusted script code) -- NOT resolved as
400
+ -- a dynamic global lookup inside \`net.fetch_json\`'s own body. Otherwise a
401
+ -- script could do \`__smd_json_decode = function(t) return t end\` before a
402
+ -- LATER \`net.fetch_json\` call and neuter the decoder's own depth guard and
403
+ -- array-marker stripping entirely -- the same
404
+ -- rebinding risk \`./json-decode\`'s own doc comment already
405
+ -- closes for the primitives the decoder uses internally.
406
+ local __smd_net_get_json_decode = __smd_json_decode
407
+ __smd_net_get_raw = nil
408
+ net.fetch_json = function(url) return __smd_net_get_json_decode(__smd_net_get(url):await()) end
409
+ `),i.__smd_net_post_raw=(async(x,A)=>{let R=Qo(x);if(!R||!_.post.includes(R)){let N=`net access to host "${R??x}" not granted for POST`;throw h("denied",N),je(N)}if(e.tier==="auto"){let N="net.post is granted but not permitted under the read-only auto tier (requires a manual run)";throw h("tier-blocked",N),je(N)}if(!e.net?.post){let N=`net access to host "${R}" not granted for POST`;throw h("denied",N),je(N)}let E=await y(()=>e.net.post(x,A));return Dn.LuaMultiReturn.of(E.status,E.body)}),o.push(`
410
+ local __smd_net_post = __smd_net_post_raw
411
+ __smd_net_post_raw = nil
412
+ net.post = function(url, body)
413
+ local status, respBody = __smd_net_post(url, body):await()
414
+ return { status = status, body = respBody }
415
+ end
416
+ `),i.__smd_net_patch_raw=(async(x,A)=>{let R=Qo(x);if(!R||!_.post.includes(R)){let N=`net access to host "${R??x}" not granted for PATCH`;throw h("denied",N),je(N)}if(e.tier==="auto"){let N="net.patch is granted but not permitted under the read-only auto tier (requires a manual run)";throw h("tier-blocked",N),je(N)}if(!e.net?.patch){let N=`net access to host "${R}" not granted for PATCH`;throw h("denied",N),je(N)}let E=await y(()=>e.net.patch(x,A));return Dn.LuaMultiReturn.of(E.status,E.body)}),o.push(`
417
+ local __smd_net_patch = __smd_net_patch_raw
418
+ __smd_net_patch_raw = nil
419
+ net.patch = function(url, body)
420
+ local status, respBody = __smd_net_patch(url, body):await()
421
+ return { status = status, body = respBody }
422
+ end
423
+ `),e.cache&&(u(),f(),i.__smd_cache_get_raw=(async x=>{let A=await e.cache.get(x);if(A===void 0)return;let R=Date.now(),E=A.storedAtMs;if(typeof A!="object"||A===null||Array.isArray(A)||typeof E!="number"||!Number.isInteger(E)||E<0||E>R||!At(A.value,t).ok)return;let I;try{let $=JSON.stringify(A.value);I=$===void 0?"null":$}catch{return}return Dn.LuaMultiReturn.of(I,A.storedAtMs)}),i.__smd_cache_set_raw=(async(x,A,R)=>{let E=Xt(A);if(!E.ok)throw new Error(`${Fe}:${E.reason}`);return await e.cache.set(x,{value:E.value,storedAtMs:R}),!0}),i.__smd_now_ms_raw=(async()=>Date.now()),o.push(`
424
+ local __smd_cache_get = __smd_cache_get_raw
425
+ local __smd_cache_set = __smd_cache_set_raw
426
+ local __smd_now_ms = __smd_now_ms_raw
427
+ -- Captured into locals HERE, at prelude-definition time -- NOT resolved as
428
+ -- dynamic globals inside cache.get's own body. Without this, a script
429
+ -- could do \`__smd_json_decode = function(t)
430
+ -- return t end\` or, more seriously, \`__smd_marshal_root = function(v)
431
+ -- return v end\` before a LATER cache.get call: the marshal-root
432
+ -- rebind would send an UNBOUNDED, uncapped table straight through
433
+ -- wasmoon's own eager table->JS conversion into the store the moment the
434
+ -- rebound "identity" function handed it back, since the write side
435
+ -- (\`__smd_cache_set_raw\` below) would then be receiving whatever the
436
+ -- script substituted with no cap ever having run -- the return-value path
437
+ -- was never vulnerable to this trick only because of an unrelated
438
+ -- evaluation-order accident (its own \`__smd_marshal_root\` call happens
439
+ -- inside \`wrapUserCode\`'s generated code, evaluated before the script's
440
+ -- own top-level statements finish), not because the global was pinned.
441
+ local __smd_cache_json_decode = __smd_json_decode
442
+ local __smd_cache_marshal_root = __smd_marshal_root
443
+ __smd_cache_get_raw = nil
444
+ __smd_cache_set_raw = nil
445
+ __smd_now_ms_raw = nil
446
+ cache = cache or {}
447
+ cache.get = function(key, ttl, fn)
448
+ local text, storedAtMs = __smd_cache_get(key):await()
449
+ if text ~= nil then
450
+ local now = __smd_now_ms():await()
451
+ if (now - storedAtMs) < (ttl * 1000) then
452
+ return __smd_cache_json_decode(text)
453
+ end
454
+ end
455
+ local value = fn()
456
+ __smd_cache_set(key, __smd_cache_marshal_root(value), __smd_now_ms():await()):await()
457
+ return value
458
+ end
459
+ `)),e.bundle){let x=e.bundle;i.__smd_bundle_read_raw=(async A=>{let R;try{R=await x.read(A)}catch(E){let N=Zo(E);throw h("denied",N),je(N)}return R===void 0?void 0:Fn(R)}),i.__smd_bundle_exists_raw=(async A=>{try{return await x.exists(A)}catch(R){let E=Zo(R);throw h("denied",E),je(E)}}),o.push(`
460
+ local __smd_bundle_read = __smd_bundle_read_raw
461
+ local __smd_bundle_exists = __smd_bundle_exists_raw
462
+ __smd_bundle_read_raw = nil
463
+ __smd_bundle_exists_raw = nil
464
+ bundle = bundle or {}
465
+ bundle.read = function(path) return __smd_bundle_read(path):await() end
466
+ bundle.exists = function(path) return __smd_bundle_exists(path):await() end
467
+ `),e.tier==="manual"?(i.__smd_bundle_write_raw=(async(A,R)=>{try{await x.write(A,al(R))}catch(E){let N=Zo(E);throw h("denied",N),je(N)}return!0}),o.push(`
468
+ local __smd_bundle_write = __smd_bundle_write_raw
469
+ __smd_bundle_write_raw = nil
470
+ bundle.write = function(path, data) return __smd_bundle_write(path, data):await() end
471
+ `)):(i.__smd_bundle_write_tier_blocked_raw=(async()=>{let A="bundle.write is not permitted under the read-only auto tier (requires a manual run)";throw h("tier-blocked",A),je(A)}),o.push(`
472
+ local __smd_bundle_write_blocked = __smd_bundle_write_tier_blocked_raw
473
+ __smd_bundle_write_tier_blocked_raw = nil
474
+ bundle.write = function(path, data) return __smd_bundle_write_blocked(path, data):await() end
475
+ `))}return{rawGlobals:i,preludeLua:o.join(`
476
+ `),denials:g,recordDenial:h}}function ra(e){let r=e.doc,t=e.marshalLimits??Kt,i;function o(p){return i=p,new Error(p)}let a,u={};u.__smd_doc_listing_raw=(async()=>{if(a===void 0)try{a=JSON.stringify(r?.directives.directives??[])??"[]"}catch{a="[]"}return a}),u.__smd_doc_value_raw=(async p=>{if(!r)return;let h=r.value(typeof p=="string"?p:"");if(!h.ok)throw o(h.message);let g=h.value;if(g==null)return;let y=At(g,t);if(!y.ok)throw o(`doc.value("${p}") ${y.message}`);try{let _=JSON.stringify(g);return _===void 0?void 0:_}catch{throw o(`doc.value("${p}") could not be read as a value`)}});let c=r?.directives.truncated===!0,f=`local __smd_doc_prev_decode = __smd_json_decode
477
+ ${gr(t)}
478
+ local __smd_doc_listing = __smd_doc_listing_raw
479
+ local __smd_doc_value = __smd_doc_value_raw
480
+ -- Every primitive this table needs is pinned HERE, at prelude-definition
481
+ -- time, never resolved as a global inside the wrappers -- the same
482
+ -- discipline \`./json-decode\` and \`./capabilities\` follow (adversarial
483
+ -- findings A1/A2). Without it, a script could rebind \`__smd_json_decode\`
484
+ -- or \`type\` before calling \`doc.directives\` and change what its own
485
+ -- guards do.
486
+ local __smd_doc_decode = __smd_json_decode
487
+ local __smd_doc_type, __smd_doc_error = type, error
488
+ __smd_json_decode = __smd_doc_prev_decode
489
+ __smd_doc_listing_raw = nil
490
+ __smd_doc_value_raw = nil
491
+
492
+ doc = {}
493
+ doc.truncated = ${c?"true":"false"}
494
+
495
+ doc.directives = function(filter)
496
+ local wanted = nil
497
+ if filter ~= nil then
498
+ if __smd_doc_type(filter) ~= "table" then
499
+ __smd_doc_error("doc.directives(filter): filter must be a table")
500
+ end
501
+ wanted = filter.name
502
+ if wanted ~= nil and __smd_doc_type(wanted) ~= "string" then
503
+ __smd_doc_error("doc.directives(filter): filter.name must be a string")
504
+ end
505
+ end
506
+ local entries = __smd_doc_decode(__smd_doc_listing():await())
507
+ if wanted == nil then return entries end
508
+ local out = {}
509
+ local n = 0
510
+ for i = 1, #entries do
511
+ local entry = entries[i]
512
+ if entry.name == wanted then
513
+ n = n + 1
514
+ out[n] = entry
515
+ end
516
+ end
517
+ return out
518
+ end
519
+
520
+ doc.value = function(name)
521
+ if __smd_doc_type(name) ~= "string" then
522
+ __smd_doc_error("doc.value(name): name must be a string")
523
+ end
524
+ local text = __smd_doc_value(name):await()
525
+ if text == nil then return nil end
526
+ return __smd_doc_decode(text)
527
+ end
528
+ `;return{rawGlobals:u,preludeLua:f,rejections:{last:()=>i}}}function na(e){let{limits:r,maxFetchBytes:t}=e,i={};i.__smd_json_decode_precheck_raw=(async a=>{if(typeof a=="string"&&a.length>t)throw new Error(`json.decode: input exceeds the ${t}-byte limit`);let u;try{u=JSON.parse(a)}catch{return!0}let c=At(u,r);if(!c.ok)throw new Error(`${Fe}:${c.reason}: json.decode input ${c.message}`);return!0}),i.__smd_json_encode_raw=(async a=>{let u=Xt(a);if(!u.ok)throw new Error(`${Fe}:${u.reason}`);let c=JSON.stringify(u.value);return c===void 0?"null":c});let o=`
529
+ ${gr(r)}
530
+
531
+ -- Captured into locals HERE, at prelude-definition time -- see the module
532
+ -- doc comment's "Rebinding safety" section.
533
+ local __smd_json_type = type
534
+ local __smd_json_error = error
535
+ local __smd_json_decode_precheck = __smd_json_decode_precheck_raw
536
+ local __smd_json_encode_finish = __smd_json_encode_raw
537
+ local __smd_json_decode_fn = __smd_json_decode
538
+ local __smd_json_marshal_root = __smd_marshal_root
539
+ __smd_json_decode_precheck_raw = nil
540
+ __smd_json_encode_raw = nil
541
+ -- \`__smd_json_decode\` (defined by the injected \`./json-decode\` prelude
542
+ -- above) is only ever needed as a GLOBAL long enough for callers to capture
543
+ -- it into their own local -- exactly like \`__smd_net_get_json_decode\` and
544
+ -- \`__smd_cache_json_decode\` already do in \`./capabilities\`. This prelude
545
+ -- runs AFTER any of those (see \`./sandbox\`'s injection order), so every
546
+ -- earlier consumer has already captured its own reference by this point;
547
+ -- nilling the global here keeps \`json\` from being the run that leaves a
548
+ -- private \`__smd_\` name reachable on every single run (it is now injected
549
+ -- UNCONDITIONALLY, unlike \`net\`/\`cache\`, which only define this global
550
+ -- when actually configured) -- see the pass-3 residue probes
551
+ -- (\`require-pass3.probe.test.ts\`, \`doc.probe.test.ts\`), which assert NO
552
+ -- \`__smd_\`-prefixed global survives except \`__smd_marshal_root\`.
553
+ __smd_json_decode = nil
554
+
555
+ json = json or {}
556
+ json.decode = function(text)
557
+ if __smd_json_type(text) ~= "string" then
558
+ __smd_json_error("json.decode expects a string argument")
559
+ end
560
+ __smd_json_decode_precheck(text):await()
561
+ return __smd_json_decode_fn(text)
562
+ end
563
+ json.encode = function(value)
564
+ return __smd_json_encode_finish(__smd_json_marshal_root(value)):await()
565
+ end
566
+ `;return{rawGlobals:i,preludeLua:o}}var im=new Set(["scripts","assets",".cache"]);function om(e){let r=e.indexOf("/");return r===-1?e:e.slice(0,r)}function am(e){return im.has(om(e))}function sm(e){return e.endsWith(".lua")?e:`${e}.lua`}var um=27;function lm(e){return e.length>0&&e.charCodeAt(0)===um}function ia(e){let r=e.recordDenial??(()=>{});function t(a){throw r("denied",a),new Error(`${Ur}: ${a}`)}let i={};return i.__smd_require_resolve_raw=(async a=>{if(typeof a!="string"||a.length===0)throw new Error("require: module name must be a non-empty string");let u;if(am(a)){let c=e.bundle;c||t(`bundle capability is not available for this run (require "${a}")`);let f=sm(a),p;try{p=await c.read(f)}catch(h){t(h instanceof Error?h.message:String(h))}if(p===void 0)throw new Error(`require: no bundle module at "${f}"`);u=Fn(p)}else{let c=e.packModuleResolver;c||t(`pack modules are not supported in this run (require "${a}")`);let f=a.indexOf("/"),p=f===-1?a:a.slice(0,f),h=f===-1?"":a.slice(f+1),g=await c(p,h);if(g===void 0)throw new Error(`require: no pack module "${h}" in pack "${p}"`);u=g}return lm(u)&&t(`require "${a}" resolved to a precompiled/binary chunk, which is never permitted (pure Lua source only)`),u}),{rawGlobals:i,preludeLua:`
567
+ -- Captured into locals HERE, at prelude-definition time, and the backing
568
+ -- globals nil'd out immediately after -- same discipline as every other
569
+ -- capability wrapper in ./capabilities (see its "Captured into a local
570
+ -- HERE" comments), and load-bearing for __smd_require_load specifically:
571
+ -- __smd_load_raw is the genuine Lua \`load\` primitive (./globals), and
572
+ -- leaving it reachable under any name for even one later statement would
573
+ -- reopen the exact "compile and run arbitrary text" hole \xA710 closes.
574
+ local __smd_require_resolve = __smd_require_resolve_raw
575
+ local __smd_require_load = __smd_load_raw
576
+ __smd_require_resolve_raw = nil
577
+ __smd_load_raw = nil
578
+
579
+ -- Per-run module cache and in-progress stack. Both are plain Lua locals
580
+ -- declared in THIS prelude chunk, which runs exactly once per fresh
581
+ -- engine (one runScript call) -- see the module doc comment. A fresh run
582
+ -- gets a fresh engine (./sandbox tears the whole engine down every call),
583
+ -- so neither table is ever visible to, or seeded by, a prior run.
584
+ local __smd_require_cache = {}
585
+ local __smd_require_stack = {}
586
+
587
+ require = function(name)
588
+ if type(name) ~= "string" then
589
+ error("require: module name must be a string")
590
+ end
591
+ local cached = __smd_require_cache[name]
592
+ if cached ~= nil then
593
+ return cached
594
+ end
595
+ if __smd_require_stack[name] then
596
+ error("require: circular require of module '" .. name .. "'")
597
+ end
598
+
599
+ -- Resolution (bundle read or pack lookup) happens BEFORE the
600
+ -- in-progress stack is touched, so a resolution failure (an ungranted
601
+ -- bundle, a path-jail rejection, no pack resolver, a genuinely missing
602
+ -- module) never leaves a stale stack entry behind to clean up.
603
+ local text = __smd_require_resolve(name):await()
604
+
605
+ __smd_require_stack[name] = true
606
+ -- mode = "t": text chunks only -- Lua itself refuses to compile
607
+ -- anything starting with the bytecode signature under this mode (see
608
+ -- the module doc comment's "belt and suspenders" note; buildRequire
609
+ -- already rejected it once, on the JS side, before this point).
610
+ local chunk, loadErr = __smd_require_load(text, "=" .. name, "t")
611
+ if not chunk then
612
+ __smd_require_stack[name] = nil
613
+ error("require: module '" .. name .. "' failed to compile: " .. tostring(loadErr))
614
+ end
615
+
616
+ -- Protected chunk: same thread, same globals/capabilities, same
617
+ -- instruction/wall-clock/memory budget as the rest of this run (see
618
+ -- ./limits -- the hook is installed on the thread, not per-chunk). A
619
+ -- limit breach during this call still forces the WHOLE run to a hard
620
+ -- failure via ./limits' out-of-band JS flag, regardless of what this
621
+ -- pcall reports -- see the module doc comment on why plain pcall (never
622
+ -- xpcall) is safe here.
623
+ local ok, result = pcall(chunk)
624
+ __smd_require_stack[name] = nil
625
+ if not ok then
626
+ error(result)
627
+ end
628
+
629
+ -- Matches stock Lua's own require: a module that returns nothing caches
630
+ -- (and returns) \`true\` rather than \`nil\`, so a later \`require\` of the
631
+ -- same name is unambiguously a cache HIT (nil is never a valid cached
632
+ -- value, so it can never be mistaken for "not yet required").
633
+ if result == nil then
634
+ result = true
635
+ end
636
+ __smd_require_cache[name] = result
637
+ return result
638
+ end
639
+ `}}var sl=zt(Vr(),1);var cm=250;function oa(e){return e instanceof Error?e.message:String(e)}function fm(e){let r=e.assertOk.bind(e),t;return e.assertOk=i=>{t=i,r(i)},{lastStatus:()=>t,restore:()=>{e.assertOk=r}}}function dm(e){switch((e.slice(e.indexOf(Fe)+Fe.length).split(`
640
+ `)[0]??"").replace(/^:/,"").split(":")[0]?.trim()){case"nodes":return"nodes";case"depth":return"depth";case"cycle":return"cycle";case"key-type":return"key-type";case"nul-byte":return"nul-byte";case"non-finite-number":return"non-finite-number";case"type":return"type";default:return"type"}}function pm(e){let r=oa(e);return r.includes(Fe)?{kind:"marshal",reason:dm(r),message:r}:{kind:"runtime",message:r}}async function aa(e){let r={...Jo,...e.limits},t={...Kt,...e.marshalLimits},i={wasmUri:e.wasmUri,isNode:e.isNode};if($o(i))return{ok:!1,error:{kind:"runtime",message:In}};let o=await Wo(i);o.global.setMemoryMax(r.maxMemoryBytes);let a,u,c,f;try{let{rawGlobals:p,preludeLua:h,denials:g,recordDenial:y}=ta({tier:e.tier,net:e.net,netGrants:e.netGrants,cache:e.cache,bundle:e.bundle,maxFetchBytes:e.maxFetchBytes,marshalLimits:t});for(let[W,P]of Object.entries(p))o.global.set(W,P);h.trim().length>0&&await o.doString(h);let _=ia({bundle:e.bundle,packModuleResolver:e.packModuleResolver,recordDenial:y});for(let[W,P]of Object.entries(_.rawGlobals))o.global.set(W,P);_.preludeLua.trim().length>0&&await o.doString(_.preludeLua);let x=await o.doString('return type(__smd_load_raw) .. "," .. type(load)');if(x!=="nil,nil")throw new Error(`sandbox assembly left a code-loading primitive reachable (${String(x)}); refusing to run`);await o.doString(qr(t));let A=na({limits:t,maxFetchBytes:e.maxFetchBytes??br});for(let[W,P]of Object.entries(A.rawGlobals))o.global.set(W,P);await o.doString(A.preludeLua);let R=ra({...e.doc?{doc:e.doc}:{},marshalLimits:t});for(let[W,P]of Object.entries(R.rawGlobals))o.global.set(W,P);await o.doString(R.preludeLua),a=o.global.newThread(),u=o.global.getTop(),c=Ko(a,r);try{a.loadString(Xo(e.code))}catch(W){return{ok:!1,error:{kind:"runtime",message:oa(W)}}}let E=new Promise((W,P)=>{f=setTimeout(()=>{P(new hr("timeout","wall-clock timeout exceeded (external async guard: a host capability call never resolved)"))},r.wallClockMs+cm),f.unref?.()}),N=fm(a),I;try{let W=await Promise.race([a.run(0),E]);I={kind:"ok",value:W.length>0?W[0]:void 0}}catch(W){I={kind:"error",err:W}}finally{f&&clearTimeout(f),N.restore()}if(c.isBreached()){let W=c.breachKind();return{ok:!1,error:{kind:"limit",limit:W,message:`script exceeded its ${W??"resource"} limit`}}}if(I.kind==="error"){if(I.err instanceof hr)return{ok:!1,error:{kind:"limit",limit:I.err.limitKind,message:`script exceeded its ${I.err.limitKind} limit`}};if(N.lastStatus()===sl.LuaReturn.ErrorMem)return{ok:!1,error:{kind:"limit",limit:"memory",message:"script exceeded its memory limit"}};let W=g.last();if(W)return{ok:!1,error:{kind:"capability",capability:W.reason,message:W.message}};let P=R.rejections.last();return P?{ok:!1,error:{kind:"runtime",message:P}}:{ok:!1,error:pm(I.err)}}let $=Xt(I.value);return $.ok?{ok:!0,value:$.value}:{ok:!1,error:{kind:"marshal",reason:$.reason,message:$.message}}}catch(p){return{ok:!1,error:{kind:"runtime",message:oa(p)}}}finally{if(c?.dispose(),a!==void 0&&u!==void 0)try{o.global.isClosed()||o.global.remove(u)}catch{}o.global.isClosed()||o.global.close()}}function mm(e){switch(e.kind){case"limit":return"limit";case"capability":return e.capability==="tier-blocked"?"tier-blocked":"capability-denied";case"marshal":case"runtime":return"script-error"}}function sa(e={}){return async({code:r,tier:t,doc:i})=>{let o=await aa({...e,code:r,tier:t,...i?{doc:i}:{}});return o.ok?{ok:!0,value:o.value}:{ok:!1,error:{kind:mm(o.error),message:o.error.message}}}}var hm=/^[A-Za-z]:/;function Rt(e){if(e.length===0)return{ok:!1,reason:"path is empty"};if(e.includes("\0"))return{ok:!1,reason:"path contains a null byte"};if(e.includes("\\"))return{ok:!1,reason:"backslashes are not allowed in bundle paths"};if(e.startsWith("/"))return{ok:!1,reason:"absolute paths are not allowed"};if(hm.test(e))return{ok:!1,reason:"drive-letter paths are not allowed"};let r=[];for(let t of e.split("/"))if(!(t===""||t===".")){if(t==="..")return{ok:!1,reason:'".." path segments are not allowed'};r.push(t)}return r.length===0?{ok:!1,reason:"path has no meaningful segments"}:{ok:!0,path:r.join("/")}}function ua(e,r){let t=Rt(e);if(!t.ok)return!1;let{path:i}=t;return i==="note.mk.md"||i==="manifest.json"||!r.grants.includes("write:.cache/")?!1:i.startsWith(".cache/")&&i.length>7}var _r=class extends Error{path;reason;constructor(r,t){super(`invalid bundle path ${JSON.stringify(r)}: ${t}`),this.name="BundlePathError",this.path=r,this.reason=t}};var Zt=class extends Error{constructor(r){super(r),this.name="ScriptCapabilityError"}};var wv=new TextEncoder;var _m=256*1024*1024,ym=256*1024*1024;function la(e,r,t={}){let i=new Set(r.permissions?.bundle??[]),a=(t.bundle??[]).filter(c=>i.has(c)),u=a.includes("read");return{async read(c){if(!u)throw new Zt(`script has no "read" bundle permission (requested "${c}")`);return e.read(c)},async write(c,f){if(!ua(c,{grants:a}))throw new Zt(`script may not write "${c}"`);await e.write(c,f)},async exists(c){if(!u)throw new Zt(`script has no "read" bundle permission (requested "${c}")`);return e.exists(c)}}}var qv=new TextDecoder("utf-8",{fatal:!1});function ul(e){let r={};for(let[t,i]of Object.entries(e))t.startsWith(".cache/")&&(r[t]=i);return r}function Pn(e){let r=Rt(e);if(!r.ok)throw new _r(e,r.reason);return r.path}function ll(e){let r=new Map(Object.entries(e));return{async read(t){return r.get(Pn(t))},async write(t,i){r.set(Pn(t),i)},async list(){return[...r.keys()].sort()},async exists(t){return r.has(Pn(t))},async size(t){let i=r.get(Pn(t));return i===void 0?void 0:i.length},currentFiles:()=>Object.fromEntries(r)}}function wm(e){let r=e.endsWith(".lua")?e:`${e}.lua`,t=Rt(r);return t.ok?t.path:void 0}function cl(e){return(r,t)=>{if(!Object.hasOwn(e,r))return;let i=e[r];if(i==null)return;let o=wm(t);if(o!==void 0&&Object.hasOwn(i,o))return i[o]}}function km(e){let r={...e};return{provider:{get:t=>Promise.resolve(r[t]),set:(t,i)=>(r[t]=i,Promise.resolve())},snapshot:()=>({...r})}}function xm(e){return e instanceof Error?e.message:String(e)}async function fl(e,r){let t=km(e.cacheSnapshot??{}),i=e.netAllowlist??[],o=e.limits?.maxFetchBytes??br,a=e.netPolicy??{allowRestrictedAddresses:!1},u=r.createNet(i,o,a),c=Br(e.text),f=Oo(c),p=Vo(c),h=e.bundle?ll(e.bundle.snapshot):void 0,g=h&&e.bundle?la(h,e.bundle.manifest,{bundle:e.bundle.grantedBundlePermissions}):void 0,y=sa({net:u,netGrants:{get:i,post:i},cache:t.provider,bundle:g,...e.packModules?{packModuleResolver:cl(e.packModules)}:{},maxFetchBytes:o,limits:{...e.limits?.wallClockMs!==void 0?{wallClockMs:e.limits.wallClockMs}:{},...e.limits?.maxInstructions!==void 0?{maxInstructions:e.limits.maxInstructions}:{},...e.limits?.maxMemoryBytes!==void 0?{maxMemoryBytes:e.limits.maxMemoryBytes}:{}},wasmUri:r.wasmUri}),_=Bo(),x=0,A=r.postProgress,E=(await Ho({scripts:f,executor:y,...A?{onValue:(I,$)=>{A({kind:"markii:run-progress",index:x++,name:I,value:$})}}:{},trigger:e.trigger??"manual",store:_,doc:{directives:p},...h?{loadSource:async I=>{let $=await h.read(I);if($===void 0)throw new Error(`bundle script "${I}" was not found`);return new TextDecoder().decode($)}}:{}})).results.filter(I=>I.status==="error").map(I=>({name:I.name,message:I.error??"script failed",kind:I.failureKind??"script-error"})),N={};for(let[I,$]of Object.entries(_.snapshot()))N[I]=$;return{values:N,failures:E,cacheSnapshot:t.snapshot(),...h?{cacheOut:ul(h.currentFiles())}:{}}}function ca(e,r){return{values:{},failures:[{name:"<document>",message:xm(e),kind:"script-error"}],cacheSnapshot:r}}var vm=new Set(["manual","auto","scheduled"]);function dl(e){if(typeof e!="object"||e===null)return!1;let r=e;return Object.prototype.hasOwnProperty.call(r,"trigger")&&r.trigger!==void 0&&(typeof r.trigger!="string"||!vm.has(r.trigger))||Object.prototype.hasOwnProperty.call(r,"netPolicy")&&r.netPolicy!==void 0&&(typeof r.netPolicy!="object"||r.netPolicy===null||typeof r.netPolicy.allowRestrictedAddresses!="boolean")?!1:typeof r.text=="string"&&Array.isArray(r.netAllowlist)&&r.netAllowlist.every(t=>typeof t=="string")&&typeof r.cacheSnapshot=="object"&&r.cacheSnapshot!==null}function pl(e){if(typeof e!="object"||e===null)return!1;let r=e;return r.kind==="markii:net-reply"&&typeof r.id=="number"}function ml(e){let r=1,t=new Map,i=(o,a,u)=>new Promise((c,f)=>{let p=r++;t.set(p,{resolve:c,reject:f});try{e({kind:"markii:net-request",id:p,method:o,url:a,...u!==void 0?{body:u}:{}})}catch(h){t.delete(p),f(h)}});return{provider:{get:o=>i("get",o),post:(o,a)=>i("post",o,a),patch:(o,a)=>i("patch",o,a)},handleMessage:o=>{if(!pl(o))return;let a=t.get(o.id);if(!a)return;if(t.delete(o.id),o.ok&&o.response){a.resolve(o.response);return}let u=o.error??"network request failed";a.reject(o.denied?ea(u):new Error(u))}}}var Em=["XMLHttpRequest","WebSocket","EventSource","indexedDB","caches","BroadcastChannel","Worker","SharedWorker","WebTransport","WebSocketStream"];function hl(e,r){try{if(typeof e=="string")return new URL(e,r).href;if(e instanceof URL)return e.href;let t=e?.url;if(typeof t=="string")return new URL(t,r).href}catch{}}function Sm(e,r){let t=e;if(t.__markiiLocked)return;let i=t.location?.href??"http://localhost/",o=r===void 0?void 0:hl(r,i),a=t.fetch,u=(c,f)=>{try{Object.defineProperty(e,c,{value:f,configurable:!1,writable:!1})}catch{try{t[c]=f}catch{}}};for(let c of Em)u(c,void 0);u("importScripts",()=>{throw new Error("importScripts is not available in the run isolate")}),typeof a=="function"&&u("fetch",(c,f)=>{let p=hl(c,i);return o!==void 0&&p===o?a.call(e,c,f):Promise.reject(new TypeError("network access is not available in the run isolate"))}),Object.defineProperty(e,"__markiiLocked",{value:!0})}function Lm(e){let r=ml(i=>{e.postMessage(i)}),t=!1;e.addEventListener("message",i=>{let o=i.data;r.handleMessage(o),!t&&(typeof o=="object"&&o!==null&&o.kind==="markii:net-reply"||(t=!0,(async()=>{if(!dl(o)){e.postMessage(ca(new Error("worker received a malformed job message"),{}));return}let a=o;Sm(e,a.wasmUri);let u;try{u=await fl(a,{createNet:()=>r.provider,wasmUri:a.wasmUri,postProgress:c=>{e.postMessage(c)}})}catch(c){u=ca(c,a.cacheSnapshot??{})}e.postMessage(u)})()))})}typeof self<"u"&&typeof self.addEventListener=="function"&&Lm(self);})();