@markii/host 0.17.0-next.3 → 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.
- package/README.md +6 -0
- package/dist/browser-worker.classic.js +640 -0
- package/dist/browser-worker.js +19 -19
- package/dist/browser.d.ts +1 -1
- package/dist/browser.js +10 -3
- package/dist/conformance/host/05-export-html-pack-directive/expected.json +2 -0
- package/dist/conformance/host/06-install-pack-then-render/expected.json +6 -1
- package/dist/conformance/host/README.md +4 -2
- package/dist/export/note-export.d.ts +1 -1
- package/dist/host/adapter.d.ts +4 -2
- package/dist/host/conformance-runner.d.ts +0 -3
- package/dist/host/conformance-runner.js +18 -6
- package/dist/host/create-host.d.ts +25 -5
- package/dist/host/create-host.js +34 -23
- package/dist/host/export-behavior.d.ts +2 -1
- package/dist/host/export-behavior.js +1 -1
- package/dist/host/labels.d.ts +5 -14
- package/dist/host/labels.js +8 -22
- package/dist/host/pack-archive.d.ts +4 -10
- package/dist/host/pack-archive.js +11 -14
- package/dist/host/pack-install.d.ts +10 -21
- package/dist/host/pack-install.js +22 -16
- package/dist/html-engine.js +4 -4
- package/dist/index.d.ts +15 -80
- package/dist/index.js +18 -62
- package/dist/internal.d.ts +30 -0
- package/dist/internal.js +31 -0
- package/dist/node-fs.d.ts +0 -3
- package/dist/node-fs.js +1 -21
- package/dist/node-worker.d.ts +8 -0
- package/dist/node-worker.js +36 -15
- package/dist/node.d.ts +1 -2
- package/dist/node.js +4 -3
- package/dist/packs/discover.d.ts +2 -0
- package/dist/packs/discover.js +1 -0
- package/dist/run/net-bridge.js +7 -5
- package/dist/run/net-pinning.d.ts +2 -0
- package/dist/run/net-pinning.js +17 -3
- package/dist/run/net-provider.js +23 -12
- package/dist/run/net-refusal.d.ts +4 -0
- package/dist/run/net-refusal.js +24 -0
- package/package.json +28 -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);})();
|